diff --git a/.github/actions/docker-build/action.yml b/.github/actions/docker-build/action.yml index 837bb3fbc1..7e43caefaf 100644 --- a/.github/actions/docker-build/action.yml +++ b/.github/actions/docker-build/action.yml @@ -1,11 +1,11 @@ # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # SPDX-License-Identifier: Apache-2.0 -# Use this action to execute the action scripts in tools/ci-build/scripts within the Docker build image. +# Use this action to execute the action scripts in tools/ci-scripts. name: smithy-rs Docker Build description: Run Docker build command for smithy-rs inputs: - # The name of the script in tools/ci-build/scripts to run + # The name of the script in tools/ci-scripts to run action: description: What action to run in the Docker build required: true @@ -43,7 +43,7 @@ runs: # from attempting to download an image from ECR since it will already exist, # which enables testing build image modifications as part of the pull request. if [[ -d smithy-rs-base-image ]]; then - IMAGE_TAG="$(./smithy-rs/tools/ci-build/tools-hash)" + IMAGE_TAG="$(./smithy-rs/.github/scripts/docker-image-hash)" docker load -i smithy-rs-base-image/smithy-rs-base-image docker tag "smithy-rs-base-image:${IMAGE_TAG}" "smithy-rs-base-image:local" fi @@ -52,7 +52,7 @@ runs: # or from ECR. We disable building the image from scratch so that any mistakes in the CI # configuration won't cause each individual action to build its own image, which would # drastically increase the total CI time. Fail fast! - ALLOW_LOCAL_BUILD=false ./smithy-rs/tools/ci-build/acquire-build-image + ALLOW_LOCAL_BUILD=false ./smithy-rs/.github/scripts/acquire-build-image # This runs the commands from the matrix strategy - name: Run ${{ inputs.action }} shell: bash diff --git a/tools/ci-build/acquire-build-image b/.github/scripts/acquire-build-image similarity index 82% rename from tools/ci-build/acquire-build-image rename to .github/scripts/acquire-build-image index 7c4bbd7a62..4c18b90ca1 100755 --- a/tools/ci-build/acquire-build-image +++ b/.github/scripts/acquire-build-image @@ -11,6 +11,7 @@ import subprocess import sys import time import unittest +import base64 REMOTE_BASE_IMAGE_NAME = "public.ecr.aws/w0m4q9l7/github-awslabs-smithy-rs-ci" LOCAL_BASE_IMAGE_NAME = "smithy-rs-base-image" @@ -41,14 +42,18 @@ class Platform(Enum): # Script context class Context: - def __init__(self, start_path, script_path, tools_path, user_id, image_tag, allow_local_build, github_actions): + def __init__(self, start_path, script_path, tools_path, user_id, image_tag, allow_local_build, github_actions, + encrypted_docker_password, docker_passphrase): self.start_path = start_path self.script_path = script_path self.tools_path = tools_path + self.docker_image_path = tools_path + "/ci-build" self.user_id = user_id self.image_tag = image_tag self.allow_local_build = allow_local_build self.github_actions = github_actions + self.encrypted_docker_password = encrypted_docker_password + self.docker_passphrase = docker_passphrase @staticmethod def default(): @@ -56,9 +61,12 @@ class Context: script_path = os.path.dirname(os.path.realpath(__file__)) tools_path = get_cmd_output("git rev-parse --show-toplevel", cwd=script_path)[1] + "/tools" user_id = get_cmd_output("id -u")[1] - image_tag = get_cmd_output("./ci-build/tools-hash", cwd=tools_path)[1] + image_tag = get_cmd_output("./docker-image-hash", cwd=script_path)[1] allow_local_build = os.getenv("ALLOW_LOCAL_BUILD") != "false" github_actions = os.getenv("GITHUB_ACTIONS") == "true" + encrypted_docker_password = os.getenv("ENCRYPTED_DOCKER_PASSWORD") or None + docker_passphrase = os.getenv("DOCKER_LOGIN_TOKEN_PASSPHRASE") or None + print(f"Start path: {start_path}") print(f"Script path: {script_path}") print(f"Tools path: {tools_path}") @@ -66,8 +74,16 @@ class Context: print(f"Required base image tag: {image_tag}") print(f"Allow local build: {allow_local_build}") print(f"Running in GitHub Actions: {github_actions}") - return Context(start_path, script_path, tools_path, user_id, image_tag, allow_local_build, github_actions) + return Context(start_path=start_path, script_path=script_path, tools_path=tools_path, user_id=user_id, + image_tag=image_tag, allow_local_build=allow_local_build, github_actions=github_actions, + encrypted_docker_password=encrypted_docker_password, docker_passphrase=docker_passphrase) + +def output_contains_any(stdout, stderr, messages): + for message in messages: + if message in stdout or message in stderr: + return True + return False # Mockable shell commands class Shell: @@ -83,6 +99,9 @@ class Shell: (status, _, _) = get_cmd_output(f"docker inspect \"{image_name}:{image_tag}\"", check=False) return status == 0 + def docker_login(self, password): + get_cmd_output("docker login --username AWS --password-stdin public.ecr.aws", input=password.encode('utf-8')) + # Pulls the requested `image_name` with `image_tag`. Returns `DockerPullResult`. def docker_pull(self, image_name, image_tag): (status, stdout, stderr) = get_cmd_output(f"docker pull \"{image_name}:{image_tag}\"", check=False) @@ -93,19 +112,17 @@ class Shell: print(stderr) print("-------------------") - not_found_message = "not found: manifest unknown" - throttle_message = "toomanyrequests: Rate exceeded" + not_found_messages = ["not found: manifest unknown"] + throttle_messages = ["toomanyrequests:"] retryable_messages = ["net/http: TLS handshake timeout"] if status == 0: return DockerPullResult.SUCCESS - elif throttle_message in stdout or throttle_message in stderr: + elif output_contains_any(stdout, stderr, throttle_messages): return DockerPullResult.ERROR_THROTTLED - elif not_found_message in stdout or not_found_message in stderr: + elif output_contains_any(stdout, stderr, not_found_messages): return DockerPullResult.NOT_FOUND - else: - for message in retryable_messages: - if message in stdout or message in stderr: - return DockerPullResult.RETRYABLE_ERROR + elif output_contains_any(stdout, stderr, retryable_messages): + return DockerPullResult.RETRYABLE_ERROR return DockerPullResult.UNKNOWN_ERROR # Builds the base image with the Dockerfile in `path` and tags with with `image_tag` @@ -113,10 +130,10 @@ class Shell: run(f"docker build -t \"smithy-rs-base-image:{image_tag}\" .", cwd=path) # Builds the local build image - def docker_build_build_image(self, user_id, script_path): + def docker_build_build_image(self, user_id, docker_image_path): run( f"docker build -t smithy-rs-build-image --file add-local-user.dockerfile --build-arg=USER_ID={user_id} .", - cwd=script_path + cwd=docker_image_path ) # Saves the Docker image named `image_name` with `image_tag` to `output_path` @@ -129,10 +146,10 @@ class Shell: # Pulls a Docker image and retries if it gets throttled -def docker_pull_with_retry(shell, image_name, image_tag, throttle_sleep_time=45, retryable_error_sleep_time=1): +def docker_pull_with_retry(shell, image_name, image_tag, throttle_sleep_time=120, retryable_error_sleep_time=1): if shell.platform() == Platform.ARM_64: return DockerPullResult.REMOTE_ARCHITECTURE_MISMATCH - for attempt in range(1, 5): + for attempt in range(1, 6): announce(f"Attempting to pull remote image {image_name}:{image_tag} (attempt {attempt})...") result = shell.docker_pull(image_name, image_tag) if result == DockerPullResult.ERROR_THROTTLED: @@ -154,17 +171,39 @@ def run(command, cwd=None): # Returns (status, output) from a shell command -def get_cmd_output(command, cwd=None, check=True): +def get_cmd_output(command, cwd=None, check=True, **kwargs): + if isinstance(command, str): + command = shlex.split(command) + result = subprocess.run( - shlex.split(command), + command, capture_output=True, - check=check, - cwd=cwd + check=False, + cwd=cwd, + **kwargs ) - return (result.returncode, result.stdout.decode("utf-8").strip(), result.stderr.decode("utf-8").strip()) + stdout = result.stdout.decode("utf-8").strip() + stderr = result.stderr.decode("utf-8").strip() + if check and result.returncode != 0: + raise Exception(f"failed to run '{command}.\n{stdout}\n{stderr}") + + return result.returncode, stdout, stderr + + +def decrypt_and_login(shell, secret, passphrase): + decoded = base64.b64decode(secret, validate=True) + if not passphrase: + raise Exception("a secret was set but no passphrase was set (or it was empty)") + (code, password, err) = get_cmd_output( + ["gpg", "--decrypt", "--batch", "--quiet", "--passphrase", passphrase, "--output", "-"], + input=decoded) + shell.docker_login(password) + print("Docker login success!") def acquire_build_image(context=Context.default(), shell=Shell()): + if context.encrypted_docker_password is not None: + decrypt_and_login(shell, context.encrypted_docker_password, context.docker_passphrase) # If the image doesn't already exist locally, then look remotely if not shell.docker_image_exists_locally(LOCAL_BASE_IMAGE_NAME, context.image_tag): announce("Base image not found locally.") @@ -183,7 +222,7 @@ def acquire_build_image(context=Context.default(), shell=Shell()): return 1 announce("Building a new image locally.") - shell.docker_build_base_image(context.image_tag, context.tools_path) + shell.docker_build_base_image(context.image_tag, context.docker_image_path) if context.github_actions: announce("Saving base image for use in later jobs...") @@ -200,20 +239,23 @@ def acquire_build_image(context=Context.default(), shell=Shell()): announce("Creating local build image...") shell.docker_tag(LOCAL_BASE_IMAGE_NAME, context.image_tag, LOCAL_BASE_IMAGE_NAME, LOCAL_TAG) - shell.docker_build_build_image(context.user_id, context.script_path) + shell.docker_build_build_image(context.user_id, context.docker_image_path) return 0 class SelfTest(unittest.TestCase): - def test_context(self, allow_local_build=False, github_actions=False): + def test_context(self, github_actions=False, allow_local_build=False, encrypted_docker_password=None, + docker_passphrase=None): return Context( start_path="/tmp/test/start-path", script_path="/tmp/test/script-path", tools_path="/tmp/test/tools-path", user_id="123", image_tag="someimagetag", + encrypted_docker_password=encrypted_docker_password, + docker_passphrase=docker_passphrase, + github_actions=github_actions, allow_local_build=allow_local_build, - github_actions=github_actions ) def mock_shell(self): @@ -225,6 +267,7 @@ class SelfTest(unittest.TestCase): shell.docker_pull = MagicMock() shell.docker_save = MagicMock() shell.docker_tag = MagicMock() + shell.docker_login = MagicMock() return shell def test_retry_architecture_mismatch(self): @@ -241,6 +284,13 @@ class SelfTest(unittest.TestCase): ) ) + def test_docker_login(self): + shell = self.mock_shell() + acquire_build_image(self.test_context( + encrypted_docker_password="jA0ECQMCvYU/JxsX3g/70j0BxbLLW8QaFWWb/DqY9gPhTuEN/xdYVxaoDnV6Fha+lAWdT7xN0qZr5DHPBalLfVvvM1SEXRBI8qnfXyGI", + docker_passphrase="secret"), shell) + shell.docker_login.assert_called_with("payload") + def test_retry_immediate_success(self): shell = self.mock_shell() shell.docker_pull.side_effect = [DockerPullResult.SUCCESS] @@ -368,7 +418,7 @@ class SelfTest(unittest.TestCase): shell.docker_image_exists_locally.assert_called_once() shell.docker_tag.assert_called_with(LOCAL_BASE_IMAGE_NAME, "someimagetag", LOCAL_BASE_IMAGE_NAME, LOCAL_TAG) - shell.docker_build_build_image.assert_called_with("123", "/tmp/test/script-path") + shell.docker_build_build_image.assert_called_with("123", "/tmp/test/tools-path/ci-build") # When: # - the base image doesn't exist locally @@ -385,10 +435,10 @@ class SelfTest(unittest.TestCase): self.assertEqual(0, acquire_build_image(context, shell)) shell.docker_image_exists_locally.assert_called_once() - shell.docker_build_base_image.assert_called_with("someimagetag", "/tmp/test/tools-path") + shell.docker_build_base_image.assert_called_with("someimagetag", "/tmp/test/tools-path/ci-build") shell.docker_save.assert_not_called() shell.docker_tag.assert_called_with(LOCAL_BASE_IMAGE_NAME, "someimagetag", LOCAL_BASE_IMAGE_NAME, LOCAL_TAG) - shell.docker_build_build_image.assert_called_with("123", "/tmp/test/script-path") + shell.docker_build_build_image.assert_called_with("123", "/tmp/test/tools-path/ci-build") # When: # - the base image doesn't exist locally @@ -405,10 +455,10 @@ class SelfTest(unittest.TestCase): self.assertEqual(0, acquire_build_image(context, shell)) shell.docker_image_exists_locally.assert_called_once() - shell.docker_build_base_image.assert_called_with("someimagetag", "/tmp/test/tools-path") + shell.docker_build_base_image.assert_called_with("someimagetag", "/tmp/test/tools-path/ci-build") shell.docker_save.assert_not_called() shell.docker_tag.assert_called_with(LOCAL_BASE_IMAGE_NAME, "someimagetag", LOCAL_BASE_IMAGE_NAME, LOCAL_TAG) - shell.docker_build_build_image.assert_called_with("123", "/tmp/test/script-path") + shell.docker_build_build_image.assert_called_with("123", "/tmp/test/tools-path/ci-build") # When: # - the base image doesn't exist locally @@ -425,14 +475,14 @@ class SelfTest(unittest.TestCase): self.assertEqual(0, acquire_build_image(context, shell)) shell.docker_image_exists_locally.assert_called_once() - shell.docker_build_base_image.assert_called_with("someimagetag", "/tmp/test/tools-path") + shell.docker_build_base_image.assert_called_with("someimagetag", "/tmp/test/tools-path/ci-build") shell.docker_save.assert_called_with( LOCAL_BASE_IMAGE_NAME, "someimagetag", "/tmp/test/start-path/smithy-rs-base-image" ) shell.docker_tag.assert_called_with(LOCAL_BASE_IMAGE_NAME, "someimagetag", LOCAL_BASE_IMAGE_NAME, LOCAL_TAG) - shell.docker_build_build_image.assert_called_with("123", "/tmp/test/script-path") + shell.docker_build_build_image.assert_called_with("123", "/tmp/test/tools-path/ci-build") # When: # - the base image doesn't exist locally @@ -472,7 +522,7 @@ class SelfTest(unittest.TestCase): call(REMOTE_BASE_IMAGE_NAME, "someimagetag", LOCAL_BASE_IMAGE_NAME, "someimagetag"), call(LOCAL_BASE_IMAGE_NAME, "someimagetag", LOCAL_BASE_IMAGE_NAME, LOCAL_TAG) ]) - shell.docker_build_build_image.assert_called_with("123", "/tmp/test/script-path") + shell.docker_build_build_image.assert_called_with("123", "/tmp/test/tools-path/ci-build") def main(): diff --git a/tools/ci-build/tools-hash b/.github/scripts/docker-image-hash similarity index 100% rename from tools/ci-build/tools-hash rename to .github/scripts/docker-image-hash diff --git a/.github/scripts/get-or-create-release-branch.sh b/.github/scripts/get-or-create-release-branch.sh new file mode 100755 index 0000000000..6cdc829911 --- /dev/null +++ b/.github/scripts/get-or-create-release-branch.sh @@ -0,0 +1,82 @@ +#!/bin/bash +# +# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +# SPDX-License-Identifier: Apache-2.0 +# +set -eux + +# Compute the name of the release branch starting from the version that needs to be released ($SEMANTIC_VERSION). +# If it's the beginning of a new release series, the branch is created and pushed to the remote (chosen according to +# the value $DRY_RUN). +# If it isn't the beginning of a new release series, the script makes sure that the commit that will be tagged is at +# the tip of the (pre-existing) release branch. +# +# The script populates an output file with key-value pairs that are needed in the release CI workflow to carry out +# the next steps in the release flow: the name of the release branch and a boolean flag that is set to 'true' if this +# is the beginning of a new release series. + +if [ -z "$SEMANTIC_VERSION" ]; then + echo "'SEMANTIC_VERSION' must be populated." + exit 1 +fi + +if [ -z "$1" ]; then + echo "You need to specify the path of the file where you want to collect the output" + exit 1 +else + output_file="$1" +fi + +# Split on the dots +version_array=(${SEMANTIC_VERSION//./ }) +major=${version_array[0]} +minor=${version_array[1]} +patch=${version_array[2]} +if [[ "${major}" == "" || "${minor}" == "" || "${patch}" == "" ]]; then + echo "'${SEMANTIC_VERSION}' is not a valid semver tag" + exit 1 +fi +if [[ $major == 0 ]]; then + branch_name="smithy-rs-release-${major}.${minor}.x" + if [[ $patch == 0 ]]; then + echo "new_release_series=true" >"${output_file}" + fi +else + branch_name="smithy-rs-release-${major}.x.y" + if [[ $minor == 0 && $patch == 0 ]]; then + echo "new_release_series=true" >"${output_file}" + fi +fi + +if [[ "${DRY_RUN}" == "true" ]]; then + branch_name="${branch_name}-preview" +fi +echo "release_branch=${branch_name}" >"${output_file}" + +if [[ "${DRY_RUN}" == "true" ]]; then + git push --force origin "HEAD:refs/heads/${branch_name}" +else + commit_sha=$(git rev-parse --short HEAD) + if git ls-remote --exit-code --heads origin "${branch_name}"; then + # The release branch already exists, we need to make sure that our commit is its current tip + branch_head_sha=$(git rev-parse --verify --short "refs/heads/${branch_name}") + if [[ "${branch_head_sha}" != "${commit_sha}" ]]; then + echo "The release branch - ${branch_name} - already exists. ${commit_sha}, the commit you chose when " + echo "launching this release, is not its current HEAD (${branch_head_sha}). This is not allowed: you " + echo "MUST release from the HEAD of the release branch if it already exists." + exit 1 + fi + else + # The release branch does not exist. + # We need to make sure that the commit SHA that we are releasing is on `main`. + git fetch origin main + if git branch --contains "${commit_sha}" | grep main; then + # We can then create the release branch and set the current commit as its tip + git checkout -b "${branch_name}" + git push origin "${branch_name}" + else + echo "You must choose a commit from main to create a new release series!" + exit 1 + fi + fi +fi diff --git a/.github/workflows/ci-main.yml b/.github/workflows/ci-main.yml index 5f36b7a567..2229148de3 100644 --- a/.github/workflows/ci-main.yml +++ b/.github/workflows/ci-main.yml @@ -19,40 +19,52 @@ env: ecr_repository: public.ecr.aws/w0m4q9l7/github-awslabs-smithy-rs-ci jobs: - # Rebuild and upload the Docker build image - rebuild-docker-build-image: - runs-on: ubuntu-latest - name: Rebuild image + # Build and upload the Docker build image if necessary + acquire-base-image: + runs-on: smithy_ubuntu-latest_8-core + name: Acquire Base Image + outputs: + docker-login-password: ${{ steps.set-token.outputs.docker-login-password }} permissions: id-token: write contents: read steps: - name: Checkout uses: actions/checkout@v3 - - name: Build image - run: | - IMAGE_TAG="$(./tools/ci-build/tools-hash)" - cd tools - docker build \ - -t "${{ env.ecr_repository }}:${IMAGE_TAG}" \ - -t "${{ env.ecr_repository }}:main" \ - . - name: Acquire credentials uses: aws-actions/configure-aws-credentials@v1-node16 with: role-to-assume: ${{ secrets.SMITHY_RS_PUBLIC_ECR_PUSH_ROLE_ARN }} role-session-name: GitHubActions aws-region: us-west-2 - - name: Upload image + - name: Save the docker login password to the output + id: set-token + run: | + ENCRYPTED_PAYLOAD=$( + gpg --symmetric --batch --passphrase "${{ secrets.DOCKER_LOGIN_TOKEN_PASSPHRASE }}" --output - <(aws ecr-public get-login-password --region us-east-1) | base64 -w0 + ) + echo "docker-login-password=$ENCRYPTED_PAYLOAD" >> $GITHUB_OUTPUT + - name: Acquire base image + id: acquire + env: + DOCKER_BUILDKIT: 1 + ENCRYPTED_DOCKER_PASSWORD: ${{ steps.set-token.outputs.docker-login-password }} + DOCKER_LOGIN_TOKEN_PASSPHRASE: ${{ secrets.DOCKER_LOGIN_TOKEN_PASSPHRASE }} + run: ./.github/scripts/acquire-build-image + - name: Tag and upload image run: | - IMAGE_TAG="$(./tools/ci-build/tools-hash)" - aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws + IMAGE_TAG="$(./.github/scripts/docker-image-hash)" + docker tag "smithy-rs-base-image:${IMAGE_TAG}" "${{ env.ecr_repository }}:${IMAGE_TAG}" + docker tag "smithy-rs-base-image:${IMAGE_TAG}" "${{ env.ecr_repository }}:main" docker push "${{ env.ecr_repository }}:${IMAGE_TAG}" docker push "${{ env.ecr_repository }}:main" # Run the shared CI after a Docker build image has been uploaded to ECR ci: - needs: rebuild-docker-build-image + needs: acquire-base-image uses: ./.github/workflows/ci.yml with: run_sdk_examples: true + secrets: + ENCRYPTED_DOCKER_PASSWORD: ${{ needs.acquire-base-image.outputs.docker-login-password }} + DOCKER_LOGIN_TOKEN_PASSPHRASE: ${{ secrets.DOCKER_LOGIN_TOKEN_PASSPHRASE }} diff --git a/.github/workflows/ci-pr-forks.yml b/.github/workflows/ci-pr-forks.yml new file mode 100644 index 0000000000..ad1d291f9a --- /dev/null +++ b/.github/workflows/ci-pr-forks.yml @@ -0,0 +1,45 @@ +# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +# SPDX-License-Identifier: Apache-2.0 + +# This workflow runs CI for pull requests from forks, which can't make use of secrets. + +name: CI (from fork) +on: + pull_request: + +# Allow one instance of this workflow per pull request, and cancel older runs when new changes are pushed +concurrency: + group: ci-forks-yaml-${{ github.ref }} + cancel-in-progress: true + +jobs: + # This job detects if the PR made changes to build tools. If it did, then it builds a new + # build Docker image. Otherwise, it downloads a build image from Public ECR. In both cases, + # it uploads the image as a build artifact for other jobs to download and use. + acquire-base-image: + name: Acquire Base Image + if: ${{ github.event.pull_request.head.repo.full_name != 'awslabs/smithy-rs' }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + path: smithy-rs + - name: Acquire base image + id: acquire + env: + DOCKER_BUILDKIT: 1 + run: ./smithy-rs/.github/scripts/acquire-build-image + - name: Upload base image + uses: actions/upload-artifact@v3 + with: + name: smithy-rs-base-image + path: smithy-rs-base-image + retention-days: 1 + + # Run shared CI after the Docker build image has either been rebuilt or found in ECR + ci: + needs: acquire-base-image + if: ${{ github.event.pull_request.head.repo.full_name != 'awslabs/smithy-rs' }} + uses: ./.github/workflows/ci.yml + with: + run_sdk_examples: true diff --git a/.github/workflows/ci-pr.yml b/.github/workflows/ci-pr.yml index c0713225e0..374d23a9b4 100644 --- a/.github/workflows/ci-pr.yml +++ b/.github/workflows/ci-pr.yml @@ -1,7 +1,7 @@ # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # SPDX-License-Identifier: Apache-2.0 -# This workflow runs CI and the PR Bot on pull requests. +# This workflow runs CI and the PR Bot on pull requests that are not from forked repositories. name: CI on: @@ -12,43 +12,93 @@ concurrency: group: ci-yaml-${{ github.ref }} cancel-in-progress: true +env: + ecr_repository: public.ecr.aws/w0m4q9l7/github-awslabs-smithy-rs-ci + jobs: + # This job will, if possible, save a docker login password to the job outputs. The token will + # be encrypted with the passphrase stored as a GitHub secret. The login password expires after 12h. + # The login password is encrypted with the repo secret DOCKER_LOGIN_TOKEN_PASSPHRASE + save-docker-login-token: + name: Save a docker login token + if: ${{ github.event.pull_request.head.repo.full_name == 'awslabs/smithy-rs' }} + outputs: + docker-login-password: ${{ steps.set-token.outputs.docker-login-password }} + permissions: + id-token: write + contents: read + continue-on-error: true + runs-on: ubuntu-latest + steps: + - name: Attempt to load a docker login password + uses: aws-actions/configure-aws-credentials@v1-node16 + with: + role-to-assume: ${{ secrets.SMITHY_RS_PUBLIC_ECR_PUSH_ROLE_ARN }} + role-session-name: GitHubActions + aws-region: us-west-2 + - name: Save the docker login password to the output + id: set-token + run: | + ENCRYPTED_PAYLOAD=$( + gpg --symmetric --batch --passphrase "${{ secrets.DOCKER_LOGIN_TOKEN_PASSPHRASE }}" --output - <(aws ecr-public get-login-password --region us-east-1) | base64 -w0 + ) + echo "docker-login-password=$ENCRYPTED_PAYLOAD" >> $GITHUB_OUTPUT + + # This job detects if the PR made changes to build tools. If it did, then it builds a new # build Docker image. Otherwise, it downloads a build image from Public ECR. In both cases, # it uploads the image as a build artifact for other jobs to download and use. acquire-base-image: name: Acquire Base Image + needs: save-docker-login-token + if: ${{ github.event.pull_request.head.repo.full_name == 'awslabs/smithy-rs' }} runs-on: ubuntu-latest + env: + ENCRYPTED_DOCKER_PASSWORD: ${{ needs.save-docker-login-token.outputs.docker-login-password }} + DOCKER_LOGIN_TOKEN_PASSPHRASE: ${{ secrets.DOCKER_LOGIN_TOKEN_PASSPHRASE }} + permissions: + id-token: write + contents: read steps: - uses: actions/checkout@v3 with: path: smithy-rs - fetch-depth: 0 - name: Acquire base image id: acquire env: DOCKER_BUILDKIT: 1 - run: ./smithy-rs/tools/ci-build/acquire-build-image - - name: Upload base image - uses: actions/upload-artifact@v3 + run: ./smithy-rs/.github/scripts/acquire-build-image + - name: Acquire credentials + uses: aws-actions/configure-aws-credentials@v1-node16 with: - name: smithy-rs-base-image - path: smithy-rs-base-image - retention-days: 1 + role-to-assume: ${{ secrets.SMITHY_RS_PUBLIC_ECR_PUSH_ROLE_ARN }} + role-session-name: GitHubActions + aws-region: us-west-2 + - name: Upload image + run: | + IMAGE_TAG="$(./smithy-rs/.github/scripts/docker-image-hash)" + docker tag "smithy-rs-base-image:${IMAGE_TAG}" "${{ env.ecr_repository }}:${IMAGE_TAG}" + aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws + docker push "${{ env.ecr_repository }}:${IMAGE_TAG}" # Run shared CI after the Docker build image has either been rebuilt or found in ECR ci: - needs: acquire-base-image + needs: + - save-docker-login-token + - acquire-base-image + if: ${{ github.event.pull_request.head.repo.full_name == 'awslabs/smithy-rs' }} uses: ./.github/workflows/ci.yml with: run_sdk_examples: true + secrets: + ENCRYPTED_DOCKER_PASSWORD: ${{ needs.save-docker-login-token.outputs.docker-login-password }} + DOCKER_LOGIN_TOKEN_PASSPHRASE: ${{ secrets.DOCKER_LOGIN_TOKEN_PASSPHRASE }} # The PR bot requires a Docker build image, so make it depend on the `acquire-base-image` job. pr_bot: name: PR Bot + if: ${{ github.event.pull_request.head.repo.full_name == 'awslabs/smithy-rs' }} needs: acquire-base-image - # Only run this job on pull requests (not directly on main) - if: ${{ github.head_ref }} uses: ./.github/workflows/pull-request-bot.yml with: issue_number: ${{ github.event.number }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 39e1d7b17d..774c4f3c7a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,23 +14,38 @@ on: required: false default: false type: boolean + git_ref: + description: | + The git reference that all checks should be run against. It can be a branch, a tag or a commit SHA. + If unspecified, it will default to the git reference or SHA that triggered the execution of this workflow. + required: false + type: string + default: '' + secrets: + # the docker login password for ECR. This is + ENCRYPTED_DOCKER_PASSWORD: + required: false + DOCKER_LOGIN_TOKEN_PASSPHRASE: + required: false env: rust_version: 1.62.1 rust_toolchain_components: clippy,rustfmt + ENCRYPTED_DOCKER_PASSWORD: ${{ secrets.ENCRYPTED_DOCKER_PASSWORD }} + DOCKER_LOGIN_TOKEN_PASSPHRASE: ${{ secrets.DOCKER_LOGIN_TOKEN_PASSPHRASE }} jobs: # The `generate` job runs scripts that produce artifacts that are required by the `test` job, # and also runs some checks/lints so that those are run sooner rather than later. generate: name: Generate - runs-on: ubuntu-latest + runs-on: smithy_ubuntu-latest_8-core # To avoid repeating setup boilerplate, we have the actual commands # in a matrix strategy. These commands get run in the steps after all the setup. strategy: fail-fast: false matrix: - # These correspond to scripts in tools/ci-build/scripts that will be run in the Docker build image + # These correspond to scripts in tools/ci-scripts that will be run in the Docker build image actions: - action: generate-aws-sdk - action: generate-aws-sdk-smoketest @@ -39,6 +54,7 @@ jobs: - uses: actions/checkout@v3 with: path: smithy-rs + ref: ${{ inputs.git_ref }} # The models from aws-sdk-rust are needed to generate the full SDK for CI - uses: actions/checkout@v3 with: @@ -58,32 +74,47 @@ jobs: # code to have already been generated in order to run. test-codegen: name: Test Codegen - runs-on: ubuntu-latest + runs-on: ${{ matrix.test.runner }} # To avoid repeating setup boilerplate, we have the actual test commands # in a matrix strategy. These commands get run in the steps after all the setup. strategy: fail-fast: false matrix: - # These correspond to scripts in tools/ci-build/scripts that will be run in the Docker build image + # These correspond to scripts in tools/ci-scripts that will be run in the Docker build image test: - action: check-aws-sdk-adhoc-tests + runner: ubuntu-latest - action: check-client-codegen-integration-tests + runner: smithy_ubuntu-latest_8-core - action: check-client-codegen-unit-tests + runner: ubuntu-latest - action: check-core-codegen-unit-tests + runner: smithy_ubuntu-latest_8-core - action: check-rust-runtimes + runner: smithy_ubuntu-latest_8-core - action: check-sdk-codegen-unit-tests + runner: ubuntu-latest - action: check-server-codegen-integration-tests + runner: smithy_ubuntu-latest_8-core - action: check-server-codegen-integration-tests-python + runner: ubuntu-latest - action: check-server-codegen-unit-tests + runner: ubuntu-latest - action: check-server-codegen-unit-tests-python + runner: ubuntu-latest - action: check-server-e2e-test + runner: ubuntu-latest - action: check-server-python-e2e-test + runner: ubuntu-latest - action: check-style-and-lints + runner: ubuntu-latest - action: check-tools + runner: smithy_ubuntu-latest_8-core steps: - uses: actions/checkout@v3 with: path: smithy-rs + ref: ${{ inputs.git_ref }} - name: Run ${{ matrix.test.action }} uses: ./smithy-rs/.github/actions/docker-build with: @@ -94,25 +125,33 @@ jobs: test-sdk: name: Test the SDK needs: generate - runs-on: ubuntu-latest + runs-on: ${{ matrix.test.runner }} # To avoid repeating setup boilerplate, we have the actual test commands # in a matrix strategy. These commands get run in the steps after all the setup. strategy: fail-fast: false matrix: - # These correspond to scripts in tools/ci-build/scripts that will be run in the Docker build image + # These correspond to scripts in tools/ci-scripts that will be run in the Docker build image test: - action: check-aws-config + runner: smithy_ubuntu-latest_8-core - action: check-aws-sdk-canary + runner: ubuntu-latest - action: check-aws-sdk-cargo-deny - - action: check-aws-sdk-services + runner: ubuntu-latest + - action: check-only-aws-sdk-services + runner: smithy_ubuntu-latest_8-core - action: check-aws-sdk-smoketest-docs-clippy-udeps + runner: smithy_ubuntu-latest_8-core - action: check-aws-sdk-smoketest-unit-tests + runner: smithy_ubuntu-latest_8-core - action: check-aws-sdk-standalone-integration-tests + runner: ubuntu-latest steps: - uses: actions/checkout@v3 with: path: smithy-rs + ref: ${{ inputs.git_ref }} - name: Run ${{ matrix.test.action }} uses: ./smithy-rs/.github/actions/docker-build with: @@ -128,6 +167,8 @@ jobs: RUSTFLAGS: -D warnings steps: - uses: actions/checkout@v3 + with: + ref: ${{ inputs.git_ref }} # Pinned to the commit hash of v2.1.0 - uses: Swatinem/rust-cache@b894d59a8d236e2979b247b80dac8d053ab340dd with: @@ -190,6 +231,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@v3 + with: + ref: ${{ inputs.git_ref }} # Pinned to the commit hash of v2.1.0 - uses: Swatinem/rust-cache@b894d59a8d236e2979b247b80dac8d053ab340dd with: @@ -258,6 +301,7 @@ jobs: - uses: actions/checkout@v3 with: path: smithy-rs + ref: ${{ inputs.git_ref }} - name: Run ${{ matrix.actions.action }} uses: ./smithy-rs/.github/actions/docker-build with: diff --git a/.github/workflows/claim-crate-names.yml b/.github/workflows/claim-crate-names.yml index 5b0b36677a..650b8cac7c 100644 --- a/.github/workflows/claim-crate-names.yml +++ b/.github/workflows/claim-crate-names.yml @@ -4,9 +4,9 @@ # This workflow claims the names of the unpublished crates in this repository # on crates.io (by publishing a dummy empty package) -# Allow only one release to run at a time +# Allow only one crate claim workflow to run at a time concurrency: - group: release-smithy-rs + group: claim-crates-smithy-rs cancel-in-progress: true env: @@ -45,7 +45,7 @@ jobs: fetch-depth: 0 - name: Acquire base image id: acquire - run: ./smithy-rs/tools/ci-build/acquire-build-image + run: ./smithy-rs/.github/scripts/acquire-build-image - name: Upload base image uses: actions/upload-artifact@v3 with: @@ -56,6 +56,7 @@ jobs: claim: name: Claim crate names needs: + - main-branch-check - acquire-base-image runs-on: ubuntu-latest steps: @@ -65,15 +66,13 @@ jobs: toolchain: ${{ env.rust_version }} - name: Checkout smithy-rs uses: actions/checkout@v3 - with: - token: ${{ secrets.RELEASE_AUTOMATION_BOT_PAT }} - name: Publish to crates.io shell: bash env: RELEASE_AUTOMATION_BOT_CRATESIO_TOKEN: ${{ secrets.RELEASE_AUTOMATION_BOT_CRATESIO_TOKEN }} run: | cargo login -- "${RELEASE_AUTOMATION_BOT_CRATESIO_TOKEN}" - cargo install --path tools/publisher + cargo install --path tools/ci-build/publisher # Verify the publisher tool installed successfully publisher --version publisher claim-crate-names -y diff --git a/.github/workflows/manual-pull-request-bot.yml b/.github/workflows/manual-pull-request-bot.yml index 89e1852ce8..b0fa8d77ab 100644 --- a/.github/workflows/manual-pull-request-bot.yml +++ b/.github/workflows/manual-pull-request-bot.yml @@ -38,15 +38,22 @@ jobs: # it uploads the image as a build artifact for other jobs to download and use. acquire-base-image: name: Acquire Base Image + needs: + - get-pr-info runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 with: path: smithy-rs + # The ref used needs to match the HEAD revision of the PR being diffed, or else + # the `docker-build` action won't find the built Docker image. This has the unfortunate + # side effect that the codegen diff tool used is the one in the PR rather than in + # the branch this workflow was launched from. + ref: ${{ fromJSON(needs.get-pr-info.outputs.pull_data).head_revision }} fetch-depth: 0 - name: Acquire base image id: acquire - run: ./smithy-rs/tools/ci-build/acquire-build-image + run: ./smithy-rs/.github/scripts/acquire-build-image - name: Upload base image uses: actions/upload-artifact@v3 with: diff --git a/.github/workflows/pull-request-bot.yml b/.github/workflows/pull-request-bot.yml index 98440e04ae..7bcd2e833f 100644 --- a/.github/workflows/pull-request-bot.yml +++ b/.github/workflows/pull-request-bot.yml @@ -49,6 +49,7 @@ jobs: - uses: actions/checkout@v3 with: path: smithy-rs + ref: ${{ inputs.head_revision }} - name: Generate diff uses: ./smithy-rs/.github/actions/docker-build with: @@ -121,7 +122,7 @@ jobs: cargo doc --no-deps --all-features popd - ./tools/generate-doc-preview-index.sh ${{ inputs.base_revision }} + ./tools/ci-scripts/generate-doc-preview-index.sh ${{ inputs.base_revision }} echo 'bot-message=A [new doc preview](https://d2luzm2xt3nokh.cloudfront.net/docs/'${{ inputs.head_revision }}'/index.html) is ready to view.' >> "${GITHUB_OUTPUT}" - uses: aws-actions/configure-aws-credentials@v1-node16 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b4ac6c289c..580eb26245 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,52 +6,50 @@ # Allow only one release to run at a time concurrency: - group: release-smithy-rs + group: release-smithy-rs-${{ inputs.dry_run }} cancel-in-progress: true env: rust_version: 1.62.1 name: Release smithy-rs -run-name: ${{ github.workflow }} - ${{ inputs.dry_run && 'Dry run' || 'Production run' }} +run-name: ${{ github.workflow }} ${{ inputs.semantic_version }} (${{ inputs.commit_sha }}) - ${{ inputs.dry_run && 'Dry run' || 'Production run' }} on: workflow_dispatch: inputs: + commit_sha: + description: | + The SHA of the git commit that you want to release. + You must use the non-abbreviated SHA (e.g. b2318b0 won't work!). + required: true + type: string + semantic_version: + description: The semver tag that you want to release (e.g. 0.52.1) + required: true + type: string dry_run: - description: Dry runs will only produce release artifacts, but will not cut a release tag in GitHub nor publish to crates.io + description: Dry runs will only produce release artifacts, but they will not cut a release tag in GitHub nor publish to crates.io required: true type: boolean default: true jobs: - main-branch-check: - name: Check that workflow is running in main - runs-on: ubuntu-latest - steps: - - name: Main branch check - if: ${{ github.ref_name != 'main' }} - uses: actions/github-script@v6 - with: - script: | - core.setFailed("The release workflow can only be ran on main (current branch: ${{ github.ref_name }})") - - # If a release is kicked off before an image is built after push to main, - # or if a dry-run release is kicked off against a non-main branch to test - # automation changes, we'll need to build a base image to work against. - # This job will be a no-op if an image was already built on main. + # We'll need to build a base image to work against if: + # - a release was kicked off before the image build step triggered by a push to the release branch/main completed + # - a dry-run release was kicked off against a feature branch to test automation changes + # This job will be a no-op if an image had already been built. acquire-base-image: name: Acquire Base Image - needs: - - main-branch-check - runs-on: ubuntu-latest + runs-on: smithy_ubuntu-latest_16-core steps: - uses: actions/checkout@v3 with: path: smithy-rs + ref: ${{ inputs.commit_sha }} fetch-depth: 0 - name: Acquire base image id: acquire - run: ./smithy-rs/tools/ci-build/acquire-build-image + run: ./smithy-rs/.github/scripts/acquire-build-image - name: Upload base image uses: actions/upload-artifact@v3 with: @@ -61,17 +59,96 @@ jobs: release-ci: name: Prerelease checks + if: inputs.dry_run == false needs: - acquire-base-image uses: ./.github/workflows/ci.yml with: run_sdk_examples: false + git_ref: ${{ inputs.commit_sha }} + + get-or-create-release-branch: + name: Get or create a release branch + needs: + - release-ci + - acquire-base-image + # We need `always` here otherwise this job won't run if the previous job has been skipped + # See https://samanpavel.medium.com/github-actions-conditional-job-execution-e6aa363d2867 + if: | + always() && + needs.acquire-base-image.result == 'success' && + (needs.release-ci.result == 'success' || needs.release-ci.result == 'skipped') + runs-on: ubuntu-latest + outputs: + release_branch: ${{ steps.branch-push.outputs.release_branch }} + new_release_series: ${{ steps.branch-push.outputs.new_release_series }} + steps: + - uses: actions/checkout@v3 + with: + ref: ${{ inputs.commit_sha }} + token: ${{ secrets.RELEASE_AUTOMATION_BOT_PAT }} + - name: Get or create release branch + id: branch-push + shell: bash + env: + SEMANTIC_VERSION: ${{ inputs.semantic_version }} + DRY_RUN: ${{ inputs.dry_run }} + run: | + set -e + + ./.github/scripts/get-or-create-release-branch.sh output + cat output > $GITHUB_OUTPUT + + upgrade-gradle-properties: + name: Upgrade gradle.properties + needs: + - get-or-create-release-branch + # See https://github.com/actions/runner/issues/2205#issuecomment-1381988186 for an explanation as to why + # we need this here _even though_ the job we depend on is never skipped. + if: | + always() && + !contains(needs.*.result, 'failure') && + !contains(needs.*.result, 'cancelled') + runs-on: ubuntu-latest + outputs: + release_branch: ${{ needs.get-or-create-release-branch.outputs.release_branch }} + steps: + - uses: actions/checkout@v3 + with: + ref: ${{ needs.get-or-create-release-branch.outputs.release_branch }} + path: smithy-rs + token: ${{ secrets.RELEASE_AUTOMATION_BOT_PAT }} + - name: Upgrade gradle.properties + uses: ./smithy-rs/.github/actions/docker-build + with: + action: upgrade-gradle-properties + action-arguments: ${{ inputs.semantic_version }} + - name: Download all artifacts + uses: ./smithy-rs/.github/actions/download-all-artifacts + - name: Push gradle.properties changes + id: gradle-push + working-directory: upgrade-gradle-properties/smithy-rs + shell: bash + env: + SEMANTIC_VERSION: ${{ inputs.semantic_version }} + DRY_RUN: ${{ inputs.dry_run }} + run: | + set -x + # For debugging purposes + git status + # The file was actually changed, we need to commit the changes + git diff-index --quiet HEAD || { git -c 'user.name=AWS SDK Rust Bot' -c 'user.email=aws-sdk-rust-primary@amazon.com' commit gradle.properties --message "Upgrade the smithy-rs runtime crates version to ${SEMANTIC_VERSION}" && git push origin; } release: name: Release needs: - - acquire-base-image - - release-ci + - upgrade-gradle-properties + # See https://github.com/actions/runner/issues/2205#issuecomment-1381988186 for an explanation as to why + # we need this here _even though_ the job we depend on is never skipped. + if: | + always() && + !contains(needs.*.result, 'failure') && + !contains(needs.*.result, 'cancelled') runs-on: ubuntu-latest steps: - name: Install Rust @@ -81,6 +158,7 @@ jobs: - name: Checkout smithy-rs uses: actions/checkout@v3 with: + ref: ${{ needs.upgrade-gradle-properties.outputs.release_branch }} path: smithy-rs token: ${{ secrets.RELEASE_AUTOMATION_BOT_PAT }} - name: Generate release artifacts @@ -93,13 +171,8 @@ jobs: shell: bash working-directory: smithy-rs-release/smithy-rs run: | - if [[ "${{ inputs.dry_run }}" == "true" ]]; then - echo "Pushing a preview of the release to the smithy-rs-release-preview branch" - git push --force origin HEAD:smithy-rs-release-preview - else - echo "Pushing release commits..." - git push origin - fi + echo "Pushing release commits..." + git push origin - name: Tag release uses: actions/github-script@v6 with: @@ -118,7 +191,7 @@ jobs: RELEASE_AUTOMATION_BOT_CRATESIO_TOKEN: ${{ secrets.RELEASE_AUTOMATION_BOT_CRATESIO_TOKEN }} run: | cargo login -- "${RELEASE_AUTOMATION_BOT_CRATESIO_TOKEN}" - cargo install --path "$(realpath ../smithy-rs/tools/publisher)" + cargo install --path "$(realpath ../smithy-rs/tools/ci-build/publisher)" # Verify the publisher tool installed successfully publisher --version @@ -133,3 +206,37 @@ jobs: else publisher publish -y --location . fi + + trim-changelog-next-on-main: + name: Remove released entries from CHANGELOG.next.toml on the main branch + if: inputs.dry_run == false && needs.get-or-create-release-branch.outputs.new_release_series == true + needs: + - get-or-create-release-branch + - release + runs-on: ubuntu-latest + steps: + - name: Checkout smithy-rs + uses: actions/checkout@v3 + with: + ref: ${{ inputs.commit_sha }} + path: smithy-rs + token: ${{ secrets.RELEASE_AUTOMATION_BOT_PAT }} + - name: Empty CHANGELOG.next.toml + uses: ./smithy-rs/.github/actions/docker-build + with: + action: generate-new-changelog-next-toml + - name: Download all artifacts + uses: ./smithy-rs/.github/actions/download-all-artifacts + - name: Push smithy-rs changes + working-directory: generate-new-changelog-next-toml/smithy-rs + shell: bash + run: | + set -eux + + # This will fail if other commits have been pushed to `main` after `commit_sha` + # In particular, this will ALWAYS fail if you are creating a new release series from + # a commit that is not the current tip of `main`. + # We can build more refined automation to handle this case in the future - until then, it'll require + # a manual PR to edit the current CHANGELOG.next.toml file and remove the released entries. + git -c 'user.name=AWS SDK Rust Bot' -c 'user.email=aws-sdk-rust-primary@amazon.com' commit CHANGELOG.next.toml --message "Remove released entries from \`CHANGELOG.next.toml\`" + git push origin main diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 465b14ce77..c6da8695fc 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v2.3.0 + rev: v4.4.0 hooks: - id: check-yaml - id: end-of-file-fixer @@ -20,7 +20,7 @@ repos: files: ^.*$ pass_filenames: false - repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks - rev: v1.6.1 + rev: v2.5.0 hooks: - id: pretty-format-kotlin args: [--autofix, --ktlint-version, 0.46.1] diff --git a/.pre-commit-hooks/license-header.sh b/.pre-commit-hooks/license-header.sh index 170f1de181..653320a98e 100755 --- a/.pre-commit-hooks/license-header.sh +++ b/.pre-commit-hooks/license-header.sh @@ -6,4 +6,4 @@ set -e # SPDX-License-Identifier: Apache-2.0 # -cd "$(git rev-parse --show-toplevel)/tools/sdk-lints" && cargo run -- check --license --changelog +cd "$(git rev-parse --show-toplevel)/tools/ci-build/sdk-lints" && cargo run -- check --license --changelog diff --git a/CHANGELOG.md b/CHANGELOG.md index 6935ed7f75..d08bd9d602 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,31 @@ +January 25th, 2023 +================== +**New this release:** +- πŸ› (server, [smithy-rs#920](https://github.com/awslabs/smithy-rs/issues/920)) Fix bug in `OperationExtensionFuture`s `Future::poll` implementation + + +January 24th, 2023 +================== +**Breaking Changes:** +- ⚠ (server, [smithy-rs#2161](https://github.com/awslabs/smithy-rs/issues/2161)) Remove deprecated service builder, this includes: + + - Remove `aws_smithy_http_server::routing::Router` and `aws_smithy_http_server::request::RequestParts`. + - Move the `aws_smithy_http_server::routers::Router` trait and `aws_smithy_http_server::routing::RoutingService` into `aws_smithy_http_server::routing`. + - Remove the following from the generated SDK: + - `operation_registry.rs` + - `operation_handler.rs` + - `server_operation_handler_trait.rs` + + If migration to the new service builder API has not already been completed a brief summary of required changes can be seen in [previous release notes](https://github.com/awslabs/smithy-rs/releases/tag/release-2022-12-12) and in API documentation of the root crate. + +**New this release:** +- πŸ› (server, [smithy-rs#2213](https://github.com/awslabs/smithy-rs/issues/2213)) `@sparse` list shapes and map shapes with constraint traits and with constrained members are now supported +- πŸ› (server, [smithy-rs#2200](https://github.com/awslabs/smithy-rs/pull/2200)) Event streams no longer generate empty error enums when their operations don’t have modeled errors +- (all, [smithy-rs#2223](https://github.com/awslabs/smithy-rs/issues/2223)) `aws_smithy_types::date_time::DateTime`, `aws_smithy_types::Blob` now implement the `Eq` and `Hash` traits +- (server, [smithy-rs#2223](https://github.com/awslabs/smithy-rs/issues/2223)) Code-generated types for server SDKs now implement the `Eq` and `Hash` traits when possible + + January 12th, 2023 ================== **New this release:** @@ -38,7 +65,19 @@ December 12th, 2022 Upon receiving a request that violates the modeled constraints, the server SDK will reject it with a message indicating why. - Unsupported (constraint trait, target shape) combinations will now fail at code generation time, whereas previously they were just ignored. This is a breaking change to raise awareness in service owners of their server SDKs behaving differently than what was modeled. To continue generating a server SDK with unsupported constraint traits, set `codegenConfig.ignoreUnsupportedConstraints` to `true` in your `smithy-build.json`. + Unsupported (constraint trait, target shape) combinations will now fail at code generation time, whereas previously they were just ignored. This is a breaking change to raise awareness in service owners of their server SDKs behaving differently than what was modeled. To continue generating a server SDK with unsupported constraint traits, set `codegen.ignoreUnsupportedConstraints` to `true` in your `smithy-build.json`. + + ```json + { + ... + "rust-server-codegen": { + ... + "codegen": { + "ignoreUnsupportedConstraints": true + } + } + } + ``` - βš πŸŽ‰ (server, [smithy-rs#1342](https://github.com/awslabs/smithy-rs/issues/1342), [smithy-rs#1119](https://github.com/awslabs/smithy-rs/issues/1119)) Server SDKs now generate "constrained types" for constrained shapes. Constrained types are [newtypes](https://rust-unofficial.github.io/patterns/patterns/behavioural/newtype.html) that encapsulate the modeled constraints. They constitute a [widespread pattern to guarantee domain invariants](https://www.lpalmieri.com/posts/2020-12-11-zero-to-production-6-domain-modelling/) and promote correctness in your business logic. So, for example, the model: ```smithy @@ -57,7 +96,19 @@ December 12th, 2022 Constrained types _guarantee_, by virtue of the type system, that your service's operation outputs adhere to the modeled constraints. To learn more about the motivation for constrained types and how they work, see [the RFC](https://github.com/awslabs/smithy-rs/pull/1199). - If you'd like to opt-out of generating constrained types, you can set `codegenConfig.publicConstrainedTypes` to `false`. Note that if you do, the generated server SDK will still honor your operation input's modeled constraints upon receiving a request, but will not help you in writing business logic code that adheres to the constraints, and _will not prevent you from returning responses containing operation outputs that violate said constraints_. + If you'd like to opt-out of generating constrained types, you can set `codegen.publicConstrainedTypes` to `false`. Note that if you do, the generated server SDK will still honor your operation input's modeled constraints upon receiving a request, but will not help you in writing business logic code that adheres to the constraints, and _will not prevent you from returning responses containing operation outputs that violate said constraints_. + + ```json + { + ... + "rust-server-codegen": { + ... + "codegen": { + "publicConstrainedTypes": false + } + } + } + ``` - πŸ›βš πŸŽ‰ (server, [smithy-rs#1714](https://github.com/awslabs/smithy-rs/issues/1714), [smithy-rs#1342](https://github.com/awslabs/smithy-rs/issues/1342)) Structure builders in server SDKs have undergone significant changes. The API surface has been reduced. It is now simpler and closely follows what you would get when using the [`derive_builder`](https://docs.rs/derive_builder/latest/derive_builder/) crate: diff --git a/CHANGELOG.next.toml b/CHANGELOG.next.toml index a4e1c2e1c8..7a5f6d7515 100644 --- a/CHANGELOG.next.toml +++ b/CHANGELOG.next.toml @@ -11,203 +11,120 @@ # meta = { "breaking" = false, "tada" = false, "bug" = false, "target" = "client | server | all"} # author = "rcoh" -[[smithy-rs]] -message = """Add serde crate to `aws-smithy-types`. - -It's behind the feature gate `aws_sdk_unstable` which can only be enabled via a `--cfg` flag. -""" -references = ["smithy-rs#1944"] -meta = { "breaking" = false, "tada" = false, "bug" = false } -author = "thomas-k-cameron" - -[[smithy-rs]] -message = "`@sparse` list shapes and map shapes with constraint traits and with constrained members are now supported" -references = ["smithy-rs#2213"] -meta = { "breaking" = false, "tada" = false, "bug" = true, "target" = "server"} -author = "david-perez" - [[aws-sdk-rust]] message = """ -Improve SDK credentials caching through type safety. `LazyCachingCredentialsProvider` has been renamed to `LazyCredentialsCache` and is no longer treated as a credentials provider. Furthermore, you do not create a `LazyCredentialsCache` directly, and instead you interact with `CredentialsCache`. This introduces the following breaking changes. -If you previously used `LazyCachingCredentialsProvider`, you can replace it with `CredentialsCache`. -
-Example -Before: -```rust -use aws_config::meta::credentials::lazy_caching::LazyCachingCredentialsProvider; -use aws_types::provider::ProvideCredentials; -fn make_provider() -> impl ProvideCredentials { - // --snip-- -} -let credentials_provider = - LazyCachingCredentialsProvider::builder() - .load(make_provider()) - .build(); -let sdk_config = aws_config::from_env() - .credentials_provider(credentials_provider) - .load() - .await; -let client = aws_sdk_s3::Client::new(&sdk_config); -``` -After: -```rust -use aws_credential_types::cache::CredentialsCache; -use aws_types::provider::ProvideCredentials; -fn make_provider() -> impl ProvideCredentials { - // --snip-- -} -// Wrapping a result of `make_provider` in `LazyCredentialsCache` is done automatically. -let sdk_config = aws_config::from_env() - .credentials_cache(CredentialsCache::lazy()) // This line can be omitted because it is on by default. - .credentials_provider(make_provider()) - .load() - .await; -let client = aws_sdk_s3::Client::new(&sdk_config); -``` -If you previously configured a `LazyCachingCredentialsProvider`, you can use the builder for `LazyCredentialsCache` instead. +Provide a way to retrieve fallback credentials if a call to `provide_credentials` is interrupted. An interrupt can occur when a timeout future is raced against a future for `provide_credentials`, and the former wins the race. A new method, `fallback_on_interrupt` on the `ProvideCredentials` trait, can be used in that case. The following code snippet from `LazyCredentialsCache::provide_cached_credentials` has been updated like so: Before: ```rust -use aws_config::meta::credentials::lazy_caching::LazyCachingCredentialsProvider; -use aws_types::provider::ProvideCredentials; -use std::time::Duration; -fn make_provider() -> impl ProvideCredentials { - // --snip-- -} -let credentials_provider = - LazyCachingCredentialsProvider::builder() - .load(make_provider()) - .load_timeout(Duration::from_secs(60)) // Configures timeout. - .build(); -let sdk_config = aws_config::from_env() - .credentials_provider(credentials_provider) - .load() - .await; -let client = aws_sdk_s3::Client::new(&sdk_config); +let timeout_future = self.sleeper.sleep(self.load_timeout); +// --snip-- +let future = Timeout::new(provider.provide_credentials(), timeout_future); +let result = cache + .get_or_load(|| { + async move { + let credentials = future.await.map_err(|_err| { + CredentialsError::provider_timed_out(load_timeout) + })??; + // --snip-- + } + }).await; +// --snip-- ``` After: ```rust -use aws_credential_types::cache::CredentialsCache; -use aws_types::provider::ProvideCredentials; -use std::time::Duration; -fn make_provider() -> impl ProvideCredentials { - // --snip-- -} -let sdk_config = aws_config::from_env() - .credentials_cache( - CredentialsCache::lazy_builder() - .load_timeout(Duration::from_secs(60)) // Configures timeout. - .into_credentials_cache(), - ) - .credentials_provider(make_provider()) - .load() - .await; -let client = aws_sdk_s3::Client::new(&sdk_config); -``` -The examples above only demonstrate how to use `credentials_cache` and `credentials_provider` methods on `aws_config::ConfigLoader` but the same code update can be applied when you interact with `aws_types::sdk_config::Builder` or the builder for a service-specific config, e.g. `aws_sdk_s3::config::Builder`. -
-If you previously configured a `DefaultCredentialsChain` by calling `load_timeout`, `buffer_time`, or `default_credential_expiration` on its builder, you need to call the same set of methods on the builder for `LazyCredentialsCache` instead. -
-Example -Before: -```rust -use aws_config::default_provider::credentials::DefaultCredentialsChain; -use std::time::Duration; -let credentials_provider = DefaultCredentialsChain::builder() - .buffer_time(Duration::from_secs(30)) - .default_credential_expiration(Duration::from_secs(20 * 60)) - .build() - .await; -let sdk_config = aws_config::from_env() - .credentials_provider(credentials_provider) - .load() - .await; -let client = aws_sdk_s3::Client::new(&sdk_config); +let timeout_future = self.sleeper.sleep(self.load_timeout); +// --snip-- +let future = Timeout::new(provider.provide_credentials(), timeout_future); +let result = cache + .get_or_load(|| { + async move { + let credentials = match future.await { + Ok(creds) => creds?, + Err(_err) => match provider.fallback_on_interrupt() { // can provide fallback credentials + Some(creds) => creds, + None => return Err(CredentialsError::provider_timed_out(load_timeout)), + } + }; + // --snip-- + } + }).await; +// --snip-- ``` -After: -```rust -use aws_config::default_provider::credentials::default_provider; -use aws_credential_types::cache::CredentialsCache; -use std::time::Duration; -// Previously used methods no longer exist on the builder for `DefaultCredentialsChain`. -let credentials_provider = default_provider().await; -let sdk_config = aws_config::from_env() - .credentials_cache( - CredentialsCache::lazy_builder() - .buffer_time(Duration::from_secs(30)) - .default_credential_expiration(Duration::from_secs(20 * 60)) - .into_credentials_cache(), - ) - .credentials_provider(credentials_provider) - .load() - .await; -let client = aws_sdk_s3::Client::new(&sdk_config); -``` -
""" -references = ["smithy-rs#2122", "smithy-rs#2227"] -meta = { "breaking" = true, "tada" = false, "bug" = false } +references = ["smithy-rs#2246"] +meta = { "breaking" = false, "tada" = false, "bug" = false } author = "ysaito1001" +[[smithy-rs]] +message = "The [`@uniqueItems`](https://smithy.io/2.0/spec/constraint-traits.html#uniqueitems-trait) trait on `list` shapes is now supported in server SDKs." +references = ["smithy-rs#2232", "smithy-rs#1670"] +meta = { "breaking" = false, "tada" = true, "bug" = false, "target" = "server"} +author = "david-perez" + [[aws-sdk-rust]] message = """ -The introduction of `CredentialsCache` comes with an accompanying type `SharedCredentialsCache`, which we will store in the property bag instead of a `SharedCredentialsProvider`. As a result, `aws_http::auth:set_provider` has been updated to `aws_http::auth::set_credentials_cache`. -Before: -```rust -use aws_credential_types::Credentials; -use aws_credential_types::provider::SharedCredentialsProvider; -use aws_http::auth::set_provider; -use aws_smithy_http::body::SdkBody; -use aws_smithy_http::operation; -let mut req = operation::Request::new(http::Request::new(SdkBody::from("some body"))); -let credentials = Credentials::new("example", "example", None, None, "my_provider_name"); -set_provider( - &mut req.properties_mut(), - SharedCredentialsProvider::new(credentials), -); -``` -After: -```rust -use aws_credential_types::Credentials; -use aws_credential_types::cache::{CredentialsCache, SharedCredentialsCache}; -use aws_credential_types::provider::SharedCredentialsProvider; -use aws_http::auth::set_credentials_cache; -use aws_smithy_http::body::SdkBody; -use aws_smithy_http::operation; -let mut req = operation::Request::new(http::Request::new(SdkBody::from("some body"))); -let credentials = Credentials::new("example", "example", None, None, "my_provider_name"); -let credentials_cache = CredentialsCache::lazy_builder() - .into_credentials_cache() - .create_cache(SharedCredentialsProvider::new(credentials)); -set_credentials_cache( - &mut req.properties_mut(), - SharedCredentialsCache::new(credentials_cache), -); -``` +Add static stability support to IMDS credentials provider. It does not alter common use cases for the provider, but allows the provider to serve expired credentials in case IMDS is unreachable. This allows requests to be dispatched to a target service with expired credentials. This, in turn, allows the target service to make the ultimate decision as to whether requests sent are valid or not. """ -references = ["smithy-rs#2122", "smithy-rs#2227"] -meta = { "breaking" = true, "tada" = false, "bug" = false } +references = ["smithy-rs#2258"] +meta = { "breaking" = false, "tada" = true, "bug" = false } author = "ysaito1001" [[smithy-rs]] -message = "`aws_smithy_types::date_time::DateTime`, `aws_smithy_types::Blob` now implement the `Eq` and `Hash` traits" -references = ["smithy-rs#2223"] -meta = { "breaking" = false, "tada" = false, "bug" = false, "target" = "all"} -author = "david-perez" +message = "Fix broken doc link for `tokio_stream::Stream` that is a re-export of `futures_core::Stream`." +references = ["smithy-rs#2271"] +meta = { "breaking" = false, "tada" = false, "bug" = true, "target" = "client"} +author = "ysaito1001" + +[[aws-sdk-rust]] +message = "Fix broken doc link for `tokio_stream::Stream` that is a re-export of `futures_core::Stream`." +references = ["smithy-rs#2271"] +meta = { "breaking" = false, "tada" = false, "bug" = true } +author = "ysaito1001" [[smithy-rs]] -message = "Code-generated types for server SDKs now implement the `Eq` and `Hash` traits when possible" -references = ["smithy-rs#2223"] -meta = { "breaking" = false, "tada" = false, "bug" = false, "target" = "server"} -author = "david-perez" +message = """ +Fix `name` and `absolute` methods on `OperationExtension`. +The older, [now removed](https://github.com/awslabs/smithy-rs/pull/2161), service builder would insert `OperationExtension` into the `http::Response` containing the [absolute shape ID](https://smithy.io/2.0/spec/model.html#grammar-token-smithy-AbsoluteRootShapeId) with the `#` symbol replaced with a `.`. When [reintroduced](https://github.com/awslabs/smithy-rs/pull/2157) into the new service builder machinery the behavior was changed - we now do _not_ perform the replace. This change fixes the documentation and `name`/`absolute` methods of the `OperationExtension` API to match this new behavior. +In the old service builder, `OperationExtension` was initialized, by the framework, and then used as follows: +```rust +let ext = OperationExtension::new("com.amazonaws.CompleteSnapshot"); +// This is expected +let name = ext.name(); // "CompleteSnapshot" +let namespace = ext.namespace(); // = "com.amazonaws"; +``` +When reintroduced, `OperationExtension` was initialized by the `Plugin` and then used as follows: +```rust +let ext = OperationExtension::new("com.amazonaws#CompleteSnapshot"); +// This is the bug +let name = ext.name(); // "amazonaws#CompleteSnapshot" +let namespace = ext.namespace(); // = "com"; +``` +The intended behavior is now restored: +```rust +let ext = OperationExtension::new("com.amazonaws#CompleteSnapshot"); +// This is expected +let name = ext.name(); // "CompleteSnapshot" +let namespace = ext.namespace(); // = "com.amazonaws"; +``` +The rationale behind this change is that the previous design was tailored towards a specific internal use case and shouldn't be enforced on all customers. +""" +references = ["smithy-rs#2276"] +meta = { "breaking" = true, "tada" = false, "bug" = true, "target" = "server"} +author = "hlbarber" [[aws-sdk-rust]] -message = "Fix endpoint for s3.write_get_object_response(). This bug was introduced in 0.53." -references = ["smithy-rs#2204"] +message = """ +Fix request canonicalization for HTTP requests with repeated headers (for example S3's `GetObjectAttributes`). Previously requests with repeated headers would fail with a 403 signature mismatch due to this bug. +""" +references = ["smithy-rs#2261", "aws-sdk-rust#720"] meta = { "breaking" = false, "tada" = false, "bug" = true } -author = "rcoh" +author = "nipunn1313" -[[aws-sdk-rust]] -message = "Add `with_test_defaults()` and `set_test_defaults()` to `::Config`. These methods fill in defaults for configuration that is mandatory to successfully send a request." -references = ["smithy-rs#2204"] +[[smithy-rs]] +message = """Add serde crate to `aws-smithy-types`. + +It's behind the feature gate `aws_sdk_unstable` which can only be enabled via a `--cfg` flag. +""" +references = ["smithy-rs#1944"] meta = { "breaking" = false, "tada" = false, "bug" = false } -author = "rcoh" +author = "thomas-k-cameron" diff --git a/aws/SDK_CHANGELOG.next.json b/aws/SDK_CHANGELOG.next.json index fa673303ae..5a4025621f 100644 --- a/aws/SDK_CHANGELOG.next.json +++ b/aws/SDK_CHANGELOG.next.json @@ -5,340 +5,6 @@ { "smithy-rs": [], "aws-sdk-rust": [ - { - "message": "Refactor endpoint resolution internals to use `aws_smithy_types::Endpoint` internally. The public internal\nfunctions `aws_endpoint::set_endpoint_resolver` and `aws_endpoint::get_endpoint_resolver were removed.", - "meta": { - "bug": false, - "breaking": true, - "tada": false - }, - "author": "rcoh", - "references": [ - "smithy-rs#1641" - ], - "since-commit": "6e96137ca79b592960881b140ab17717b1ebb780", - "age": 5 - }, - { - "message": "Service configs are now generated with new accessors for:\n- `Config::retry_config()` - Returns a reference to the inner retry configuration.\n- `Config::timeout_config()` - Returns a reference to the inner timeout configuration.\n- `Config::sleep_impl()` - Returns a clone of the inner async sleep implementation.\n\nPreviously, these were only accessible through `SdkConfig`.\n", - "meta": { - "bug": false, - "breaking": false, - "tada": true - }, - "author": "Velfi", - "references": [ - "smithy-rs#1598" - ], - "since-commit": "6e96137ca79b592960881b140ab17717b1ebb780", - "age": 5 - }, - { - "message": "Lossy converters into integer types for `aws_smithy_types::Number` have been\nremoved. Lossy converters into floating point types for\n`aws_smithy_types::Number` have been suffixed with `_lossy`. If you were\ndirectly using the integer lossy converters, we recommend you use the safe\nconverters.\n_Before:_\n```rust\nfn f1(n: aws_smithy_types::Number) {\n let foo: f32 = n.to_f32(); // Lossy conversion!\n let bar: u32 = n.to_u32(); // Lossy conversion!\n}\n```\n_After:_\n```rust\nfn f1(n: aws_smithy_types::Number) {\n use std::convert::TryInto; // Unnecessary import if you're using Rust 2021 edition.\n let foo: f32 = n.try_into().expect(\"lossy conversion detected\"); // Or handle the error instead of panicking.\n // You can still do lossy conversions, but only into floating point types.\n let foo: f32 = n.to_f32_lossy();\n // To lossily convert into integer types, use an `as` cast directly.\n let bar: u32 = n as u32; // Lossy conversion!\n}\n```\n", - "meta": { - "bug": true, - "breaking": true, - "tada": false - }, - "author": "david-perez", - "references": [ - "smithy-rs#1274" - ], - "since-commit": "6e96137ca79b592960881b140ab17717b1ebb780", - "age": 5 - }, - { - "message": "Bump [MSRV](https://github.com/awslabs/aws-sdk-rust#supported-rust-versions-msrv) from 1.58.1 to 1.61.0 per our policy.", - "meta": { - "bug": false, - "breaking": true, - "tada": false - }, - "author": "Velfi", - "references": [ - "smithy-rs#1699" - ], - "since-commit": "6e96137ca79b592960881b140ab17717b1ebb780", - "age": 5 - }, - { - "message": "The AWS S3 `GetObjectAttributes` operation will no longer fail with an XML error.", - "meta": { - "bug": true, - "breaking": false, - "tada": true - }, - "author": "Velfi", - "references": [ - "aws-sdk-rust#609" - ], - "since-commit": "6e96137ca79b592960881b140ab17717b1ebb780", - "age": 5 - }, - { - "message": "`aws_config::RetryConfig` no longer implements `Default`, and its `new` function has been replaced with `standard`.", - "meta": { - "bug": false, - "breaking": true, - "tada": false - }, - "author": "jdisanti", - "references": [ - "smithy-rs#1603", - "aws-sdk-rust#586" - ], - "since-commit": "3952a10c44ec1f2eed4a8d5e401d36e07e8a2c73", - "age": 5 - }, - { - "message": "Direct configuration of `aws_config::SdkConfig` now defaults to retries being disabled.\nIf you're using `aws_config::load_from_env()` or `aws_config::from_env()` to configure\nthe SDK, then you are NOT affected by this change. If you use `SdkConfig::builder()` to\nconfigure the SDK, then you ARE affected by this change and should set the retry config\non that builder.\n", - "meta": { - "bug": false, - "breaking": true, - "tada": false - }, - "author": "jdisanti", - "references": [ - "smithy-rs#1603", - "aws-sdk-rust#586" - ], - "since-commit": "3952a10c44ec1f2eed4a8d5e401d36e07e8a2c73", - "age": 5 - }, - { - "message": "Client creation now panics if retries or timeouts are enabled without an async sleep\nimplementation set on the SDK config.\nIf you're using the Tokio runtime and have the `rt-tokio` feature enabled (which is enabled by default),\nthen you shouldn't notice this change at all.\nOtherwise, if using something other than Tokio as the async runtime, the `AsyncSleep` trait must be implemented,\nand that implementation given to the config builder via the `sleep_impl` method. Alternatively, retry can be\nexplicitly turned off by setting the retry config to `RetryConfig::disabled()`, which will result in successful\nclient creation without an async sleep implementation.\n", - "meta": { - "bug": false, - "breaking": true, - "tada": false - }, - "author": "jdisanti", - "references": [ - "smithy-rs#1603", - "aws-sdk-rust#586" - ], - "since-commit": "3952a10c44ec1f2eed4a8d5e401d36e07e8a2c73", - "age": 5 - }, - { - "message": "Implemented customizable operations per [RFC-0017](https://awslabs.github.io/smithy-rs/design/rfcs/rfc0017_customizable_client_operations.html).\n\nBefore this change, modifying operations before sending them required using lower-level APIs:\n\n```rust\nlet input = SomeOperationInput::builder().some_value(5).build()?;\n\nlet operation = {\n let op = input.make_operation(&service_config).await?;\n let (request, response) = op.into_request_response();\n\n let request = request.augment(|req, _props| {\n req.headers_mut().insert(\n HeaderName::from_static(\"x-some-header\"),\n HeaderValue::from_static(\"some-value\")\n );\n Result::<_, Infallible>::Ok(req)\n })?;\n\n Operation::from_parts(request, response)\n};\n\nlet response = smithy_client.call(operation).await?;\n```\n\nNow, users may easily modify operations before sending with the `customize` method:\n\n```rust\nlet response = client.some_operation()\n .some_value(5)\n .customize()\n .await?\n .mutate_request(|mut req| {\n req.headers_mut().insert(\n HeaderName::from_static(\"x-some-header\"),\n HeaderValue::from_static(\"some-value\")\n );\n })\n .send()\n .await?;\n```\n", - "meta": { - "bug": false, - "breaking": false, - "tada": true - }, - "author": "Velfi", - "references": [ - "smithy-rs#1647", - "smithy-rs#1112" - ], - "since-commit": "3952a10c44ec1f2eed4a8d5e401d36e07e8a2c73", - "age": 5 - }, - { - "message": "The AWS STS SDK now automatically retries `IDPCommunicationError` when calling `AssumeRoleWithWebIdentity`", - "meta": { - "bug": true, - "breaking": false, - "tada": false - }, - "author": "jdisanti", - "references": [ - "smithy-rs#966", - "smithy-rs#1718" - ], - "since-commit": "3952a10c44ec1f2eed4a8d5e401d36e07e8a2c73", - "age": 5 - }, - { - "message": "The `SdkError::ResponseError`, typically caused by a connection terminating before the full response is received, is now treated as a transient failure and retried.", - "meta": { - "bug": true, - "breaking": false, - "tada": false - }, - "author": "jdisanti", - "references": [ - "aws-sdk-rust#303", - "smithy-rs#1717" - ], - "since-commit": "3952a10c44ec1f2eed4a8d5e401d36e07e8a2c73", - "age": 5 - }, - { - "message": "`ClassifyResponse` was renamed to `ClassifyRetry` and is no longer implemented for the unit type.", - "meta": { - "bug": false, - "breaking": true, - "tada": false - }, - "author": "jdisanti", - "references": [ - "smithy-rs#1715", - "smithy-rs#1717" - ], - "since-commit": "3952a10c44ec1f2eed4a8d5e401d36e07e8a2c73", - "age": 5 - }, - { - "message": "The `with_retry_policy` and `retry_policy` functions on `aws_smithy_http::operation::Operation` have been\nrenamed to `with_retry_classifier` and `retry_classifier` respectively. Public member `retry_policy` on\n`aws_smithy_http::operation::Parts` has been renamed to `retry_classifier`.\n", - "meta": { - "bug": false, - "breaking": true, - "tada": false - }, - "author": "jdisanti", - "references": [ - "smithy-rs#1715", - "smithy-rs#1717" - ], - "since-commit": "3952a10c44ec1f2eed4a8d5e401d36e07e8a2c73", - "age": 5 - }, - { - "message": "Bump MSRV to be 1.62.0.", - "meta": { - "bug": false, - "breaking": true, - "tada": false - }, - "author": "LukeMathWalker", - "references": [ - "smithy-rs#1825" - ], - "since-commit": "79b7274d180085a70cbcb565ea406a88b6f3cecb", - "age": 4 - }, - { - "message": "The SDK, by default, now times out if socket connect or time to first byte read takes longer than\n3.1 seconds. There are a large number of breaking changes that come with this change that may\naffect you if you customize the client configuration at all.\nSee [the upgrade guide](https://github.com/awslabs/aws-sdk-rust/issues/622) for information\non how to configure timeouts, and how to resolve compilation issues after upgrading.\n", - "meta": { - "bug": false, - "breaking": true, - "tada": false - }, - "author": "jdisanti", - "references": [ - "smithy-rs#1740", - "smithy-rs#256" - ], - "since-commit": "79b7274d180085a70cbcb565ea406a88b6f3cecb", - "age": 4 - }, - { - "message": "Setting connect/read timeouts with `SdkConfig` now works. Previously, these timeout config values\nwere lost during connector creation, so the only reliable way to set them was to manually override\nthe HTTP connector.\n", - "meta": { - "bug": true, - "breaking": false, - "tada": false - }, - "author": "jdisanti", - "references": [ - "smithy-rs#1740", - "smithy-rs#256" - ], - "since-commit": "79b7274d180085a70cbcb565ea406a88b6f3cecb", - "age": 4 - }, - { - "message": "It is now possible to programmatically customize the locations of the profile config/credentials files in `aws-config`:\n```rust\nuse aws_config::profile::{ProfileFileCredentialsProvider, ProfileFileRegionProvider};\nuse aws_config::profile::profile_file::{ProfileFiles, ProfileFileKind};\n\nlet profile_files = ProfileFiles::builder()\n .with_file(ProfileFileKind::Credentials, \"some/path/to/credentials-file\")\n .build();\nlet credentials_provider = ProfileFileCredentialsProvider::builder()\n .profile_files(profile_files.clone())\n .build();\nlet region_provider = ProfileFileRegionProvider::builder()\n .profile_files(profile_files)\n .build();\n\nlet sdk_config = aws_config::from_env()\n .credentials_provider(credentials_provider)\n .region(region_provider)\n .load()\n .await;\n```\n", - "meta": { - "bug": false, - "breaking": false, - "tada": true - }, - "author": "jdisanti", - "references": [ - "aws-sdk-rust#237", - "smithy-rs#1770" - ], - "since-commit": "79b7274d180085a70cbcb565ea406a88b6f3cecb", - "age": 4 - }, - { - "message": "Paginators now stop on encountering a duplicate token by default rather than panic. This behavior can be customized by toggling the `stop_on_duplicate_token` property on the paginator before calling `send`.", - "meta": { - "bug": true, - "breaking": false, - "tada": false - }, - "author": "jdisanti", - "references": [ - "aws-sdk-rust#620", - "smithy-rs#1748" - ], - "since-commit": "79b7274d180085a70cbcb565ea406a88b6f3cecb", - "age": 4 - }, - { - "message": "The client Config now has getters for every value that it holds.", - "meta": { - "bug": true, - "breaking": false, - "tada": false - }, - "author": "kastolars", - "references": [ - "smithy-rs#1747" - ], - "since-commit": "79b7274d180085a70cbcb565ea406a88b6f3cecb", - "age": 4 - }, - { - "message": "Fix regression where `connect_timeout` and `read_timeout` fields are unused in the IMDS client", - "meta": { - "bug": true, - "breaking": false, - "tada": false - }, - "author": "kevinpark1217", - "references": [ - "smithy-rs#1822" - ], - "since-commit": "79b7274d180085a70cbcb565ea406a88b6f3cecb", - "age": 4 - }, - { - "message": "Ability to override the IMDS client in `DefaultCredentialsChain`", - "meta": { - "bug": false, - "breaking": false, - "tada": false - }, - "author": "kevinpark1217", - "references": [ - "aws-sdk-rust#625" - ], - "since-commit": "79b7274d180085a70cbcb565ea406a88b6f3cecb", - "age": 4 - }, - { - "message": "Fix aws-sigv4 canonical request formatting fallibility.", - "meta": { - "bug": true, - "breaking": false, - "tada": false - }, - "author": "ysaito1001", - "references": [ - "smithy-rs#1656" - ], - "since-commit": "79b7274d180085a70cbcb565ea406a88b6f3cecb", - "age": 4 - }, - { - "message": "Add test to exercise excluded headers in aws-sigv4.", - "meta": { - "bug": false, - "breaking": false, - "tada": false - }, - "author": "ysaito1001", - "references": [ - "smithy-rs#1890" - ], - "since-commit": "79b7274d180085a70cbcb565ea406a88b6f3cecb", - "age": 4 - }, { "message": "Add test to exercise excluded headers in aws-sigv4.", "meta": { @@ -351,7 +17,7 @@ "smithy-rs#1890" ], "since-commit": "c3de8a3f93201f969c28deb9313c903c1315054d", - "age": 3 + "age": 5 }, { "message": "Support Sigv4 signature generation on PowerPC 32 and 64 bit. This architecture cannot compile `ring`, so the implementation has been updated to rely on `hamc` + `sha2` to achive the same result with broader platform compatibility and higher performance. We also updated the CI which is now running as many tests as possible against i686 and PowerPC 32 and 64 bit.", @@ -365,7 +31,7 @@ "smithy-rs#1847" ], "since-commit": "c3de8a3f93201f969c28deb9313c903c1315054d", - "age": 3 + "age": 5 }, { "message": "Add test ensuring that a response will error if the response body returns an EOF before the entire body has been read.", @@ -379,7 +45,7 @@ "smithy-rs#1801" ], "since-commit": "c3de8a3f93201f969c28deb9313c903c1315054d", - "age": 3 + "age": 5 }, { "message": "Fix cargo audit issue on criterion.", @@ -393,7 +59,7 @@ "smithy-rs#1923" ], "since-commit": "c3de8a3f93201f969c28deb9313c903c1315054d", - "age": 3 + "age": 5 }, { "message": "
\nThe HTTP connector used when making requests is now configurable through `SdkConfig`.\n\n```rust\nuse std::time::Duration;\nuse aws_smithy_client::{Client, hyper_ext};\nuse aws_smithy_client::erase::DynConnector;\nuse aws_smithy_client::http_connector::ConnectorSettings;\nuse aws_types::SdkConfig;\n\nlet https_connector = hyper_rustls::HttpsConnectorBuilder::new()\n .with_webpki_roots()\n .https_only()\n .enable_http1()\n .enable_http2()\n .build();\n\nlet smithy_connector = hyper_ext::Adapter::builder()\n // Optionally set things like timeouts as well\n .connector_settings(\n ConnectorSettings::builder()\n .connect_timeout(Duration::from_secs(5))\n .build()\n )\n .build(https_connector);\n\nlet sdk_config = aws_config::from_env()\n .http_connector(smithy_connector)\n .load()\n .await;\n\nlet client = Client::new(&sdk_config);\n\n// When sent, this operation will go through the custom smithy connector instead of\n// the default HTTP connector.\nlet op = client\n .get_object()\n .bucket(\"some-test-bucket\")\n .key(\"test.txt\")\n .send()\n .await\n .unwrap();\n```\n\n
\n", @@ -408,7 +74,7 @@ "smithy-rs#1918" ], "since-commit": "c3de8a3f93201f969c28deb9313c903c1315054d", - "age": 3 + "age": 5 }, { "message": "`::Client::from_conf_conn` has been removed since it's now possible to configure the connection from the\nshared and service configs. To update your code, pass connections to the `http_connector` method during config creation.\n\n
\nExample\n\nbefore:\n\n```rust\n let conf = aws_sdk_sts::Config::builder()\n // The builder has no defaults but setting other fields is omitted for brevity...\n .build();\n let (server, request) = capture_request(None);\n let client = aws_sdk_sts::Client::from_conf_conn(conf, server);\n```\n\nafter:\n\n```rust\n let (server, request) = capture_request(None);\n let conf = aws_sdk_sts::Config::builder()\n // The builder has no defaults but setting other fields is omitted for brevity...\n .http_connector(server)\n .build();\n let client = aws_sdk_sts::Client::from_conf(conf);\n```\n\n
\n", @@ -423,7 +89,7 @@ "smithy-rs#1918" ], "since-commit": "c3de8a3f93201f969c28deb9313c903c1315054d", - "age": 3 + "age": 5 }, { "message": "Add `to_vec` method to `aws_smithy_http::byte_stream::AggregatedBytes`.", @@ -437,7 +103,7 @@ "smithy-rs#1918" ], "since-commit": "c3de8a3f93201f969c28deb9313c903c1315054d", - "age": 3 + "age": 5 }, { "message": "Ability to add an inline policy or a list of policy ARNs to the `AssumeRoleProvider` builder.", @@ -452,7 +118,7 @@ "smithy-rs#1892" ], "since-commit": "c3de8a3f93201f969c28deb9313c903c1315054d", - "age": 3 + "age": 5 }, { "message": "Removed re-export of `aws_smithy_client::retry::Config` from the `middleware` module.", @@ -466,7 +132,7 @@ "smithy-rs#1935" ], "since-commit": "c3de8a3f93201f969c28deb9313c903c1315054d", - "age": 3 + "age": 5 }, { "message": "It was possible in some cases to send some S3 requests without a required upload ID, causing a risk of unintended data\ndeletion and modification. Now, when an operation has query parameters that are marked as required, the omission of\nthose query parameters will cause a BuildError, preventing the invalid operation from being sent.\n", @@ -480,7 +146,7 @@ "smithy-rs#1957" ], "since-commit": "c3de8a3f93201f969c28deb9313c903c1315054d", - "age": 3 + "age": 5 }, { "message": "Several breaking changes have been made to errors. See [the upgrade guide](https://github.com/awslabs/aws-sdk-rust/issues/657) for more information.", @@ -495,7 +161,7 @@ "smithy-rs#1819" ], "since-commit": "c3de8a3f93201f969c28deb9313c903c1315054d", - "age": 3 + "age": 5 }, { "message": "Generate enums that guide the users to write match expressions in a forward-compatible way.\nBefore this change, users could write a match expression against an enum in a non-forward-compatible way:\n```rust\nmatch some_enum {\n SomeEnum::Variant1 => { /* ... */ },\n SomeEnum::Variant2 => { /* ... */ },\n Unknown(value) if value == \"NewVariant\" => { /* ... */ },\n _ => { /* ... */ },\n}\n```\nThis code can handle a case for \"NewVariant\" with a version of SDK where the enum does not yet include `SomeEnum::NewVariant`, but breaks with another version of SDK where the enum defines `SomeEnum::NewVariant` because the execution will hit a different match arm, i.e. the last one.\nAfter this change, users are guided to write the above match expression as follows:\n```rust\nmatch some_enum {\n SomeEnum::Variant1 => { /* ... */ },\n SomeEnum::Variant2 => { /* ... */ },\n other @ _ if other.as_str() == \"NewVariant\" => { /* ... */ },\n _ => { /* ... */ },\n}\n```\nThis is forward-compatible because the execution will hit the second last match arm regardless of whether the enum defines `SomeEnum::NewVariant` or not.\n", @@ -509,7 +175,7 @@ "smithy-rs#1945" ], "since-commit": "c3de8a3f93201f969c28deb9313c903c1315054d", - "age": 3 + "age": 5 }, { "message": "Functions on `aws_smithy_http::endpoint::Endpoint` now return a `Result` instead of panicking.", @@ -524,7 +190,7 @@ "smithy-rs#1496" ], "since-commit": "c3de8a3f93201f969c28deb9313c903c1315054d", - "age": 3 + "age": 5 }, { "message": "`Endpoint::mutable` now takes `impl AsRef` instead of `Uri`. For the old functionality, use `Endpoint::mutable_uri`.", @@ -539,7 +205,7 @@ "smithy-rs#1496" ], "since-commit": "c3de8a3f93201f969c28deb9313c903c1315054d", - "age": 3 + "age": 5 }, { "message": "`Endpoint::immutable` now takes `impl AsRef` instead of `Uri`. For the old functionality, use `Endpoint::immutable_uri`.", @@ -554,7 +220,7 @@ "smithy-rs#1496" ], "since-commit": "c3de8a3f93201f969c28deb9313c903c1315054d", - "age": 3 + "age": 5 }, { "message": "Normalize URI paths per RFC3986 when constructing canonical requests, except for S3.", @@ -568,7 +234,7 @@ "smithy-rs#2018" ], "since-commit": "c3de8a3f93201f969c28deb9313c903c1315054d", - "age": 3 + "age": 5 }, { "message": "Implementation of the Debug trait for container shapes now redacts what is printed per the sensitive trait.", @@ -583,7 +249,7 @@ "smithy-rs#2029" ], "since-commit": "c3de8a3f93201f969c28deb9313c903c1315054d", - "age": 3 + "age": 5 }, { "message": "`SdkBody` callbacks have been removed. If you were using these, please [file an issue](https://github.com/awslabs/aws-sdk-rust/issues/new) so that we can better understand your use-case and provide the support you need.", @@ -597,7 +263,7 @@ "smithy-rs#2065" ], "since-commit": "c3de8a3f93201f969c28deb9313c903c1315054d", - "age": 3 + "age": 5 }, { "message": "`AwsEndpointStage`, a middleware which set endpoints and auth has been split into `AwsAuthStage` and `SmithyEndpointStage`. Related types have also been renamed.", @@ -611,7 +277,7 @@ "smithy-rs#2063" ], "since-commit": "c3de8a3f93201f969c28deb9313c903c1315054d", - "age": 3 + "age": 5 }, { "message": "The SDK clients now default max idle connections to 70 (previously unlimited) to reduce the likelihood of hitting max file handles in AWS Lambda.", @@ -626,7 +292,7 @@ "aws-sdk-rust#632" ], "since-commit": "c3de8a3f93201f969c28deb9313c903c1315054d", - "age": 3 + "age": 5 }, { "message": "The Unit type for a Union member is no longer rendered. The serializers and parsers generated now function accordingly in the absence of the inner data associated with the Unit type.\n", @@ -640,7 +306,7 @@ "smithy-rs#1989" ], "since-commit": "c3de8a3f93201f969c28deb9313c903c1315054d", - "age": 3 + "age": 5 }, { "message": "Fixed and improved the request `tracing` span hierarchy to improve log messages, profiling, and debuggability.", @@ -655,7 +321,7 @@ "smithy-rs#371" ], "since-commit": "c3de8a3f93201f969c28deb9313c903c1315054d", - "age": 3 + "age": 5 }, { "message": "Add more `tracing` events to signing and event streams", @@ -670,7 +336,7 @@ "smithy-rs#371" ], "since-commit": "c3de8a3f93201f969c28deb9313c903c1315054d", - "age": 3 + "age": 5 }, { "message": "Log an `info` on credentials cache miss and adjust level of some credential `tracing` spans/events.", @@ -684,7 +350,7 @@ "smithy-rs#2062" ], "since-commit": "c3de8a3f93201f969c28deb9313c903c1315054d", - "age": 3 + "age": 5 }, { "message": "Integrate Endpoints 2.0 into the Rust SDK. Endpoints 2.0 enables features like S3 virtual addressing & S3\nobject lambda. As part of this change, there are several breaking changes although efforts have been made to deprecate\nwhere possible to smooth the upgrade path.\n1. `aws_smithy_http::endpoint::Endpoint` and the `endpoint_resolver` methods have been deprecated. In general, these usages\n should be replaced with usages of `endpoint_url` instead. `endpoint_url` accepts a string so an `aws_smithy_http::Endpoint`\n does not need to be constructed. This structure and methods will be removed in a future release.\n2. The `endpoint_resolver` method on `::config::Builder` now accepts a service specific endpoint resolver instead\n of an implementation of `ResolveAwsEndpoint`. Most users will be able to replace these usages with a usage of `endpoint_url`.\n3. `ResolveAwsEndpoint` has been deprecated and will be removed in a future version of the SDK.\n4. The SDK does not support \"pseudo regions\" anymore. Specifically, regions like `iam-fips` will no longer resolve to a FIPS endpoint.\n", @@ -699,7 +365,7 @@ "smithy-rs#2074" ], "since-commit": "40da9a32b38e198da6ca2223b86c314b26438230", - "age": 2 + "age": 4 }, { "message": "Add additional configuration parameters to `aws_sdk_s3::Config`.\n\nThe launch of endpoints 2.0 includes more configuration options for S3. The default behavior for endpoint resolution has\nbeen changed. Before, all requests hit the path-style endpoint. Going forward, all requests that can be routed to the\nvirtually hosted bucket will be routed there automatically.\n- `force_path_style`: Requests will now default to the virtually-hosted endpoint `.s3..amazonaws.com`\n- `use_arn_region`: Enables this client to use an ARN’s region when constructing an endpoint instead of the client’s configured region.\n- `accelerate`: Enables this client to use S3 Transfer Acceleration endpoints.\n\nNote: the AWS SDK for Rust does not currently support Multi Region Access Points (MRAP).\n", @@ -714,7 +380,7 @@ "smithy-rs#2074" ], "since-commit": "40da9a32b38e198da6ca2223b86c314b26438230", - "age": 2 + "age": 4 }, { "message": "Move types for AWS SDK credentials to a separate crate.\nA new AWS runtime crate called `aws-credential-types` has been introduced. Types for AWS SDK credentials have been moved to that crate from `aws-config` and `aws-types`. The new crate is placed at the top of the dependency graph among AWS runtime crates with the aim of the downstream crates having access to the types defined in it.\n", @@ -728,7 +394,7 @@ "smithy-rs#2108" ], "since-commit": "40da9a32b38e198da6ca2223b86c314b26438230", - "age": 2 + "age": 4 }, { "message": "Add support for overriding profile name and profile file location across all providers. Prior to this change, each provider needed to be updated individually.\n\n### Before\n```rust\nuse aws_config::profile::{ProfileFileCredentialsProvider, ProfileFileRegionProvider};\nuse aws_config::profile::profile_file::{ProfileFiles, ProfileFileKind};\n\nlet profile_files = ProfileFiles::builder()\n .with_file(ProfileFileKind::Credentials, \"some/path/to/credentials-file\")\n .build();\nlet credentials_provider = ProfileFileCredentialsProvider::builder()\n .profile_files(profile_files.clone())\n .build();\nlet region_provider = ProfileFileRegionProvider::builder()\n .profile_files(profile_files)\n .build();\n\nlet sdk_config = aws_config::from_env()\n .credentials_provider(credentials_provider)\n .region(region_provider)\n .load()\n .await;\n```\n\n### After\n```rust\nuse aws_config::profile::{ProfileFileCredentialsProvider, ProfileFileRegionProvider};\nuse aws_config::profile::profile_file::{ProfileFiles, ProfileFileKind};\n\nlet profile_files = ProfileFiles::builder()\n .with_file(ProfileFileKind::Credentials, \"some/path/to/credentials-file\")\n .build();\nlet sdk_config = aws_config::from_env()\n .profile_files(profile_files)\n .load()\n .await;\n/// ```\n", @@ -742,7 +408,7 @@ "smithy-rs#2152" ], "since-commit": "40da9a32b38e198da6ca2223b86c314b26438230", - "age": 2 + "age": 4 }, { "message": "`aws_config::profile::retry_config` && `aws_config::environment::retry_config` have been removed. Use `aws_config::default_provider::retry_config` instead.", @@ -756,7 +422,7 @@ "smithy-rs#2162" ], "since-commit": "40da9a32b38e198da6ca2223b86c314b26438230", - "age": 2 + "age": 4 }, { "message": "Add support for resolving FIPS and dual-stack endpoints.\n\nFIPS and dual-stack endpoints can each be configured in multiple ways:\n1. Automatically from the environment and AWS profile\n2. Across all clients loaded from the same `SdkConfig` via `from_env().use_dual_stack(true).load().await`\n3. At a client level when constructing the configuration for an individual client.\n\nNote: Not all services support FIPS and dual-stack.\n", @@ -770,6 +436,64 @@ "smithy-rs#2168" ], "since-commit": "40da9a32b38e198da6ca2223b86c314b26438230", + "age": 4 + }, + { + "message": "Improve SDK credentials caching through type safety. `LazyCachingCredentialsProvider` has been renamed to `LazyCredentialsCache` and is no longer treated as a credentials provider. Furthermore, you do not create a `LazyCredentialsCache` directly, and instead you interact with `CredentialsCache`. This introduces the following breaking changes.\n\nIf you previously used `LazyCachingCredentialsProvider`, you can replace it with `CredentialsCache`.\n
\nExample\n\nBefore:\n```rust\nuse aws_config::meta::credentials::lazy_caching::LazyCachingCredentialsProvider;\nuse aws_types::provider::ProvideCredentials;\n\nfn make_provider() -> impl ProvideCredentials {\n // --snip--\n}\n\nlet credentials_provider =\n LazyCachingCredentialsProvider::builder()\n .load(make_provider())\n .build();\n\nlet sdk_config = aws_config::from_env()\n .credentials_provider(credentials_provider)\n .load()\n .await;\n\nlet client = aws_sdk_s3::Client::new(&sdk_config);\n```\n\nAfter:\n```rust\nuse aws_credential_types::cache::CredentialsCache;\nuse aws_types::provider::ProvideCredentials;\n\nfn make_provider() -> impl ProvideCredentials {\n // --snip--\n}\n\n// Wrapping a result of `make_provider` in `LazyCredentialsCache` is done automatically.\nlet sdk_config = aws_config::from_env()\n .credentials_cache(CredentialsCache::lazy()) // This line can be omitted because it is on by default.\n .credentials_provider(make_provider())\n .load()\n .await;\n\nlet client = aws_sdk_s3::Client::new(&sdk_config);\n```\n\nIf you previously configured a `LazyCachingCredentialsProvider`, you can use the builder for `LazyCredentialsCache` instead.\n\nBefore:\n```rust\nuse aws_config::meta::credentials::lazy_caching::LazyCachingCredentialsProvider;\nuse aws_types::provider::ProvideCredentials;\nuse std::time::Duration;\n\nfn make_provider() -> impl ProvideCredentials {\n // --snip--\n}\n\nlet credentials_provider =\n LazyCachingCredentialsProvider::builder()\n .load(make_provider())\n .load_timeout(Duration::from_secs(60)) // Configures timeout.\n .build();\n\nlet sdk_config = aws_config::from_env()\n .credentials_provider(credentials_provider)\n .load()\n .await;\n\nlet client = aws_sdk_s3::Client::new(&sdk_config);\n```\n\nAfter:\n```rust\nuse aws_credential_types::cache::CredentialsCache;\nuse aws_types::provider::ProvideCredentials;\nuse std::time::Duration;\n\nfn make_provider() -> impl ProvideCredentials {\n // --snip--\n}\n\nlet sdk_config = aws_config::from_env()\n .credentials_cache(\n CredentialsCache::lazy_builder()\n .load_timeout(Duration::from_secs(60)) // Configures timeout.\n .into_credentials_cache(),\n )\n .credentials_provider(make_provider())\n .load()\n .await;\n\nlet client = aws_sdk_s3::Client::new(&sdk_config);\n```\n\nThe examples above only demonstrate how to use `credentials_cache` and `credentials_provider` methods on `aws_config::ConfigLoader` but the same code update can be applied when you interact with `aws_types::sdk_config::Builder` or the builder for a service-specific config, e.g. `aws_sdk_s3::config::Builder`.\n\n
\n\n\nIf you previously configured a `DefaultCredentialsChain` by calling `load_timeout`, `buffer_time`, or `default_credential_expiration` on its builder, you need to call the same set of methods on the builder for `LazyCredentialsCache` instead.\n
\nExample\n\nBefore:\n```rust\nuse aws_config::default_provider::credentials::DefaultCredentialsChain;\nuse std::time::Duration;\n\nlet credentials_provider = DefaultCredentialsChain::builder()\n .buffer_time(Duration::from_secs(30))\n .default_credential_expiration(Duration::from_secs(20 * 60))\n .build()\n .await;\n\nlet sdk_config = aws_config::from_env()\n .credentials_provider(credentials_provider)\n .load()\n .await;\n\nlet client = aws_sdk_s3::Client::new(&sdk_config);\n```\n\nAfter:\n```rust\nuse aws_config::default_provider::credentials::default_provider;\nuse aws_credential_types::cache::CredentialsCache;\nuse std::time::Duration;\n\n// Previously used methods no longer exist on the builder for `DefaultCredentialsChain`.\nlet credentials_provider = default_provider().await;\n\nlet sdk_config = aws_config::from_env()\n .credentials_cache(\n CredentialsCache::lazy_builder()\n .buffer_time(Duration::from_secs(30))\n .default_credential_expiration(Duration::from_secs(20 * 60))\n .into_credentials_cache(),\n )\n .credentials_provider(credentials_provider)\n .load()\n .await;\n\nlet client = aws_sdk_s3::Client::new(&sdk_config);\n```\n\n
\n", + "meta": { + "bug": false, + "breaking": true, + "tada": false + }, + "author": "ysaito1001", + "references": [ + "smithy-rs#2122", + "smithy-rs#2227" + ], + "since-commit": "48ce90d3a32cc87337d87d1f291b41fc64f1e5bd", + "age": 2 + }, + { + "message": "The introduction of `CredentialsCache` comes with an accompanying type `SharedCredentialsCache`, which we will store in the property bag instead of a `SharedCredentialsProvider`. As a result, `aws_http::auth:set_provider` has been updated to `aws_http::auth::set_credentials_cache`.\n\nBefore:\n```rust\nuse aws_credential_types::Credentials;\nuse aws_credential_types::provider::SharedCredentialsProvider;\nuse aws_http::auth::set_provider;\nuse aws_smithy_http::body::SdkBody;\nuse aws_smithy_http::operation;\n\nlet mut req = operation::Request::new(http::Request::new(SdkBody::from(\"some body\")));\nlet credentials = Credentials::new(\"example\", \"example\", None, None, \"my_provider_name\");\nset_provider(\n &mut req.properties_mut(),\n SharedCredentialsProvider::new(credentials),\n);\n```\n\nAfter:\n```rust\nuse aws_credential_types::Credentials;\nuse aws_credential_types::cache::{CredentialsCache, SharedCredentialsCache};\nuse aws_credential_types::provider::SharedCredentialsProvider;\nuse aws_http::auth::set_credentials_cache;\nuse aws_smithy_http::body::SdkBody;\nuse aws_smithy_http::operation;\n\nlet mut req = operation::Request::new(http::Request::new(SdkBody::from(\"some body\")));\nlet credentials = Credentials::new(\"example\", \"example\", None, None, \"my_provider_name\");\nlet credentials_cache = CredentialsCache::lazy_builder()\n .into_credentials_cache()\n .create_cache(SharedCredentialsProvider::new(credentials));\nset_credentials_cache(\n &mut req.properties_mut(),\n SharedCredentialsCache::new(credentials_cache),\n);\n```\n", + "meta": { + "bug": false, + "breaking": true, + "tada": false + }, + "author": "ysaito1001", + "references": [ + "smithy-rs#2122", + "smithy-rs#2227" + ], + "since-commit": "48ce90d3a32cc87337d87d1f291b41fc64f1e5bd", + "age": 2 + }, + { + "message": "Fix endpoint for s3.write_get_object_response(). This bug was introduced in 0.53.", + "meta": { + "bug": true, + "breaking": false, + "tada": false + }, + "author": "rcoh", + "references": [ + "smithy-rs#2204" + ], + "since-commit": "48ce90d3a32cc87337d87d1f291b41fc64f1e5bd", + "age": 2 + }, + { + "message": "Add `with_test_defaults()` and `set_test_defaults()` to `::Config`. These methods fill in defaults for configuration that is mandatory to successfully send a request.", + "meta": { + "bug": false, + "breaking": false, + "tada": false + }, + "author": "rcoh", + "references": [ + "smithy-rs#2204" + ], + "since-commit": "48ce90d3a32cc87337d87d1f291b41fc64f1e5bd", "age": 2 } ], diff --git a/aws/rust-runtime/aws-config/Cargo.toml b/aws/rust-runtime/aws-config/Cargo.toml index a393436e73..2a43647379 100644 --- a/aws/rust-runtime/aws-config/Cargo.toml +++ b/aws/rust-runtime/aws-config/Cargo.toml @@ -38,6 +38,9 @@ ring = "0.16" hex = "0.4.3" zeroize = "1" +# implementation detail of IMDS credentials provider +fastrand = "1" + bytes = "1.1.0" http = "0.2.4" tower = { version = "0.4.8" } diff --git a/aws/rust-runtime/aws-config/src/default_provider/credentials.rs b/aws/rust-runtime/aws-config/src/default_provider/credentials.rs index c2a31b5e79..70b5725d0b 100644 --- a/aws/rust-runtime/aws-config/src/default_provider/credentials.rs +++ b/aws/rust-runtime/aws-config/src/default_provider/credentials.rs @@ -6,6 +6,7 @@ use std::borrow::Cow; use aws_credential_types::provider::{self, future, ProvideCredentials}; +use aws_credential_types::Credentials; use tracing::Instrument; use crate::environment::credentials::EnvironmentVariableCredentialsProvider; @@ -83,6 +84,10 @@ impl ProvideCredentials for DefaultCredentialsChain { { future::ProvideCredentials::new(self.credentials()) } + + fn fallback_on_interrupt(&self) -> Option { + self.provider_chain.fallback_on_interrupt() + } } /// Builder for [`DefaultCredentialsChain`](DefaultCredentialsChain) @@ -231,6 +236,12 @@ mod test { make_test!($name, execute_from_live_traffic); }; ($name: ident, $func: ident) => { + make_test!($name, $func, std::convert::identity); + }; + ($name: ident, $provider_config_builder: expr) => { + make_test!($name, execute, $provider_config_builder); + }; + ($name: ident, $func: ident, $provider_config_builder: expr) => { #[traced_test] #[tokio::test] async fn $name() { @@ -238,7 +249,9 @@ mod test { "./test-data/default-provider-chain/", stringify!($name) )) + .await .unwrap() + .with_provider_config($provider_config_builder) .$func(|conf| async { crate::default_provider::credentials::Builder::default() .configure(conf) @@ -264,12 +277,23 @@ mod test { make_test!(imds_no_iam_role); make_test!(imds_default_chain_error); - make_test!(imds_default_chain_success); + make_test!(imds_default_chain_success, |config| { + config.with_time_source(aws_credential_types::time_source::TimeSource::testing( + &aws_credential_types::time_source::TestingTimeSource::new(std::time::UNIX_EPOCH), + )) + }); make_test!(imds_assume_role); - make_test!(imds_config_with_no_creds); + make_test!(imds_config_with_no_creds, |config| { + config.with_time_source(aws_credential_types::time_source::TimeSource::testing( + &aws_credential_types::time_source::TestingTimeSource::new(std::time::UNIX_EPOCH), + )) + }); make_test!(imds_disabled); - make_test!(imds_default_chain_retries); - + make_test!(imds_default_chain_retries, |config| { + config.with_time_source(aws_credential_types::time_source::TimeSource::testing( + &aws_credential_types::time_source::TestingTimeSource::new(std::time::UNIX_EPOCH), + )) + }); make_test!(ecs_assume_role); make_test!(ecs_credentials); make_test!(ecs_credentials_invalid_profile); @@ -279,11 +303,12 @@ mod test { #[tokio::test] async fn profile_name_override() { - let (_, conf) = + let conf = TestEnvironment::from_dir("./test-data/default-provider-chain/profile_static_keys") + .await .unwrap() .provider_config() - .await; + .clone(); let provider = DefaultCredentialsChain::builder() .profile_name("secondary") .configure(conf) diff --git a/aws/rust-runtime/aws-config/src/imds/credentials.rs b/aws/rust-runtime/aws-config/src/imds/credentials.rs index c598f4ba72..8cd3df7d0e 100644 --- a/aws/rust-runtime/aws-config/src/imds/credentials.rs +++ b/aws/rust-runtime/aws-config/src/imds/credentials.rs @@ -14,11 +14,16 @@ use crate::imds::client::LazyClient; use crate::json_credentials::{parse_json_credentials, JsonCredentials, RefreshableCredentials}; use crate::provider_config::ProviderConfig; use aws_credential_types::provider::{self, error::CredentialsError, future, ProvideCredentials}; +use aws_credential_types::time_source::TimeSource; use aws_credential_types::Credentials; use aws_types::os_shim_internal::Env; use std::borrow::Cow; use std::error::Error as StdError; use std::fmt; +use std::sync::{Arc, RwLock}; +use std::time::{Duration, SystemTime}; + +const CREDENTIAL_EXPIRATION_INTERVAL: Duration = Duration::from_secs(15 * 60); #[derive(Debug)] struct ImdsCommunicationError { @@ -45,6 +50,8 @@ pub struct ImdsCredentialsProvider { client: LazyClient, env: Env, profile: Option, + time_source: TimeSource, + last_retrieved_credentials: Arc>>, } /// Builder for [`ImdsCredentialsProvider`] @@ -53,6 +60,7 @@ pub struct Builder { provider_config: Option, profile_override: Option, imds_override: Option, + last_retrieved_credentials: Option, } impl Builder { @@ -86,6 +94,13 @@ impl Builder { self } + #[allow(dead_code)] + #[cfg(test)] + fn last_retrieved_credentials(mut self, credentials: Credentials) -> Self { + self.last_retrieved_credentials = Some(credentials); + self + } + /// Create an [`ImdsCredentialsProvider`] from this builder. pub fn build(self) -> ImdsCredentialsProvider { let provider_config = self.provider_config.unwrap_or_default(); @@ -102,6 +117,8 @@ impl Builder { client, env, profile: self.profile_override, + time_source: provider_config.time_source(), + last_retrieved_credentials: Arc::new(RwLock::new(self.last_retrieved_credentials)), } } } @@ -117,6 +134,10 @@ impl ProvideCredentials for ImdsCredentialsProvider { { future::ProvideCredentials::new(self.credentials()) } + + fn fallback_on_interrupt(&self) -> Option { + self.last_retrieved_credentials.read().unwrap().clone() + } } impl ImdsCredentialsProvider { @@ -167,7 +188,36 @@ impl ImdsCredentialsProvider { } } - async fn credentials(&self) -> provider::Result { + // Extend the cached expiration time if necessary + // + // This allows continued use of the credentials even when IMDS returns expired ones. + fn maybe_extend_expiration(&self, expiration: SystemTime) -> SystemTime { + let rng = fastrand::Rng::with_seed( + self.time_source + .now() + .duration_since(SystemTime::UNIX_EPOCH) + .expect("now should be after UNIX EPOCH") + .as_secs(), + ); + // calculate credentials' refresh offset with jitter + let refresh_offset = + CREDENTIAL_EXPIRATION_INTERVAL + Duration::from_secs(rng.u64(120..=600)); + let new_expiry = self.time_source.now() + refresh_offset; + + if new_expiry < expiration { + return expiration; + } + + tracing::warn!( + "Attempting credential expiration extension due to a credential service availability issue. \ + A refresh of these credentials will be attempted again within the next {:.2} minutes.", + refresh_offset.as_secs_f64() / 60.0, + ); + + new_expiry + } + + async fn retrieve_credentials(&self) -> provider::Result { if self.imds_disabled() { tracing::debug!("IMDS disabled because $AWS_EC2_METADATA_DISABLED was set to `true`"); return Err(CredentialsError::not_loaded( @@ -196,13 +246,18 @@ impl ImdsCredentialsProvider { session_token, expiration, .. - })) => Ok(Credentials::new( - access_key_id, - secret_access_key, - Some(session_token.to_string()), - expiration.into(), - "IMDSv2", - )), + })) => { + let expiration = self.maybe_extend_expiration(expiration); + let creds = Credentials::new( + access_key_id, + secret_access_key, + Some(session_token.to_string()), + expiration.into(), + "IMDSv2", + ); + *self.last_retrieved_credentials.write().unwrap() = Some(creds.clone()); + Ok(creds) + } Ok(JsonCredentials::Error { code, message }) if code == codes::ASSUME_ROLE_UNAUTHORIZED_ACCESS => { @@ -222,16 +277,34 @@ impl ImdsCredentialsProvider { Err(invalid) => Err(CredentialsError::unhandled(invalid)), } } + + async fn credentials(&self) -> provider::Result { + match self.retrieve_credentials().await { + creds @ Ok(_) => creds, + // Any failure while retrieving credentials MUST NOT impede use of existing credentials. + err => match &*self.last_retrieved_credentials.read().unwrap() { + Some(creds) => Ok(creds.clone()), + _ => err, + }, + } + } } #[cfg(test)] mod test { + use std::time::{Duration, UNIX_EPOCH}; + use crate::imds::client::test::{ imds_request, imds_response, make_client, token_request, token_response, }; use crate::imds::credentials::ImdsCredentialsProvider; + use crate::provider_config::ProviderConfig; use aws_credential_types::provider::ProvideCredentials; + use aws_credential_types::time_source::{TestingTimeSource, TimeSource}; + use aws_smithy_async::rt::sleep::TokioSleep; + use aws_smithy_client::erase::DynConnector; use aws_smithy_client::test_connection::TestConnection; + use tracing_test::traced_test; const TOKEN_A: &str = "token_a"; @@ -268,4 +341,161 @@ mod test { assert_eq!(creds2.access_key_id(), "ASIARTEST2"); connection.assert_requests_match(&[]); } + + #[tokio::test] + #[traced_test] + async fn expired_credentials_should_be_extended() { + let connection = TestConnection::new(vec![ + ( + token_request("http://169.254.169.254", 21600), + token_response(21600, TOKEN_A), + ), + ( + imds_request("http://169.254.169.254/latest/meta-data/iam/security-credentials/", TOKEN_A), + imds_response(r#"profile-name"#), + ), + ( + imds_request("http://169.254.169.254/latest/meta-data/iam/security-credentials/profile-name", TOKEN_A), + imds_response("{\n \"Code\" : \"Success\",\n \"LastUpdated\" : \"2021-09-20T21:42:26Z\",\n \"Type\" : \"AWS-HMAC\",\n \"AccessKeyId\" : \"ASIARTEST\",\n \"SecretAccessKey\" : \"testsecret\",\n \"Token\" : \"testtoken\",\n \"Expiration\" : \"2021-09-21T04:16:53Z\"\n}"), + ), + ]); + + // set to 2021-09-21T17:41:25Z that renders fetched credentials already expired (2021-09-21T04:16:53Z) + let time_of_request_to_fetch_credentials = UNIX_EPOCH + Duration::from_secs(1632246085); + let time_source = TimeSource::testing(&TestingTimeSource::new( + time_of_request_to_fetch_credentials, + )); + + tokio::time::pause(); + + let provider_config = ProviderConfig::no_configuration() + .with_http_connector(DynConnector::new(connection.clone())) + .with_time_source(time_source) + .with_sleep(TokioSleep::new()); + let client = crate::imds::Client::builder() + .configure(&provider_config) + .build() + .await + .expect("valid client"); + let provider = ImdsCredentialsProvider::builder() + .configure(&provider_config) + .imds_client(client) + .build(); + let creds = provider.provide_credentials().await.expect("valid creds"); + assert!(creds.expiry().unwrap() > time_of_request_to_fetch_credentials); + connection.assert_requests_match(&[]); + + // We should inform customers that expired credentials are being used for stability. + assert!(logs_contain("Attempting credential expiration extension")); + } + + #[tokio::test] + #[cfg(any(feature = "rustls", feature = "native-tls"))] + async fn read_timeout_during_credentials_refresh_should_yield_last_retrieved_credentials() { + let client = crate::imds::Client::builder() + // 240.* can never be resolved + .endpoint(http::Uri::from_static("http://240.0.0.0")) + .build() + .await + .expect("valid client"); + let expected = aws_credential_types::Credentials::for_tests(); + let provider = ImdsCredentialsProvider::builder() + .imds_client(client) + // seed fallback credentials for testing + .last_retrieved_credentials(expected.clone()) + .build(); + let actual = provider.provide_credentials().await; + assert_eq!(actual.unwrap(), expected); + } + + #[tokio::test] + #[cfg(any(feature = "rustls", feature = "native-tls"))] + async fn read_timeout_during_credentials_refresh_should_error_without_last_retrieved_credentials( + ) { + let client = crate::imds::Client::builder() + // 240.* can never be resolved + .endpoint(http::Uri::from_static("http://240.0.0.0")) + .build() + .await + .expect("valid client"); + let provider = ImdsCredentialsProvider::builder() + .imds_client(client) + // no fallback credentials provided + .build(); + let actual = provider.provide_credentials().await; + assert!(matches!( + actual, + Err(aws_credential_types::provider::error::CredentialsError::CredentialsNotLoaded(_)) + )); + } + + #[tokio::test] + #[cfg(any(feature = "rustls", feature = "native-tls"))] + async fn external_timeout_during_credentials_refresh_should_yield_last_retrieved_credentials() { + use aws_sdk_sso::config::AsyncSleep; + let client = crate::imds::Client::builder() + // 240.* can never be resolved + .endpoint(http::Uri::from_static("http://240.0.0.0")) + .build() + .await + .expect("valid client"); + let expected = aws_credential_types::Credentials::for_tests(); + let provider = ImdsCredentialsProvider::builder() + .imds_client(client) + // seed fallback credentials for testing + .last_retrieved_credentials(expected.clone()) + .build(); + let sleeper = aws_smithy_async::rt::sleep::TokioSleep::new(); + let timeout = aws_smithy_async::future::timeout::Timeout::new( + provider.provide_credentials(), + // make sure `sleeper.sleep` will be timed out first by setting a shorter duration than connect timeout + sleeper.sleep(std::time::Duration::from_millis(100)), + ); + match timeout.await { + Ok(_) => assert!(false, "provide_credentials completed before timeout future"), + Err(_err) => match provider.fallback_on_interrupt() { + Some(actual) => assert_eq!(actual, expected), + None => assert!( + false, + "provide_credentials timed out and no credentials returned from fallback_on_interrupt" + ), + }, + }; + } + + #[tokio::test] + async fn fallback_credentials_should_be_used_when_imds_returns_500_during_credentials_refresh() + { + let connection = TestConnection::new(vec![ + // The next three request/response pairs will correspond to the first call to `provide_credentials`. + // During the call, it populates last_retrieved_credentials. + ( + token_request("http://169.254.169.254", 21600), + token_response(21600, TOKEN_A), + ), + ( + imds_request("http://169.254.169.254/latest/meta-data/iam/security-credentials/", TOKEN_A), + imds_response(r#"profile-name"#), + ), + ( + imds_request("http://169.254.169.254/latest/meta-data/iam/security-credentials/profile-name", TOKEN_A), + imds_response("{\n \"Code\" : \"Success\",\n \"LastUpdated\" : \"2021-09-20T21:42:26Z\",\n \"Type\" : \"AWS-HMAC\",\n \"AccessKeyId\" : \"ASIARTEST\",\n \"SecretAccessKey\" : \"testsecret\",\n \"Token\" : \"testtoken\",\n \"Expiration\" : \"2021-09-21T04:16:53Z\"\n}"), + ), + // The following request/response pair corresponds to the second call to `provide_credentials`. + // During the call, IMDS returns response code 500. + ( + imds_request("http://169.254.169.254/latest/meta-data/iam/security-credentials/", TOKEN_A), + http::Response::builder().status(500).body("").unwrap(), + ), + ]); + let provider = ImdsCredentialsProvider::builder() + .imds_client(make_client(&connection).await) + .build(); + let creds1 = provider.provide_credentials().await.expect("valid creds"); + assert_eq!(creds1.access_key_id(), "ASIARTEST"); + // `creds1` should be returned as fallback credentials and assigned to `creds2` + let creds2 = provider.provide_credentials().await.expect("valid creds"); + assert_eq!(creds1, creds2); + connection.assert_requests_match(&[]); + } } diff --git a/aws/rust-runtime/aws-config/src/meta/credentials/chain.rs b/aws/rust-runtime/aws-config/src/meta/credentials/chain.rs index 84bd0b5bfe..02ae424c25 100644 --- a/aws/rust-runtime/aws-config/src/meta/credentials/chain.rs +++ b/aws/rust-runtime/aws-config/src/meta/credentials/chain.rs @@ -3,7 +3,10 @@ * SPDX-License-Identifier: Apache-2.0 */ -use aws_credential_types::provider::{self, error::CredentialsError, future, ProvideCredentials}; +use aws_credential_types::{ + provider::{self, error::CredentialsError, future, ProvideCredentials}, + Credentials, +}; use aws_smithy_types::error::display::DisplayErrorContext; use std::borrow::Cow; use tracing::Instrument; @@ -104,4 +107,115 @@ impl ProvideCredentials for CredentialsProviderChain { { future::ProvideCredentials::new(self.credentials()) } + + fn fallback_on_interrupt(&self) -> Option { + for (_, provider) in &self.providers { + match provider.fallback_on_interrupt() { + creds @ Some(_) => return creds, + None => {} + } + } + None + } +} + +#[cfg(test)] +mod tests { + use std::time::Duration; + + use aws_credential_types::{ + credential_fn::provide_credentials_fn, + provider::{error::CredentialsError, future, ProvideCredentials}, + Credentials, + }; + use aws_smithy_async::future::timeout::Timeout; + + use crate::meta::credentials::CredentialsProviderChain; + + #[derive(Debug)] + struct FallbackCredentials(Credentials); + + impl ProvideCredentials for FallbackCredentials { + fn provide_credentials<'a>(&'a self) -> future::ProvideCredentials<'a> + where + Self: 'a, + { + future::ProvideCredentials::new(async { + tokio::time::sleep(Duration::from_millis(200)).await; + Ok(self.0.clone()) + }) + } + + fn fallback_on_interrupt(&self) -> Option { + Some(self.0.clone()) + } + } + + #[tokio::test] + async fn fallback_credentials_should_be_returned_from_provider2_on_timeout_while_provider2_was_providing_credentials( + ) { + let chain = CredentialsProviderChain::first_try( + "provider1", + provide_credentials_fn(|| async { + tokio::time::sleep(Duration::from_millis(200)).await; + Err(CredentialsError::not_loaded( + "no providers in chain provided credentials", + )) + }), + ) + .or_else("provider2", FallbackCredentials(Credentials::for_tests())); + + // Let the first call to `provide_credentials` succeed. + let expected = chain.provide_credentials().await.unwrap(); + + // Let the second call fail with an external timeout. + let timeout = Timeout::new( + chain.provide_credentials(), + tokio::time::sleep(Duration::from_millis(300)), + ); + match timeout.await { + Ok(_) => assert!(false, "provide_credentials completed before timeout future"), + Err(_err) => match chain.fallback_on_interrupt() { + Some(actual) => assert_eq!(actual, expected), + None => assert!( + false, + "provide_credentials timed out and no credentials returned from fallback_on_interrupt" + ), + }, + }; + } + + #[tokio::test] + async fn fallback_credentials_should_be_returned_from_provider2_on_timeout_while_provider1_was_providing_credentials( + ) { + let chain = CredentialsProviderChain::first_try( + "provider1", + provide_credentials_fn(|| async { + tokio::time::sleep(Duration::from_millis(200)).await; + Err(CredentialsError::not_loaded( + "no providers in chain provided credentials", + )) + }), + ) + .or_else("provider2", FallbackCredentials(Credentials::for_tests())); + + // Let the first call to `provide_credentials` succeed. + let expected = chain.provide_credentials().await.unwrap(); + + // Let the second call fail with an external timeout. + let timeout = Timeout::new( + chain.provide_credentials(), + tokio::time::sleep(Duration::from_millis(100)), + ); + match timeout.await { + Ok(_) => assert!(false, "provide_credentials completed before timeout future"), + Err(_err) => match chain.fallback_on_interrupt() { + Some(actual) => assert_eq!(actual, expected), + None => assert!( + false, + "provide_credentials timed out and no credentials returned from fallback_on_interrupt" + ), + }, + }; + } } diff --git a/aws/rust-runtime/aws-config/src/profile/credentials.rs b/aws/rust-runtime/aws-config/src/profile/credentials.rs index 845197f95e..ba7fb9241e 100644 --- a/aws/rust-runtime/aws-config/src/profile/credentials.rs +++ b/aws/rust-runtime/aws-config/src/profile/credentials.rs @@ -470,6 +470,7 @@ mod test { "./test-data/profile-provider/", stringify!($name) )) + .await .unwrap() .execute(|conf| async move { Builder::default().configure(&conf).build() }) .await diff --git a/aws/rust-runtime/aws-config/src/test_case.rs b/aws/rust-runtime/aws-config/src/test_case.rs index c8a5c13238..38593fcb46 100644 --- a/aws/rust-runtime/aws-config/src/test_case.rs +++ b/aws/rust-runtime/aws-config/src/test_case.rs @@ -65,11 +65,10 @@ impl From for Credentials { /// - an `http-traffic.json` file containing an http traffic log from [`dvr`](aws_smithy_client::dvr) /// - a `test-case.json` file defining the expected output of the test pub(crate) struct TestEnvironment { - env: Env, - fs: Fs, - network_traffic: NetworkTraffic, metadata: Metadata, base_dir: PathBuf, + connector: ReplayingConnection, + provider_config: ProviderConfig, } /// Connector which expects no traffic @@ -131,7 +130,7 @@ pub(crate) struct Metadata { } impl TestEnvironment { - pub(crate) fn from_dir(dir: impl AsRef) -> Result> { + pub(crate) async fn from_dir(dir: impl AsRef) -> Result> { let dir = dir.as_ref(); let env = std::fs::read_to_string(dir.join("env.json")) .map_err(|e| format!("failed to load env: {}", e))?; @@ -147,27 +146,32 @@ impl TestEnvironment { &std::fs::read_to_string(dir.join("test-case.json")) .map_err(|e| format!("failed to load test case: {}", e))?, )?; + let connector = ReplayingConnection::new(network_traffic.events().clone()); + let provider_config = ProviderConfig::empty() + .with_fs(fs.clone()) + .with_env(env.clone()) + .with_http_connector(DynConnector::new(connector.clone())) + .with_sleep(TokioSleep::new()) + .load_default_region() + .await; Ok(TestEnvironment { base_dir: dir.into(), - env, - fs, - network_traffic, metadata, + connector, + provider_config, }) } - pub(crate) async fn provider_config(&self) -> (ReplayingConnection, ProviderConfig) { - let connector = ReplayingConnection::new(self.network_traffic.events().clone()); - ( - connector.clone(), - ProviderConfig::empty() - .with_fs(self.fs.clone()) - .with_env(self.env.clone()) - .with_http_connector(DynConnector::new(connector.clone())) - .with_sleep(TokioSleep::new()) - .load_default_region() - .await, - ) + pub(crate) fn with_provider_config(mut self, provider_config_builder: F) -> Self + where + F: Fn(ProviderConfig) -> ProviderConfig, + { + self.provider_config = provider_config_builder(self.provider_config.clone()); + self + } + + pub(crate) fn provider_config(&self) -> &ProviderConfig { + &self.provider_config } #[allow(unused)] @@ -182,10 +186,13 @@ impl TestEnvironment { P: ProvideCredentials, { // swap out the connector generated from `http-traffic.json` for a real connector: - let (_test_connector, config) = self.provider_config().await; - let live_connector = default_connector(&Default::default(), config.sleep()).unwrap(); + let live_connector = + default_connector(&Default::default(), self.provider_config.sleep()).unwrap(); let live_connector = RecordingConnection::new(live_connector); - let config = config.with_http_connector(DynConnector::new(live_connector.clone())); + let config = self + .provider_config + .clone() + .with_http_connector(DynConnector::new(live_connector.clone())); let provider = make_provider(config).await; let result = provider.provide_credentials().await; std::fs::write( @@ -206,9 +213,11 @@ impl TestEnvironment { F: Future, P: ProvideCredentials, { - let (connector, config) = self.provider_config().await; - let recording_connector = RecordingConnection::new(connector); - let config = config.with_http_connector(DynConnector::new(recording_connector.clone())); + let recording_connector = RecordingConnection::new(self.connector.clone()); + let config = self + .provider_config + .clone() + .with_http_connector(DynConnector::new(recording_connector.clone())); let provider = make_provider(config).await; let result = provider.provide_credentials().await; std::fs::write( @@ -229,14 +238,15 @@ impl TestEnvironment { F: Future, P: ProvideCredentials, { - let (connector, conf) = self.provider_config().await; - let provider = make_provider(conf).await; + let provider = make_provider(self.provider_config.clone()).await; let result = provider.provide_credentials().await; tokio::time::pause(); self.log_info(); self.check_results(result); // todo: validate bodies - match connector + match self + .connector + .clone() .validate( &["CONTENT-TYPE", "x-aws-ec2-metadata-token"], |_expected, _actual| Ok(()), diff --git a/aws/rust-runtime/aws-credential-types/src/cache/lazy_caching.rs b/aws/rust-runtime/aws-credential-types/src/cache/lazy_caching.rs index d0484fc081..3a2459c597 100644 --- a/aws/rust-runtime/aws-credential-types/src/cache/lazy_caching.rs +++ b/aws/rust-runtime/aws-credential-types/src/cache/lazy_caching.rs @@ -78,10 +78,19 @@ impl ProvideCachedCredentials for LazyCredentialsCache { let result = cache .get_or_load(|| { let span = info_span!("lazy_load_credentials"); + let provider = provider.clone(); async move { - let credentials = future.await.map_err(|_err| { - CredentialsError::provider_timed_out(load_timeout) - })??; + let credentials = match future.await { + Ok(creds) => creds?, + Err(_err) => match provider.fallback_on_interrupt() { + Some(creds) => creds, + None => { + return Err(CredentialsError::provider_timed_out( + load_timeout, + )) + } + }, + }; // If the credentials don't have an expiration time, then create a default one let expiry = credentials .expiry() diff --git a/aws/rust-runtime/aws-credential-types/src/provider.rs b/aws/rust-runtime/aws-credential-types/src/provider.rs index 7f0e6282f1..d9a43ab36d 100644 --- a/aws/rust-runtime/aws-credential-types/src/provider.rs +++ b/aws/rust-runtime/aws-credential-types/src/provider.rs @@ -249,7 +249,7 @@ pub mod future { type BoxFuture<'a, T> = Pin + Send + 'a>>; - /// Future new-type that the `ProvideCredentials` trait must return. + /// Future new-type that `ProvideCredentials::provide_credentials` must return. #[derive(Debug)] pub struct ProvideCredentials<'a>(NowOrLater>); @@ -280,6 +280,19 @@ pub trait ProvideCredentials: Send + Sync + std::fmt::Debug { fn provide_credentials<'a>(&'a self) -> future::ProvideCredentials<'a> where Self: 'a; + + /// Returns fallback credentials. + /// + /// This method should be used as a fallback plan, i.e., when + /// a call to `provide_credentials` is interrupted and its future + /// fails to complete. + /// + /// The fallback credentials should be set aside and ready to be returned + /// immediately. Therefore, the user should NOT go fetch new credentials + /// within this method, which might cause a long-running operation. + fn fallback_on_interrupt(&self) -> Option { + None + } } impl ProvideCredentials for Credentials { diff --git a/aws/rust-runtime/aws-sigv4/src/http_request/canonical_request.rs b/aws/rust-runtime/aws-sigv4/src/http_request/canonical_request.rs index b1aa4f2b00..172f2cbce7 100644 --- a/aws/rust-runtime/aws-sigv4/src/http_request/canonical_request.rs +++ b/aws/rust-runtime/aws-sigv4/src/http_request/canonical_request.rs @@ -13,7 +13,7 @@ use crate::http_request::url_escape::percent_encode_path; use crate::http_request::PercentEncodingMode; use crate::http_request::{PayloadChecksumKind, SignableBody, SignatureLocation, SigningParams}; use crate::sign::sha256_hex_string; -use http::header::{HeaderName, HOST}; +use http::header::{AsHeaderName, HeaderName, HOST}; use http::{HeaderMap, HeaderValue, Method, Uri}; use std::borrow::Cow; use std::cmp::Ordering; @@ -225,7 +225,7 @@ impl<'a> CanonicalRequest<'a> { } let mut signed_headers = Vec::with_capacity(canonical_headers.len()); - for (name, _) in &canonical_headers { + for name in canonical_headers.keys() { if let Some(excluded_headers) = params.settings.excluded_headers.as_ref() { if excluded_headers.contains(name) { continue; @@ -328,6 +328,19 @@ impl<'a> CanonicalRequest<'a> { canonical_headers.insert(x_amz_date, date_header.clone()); date_header } + + fn header_values_for(&self, key: impl AsHeaderName) -> String { + let values: Vec<&str> = self + .headers + .get_all(key) + .into_iter() + .map(|value| { + std::str::from_utf8(value.as_bytes()) + .expect("SDK request header values are valid UTF-8") + }) + .collect(); + values.join(",") + } } impl<'a> fmt::Display for CanonicalRequest<'a> { @@ -337,15 +350,8 @@ impl<'a> fmt::Display for CanonicalRequest<'a> { writeln!(f, "{}", self.params.as_deref().unwrap_or(""))?; // write out _all_ the headers for header in &self.values.signed_headers().headers { - // a missing header is a bug, so we should panic. - let value = &self.headers[&header.0]; write!(f, "{}:", header.0.as_str())?; - writeln!( - f, - "{}", - std::str::from_utf8(value.as_bytes()) - .expect("SDK request header values are valid UTF-8") - )?; + writeln!(f, "{}", self.header_values_for(&header.0))?; } writeln!(f)?; // write out the signed headers @@ -538,6 +544,35 @@ mod tests { } } + #[test] + fn test_repeated_header() { + let mut req = test_request("get-vanilla-query-order-key-case"); + req.headers_mut().append( + "x-amz-object-attributes", + HeaderValue::from_static("Checksum"), + ); + req.headers_mut().append( + "x-amz-object-attributes", + HeaderValue::from_static("ObjectSize"), + ); + let req = SignableRequest::from(&req); + let settings = SigningSettings { + payload_checksum_kind: PayloadChecksumKind::XAmzSha256, + ..Default::default() + }; + let signing_params = signing_params(settings); + let creq = CanonicalRequest::from(&req, &signing_params).unwrap(); + + assert_eq!( + creq.values.signed_headers().to_string(), + "host;x-amz-content-sha256;x-amz-date;x-amz-object-attributes" + ); + assert_eq!( + creq.header_values_for("x-amz-object-attributes"), + "Checksum,ObjectSize", + ); + } + #[test] fn test_set_xamz_sha_256() { let req = test_request("get-vanilla-query-order-key-case"); diff --git a/aws/sdk-adhoc-test/models/single-static-endpoint.smithy b/aws/sdk-adhoc-test/models/single-static-endpoint.smithy index f0a11680f1..a110cee5c8 100644 --- a/aws/sdk-adhoc-test/models/single-static-endpoint.smithy +++ b/aws/sdk-adhoc-test/models/single-static-endpoint.smithy @@ -48,11 +48,17 @@ use smithy.rules#endpointTests } }, "params": { } + "operationInputs": [ + { "operationName": "TestOperation", "operationParams": { + "bar": { f: "blah" } + } } + ] }] }) @restJson1 @title("Test Service") @service(sdkId: "Test") +@aws.auth#sigv4(name: "test-service") service TestService { operations: [TestOperation] } @@ -60,7 +66,7 @@ service TestService { @input structure Foo { bar: Bar } -structure Bar {} +structure Bar { f: String } @http(uri: "/foo", method: "POST") operation TestOperation { diff --git a/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/CredentialCaches.kt b/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/CredentialCaches.kt index 03f22cb21f..5aaaeab950 100644 --- a/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/CredentialCaches.kt +++ b/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/CredentialCaches.kt @@ -15,10 +15,10 @@ import software.amazon.smithy.rust.codegen.core.rustlang.rust import software.amazon.smithy.rust.codegen.core.rustlang.rustTemplate import software.amazon.smithy.rust.codegen.core.rustlang.writable import software.amazon.smithy.rust.codegen.core.smithy.RuntimeConfig -import software.amazon.smithy.rust.codegen.core.smithy.customize.AdHocSection +import software.amazon.smithy.rust.codegen.core.smithy.customize.AdHocCustomization import software.amazon.smithy.rust.codegen.core.smithy.customize.OperationCustomization import software.amazon.smithy.rust.codegen.core.smithy.customize.OperationSection -import software.amazon.smithy.rust.codegen.core.smithy.customize.Section +import software.amazon.smithy.rust.codegen.core.smithy.customize.adhocCustomization class CredentialsCacheDecorator : ClientCodegenDecorator { override val name: String = "CredentialsCache" @@ -38,12 +38,10 @@ class CredentialsCacheDecorator : ClientCodegenDecorator { return baseCustomizations + CredentialsCacheFeature(codegenContext.runtimeConfig) } - override fun extraSections(codegenContext: ClientCodegenContext): List, (Section) -> Writable>> = + override fun extraSections(codegenContext: ClientCodegenContext): List = listOf( - SdkConfigSection.create { section -> - writable { - rust("${section.serviceConfigBuilder}.set_credentials_cache(${section.sdkConfig}.credentials_cache().cloned());") - } + adhocCustomization { section -> + rust("${section.serviceConfigBuilder}.set_credentials_cache(${section.sdkConfig}.credentials_cache().cloned());") }, ) } diff --git a/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/CredentialProviders.kt b/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/CredentialProviders.kt index dc6f8e9d0a..c9499c3920 100644 --- a/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/CredentialProviders.kt +++ b/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/CredentialProviders.kt @@ -17,8 +17,8 @@ import software.amazon.smithy.rust.codegen.core.rustlang.writable import software.amazon.smithy.rust.codegen.core.smithy.RuntimeConfig import software.amazon.smithy.rust.codegen.core.smithy.RuntimeType import software.amazon.smithy.rust.codegen.core.smithy.RustCrate -import software.amazon.smithy.rust.codegen.core.smithy.customize.AdHocSection -import software.amazon.smithy.rust.codegen.core.smithy.customize.Section +import software.amazon.smithy.rust.codegen.core.smithy.customize.AdHocCustomization +import software.amazon.smithy.rust.codegen.core.smithy.customize.adhocCustomization import software.amazon.smithy.rust.codegen.core.smithy.generators.LibRsCustomization import software.amazon.smithy.rust.codegen.core.smithy.generators.LibRsSection @@ -40,12 +40,10 @@ class CredentialsProviderDecorator : ClientCodegenDecorator { return baseCustomizations + PubUseCredentials(codegenContext.runtimeConfig) } - override fun extraSections(codegenContext: ClientCodegenContext): List, (Section) -> Writable>> = + override fun extraSections(codegenContext: ClientCodegenContext): List = listOf( - SdkConfigSection.create { section -> - writable { - rust("${section.serviceConfigBuilder}.set_credentials_provider(${section.sdkConfig}.credentials_provider().cloned());") - } + adhocCustomization { section -> + rust("${section.serviceConfigBuilder}.set_credentials_provider(${section.sdkConfig}.credentials_provider().cloned());") }, ) diff --git a/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/EndpointBuiltInsDecorator.kt b/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/EndpointBuiltInsDecorator.kt index 0b869e7c6f..1ac83c10ca 100644 --- a/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/EndpointBuiltInsDecorator.kt +++ b/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/EndpointBuiltInsDecorator.kt @@ -29,8 +29,7 @@ import software.amazon.smithy.rust.codegen.core.rustlang.rust import software.amazon.smithy.rust.codegen.core.rustlang.rustTemplate import software.amazon.smithy.rust.codegen.core.rustlang.writable import software.amazon.smithy.rust.codegen.core.smithy.RuntimeType -import software.amazon.smithy.rust.codegen.core.smithy.customize.AdHocSection -import software.amazon.smithy.rust.codegen.core.smithy.customize.Section +import software.amazon.smithy.rust.codegen.core.smithy.customize.AdHocCustomization import software.amazon.smithy.rust.codegen.core.util.PANIC import software.amazon.smithy.rust.codegen.core.util.dq import software.amazon.smithy.rust.codegen.core.util.extendIf @@ -71,7 +70,7 @@ fun Model.sdkConfigSetter( serviceId: ShapeId, builtInSrc: Parameter, configParameterNameOverride: String?, -): Pair, (Section) -> Writable>? { +): AdHocCustomization? { val builtIn = loadBuiltIn(serviceId, builtInSrc) ?: return null val fieldName = configParameterNameOverride ?: builtIn.name.rustName() @@ -79,7 +78,7 @@ fun Model.sdkConfigSetter( ParameterType.STRING -> writable { rust("|s|s.to_string()") } ParameterType.BOOLEAN -> null } - return SdkConfigSection.copyField(fieldName, map) + return SdkConfigCustomization.copyField(fieldName, map) } /** @@ -99,7 +98,7 @@ fun decoratorForBuiltIn( private fun rulesetContainsBuiltIn(codegenContext: ClientCodegenContext) = codegenContext.getBuiltIn(builtIn) != null - override fun extraSections(codegenContext: ClientCodegenContext): List, (Section) -> Writable>> { + override fun extraSections(codegenContext: ClientCodegenContext): List { return listOfNotNull( codegenContext.model.sdkConfigSetter(codegenContext.serviceShape.id, builtIn, clientParam?.name), ) diff --git a/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/RegionDecorator.kt b/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/RegionDecorator.kt index fef37957bb..70775e2cda 100644 --- a/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/RegionDecorator.kt +++ b/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/RegionDecorator.kt @@ -20,10 +20,10 @@ import software.amazon.smithy.rust.codegen.core.rustlang.rustTemplate import software.amazon.smithy.rust.codegen.core.rustlang.writable import software.amazon.smithy.rust.codegen.core.smithy.CodegenContext import software.amazon.smithy.rust.codegen.core.smithy.RuntimeConfig -import software.amazon.smithy.rust.codegen.core.smithy.customize.AdHocSection +import software.amazon.smithy.rust.codegen.core.smithy.customize.AdHocCustomization import software.amazon.smithy.rust.codegen.core.smithy.customize.OperationCustomization import software.amazon.smithy.rust.codegen.core.smithy.customize.OperationSection -import software.amazon.smithy.rust.codegen.core.smithy.customize.Section +import software.amazon.smithy.rust.codegen.core.smithy.customize.adhocCustomization import software.amazon.smithy.rust.codegen.core.smithy.generators.LibRsCustomization import software.amazon.smithy.rust.codegen.core.smithy.generators.LibRsSection import software.amazon.smithy.rust.codegen.core.util.dq @@ -108,17 +108,15 @@ class RegionDecorator : ClientCodegenDecorator { return baseCustomizations.extendIf(usesRegion(codegenContext)) { PubUseRegion(codegenContext.runtimeConfig) } } - override fun extraSections(codegenContext: ClientCodegenContext): List, (Section) -> Writable>> { + override fun extraSections(codegenContext: ClientCodegenContext): List { return usesRegion(codegenContext).thenSingletonListOf { - SdkConfigSection.create { section -> - { - rust( - """ - ${section.serviceConfigBuilder} = - ${section.serviceConfigBuilder}.region(${section.sdkConfig}.region().cloned()); - """, - ) - } + adhocCustomization { section -> + rust( + """ + ${section.serviceConfigBuilder} = + ${section.serviceConfigBuilder}.region(${section.sdkConfig}.region().cloned()); + """, + ) } } } diff --git a/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/SdkConfigDecorator.kt b/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/SdkConfigDecorator.kt index 2d1ff40a1f..f0e2a7e7d6 100644 --- a/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/SdkConfigDecorator.kt +++ b/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/SdkConfigDecorator.kt @@ -11,19 +11,17 @@ import software.amazon.smithy.rust.codegen.client.smithy.generators.config.Confi import software.amazon.smithy.rust.codegen.client.smithy.generators.config.ServiceConfig import software.amazon.smithy.rust.codegen.core.rustlang.RustModule import software.amazon.smithy.rust.codegen.core.rustlang.Writable -import software.amazon.smithy.rust.codegen.core.rustlang.join import software.amazon.smithy.rust.codegen.core.rustlang.rust import software.amazon.smithy.rust.codegen.core.rustlang.rustTemplate import software.amazon.smithy.rust.codegen.core.rustlang.writable import software.amazon.smithy.rust.codegen.core.smithy.RuntimeConfig import software.amazon.smithy.rust.codegen.core.smithy.RustCrate +import software.amazon.smithy.rust.codegen.core.smithy.customize.AdHocCustomization import software.amazon.smithy.rust.codegen.core.smithy.customize.AdHocSection -import software.amazon.smithy.rust.codegen.core.smithy.customize.Section +import software.amazon.smithy.rust.codegen.core.smithy.customize.adhocCustomization +import software.amazon.smithy.rust.codegen.core.smithy.customize.writeCustomizations -/** - * Section enabling linkage between `SdkConfig` and ::Config - */ -object SdkConfigSection : AdHocSection("SdkConfig") { +sealed class SdkConfigSection(name: String) : AdHocSection(name) { /** * [sdkConfig]: A reference to the SDK config struct * [serviceConfigBuilder]: A reference (owned) to the `::config::Builder` struct. @@ -34,8 +32,13 @@ object SdkConfigSection : AdHocSection::Config + */ +object SdkConfigCustomization { /** * Copy a field from SDK config to service config with an optional map block. * @@ -43,18 +46,17 @@ object SdkConfigSection : AdHocSection - { + fun copyField(fieldName: String, map: Writable?) = + adhocCustomization { section -> val mapBlock = map?.let { writable { rust(".map(#W)", it) } } ?: writable { } rustTemplate( "${section.serviceConfigBuilder}.set_$fieldName(${section.sdkConfig}.$fieldName()#{map});", "map" to mapBlock, ) } - } } /** @@ -64,22 +66,20 @@ class GenericSmithySdkConfigSettings : ClientCodegenDecorator { override val name: String = "GenericSmithySdkConfigSettings" override val order: Byte = 0 - override fun extraSections(codegenContext: ClientCodegenContext): List, (Section) -> Writable>> = + override fun extraSections(codegenContext: ClientCodegenContext): List = listOf( - SdkConfigSection.create { section -> - writable { - rust( - """ - // resiliency - ${section.serviceConfigBuilder}.set_retry_config(${section.sdkConfig}.retry_config().cloned()); - ${section.serviceConfigBuilder}.set_timeout_config(${section.sdkConfig}.timeout_config().cloned()); - ${section.serviceConfigBuilder}.set_sleep_impl(${section.sdkConfig}.sleep_impl()); - - ${section.serviceConfigBuilder}.set_http_connector(${section.sdkConfig}.http_connector().cloned()); - - """, - ) - } + adhocCustomization { section -> + rust( + """ + // resiliency + ${section.serviceConfigBuilder}.set_retry_config(${section.sdkConfig}.retry_config().cloned()); + ${section.serviceConfigBuilder}.set_timeout_config(${section.sdkConfig}.timeout_config().cloned()); + ${section.serviceConfigBuilder}.set_sleep_impl(${section.sdkConfig}.sleep_impl()); + + ${section.serviceConfigBuilder}.set_http_connector(${section.sdkConfig}.http_connector().cloned()); + + """, + ) }, ) } @@ -111,8 +111,7 @@ class SdkConfigDecorator : ClientCodegenDecorator { impl From<&#{SdkConfig}> for Builder { fn from(input: &#{SdkConfig}) -> Self { let mut builder = Builder::default(); - #{augmentBuilder} - + #{augmentBuilder:W} builder } @@ -124,15 +123,15 @@ class SdkConfigDecorator : ClientCodegenDecorator { } } """, - "augmentBuilder" to codegenContext.rootDecorator.extraSections(codegenContext) - .filter { (t, _) -> t is SdkConfigSection }.map { (_, sectionWriter) -> - sectionWriter( - SdkConfigSection.CopySdkConfigToClientConfig( - sdkConfig = "input", - serviceConfigBuilder = "builder", - ), - ) - }.join("\n"), + "augmentBuilder" to writable { + writeCustomizations( + codegenContext.rootDecorator.extraSections(codegenContext), + SdkConfigSection.CopySdkConfigToClientConfig( + sdkConfig = "input", + serviceConfigBuilder = "builder", + ), + ) + }, *codegenScope, ) } diff --git a/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/UserAgentDecorator.kt b/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/UserAgentDecorator.kt index 54dc4f5586..8a2a27f66f 100644 --- a/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/UserAgentDecorator.kt +++ b/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/UserAgentDecorator.kt @@ -16,10 +16,10 @@ import software.amazon.smithy.rust.codegen.core.rustlang.rust import software.amazon.smithy.rust.codegen.core.rustlang.rustTemplate import software.amazon.smithy.rust.codegen.core.rustlang.writable import software.amazon.smithy.rust.codegen.core.smithy.RuntimeConfig -import software.amazon.smithy.rust.codegen.core.smithy.customize.AdHocSection +import software.amazon.smithy.rust.codegen.core.smithy.customize.AdHocCustomization import software.amazon.smithy.rust.codegen.core.smithy.customize.OperationCustomization import software.amazon.smithy.rust.codegen.core.smithy.customize.OperationSection -import software.amazon.smithy.rust.codegen.core.smithy.customize.Section +import software.amazon.smithy.rust.codegen.core.smithy.customize.adhocCustomization import software.amazon.smithy.rust.codegen.core.smithy.generators.LibRsCustomization import software.amazon.smithy.rust.codegen.core.smithy.generators.LibRsSection import software.amazon.smithy.rust.codegen.core.util.dq @@ -56,10 +56,10 @@ class UserAgentDecorator : ClientCodegenDecorator { return baseCustomizations + UserAgentFeature(codegenContext.runtimeConfig) } - override fun extraSections(codegenContext: ClientCodegenContext): List, (Section) -> Writable>> { + override fun extraSections(codegenContext: ClientCodegenContext): List { return listOf( - SdkConfigSection.create { section -> - writable { rust("${section.serviceConfigBuilder}.set_app_name(${section.sdkConfig}.app_name().cloned());") } + adhocCustomization { section -> + rust("${section.serviceConfigBuilder}.set_app_name(${section.sdkConfig}.app_name().cloned());") }, ) } diff --git a/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/endpoints/AwsEndpointDecorator.kt b/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/endpoints/AwsEndpointDecorator.kt index 5973d5e3c5..ab9ce5bf1f 100644 --- a/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/endpoints/AwsEndpointDecorator.kt +++ b/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/endpoints/AwsEndpointDecorator.kt @@ -29,8 +29,8 @@ import software.amazon.smithy.rust.codegen.core.rustlang.writable import software.amazon.smithy.rust.codegen.core.smithy.CodegenContext import software.amazon.smithy.rust.codegen.core.smithy.RuntimeConfig import software.amazon.smithy.rust.codegen.core.smithy.RustCrate -import software.amazon.smithy.rust.codegen.core.smithy.customize.AdHocSection -import software.amazon.smithy.rust.codegen.core.smithy.customize.Section +import software.amazon.smithy.rust.codegen.core.smithy.customize.AdHocCustomization +import software.amazon.smithy.rust.codegen.core.smithy.customize.adhocCustomization import software.amazon.smithy.rust.codegen.core.smithy.generators.LibRsCustomization import software.amazon.smithy.rust.codegen.core.smithy.generators.LibRsSection import software.amazon.smithy.rust.codegen.core.util.extendIf @@ -133,16 +133,14 @@ class AwsEndpointDecorator : ClientCodegenDecorator { } } - override fun extraSections(codegenContext: ClientCodegenContext): List, (Section) -> Writable>> { + override fun extraSections(codegenContext: ClientCodegenContext): List { return codegenContext.isRegionalized().thenSingletonListOf { - SdkConfigSection.create { section -> - { - rust( - """ - ${section.serviceConfigBuilder}.set_aws_endpoint_resolver(${section.sdkConfig}.endpoint_resolver().clone()); - """, - ) - } + adhocCustomization { section -> + rust( + """ + ${section.serviceConfigBuilder}.set_aws_endpoint_resolver(${section.sdkConfig}.endpoint_resolver().clone()); + """, + ) } } } diff --git a/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/endpoints/OperationInputTestGenerator.kt b/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/endpoints/OperationInputTestGenerator.kt index 411d03540a..37ecbad73c 100644 --- a/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/endpoints/OperationInputTestGenerator.kt +++ b/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/endpoints/OperationInputTestGenerator.kt @@ -24,6 +24,7 @@ import software.amazon.smithy.rust.codegen.core.rustlang.rust import software.amazon.smithy.rust.codegen.core.rustlang.rustBlock import software.amazon.smithy.rust.codegen.core.rustlang.rustTemplate import software.amazon.smithy.rust.codegen.core.rustlang.writable +import software.amazon.smithy.rust.codegen.core.smithy.PublicImportSymbolProvider import software.amazon.smithy.rust.codegen.core.smithy.RustCrate import software.amazon.smithy.rust.codegen.core.smithy.generators.setterName import software.amazon.smithy.rust.codegen.core.testutil.integrationTest @@ -113,7 +114,8 @@ fun usesDeprecatedBuiltIns(testOperationInput: EndpointTestOperationInput): Bool * Doing this in AWS codegen allows us to actually integration test generated clients. */ -class OperationInputTestGenerator(private val ctx: ClientCodegenContext, private val test: EndpointTestCase) { +class OperationInputTestGenerator(_ctx: ClientCodegenContext, private val test: EndpointTestCase) { + private val ctx = _ctx.copy(symbolProvider = PublicImportSymbolProvider(_ctx.symbolProvider, _ctx.moduleUseName())) private val runtimeConfig = ctx.runtimeConfig private val moduleName = ctx.moduleUseName() private val endpointCustomizations = ctx.rootDecorator.endpointCustomizations(ctx) diff --git a/aws/sdk/aws-models/config.json b/aws/sdk/aws-models/config.json index 3381e48650..5cc02d27fb 100644 --- a/aws/sdk/aws-models/config.json +++ b/aws/sdk/aws-models/config.json @@ -156,7 +156,7 @@ } }, "traits": { - "smithy.api#documentation": "

Provides aggregate compliance of the conformance pack. Indicates whether a conformance pack is compliant based on the name of the conformance pack, account ID, and region.

\n\t\t

A conformance pack is compliant if all of the rules in a conformance packs are compliant. It is noncompliant if any of the rules are not compliant.\n\t\t\tThe compliance status of a conformance pack is INSUFFICIENT_DATA only if all rules within a conformance pack cannot be evaluated due to insufficient data.\n\t\t\tIf some of the rules in a conformance pack are compliant but the compliance status of other rules in that same conformance pack is INSUFFICIENT_DATA, the conformance pack shows compliant.

" + "smithy.api#documentation": "

Provides aggregate compliance of the conformance pack. Indicates whether a conformance pack is compliant based on the name of the conformance pack, account ID, and region.

\n\t\t

A conformance pack is compliant if all of the rules in a conformance packs are compliant. It is noncompliant if any of the rules are not compliant.\n\t\t\tThe compliance status of a conformance pack is INSUFFICIENT_DATA only if all rules within a conformance pack cannot be evaluated due to insufficient data.\n\t\t\tIf some of the rules in a conformance pack are compliant but the compliance status of other rules in that same conformance pack is INSUFFICIENT_DATA, the conformance pack shows \n\t\t\tcompliant.

" } }, "com.amazonaws.configservice#AggregateComplianceByConformancePackList": { @@ -895,6 +895,15 @@ } } }, + "com.amazonaws.configservice#ClientToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 64, + "max": 256 + } + } + }, "com.amazonaws.configservice#Compliance": { "type": "structure", "members": { @@ -1210,6 +1219,12 @@ "traits": { "smithy.api#documentation": "

Service principal name of the service that created the\n\t\t\trule.

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

The field is populated only if the service-linked rule is\n\t\t\t\tcreated by a service. The field is empty if you create your own\n\t\t\t\trule.

\n\t\t
" } + }, + "EvaluationModes": { + "target": "com.amazonaws.configservice#EvaluationModes", + "traits": { + "smithy.api#documentation": "

The modes the Config rule can be evaluated in. The valid values are distinct objects. By default, the value is Detective evaluation mode only.

" + } } }, "traits": { @@ -3330,7 +3345,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a list of the conformance packs and their associated compliance status with the count of compliant and noncompliant Config rules within each conformance pack.\n\t\t\tAlso returns the total rule count which includes compliant rules, noncompliant rules, and rules that cannot be evaluated due to insufficient data.

\n\t\t \n

The results can return an empty result page, but if you have a nextToken, the results are displayed on the next page.

\n
", + "smithy.api#documentation": "

Returns a list of the conformance packs and their associated compliance status with the count of compliant and noncompliant Config rules within each \n\t\t\tconformance pack. Also returns the total rule count which includes compliant rules, noncompliant rules, and rules that cannot be evaluated due to insufficient data.

\n\t\t \n

The results can return an empty result page, but if you have a nextToken, the results are displayed on the next page.

\n
", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -3698,6 +3713,9 @@ { "target": "com.amazonaws.configservice#InvalidNextTokenException" }, + { + "target": "com.amazonaws.configservice#InvalidParameterValueException" + }, { "target": "com.amazonaws.configservice#NoSuchConfigRuleException" } @@ -3711,6 +3729,20 @@ } } }, + "com.amazonaws.configservice#DescribeConfigRulesFilters": { + "type": "structure", + "members": { + "EvaluationMode": { + "target": "com.amazonaws.configservice#EvaluationMode", + "traits": { + "smithy.api#documentation": "

The mode of an evaluation. The valid values are Detective or Proactive.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Returns a filtered list of Detective or Proactive Config rules. By default, if the filter is not defined, this API returns an unfiltered list.

" + } + }, "com.amazonaws.configservice#DescribeConfigRulesRequest": { "type": "structure", "members": { @@ -3725,6 +3757,12 @@ "traits": { "smithy.api#documentation": "

The nextToken string returned on a previous page\n\t\t\tthat you use to get the next page of results in a paginated\n\t\t\tresponse.

" } + }, + "Filters": { + "target": "com.amazonaws.configservice#DescribeConfigRulesFilters", + "traits": { + "smithy.api#documentation": "

Returns a list of Detecive or Proactive Config rules. By default, this API returns an unfiltered list.

" + } } }, "traits": { @@ -5003,6 +5041,66 @@ "smithy.api#documentation": "

Identifies an Amazon Web Services resource and indicates whether it complies\n\t\t\twith the Config rule that it was evaluated against.

" } }, + "com.amazonaws.configservice#EvaluationContext": { + "type": "structure", + "members": { + "EvaluationContextIdentifier": { + "target": "com.amazonaws.configservice#EvaluationContextIdentifier", + "traits": { + "smithy.api#documentation": "

A unique EvaluationContextIdentifier ID for an EvaluationContext.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Use EvaluationContext to group independently initiated proactive resource evaluations. For example, CFN Stack. \n\t\t\tIf you want to check just a resource definition, you do not need to provide evaluation context.

" + } + }, + "com.amazonaws.configservice#EvaluationContextIdentifier": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + } + } + }, + "com.amazonaws.configservice#EvaluationMode": { + "type": "enum", + "members": { + "DETECTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DETECTIVE" + } + }, + "PROACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PROACTIVE" + } + } + } + }, + "com.amazonaws.configservice#EvaluationModeConfiguration": { + "type": "structure", + "members": { + "Mode": { + "target": "com.amazonaws.configservice#EvaluationMode", + "traits": { + "smithy.api#documentation": "

The mode of an evaluation. The valid values are Detective or Proactive.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The configuration object for Config rule evaluation mode. The Supported valid values are Detective or Proactive.

" + } + }, + "com.amazonaws.configservice#EvaluationModes": { + "type": "list", + "member": { + "target": "com.amazonaws.configservice#EvaluationModeConfiguration" + } + }, "com.amazonaws.configservice#EvaluationResult": { "type": "structure", "members": { @@ -5061,6 +5159,12 @@ "traits": { "smithy.api#documentation": "

The time of the event that triggered the evaluation of your Amazon Web Services\n\t\t\tresources. The time can indicate when Config delivered a\n\t\t\tconfiguration item change notification, or it can indicate when Config delivered the configuration snapshot, depending on which\n\t\t\tevent triggered the evaluation.

" } + }, + "ResourceEvaluationId": { + "target": "com.amazonaws.configservice#ResourceEvaluationId", + "traits": { + "smithy.api#documentation": "

A Unique ID for an evaluation result.

" + } } }, "traits": { @@ -5087,6 +5191,12 @@ "traits": { "smithy.api#documentation": "

The ID of the evaluated Amazon Web Services resource.

" } + }, + "EvaluationMode": { + "target": "com.amazonaws.configservice#EvaluationMode", + "traits": { + "smithy.api#documentation": "

The mode of an evaluation. The valid values are Detective or Proactive.

" + } } }, "traits": { @@ -5099,6 +5209,37 @@ "target": "com.amazonaws.configservice#EvaluationResult" } }, + "com.amazonaws.configservice#EvaluationStatus": { + "type": "structure", + "members": { + "Status": { + "target": "com.amazonaws.configservice#ResourceEvaluationStatus", + "traits": { + "smithy.api#documentation": "

The status of an execution. The valid values are In_Progress, Succeeded or Failed.

", + "smithy.api#required": {} + } + }, + "FailureReason": { + "target": "com.amazonaws.configservice#StringWithCharLimit1024", + "traits": { + "smithy.api#documentation": "

An explanation for failed execution status.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Returns status details of an evaluation.

" + } + }, + "com.amazonaws.configservice#EvaluationTimeout": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0, + "max": 3600 + } + } + }, "com.amazonaws.configservice#Evaluations": { "type": "list", "member": { @@ -5835,7 +5976,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns the evaluation results for the specified Amazon Web Services resource.\n\t\t\tThe results indicate which Config rules were used to evaluate\n\t\t\tthe resource, when each rule was last used, and whether the resource\n\t\t\tcomplies with each rule.

", + "smithy.api#documentation": "

Returns the evaluation results for the specified Amazon Web Services resource.\n\t\t\tThe results indicate which Config rules were used to evaluate\n\t\t\tthe resource, when each rule was last invoked, and whether the resource\n\t\t\tcomplies with each rule.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -5849,15 +5990,13 @@ "ResourceType": { "target": "com.amazonaws.configservice#StringWithCharLimit256", "traits": { - "smithy.api#documentation": "

The type of the Amazon Web Services resource for which you want compliance\n\t\t\tinformation.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The type of the Amazon Web Services resource for which you want compliance\n\t\t\tinformation.

" } }, "ResourceId": { "target": "com.amazonaws.configservice#BaseResourceId", "traits": { - "smithy.api#documentation": "

The ID of the Amazon Web Services resource for which you want compliance\n\t\t\tinformation.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The ID of the Amazon Web Services resource for which you want compliance\n\t\t\tinformation.

" } }, "ComplianceTypes": { @@ -5871,6 +6010,12 @@ "traits": { "smithy.api#documentation": "

The nextToken string returned on a previous page\n\t\t\tthat you use to get the next page of results in a paginated\n\t\t\tresponse.

" } + }, + "ResourceEvaluationId": { + "target": "com.amazonaws.configservice#ResourceEvaluationId", + "traits": { + "smithy.api#documentation": "

The unique ID of Amazon Web Services resource execution for which you want to retrieve evaluation results.

\n\t\t \n

You need to only provide either a ResourceEvaluationID or a ResourceID and ResourceType.

\n
" + } } }, "traits": { @@ -6567,6 +6712,82 @@ "smithy.api#documentation": "

The output for the GetResourceConfigHistory\n\t\t\taction.

" } }, + "com.amazonaws.configservice#GetResourceEvaluationSummary": { + "type": "operation", + "input": { + "target": "com.amazonaws.configservice#GetResourceEvaluationSummaryRequest" + }, + "output": { + "target": "com.amazonaws.configservice#GetResourceEvaluationSummaryResponse" + }, + "errors": [ + { + "target": "com.amazonaws.configservice#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns a summary of resource evaluation for the specified resource evaluation ID from the proactive rules that were run. \n\t\t\tThe results indicate which evaluation context was used to evaluate the rules, which resource details were evaluated,\n\t\t\tthe evaluation mode that was run, and whether the resource details comply with the configuration of the proactive rules.

" + } + }, + "com.amazonaws.configservice#GetResourceEvaluationSummaryRequest": { + "type": "structure", + "members": { + "ResourceEvaluationId": { + "target": "com.amazonaws.configservice#ResourceEvaluationId", + "traits": { + "smithy.api#documentation": "

The unique ResourceEvaluationId of Amazon Web Services resource execution for which you want to retrieve the evaluation summary.

", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.configservice#GetResourceEvaluationSummaryResponse": { + "type": "structure", + "members": { + "ResourceEvaluationId": { + "target": "com.amazonaws.configservice#ResourceEvaluationId", + "traits": { + "smithy.api#documentation": "

The unique ResourceEvaluationId of Amazon Web Services resource execution for which you want to retrieve the evaluation summary.

" + } + }, + "EvaluationMode": { + "target": "com.amazonaws.configservice#EvaluationMode", + "traits": { + "smithy.api#documentation": "

Lists results of the mode that you requested to retrieve the resource evaluation summary. The valid values are Detective or Proactive.

" + } + }, + "EvaluationStatus": { + "target": "com.amazonaws.configservice#EvaluationStatus", + "traits": { + "smithy.api#documentation": "

Returns an EvaluationStatus object.

" + } + }, + "EvaluationStartTimestamp": { + "target": "com.amazonaws.configservice#Date", + "traits": { + "smithy.api#documentation": "

The start timestamp when Config rule starts evaluating compliance for the provided resource details.

" + } + }, + "Compliance": { + "target": "com.amazonaws.configservice#ComplianceType", + "traits": { + "smithy.api#documentation": "

The compliance status of the resource evaluation summary.

" + } + }, + "EvaluationContext": { + "target": "com.amazonaws.configservice#EvaluationContext", + "traits": { + "smithy.api#documentation": "

Returns an EvaluationContext object.

" + } + }, + "ResourceDetails": { + "target": "com.amazonaws.configservice#ResourceDetails", + "traits": { + "smithy.api#documentation": "

Returns a ResourceDetails object.

" + } + } + } + }, "com.amazonaws.configservice#GetStoredQuery": { "type": "operation", "input": { @@ -6649,6 +6870,19 @@ "target": "com.amazonaws.configservice#GroupedResourceCount" } }, + "com.amazonaws.configservice#IdempotentParameterMismatch": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.configservice#String" + } + }, + "traits": { + "smithy.api#documentation": "

Using the same client token with one or more different parameters. Specify a new client token with the parameter changes and try again.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, "com.amazonaws.configservice#IncludeGlobalResourceTypes": { "type": "boolean", "traits": { @@ -7200,6 +7434,86 @@ "smithy.api#documentation": "

" } }, + "com.amazonaws.configservice#ListResourceEvaluations": { + "type": "operation", + "input": { + "target": "com.amazonaws.configservice#ListResourceEvaluationsRequest" + }, + "output": { + "target": "com.amazonaws.configservice#ListResourceEvaluationsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.configservice#InvalidNextTokenException" + }, + { + "target": "com.amazonaws.configservice#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.configservice#InvalidTimeRangeException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns a list of proactive resource evaluations.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "ResourceEvaluations", + "pageSize": "Limit" + } + } + }, + "com.amazonaws.configservice#ListResourceEvaluationsPageItemLimit": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0, + "max": 100 + } + } + }, + "com.amazonaws.configservice#ListResourceEvaluationsRequest": { + "type": "structure", + "members": { + "Filters": { + "target": "com.amazonaws.configservice#ResourceEvaluationFilters", + "traits": { + "smithy.api#documentation": "

Returns a ResourceEvaluationFilters object.

" + } + }, + "Limit": { + "target": "com.amazonaws.configservice#ListResourceEvaluationsPageItemLimit", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of evaluations returned on each page. The default is 10. \n\t\t\tYou cannot specify a number greater than 100. If you specify 0, Config uses the default.

" + } + }, + "NextToken": { + "target": "com.amazonaws.configservice#String", + "traits": { + "smithy.api#documentation": "

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" + } + } + } + }, + "com.amazonaws.configservice#ListResourceEvaluationsResponse": { + "type": "structure", + "members": { + "ResourceEvaluations": { + "target": "com.amazonaws.configservice#ResourceEvaluations", + "traits": { + "smithy.api#documentation": "

Returns a ResourceEvaluations object.

" + } + }, + "NextToken": { + "target": "com.amazonaws.configservice#String", + "traits": { + "smithy.api#documentation": "

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" + } + } + } + }, "com.amazonaws.configservice#ListStoredQueries": { "type": "operation", "input": { @@ -9603,7 +9917,7 @@ } ], "traits": { - "smithy.api#documentation": "

A remediation exception is when a specific resource is no longer considered for auto-remediation. \n\t\t\tThis API adds a new exception or updates an existing exception for a specific resource with a specific Config rule.

\n\t\t \n

Config generates a remediation exception when a problem occurs executing a remediation action to a specific resource. \n\t\t\tRemediation exceptions blocks auto-remediation until the exception is cleared.

\n
" + "smithy.api#documentation": "

A remediation exception is when a specific resource is no longer considered for auto-remediation. \n\t\t\tThis API adds a new exception or updates an existing exception for a specific resource with a specific Config rule.

\n\t\t \n

Config generates a remediation exception when a problem occurs executing a remediation action to a specific resource. \n\t\t\tRemediation exceptions blocks auto-remediation until the exception is cleared.

\n
\n\t\t \n

To place an exception on an Amazon Web Services resource, ensure remediation is set as manual remediation.

\n
" } }, "com.amazonaws.configservice#PutRemediationExceptionsRequest": { @@ -9936,7 +10250,7 @@ } }, "traits": { - "smithy.api#documentation": "

Specifies the types of Amazon Web Services resource for which Config\n\t\t\trecords configuration changes.

\n\t\t

In the recording group, you specify whether all supported types\n\t\t\tor specific types of resources are recorded.

\n\t\t

By default, Config records configuration changes for all\n\t\t\tsupported types of regional resources that Config discovers in\n\t\t\tthe region in which it is running. Regional resources are tied to a\n\t\t\tregion and can be used only in that region. Examples of regional\n\t\t\tresources are EC2 instances and EBS volumes.

\n\t\t

You can also have Config record configuration changes for\n\t\t\tsupported types of global resources (for example, IAM resources).\n\t\t\tGlobal resources are not tied to an individual region and can be\n\t\t\tused in all regions.

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

The configuration details for any global resource are the\n\t\t\t\tsame in all regions. If you customize Config in multiple\n\t\t\t\tregions to record global resources, it will create multiple\n\t\t\t\tconfiguration items each time a global resource changes: one\n\t\t\t\tconfiguration item for each region. These configuration items\n\t\t\t\twill contain identical data. To prevent duplicate configuration\n\t\t\t\titems, you should consider customizing Config in only one\n\t\t\t\tregion to record global resources, unless you want the\n\t\t\t\tconfiguration items to be available in multiple\n\t\t\t\tregions.

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

If you don't want Config to record all resources, you can\n\t\t\tspecify which types of resources it will record with the\n\t\t\t\tresourceTypes parameter.

\n\t\t

For a list of supported resource types, see Supported Resource Types.

\n\t\t

For more information, see Selecting Which Resources Config Records.

" + "smithy.api#documentation": "

Specifies which Amazon Web Services resource types Config\n\t\t\trecords for configuration changes. In the recording group, you specify whether you want to record all supported resource types\n\t\t\tor only specific types of resources.

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

By default, Config records the configuration changes for all supported types of\n\t\t\t\tregional resources that Config discovers in the region in which it is\n\t\t\t\trunning. Regional resources are tied to a region and can be used only in that region. Examples\n\t\t\t\tof regional resources are EC2 instances and EBS volumes.

\n\t\t\t

You can also have Config record supported types of global resources.\n\t\t\t\tGlobal resources are not tied to a specific region and can be used in all regions. The global\n\t\t\t\tresource types that Config supports include IAM users, groups, roles, and customer managed\n\t\t\t\tpolicies.

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

Global resource types onboarded to Config recording after February 2022 will only be\n\t\t\t\trecorded in the service's home region for the commercial partition and\n\t\t\t\tAmazon Web Services GovCloud (US) West for the GovCloud partition. You can view the Configuration Items for\n\t\t\t\tthese new global resource types only in their home region and Amazon Web Services GovCloud (US) West.

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

Supported global resource types onboarded before February 2022 such as\n\t\t\t\tAWS::IAM::Group, AWS::IAM::Policy, AWS::IAM::Role,\n\t\t\t\tAWS::IAM::User remain unchanged, and they will continue to deliver\n\t\t\t\tConfiguration Items in all supported regions in Config. The change will only affect new global\n\t\t\t\tresource types onboarded after February 2022.

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

To record global resource types onboarded after February 2022,\n\t\t\t\tenable All Supported Resource Types in the home region of the global resource type you want to record.

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

If you don't want Config to record all resources, you can\n\t\t\tspecify which types of resources it will record with the\n\t\t\t\tresourceTypes parameter.

\n\t\t

For a list of supported resource types, see Supported Resource Types.

\n\t\t

For more information and a table of the Home Regions for Global Resource Types Onboarded after February 2022, see Selecting Which Resources Config Records.

" } }, "com.amazonaws.configservice#ReevaluateConfigRuleNames": { @@ -10392,6 +10706,26 @@ "smithy.api#error": "client" } }, + "com.amazonaws.configservice#ResourceConfiguration": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 51200 + } + } + }, + "com.amazonaws.configservice#ResourceConfigurationSchemaType": { + "type": "enum", + "members": { + "CFN_RESOURCE_SCHEMA": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CFN_RESOURCE_SCHEMA" + } + } + } + }, "com.amazonaws.configservice#ResourceCount": { "type": "structure", "members": { @@ -10474,25 +10808,150 @@ "com.amazonaws.configservice#ResourceDeletionTime": { "type": "timestamp" }, - "com.amazonaws.configservice#ResourceFilters": { + "com.amazonaws.configservice#ResourceDetails": { "type": "structure", "members": { - "AccountId": { - "target": "com.amazonaws.configservice#AccountId", + "ResourceId": { + "target": "com.amazonaws.configservice#BaseResourceId", "traits": { - "smithy.api#documentation": "

The 12-digit source account ID.

" + "smithy.api#documentation": "

A unique resource ID for an evaluation.

", + "smithy.api#required": {} } }, - "ResourceId": { - "target": "com.amazonaws.configservice#ResourceId", + "ResourceType": { + "target": "com.amazonaws.configservice#StringWithCharLimit256", "traits": { - "smithy.api#documentation": "

The ID of the resource.

" + "smithy.api#documentation": "

The type of resource being evaluated.

", + "smithy.api#required": {} } }, - "ResourceName": { - "target": "com.amazonaws.configservice#ResourceName", + "ResourceConfiguration": { + "target": "com.amazonaws.configservice#ResourceConfiguration", "traits": { - "smithy.api#documentation": "

The name of the resource.

" + "smithy.api#documentation": "

The resource definition to be evaluated as per the resource configuration schema type.

", + "smithy.api#required": {} + } + }, + "ResourceConfigurationSchemaType": { + "target": "com.amazonaws.configservice#ResourceConfigurationSchemaType", + "traits": { + "smithy.api#documentation": "

The schema type of the resource configuration.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Returns information about the resource being evaluated.

" + } + }, + "com.amazonaws.configservice#ResourceEvaluation": { + "type": "structure", + "members": { + "ResourceEvaluationId": { + "target": "com.amazonaws.configservice#ResourceEvaluationId", + "traits": { + "smithy.api#documentation": "

The ResourceEvaluationId of a evaluation.

" + } + }, + "EvaluationMode": { + "target": "com.amazonaws.configservice#EvaluationMode", + "traits": { + "smithy.api#documentation": "

The mode of an evaluation. The valid values are Detective or Proactive.

" + } + }, + "EvaluationStartTimestamp": { + "target": "com.amazonaws.configservice#Date", + "traits": { + "smithy.api#documentation": "

The starting time of an execution.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Returns details of a resource evaluation.

" + } + }, + "com.amazonaws.configservice#ResourceEvaluationFilters": { + "type": "structure", + "members": { + "EvaluationMode": { + "target": "com.amazonaws.configservice#EvaluationMode", + "traits": { + "smithy.api#documentation": "

Filters all resource evaluations results based on an evaluation mode. the valid value for this API is Proactive.

" + } + }, + "TimeWindow": { + "target": "com.amazonaws.configservice#TimeWindow", + "traits": { + "smithy.api#documentation": "

Returns a TimeWindow object.

" + } + }, + "EvaluationContextIdentifier": { + "target": "com.amazonaws.configservice#EvaluationContextIdentifier", + "traits": { + "smithy.api#documentation": "

Filters evaluations for a given infrastructure deployment. For example: CFN Stack.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Returns details of a resource evaluation based on the selected filter.

" + } + }, + "com.amazonaws.configservice#ResourceEvaluationId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + } + } + }, + "com.amazonaws.configservice#ResourceEvaluationStatus": { + "type": "enum", + "members": { + "IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IN_PROGRESS" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + }, + "SUCCEEDED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SUCCEEDED" + } + } + } + }, + "com.amazonaws.configservice#ResourceEvaluations": { + "type": "list", + "member": { + "target": "com.amazonaws.configservice#ResourceEvaluation" + } + }, + "com.amazonaws.configservice#ResourceFilters": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.configservice#AccountId", + "traits": { + "smithy.api#documentation": "

The 12-digit source account ID.

" + } + }, + "ResourceId": { + "target": "com.amazonaws.configservice#ResourceId", + "traits": { + "smithy.api#documentation": "

The ID of the resource.

" + } + }, + "ResourceName": { + "target": "com.amazonaws.configservice#ResourceName", + "traits": { + "smithy.api#documentation": "

The name of the resource.

" } }, "Region": { @@ -12318,6 +12777,9 @@ { "target": "com.amazonaws.configservice#GetResourceConfigHistory" }, + { + "target": "com.amazonaws.configservice#GetResourceEvaluationSummary" + }, { "target": "com.amazonaws.configservice#GetStoredQuery" }, @@ -12330,6 +12792,9 @@ { "target": "com.amazonaws.configservice#ListDiscoveredResources" }, + { + "target": "com.amazonaws.configservice#ListResourceEvaluations" + }, { "target": "com.amazonaws.configservice#ListStoredQueries" }, @@ -12396,6 +12861,9 @@ { "target": "com.amazonaws.configservice#StartRemediationExecution" }, + { + "target": "com.amazonaws.configservice#StartResourceEvaluation" + }, { "target": "com.amazonaws.configservice#StopConfigurationRecorder" }, @@ -12477,15 +12945,6 @@ "ref": "Endpoint" } ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" } ], "type": "tree", @@ -12599,12 +13058,18 @@ "rules": [ { "conditions": [], - "endpoint": { - "url": "https://config-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://config-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] }, @@ -12672,7 +13137,7 @@ } ], "endpoint": { - "url": "https://config.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://config.{Region}.amazonaws.com", "properties": {}, "headers": {} }, @@ -12734,12 +13199,18 @@ "rules": [ { "conditions": [], - "endpoint": { - "url": "https://config.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://config.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] }, @@ -12752,12 +13223,18 @@ }, { "conditions": [], - "endpoint": { - "url": "https://config.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://config.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] } @@ -12766,1707 +13243,575 @@ "smithy.rules#endpointTests": { "testCases": [ { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack enabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config-fips.ap-south-2.api.aws" + "url": "https://config.sa-east-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "ap-south-2", - "UseDualStack": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "sa-east-1" } }, { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config-fips.ap-south-2.amazonaws.com" + "url": "https://config.ap-east-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "ap-south-2", - "UseDualStack": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-east-1" } }, { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config.ap-south-2.api.aws" + "url": "https://config.eu-south-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "ap-south-2", - "UseDualStack": true + "UseDualStack": false, + "Region": "eu-south-1" } }, { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config.ap-south-2.amazonaws.com" + "url": "https://config.eu-central-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "ap-south-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "eu-central-1" } }, { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config-fips.ap-south-1.api.aws" + "url": "https://config.ap-southeast-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "ap-south-1", - "UseDualStack": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-southeast-1" } }, { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config-fips.ap-south-1.amazonaws.com" + "url": "https://config.ap-southeast-2.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "ap-south-1", - "UseDualStack": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-southeast-2" } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config.ap-south-1.api.aws" + "url": "https://config.ap-southeast-3.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "ap-south-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "ap-southeast-3" } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config.ap-south-1.amazonaws.com" + "url": "https://config.ca-central-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "ap-south-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "ca-central-1" } }, { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config-fips.eu-south-1.api.aws" + "url": "https://config.us-west-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "eu-south-1", - "UseDualStack": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-west-1" } }, { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config-fips.eu-south-1.amazonaws.com" + "url": "https://config-fips.us-west-1.amazonaws.com" } }, "params": { "UseFIPS": true, - "Region": "eu-south-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-west-1" } }, { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config.eu-south-1.api.aws" + "url": "https://config.us-west-2.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "eu-south-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-west-2" } }, { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config.eu-south-1.amazonaws.com" + "url": "https://config-fips.us-west-2.amazonaws.com" } }, "params": { - "UseFIPS": false, - "Region": "eu-south-1", - "UseDualStack": false + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-west-2" } }, { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack enabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config-fips.eu-south-2.api.aws" + "url": "https://config.af-south-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "eu-south-2", - "UseDualStack": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "af-south-1" } }, { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config-fips.eu-south-2.amazonaws.com" + "url": "https://config.ap-south-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "eu-south-2", - "UseDualStack": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-south-1" } }, { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config.eu-south-2.api.aws" + "url": "https://config.ap-northeast-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "eu-south-2", - "UseDualStack": true + "UseDualStack": false, + "Region": "ap-northeast-1" } }, { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config.eu-south-2.amazonaws.com" + "url": "https://config.ap-northeast-2.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "eu-south-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "ap-northeast-2" } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config-fips.us-gov-east-1.api.aws" + "url": "https://config.ap-northeast-3.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "us-gov-east-1", - "UseDualStack": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-northeast-3" } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config.us-gov-east-1.amazonaws.com" + "url": "https://config.us-east-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "us-gov-east-1", - "UseDualStack": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-east-1" } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config.us-gov-east-1.api.aws" + "url": "https://config-fips.us-east-1.amazonaws.com" } }, "params": { - "UseFIPS": false, - "Region": "us-gov-east-1", - "UseDualStack": true + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-east-1" } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config.us-gov-east-1.amazonaws.com" + "url": "https://config.eu-west-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "us-gov-east-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "eu-west-1" } }, { - "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config-fips.me-central-1.api.aws" + "url": "https://config.eu-west-2.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "me-central-1", - "UseDualStack": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-west-2" } }, { - "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config-fips.me-central-1.amazonaws.com" + "url": "https://config.eu-west-3.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "me-central-1", - "UseDualStack": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-west-3" } }, { - "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config.me-central-1.api.aws" + "url": "https://config.me-south-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "me-central-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "me-south-1" } }, { - "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config.me-central-1.amazonaws.com" + "url": "https://config.eu-north-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "me-central-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "eu-north-1" } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ca-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ca-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config.ca-central-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ca-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "ca-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config.eu-central-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "UseFIPS": true, - "Region": "us-iso-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config-fips.us-iso-west-1.c2s.ic.gov" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-iso-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "UseFIPS": false, - "Region": "us-iso-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config.us-iso-west-1.c2s.ic.gov" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-iso-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config-fips.eu-central-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-central-2", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config-fips.eu-central-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-central-2", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config.eu-central-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-central-2", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config.eu-central-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-central-2", - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config-fips.us-west-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config.us-west-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config.us-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config-fips.us-west-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-west-2", - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config.us-west-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-west-2", - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config.us-west-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config-fips.af-south-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "af-south-1", - "UseDualStack": true - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "af-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config.af-south-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "af-south-1", - "UseDualStack": true - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config.af-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "af-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-north-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-north-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config.eu-north-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-north-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-north-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-3", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-3", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config.eu-west-3.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-3", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-3", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-2", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config.eu-west-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-2", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config.eu-west-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-3", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-3", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config.ap-northeast-3.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-northeast-3", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-northeast-3", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-2", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-2", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config.ap-northeast-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-northeast-2", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-northeast-2", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config.ap-northeast-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-northeast-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-northeast-1", - "UseDualStack": false - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config-fips.me-south-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "me-south-1", - "UseDualStack": true - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config-fips.me-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "me-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config.me-south-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "me-south-1", - "UseDualStack": true - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config.me-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "me-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config-fips.sa-east-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "sa-east-1", - "UseDualStack": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "sa-east-1", - "UseDualStack": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config.sa-east-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "sa-east-1", - "UseDualStack": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "sa-east-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config-fips.ap-east-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-east-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config-fips.ap-east-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-east-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config.ap-east-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-east-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config.ap-east-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-east-1", - "UseDualStack": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config-fips.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseFIPS": true, - "Region": "cn-north-1", - "UseDualStack": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "UseFIPS": true, - "Region": "cn-north-1", - "UseDualStack": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseFIPS": false, - "Region": "cn-north-1", - "UseDualStack": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "UseFIPS": false, - "Region": "cn-north-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config-fips.us-gov-west-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-gov-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-gov-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config.us-gov-west-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-gov-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-gov-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config-fips.ap-southeast-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-southeast-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config-fips.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-southeast-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config.ap-southeast-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-southeast-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config.ap-southeast-1.amazonaws.com" + "url": "https://config.us-east-2.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "ap-southeast-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-east-2" } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config-fips.ap-southeast-2.api.aws" + "url": "https://config-fips.us-east-2.amazonaws.com" } }, "params": { "UseFIPS": true, - "Region": "ap-southeast-2", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-east-2" } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://config-fips.ap-southeast-2.amazonaws.com" + "url": "https://config-fips.us-east-1.api.aws" } }, "params": { "UseFIPS": true, - "Region": "ap-southeast-2", - "UseDualStack": false + "UseDualStack": true, + "Region": "us-east-1" } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://config.ap-southeast-2.api.aws" + "url": "https://config.us-east-1.api.aws" } }, "params": { "UseFIPS": false, - "Region": "ap-southeast-2", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-east-1" } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config.ap-southeast-2.amazonaws.com" + "url": "https://config.us-gov-west-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "ap-southeast-2", - "UseDualStack": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "UseFIPS": true, - "Region": "us-iso-east-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-gov-west-1" } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://config.us-gov-west-1.amazonaws.com" } }, "params": { "UseFIPS": true, - "Region": "us-iso-east-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "UseFIPS": false, - "Region": "us-iso-east-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-gov-west-1" } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config.us-iso-east-1.c2s.ic.gov" + "url": "https://config.us-gov-east-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "us-iso-east-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-gov-east-1" } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config-fips.ap-southeast-3.api.aws" + "url": "https://config.us-gov-east-1.amazonaws.com" } }, "params": { "UseFIPS": true, - "Region": "ap-southeast-3", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-gov-east-1" } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://config-fips.ap-southeast-3.amazonaws.com" + "url": "https://config-fips.us-gov-east-1.api.aws" } }, "params": { "UseFIPS": true, - "Region": "ap-southeast-3", - "UseDualStack": false + "UseDualStack": true, + "Region": "us-gov-east-1" } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://config.ap-southeast-3.api.aws" + "url": "https://config.us-gov-east-1.api.aws" } }, "params": { "UseFIPS": false, - "Region": "ap-southeast-3", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-gov-east-1" } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config.ap-southeast-3.amazonaws.com" + "url": "https://config.us-isob-east-1.sc2s.sgov.gov" } }, "params": { "UseFIPS": false, - "Region": "ap-southeast-3", - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config-fips.us-east-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-east-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-isob-east-1" } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config-fips.us-east-1.amazonaws.com" + "url": "https://config-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { "UseFIPS": true, - "Region": "us-east-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-isob-east-1" } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config.us-east-1.api.aws" + "url": "https://config.cn-northwest-1.amazonaws.com.cn" } }, "params": { "UseFIPS": false, - "Region": "us-east-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "cn-northwest-1" } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config.us-east-1.amazonaws.com" + "url": "https://config.cn-north-1.amazonaws.com.cn" } }, "params": { "UseFIPS": false, - "Region": "us-east-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "cn-north-1" } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://config-fips.us-east-2.api.aws" + "url": "https://config-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { "UseFIPS": true, - "Region": "us-east-2", - "UseDualStack": true + "UseDualStack": true, + "Region": "cn-north-1" } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config-fips.us-east-2.amazonaws.com" + "url": "https://config-fips.cn-north-1.amazonaws.com.cn" } }, "params": { "UseFIPS": true, - "Region": "us-east-2", - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config.us-east-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-east-2", - "UseDualStack": true + "UseDualStack": false, + "Region": "cn-north-1" } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://config.us-east-2.amazonaws.com" + "url": "https://config.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { "UseFIPS": false, - "Region": "us-east-2", - "UseDualStack": false - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://config-fips.cn-northwest-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseFIPS": true, - "Region": "cn-northwest-1", - "UseDualStack": true - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config-fips.cn-northwest-1.amazonaws.com.cn" - } - }, - "params": { - "UseFIPS": true, - "Region": "cn-northwest-1", - "UseDualStack": false + "UseDualStack": true, + "Region": "cn-north-1" } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config.cn-northwest-1.api.amazonwebservices.com.cn" + "url": "https://config.us-iso-west-1.c2s.ic.gov" } }, "params": { "UseFIPS": false, - "Region": "cn-northwest-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-iso-west-1" } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config.cn-northwest-1.amazonaws.com.cn" + "url": "https://config.us-iso-east-1.c2s.ic.gov" } }, "params": { "UseFIPS": false, - "Region": "cn-northwest-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "UseFIPS": true, - "Region": "us-isob-east-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-iso-east-1" } }, { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://config-fips.us-isob-east-1.sc2s.sgov.gov" + "url": "https://config-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { "UseFIPS": true, - "Region": "us-isob-east-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "UseFIPS": false, - "Region": "us-isob-east-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://config.us-isob-east-1.sc2s.sgov.gov" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-isob-east-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-iso-east-1" } }, { @@ -14478,8 +13823,8 @@ }, "params": { "UseFIPS": false, - "Region": "us-east-1", "UseDualStack": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -14490,8 +13835,8 @@ }, "params": { "UseFIPS": true, - "Region": "us-east-1", "UseDualStack": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -14502,8 +13847,8 @@ }, "params": { "UseFIPS": false, - "Region": "us-east-1", "UseDualStack": true, + "Region": "us-east-1", "Endpoint": "https://example.com" } } @@ -14653,6 +13998,75 @@ } } }, + "com.amazonaws.configservice#StartResourceEvaluation": { + "type": "operation", + "input": { + "target": "com.amazonaws.configservice#StartResourceEvaluationRequest" + }, + "output": { + "target": "com.amazonaws.configservice#StartResourceEvaluationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.configservice#IdempotentParameterMismatch" + }, + { + "target": "com.amazonaws.configservice#InvalidParameterValueException" + } + ], + "traits": { + "smithy.api#documentation": "

Runs an on-demand evaluation for the specified resource to determine whether the resource details will comply with configured Config rules.\n\t\t\tYou can also use it for evaluation purposes. Config recommends using an evaluation context. It runs an execution against the resource details with all\n\t\t\tof the Config rules in your account that match with the specified proactive mode and resource type.

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

Ensure you have the cloudformation:DescribeType role setup to validate the resource type schema.\n\t\t

\n
" + } + }, + "com.amazonaws.configservice#StartResourceEvaluationRequest": { + "type": "structure", + "members": { + "ResourceDetails": { + "target": "com.amazonaws.configservice#ResourceDetails", + "traits": { + "smithy.api#documentation": "

Returns a ResourceDetails object.

", + "smithy.api#required": {} + } + }, + "EvaluationContext": { + "target": "com.amazonaws.configservice#EvaluationContext", + "traits": { + "smithy.api#documentation": "

Returns an EvaluationContext object.

" + } + }, + "EvaluationMode": { + "target": "com.amazonaws.configservice#EvaluationMode", + "traits": { + "smithy.api#documentation": "

The mode of an evaluation. The valid value for this API is Proactive.

", + "smithy.api#required": {} + } + }, + "EvaluationTimeout": { + "target": "com.amazonaws.configservice#EvaluationTimeout", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The timeout for an evaluation. The default is 900 seconds. You cannot specify a number greater than 3600. If you specify 0, Config uses the default.

" + } + }, + "ClientToken": { + "target": "com.amazonaws.configservice#ClientToken", + "traits": { + "smithy.api#documentation": "

A client token is a unique, case-sensitive string of up to 64 ASCII characters. \n\t\t\tTo make an idempotent API request using one of these actions, specify a client token in the request.

\n\t\t \n

Avoid reusing the same client token for other API requests. If you retry\n\t\t\t\ta request that completed successfully using the same client token and the same\n\t\t\t\tparameters, the retry succeeds without performing any further actions. If you retry\n\t\t\t\ta successful request using the same client token, but one or more of the parameters\n\t\t\t\tare different, other than the Region or Availability Zone, the retry fails with an\n\t\t\t\tIdempotentParameterMismatch error.

\n
" + } + } + } + }, + "com.amazonaws.configservice#StartResourceEvaluationResponse": { + "type": "structure", + "members": { + "ResourceEvaluationId": { + "target": "com.amazonaws.configservice#ResourceEvaluationId", + "traits": { + "smithy.api#documentation": "

A\n\t\t\tunique ResourceEvaluationId that is associated with a single execution.

" + } + } + } + }, "com.amazonaws.configservice#StaticParameterValues": { "type": "list", "member": { @@ -15058,6 +14472,26 @@ "smithy.api#documentation": "

This API allows you to create a conformance pack template with an Amazon Web Services Systems Manager document (SSM document). \n\t\t\tTo deploy a conformance pack using an SSM document, first create an SSM document with conformance pack content, and then provide the DocumentName in the PutConformancePack API. You can also provide the DocumentVersion.

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

The TemplateSSMDocumentDetails object contains the name of the SSM document and the version of the SSM document.

" } }, + "com.amazonaws.configservice#TimeWindow": { + "type": "structure", + "members": { + "StartTime": { + "target": "com.amazonaws.configservice#Date", + "traits": { + "smithy.api#documentation": "

The start time of an execution.

" + } + }, + "EndTime": { + "target": "com.amazonaws.configservice#Date", + "traits": { + "smithy.api#documentation": "

The end time of an execution. The end time must be after the start date.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Filters evaluation results based on start and end times.

" + } + }, "com.amazonaws.configservice#TooManyTagsException": { "type": "structure", "members": { diff --git a/aws/sdk/aws-models/dynamodb.json b/aws/sdk/aws-models/dynamodb.json index 28b88ab8f6..49728c9f9e 100644 --- a/aws/sdk/aws-models/dynamodb.json +++ b/aws/sdk/aws-models/dynamodb.json @@ -59,22 +59,26 @@ } }, "com.amazonaws.dynamodb#AttributeAction": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "ADD", - "name": "ADD" - }, - { - "value": "PUT", - "name": "PUT" - }, - { - "value": "DELETE", - "name": "DELETE" + "type": "enum", + "members": { + "ADD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ADD" } - ] + }, + "PUT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PUT" + } + }, + "DELETE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETE" + } + } } }, "com.amazonaws.dynamodb#AttributeDefinition": { @@ -229,7 +233,7 @@ "Action": { "target": "com.amazonaws.dynamodb#AttributeAction", "traits": { - "smithy.api#documentation": "

Specifies how to perform the update. Valid values are PUT (default),\n DELETE, and ADD. The behavior depends on whether the\n specified primary key already exists in the table.

\n\n

\n If an item with the specified Key is found in\n the table:\n

\n\n
    \n
  • \n

    \n PUT - Adds the specified attribute to the item. If the attribute\n already exists, it is replaced by the new value.

    \n
  • \n
  • \n

    \n DELETE - If no value is specified, the attribute and its value are\n removed from the item. The data type of the specified value must match the\n existing value's data type.

    \n

    If a set of values is specified, then those values are\n subtracted from the old set. For example, if the attribute value was the set\n [a,b,c] and the DELETE action specified\n [a,c], then the final attribute value would be\n [b]. Specifying an empty set is an error.

    \n
  • \n
  • \n

    \n ADD - If the attribute does not already exist, then the attribute\n and its values are added to the item. If the attribute does exist, then the\n behavior of ADD depends on the data type of the attribute:

    \n
      \n
    • \n

      If the existing attribute is a number, and if Value is\n also a number, then the Value is mathematically added to\n the existing attribute. If Value is a negative number, then\n it is subtracted from the existing attribute.

      \n \n

      If you use ADD to increment or decrement a number\n value for an item that doesn't exist before the update, DynamoDB\n uses 0 as the initial value.

      \n

      In addition, if you use ADD to update an existing\n item, and intend to increment or decrement an attribute value which\n does not yet exist, DynamoDB uses 0 as the initial\n value. For example, suppose that the item you want to update does\n not yet have an attribute named itemcount, but\n you decide to ADD the number 3 to this\n attribute anyway, even though it currently does not exist. DynamoDB\n will create the itemcount attribute, set its\n initial value to 0, and finally add 3 to\n it. The result will be a new itemcount\n attribute in the item, with a value of 3.

      \n
      \n
    • \n
    • \n

      If the existing data type is a set, and if the Value is\n also a set, then the Value is added to the existing set.\n (This is a set operation, not mathematical\n addition.) For example, if the attribute value was the set\n [1,2], and the ADD action specified\n [3], then the final attribute value would be\n [1,2,3]. An error occurs if an Add action is specified\n for a set attribute and the attribute type specified does not match the\n existing set type.

      \n

      Both sets must have the same primitive data type. For example, if the\n existing data type is a set of strings, the Value must also\n be a set of strings. The same holds true for number sets and binary\n sets.

      \n
    • \n
    \n

    This action is only valid for an existing attribute whose data type is number\n or is a set. Do not use ADD for any other data types.

    \n
  • \n
\n\n

\n If no item with the specified Key is\n found:\n

\n\n
    \n
  • \n

    \n PUT - DynamoDB creates a new item with the specified primary key,\n and then adds the attribute.

    \n
  • \n
  • \n

    \n DELETE - Nothing happens; there is no attribute to delete.

    \n
  • \n
  • \n

    \n ADD - DynamoDB creates a new item with the supplied primary key and\n number (or set) for the attribute value. The only data types allowed\n are number, number set, string set or binary set.

    \n
  • \n
" + "smithy.api#documentation": "

Specifies how to perform the update. Valid values are PUT (default),\n DELETE, and ADD. The behavior depends on whether the\n specified primary key already exists in the table.

\n\n

\n If an item with the specified Key is found in\n the table:\n

\n\n
    \n
  • \n

    \n PUT - Adds the specified attribute to the item. If the attribute\n already exists, it is replaced by the new value.

    \n
  • \n
  • \n

    \n DELETE - If no value is specified, the attribute and its value are\n removed from the item. The data type of the specified value must match the\n existing value's data type.

    \n

    If a set of values is specified, then those values are\n subtracted from the old set. For example, if the attribute value was the set\n [a,b,c] and the DELETE action specified\n [a,c], then the final attribute value would be\n [b]. Specifying an empty set is an error.

    \n
  • \n
  • \n

    \n ADD - If the attribute does not already exist, then the attribute\n and its values are added to the item. If the attribute does exist, then the\n behavior of ADD depends on the data type of the attribute:

    \n
      \n
    • \n

      If the existing attribute is a number, and if Value is\n also a number, then the Value is mathematically added to\n the existing attribute. If Value is a negative number, then\n it is subtracted from the existing attribute.

      \n \n

      If you use ADD to increment or decrement a number\n value for an item that doesn't exist before the update, DynamoDB\n uses 0 as the initial value.

      \n

      In addition, if you use ADD to update an existing\n item, and intend to increment or decrement an attribute value which\n does not yet exist, DynamoDB uses 0 as the initial\n value. For example, suppose that the item you want to update does\n not yet have an attribute named itemcount, but\n you decide to ADD the number 3 to this\n attribute anyway, even though it currently does not exist. DynamoDB\n will create the itemcount attribute, set its\n initial value to 0, and finally add 3 to\n it. The result will be a new itemcount\n attribute in the item, with a value of 3.

      \n
      \n
    • \n
    • \n

      If the existing data type is a set, and if the Value is\n also a set, then the Value is added to the existing set.\n (This is a set operation, not mathematical\n addition.) For example, if the attribute value was the set\n [1,2], and the ADD action specified\n [3], then the final attribute value would be\n [1,2,3]. An error occurs if an Add action is specified\n for a set attribute and the attribute type specified does not match the\n existing set type.

      \n

      Both sets must have the same primitive data type. For example, if the\n existing data type is a set of strings, the Value must also\n be a set of strings. The same holds true for number sets and binary\n sets.

      \n
    • \n
    \n

    This action is only valid for an existing attribute whose data type is number\n or is a set. Do not use ADD for any other data types.

    \n
  • \n
\n\n

\n If no item with the specified Key is\n found:\n

\n\n
    \n
  • \n

    \n PUT - DynamoDB creates a new item with the specified primary key,\n and then adds the attribute.

    \n
  • \n
  • \n

    \n DELETE - Nothing happens; there is no attribute to delete.

    \n
  • \n
  • \n

    \n ADD - DynamoDB creates a new item with the supplied primary key and\n number (or set) for the attribute value. The only data types allowed are number,\n number set, string set or binary set.

    \n
  • \n
" } } }, @@ -507,7 +511,7 @@ "BackupSizeBytes": { "target": "com.amazonaws.dynamodb#BackupSizeBytes", "traits": { - "smithy.api#documentation": "

Size of the backup in bytes. DynamoDB updates this value approximately every six hours. \n Recent changes might not be reflected in this value.

" + "smithy.api#documentation": "

Size of the backup in bytes. DynamoDB updates this value approximately every six\n hours. Recent changes might not be reflected in this value.

" } }, "BackupStatus": { @@ -585,22 +589,26 @@ } }, "com.amazonaws.dynamodb#BackupStatus": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "CREATING", - "name": "CREATING" - }, - { - "value": "DELETED", - "name": "DELETED" - }, - { - "value": "AVAILABLE", - "name": "AVAILABLE" + "type": "enum", + "members": { + "CREATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATING" } - ] + }, + "DELETED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETED" + } + }, + "AVAILABLE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AVAILABLE" + } + } } }, "com.amazonaws.dynamodb#BackupSummaries": { @@ -678,45 +686,55 @@ } }, "com.amazonaws.dynamodb#BackupType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "USER", - "name": "USER" - }, - { - "value": "SYSTEM", - "name": "SYSTEM" - }, - { - "value": "AWS_BACKUP", - "name": "AWS_BACKUP" + "type": "enum", + "members": { + "USER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "USER" } - ] + }, + "SYSTEM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SYSTEM" + } + }, + "AWS_BACKUP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS_BACKUP" + } + } } }, "com.amazonaws.dynamodb#BackupTypeFilter": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "USER", - "name": "USER" - }, - { - "value": "SYSTEM", - "name": "SYSTEM" - }, - { - "value": "AWS_BACKUP", - "name": "AWS_BACKUP" - }, - { - "value": "ALL", - "name": "ALL" + "type": "enum", + "members": { + "USER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "USER" } - ] + }, + "SYSTEM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SYSTEM" + } + }, + "AWS_BACKUP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS_BACKUP" + } + }, + "ALL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ALL" + } + } } }, "com.amazonaws.dynamodb#BackupsInputLimit": { @@ -745,7 +763,7 @@ } ], "traits": { - "smithy.api#documentation": "

This operation allows you to perform batch reads or writes on data stored in DynamoDB,\n using PartiQL. Each read statement in a BatchExecuteStatement must specify an equality\n condition on all key attributes. This enforces that each SELECT statement in a\n batch returns at most a single item.

\n \n

The entire batch must consist of either read statements or write statements, you\n cannot mix both in one batch.

\n
\n \n

A HTTP 200 response does not mean that all statements in the BatchExecuteStatement\n succeeded. Error details for individual statements can be found under the Error field of the BatchStatementResponse for each\n statement.

\n
" + "smithy.api#documentation": "

This operation allows you to perform batch reads or writes on data stored in DynamoDB,\n using PartiQL. Each read statement in a BatchExecuteStatement must specify\n an equality condition on all key attributes. This enforces that each SELECT\n statement in a batch returns at most a single item.

\n \n

The entire batch must consist of either read statements or write statements, you\n cannot mix both in one batch.

\n
\n \n

A HTTP 200 response does not mean that all statements in the BatchExecuteStatement\n succeeded. Error details for individual statements can be found under the Error field of the BatchStatementResponse for each\n statement.

\n
" } }, "com.amazonaws.dynamodb#BatchExecuteStatementInput": { @@ -901,54 +919,74 @@ } }, "com.amazonaws.dynamodb#BatchStatementErrorCodeEnum": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "ConditionalCheckFailed", - "name": "ConditionalCheckFailed" - }, - { - "value": "ItemCollectionSizeLimitExceeded", - "name": "ItemCollectionSizeLimitExceeded" - }, - { - "value": "RequestLimitExceeded", - "name": "RequestLimitExceeded" - }, - { - "value": "ValidationError", - "name": "ValidationError" - }, - { - "value": "ProvisionedThroughputExceeded", - "name": "ProvisionedThroughputExceeded" - }, - { - "value": "TransactionConflict", - "name": "TransactionConflict" - }, - { - "value": "ThrottlingError", - "name": "ThrottlingError" - }, - { - "value": "InternalServerError", - "name": "InternalServerError" - }, - { - "value": "ResourceNotFound", - "name": "ResourceNotFound" - }, - { - "value": "AccessDenied", - "name": "AccessDenied" - }, - { - "value": "DuplicateItem", - "name": "DuplicateItem" + "type": "enum", + "members": { + "ConditionalCheckFailed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ConditionalCheckFailed" } - ] + }, + "ItemCollectionSizeLimitExceeded": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ItemCollectionSizeLimitExceeded" + } + }, + "RequestLimitExceeded": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RequestLimitExceeded" + } + }, + "ValidationError": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ValidationError" + } + }, + "ProvisionedThroughputExceeded": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ProvisionedThroughputExceeded" + } + }, + "TransactionConflict": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TransactionConflict" + } + }, + "ThrottlingError": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ThrottlingError" + } + }, + "InternalServerError": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InternalServerError" + } + }, + "ResourceNotFound": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ResourceNotFound" + } + }, + "AccessDenied": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AccessDenied" + } + }, + "DuplicateItem": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DuplicateItem" + } + } } }, "com.amazonaws.dynamodb#BatchStatementRequest": { @@ -1036,7 +1074,7 @@ "aws.api#clientDiscoveredEndpoint": { "required": false }, - "smithy.api#documentation": "

The BatchWriteItem operation puts or deletes multiple items in one or\n more tables. A single call to BatchWriteItem can transmit up to 16MB of\n data over the network, consisting of up to 25 item put or delete operations. While\n individual items can be up to 400 KB once stored, it's important to note that an item's\n representation might be greater than 400KB while being sent in DynamoDB's JSON format\n for the API call. For more details on this distinction, see Naming Rules and Data Types.

\n \n

\n BatchWriteItem cannot update items. To update items, use the\n UpdateItem action.

\n
\n

The individual PutItem and DeleteItem operations specified\n in BatchWriteItem are atomic; however BatchWriteItem as a\n whole is not. If any requested operations fail because the table's provisioned\n throughput is exceeded or an internal processing failure occurs, the failed operations\n are returned in the UnprocessedItems response parameter. You can\n investigate and optionally resend the requests. Typically, you would call\n BatchWriteItem in a loop. Each iteration would check for unprocessed\n items and submit a new BatchWriteItem request with those unprocessed items\n until all items have been processed.

\n

If none of the items can be processed due to insufficient\n provisioned throughput on all of the tables in the request, then\n BatchWriteItem returns a\n ProvisionedThroughputExceededException.

\n \n

If DynamoDB returns any unprocessed items, you should retry the batch operation on\n those items. However, we strongly recommend that you use an exponential\n backoff algorithm. If you retry the batch operation immediately, the\n underlying read or write requests can still fail due to throttling on the individual\n tables. If you delay the batch operation using exponential backoff, the individual\n requests in the batch are much more likely to succeed.

\n

For more information, see Batch Operations and Error Handling in the Amazon DynamoDB\n Developer Guide.

\n
\n\n

With BatchWriteItem, you can efficiently write or delete large amounts of\n data, such as from Amazon EMR, or copy data from another database into DynamoDB. In\n order to improve performance with these large-scale operations,\n BatchWriteItem does not behave in the same way as individual\n PutItem and DeleteItem calls would. For example, you\n cannot specify conditions on individual put and delete requests, and\n BatchWriteItem does not return deleted items in the response.

\n

If you use a programming language that supports concurrency, you can use threads to\n write items in parallel. Your application must include the necessary logic to manage the\n threads. With languages that don't support threading, you must update or delete the\n specified items one at a time. In both situations, BatchWriteItem performs\n the specified put and delete operations in parallel, giving you the power of the thread\n pool approach without having to introduce complexity into your application.

\n

Parallel processing reduces latency, but each specified put and delete request\n consumes the same number of write capacity units whether it is processed in parallel or\n not. Delete operations on nonexistent items consume one write capacity unit.

\n

If one or more of the following is true, DynamoDB rejects the entire batch write\n operation:

\n
    \n
  • \n

    One or more tables specified in the BatchWriteItem request does\n not exist.

    \n
  • \n
  • \n

    Primary key attributes specified on an item in the request do not match those\n in the corresponding table's primary key schema.

    \n
  • \n
  • \n

    You try to perform multiple operations on the same item in the same\n BatchWriteItem request. For example, you cannot put and delete\n the same item in the same BatchWriteItem request.

    \n
  • \n
  • \n

    Your request contains at least two items with identical hash and range keys\n (which essentially is two put operations).

    \n
  • \n
  • \n

    There are more than 25 requests in the batch.

    \n
  • \n
  • \n

    Any individual item in a batch exceeds 400 KB.

    \n
  • \n
  • \n

    The total request size exceeds 16 MB.

    \n
  • \n
" + "smithy.api#documentation": "

The BatchWriteItem operation puts or deletes multiple items in one or\n more tables. A single call to BatchWriteItem can transmit up to 16MB of\n data over the network, consisting of up to 25 item put or delete operations. While\n individual items can be up to 400 KB once stored, it's important to note that an item's\n representation might be greater than 400KB while being sent in DynamoDB's JSON format\n for the API call. For more details on this distinction, see Naming Rules and Data Types.

\n \n

\n BatchWriteItem cannot update items. If you perform a BatchWriteItem\n operation on an existing item, that item's values will be overwritten by the\n operation and it will appear like it was updated. To update items, we recommend you\n use the UpdateItem action.

\n
\n

The individual PutItem and DeleteItem operations specified\n in BatchWriteItem are atomic; however BatchWriteItem as a\n whole is not. If any requested operations fail because the table's provisioned\n throughput is exceeded or an internal processing failure occurs, the failed operations\n are returned in the UnprocessedItems response parameter. You can\n investigate and optionally resend the requests. Typically, you would call\n BatchWriteItem in a loop. Each iteration would check for unprocessed\n items and submit a new BatchWriteItem request with those unprocessed items\n until all items have been processed.

\n

If none of the items can be processed due to insufficient\n provisioned throughput on all of the tables in the request, then\n BatchWriteItem returns a\n ProvisionedThroughputExceededException.

\n \n

If DynamoDB returns any unprocessed items, you should retry the batch operation on\n those items. However, we strongly recommend that you use an exponential\n backoff algorithm. If you retry the batch operation immediately, the\n underlying read or write requests can still fail due to throttling on the individual\n tables. If you delay the batch operation using exponential backoff, the individual\n requests in the batch are much more likely to succeed.

\n

For more information, see Batch Operations and Error Handling in the Amazon DynamoDB\n Developer Guide.

\n
\n\n

With BatchWriteItem, you can efficiently write or delete large amounts of\n data, such as from Amazon EMR, or copy data from another database into DynamoDB. In\n order to improve performance with these large-scale operations,\n BatchWriteItem does not behave in the same way as individual\n PutItem and DeleteItem calls would. For example, you\n cannot specify conditions on individual put and delete requests, and\n BatchWriteItem does not return deleted items in the response.

\n

If you use a programming language that supports concurrency, you can use threads to\n write items in parallel. Your application must include the necessary logic to manage the\n threads. With languages that don't support threading, you must update or delete the\n specified items one at a time. In both situations, BatchWriteItem performs\n the specified put and delete operations in parallel, giving you the power of the thread\n pool approach without having to introduce complexity into your application.

\n

Parallel processing reduces latency, but each specified put and delete request\n consumes the same number of write capacity units whether it is processed in parallel or\n not. Delete operations on nonexistent items consume one write capacity unit.

\n

If one or more of the following is true, DynamoDB rejects the entire batch write\n operation:

\n
    \n
  • \n

    One or more tables specified in the BatchWriteItem request does\n not exist.

    \n
  • \n
  • \n

    Primary key attributes specified on an item in the request do not match those\n in the corresponding table's primary key schema.

    \n
  • \n
  • \n

    You try to perform multiple operations on the same item in the same\n BatchWriteItem request. For example, you cannot put and delete\n the same item in the same BatchWriteItem request.

    \n
  • \n
  • \n

    Your request contains at least two items with identical hash and range keys\n (which essentially is two put operations).

    \n
  • \n
  • \n

    There are more than 25 requests in the batch.

    \n
  • \n
  • \n

    Any individual item in a batch exceeds 400 KB.

    \n
  • \n
  • \n

    The total request size exceeds 16 MB.

    \n
  • \n
" } }, "com.amazonaws.dynamodb#BatchWriteItemInput": { @@ -1069,7 +1107,7 @@ "UnprocessedItems": { "target": "com.amazonaws.dynamodb#BatchWriteItemRequestMap", "traits": { - "smithy.api#documentation": "

A map of tables and requests against those tables that were not processed. The\n UnprocessedItems value is in the same form as\n RequestItems, so you can provide this value directly to a subsequent\n BatchGetItem operation. For more information, see\n RequestItems in the Request Parameters section.

\n

Each UnprocessedItems entry consists of a table name and, for that table,\n a list of operations to perform (DeleteRequest or\n PutRequest).

\n
    \n
  • \n

    \n DeleteRequest - Perform a DeleteItem operation on the\n specified item. The item to be deleted is identified by a Key\n subelement:

    \n
      \n
    • \n

      \n Key - A map of primary key attribute values that uniquely\n identify the item. Each entry in this map consists of an attribute name\n and an attribute value.

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

    \n PutRequest - Perform a PutItem operation on the\n specified item. The item to be put is identified by an Item\n subelement:

    \n
      \n
    • \n

      \n Item - A map of attributes and their values. Each entry in\n this map consists of an attribute name and an attribute value. Attribute\n values must not be null; string and binary type attributes must have\n lengths greater than zero; and set type attributes must not be empty.\n Requests that contain empty values will be rejected with a\n ValidationException exception.

      \n

      If you specify any attributes that are part of an index key, then the\n data types for those attributes must match those of the schema in the\n table's attribute definition.

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

If there are no unprocessed items remaining, the response contains an empty\n UnprocessedItems map.

" + "smithy.api#documentation": "

A map of tables and requests against those tables that were not processed. The\n UnprocessedItems value is in the same form as\n RequestItems, so you can provide this value directly to a subsequent\n BatchWriteItem operation. For more information, see\n RequestItems in the Request Parameters section.

\n

Each UnprocessedItems entry consists of a table name and, for that table,\n a list of operations to perform (DeleteRequest or\n PutRequest).

\n
    \n
  • \n

    \n DeleteRequest - Perform a DeleteItem operation on the\n specified item. The item to be deleted is identified by a Key\n subelement:

    \n
      \n
    • \n

      \n Key - A map of primary key attribute values that uniquely\n identify the item. Each entry in this map consists of an attribute name\n and an attribute value.

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

    \n PutRequest - Perform a PutItem operation on the\n specified item. The item to be put is identified by an Item\n subelement:

    \n
      \n
    • \n

      \n Item - A map of attributes and their values. Each entry in\n this map consists of an attribute name and an attribute value. Attribute\n values must not be null; string and binary type attributes must have\n lengths greater than zero; and set type attributes must not be empty.\n Requests that contain empty values will be rejected with a\n ValidationException exception.

      \n

      If you specify any attributes that are part of an index key, then the\n data types for those attributes must match those of the schema in the\n table's attribute definition.

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

If there are no unprocessed items remaining, the response contains an empty\n UnprocessedItems map.

" } }, "ItemCollectionMetrics": { @@ -1113,18 +1151,20 @@ } }, "com.amazonaws.dynamodb#BillingMode": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "PROVISIONED", - "name": "PROVISIONED" - }, - { - "value": "PAY_PER_REQUEST", - "name": "PAY_PER_REQUEST" + "type": "enum", + "members": { + "PROVISIONED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PROVISIONED" } - ] + }, + "PAY_PER_REQUEST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PAY_PER_REQUEST" + } + } } }, "com.amazonaws.dynamodb#BillingModeSummary": { @@ -1144,7 +1184,7 @@ } }, "traits": { - "smithy.api#documentation": "

Contains the details for the read/write capacity mode.

" + "smithy.api#documentation": "

Contains the details for the read/write capacity mode. This page talks about\n PROVISIONED and PAY_PER_REQUEST billing modes. For more\n information about these modes, see Read/write capacity mode.

\n \n

You may need to switch to on-demand mode at least once in order to return a\n BillingModeSummary response.

\n
" } }, "com.amazonaws.dynamodb#BinaryAttributeValue": { @@ -1254,62 +1294,86 @@ "type": "string" }, "com.amazonaws.dynamodb#ComparisonOperator": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "EQ", - "name": "EQ" - }, - { - "value": "NE", - "name": "NE" - }, - { - "value": "IN", - "name": "IN" - }, - { - "value": "LE", - "name": "LE" - }, - { - "value": "LT", - "name": "LT" - }, - { - "value": "GE", - "name": "GE" - }, - { - "value": "GT", - "name": "GT" - }, - { - "value": "BETWEEN", - "name": "BETWEEN" - }, - { - "value": "NOT_NULL", - "name": "NOT_NULL" - }, - { - "value": "NULL", - "name": "NULL" - }, - { - "value": "CONTAINS", - "name": "CONTAINS" - }, - { - "value": "NOT_CONTAINS", - "name": "NOT_CONTAINS" - }, - { - "value": "BEGINS_WITH", - "name": "BEGINS_WITH" + "type": "enum", + "members": { + "EQ": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EQ" } - ] + }, + "NE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NE" + } + }, + "IN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IN" + } + }, + "LE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LE" + } + }, + "LT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LT" + } + }, + "GE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GE" + } + }, + "GT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GT" + } + }, + "BETWEEN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BETWEEN" + } + }, + "NOT_NULL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NOT_NULL" + } + }, + "NULL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NULL" + } + }, + "CONTAINS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONTAINS" + } + }, + "NOT_CONTAINS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NOT_CONTAINS" + } + }, + "BEGINS_WITH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BEGINS_WITH" + } + } } }, "com.amazonaws.dynamodb#Condition": { @@ -1399,18 +1463,20 @@ } }, "com.amazonaws.dynamodb#ConditionalOperator": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "AND", - "name": "AND" - }, - { - "value": "OR", - "name": "OR" + "type": "enum", + "members": { + "AND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AND" } - ] + }, + "OR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "OR" + } + } } }, "com.amazonaws.dynamodb#ConsistentRead": { @@ -1497,18 +1563,20 @@ } }, "com.amazonaws.dynamodb#ContinuousBackupsStatus": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "ENABLED", - "name": "ENABLED" - }, - { - "value": "DISABLED", - "name": "DISABLED" + "type": "enum", + "members": { + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLED" } - ] + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } + } } }, "com.amazonaws.dynamodb#ContinuousBackupsUnavailableException": { @@ -1524,18 +1592,20 @@ } }, "com.amazonaws.dynamodb#ContributorInsightsAction": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "ENABLE", - "name": "ENABLE" - }, - { - "value": "DISABLE", - "name": "DISABLE" + "type": "enum", + "members": { + "ENABLE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLE" } - ] + }, + "DISABLE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLE" + } + } } }, "com.amazonaws.dynamodb#ContributorInsightsRule": { @@ -1551,30 +1621,38 @@ } }, "com.amazonaws.dynamodb#ContributorInsightsStatus": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "ENABLING", - "name": "ENABLING" - }, - { - "value": "ENABLED", - "name": "ENABLED" - }, - { - "value": "DISABLING", - "name": "DISABLING" - }, - { - "value": "DISABLED", - "name": "DISABLED" - }, - { - "value": "FAILED", - "name": "FAILED" + "type": "enum", + "members": { + "ENABLING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLING" } - ] + }, + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLED" + } + }, + "DISABLING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLING" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + } } }, "com.amazonaws.dynamodb#ContributorInsightsSummaries": { @@ -1820,7 +1898,7 @@ "TableClassOverride": { "target": "com.amazonaws.dynamodb#TableClass", "traits": { - "smithy.api#documentation": "

Replica-specific table class. If not specified, uses the source table's\n table class.

" + "smithy.api#documentation": "

Replica-specific table class. If not specified, uses the source table's table\n class.

" } } }, @@ -1986,18 +2064,18 @@ "Delimiter": { "target": "com.amazonaws.dynamodb#CsvDelimiter", "traits": { - "smithy.api#documentation": "

\n The delimiter used for separating items in the CSV file being imported.\n

" + "smithy.api#documentation": "

The delimiter used for separating items in the CSV file being imported.

" } }, "HeaderList": { "target": "com.amazonaws.dynamodb#CsvHeaderList", "traits": { - "smithy.api#documentation": "

List of the headers used to specify a common header for all source CSV files being\n imported. If this field is specified then the first line of each CSV file is treated as\n data instead of the header. If this field is not specified the the first line of each\n CSV file is treated as the header. \n

" + "smithy.api#documentation": "

List of the headers used to specify a common header for all source CSV files being\n imported. If this field is specified then the first line of each CSV file is treated as\n data instead of the header. If this field is not specified the the first line of each\n CSV file is treated as the header.

" } } }, "traits": { - "smithy.api#documentation": "

\n Processing options for the CSV file being imported.\n

" + "smithy.api#documentation": "

Processing options for the CSV file being imported.

" } }, "com.amazonaws.dynamodb#Date": { @@ -2192,7 +2270,7 @@ "ReturnValues": { "target": "com.amazonaws.dynamodb#ReturnValue", "traits": { - "smithy.api#documentation": "

Use ReturnValues if you want to get the item attributes as they appeared\n before they were deleted. For DeleteItem, the valid values are:

\n
    \n
  • \n

    \n NONE - If ReturnValues is not specified, or if its\n value is NONE, then nothing is returned. (This setting is the\n default for ReturnValues.)

    \n
  • \n
  • \n

    \n ALL_OLD - The content of the old item is returned.

    \n
  • \n
\n

There is no additional cost associated with requesting a return value aside from the small \n network and processing overhead of receiving a larger response. No read capacity units are \n consumed.

\n \n

The ReturnValues parameter is used by several DynamoDB operations;\n however, DeleteItem does not recognize any values other than\n NONE or ALL_OLD.

\n
" + "smithy.api#documentation": "

Use ReturnValues if you want to get the item attributes as they appeared\n before they were deleted. For DeleteItem, the valid values are:

\n
    \n
  • \n

    \n NONE - If ReturnValues is not specified, or if its\n value is NONE, then nothing is returned. (This setting is the\n default for ReturnValues.)

    \n
  • \n
  • \n

    \n ALL_OLD - The content of the old item is returned.

    \n
  • \n
\n

There is no additional cost associated with requesting a return value aside from the\n small network and processing overhead of receiving a larger response. No read capacity\n units are consumed.

\n \n

The ReturnValues parameter is used by several DynamoDB operations;\n however, DeleteItem does not recognize any values other than\n NONE or ALL_OLD.

\n
" } }, "ReturnConsumedCapacity": { @@ -2728,7 +2806,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Represents the properties of the import.\n

" + "smithy.api#documentation": "

Represents the properties of the import.

" } }, "com.amazonaws.dynamodb#DescribeImportInput": { @@ -2737,7 +2815,7 @@ "ImportArn": { "target": "com.amazonaws.dynamodb#ImportArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) associated with the table you're importing to.\n

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) associated with the table you're importing to.

", "smithy.api#required": {} } } @@ -2749,7 +2827,7 @@ "ImportTableDescription": { "target": "com.amazonaws.dynamodb#ImportTableDescription", "traits": { - "smithy.api#documentation": "

\n Represents the properties of the table created for the import, and parameters of \n the import. The import parameters include import status, how many items were processed, \n and how many errors were encountered.\n

", + "smithy.api#documentation": "

Represents the properties of the table created for the import, and parameters of the\n import. The import parameters include import status, how many items were processed, and\n how many errors were encountered.

", "smithy.api#required": {} } } @@ -3054,30 +3132,38 @@ } }, "com.amazonaws.dynamodb#DestinationStatus": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "ENABLING", - "name": "ENABLING" - }, - { - "value": "ACTIVE", - "name": "ACTIVE" - }, - { - "value": "DISABLING", - "name": "DISABLING" - }, - { - "value": "DISABLED", - "name": "DISABLED" - }, - { - "value": "ENABLE_FAILED", - "name": "ENABLE_FAILED" + "type": "enum", + "members": { + "ENABLING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLING" } - ] + }, + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "DISABLING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLING" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } + }, + "ENABLE_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLE_FAILED" + } + } } }, "com.amazonaws.dynamodb#DisableKinesisStreamingDestination": { @@ -3317,7 +3403,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": false, + "required": true, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -3366,15 +3452,6 @@ "ref": "Endpoint" } ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" } ], "type": "tree", @@ -3488,12 +3565,18 @@ "rules": [ { "conditions": [], - "endpoint": { - "url": "https://dynamodb-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://dynamodb-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] }, @@ -3561,7 +3644,7 @@ } ], "endpoint": { - "url": "https://dynamodb.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://dynamodb.{Region}.amazonaws.com", "properties": {}, "headers": {} }, @@ -3623,12 +3706,18 @@ "rules": [ { "conditions": [], - "endpoint": { - "url": "https://dynamodb.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://dynamodb.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] }, @@ -3656,13 +3745,13 @@ } ], "endpoint": { - "url": "https://localhost:8000", + "url": "http://localhost:8000", "properties": { "authSchemes": [ { "name": "sigv4", - "signingName": "dynamodb", - "signingRegion": "us-east-1" + "signingRegion": "us-east-1", + "signingName": "dynamodb" } ] }, @@ -3688,94 +3777,55 @@ "smithy.rules#endpointTests": { "testCases": [ { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.ap-south-2.api.aws" - } - }, - "params": { - "Region": "ap-south-2", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack disabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb-fips.ap-south-2.amazonaws.com" + "url": "https://dynamodb.me-south-1.amazonaws.com" } }, "params": { - "Region": "ap-south-2", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.ap-south-2.api.aws" - } - }, - "params": { - "Region": "ap-south-2", - "UseDualStack": true, - "UseFIPS": false + "Region": "me-south-1" } }, { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb.ap-south-2.amazonaws.com" + "url": "https://dynamodb.ca-central-1.amazonaws.com" } }, "params": { - "Region": "ap-south-2", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.ap-south-1.api.aws" - } - }, - "params": { - "Region": "ap-south-1", - "UseDualStack": true, - "UseFIPS": true + "Region": "ca-central-1" } }, { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb-fips.ap-south-1.amazonaws.com" + "url": "https://dynamodb-fips.ca-central-1.amazonaws.com" } }, "params": { - "Region": "ap-south-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": true + "Region": "ca-central-1" } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb.ap-south-1.api.aws" + "url": "https://dynamodb.ap-southeast-1.amazonaws.com" } }, "params": { - "Region": "ap-south-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-southeast-1" } }, { @@ -3786,48 +3836,9 @@ } }, "params": { - "Region": "ap-south-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.eu-south-1.api.aws" - } - }, - "params": { - "Region": "eu-south-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-south-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.eu-south-1.api.aws" - } - }, - "params": { - "Region": "eu-south-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "ap-south-1" } }, { @@ -3838,1609 +3849,538 @@ } }, "params": { - "Region": "eu-south-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.eu-south-2.api.aws" - } - }, - "params": { - "Region": "eu-south-2", - "UseDualStack": true, - "UseFIPS": true + "Region": "eu-south-1" } }, { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb-fips.eu-south-2.amazonaws.com" + "url": "https://dynamodb.ap-southeast-2.amazonaws.com" } }, "params": { - "Region": "eu-south-2", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "ap-southeast-2" } }, { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.eu-south-2.api.aws" - } - }, - "params": { - "Region": "eu-south-2", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb.eu-south-2.amazonaws.com" + "url": "https://dynamodb.ap-northeast-1.amazonaws.com" } }, "params": { - "Region": "eu-south-2", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": true + "Region": "ap-northeast-1" } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb.us-gov-east-1.amazonaws.com" + "url": "https://dynamodb.ap-northeast-2.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.us-gov-east-1.api.aws" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "ap-northeast-2" } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb.us-gov-east-1.amazonaws.com" + "url": "https://dynamodb.ap-northeast-3.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.me-central-1.api.aws" - } - }, - "params": { - "Region": "me-central-1", - "UseDualStack": true, - "UseFIPS": true + "Region": "ap-northeast-3" } }, { - "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb-fips.me-central-1.amazonaws.com" + "url": "https://dynamodb.sa-east-1.amazonaws.com" } }, "params": { - "Region": "me-central-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.me-central-1.api.aws" - } - }, - "params": { - "Region": "me-central-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "sa-east-1" } }, { - "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb.me-central-1.amazonaws.com" + "url": "https://dynamodb.ap-southeast-3.amazonaws.com" } }, "params": { - "Region": "me-central-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false + "Region": "ap-southeast-3" } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region local with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb-fips.ca-central-1.api.aws" + "properties": { + "authSchemes": [ + { + "signingName": "dynamodb", + "name": "sigv4", + "signingRegion": "us-east-1" + } + ] + }, + "url": "http://localhost:8000" } }, "params": { - "Region": "ca-central-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "local" } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb-fips.ca-central-1.amazonaws.com" + "url": "https://dynamodb.af-south-1.amazonaws.com" } }, "params": { - "Region": "ca-central-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "af-south-1" } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb.ca-central-1.api.aws" + "url": "https://dynamodb.eu-north-1.amazonaws.com" } }, "params": { - "Region": "ca-central-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-north-1" } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb.ca-central-1.amazonaws.com" + "url": "https://dynamodb.ap-east-1.amazonaws.com" } }, "params": { - "Region": "ca-central-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false + "Region": "ap-east-1" } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb-fips.eu-central-1.api.aws" + "url": "https://dynamodb.eu-west-1.amazonaws.com" } }, "params": { - "Region": "eu-central-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-west-1" } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb-fips.eu-central-1.amazonaws.com" + "url": "https://dynamodb.eu-west-2.amazonaws.com" } }, "params": { - "Region": "eu-central-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "eu-west-2" } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb.eu-central-1.api.aws" + "url": "https://dynamodb.eu-west-3.amazonaws.com" } }, "params": { - "Region": "eu-central-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-west-3" } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb.eu-central-1.amazonaws.com" + "url": "https://dynamodb.us-east-1.amazonaws.com" } }, "params": { - "Region": "eu-central-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false + "Region": "us-east-1" } }, { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "Region": "us-iso-west-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb-fips.us-iso-west-1.c2s.ic.gov" + "url": "https://dynamodb-fips.us-east-1.amazonaws.com" } }, "params": { - "Region": "us-iso-west-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "Region": "us-iso-west-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "us-east-1" } }, { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb.us-iso-west-1.c2s.ic.gov" + "url": "https://dynamodb.us-east-2.amazonaws.com" } }, "params": { - "Region": "us-iso-west-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false + "Region": "us-east-2" } }, { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb-fips.eu-central-2.api.aws" + "url": "https://dynamodb-fips.us-east-2.amazonaws.com" } }, "params": { - "Region": "eu-central-2", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-east-2" } }, { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb-fips.eu-central-2.amazonaws.com" + "url": "https://dynamodb.eu-central-1.amazonaws.com" } }, "params": { - "Region": "eu-central-2", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "eu-central-1" } }, { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb.eu-central-2.api.aws" + "url": "https://dynamodb.us-west-1.amazonaws.com" } }, "params": { - "Region": "eu-central-2", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-west-1" } }, { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb.eu-central-2.amazonaws.com" + "url": "https://dynamodb-fips.us-west-1.amazonaws.com" } }, "params": { - "Region": "eu-central-2", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": false + "Region": "us-west-1" } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb-fips.us-west-1.api.aws" + "url": "https://dynamodb.us-west-2.amazonaws.com" } }, "params": { - "Region": "us-west-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "Region": "us-west-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.us-west-1.api.aws" - } - }, - "params": { - "Region": "us-west-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.us-west-1.amazonaws.com" - } - }, - "params": { - "Region": "us-west-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.us-west-2.api.aws" - } - }, - "params": { - "Region": "us-west-2", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "Region": "us-west-2", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.us-west-2.api.aws" - } - }, - "params": { - "Region": "us-west-2", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.us-west-2.amazonaws.com" - } - }, - "params": { - "Region": "us-west-2", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.af-south-1.api.aws" - } - }, - "params": { - "Region": "af-south-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "Region": "af-south-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.af-south-1.api.aws" - } - }, - "params": { - "Region": "af-south-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.af-south-1.amazonaws.com" - } - }, - "params": { - "Region": "af-south-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.eu-north-1.api.aws" - } - }, - "params": { - "Region": "eu-north-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-north-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.eu-north-1.api.aws" - } - }, - "params": { - "Region": "eu-north-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.eu-north-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-north-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.eu-west-3.api.aws" - } - }, - "params": { - "Region": "eu-west-3", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-3", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.eu-west-3.api.aws" - } - }, - "params": { - "Region": "eu-west-3", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.eu-west-3.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-3", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.eu-west-2.api.aws" - } - }, - "params": { - "Region": "eu-west-2", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-2", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.eu-west-2.api.aws" - } - }, - "params": { - "Region": "eu-west-2", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.eu-west-2.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-2", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.eu-west-1.api.aws" - } - }, - "params": { - "Region": "eu-west-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.eu-west-1.api.aws" - } - }, - "params": { - "Region": "eu-west-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.eu-west-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "Region": "ap-northeast-3", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-3", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.ap-northeast-3.api.aws" - } - }, - "params": { - "Region": "ap-northeast-3", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-3", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.ap-northeast-2.api.aws" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.ap-northeast-1.api.aws" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.me-south-1.api.aws" - } - }, - "params": { - "Region": "me-south-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.me-south-1.amazonaws.com" - } - }, - "params": { - "Region": "me-south-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.me-south-1.api.aws" - } - }, - "params": { - "Region": "me-south-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.me-south-1.amazonaws.com" - } - }, - "params": { - "Region": "me-south-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.sa-east-1.api.aws" - } - }, - "params": { - "Region": "sa-east-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "Region": "sa-east-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.sa-east-1.api.aws" - } - }, - "params": { - "Region": "sa-east-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.sa-east-1.amazonaws.com" - } - }, - "params": { - "Region": "sa-east-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.ap-east-1.api.aws" - } - }, - "params": { - "Region": "ap-east-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.ap-east-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-east-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.ap-east-1.api.aws" - } - }, - "params": { - "Region": "ap-east-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.ap-east-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-east-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.us-gov-west-1.api.aws" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.us-gov-west-1.api.aws" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.ap-southeast-1.api.aws" - } - }, - "params": { - "Region": "ap-southeast-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.ap-southeast-1.api.aws" - } - }, - "params": { - "Region": "ap-southeast-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.ap-southeast-2.api.aws" - } - }, - "params": { - "Region": "ap-southeast-2", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-2", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.ap-southeast-2.api.aws" - } - }, - "params": { - "Region": "ap-southeast-2", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-2", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "Region": "us-iso-east-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "Region": "us-iso-east-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.ap-southeast-3.api.aws" - } - }, - "params": { - "Region": "ap-southeast-3", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.ap-southeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-3", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.ap-southeast-3.api.aws" - } - }, - "params": { - "Region": "ap-southeast-3", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dynamodb.ap-southeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-3", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dynamodb-fips.ap-southeast-4.api.aws" - } - }, - "params": { - "Region": "ap-southeast-4", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-west-2" } }, { - "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb-fips.ap-southeast-4.amazonaws.com" + "url": "https://dynamodb-fips.us-west-2.amazonaws.com" } }, "params": { - "Region": "ap-southeast-4", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": true + "Region": "us-west-2" } }, { - "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://dynamodb.ap-southeast-4.api.aws" + "url": "https://dynamodb-fips.us-east-1.api.aws" } }, "params": { - "Region": "ap-southeast-4", + "UseFIPS": true, "UseDualStack": true, - "UseFIPS": false + "Region": "us-east-1" } }, { - "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://dynamodb.ap-southeast-4.amazonaws.com" + "url": "https://dynamodb.us-east-1.api.aws" } }, "params": { - "Region": "ap-southeast-4", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-east-1" } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb-fips.us-east-1.api.aws" + "url": "https://dynamodb.us-gov-west-1.amazonaws.com" } }, "params": { - "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-gov-west-1" } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb-fips.us-east-1.amazonaws.com" + "url": "https://dynamodb.us-gov-west-1.amazonaws.com" } }, "params": { - "Region": "us-east-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": true + "Region": "us-gov-west-1" } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb.us-east-1.api.aws" + "url": "https://dynamodb.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-gov-east-1" } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb.us-east-1.amazonaws.com" + "url": "https://dynamodb.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "us-east-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": false + "Region": "us-gov-east-1" } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://dynamodb-fips.us-east-2.api.aws" + "url": "https://dynamodb-fips.us-gov-east-1.api.aws" } }, "params": { - "Region": "us-east-2", + "UseFIPS": true, "UseDualStack": true, - "UseFIPS": true + "Region": "us-gov-east-1" } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://dynamodb-fips.us-east-2.amazonaws.com" + "url": "https://dynamodb.us-gov-east-1.api.aws" } }, "params": { - "Region": "us-east-2", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-gov-east-1" } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb.us-east-2.api.aws" + "url": "https://dynamodb.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "Region": "us-east-2", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-isob-east-1" } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb.us-east-2.amazonaws.com" + "url": "https://dynamodb-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "Region": "us-east-2", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": false + "Region": "us-isob-east-1" } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb-fips.cn-northwest-1.api.amazonwebservices.com.cn" + "url": "https://dynamodb.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "Region": "cn-northwest-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "cn-northwest-1" } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb-fips.cn-northwest-1.amazonaws.com.cn" + "url": "https://dynamodb.cn-north-1.amazonaws.com.cn" } }, "params": { - "Region": "cn-northwest-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "cn-north-1" } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://dynamodb.cn-northwest-1.api.amazonwebservices.com.cn" + "url": "https://dynamodb-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "cn-northwest-1", + "UseFIPS": true, "UseDualStack": true, - "UseFIPS": false + "Region": "cn-north-1" } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb.cn-northwest-1.amazonaws.com.cn" + "url": "https://dynamodb-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "Region": "cn-northwest-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": false + "Region": "cn-north-1" } }, { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + "endpoint": { + "url": "https://dynamodb.cn-north-1.api.amazonwebservices.com.cn" + } }, "params": { - "Region": "us-isob-east-1", + "UseFIPS": false, "UseDualStack": true, - "UseFIPS": true + "Region": "cn-north-1" } }, { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb-fips.us-isob-east-1.sc2s.sgov.gov" + "url": "https://dynamodb.us-iso-west-1.c2s.ic.gov" } }, "params": { - "Region": "us-isob-east-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "us-iso-west-1" } }, { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" + "endpoint": { + "url": "https://dynamodb.us-iso-east-1.c2s.ic.gov" + } }, "params": { - "Region": "us-isob-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-iso-east-1" } }, { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dynamodb.us-isob-east-1.sc2s.sgov.gov" + "url": "https://dynamodb-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "us-isob-east-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": false + "Region": "us-iso-east-1" } }, { @@ -5451,9 +4391,9 @@ } }, "params": { - "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -5463,9 +4403,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -5475,9 +4415,9 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "Region": "us-east-1", - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, + "Region": "us-east-1", "Endpoint": "https://example.com" } } @@ -5933,18 +4873,20 @@ "type": "timestamp" }, "com.amazonaws.dynamodb#ExportFormat": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "DYNAMODB_JSON", - "name": "DYNAMODB_JSON" - }, - { - "value": "ION", - "name": "ION" + "type": "enum", + "members": { + "DYNAMODB_JSON": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DYNAMODB_JSON" } - ] + }, + "ION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ION" + } + } } }, "com.amazonaws.dynamodb#ExportManifest": { @@ -5969,22 +4911,26 @@ "type": "timestamp" }, "com.amazonaws.dynamodb#ExportStatus": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "IN_PROGRESS", - "name": "IN_PROGRESS" - }, - { - "value": "COMPLETED", - "name": "COMPLETED" - }, - { - "value": "FAILED", - "name": "FAILED" + "type": "enum", + "members": { + "IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IN_PROGRESS" } - ] + }, + "COMPLETED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "COMPLETED" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + } } }, "com.amazonaws.dynamodb#ExportSummaries": { @@ -6064,7 +5010,7 @@ "ClientToken": { "target": "com.amazonaws.dynamodb#ClientToken", "traits": { - "smithy.api#documentation": "

Providing a ClientToken makes the call to\n ExportTableToPointInTimeInput idempotent, meaning that multiple\n identical calls have the same effect as one single call.

\n

A client token is valid for 8 hours after the first request that uses it is completed.\n After 8 hours, any request with the same client token is treated as a new request. Do\n not resubmit the same request with the same client token for more than 8 hours, or the\n result might not be idempotent.

\n

If you submit a request with the same client token but a change in other parameters\n within the 8-hour idempotency window, DynamoDB returns an\n ImportConflictException.

", + "smithy.api#documentation": "

Providing a ClientToken makes the call to\n ExportTableToPointInTimeInput idempotent, meaning that multiple\n identical calls have the same effect as one single call.

\n

A client token is valid for 8 hours after the first request that uses it is completed.\n After 8 hours, any request with the same client token is treated as a new request. Do\n not resubmit the same request with the same client token for more than 8 hours, or the\n result might not be idempotent.

\n

If you submit a request with the same client token but a change in other parameters\n within the 8-hour idempotency window, DynamoDB returns an\n ImportConflictException.

", "smithy.api#idempotencyToken": {} } }, @@ -6420,14 +5366,12 @@ "IndexSizeBytes": { "target": "com.amazonaws.dynamodb#Long", "traits": { - "smithy.api#default": 0, "smithy.api#documentation": "

The total size of the specified index, in bytes. DynamoDB updates this value\n approximately every six hours. Recent changes might not be reflected in this\n value.

" } }, "ItemCount": { "target": "com.amazonaws.dynamodb#Long", "traits": { - "smithy.api#default": 0, "smithy.api#documentation": "

The number of items in the specified index. DynamoDB updates this value approximately\n every six hours. Recent changes might not be reflected in this value.

" } }, @@ -6655,26 +5599,32 @@ } }, "com.amazonaws.dynamodb#GlobalTableStatus": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "CREATING", - "name": "CREATING" - }, - { - "value": "ACTIVE", - "name": "ACTIVE" - }, - { - "value": "DELETING", - "name": "DELETING" - }, - { - "value": "UPDATING", - "name": "UPDATING" + "type": "enum", + "members": { + "CREATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATING" } - ] + }, + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "DELETING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETING" + } + }, + "UPDATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UPDATING" + } + } } }, "com.amazonaws.dynamodb#IdempotentParameterMismatchException": { @@ -6739,30 +5689,38 @@ "type": "timestamp" }, "com.amazonaws.dynamodb#ImportStatus": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "IN_PROGRESS", - "name": "IN_PROGRESS" - }, - { - "value": "COMPLETED", - "name": "COMPLETED" - }, - { - "value": "CANCELLING", - "name": "CANCELLING" - }, - { - "value": "CANCELLED", - "name": "CANCELLED" - }, - { - "value": "FAILED", - "name": "FAILED" + "type": "enum", + "members": { + "IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IN_PROGRESS" } - ] + }, + "COMPLETED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "COMPLETED" + } + }, + "CANCELLING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CANCELLING" + } + }, + "CANCELLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CANCELLED" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + } } }, "com.amazonaws.dynamodb#ImportSummary": { @@ -6771,54 +5729,54 @@ "ImportArn": { "target": "com.amazonaws.dynamodb#ImportArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Number (ARN) corresponding to the import request.\n

" + "smithy.api#documentation": "

The Amazon Resource Number (ARN) corresponding to the import request.

" } }, "ImportStatus": { "target": "com.amazonaws.dynamodb#ImportStatus", "traits": { - "smithy.api#documentation": "

\n The status of the import operation.\n

" + "smithy.api#documentation": "

The status of the import operation.

" } }, "TableArn": { "target": "com.amazonaws.dynamodb#TableArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Number (ARN) of the table being imported into.\n

" + "smithy.api#documentation": "

The Amazon Resource Number (ARN) of the table being imported into.

" } }, "S3BucketSource": { "target": "com.amazonaws.dynamodb#S3BucketSource", "traits": { - "smithy.api#documentation": "

\n The path and S3 bucket of the source file that is being imported. This includes the S3Bucket (required), \n S3KeyPrefix (optional) and S3BucketOwner (optional if the bucket is owned by the requester).\n

" + "smithy.api#documentation": "

The path and S3 bucket of the source file that is being imported. This includes the\n S3Bucket (required), S3KeyPrefix (optional) and S3BucketOwner (optional if the bucket is\n owned by the requester).

" } }, "CloudWatchLogGroupArn": { "target": "com.amazonaws.dynamodb#CloudWatchLogGroupArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Number (ARN) of the Cloudwatch Log Group associated with this import task.\n

" + "smithy.api#documentation": "

The Amazon Resource Number (ARN) of the Cloudwatch Log Group associated with this\n import task.

" } }, "InputFormat": { "target": "com.amazonaws.dynamodb#InputFormat", "traits": { - "smithy.api#documentation": "

\n The format of the source data. Valid values are CSV,\n DYNAMODB_JSON or ION.

" + "smithy.api#documentation": "

The format of the source data. Valid values are CSV,\n DYNAMODB_JSON or ION.

" } }, "StartTime": { "target": "com.amazonaws.dynamodb#ImportStartTime", "traits": { - "smithy.api#documentation": "

\n The time at which this import task began.\n

" + "smithy.api#documentation": "

The time at which this import task began.

" } }, "EndTime": { "target": "com.amazonaws.dynamodb#ImportEndTime", "traits": { - "smithy.api#documentation": "

\n The time at which this import task ended. (Does this include the successful complete creation of \n the table it was imported to?)\n

" + "smithy.api#documentation": "

The time at which this import task ended. (Does this include the successful complete\n creation of the table it was imported to?)

" } } }, "traits": { - "smithy.api#documentation": "

\n Summary information about the source file for the import.\n

" + "smithy.api#documentation": "

Summary information about the source file for the import.\n

" } }, "com.amazonaws.dynamodb#ImportSummaryList": { @@ -6847,7 +5805,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Imports table data from an S3 bucket. \n \n

" + "smithy.api#documentation": "

Imports table data from an S3 bucket.

" } }, "com.amazonaws.dynamodb#ImportTableDescription": { @@ -6856,124 +5814,123 @@ "ImportArn": { "target": "com.amazonaws.dynamodb#ImportArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Number (ARN) corresponding to the import request.\n

" + "smithy.api#documentation": "

The Amazon Resource Number (ARN) corresponding to the import request.\n

" } }, "ImportStatus": { "target": "com.amazonaws.dynamodb#ImportStatus", "traits": { - "smithy.api#documentation": "

\n The status of the import.\n

" + "smithy.api#documentation": "

The status of the import.

" } }, "TableArn": { "target": "com.amazonaws.dynamodb#TableArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Number (ARN) of the table being imported into.\n

" + "smithy.api#documentation": "

The Amazon Resource Number (ARN) of the table being imported into.\n

" } }, "TableId": { "target": "com.amazonaws.dynamodb#TableId", "traits": { - "smithy.api#documentation": "

\n The table id corresponding to the table created by import table process.\n \n

" + "smithy.api#documentation": "

The table id corresponding to the table created by import table process.\n

" } }, "ClientToken": { "target": "com.amazonaws.dynamodb#ClientToken", "traits": { - "smithy.api#documentation": "

\n The client token that was provided for the import task. Reusing the client token \n on retry makes a call to ImportTable idempotent.\n

" + "smithy.api#documentation": "

The client token that was provided for the import task. Reusing the client token on\n retry makes a call to ImportTable idempotent.

" } }, "S3BucketSource": { "target": "com.amazonaws.dynamodb#S3BucketSource", "traits": { - "smithy.api#documentation": "

\n Values for the S3 bucket the source file is imported from. Includes bucket name (required), \n key prefix (optional) and bucket account owner ID (optional).\n

" + "smithy.api#documentation": "

Values for the S3 bucket the source file is imported from. Includes bucket name\n (required), key prefix (optional) and bucket account owner ID (optional).

" } }, "ErrorCount": { "target": "com.amazonaws.dynamodb#ErrorCount", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

\n The number of errors occurred on importing the source file into the target table.\n

" + "smithy.api#documentation": "

The number of errors occurred on importing the source file into the target table.\n

" } }, "CloudWatchLogGroupArn": { "target": "com.amazonaws.dynamodb#CloudWatchLogGroupArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Number (ARN) of the Cloudwatch Log Group associated with the target table.\n

" + "smithy.api#documentation": "

The Amazon Resource Number (ARN) of the Cloudwatch Log Group associated with the\n target table.

" } }, "InputFormat": { "target": "com.amazonaws.dynamodb#InputFormat", "traits": { - "smithy.api#documentation": "

\n The format of the source data going into the target table.\n

" + "smithy.api#documentation": "

The format of the source data going into the target table.\n

" } }, "InputFormatOptions": { "target": "com.amazonaws.dynamodb#InputFormatOptions", "traits": { - "smithy.api#documentation": "

The format options for the data that was imported into the target table. There is one value, CsvOption.\n

" + "smithy.api#documentation": "

The format options for the data that was imported into the target table. There is one\n value, CsvOption.

" } }, "InputCompressionType": { "target": "com.amazonaws.dynamodb#InputCompressionType", "traits": { - "smithy.api#documentation": "

\n The compression options for the data that has been imported into the target table. The values are \n NONE, GZIP, or ZSTD.\n

" + "smithy.api#documentation": "

The compression options for the data that has been imported into the target table.\n The values are NONE, GZIP, or ZSTD.

" } }, "TableCreationParameters": { "target": "com.amazonaws.dynamodb#TableCreationParameters", "traits": { - "smithy.api#documentation": "

\n The parameters for the new table that is being imported into.\n

" + "smithy.api#documentation": "

The parameters for the new table that is being imported into.

" } }, "StartTime": { "target": "com.amazonaws.dynamodb#ImportStartTime", "traits": { - "smithy.api#documentation": "

\n The time when this import task started.\n

" + "smithy.api#documentation": "

The time when this import task started.

" } }, "EndTime": { "target": "com.amazonaws.dynamodb#ImportEndTime", "traits": { - "smithy.api#documentation": "

\n The time at which the creation of the table associated with this import task completed.\n

" + "smithy.api#documentation": "

The time at which the creation of the table associated with this import task\n completed.

" } }, "ProcessedSizeBytes": { "target": "com.amazonaws.dynamodb#Long", "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

\n The total size of data processed from the source file, in Bytes.\n

" + "smithy.api#documentation": "

The total size of data processed from the source file, in Bytes.

" } }, "ProcessedItemCount": { "target": "com.amazonaws.dynamodb#ProcessedItemCount", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

\n The total number of items processed from the source file.\n

" + "smithy.api#documentation": "

The total number of items processed from the source file.

" } }, "ImportedItemCount": { "target": "com.amazonaws.dynamodb#ImportedItemCount", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

\n The number of items successfully imported into the new table.\n

" + "smithy.api#documentation": "

The number of items successfully imported into the new table.

" } }, "FailureCode": { "target": "com.amazonaws.dynamodb#FailureCode", "traits": { - "smithy.api#documentation": "

\n The error code corresponding to the failure that the import job ran into during execution.\n

" + "smithy.api#documentation": "

The error code corresponding to the failure that the import job ran into during\n execution.

" } }, "FailureMessage": { "target": "com.amazonaws.dynamodb#FailureMessage", "traits": { - "smithy.api#documentation": "

\n The error message corresponding to the failure that the import job ran into during execution.\n

" + "smithy.api#documentation": "

The error message corresponding to the failure that the import job ran into during\n execution.

" } } }, "traits": { - "smithy.api#documentation": "

\n Represents the properties of the table being imported into.\n

" + "smithy.api#documentation": "

Represents the properties of the table being imported into.\n

" } }, "com.amazonaws.dynamodb#ImportTableInput": { @@ -6982,40 +5939,40 @@ "ClientToken": { "target": "com.amazonaws.dynamodb#ClientToken", "traits": { - "smithy.api#documentation": "

Providing a ClientToken makes the call to\n ImportTableInput idempotent, meaning that multiple\n identical calls have the same effect as one single call.

\n

A client token is valid for 8 hours after the first request that uses it is completed.\n After 8 hours, any request with the same client token is treated as a new request. Do\n not resubmit the same request with the same client token for more than 8 hours, or the\n result might not be idempotent.

\n

If you submit a request with the same client token but a change in other parameters\n within the 8-hour idempotency window, DynamoDB returns an\n IdempotentParameterMismatch exception.

", + "smithy.api#documentation": "

Providing a ClientToken makes the call to ImportTableInput\n idempotent, meaning that multiple identical calls have the same effect as one single\n call.

\n

A client token is valid for 8 hours after the first request that uses it is completed.\n After 8 hours, any request with the same client token is treated as a new request. Do\n not resubmit the same request with the same client token for more than 8 hours, or the\n result might not be idempotent.

\n

If you submit a request with the same client token but a change in other parameters\n within the 8-hour idempotency window, DynamoDB returns an\n IdempotentParameterMismatch exception.

", "smithy.api#idempotencyToken": {} } }, "S3BucketSource": { "target": "com.amazonaws.dynamodb#S3BucketSource", "traits": { - "smithy.api#documentation": "

\n The S3 bucket that provides the source for the import.\n

", + "smithy.api#documentation": "

The S3 bucket that provides the source for the import.

", "smithy.api#required": {} } }, "InputFormat": { "target": "com.amazonaws.dynamodb#InputFormat", "traits": { - "smithy.api#documentation": "

The format of the source data. Valid values for ImportFormat are\n CSV, DYNAMODB_JSON or ION.\n

", + "smithy.api#documentation": "

The format of the source data. Valid values for ImportFormat are\n CSV, DYNAMODB_JSON or ION.

", "smithy.api#required": {} } }, "InputFormatOptions": { "target": "com.amazonaws.dynamodb#InputFormatOptions", "traits": { - "smithy.api#documentation": "

\n Additional properties that specify how the input is formatted,\n

" + "smithy.api#documentation": "

Additional properties that specify how the input is formatted,

" } }, "InputCompressionType": { "target": "com.amazonaws.dynamodb#InputCompressionType", "traits": { - "smithy.api#documentation": "

\n Type of compression to be used on the input coming from the imported table.\n

" + "smithy.api#documentation": "

Type of compression to be used on the input coming from the imported table.

" } }, "TableCreationParameters": { "target": "com.amazonaws.dynamodb#TableCreationParameters", "traits": { - "smithy.api#documentation": "

Parameters for the table to import the data into.\n

", + "smithy.api#documentation": "

Parameters for the table to import the data into.

", "smithy.api#required": {} } } @@ -7027,7 +5984,7 @@ "ImportTableDescription": { "target": "com.amazonaws.dynamodb#ImportTableDescription", "traits": { - "smithy.api#documentation": "

\n Represents the properties of the table created for the import, and parameters of \n the import. The import parameters include import status, how many items were processed, \n and how many errors were encountered.\n

", + "smithy.api#documentation": "

Represents the properties of the table created for the import, and parameters of the\n import. The import parameters include import status, how many items were processed, and\n how many errors were encountered.

", "smithy.api#required": {} } } @@ -7065,64 +6022,78 @@ } }, "com.amazonaws.dynamodb#IndexStatus": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "CREATING", - "name": "CREATING" - }, - { - "value": "UPDATING", - "name": "UPDATING" - }, - { - "value": "DELETING", - "name": "DELETING" - }, - { - "value": "ACTIVE", - "name": "ACTIVE" + "type": "enum", + "members": { + "CREATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATING" } - ] + }, + "UPDATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UPDATING" + } + }, + "DELETING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETING" + } + }, + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + } } }, "com.amazonaws.dynamodb#InputCompressionType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "GZIP", - "name": "GZIP" - }, - { - "value": "ZSTD", - "name": "ZSTD" - }, - { - "value": "NONE", - "name": "NONE" + "type": "enum", + "members": { + "GZIP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GZIP" } - ] + }, + "ZSTD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ZSTD" + } + }, + "NONE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NONE" + } + } } }, "com.amazonaws.dynamodb#InputFormat": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "DYNAMODB_JSON", - "name": "DYNAMODB_JSON" - }, - { - "value": "ION", - "name": "ION" - }, - { - "value": "CSV", - "name": "CSV" + "type": "enum", + "members": { + "DYNAMODB_JSON": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DYNAMODB_JSON" } - ] + }, + "ION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ION" + } + }, + "CSV": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CSV" + } + } } }, "com.amazonaws.dynamodb#InputFormatOptions": { @@ -7131,12 +6102,12 @@ "Csv": { "target": "com.amazonaws.dynamodb#CsvOptions", "traits": { - "smithy.api#documentation": "

\n The options for imported source files in CSV format. The values are Delimiter and HeaderList.\n

" + "smithy.api#documentation": "

The options for imported source files in CSV format. The values are Delimiter and\n HeaderList.

" } } }, "traits": { - "smithy.api#documentation": "

\n The format options for the data that was imported into the target table. There is one value, CsvOption.

" + "smithy.api#documentation": "

The format options for the data that was imported into the target table. There is one\n value, CsvOption.

" } }, "com.amazonaws.dynamodb#Integer": { @@ -7390,18 +6361,20 @@ } }, "com.amazonaws.dynamodb#KeyType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "HASH", - "name": "HASH" - }, - { - "value": "RANGE", - "name": "RANGE" + "type": "enum", + "members": { + "HASH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HASH" } - ] + }, + "RANGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RANGE" + } + } } }, "com.amazonaws.dynamodb#KeysAndAttributes": { @@ -7531,7 +6504,7 @@ } }, "traits": { - "smithy.api#documentation": "

There is no limit to the number of daily on-demand backups that can be taken.

\n

Up to 500 simultaneous table operations are allowed per account. These operations\n include CreateTable, UpdateTable,\n DeleteTable,UpdateTimeToLive,\n RestoreTableFromBackup, and RestoreTableToPointInTime.

\n

The only exception is when you are creating a table with one or more secondary\n indexes. You can have up to 250 such requests running at a time; however, if the table or\n index specifications are complex, DynamoDB might temporarily reduce the number\n of concurrent operations.

\n

There is a soft account quota of 2,500 tables.

", + "smithy.api#documentation": "

There is no limit to the number of daily on-demand backups that can be taken.

\n

For most purposes, up to 500 simultaneous table operations are allowed per account. These operations\n include CreateTable, UpdateTable,\n DeleteTable,UpdateTimeToLive,\n RestoreTableFromBackup, and RestoreTableToPointInTime.

\n

When you are creating a table with one or more secondary\n indexes, you can have up to 250 such requests running at a time. However, if the table or\n index specifications are complex, then DynamoDB might temporarily reduce the number\n of concurrent operations.

\n

When importing into DynamoDB, up to 50 simultaneous import table operations are allowed per account.

\n

There is a soft account quota of 2,500 tables.

", "smithy.api#error": "client" } }, @@ -7600,7 +6573,7 @@ "BackupType": { "target": "com.amazonaws.dynamodb#BackupTypeFilter", "traits": { - "smithy.api#documentation": "

The backups from the table specified by BackupType are listed.

\n

Where BackupType can be:

\n
    \n
  • \n

    \n USER - On-demand backup created by you. (The default setting if no other backup types are specified.)

    \n
  • \n
  • \n

    \n SYSTEM - On-demand backup automatically created by DynamoDB.

    \n
  • \n
  • \n

    \n ALL - All types of on-demand backups (USER and SYSTEM).

    \n
  • \n
" + "smithy.api#documentation": "

The backups from the table specified by BackupType are listed.

\n

Where BackupType can be:

\n
    \n
  • \n

    \n USER - On-demand backup created by you. (The default setting if no\n other backup types are specified.)

    \n
  • \n
  • \n

    \n SYSTEM - On-demand backup automatically created by DynamoDB.

    \n
  • \n
  • \n

    \n ALL - All types of on-demand backups (USER and SYSTEM).

    \n
  • \n
" } } } @@ -7848,7 +6821,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Lists completed imports within the past 90 days.\n

", + "smithy.api#documentation": "

Lists completed imports within the past 90 days.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -7862,19 +6835,19 @@ "TableArn": { "target": "com.amazonaws.dynamodb#TableArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) associated with the table that was imported to.\n

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) associated with the table that was imported to.\n

" } }, "PageSize": { "target": "com.amazonaws.dynamodb#ListImportsMaxLimit", "traits": { - "smithy.api#documentation": "

\n The number of ImportSummary objects returned in a single page.\n

" + "smithy.api#documentation": "

The number of ImportSummary objects returned in a single page.

" } }, "NextToken": { "target": "com.amazonaws.dynamodb#ImportNextToken", "traits": { - "smithy.api#documentation": "

\n An optional string that, if supplied, must be copied from the output of a previous\n call to ListImports. When provided in this manner, the API fetches the next\n page of results.\n

" + "smithy.api#documentation": "

An optional string that, if supplied, must be copied from the output of a previous\n call to ListImports. When provided in this manner, the API fetches the next\n page of results.

" } } } @@ -7894,13 +6867,13 @@ "ImportSummaryList": { "target": "com.amazonaws.dynamodb#ImportSummaryList", "traits": { - "smithy.api#documentation": "

\n A list of ImportSummary objects.\n

" + "smithy.api#documentation": "

A list of ImportSummary objects.

" } }, "NextToken": { "target": "com.amazonaws.dynamodb#ImportNextToken", "traits": { - "smithy.api#documentation": "

\n If this value is returned, there are additional results to be displayed. To retrieve\n them, call ListImports again, with NextToken set to this\n value.\n

" + "smithy.api#documentation": "

If this value is returned, there are additional results to be displayed. To retrieve\n them, call ListImports again, with NextToken set to this\n value.

" } } } @@ -8097,14 +7070,12 @@ "IndexSizeBytes": { "target": "com.amazonaws.dynamodb#Long", "traits": { - "smithy.api#default": 0, "smithy.api#documentation": "

The total size of the specified index, in bytes. DynamoDB updates this value\n approximately every six hours. Recent changes might not be reflected in this\n value.

" } }, "ItemCount": { "target": "com.amazonaws.dynamodb#Long", "traits": { - "smithy.api#default": 0, "smithy.api#documentation": "

The number of items in the specified index. DynamoDB updates this value\n approximately every six hours. Recent changes might not be reflected in this\n value.

" } }, @@ -8164,10 +7135,7 @@ } }, "com.amazonaws.dynamodb#Long": { - "type": "long", - "traits": { - "smithy.api#default": 0 - } + "type": "long" }, "com.amazonaws.dynamodb#MapAttributeValue": { "type": "map", @@ -8333,18 +7301,20 @@ } }, "com.amazonaws.dynamodb#PointInTimeRecoveryStatus": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "ENABLED", - "name": "ENABLED" - }, - { - "value": "DISABLED", - "name": "DISABLED" + "type": "enum", + "members": { + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLED" } - ] + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } + } } }, "com.amazonaws.dynamodb#PointInTimeRecoveryUnavailableException": { @@ -8417,24 +7387,28 @@ }, "com.amazonaws.dynamodb#ProjectionExpression": { "type": "string" - }, - "com.amazonaws.dynamodb#ProjectionType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "ALL", - "name": "ALL" - }, - { - "value": "KEYS_ONLY", - "name": "KEYS_ONLY" - }, - { - "value": "INCLUDE", - "name": "INCLUDE" + }, + "com.amazonaws.dynamodb#ProjectionType": { + "type": "enum", + "members": { + "ALL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ALL" } - ] + }, + "KEYS_ONLY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "KEYS_ONLY" + } + }, + "INCLUDE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INCLUDE" + } + } } }, "com.amazonaws.dynamodb#ProvisionedThroughput": { @@ -8610,7 +7584,7 @@ "aws.api#clientDiscoveredEndpoint": { "required": false }, - "smithy.api#documentation": "

Creates a new item, or replaces an old item with a new item. If an item that has the\n same primary key as the new item already exists in the specified table, the new item\n completely replaces the existing item. You can perform a conditional put operation (add\n a new item if one with the specified primary key doesn't exist), or replace an existing\n item if it has certain attribute values. You can return the item's attribute values in\n the same operation, using the ReturnValues parameter.

\n\n

When you add an item, the primary key attributes are the only required attributes.\n Attribute values cannot be null.

\n

Empty String and Binary attribute values are allowed. Attribute values of type String\n and Binary must have a length greater than zero if the attribute is used as a key\n attribute for a table or index. Set type attributes cannot be empty.

\n

Invalid Requests with empty values will be rejected with a\n ValidationException exception.

\n \n

To prevent a new item from replacing an existing item, use a conditional\n expression that contains the attribute_not_exists function with the\n name of the attribute being used as the partition key for the table. Since every\n record must contain that attribute, the attribute_not_exists function\n will only succeed if no matching item exists.

\n
\n

For more information about PutItem, see Working with\n Items in the Amazon DynamoDB Developer Guide.

" + "smithy.api#documentation": "

Creates a new item, or replaces an old item with a new item. If an item that has the\n same primary key as the new item already exists in the specified table, the new item\n completely replaces the existing item. You can perform a conditional put operation (add\n a new item if one with the specified primary key doesn't exist), or replace an existing\n item if it has certain attribute values. You can return the item's attribute values in\n the same operation, using the ReturnValues parameter.

\n\n

When you add an item, the primary key attributes are the only required attributes.\n

\n

Empty String and Binary attribute values are allowed. Attribute values of type String\n and Binary must have a length greater than zero if the attribute is used as a key\n attribute for a table or index. Set type attributes cannot be empty.

\n

Invalid Requests with empty values will be rejected with a\n ValidationException exception.

\n \n

To prevent a new item from replacing an existing item, use a conditional\n expression that contains the attribute_not_exists function with the\n name of the attribute being used as the partition key for the table. Since every\n record must contain that attribute, the attribute_not_exists function\n will only succeed if no matching item exists.

\n
\n

For more information about PutItem, see Working with\n Items in the Amazon DynamoDB Developer Guide.

" } }, "com.amazonaws.dynamodb#PutItemInput": { @@ -8639,7 +7613,7 @@ "ReturnValues": { "target": "com.amazonaws.dynamodb#ReturnValue", "traits": { - "smithy.api#documentation": "

Use ReturnValues if you want to get the item attributes as they appeared\n before they were updated with the PutItem request. For\n PutItem, the valid values are:

\n
    \n
  • \n

    \n NONE - If ReturnValues is not specified, or if its\n value is NONE, then nothing is returned. (This setting is the\n default for ReturnValues.)

    \n
  • \n
  • \n

    \n ALL_OLD - If PutItem overwrote an attribute name-value\n pair, then the content of the old item is returned.

    \n
  • \n
\n

The values returned are strongly consistent.

\n

There is no additional cost associated with requesting a return value aside from the small \n network and processing overhead of receiving a larger response. No read capacity units are \n consumed.

\n \n

The ReturnValues parameter is used by several DynamoDB operations;\n however, PutItem does not recognize any values other than\n NONE or ALL_OLD.

\n
" + "smithy.api#documentation": "

Use ReturnValues if you want to get the item attributes as they appeared\n before they were updated with the PutItem request. For\n PutItem, the valid values are:

\n
    \n
  • \n

    \n NONE - If ReturnValues is not specified, or if its\n value is NONE, then nothing is returned. (This setting is the\n default for ReturnValues.)

    \n
  • \n
  • \n

    \n ALL_OLD - If PutItem overwrote an attribute name-value\n pair, then the content of the old item is returned.

    \n
  • \n
\n

The values returned are strongly consistent.

\n

There is no additional cost associated with requesting a return value aside from the\n small network and processing overhead of receiving a larger response. No read capacity\n units are consumed.

\n \n

The ReturnValues parameter is used by several DynamoDB operations;\n however, PutItem does not recognize any values other than\n NONE or ALL_OLD.

\n
" } }, "ReturnConsumedCapacity": { @@ -9051,7 +8025,7 @@ "KMSMasterKeyId": { "target": "com.amazonaws.dynamodb#KMSMasterKeyId", "traits": { - "smithy.api#documentation": "

The KMS key of the replica that will be used for\n KMS encryption.

" + "smithy.api#documentation": "

The KMS key of the replica that will be used for KMS\n encryption.

" } }, "ProvisionedThroughputOverride": { @@ -9119,7 +8093,7 @@ "IndexStatus": { "target": "com.amazonaws.dynamodb#IndexStatus", "traits": { - "smithy.api#documentation": "

The current state of the replica global secondary index:

\n
    \n
  • \n

    \n CREATING - The index is being created.

    \n
  • \n
  • \n

    \n UPDATING - The index is being updated.

    \n
  • \n
  • \n

    \n DELETING - The index is being deleted.

    \n
  • \n
  • \n

    \n ACTIVE - The index is ready for use.

    \n
  • \n
" + "smithy.api#documentation": "

The current state of the replica global secondary index:

\n
    \n
  • \n

    \n CREATING - The index is being created.

    \n
  • \n
  • \n

    \n UPDATING - The table/index configuration is being updated. The\n table/index remains available for data operations when\n UPDATING\n

    \n\n
  • \n
  • \n

    \n DELETING - The index is being deleted.

    \n
  • \n
  • \n

    \n ACTIVE - The index is ready for use.

    \n
  • \n
" } }, "ProvisionedReadCapacityAutoScalingSettings": { @@ -9404,7 +8378,7 @@ "ReplicaTableClass": { "target": "com.amazonaws.dynamodb#TableClass", "traits": { - "smithy.api#documentation": "

Replica-specific table class. If not specified, uses the source table's\n table class.

" + "smithy.api#documentation": "

Replica-specific table class. If not specified, uses the source table's table\n class.

" } } }, @@ -9425,38 +8399,50 @@ } }, "com.amazonaws.dynamodb#ReplicaStatus": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "CREATING", - "name": "CREATING" - }, - { - "value": "CREATION_FAILED", - "name": "CREATION_FAILED" - }, - { - "value": "UPDATING", - "name": "UPDATING" - }, - { - "value": "DELETING", - "name": "DELETING" - }, - { - "value": "ACTIVE", - "name": "ACTIVE" - }, - { - "value": "REGION_DISABLED", - "name": "REGION_DISABLED" - }, - { - "value": "INACCESSIBLE_ENCRYPTION_CREDENTIALS", - "name": "INACCESSIBLE_ENCRYPTION_CREDENTIALS" + "type": "enum", + "members": { + "CREATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATING" } - ] + }, + "CREATION_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATION_FAILED" + } + }, + "UPDATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UPDATING" + } + }, + "DELETING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETING" + } + }, + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "REGION_DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "REGION_DISABLED" + } + }, + "INACCESSIBLE_ENCRYPTION_CREDENTIALS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INACCESSIBLE_ENCRYPTION_CREDENTIALS" + } + } } }, "com.amazonaws.dynamodb#ReplicaStatusDescription": { @@ -9514,7 +8500,7 @@ } }, "traits": { - "smithy.api#documentation": "

Represents one of the following:

\n
    \n
  • \n

    A new replica to be added to an existing regional table or global table. This\n request invokes the CreateTableReplica action in the destination\n Region.

    \n
  • \n
  • \n

    New parameters for an existing replica. This request invokes the\n UpdateTable action in the destination Region.

    \n
  • \n
  • \n

    An existing replica to be deleted. The request invokes the\n DeleteTableReplica action in the destination Region, deleting\n the replica and all if its items in the destination Region.

    \n
  • \n
\n \n

When you manually remove a table or global table replica, you do not \n automatically remove any associated scalable targets, scaling policies, or \n CloudWatch alarms.

\n
" + "smithy.api#documentation": "

Represents one of the following:

\n
    \n
  • \n

    A new replica to be added to an existing regional table or global table. This\n request invokes the CreateTableReplica action in the destination\n Region.

    \n
  • \n
  • \n

    New parameters for an existing replica. This request invokes the\n UpdateTable action in the destination Region.

    \n
  • \n
  • \n

    An existing replica to be deleted. The request invokes the\n DeleteTableReplica action in the destination Region, deleting\n the replica and all if its items in the destination Region.

    \n
  • \n
\n \n

When you manually remove a table or global table replica, you do not automatically\n remove any associated scalable targets, scaling policies, or CloudWatch\n alarms.

\n
" } }, "com.amazonaws.dynamodb#ReplicationGroupUpdateList": { @@ -9833,80 +8819,98 @@ } }, "com.amazonaws.dynamodb#ReturnConsumedCapacity": { - "type": "string", - "traits": { - "smithy.api#documentation": "

Determines the level of detail about either provisioned or on-demand throughput\n consumption that is returned in the response:

\n
    \n
  • \n

    \n INDEXES - The response includes the aggregate\n ConsumedCapacity for the operation, together with\n ConsumedCapacity for each table and secondary index that was\n accessed.

    \n

    Note that some operations, such as GetItem and\n BatchGetItem, do not access any indexes at all. In these cases,\n specifying INDEXES will only return ConsumedCapacity\n information for table(s).

    \n
  • \n
  • \n

    \n TOTAL - The response includes only the aggregate\n ConsumedCapacity for the operation.

    \n
  • \n
  • \n

    \n NONE - No ConsumedCapacity details are included in the\n response.

    \n
  • \n
", - "smithy.api#enum": [ - { - "value": "INDEXES", - "name": "INDEXES" - }, - { - "value": "TOTAL", - "name": "TOTAL" - }, - { - "value": "NONE", - "name": "NONE" + "type": "enum", + "members": { + "INDEXES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INDEXES" } - ] + }, + "TOTAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TOTAL" + } + }, + "NONE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NONE" + } + } + }, + "traits": { + "smithy.api#documentation": "

Determines the level of detail about either provisioned or on-demand throughput\n consumption that is returned in the response:

\n
    \n
  • \n

    \n INDEXES - The response includes the aggregate\n ConsumedCapacity for the operation, together with\n ConsumedCapacity for each table and secondary index that was\n accessed.

    \n

    Note that some operations, such as GetItem and\n BatchGetItem, do not access any indexes at all. In these cases,\n specifying INDEXES will only return ConsumedCapacity\n information for table(s).

    \n
  • \n
  • \n

    \n TOTAL - The response includes only the aggregate\n ConsumedCapacity for the operation.

    \n
  • \n
  • \n

    \n NONE - No ConsumedCapacity details are included in the\n response.

    \n
  • \n
" } }, "com.amazonaws.dynamodb#ReturnItemCollectionMetrics": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "SIZE", - "name": "SIZE" - }, - { - "value": "NONE", - "name": "NONE" + "type": "enum", + "members": { + "SIZE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SIZE" } - ] + }, + "NONE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NONE" + } + } } }, "com.amazonaws.dynamodb#ReturnValue": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "NONE", - "name": "NONE" - }, - { - "value": "ALL_OLD", - "name": "ALL_OLD" - }, - { - "value": "UPDATED_OLD", - "name": "UPDATED_OLD" - }, - { - "value": "ALL_NEW", - "name": "ALL_NEW" - }, - { - "value": "UPDATED_NEW", - "name": "UPDATED_NEW" + "type": "enum", + "members": { + "NONE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NONE" } - ] + }, + "ALL_OLD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ALL_OLD" + } + }, + "UPDATED_OLD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UPDATED_OLD" + } + }, + "ALL_NEW": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ALL_NEW" + } + }, + "UPDATED_NEW": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UPDATED_NEW" + } + } } }, "com.amazonaws.dynamodb#ReturnValuesOnConditionCheckFailure": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "ALL_OLD", - "name": "ALL_OLD" - }, - { - "value": "NONE", - "name": "NONE" + "type": "enum", + "members": { + "ALL_OLD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ALL_OLD" } - ] + }, + "NONE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NONE" + } + } } }, "com.amazonaws.dynamodb#S3Bucket": { @@ -9931,25 +8935,25 @@ "S3BucketOwner": { "target": "com.amazonaws.dynamodb#S3BucketOwner", "traits": { - "smithy.api#documentation": "

\n The account number of the S3 bucket that is being imported from. \n If the bucket is owned by the requester this is optional. \n

" + "smithy.api#documentation": "

The account number of the S3 bucket that is being imported from. If the bucket is\n owned by the requester this is optional.

" } }, "S3Bucket": { "target": "com.amazonaws.dynamodb#S3Bucket", "traits": { - "smithy.api#documentation": "

\n The S3 bucket that is being imported from.\n

", + "smithy.api#documentation": "

The S3 bucket that is being imported from.

", "smithy.api#required": {} } }, "S3KeyPrefix": { "target": "com.amazonaws.dynamodb#S3Prefix", "traits": { - "smithy.api#documentation": "

\n The key prefix shared by all S3 Objects that are being imported.\n

" + "smithy.api#documentation": "

The key prefix shared by all S3 Objects that are being imported.

" } } }, "traits": { - "smithy.api#documentation": "

\n The S3 bucket that is being imported from.\n

" + "smithy.api#documentation": "

The S3 bucket that is being imported from.

" } }, "com.amazonaws.dynamodb#S3Prefix": { @@ -9962,18 +8966,20 @@ } }, "com.amazonaws.dynamodb#S3SseAlgorithm": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "AES256", - "name": "AES256" - }, - { - "value": "KMS", - "name": "KMS" + "type": "enum", + "members": { + "AES256": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AES256" } - ] + }, + "KMS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "KMS" + } + } } }, "com.amazonaws.dynamodb#S3SseKmsKeyId": { @@ -10003,7 +9009,7 @@ "KMSMasterKeyArn": { "target": "com.amazonaws.dynamodb#KMSMasterKeyArn", "traits": { - "smithy.api#documentation": "

The KMS key ARN used for the KMS\n encryption.

" + "smithy.api#documentation": "

The KMS key ARN used for the KMS encryption.

" } }, "InaccessibleEncryptionDateTime": { @@ -10047,64 +9053,78 @@ } }, "com.amazonaws.dynamodb#SSEStatus": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "ENABLING", - "name": "ENABLING" - }, - { - "value": "ENABLED", - "name": "ENABLED" - }, - { - "value": "DISABLING", - "name": "DISABLING" - }, - { - "value": "DISABLED", - "name": "DISABLED" - }, - { - "value": "UPDATING", - "name": "UPDATING" + "type": "enum", + "members": { + "ENABLING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLING" } - ] + }, + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLED" + } + }, + "DISABLING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLING" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } + }, + "UPDATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UPDATING" + } + } } }, "com.amazonaws.dynamodb#SSEType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "AES256", - "name": "AES256" - }, - { - "value": "KMS", - "name": "KMS" + "type": "enum", + "members": { + "AES256": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AES256" } - ] + }, + "KMS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "KMS" + } + } } }, "com.amazonaws.dynamodb#ScalarAttributeType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "S", - "name": "S" - }, - { - "value": "N", - "name": "N" - }, - { - "value": "B", - "name": "B" + "type": "enum", + "members": { + "S": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "S" } - ] + }, + "N": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "N" + } + }, + "B": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "B" + } + } } }, "com.amazonaws.dynamodb#Scan": { @@ -10318,26 +9338,32 @@ } }, "com.amazonaws.dynamodb#Select": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "ALL_ATTRIBUTES", - "name": "ALL_ATTRIBUTES" - }, - { - "value": "ALL_PROJECTED_ATTRIBUTES", - "name": "ALL_PROJECTED_ATTRIBUTES" - }, - { - "value": "SPECIFIC_ATTRIBUTES", - "name": "SPECIFIC_ATTRIBUTES" - }, - { - "value": "COUNT", - "name": "COUNT" + "type": "enum", + "members": { + "ALL_ATTRIBUTES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ALL_ATTRIBUTES" } - ] + }, + "ALL_PROJECTED_ATTRIBUTES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ALL_PROJECTED_ATTRIBUTES" + } + }, + "SPECIFIC_ATTRIBUTES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SPECIFIC_ATTRIBUTES" + } + }, + "COUNT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "COUNT" + } + } } }, "com.amazonaws.dynamodb#SourceTableDetails": { @@ -10366,7 +9392,6 @@ "TableSizeBytes": { "target": "com.amazonaws.dynamodb#Long", "traits": { - "smithy.api#default": 0, "smithy.api#documentation": "

Size of the table in bytes. Note that this is an approximate value.

" } }, @@ -10480,26 +9505,32 @@ } }, "com.amazonaws.dynamodb#StreamViewType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "NEW_IMAGE", - "name": "NEW_IMAGE" - }, - { - "value": "OLD_IMAGE", - "name": "OLD_IMAGE" - }, - { - "value": "NEW_AND_OLD_IMAGES", - "name": "NEW_AND_OLD_IMAGES" - }, - { - "value": "KEYS_ONLY", - "name": "KEYS_ONLY" + "type": "enum", + "members": { + "NEW_IMAGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NEW_IMAGE" } - ] + }, + "OLD_IMAGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "OLD_IMAGE" + } + }, + "NEW_AND_OLD_IMAGES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NEW_AND_OLD_IMAGES" + } + }, + "KEYS_ONLY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "KEYS_ONLY" + } + } } }, "com.amazonaws.dynamodb#String": { @@ -10556,18 +9587,20 @@ } }, "com.amazonaws.dynamodb#TableClass": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "STANDARD", - "name": "STANDARD" - }, - { - "value": "STANDARD_INFREQUENT_ACCESS", - "name": "STANDARD_INFREQUENT_ACCESS" + "type": "enum", + "members": { + "STANDARD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STANDARD" } - ] + }, + "STANDARD_INFREQUENT_ACCESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STANDARD_INFREQUENT_ACCESS" + } + } } }, "com.amazonaws.dynamodb#TableClassSummary": { @@ -10599,28 +9632,28 @@ "TableName": { "target": "com.amazonaws.dynamodb#TableName", "traits": { - "smithy.api#documentation": "

\n The name of the table created as part of the import operation. \n

", + "smithy.api#documentation": "

The name of the table created as part of the import operation.

", "smithy.api#required": {} } }, "AttributeDefinitions": { "target": "com.amazonaws.dynamodb#AttributeDefinitions", "traits": { - "smithy.api#documentation": "

\n The attributes of the table created as part of the import operation.\n

", + "smithy.api#documentation": "

The attributes of the table created as part of the import operation.

", "smithy.api#required": {} } }, "KeySchema": { "target": "com.amazonaws.dynamodb#KeySchema", "traits": { - "smithy.api#documentation": "

\n The primary key and option sort key of the table created as part of the import operation.\n

", + "smithy.api#documentation": "

The primary key and option sort key of the table created as part of the import\n operation.

", "smithy.api#required": {} } }, "BillingMode": { "target": "com.amazonaws.dynamodb#BillingMode", "traits": { - "smithy.api#documentation": "

\n The billing mode for provisioning the table created as part of the import operation.\n

" + "smithy.api#documentation": "

The billing mode for provisioning the table created as part of the import operation.\n

" } }, "ProvisionedThroughput": { @@ -10632,12 +9665,12 @@ "GlobalSecondaryIndexes": { "target": "com.amazonaws.dynamodb#GlobalSecondaryIndexList", "traits": { - "smithy.api#documentation": "

\n The Global Secondary Indexes (GSI) of the table to be created as part of the import operation.\n

" + "smithy.api#documentation": "

The Global Secondary Indexes (GSI) of the table to be created as part of the import\n operation.

" } } }, "traits": { - "smithy.api#documentation": "

The parameters for the table created as part of the import operation.\n

" + "smithy.api#documentation": "

The parameters for the table created as part of the import operation.

" } }, "com.amazonaws.dynamodb#TableDescription": { @@ -10664,7 +9697,7 @@ "TableStatus": { "target": "com.amazonaws.dynamodb#TableStatus", "traits": { - "smithy.api#documentation": "

The current state of the table:

\n
    \n
  • \n

    \n CREATING - The table is being created.

    \n
  • \n
  • \n

    \n UPDATING - The table is being updated.

    \n
  • \n
  • \n

    \n DELETING - The table is being deleted.

    \n
  • \n
  • \n

    \n ACTIVE - The table is ready for use.

    \n
  • \n
  • \n

    \n INACCESSIBLE_ENCRYPTION_CREDENTIALS - The KMS key\n used to encrypt the table in inaccessible. Table operations may fail due to\n failure to use the KMS key. DynamoDB will initiate the\n table archival process when a table's KMS key remains\n inaccessible for more than seven days.

    \n
  • \n
  • \n

    \n ARCHIVING - The table is being archived. Operations are not allowed\n until archival is complete.

    \n
  • \n
  • \n

    \n ARCHIVED - The table has been archived. See the ArchivalReason for\n more information.

    \n
  • \n
" + "smithy.api#documentation": "

The current state of the table:

\n
    \n
  • \n

    \n CREATING - The table is being created.

    \n
  • \n
  • \n

    \n UPDATING - The table/index configuration is being updated. The\n table/index remains available for data operations when\n UPDATING.

    \n
  • \n
  • \n

    \n DELETING - The table is being deleted.

    \n
  • \n
  • \n

    \n ACTIVE - The table is ready for use.

    \n
  • \n
  • \n

    \n INACCESSIBLE_ENCRYPTION_CREDENTIALS - The KMS key\n used to encrypt the table in inaccessible. Table operations may fail due to\n failure to use the KMS key. DynamoDB will initiate the\n table archival process when a table's KMS key remains\n inaccessible for more than seven days.

    \n
  • \n
  • \n

    \n ARCHIVING - The table is being archived. Operations are not allowed\n until archival is complete.

    \n
  • \n
  • \n

    \n ARCHIVED - The table has been archived. See the ArchivalReason for\n more information.

    \n
  • \n
" } }, "CreationDateTime": { @@ -10682,14 +9715,12 @@ "TableSizeBytes": { "target": "com.amazonaws.dynamodb#Long", "traits": { - "smithy.api#default": 0, "smithy.api#documentation": "

The total size of the specified table, in bytes. DynamoDB updates this value\n approximately every six hours. Recent changes might not be reflected in this\n value.

" } }, "ItemCount": { "target": "com.amazonaws.dynamodb#Long", "traits": { - "smithy.api#default": 0, "smithy.api#documentation": "

The number of items in the specified table. DynamoDB updates this value approximately\n every six hours. Recent changes might not be reflected in this value.

" } }, @@ -10829,38 +9860,50 @@ } }, "com.amazonaws.dynamodb#TableStatus": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "CREATING", - "name": "CREATING" - }, - { - "value": "UPDATING", - "name": "UPDATING" - }, - { - "value": "DELETING", - "name": "DELETING" - }, - { - "value": "ACTIVE", - "name": "ACTIVE" - }, - { - "value": "INACCESSIBLE_ENCRYPTION_CREDENTIALS", - "name": "INACCESSIBLE_ENCRYPTION_CREDENTIALS" - }, - { - "value": "ARCHIVING", - "name": "ARCHIVING" - }, - { - "value": "ARCHIVED", - "name": "ARCHIVED" + "type": "enum", + "members": { + "CREATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATING" } - ] + }, + "UPDATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UPDATING" + } + }, + "DELETING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETING" + } + }, + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "INACCESSIBLE_ENCRYPTION_CREDENTIALS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INACCESSIBLE_ENCRYPTION_CREDENTIALS" + } + }, + "ARCHIVING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ARCHIVING" + } + }, + "ARCHIVED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ARCHIVED" + } + } } }, "com.amazonaws.dynamodb#Tag": { @@ -11027,26 +10070,32 @@ } }, "com.amazonaws.dynamodb#TimeToLiveStatus": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "ENABLING", - "name": "ENABLING" - }, - { - "value": "DISABLING", - "name": "DISABLING" - }, - { - "value": "ENABLED", - "name": "ENABLED" - }, - { - "value": "DISABLED", - "name": "DISABLED" + "type": "enum", + "members": { + "ENABLING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLING" } - ] + }, + "DISABLING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLING" + } + }, + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLED" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } + } } }, "com.amazonaws.dynamodb#TransactGetItem": { @@ -11895,7 +10944,7 @@ "KMSMasterKeyId": { "target": "com.amazonaws.dynamodb#KMSMasterKeyId", "traits": { - "smithy.api#documentation": "

The KMS key of the replica that should be used\n for KMS encryption. To specify a key, use its key ID, Amazon Resource\n Name (ARN), alias name, or alias ARN. Note that you should only provide this parameter\n if the key is different from the default DynamoDB KMS key\n alias/aws/dynamodb.

" + "smithy.api#documentation": "

The KMS key of the replica that should be used for KMS\n encryption. To specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or\n alias ARN. Note that you should only provide this parameter if the key is different from\n the default DynamoDB KMS key alias/aws/dynamodb.

" } }, "ProvisionedThroughputOverride": { @@ -11913,7 +10962,7 @@ "TableClassOverride": { "target": "com.amazonaws.dynamodb#TableClass", "traits": { - "smithy.api#documentation": "

Replica-specific table class. If not specified, uses the source table's\n table class.

" + "smithy.api#documentation": "

Replica-specific table class. If not specified, uses the source table's table\n class.

" } } }, diff --git a/aws/sdk/aws-models/ec2.json b/aws/sdk/aws-models/ec2.json index ab869e0f7e..ee225e1375 100644 --- a/aws/sdk/aws-models/ec2.json +++ b/aws/sdk/aws-models/ec2.json @@ -309,6 +309,9 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.ec2#AcceptAddressTransferResult": { @@ -365,7 +368,8 @@ } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for accepting the quote.

" + "smithy.api#documentation": "

Contains the parameters for accepting the quote.

", + "smithy.api#input": {} } }, "com.amazonaws.ec2#AcceptReservedInstancesExchangeQuoteResult": { @@ -425,6 +429,9 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.ec2#AcceptTransitGatewayMulticastDomainAssociationsResult": { @@ -434,6 +441,7 @@ "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainAssociations", "traits": { "aws.protocols#ec2QueryName": "Associations", + "smithy.api#documentation": "

Information about the multicast domain associations.

", "smithy.api#xmlName": "associations" } } @@ -470,6 +478,9 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.ec2#AcceptTransitGatewayPeeringAttachmentResult": { @@ -516,6 +527,9 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.ec2#AcceptTransitGatewayVpcAttachmentResult": { @@ -540,7 +554,7 @@ "target": "com.amazonaws.ec2#AcceptVpcEndpointConnectionsResult" }, "traits": { - "smithy.api#documentation": "

Accepts one or more interface VPC endpoint connection requests to your VPC endpoint service.

" + "smithy.api#documentation": "

Accepts connection requests to your VPC endpoint service.

" } }, "com.amazonaws.ec2#AcceptVpcEndpointConnectionsRequest": { @@ -566,11 +580,14 @@ "target": "com.amazonaws.ec2#VpcEndpointIdList", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IDs of one or more interface VPC endpoints.

", + "smithy.api#documentation": "

The IDs of the interface VPC endpoints.

", "smithy.api#required": {}, "smithy.api#xmlName": "VpcEndpointId" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.ec2#AcceptVpcEndpointConnectionsResult": { @@ -595,7 +612,7 @@ "target": "com.amazonaws.ec2#AcceptVpcPeeringConnectionResult" }, "traits": { - "smithy.api#documentation": "

Accept a VPC peering connection request. To accept a request, the VPC peering connection must\n be in the pending-acceptance state, and you must be the owner of the peer VPC.\n Use DescribeVpcPeeringConnections to view your outstanding VPC\n peering connection requests.

\n \t

For an inter-Region VPC peering connection request, you must accept the VPC peering\n connection in the Region of the accepter VPC.

" + "smithy.api#documentation": "

Accept a VPC peering connection request. To accept a request, the VPC peering connection must\n be in the pending-acceptance state, and you must be the owner of the peer VPC.\n Use DescribeVpcPeeringConnections to view your outstanding VPC\n peering connection requests.

\n

For an inter-Region VPC peering connection request, you must accept the VPC peering\n connection in the Region of the accepter VPC.

" } }, "com.amazonaws.ec2#AcceptVpcPeeringConnectionRequest": { @@ -612,13 +629,16 @@ } }, "VpcPeeringConnectionId": { - "target": "com.amazonaws.ec2#VpcPeeringConnectionId", + "target": "com.amazonaws.ec2#VpcPeeringConnectionIdWithResolver", "traits": { "aws.protocols#ec2QueryName": "VpcPeeringConnectionId", "smithy.api#documentation": "

The ID of the VPC peering connection. You must specify this parameter in the\n\t\t\trequest.

", "smithy.api#xmlName": "vpcPeeringConnectionId" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.ec2#AcceptVpcPeeringConnectionResult": { @@ -933,7 +953,7 @@ } }, "traits": { - "smithy.api#documentation": "

Add an operating Region to an IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only\n discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

\n

For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide.\n

" + "smithy.api#documentation": "

Add an operating Region to an IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

\n

For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide.\n

" } }, "com.amazonaws.ec2#AddIpamOperatingRegionSet": { @@ -974,7 +994,7 @@ "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

A description for the entry.

\n

Constraints: Up to 255 characters in length.

" + "smithy.api#documentation": "

A description for the entry.

\n

Constraints: Up to 255 characters in length.

" } } }, @@ -1377,7 +1397,7 @@ "target": "com.amazonaws.ec2#AdvertiseByoipCidrResult" }, "traits": { - "smithy.api#documentation": "

Advertises an IPv4 or IPv6 address range that is provisioned for use with your Amazon Web Services resources through \n bring your own IP addresses (BYOIP).

\n

You can perform this operation at most once every 10 seconds, even if you specify different \n address ranges each time.

\n

We recommend that you stop advertising the BYOIP CIDR from other locations when you advertise\n it from Amazon Web Services. To minimize down time, you can configure your Amazon Web Services resources to use an address from a\n BYOIP CIDR before it is advertised, and then simultaneously stop advertising it from the current \n location and start advertising it through Amazon Web Services.

\n

It can take a few minutes before traffic to the specified addresses starts routing to Amazon Web Services\n because of BGP propagation delays.

\n

To stop advertising the BYOIP CIDR, use WithdrawByoipCidr.

" + "smithy.api#documentation": "

Advertises an IPv4 or IPv6 address range that is provisioned for use with your Amazon Web Services resources through \n bring your own IP addresses (BYOIP).

\n

You can perform this operation at most once every 10 seconds, even if you specify different \n address ranges each time.

\n

We recommend that you stop advertising the BYOIP CIDR from other locations when you advertise\n it from Amazon Web Services. To minimize down time, you can configure your Amazon Web Services resources to use an address from a\n BYOIP CIDR before it is advertised, and then simultaneously stop advertising it from the current \n location and start advertising it through Amazon Web Services.

\n

It can take a few minutes before traffic to the specified addresses starts routing to Amazon Web Services\n because of BGP propagation delays.

\n

To stop advertising the BYOIP CIDR, use WithdrawByoipCidr.

" } }, "com.amazonaws.ec2#AdvertiseByoipCidrRequest": { @@ -1399,6 +1419,9 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.ec2#AdvertiseByoipCidrResult": { @@ -1467,7 +1490,7 @@ "NetworkBorderGroup": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

A unique set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services\n advertises IP addresses. Use this parameter to limit the IP address to this location. IP\n addresses cannot move between network border groups.

\n

Use DescribeAvailabilityZones to view the network border groups.

\n \n

You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 Classic, \n you receive an InvalidParameterCombination error.

" + "smithy.api#documentation": "

A unique set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services\n advertises IP addresses. Use this parameter to limit the IP address to this location. IP\n addresses cannot move between network border groups.

\n

Use DescribeAvailabilityZones to view the network border groups.

\n

You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 Classic, \n you receive an InvalidParameterCombination error.

" } }, "CustomerOwnedIpv4Pool": { @@ -1493,6 +1516,9 @@ "smithy.api#xmlName": "TagSpecification" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.ec2#AllocateAddressResult": { @@ -1583,7 +1609,7 @@ "target": "com.amazonaws.ec2#AutoPlacement", "traits": { "aws.protocols#ec2QueryName": "AutoPlacement", - "smithy.api#documentation": "

Indicates whether the host accepts any untargeted instance launches that match its\n instance type configuration, or if it only accepts Host tenancy instance launches that\n specify its unique host ID. For more information, see Understanding auto-placement and affinity in the\n Amazon EC2 User Guide.

\n\n

Default: on\n

", + "smithy.api#documentation": "

Indicates whether the host accepts any untargeted instance launches that match its\n instance type configuration, or if it only accepts Host tenancy instance launches that\n specify its unique host ID. For more information, see Understanding auto-placement and affinity in the\n Amazon EC2 User Guide.

\n

Default: on\n

", "smithy.api#xmlName": "autoPlacement" } }, @@ -1609,14 +1635,14 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "InstanceType", - "smithy.api#documentation": "

Specifies the instance type to be supported by the Dedicated Hosts. If you specify an\n instance type, the Dedicated Hosts support instances of the specified instance type\n only.

\n\n

If you want the Dedicated Hosts to support multiple instance types in a specific\n instance family, omit this parameter and specify InstanceFamily instead. You cannot specify InstanceType and InstanceFamily in the\n same request.

", + "smithy.api#documentation": "

Specifies the instance type to be supported by the Dedicated Hosts. If you specify an\n instance type, the Dedicated Hosts support instances of the specified instance type\n only.

\n

If you want the Dedicated Hosts to support multiple instance types in a specific\n instance family, omit this parameter and specify InstanceFamily instead. You cannot specify InstanceType and InstanceFamily in the\n same request.

", "smithy.api#xmlName": "instanceType" } }, "InstanceFamily": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

Specifies the instance family to be supported by the Dedicated Hosts. If you specify\n an instance family, the Dedicated Hosts support multiple instance types within that\n instance family.

\n\n

If you want the Dedicated Hosts to support a specific instance type only, omit this\n parameter and specify InstanceType instead. You cannot\n specify InstanceFamily and InstanceType in the same request.

" + "smithy.api#documentation": "

Specifies the instance family to be supported by the Dedicated Hosts. If you specify\n an instance family, the Dedicated Hosts support multiple instance types within that\n instance family.

\n

If you want the Dedicated Hosts to support a specific instance type only, omit this\n parameter and specify InstanceType instead. You cannot\n specify InstanceFamily and InstanceType in the same request.

" } }, "Quantity": { @@ -1640,7 +1666,7 @@ "HostRecovery": { "target": "com.amazonaws.ec2#HostRecovery", "traits": { - "smithy.api#documentation": "

Indicates whether to enable or disable host recovery for the Dedicated Host. Host\n recovery is disabled by default. For more information, see Host recovery\n in the Amazon EC2 User Guide.

\n

Default: off\n

" + "smithy.api#documentation": "

Indicates whether to enable or disable host recovery for the Dedicated Host. Host\n recovery is disabled by default. For more information, see Host recovery\n in the Amazon EC2 User Guide.

\n

Default: off\n

" } }, "OutpostArn": { @@ -1649,6 +1675,9 @@ "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Web Services Outpost on which to allocate\n the Dedicated Host.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.ec2#AllocateHostsResult": { @@ -1676,7 +1705,7 @@ "target": "com.amazonaws.ec2#AllocateIpamPoolCidrResult" }, "traits": { - "smithy.api#documentation": "

Allocate a CIDR from an IPAM pool. In IPAM, an allocation is a CIDR assignment from an IPAM pool to another resource or IPAM pool. For more information, see Allocate CIDRs in the Amazon VPC IPAM User Guide.\n

" + "smithy.api#documentation": "

Allocate a CIDR from an IPAM pool. In IPAM, an allocation is a CIDR assignment from an IPAM pool to another IPAM pool or to a resource. For more information, see Allocate CIDRs in the Amazon VPC IPAM User Guide.\n

" } }, "com.amazonaws.ec2#AllocateIpamPoolCidrRequest": { @@ -1740,6 +1769,9 @@ "smithy.api#xmlName": "DisallowedCidr" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.ec2#AllocateIpamPoolCidrResult": { @@ -1843,6 +1875,12 @@ "traits": { "smithy.api#enumValue": "capacityOptimizedPrioritized" } + }, + "PRICE_CAPACITY_OPTIMIZED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "priceCapacityOptimized" + } } } }, @@ -2053,6 +2091,9 @@ { "target": "com.amazonaws.ec2#AssociateInstanceEventWindow" }, + { + "target": "com.amazonaws.ec2#AssociateIpamResourceDiscovery" + }, { "target": "com.amazonaws.ec2#AssociateRouteTable" }, @@ -2083,6 +2124,9 @@ { "target": "com.amazonaws.ec2#AttachNetworkInterface" }, + { + "target": "com.amazonaws.ec2#AttachVerifiedAccessTrustProvider" + }, { "target": "com.amazonaws.ec2#AttachVolume" }, @@ -2206,6 +2250,9 @@ { "target": "com.amazonaws.ec2#CreateIpamPool" }, + { + "target": "com.amazonaws.ec2#CreateIpamResourceDiscovery" + }, { "target": "com.amazonaws.ec2#CreateIpamScope" }, @@ -2344,6 +2391,18 @@ { "target": "com.amazonaws.ec2#CreateTransitGatewayVpcAttachment" }, + { + "target": "com.amazonaws.ec2#CreateVerifiedAccessEndpoint" + }, + { + "target": "com.amazonaws.ec2#CreateVerifiedAccessGroup" + }, + { + "target": "com.amazonaws.ec2#CreateVerifiedAccessInstance" + }, + { + "target": "com.amazonaws.ec2#CreateVerifiedAccessTrustProvider" + }, { "target": "com.amazonaws.ec2#CreateVolume" }, @@ -2416,6 +2475,9 @@ { "target": "com.amazonaws.ec2#DeleteIpamPool" }, + { + "target": "com.amazonaws.ec2#DeleteIpamResourceDiscovery" + }, { "target": "com.amazonaws.ec2#DeleteIpamScope" }, @@ -2548,6 +2610,18 @@ { "target": "com.amazonaws.ec2#DeleteTransitGatewayVpcAttachment" }, + { + "target": "com.amazonaws.ec2#DeleteVerifiedAccessEndpoint" + }, + { + "target": "com.amazonaws.ec2#DeleteVerifiedAccessGroup" + }, + { + "target": "com.amazonaws.ec2#DeleteVerifiedAccessInstance" + }, + { + "target": "com.amazonaws.ec2#DeleteVerifiedAccessTrustProvider" + }, { "target": "com.amazonaws.ec2#DeleteVolume" }, @@ -2614,6 +2688,9 @@ { "target": "com.amazonaws.ec2#DescribeAvailabilityZones" }, + { + "target": "com.amazonaws.ec2#DescribeAwsNetworkPerformanceMetricSubscriptions" + }, { "target": "com.amazonaws.ec2#DescribeBundleTasks" }, @@ -2755,6 +2832,12 @@ { "target": "com.amazonaws.ec2#DescribeIpamPools" }, + { + "target": "com.amazonaws.ec2#DescribeIpamResourceDiscoveries" + }, + { + "target": "com.amazonaws.ec2#DescribeIpamResourceDiscoveryAssociations" + }, { "target": "com.amazonaws.ec2#DescribeIpams" }, @@ -2953,6 +3036,21 @@ { "target": "com.amazonaws.ec2#DescribeTrunkInterfaceAssociations" }, + { + "target": "com.amazonaws.ec2#DescribeVerifiedAccessEndpoints" + }, + { + "target": "com.amazonaws.ec2#DescribeVerifiedAccessGroups" + }, + { + "target": "com.amazonaws.ec2#DescribeVerifiedAccessInstanceLoggingConfigurations" + }, + { + "target": "com.amazonaws.ec2#DescribeVerifiedAccessInstances" + }, + { + "target": "com.amazonaws.ec2#DescribeVerifiedAccessTrustProviders" + }, { "target": "com.amazonaws.ec2#DescribeVolumeAttribute" }, @@ -3013,6 +3111,9 @@ { "target": "com.amazonaws.ec2#DetachNetworkInterface" }, + { + "target": "com.amazonaws.ec2#DetachVerifiedAccessTrustProvider" + }, { "target": "com.amazonaws.ec2#DetachVolume" }, @@ -3022,6 +3123,9 @@ { "target": "com.amazonaws.ec2#DisableAddressTransfer" }, + { + "target": "com.amazonaws.ec2#DisableAwsNetworkPerformanceMetricSubscription" + }, { "target": "com.amazonaws.ec2#DisableEbsEncryptionByDefault" }, @@ -3067,6 +3171,9 @@ { "target": "com.amazonaws.ec2#DisassociateInstanceEventWindow" }, + { + "target": "com.amazonaws.ec2#DisassociateIpamResourceDiscovery" + }, { "target": "com.amazonaws.ec2#DisassociateRouteTable" }, @@ -3091,6 +3198,9 @@ { "target": "com.amazonaws.ec2#EnableAddressTransfer" }, + { + "target": "com.amazonaws.ec2#EnableAwsNetworkPerformanceMetricSubscription" + }, { "target": "com.amazonaws.ec2#EnableEbsEncryptionByDefault" }, @@ -3106,6 +3216,9 @@ { "target": "com.amazonaws.ec2#EnableIpamOrganizationAdminAccount" }, + { + "target": "com.amazonaws.ec2#EnableReachabilityAnalyzerOrganizationSharing" + }, { "target": "com.amazonaws.ec2#EnableSerialConsoleAccess" }, @@ -3142,6 +3255,9 @@ { "target": "com.amazonaws.ec2#GetAssociatedIpv6PoolCidrs" }, + { + "target": "com.amazonaws.ec2#GetAwsNetworkPerformanceData" + }, { "target": "com.amazonaws.ec2#GetCapacityReservationUsage" }, @@ -3181,6 +3297,12 @@ { "target": "com.amazonaws.ec2#GetIpamAddressHistory" }, + { + "target": "com.amazonaws.ec2#GetIpamDiscoveredAccounts" + }, + { + "target": "com.amazonaws.ec2#GetIpamDiscoveredResourceCidrs" + }, { "target": "com.amazonaws.ec2#GetIpamPoolAllocations" }, @@ -3241,6 +3363,12 @@ { "target": "com.amazonaws.ec2#GetTransitGatewayRouteTablePropagations" }, + { + "target": "com.amazonaws.ec2#GetVerifiedAccessEndpointPolicy" + }, + { + "target": "com.amazonaws.ec2#GetVerifiedAccessGroupPolicy" + }, { "target": "com.amazonaws.ec2#GetVpnConnectionDeviceSampleConfiguration" }, @@ -3343,6 +3471,9 @@ { "target": "com.amazonaws.ec2#ModifyIpamResourceCidr" }, + { + "target": "com.amazonaws.ec2#ModifyIpamResourceDiscovery" + }, { "target": "com.amazonaws.ec2#ModifyIpamScope" }, @@ -3397,6 +3528,27 @@ { "target": "com.amazonaws.ec2#ModifyTransitGatewayVpcAttachment" }, + { + "target": "com.amazonaws.ec2#ModifyVerifiedAccessEndpoint" + }, + { + "target": "com.amazonaws.ec2#ModifyVerifiedAccessEndpointPolicy" + }, + { + "target": "com.amazonaws.ec2#ModifyVerifiedAccessGroup" + }, + { + "target": "com.amazonaws.ec2#ModifyVerifiedAccessGroupPolicy" + }, + { + "target": "com.amazonaws.ec2#ModifyVerifiedAccessInstance" + }, + { + "target": "com.amazonaws.ec2#ModifyVerifiedAccessInstanceLoggingConfiguration" + }, + { + "target": "com.amazonaws.ec2#ModifyVerifiedAccessTrustProvider" + }, { "target": "com.amazonaws.ec2#ModifyVolume" }, @@ -3647,7 +3799,7 @@ "name": "ec2" }, "aws.protocols#ec2Query": {}, - "smithy.api#documentation": "Amazon Elastic Compute Cloud\n

Amazon Elastic Compute Cloud (Amazon EC2) provides secure and resizable computing capacity in the Amazon Web Services Cloud. \n Using Amazon EC2 eliminates the need to invest in hardware up front, so you can develop and deploy applications \n faster. Amazon Virtual Private Cloud (Amazon VPC) enables you to provision a logically isolated section of the \n Amazon Web Services Cloud where you can launch Amazon Web Services resources in a virtual network that you've defined. Amazon Elastic Block Store \n (Amazon EBS) provides block level storage volumes for use with EC2 instances. EBS volumes are highly available \n and reliable storage volumes that can be attached to any running instance and used like a hard drive.

\n

To learn more, see the following resources:

\n ", + "smithy.api#documentation": "Amazon Elastic Compute Cloud\n

Amazon Elastic Compute Cloud (Amazon EC2) provides secure and resizable computing capacity in the Amazon Web Services Cloud. \n Using Amazon EC2 eliminates the need to invest in hardware up front, so you can develop and deploy applications \n faster. Amazon Virtual Private Cloud (Amazon VPC) enables you to provision a logically isolated section of the \n Amazon Web Services Cloud where you can launch Amazon Web Services resources in a virtual network that you've defined. Amazon Elastic Block Store \n (Amazon EBS) provides block level storage volumes for use with EC2 instances. EBS volumes are highly available \n and reliable storage volumes that can be attached to any running instance and used like a hard drive.

\n

To learn more, see the following resources:

\n ", "smithy.api#title": "Amazon Elastic Compute Cloud", "smithy.api#xmlNamespace": { "uri": "http://ec2.amazonaws.com/doc/2016-11-15" @@ -3657,7 +3809,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": false, + "required": true, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -3706,15 +3858,6 @@ "ref": "Endpoint" } ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" } ], "type": "tree", @@ -3828,12 +3971,18 @@ "rules": [ { "conditions": [], - "endpoint": { - "url": "https://ec2-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ec2-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] }, @@ -3901,7 +4050,7 @@ } ], "endpoint": { - "url": "https://ec2.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://ec2.{Region}.amazonaws.com", "properties": {}, "headers": {} }, @@ -3963,12 +4112,18 @@ "rules": [ { "conditions": [], - "endpoint": { - "url": "https://ec2.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ec2.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] }, @@ -3981,12 +4136,56 @@ }, { "conditions": [], - "endpoint": { - "url": "https://ec2.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-gov-east-1" + ] + } + ], + "endpoint": { + "url": "https://ec2.us-gov-east-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-gov-west-1" + ] + } + ], + "endpoint": { + "url": "https://ec2.us-gov-west-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://ec2.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] } @@ -3995,211 +4194,159 @@ "smithy.rules#endpointTests": { "testCases": [ { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.ap-south-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-south-2", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.ap-south-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-south-2", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2.ap-south-2.api.aws" + "url": "https://ec2.us-iso-west-1.c2s.ic.gov" } }, "params": { "UseFIPS": false, - "Region": "ap-south-2", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-iso-west-1" } }, { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2.ap-south-2.amazonaws.com" + "url": "https://ec2.us-iso-east-1.c2s.ic.gov" } }, "params": { "UseFIPS": false, - "Region": "ap-south-2", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-south-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-iso-east-1" } }, { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2-fips.ap-south-1.amazonaws.com" + "url": "https://ec2-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { "UseFIPS": true, - "Region": "ap-south-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-iso-east-1" } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2.ap-south-1.api.aws" + "url": "https://ec2.cn-north-1.amazonaws.com.cn" } }, "params": { "UseFIPS": false, - "Region": "ap-south-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "cn-north-1" } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2.ap-south-1.amazonaws.com" + "url": "https://ec2.cn-northwest-1.amazonaws.com.cn" } }, "params": { "UseFIPS": false, - "Region": "ap-south-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "cn-northwest-1" } }, { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://ec2-fips.eu-south-1.api.aws" + "url": "https://ec2-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { "UseFIPS": true, - "Region": "eu-south-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "cn-north-1" } }, { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2-fips.eu-south-1.amazonaws.com" + "url": "https://ec2-fips.cn-north-1.amazonaws.com.cn" } }, "params": { "UseFIPS": true, - "Region": "eu-south-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "cn-north-1" } }, { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://ec2.eu-south-1.api.aws" + "url": "https://ec2.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { "UseFIPS": false, - "Region": "eu-south-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "cn-north-1" } }, { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2.eu-south-1.amazonaws.com" + "url": "https://ec2.us-isob-east-1.sc2s.sgov.gov" } }, "params": { "UseFIPS": false, - "Region": "eu-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.eu-south-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-south-2", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-isob-east-1" } }, { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2-fips.eu-south-2.amazonaws.com" + "url": "https://ec2-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { "UseFIPS": true, - "Region": "eu-south-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-isob-east-1" } }, { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2.eu-south-2.api.aws" + "url": "https://ec2.us-gov-east-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "eu-south-2", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-gov-east-1" } }, { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2.eu-south-2.amazonaws.com" + "url": "https://ec2.us-gov-west-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "eu-south-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-gov-west-1" } }, { @@ -4211,8 +4358,8 @@ }, "params": { "UseFIPS": true, - "Region": "us-gov-east-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-gov-east-1" } }, { @@ -4224,8 +4371,8 @@ }, "params": { "UseFIPS": true, - "Region": "us-gov-east-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-gov-east-1" } }, { @@ -4237,342 +4384,281 @@ }, "params": { "UseFIPS": false, - "Region": "us-gov-east-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-gov-east-1" } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2.us-gov-east-1.amazonaws.com" + "url": "https://ec2.sa-east-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "us-gov-east-1", - "UseDualStack": false - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.me-central-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "me-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.me-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "me-central-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "sa-east-1" } }, { - "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://ec2.me-central-1.api.aws" + "url": "https://ec2.sa-east-1.api.aws" } }, "params": { "UseFIPS": false, - "Region": "me-central-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "sa-east-1" } }, { - "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2.me-central-1.amazonaws.com" + "url": "https://ec2.us-east-2.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "me-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ca-central-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-east-2" } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2-fips.ca-central-1.amazonaws.com" + "url": "https://ec2-fips.us-east-2.amazonaws.com" } }, "params": { "UseFIPS": true, - "Region": "ca-central-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-east-2" } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://ec2.ca-central-1.api.aws" + "url": "https://ec2.us-east-2.api.aws" } }, "params": { "UseFIPS": false, - "Region": "ca-central-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-east-2" } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2.ca-central-1.amazonaws.com" + "url": "https://ec2.eu-north-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "ca-central-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "eu-north-1" } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2-fips.eu-central-1.api.aws" + "url": "https://ec2.me-south-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "eu-central-1", - "UseDualStack": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "me-south-1" } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2-fips.eu-central-1.amazonaws.com" + "url": "https://ec2.eu-west-3.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "eu-central-1", - "UseDualStack": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-west-3" } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2.eu-central-1.api.aws" + "url": "https://ec2.eu-west-2.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "eu-central-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "eu-west-2" } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2.eu-central-1.amazonaws.com" + "url": "https://ec2.eu-west-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "eu-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "UseFIPS": true, - "Region": "us-iso-west-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "eu-west-1" } }, { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://ec2-fips.us-iso-west-1.c2s.ic.gov" + "url": "https://ec2.eu-west-1.api.aws" } }, - "params": { - "UseFIPS": true, - "Region": "us-iso-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, "params": { "UseFIPS": false, - "Region": "us-iso-west-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "eu-west-1" } }, { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2.us-iso-west-1.c2s.ic.gov" + "url": "https://ec2.us-east-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "us-iso-west-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-east-1" } }, { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2-fips.eu-central-2.api.aws" + "url": "https://ec2-fips.us-east-1.amazonaws.com" } }, "params": { "UseFIPS": true, - "Region": "eu-central-2", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-east-1" } }, { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://ec2-fips.eu-central-2.amazonaws.com" + "url": "https://ec2.us-east-1.api.aws" } }, "params": { - "UseFIPS": true, - "Region": "eu-central-2", - "UseDualStack": false + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-east-1" } }, { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2.eu-central-2.api.aws" + "url": "https://ec2.ap-northeast-3.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "eu-central-2", - "UseDualStack": true + "UseDualStack": false, + "Region": "ap-northeast-3" } }, { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2.eu-central-2.amazonaws.com" + "url": "https://ec2.ap-northeast-2.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "eu-central-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "ap-northeast-2" } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2-fips.us-west-1.api.aws" + "url": "https://ec2.ap-northeast-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "us-west-1", - "UseDualStack": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-northeast-1" } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2-fips.us-west-1.amazonaws.com" + "url": "https://ec2.ap-south-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "us-west-1", - "UseDualStack": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-south-1" } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://ec2.us-west-1.api.aws" + "url": "https://ec2.ap-south-1.api.aws" } }, "params": { "UseFIPS": false, - "Region": "us-west-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "ap-south-1" } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2.us-west-1.amazonaws.com" + "url": "https://ec2.af-south-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "us-west-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "af-south-1" } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2-fips.us-west-2.api.aws" + "url": "https://ec2.us-west-2.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "us-west-2", - "UseDualStack": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-west-2" } }, { @@ -4584,8 +4670,8 @@ }, "params": { "UseFIPS": true, - "Region": "us-west-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-west-2" } }, { @@ -4597,1247 +4683,189 @@ }, "params": { "UseFIPS": false, - "Region": "us-west-2", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-west-2" } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2.us-west-2.amazonaws.com" + "url": "https://ec2.us-west-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "us-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.af-south-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "af-south-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-west-1" } }, { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2-fips.af-south-1.amazonaws.com" + "url": "https://ec2-fips.us-west-1.amazonaws.com" } }, "params": { "UseFIPS": true, - "Region": "af-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2.af-south-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "af-south-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-west-1" } }, { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2.af-south-1.amazonaws.com" + "url": "https://ec2.ca-central-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "af-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-north-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "ca-central-1" } }, { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2-fips.eu-north-1.amazonaws.com" + "url": "https://ec2-fips.ca-central-1.amazonaws.com" } }, "params": { "UseFIPS": true, - "Region": "eu-north-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "ca-central-1" } }, { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2.eu-north-1.api.aws" + "url": "https://ec2.ap-southeast-3.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "eu-north-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "ap-southeast-3" } }, { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2.eu-north-1.amazonaws.com" + "url": "https://ec2.ap-southeast-2.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "eu-north-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-3", - "UseDualStack": true + "UseDualStack": false, + "Region": "ap-southeast-2" } }, { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2-fips.eu-west-3.amazonaws.com" + "url": "https://ec2.ap-southeast-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "eu-west-3", - "UseDualStack": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-southeast-1" } }, { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2.eu-west-3.api.aws" + "url": "https://ec2.eu-central-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "eu-west-3", - "UseDualStack": true + "UseDualStack": false, + "Region": "eu-central-1" } }, { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2.eu-west-3.amazonaws.com" + "url": "https://ec2.eu-south-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "eu-west-3", - "UseDualStack": false + "UseDualStack": false, + "Region": "eu-south-1" } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ec2-fips.eu-west-2.api.aws" + "url": "https://ec2.ap-east-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "eu-west-2", - "UseDualStack": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-east-1" } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://ec2-fips.eu-west-2.amazonaws.com" + "url": "https://ec2-fips.us-east-1.api.aws" } }, "params": { "UseFIPS": true, - "Region": "eu-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2.eu-west-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-2", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-east-1" } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://ec2.eu-west-2.amazonaws.com" + "url": "https://example.com" } }, "params": { "UseFIPS": false, - "Region": "eu-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-east-1", + "Endpoint": "https://example.com" } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For custom endpoint with fips enabled and dualstack disabled", "expect": { - "endpoint": { - "url": "https://ec2-fips.eu-west-1.amazonaws.com" - } + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { "UseFIPS": true, - "Region": "eu-west-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-east-1", + "Endpoint": "https://example.com" } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For custom endpoint with fips disabled and dualstack enabled", "expect": { - "endpoint": { - "url": "https://ec2.eu-west-1.api.aws" - } + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { "UseFIPS": false, - "Region": "eu-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-3", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-3", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2.ap-northeast-3.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-northeast-3", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-northeast-3", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-2", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-2", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2.ap-northeast-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-northeast-2", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-northeast-2", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2.ap-northeast-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-northeast-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-northeast-1", - "UseDualStack": false - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.me-south-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "me-south-1", - "UseDualStack": true - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.me-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "me-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2.me-south-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "me-south-1", - "UseDualStack": true - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2.me-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "me-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.sa-east-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "sa-east-1", - "UseDualStack": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "sa-east-1", - "UseDualStack": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2.sa-east-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "sa-east-1", - "UseDualStack": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "sa-east-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.ap-east-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-east-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.ap-east-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-east-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2.ap-east-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-east-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2.ap-east-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-east-1", - "UseDualStack": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseFIPS": true, - "Region": "cn-north-1", - "UseDualStack": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "UseFIPS": true, - "Region": "cn-north-1", - "UseDualStack": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseFIPS": false, - "Region": "cn-north-1", - "UseDualStack": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "UseFIPS": false, - "Region": "cn-north-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ca-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.ca-west-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ca-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ca-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.ca-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ca-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ca-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2.ca-west-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ca-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ca-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2.ca-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "ca-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.us-gov-west-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-gov-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-gov-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2.us-gov-west-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-gov-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-gov-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.ap-southeast-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-southeast-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-southeast-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2.ap-southeast-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-southeast-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-southeast-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.ap-southeast-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-southeast-2", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-southeast-2", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2.ap-southeast-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-southeast-2", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-southeast-2", - "UseDualStack": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "UseFIPS": true, - "Region": "us-iso-east-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-iso-east-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "UseFIPS": false, - "Region": "us-iso-east-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-iso-east-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.ap-southeast-3.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-southeast-3", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.ap-southeast-3.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-southeast-3", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2.ap-southeast-3.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-southeast-3", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2.ap-southeast-3.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-southeast-3", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.ap-southeast-4.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-southeast-4", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.ap-southeast-4.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-southeast-4", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2.ap-southeast-4.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-southeast-4", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2.ap-southeast-4.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-southeast-4", - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.us-east-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-east-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.us-east-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-east-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2.us-east-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-east-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2.us-east-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-east-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.us-east-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-east-2", - "UseDualStack": true - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-east-2", - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2.us-east-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-east-2", - "UseDualStack": true - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2.us-east-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-east-2", - "UseDualStack": false - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.cn-northwest-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseFIPS": true, - "Region": "cn-northwest-1", - "UseDualStack": true - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.cn-northwest-1.amazonaws.com.cn" - } - }, - "params": { - "UseFIPS": true, - "Region": "cn-northwest-1", - "UseDualStack": false - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ec2.cn-northwest-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseFIPS": false, - "Region": "cn-northwest-1", - "UseDualStack": true - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2.cn-northwest-1.amazonaws.com.cn" - } - }, - "params": { - "UseFIPS": false, - "Region": "cn-northwest-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "UseFIPS": true, - "Region": "us-isob-east-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2-fips.us-isob-east-1.sc2s.sgov.gov" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-isob-east-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "UseFIPS": false, - "Region": "us-isob-east-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ec2.us-isob-east-1.sc2s.sgov.gov" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-isob-east-1", - "UseDualStack": false - } - }, - { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", - "expect": { - "endpoint": { - "url": "https://example.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-east-1", - "UseDualStack": false, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with fips enabled and dualstack disabled", - "expect": { - "error": "Invalid Configuration: FIPS and custom endpoint are not supported" - }, - "params": { - "UseFIPS": true, - "Region": "us-east-1", - "UseDualStack": false, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with fips disabled and dualstack enabled", - "expect": { - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" - }, - "params": { - "UseFIPS": false, - "Region": "us-east-1", - "UseDualStack": true, - "Endpoint": "https://example.com" + "UseDualStack": true, + "Region": "us-east-1", + "Endpoint": "https://example.com" } } ], @@ -5845,390 +4873,6050 @@ } } }, - "com.amazonaws.ec2#AnalysisAclRule": { + "com.amazonaws.ec2#AnalysisAclRule": { + "type": "structure", + "members": { + "Cidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Cidr", + "smithy.api#documentation": "

The IPv4 address range, in CIDR notation.

", + "smithy.api#xmlName": "cidr" + } + }, + "Egress": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "Egress", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the rule is an outbound rule.

", + "smithy.api#xmlName": "egress" + } + }, + "PortRange": { + "target": "com.amazonaws.ec2#PortRange", + "traits": { + "aws.protocols#ec2QueryName": "PortRange", + "smithy.api#documentation": "

The range of ports.

", + "smithy.api#xmlName": "portRange" + } + }, + "Protocol": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Protocol", + "smithy.api#documentation": "

The protocol.

", + "smithy.api#xmlName": "protocol" + } + }, + "RuleAction": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "RuleAction", + "smithy.api#documentation": "

Indicates whether to allow or deny traffic that matches the rule.

", + "smithy.api#xmlName": "ruleAction" + } + }, + "RuleNumber": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "RuleNumber", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The rule number.

", + "smithy.api#xmlName": "ruleNumber" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a network access control (ACL) rule.

" + } + }, + "com.amazonaws.ec2#AnalysisComponent": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Id", + "smithy.api#documentation": "

The ID of the component.

", + "smithy.api#xmlName": "id" + } + }, + "Arn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Arn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the component.

", + "smithy.api#xmlName": "arn" + } + }, + "Name": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Name", + "smithy.api#documentation": "

The name of the analysis component.

", + "smithy.api#xmlName": "name" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a path component.

" + } + }, + "com.amazonaws.ec2#AnalysisComponentList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#AnalysisComponent", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#AnalysisLoadBalancerListener": { + "type": "structure", + "members": { + "LoadBalancerPort": { + "target": "com.amazonaws.ec2#Port", + "traits": { + "aws.protocols#ec2QueryName": "LoadBalancerPort", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The port on which the load balancer is listening.

", + "smithy.api#xmlName": "loadBalancerPort" + } + }, + "InstancePort": { + "target": "com.amazonaws.ec2#Port", + "traits": { + "aws.protocols#ec2QueryName": "InstancePort", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

[Classic Load Balancers] The back-end port for the listener.

", + "smithy.api#xmlName": "instancePort" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a load balancer listener.

" + } + }, + "com.amazonaws.ec2#AnalysisLoadBalancerTarget": { + "type": "structure", + "members": { + "Address": { + "target": "com.amazonaws.ec2#IpAddress", + "traits": { + "aws.protocols#ec2QueryName": "Address", + "smithy.api#documentation": "

The IP address.

", + "smithy.api#xmlName": "address" + } + }, + "AvailabilityZone": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AvailabilityZone", + "smithy.api#documentation": "

The Availability Zone.

", + "smithy.api#xmlName": "availabilityZone" + } + }, + "Instance": { + "target": "com.amazonaws.ec2#AnalysisComponent", + "traits": { + "aws.protocols#ec2QueryName": "Instance", + "smithy.api#documentation": "

Information about the instance.

", + "smithy.api#xmlName": "instance" + } + }, + "Port": { + "target": "com.amazonaws.ec2#Port", + "traits": { + "aws.protocols#ec2QueryName": "Port", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The port on which the target is listening.

", + "smithy.api#xmlName": "port" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a load balancer target.

" + } + }, + "com.amazonaws.ec2#AnalysisPacketHeader": { + "type": "structure", + "members": { + "DestinationAddresses": { + "target": "com.amazonaws.ec2#IpAddressList", + "traits": { + "aws.protocols#ec2QueryName": "DestinationAddressSet", + "smithy.api#documentation": "

The destination addresses.

", + "smithy.api#xmlName": "destinationAddressSet" + } + }, + "DestinationPortRanges": { + "target": "com.amazonaws.ec2#PortRangeList", + "traits": { + "aws.protocols#ec2QueryName": "DestinationPortRangeSet", + "smithy.api#documentation": "

The destination port ranges.

", + "smithy.api#xmlName": "destinationPortRangeSet" + } + }, + "Protocol": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Protocol", + "smithy.api#documentation": "

The protocol.

", + "smithy.api#xmlName": "protocol" + } + }, + "SourceAddresses": { + "target": "com.amazonaws.ec2#IpAddressList", + "traits": { + "aws.protocols#ec2QueryName": "SourceAddressSet", + "smithy.api#documentation": "

The source addresses.

", + "smithy.api#xmlName": "sourceAddressSet" + } + }, + "SourcePortRanges": { + "target": "com.amazonaws.ec2#PortRangeList", + "traits": { + "aws.protocols#ec2QueryName": "SourcePortRangeSet", + "smithy.api#documentation": "

The source port ranges.

", + "smithy.api#xmlName": "sourcePortRangeSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a header. Reflects any changes made by a component as traffic passes through.\n The fields of an inbound header are null except for the first component of a path.

" + } + }, + "com.amazonaws.ec2#AnalysisRouteTableRoute": { + "type": "structure", + "members": { + "DestinationCidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "DestinationCidr", + "smithy.api#documentation": "

The destination IPv4 address, in CIDR notation.

", + "smithy.api#xmlName": "destinationCidr" + } + }, + "DestinationPrefixListId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "DestinationPrefixListId", + "smithy.api#documentation": "

The prefix of the Amazon Web Service.

", + "smithy.api#xmlName": "destinationPrefixListId" + } + }, + "EgressOnlyInternetGatewayId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "EgressOnlyInternetGatewayId", + "smithy.api#documentation": "

The ID of an egress-only internet gateway.

", + "smithy.api#xmlName": "egressOnlyInternetGatewayId" + } + }, + "GatewayId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "GatewayId", + "smithy.api#documentation": "

The ID of the gateway, such as an internet gateway or virtual private gateway.

", + "smithy.api#xmlName": "gatewayId" + } + }, + "InstanceId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#documentation": "

The ID of the instance, such as a NAT instance.

", + "smithy.api#xmlName": "instanceId" + } + }, + "NatGatewayId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NatGatewayId", + "smithy.api#documentation": "

The ID of a NAT gateway.

", + "smithy.api#xmlName": "natGatewayId" + } + }, + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "smithy.api#documentation": "

The ID of a network interface.

", + "smithy.api#xmlName": "networkInterfaceId" + } + }, + "Origin": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Origin", + "smithy.api#documentation": "

Describes how the route was created. The following are the possible values:

\n
    \n
  • \n

    CreateRouteTable - The route was automatically created when the route table was created.

    \n
  • \n
  • \n

    CreateRoute - The route was manually added to the route table.

    \n
  • \n
  • \n

    EnableVgwRoutePropagation - The route was propagated by route propagation.

    \n
  • \n
", + "smithy.api#xmlName": "origin" + } + }, + "TransitGatewayId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "TransitGatewayId", + "smithy.api#documentation": "

The ID of a transit gateway.

", + "smithy.api#xmlName": "transitGatewayId" + } + }, + "VpcPeeringConnectionId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "VpcPeeringConnectionId", + "smithy.api#documentation": "

The ID of a VPC peering connection.

", + "smithy.api#xmlName": "vpcPeeringConnectionId" + } + }, + "State": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state. The following are the possible values:

\n
    \n
  • \n

    active

    \n
  • \n
  • \n

    blackhole

    \n
  • \n
", + "smithy.api#xmlName": "state" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a route table route.

" + } + }, + "com.amazonaws.ec2#AnalysisSecurityGroupRule": { + "type": "structure", + "members": { + "Cidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Cidr", + "smithy.api#documentation": "

The IPv4 address range, in CIDR notation.

", + "smithy.api#xmlName": "cidr" + } + }, + "Direction": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Direction", + "smithy.api#documentation": "

The direction. The following are the possible values:

\n
    \n
  • \n

    egress

    \n
  • \n
  • \n

    ingress

    \n
  • \n
", + "smithy.api#xmlName": "direction" + } + }, + "SecurityGroupId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "SecurityGroupId", + "smithy.api#documentation": "

The security group ID.

", + "smithy.api#xmlName": "securityGroupId" + } + }, + "PortRange": { + "target": "com.amazonaws.ec2#PortRange", + "traits": { + "aws.protocols#ec2QueryName": "PortRange", + "smithy.api#documentation": "

The port range.

", + "smithy.api#xmlName": "portRange" + } + }, + "PrefixListId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "PrefixListId", + "smithy.api#documentation": "

The prefix list ID.

", + "smithy.api#xmlName": "prefixListId" + } + }, + "Protocol": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Protocol", + "smithy.api#documentation": "

The protocol name.

", + "smithy.api#xmlName": "protocol" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a security group rule.

" + } + }, + "com.amazonaws.ec2#AnalysisStatus": { + "type": "enum", + "members": { + "running": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "running" + } + }, + "succeeded": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "succeeded" + } + }, + "failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "failed" + } + } + } + }, + "com.amazonaws.ec2#ApplianceModeSupportValue": { + "type": "enum", + "members": { + "enable": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "enable" + } + }, + "disable": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disable" + } + } + } + }, + "com.amazonaws.ec2#ApplySecurityGroupsToClientVpnTargetNetwork": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ApplySecurityGroupsToClientVpnTargetNetworkRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ApplySecurityGroupsToClientVpnTargetNetworkResult" + }, + "traits": { + "smithy.api#documentation": "

Applies a security group to the association between the target network and the Client VPN endpoint. This action replaces the existing \n\t\t\tsecurity groups with the specified security groups.

" + } + }, + "com.amazonaws.ec2#ApplySecurityGroupsToClientVpnTargetNetworkRequest": { + "type": "structure", + "members": { + "ClientVpnEndpointId": { + "target": "com.amazonaws.ec2#ClientVpnEndpointId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Client VPN endpoint.

", + "smithy.api#required": {} + } + }, + "VpcId": { + "target": "com.amazonaws.ec2#VpcId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the VPC in which the associated target network is located.

", + "smithy.api#required": {} + } + }, + "SecurityGroupIds": { + "target": "com.amazonaws.ec2#ClientVpnSecurityGroupIdSet", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The IDs of the security groups to apply to the associated target network. Up to 5 security groups can \n\t\t\tbe applied to an associated target network.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "SecurityGroupId" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#ApplySecurityGroupsToClientVpnTargetNetworkResult": { + "type": "structure", + "members": { + "SecurityGroupIds": { + "target": "com.amazonaws.ec2#ClientVpnSecurityGroupIdSet", + "traits": { + "aws.protocols#ec2QueryName": "SecurityGroupIds", + "smithy.api#documentation": "

The IDs of the applied security groups.

", + "smithy.api#xmlName": "securityGroupIds" + } + } + } + }, + "com.amazonaws.ec2#ArchitectureType": { + "type": "enum", + "members": { + "i386": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "i386" + } + }, + "x86_64": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "x86_64" + } + }, + "arm64": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "arm64" + } + }, + "x86_64_mac": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "x86_64_mac" + } + }, + "arm64_mac": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "arm64_mac" + } + } + } + }, + "com.amazonaws.ec2#ArchitectureTypeList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ArchitectureType", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ArchitectureTypeSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ArchitectureType", + "traits": { + "smithy.api#xmlName": "item" + } + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 3 + } + } + }, + "com.amazonaws.ec2#ArchitectureValues": { + "type": "enum", + "members": { + "i386": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "i386" + } + }, + "x86_64": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "x86_64" + } + }, + "arm64": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "arm64" + } + }, + "x86_64_mac": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "x86_64_mac" + } + }, + "arm64_mac": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "arm64_mac" + } + } + } + }, + "com.amazonaws.ec2#ArnList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ResourceArn", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#AssignIpv6Addresses": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#AssignIpv6AddressesRequest" + }, + "output": { + "target": "com.amazonaws.ec2#AssignIpv6AddressesResult" + }, + "traits": { + "smithy.api#documentation": "

Assigns one or more IPv6 addresses to the specified network interface. You can\n specify one or more specific IPv6 addresses, or you can specify the number of IPv6\n addresses to be automatically assigned from within the subnet's IPv6 CIDR block range.\n You can assign as many IPv6 addresses to a network interface as you can assign private\n IPv4 addresses, and the limit varies per instance type. For information, see IP Addresses Per Network Interface Per Instance Type\n in the Amazon Elastic Compute Cloud User Guide.

\n

You must specify either the IPv6 addresses or the IPv6 address count in the request.

\n

You can optionally use Prefix Delegation on the network interface. You must specify\n either the IPV6 Prefix Delegation prefixes, or the IPv6 Prefix Delegation count. For\n information, see \n Assigning prefixes to Amazon EC2 network interfaces in the Amazon Elastic Compute Cloud User Guide.

" + } + }, + "com.amazonaws.ec2#AssignIpv6AddressesRequest": { + "type": "structure", + "members": { + "Ipv6AddressCount": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Ipv6AddressCount", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of additional IPv6 addresses to assign to the network interface. \n \t\tThe specified number of IPv6 addresses are assigned in addition to the \n \t\texisting IPv6 addresses that are already assigned to the network interface. \n \t\tAmazon EC2 automatically selects the IPv6 addresses from the subnet range. You \n \t\tcan't use this option if specifying specific IPv6 addresses.

", + "smithy.api#xmlName": "ipv6AddressCount" + } + }, + "Ipv6Addresses": { + "target": "com.amazonaws.ec2#Ipv6AddressList", + "traits": { + "aws.protocols#ec2QueryName": "Ipv6Addresses", + "smithy.api#documentation": "

The IPv6 addresses to be assigned to the network interface. You can't use this option if you're specifying a number of IPv6 addresses.

", + "smithy.api#xmlName": "ipv6Addresses" + } + }, + "Ipv6PrefixCount": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of IPv6 prefixes that Amazon Web Services automatically assigns to the\n network interface. You cannot use this option if you use the Ipv6Prefixes\n option.

" + } + }, + "Ipv6Prefixes": { + "target": "com.amazonaws.ec2#IpPrefixList", + "traits": { + "smithy.api#documentation": "

One or more IPv6 prefixes assigned to the network interface. You cannot use this option if you use the Ipv6PrefixCount option.

", + "smithy.api#xmlName": "Ipv6Prefix" + } + }, + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#NetworkInterfaceId", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the network interface.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "networkInterfaceId" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#AssignIpv6AddressesResult": { + "type": "structure", + "members": { + "AssignedIpv6Addresses": { + "target": "com.amazonaws.ec2#Ipv6AddressList", + "traits": { + "aws.protocols#ec2QueryName": "AssignedIpv6Addresses", + "smithy.api#documentation": "

The new IPv6 addresses assigned to the network interface. Existing IPv6 addresses \n \tthat were assigned to the network interface before the request are not included.

", + "smithy.api#xmlName": "assignedIpv6Addresses" + } + }, + "AssignedIpv6Prefixes": { + "target": "com.amazonaws.ec2#IpPrefixList", + "traits": { + "aws.protocols#ec2QueryName": "AssignedIpv6PrefixSet", + "smithy.api#documentation": "

The IPv6 prefixes that are assigned to the network interface.

", + "smithy.api#xmlName": "assignedIpv6PrefixSet" + } + }, + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "smithy.api#documentation": "

The ID of the network interface.

", + "smithy.api#xmlName": "networkInterfaceId" + } + } + } + }, + "com.amazonaws.ec2#AssignPrivateIpAddresses": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#AssignPrivateIpAddressesRequest" + }, + "output": { + "target": "com.amazonaws.ec2#AssignPrivateIpAddressesResult" + }, + "traits": { + "smithy.api#documentation": "

Assigns one or more secondary private IP addresses to the specified network interface.

\n

You can specify one or more specific secondary IP addresses, or you can specify the number \n of secondary IP addresses to be automatically assigned within the subnet's CIDR block range. \n The number of secondary IP addresses that you can assign to an instance varies by instance type.\n For information about instance types, see Instance Types in the Amazon Elastic Compute Cloud User Guide. For more information about \n Elastic IP addresses, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

\n

When you move a secondary private IP address to another network interface, any Elastic IP address \n that is associated with the IP address is also moved.

\n

Remapping an IP address is an asynchronous operation. When you move an IP address from one network\n interface to another, check network/interfaces/macs/mac/local-ipv4s in the instance\n metadata to confirm that the remapping is complete.

\n

You must specify either the IP addresses or the IP address count in the request.

\n

You can optionally use Prefix Delegation on the network interface. You must specify\n either the IPv4 Prefix Delegation prefixes, or the IPv4 Prefix Delegation count. For\n information, see \n Assigning prefixes to Amazon EC2 network interfaces in the Amazon Elastic Compute Cloud User Guide.

" + } + }, + "com.amazonaws.ec2#AssignPrivateIpAddressesRequest": { + "type": "structure", + "members": { + "AllowReassignment": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "AllowReassignment", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to allow an IP address that is already assigned to another network interface or instance to be reassigned to the specified network interface.

", + "smithy.api#xmlName": "allowReassignment" + } + }, + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#NetworkInterfaceId", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the network interface.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "networkInterfaceId" + } + }, + "PrivateIpAddresses": { + "target": "com.amazonaws.ec2#PrivateIpAddressStringList", + "traits": { + "aws.protocols#ec2QueryName": "PrivateIpAddress", + "smithy.api#documentation": "

The IP addresses to be assigned as a secondary private IP address to the network interface. You can't specify this parameter when also specifying a number of secondary IP addresses.

\n

If you don't specify an IP address, Amazon EC2 automatically selects an IP address within the subnet range.

", + "smithy.api#xmlName": "privateIpAddress" + } + }, + "SecondaryPrivateIpAddressCount": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "SecondaryPrivateIpAddressCount", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of secondary IP addresses to assign to the network interface. You can't specify this parameter when also specifying private IP addresses.

", + "smithy.api#xmlName": "secondaryPrivateIpAddressCount" + } + }, + "Ipv4Prefixes": { + "target": "com.amazonaws.ec2#IpPrefixList", + "traits": { + "smithy.api#documentation": "

One or more IPv4 prefixes assigned to the network interface. You cannot use this option if you use the Ipv4PrefixCount option.

", + "smithy.api#xmlName": "Ipv4Prefix" + } + }, + "Ipv4PrefixCount": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of IPv4 prefixes that Amazon Web Services automatically assigns to the network interface. You cannot use this option if you use the Ipv4 Prefixes option.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for AssignPrivateIpAddresses.

", + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#AssignPrivateIpAddressesResult": { + "type": "structure", + "members": { + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "smithy.api#documentation": "

The ID of the network interface.

", + "smithy.api#xmlName": "networkInterfaceId" + } + }, + "AssignedPrivateIpAddresses": { + "target": "com.amazonaws.ec2#AssignedPrivateIpAddressList", + "traits": { + "aws.protocols#ec2QueryName": "AssignedPrivateIpAddressesSet", + "smithy.api#documentation": "

The private IP addresses assigned to the network interface.

", + "smithy.api#xmlName": "assignedPrivateIpAddressesSet" + } + }, + "AssignedIpv4Prefixes": { + "target": "com.amazonaws.ec2#Ipv4PrefixesList", + "traits": { + "aws.protocols#ec2QueryName": "AssignedIpv4PrefixSet", + "smithy.api#documentation": "

The IPv4 prefixes that are assigned to the network interface.

", + "smithy.api#xmlName": "assignedIpv4PrefixSet" + } + } + } + }, + "com.amazonaws.ec2#AssignedPrivateIpAddress": { + "type": "structure", + "members": { + "PrivateIpAddress": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "PrivateIpAddress", + "smithy.api#documentation": "

The private IP address assigned to the network interface.

", + "smithy.api#xmlName": "privateIpAddress" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the private IP addresses assigned to a network interface.

" + } + }, + "com.amazonaws.ec2#AssignedPrivateIpAddressList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#AssignedPrivateIpAddress", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#AssociateAddress": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#AssociateAddressRequest" + }, + "output": { + "target": "com.amazonaws.ec2#AssociateAddressResult" + }, + "traits": { + "smithy.api#documentation": "

Associates an Elastic IP address, or carrier IP address (for instances that are in\n subnets in Wavelength Zones) with an instance or a network interface. Before you can use an\n Elastic IP address, you must allocate it to your account.

\n

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC.\n\t\t\tFor more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

\n

[EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is already\n associated with a different instance, it is disassociated from that instance and associated\n with the specified instance. If you associate an Elastic IP address with an instance that has\n an existing Elastic IP address, the existing address is disassociated from the instance, but\n remains allocated to your account.

\n

[VPC in an EC2-Classic account] If you don't specify a private IP address, the Elastic\n IP address is associated with the primary IP address. If the Elastic IP address is already\n associated with a different instance or a network interface, you get an error unless you allow\n reassociation. You cannot associate an Elastic IP address with an instance or network\n interface that has an existing Elastic IP address.

\n

[Subnets in Wavelength Zones] You can associate an IP address from the telecommunication\n carrier to the instance or network interface.

\n

You cannot associate an Elastic IP address with an interface in a different network border group.

\n \n

This is an idempotent operation. If you perform the operation more than once, Amazon EC2\n doesn't return an error, and you may be charged for each time the Elastic IP address is\n remapped to the same instance. For more information, see the Elastic IP\n Addresses section of Amazon EC2\n Pricing.

\n
\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" + } + }, + "com.amazonaws.ec2#AssociateAddressRequest": { + "type": "structure", + "members": { + "AllocationId": { + "target": "com.amazonaws.ec2#AllocationId", + "traits": { + "smithy.api#documentation": "

[EC2-VPC] The allocation ID. This is required for EC2-VPC.

" + } + }, + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", + "traits": { + "smithy.api#documentation": "

The ID of the instance. The instance must have exactly one attached network interface.\n For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both.\n For EC2-Classic, you must specify an instance ID and the instance must be in the running\n state.

" + } + }, + "PublicIp": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

[EC2-Classic] The Elastic IP address to associate with the instance. This is required for\n EC2-Classic.

" + } + }, + "AllowReassociation": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "AllowReassociation", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

[EC2-VPC] For a VPC in an EC2-Classic account, specify true to allow an Elastic IP address that is already associated with an instance or network interface to be reassociated with the specified instance or network interface. Otherwise, the operation fails. In a VPC in an EC2-VPC-only account, reassociation is automatic, therefore you can specify false to ensure the operation fails if the Elastic IP address is already associated with another resource.

", + "smithy.api#xmlName": "allowReassociation" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + }, + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#NetworkInterfaceId", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "smithy.api#documentation": "

[EC2-VPC] The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.

\n

For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both.

", + "smithy.api#xmlName": "networkInterfaceId" + } + }, + "PrivateIpAddress": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "PrivateIpAddress", + "smithy.api#documentation": "

[EC2-VPC] The primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.

", + "smithy.api#xmlName": "privateIpAddress" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#AssociateAddressResult": { + "type": "structure", + "members": { + "AssociationId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AssociationId", + "smithy.api#documentation": "

[EC2-VPC] The ID that represents the association of the Elastic IP address with an instance.

", + "smithy.api#xmlName": "associationId" + } + } + } + }, + "com.amazonaws.ec2#AssociateClientVpnTargetNetwork": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#AssociateClientVpnTargetNetworkRequest" + }, + "output": { + "target": "com.amazonaws.ec2#AssociateClientVpnTargetNetworkResult" + }, + "traits": { + "smithy.api#documentation": "

Associates a target network with a Client VPN endpoint. A target network is a subnet in a VPC. You can associate multiple subnets from the same VPC with a Client VPN endpoint. You can associate only one subnet in each Availability Zone. We recommend that you associate at least two subnets to provide Availability Zone redundancy.

\n

If you specified a VPC when you created the Client VPN endpoint or if you have previous subnet associations, the specified subnet must be in the same VPC. To specify a subnet that's in a different VPC, you must first modify the Client VPN endpoint (ModifyClientVpnEndpoint) and change the VPC that's associated with it.

" + } + }, + "com.amazonaws.ec2#AssociateClientVpnTargetNetworkRequest": { + "type": "structure", + "members": { + "ClientVpnEndpointId": { + "target": "com.amazonaws.ec2#ClientVpnEndpointId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Client VPN endpoint.

", + "smithy.api#required": {} + } + }, + "SubnetId": { + "target": "com.amazonaws.ec2#SubnetId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the subnet to associate with the Client VPN endpoint.

", + "smithy.api#required": {} + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

", + "smithy.api#idempotencyToken": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#AssociateClientVpnTargetNetworkResult": { + "type": "structure", + "members": { + "AssociationId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AssociationId", + "smithy.api#documentation": "

The unique ID of the target network association.

", + "smithy.api#xmlName": "associationId" + } + }, + "Status": { + "target": "com.amazonaws.ec2#AssociationStatus", + "traits": { + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The current state of the target network association.

", + "smithy.api#xmlName": "status" + } + } + } + }, + "com.amazonaws.ec2#AssociateDhcpOptions": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#AssociateDhcpOptionsRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "

Associates a set of DHCP options (that you've previously created) with the specified VPC, or associates no DHCP options with the VPC.

\n

After you associate the options with the VPC, any existing instances and all new instances that you launch in that VPC use the options. You don't need to restart or relaunch the instances. They automatically pick up the changes within a few hours, depending on how frequently the instance renews its DHCP lease. You can explicitly renew the lease using the operating system on the instance.

\n

For more information, see DHCP options sets\n in the Amazon Virtual Private Cloud User Guide.

" + } + }, + "com.amazonaws.ec2#AssociateDhcpOptionsRequest": { + "type": "structure", + "members": { + "DhcpOptionsId": { + "target": "com.amazonaws.ec2#DefaultingDhcpOptionsId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the DHCP options set, or default to associate \n no DHCP options with the VPC.

", + "smithy.api#required": {} + } + }, + "VpcId": { + "target": "com.amazonaws.ec2#VpcId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the VPC.

", + "smithy.api#required": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#AssociateEnclaveCertificateIamRole": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#AssociateEnclaveCertificateIamRoleRequest" + }, + "output": { + "target": "com.amazonaws.ec2#AssociateEnclaveCertificateIamRoleResult" + }, + "traits": { + "smithy.api#documentation": "

Associates an Identity and Access Management (IAM) role with an Certificate Manager (ACM) certificate. \n\t\t\tThis enables the certificate to be used by the ACM for Nitro Enclaves application inside an enclave. For more \n\t\t\tinformation, see Certificate Manager for Nitro Enclaves in the Amazon Web Services Nitro Enclaves \n\t\t\t\t\tUser Guide.

\n

When the IAM role is associated with the ACM certificate, the certificate, certificate chain, and encrypted \n\t\t\tprivate key are placed in an Amazon S3 location that only the associated IAM role can access. The private key of the certificate \n\t\t\tis encrypted with an Amazon Web Services managed key that has an attached attestation-based key policy.

\n

To enable the IAM role to access the Amazon S3 object, you must grant it permission to call s3:GetObject \n\t\t\ton the Amazon S3 bucket returned by the command. To enable the IAM role to access the KMS key,\n\t\t\tyou must grant it permission to call kms:Decrypt on the KMS key returned by the command. \n\t\t\tFor more information, see \n\t\t\t\tGrant the role permission to access the certificate and encryption key in the \n\t\t\tAmazon Web Services Nitro Enclaves User Guide.

" + } + }, + "com.amazonaws.ec2#AssociateEnclaveCertificateIamRoleRequest": { + "type": "structure", + "members": { + "CertificateArn": { + "target": "com.amazonaws.ec2#ResourceArn", + "traits": { + "smithy.api#documentation": "

The ARN of the ACM certificate with which to associate the IAM role.

" + } + }, + "RoleArn": { + "target": "com.amazonaws.ec2#ResourceArn", + "traits": { + "smithy.api#documentation": "

The ARN of the IAM role to associate with the ACM certificate. You can associate up to 16 IAM roles with an ACM \n\t\t\tcertificate.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#AssociateEnclaveCertificateIamRoleResult": { + "type": "structure", + "members": { + "CertificateS3BucketName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "CertificateS3BucketName", + "smithy.api#documentation": "

The name of the Amazon S3 bucket to which the certificate was uploaded.

", + "smithy.api#xmlName": "certificateS3BucketName" + } + }, + "CertificateS3ObjectKey": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "CertificateS3ObjectKey", + "smithy.api#documentation": "

The Amazon S3 object key where the certificate, certificate chain, and encrypted private key bundle are stored. The \n\t\t\tobject key is formatted as follows: role_arn/certificate_arn.

", + "smithy.api#xmlName": "certificateS3ObjectKey" + } + }, + "EncryptionKmsKeyId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "EncryptionKmsKeyId", + "smithy.api#documentation": "

The ID of the KMS key used to encrypt the private key of the certificate.

", + "smithy.api#xmlName": "encryptionKmsKeyId" + } + } + } + }, + "com.amazonaws.ec2#AssociateIamInstanceProfile": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#AssociateIamInstanceProfileRequest" + }, + "output": { + "target": "com.amazonaws.ec2#AssociateIamInstanceProfileResult" + }, + "traits": { + "smithy.api#documentation": "

Associates an IAM instance profile with a running or stopped instance. You cannot\n associate more than one IAM instance profile with an instance.

" + } + }, + "com.amazonaws.ec2#AssociateIamInstanceProfileRequest": { + "type": "structure", + "members": { + "IamInstanceProfile": { + "target": "com.amazonaws.ec2#IamInstanceProfileSpecification", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The IAM instance profile.

", + "smithy.api#required": {} + } + }, + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the instance.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#AssociateIamInstanceProfileResult": { + "type": "structure", + "members": { + "IamInstanceProfileAssociation": { + "target": "com.amazonaws.ec2#IamInstanceProfileAssociation", + "traits": { + "aws.protocols#ec2QueryName": "IamInstanceProfileAssociation", + "smithy.api#documentation": "

Information about the IAM instance profile association.

", + "smithy.api#xmlName": "iamInstanceProfileAssociation" + } + } + } + }, + "com.amazonaws.ec2#AssociateInstanceEventWindow": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#AssociateInstanceEventWindowRequest" + }, + "output": { + "target": "com.amazonaws.ec2#AssociateInstanceEventWindowResult" + }, + "traits": { + "smithy.api#documentation": "

Associates one or more targets with an event window. Only one type of target (instance IDs,\n Dedicated Host IDs, or tags) can be specified with an event window.

\n

For more information, see Define event windows for scheduled\n events in the Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#AssociateInstanceEventWindowRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "InstanceEventWindowId": { + "target": "com.amazonaws.ec2#InstanceEventWindowId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the event window.

", + "smithy.api#required": {} + } + }, + "AssociationTarget": { + "target": "com.amazonaws.ec2#InstanceEventWindowAssociationRequest", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

One or more targets associated with the specified event window.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#AssociateInstanceEventWindowResult": { + "type": "structure", + "members": { + "InstanceEventWindow": { + "target": "com.amazonaws.ec2#InstanceEventWindow", + "traits": { + "aws.protocols#ec2QueryName": "InstanceEventWindow", + "smithy.api#documentation": "

Information about the event window.

", + "smithy.api#xmlName": "instanceEventWindow" + } + } + } + }, + "com.amazonaws.ec2#AssociateIpamResourceDiscovery": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#AssociateIpamResourceDiscoveryRequest" + }, + "output": { + "target": "com.amazonaws.ec2#AssociateIpamResourceDiscoveryResult" + }, + "traits": { + "smithy.api#documentation": "

Associates an IPAM resource discovery with an Amazon VPC IPAM. A resource discovery is an IPAM component that enables IPAM Service to manage and monitor resources that belong to the owning account.

" + } + }, + "com.amazonaws.ec2#AssociateIpamResourceDiscoveryRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "IpamId": { + "target": "com.amazonaws.ec2#IpamId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

An IPAM ID.

", + "smithy.api#required": {} + } + }, + "IpamResourceDiscoveryId": { + "target": "com.amazonaws.ec2#IpamResourceDiscoveryId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

A resource discovery ID.

", + "smithy.api#required": {} + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

Tag specifications.

", + "smithy.api#xmlName": "TagSpecification" + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

A client token.

", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#AssociateIpamResourceDiscoveryResult": { + "type": "structure", + "members": { + "IpamResourceDiscoveryAssociation": { + "target": "com.amazonaws.ec2#IpamResourceDiscoveryAssociation", + "traits": { + "aws.protocols#ec2QueryName": "IpamResourceDiscoveryAssociation", + "smithy.api#documentation": "

A resource discovery association. An associated resource discovery is a resource discovery that has been associated with an IPAM.

", + "smithy.api#xmlName": "ipamResourceDiscoveryAssociation" + } + } + } + }, + "com.amazonaws.ec2#AssociateRouteTable": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#AssociateRouteTableRequest" + }, + "output": { + "target": "com.amazonaws.ec2#AssociateRouteTableResult" + }, + "traits": { + "smithy.api#documentation": "

Associates a subnet in your VPC or an internet gateway or virtual private gateway\n attached to your VPC with a route table in your VPC. This association causes traffic\n from the subnet or gateway to be routed according to the routes in the route table. The\n action returns an association ID, which you need in order to disassociate the route\n table later. A route table can be associated with multiple subnets.

\n

For more information, see Route tables in the\n Amazon Virtual Private Cloud User Guide.

" + } + }, + "com.amazonaws.ec2#AssociateRouteTableRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + }, + "RouteTableId": { + "target": "com.amazonaws.ec2#RouteTableId", + "traits": { + "aws.protocols#ec2QueryName": "RouteTableId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the route table.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "routeTableId" + } + }, + "SubnetId": { + "target": "com.amazonaws.ec2#SubnetId", + "traits": { + "aws.protocols#ec2QueryName": "SubnetId", + "smithy.api#documentation": "

The ID of the subnet.

", + "smithy.api#xmlName": "subnetId" + } + }, + "GatewayId": { + "target": "com.amazonaws.ec2#RouteGatewayId", + "traits": { + "smithy.api#documentation": "

The ID of the internet gateway or virtual private gateway.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#AssociateRouteTableResult": { + "type": "structure", + "members": { + "AssociationId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AssociationId", + "smithy.api#documentation": "

The route table association ID. This ID is required for disassociating the route\n\t\t\ttable.

", + "smithy.api#xmlName": "associationId" + } + }, + "AssociationState": { + "target": "com.amazonaws.ec2#RouteTableAssociationState", + "traits": { + "aws.protocols#ec2QueryName": "AssociationState", + "smithy.api#documentation": "

The state of the association.

", + "smithy.api#xmlName": "associationState" + } + } + } + }, + "com.amazonaws.ec2#AssociateSubnetCidrBlock": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#AssociateSubnetCidrBlockRequest" + }, + "output": { + "target": "com.amazonaws.ec2#AssociateSubnetCidrBlockResult" + }, + "traits": { + "smithy.api#documentation": "

Associates a CIDR block with your subnet. You can only associate a single IPv6 CIDR\n block with your subnet. An IPv6 CIDR block must have a prefix length of /64.

" + } + }, + "com.amazonaws.ec2#AssociateSubnetCidrBlockRequest": { + "type": "structure", + "members": { + "Ipv6CidrBlock": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Ipv6CidrBlock", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The IPv6 CIDR block for your subnet. The subnet must have a /64 prefix\n length.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "ipv6CidrBlock" + } + }, + "SubnetId": { + "target": "com.amazonaws.ec2#SubnetId", + "traits": { + "aws.protocols#ec2QueryName": "SubnetId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of your subnet.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "subnetId" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#AssociateSubnetCidrBlockResult": { + "type": "structure", + "members": { + "Ipv6CidrBlockAssociation": { + "target": "com.amazonaws.ec2#SubnetIpv6CidrBlockAssociation", + "traits": { + "aws.protocols#ec2QueryName": "Ipv6CidrBlockAssociation", + "smithy.api#documentation": "

Information about the IPv6 association.

", + "smithy.api#xmlName": "ipv6CidrBlockAssociation" + } + }, + "SubnetId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "SubnetId", + "smithy.api#documentation": "

The ID of the subnet.

", + "smithy.api#xmlName": "subnetId" + } + } + } + }, + "com.amazonaws.ec2#AssociateTransitGatewayMulticastDomain": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#AssociateTransitGatewayMulticastDomainRequest" + }, + "output": { + "target": "com.amazonaws.ec2#AssociateTransitGatewayMulticastDomainResult" + }, + "traits": { + "smithy.api#documentation": "

Associates the specified subnets and transit gateway attachments with the specified transit gateway multicast domain.

\n

The transit gateway attachment must be in the available state before you can add a resource. Use DescribeTransitGatewayAttachments \n to see the state of the attachment.

" + } + }, + "com.amazonaws.ec2#AssociateTransitGatewayMulticastDomainRequest": { + "type": "structure", + "members": { + "TransitGatewayMulticastDomainId": { + "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainId", + "traits": { + "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

" + } + }, + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", + "traits": { + "smithy.api#documentation": "

The ID of the transit gateway attachment to associate with the transit gateway multicast domain.

" + } + }, + "SubnetIds": { + "target": "com.amazonaws.ec2#TransitGatewaySubnetIdList", + "traits": { + "smithy.api#documentation": "

The IDs of the subnets to associate with the transit gateway multicast domain.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#AssociateTransitGatewayMulticastDomainResult": { + "type": "structure", + "members": { + "Associations": { + "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainAssociations", + "traits": { + "aws.protocols#ec2QueryName": "Associations", + "smithy.api#documentation": "

Information about the transit gateway multicast domain associations.

", + "smithy.api#xmlName": "associations" + } + } + } + }, + "com.amazonaws.ec2#AssociateTransitGatewayPolicyTable": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#AssociateTransitGatewayPolicyTableRequest" + }, + "output": { + "target": "com.amazonaws.ec2#AssociateTransitGatewayPolicyTableResult" + }, + "traits": { + "smithy.api#documentation": "

Associates the specified transit gateway attachment with a transit gateway policy table.

" + } + }, + "com.amazonaws.ec2#AssociateTransitGatewayPolicyTableRequest": { + "type": "structure", + "members": { + "TransitGatewayPolicyTableId": { + "target": "com.amazonaws.ec2#TransitGatewayPolicyTableId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the transit gateway policy table to associate with the transit gateway attachment.

", + "smithy.api#required": {} + } + }, + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the transit gateway attachment to associate with the policy table.

", + "smithy.api#required": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#AssociateTransitGatewayPolicyTableResult": { + "type": "structure", + "members": { + "Association": { + "target": "com.amazonaws.ec2#TransitGatewayPolicyTableAssociation", + "traits": { + "aws.protocols#ec2QueryName": "Association", + "smithy.api#documentation": "

Describes the association of a transit gateway and a transit gateway policy table.

", + "smithy.api#xmlName": "association" + } + } + } + }, + "com.amazonaws.ec2#AssociateTransitGatewayRouteTable": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#AssociateTransitGatewayRouteTableRequest" + }, + "output": { + "target": "com.amazonaws.ec2#AssociateTransitGatewayRouteTableResult" + }, + "traits": { + "smithy.api#documentation": "

Associates the specified attachment with the specified transit gateway route table. You can \n associate only one route table with an attachment.

" + } + }, + "com.amazonaws.ec2#AssociateTransitGatewayRouteTableRequest": { + "type": "structure", + "members": { + "TransitGatewayRouteTableId": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the transit gateway route table.

", + "smithy.api#required": {} + } + }, + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the attachment.

", + "smithy.api#required": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#AssociateTransitGatewayRouteTableResult": { + "type": "structure", + "members": { + "Association": { + "target": "com.amazonaws.ec2#TransitGatewayAssociation", + "traits": { + "aws.protocols#ec2QueryName": "Association", + "smithy.api#documentation": "

The ID of the association.

", + "smithy.api#xmlName": "association" + } + } + } + }, + "com.amazonaws.ec2#AssociateTrunkInterface": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#AssociateTrunkInterfaceRequest" + }, + "output": { + "target": "com.amazonaws.ec2#AssociateTrunkInterfaceResult" + }, + "traits": { + "smithy.api#documentation": "\n

This API action is currently in limited preview only. \n If you are interested in using this feature, contact your account manager.

\n
\n

Associates a branch network interface with a trunk network interface.

\n

Before you create the association, run the create-network-interface command and set\n --interface-type to trunk. You must also create a network interface for each branch network interface that you want to associate with the trunk network interface.

" + } + }, + "com.amazonaws.ec2#AssociateTrunkInterfaceRequest": { + "type": "structure", + "members": { + "BranchInterfaceId": { + "target": "com.amazonaws.ec2#NetworkInterfaceId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the branch network interface.

", + "smithy.api#required": {} + } + }, + "TrunkInterfaceId": { + "target": "com.amazonaws.ec2#NetworkInterfaceId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the trunk network interface.

", + "smithy.api#required": {} + } + }, + "VlanId": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The ID of the VLAN. This applies to the VLAN protocol.

" + } + }, + "GreKey": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The application key. This applies to the GRE protocol.

" + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. For more information, see How to Ensure\n Idempotency.

", + "smithy.api#idempotencyToken": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#AssociateTrunkInterfaceResult": { + "type": "structure", + "members": { + "InterfaceAssociation": { + "target": "com.amazonaws.ec2#TrunkInterfaceAssociation", + "traits": { + "aws.protocols#ec2QueryName": "InterfaceAssociation", + "smithy.api#documentation": "

Information about the association between the trunk network interface and branch network interface.

", + "smithy.api#xmlName": "interfaceAssociation" + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ClientToken", + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. For more information, see How to Ensure\n Idempotency.

", + "smithy.api#xmlName": "clientToken" + } + } + } + }, + "com.amazonaws.ec2#AssociateVpcCidrBlock": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#AssociateVpcCidrBlockRequest" + }, + "output": { + "target": "com.amazonaws.ec2#AssociateVpcCidrBlockResult" + }, + "traits": { + "smithy.api#documentation": "

Associates a CIDR block with your VPC. You can associate a secondary IPv4 CIDR block,\n an Amazon-provided IPv6 CIDR block, or an IPv6 CIDR block from an IPv6 address pool that\n you provisioned through bring your own IP addresses (BYOIP). The IPv6 CIDR block size is fixed\n at /56.

\n

You must specify one of the following in the request: an IPv4 CIDR block, an IPv6\n pool, or an Amazon-provided IPv6 CIDR block.

\n

For more information about associating CIDR blocks with your VPC and applicable\n restrictions, see VPC and subnet sizing in the\n Amazon Virtual Private Cloud User Guide.

" + } + }, + "com.amazonaws.ec2#AssociateVpcCidrBlockRequest": { + "type": "structure", + "members": { + "AmazonProvidedIpv6CidrBlock": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "AmazonProvidedIpv6CidrBlock", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IPv6 addresses, or the size of the CIDR block.

", + "smithy.api#xmlName": "amazonProvidedIpv6CidrBlock" + } + }, + "CidrBlock": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

An IPv4 CIDR block to associate with the VPC.

" + } + }, + "VpcId": { + "target": "com.amazonaws.ec2#VpcId", + "traits": { + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the VPC.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "vpcId" + } + }, + "Ipv6CidrBlockNetworkBorderGroup": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The name of the location from which we advertise the IPV6 CIDR block. Use this parameter\n to limit the CIDR block to this location.

\n

You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.

\n

You can have one IPv6 CIDR block association per network border group.

" + } + }, + "Ipv6Pool": { + "target": "com.amazonaws.ec2#Ipv6PoolEc2Id", + "traits": { + "smithy.api#documentation": "

The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.

" + } + }, + "Ipv6CidrBlock": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

An IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool in the request.

\n

To let Amazon choose the IPv6 CIDR block for you, omit this parameter.

" + } + }, + "Ipv4IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", + "traits": { + "smithy.api#documentation": "

Associate a CIDR allocated from an IPv4 IPAM pool to a VPC. For more information about Amazon VPC IP Address Manager (IPAM), see What is IPAM? in the Amazon VPC IPAM User Guide.

" + } + }, + "Ipv4NetmaskLength": { + "target": "com.amazonaws.ec2#NetmaskLength", + "traits": { + "smithy.api#documentation": "

The netmask length of the IPv4 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.\n

" + } + }, + "Ipv6IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", + "traits": { + "smithy.api#documentation": "

Associates a CIDR allocated from an IPv6 IPAM pool to a VPC. For more information about Amazon VPC IP Address Manager (IPAM), see What is IPAM? in the Amazon VPC IPAM User Guide.

" + } + }, + "Ipv6NetmaskLength": { + "target": "com.amazonaws.ec2#NetmaskLength", + "traits": { + "smithy.api#documentation": "

The netmask length of the IPv6 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#AssociateVpcCidrBlockResult": { + "type": "structure", + "members": { + "Ipv6CidrBlockAssociation": { + "target": "com.amazonaws.ec2#VpcIpv6CidrBlockAssociation", + "traits": { + "aws.protocols#ec2QueryName": "Ipv6CidrBlockAssociation", + "smithy.api#documentation": "

Information about the IPv6 CIDR block association.

", + "smithy.api#xmlName": "ipv6CidrBlockAssociation" + } + }, + "CidrBlockAssociation": { + "target": "com.amazonaws.ec2#VpcCidrBlockAssociation", + "traits": { + "aws.protocols#ec2QueryName": "CidrBlockAssociation", + "smithy.api#documentation": "

Information about the IPv4 CIDR block association.

", + "smithy.api#xmlName": "cidrBlockAssociation" + } + }, + "VpcId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#documentation": "

The ID of the VPC.

", + "smithy.api#xmlName": "vpcId" + } + } + } + }, + "com.amazonaws.ec2#AssociatedNetworkType": { + "type": "enum", + "members": { + "vpc": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "vpc" + } + } + } + }, + "com.amazonaws.ec2#AssociatedRole": { + "type": "structure", + "members": { + "AssociatedRoleArn": { + "target": "com.amazonaws.ec2#ResourceArn", + "traits": { + "aws.protocols#ec2QueryName": "AssociatedRoleArn", + "smithy.api#documentation": "

The ARN of the associated IAM role.

", + "smithy.api#xmlName": "associatedRoleArn" + } + }, + "CertificateS3BucketName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "CertificateS3BucketName", + "smithy.api#documentation": "

The name of the Amazon S3 bucket in which the Amazon S3 object is stored.

", + "smithy.api#xmlName": "certificateS3BucketName" + } + }, + "CertificateS3ObjectKey": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "CertificateS3ObjectKey", + "smithy.api#documentation": "

The key of the Amazon S3 object ey where the certificate, certificate chain, and encrypted private key bundle \n\t\t\tis stored. The object key is formated as follows: role_arn/certificate_arn.\n\t\t

", + "smithy.api#xmlName": "certificateS3ObjectKey" + } + }, + "EncryptionKmsKeyId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "EncryptionKmsKeyId", + "smithy.api#documentation": "

The ID of the KMS customer master key (CMK) used to encrypt the private key.

", + "smithy.api#xmlName": "encryptionKmsKeyId" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about the associated IAM roles.

" + } + }, + "com.amazonaws.ec2#AssociatedRolesList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#AssociatedRole", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#AssociatedTargetNetwork": { + "type": "structure", + "members": { + "NetworkId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NetworkId", + "smithy.api#documentation": "

The ID of the subnet.

", + "smithy.api#xmlName": "networkId" + } + }, + "NetworkType": { + "target": "com.amazonaws.ec2#AssociatedNetworkType", + "traits": { + "aws.protocols#ec2QueryName": "NetworkType", + "smithy.api#documentation": "

The target network type.

", + "smithy.api#xmlName": "networkType" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a target network that is associated with a Client VPN endpoint. A target network is a subnet in a VPC.

" + } + }, + "com.amazonaws.ec2#AssociatedTargetNetworkSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#AssociatedTargetNetwork", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#AssociationIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IamInstanceProfileAssociationId", + "traits": { + "smithy.api#xmlName": "AssociationId" + } + } + }, + "com.amazonaws.ec2#AssociationStatus": { + "type": "structure", + "members": { + "Code": { + "target": "com.amazonaws.ec2#AssociationStatusCode", + "traits": { + "aws.protocols#ec2QueryName": "Code", + "smithy.api#documentation": "

The state of the target network association.

", + "smithy.api#xmlName": "code" + } + }, + "Message": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Message", + "smithy.api#documentation": "

A message about the status of the target network association, if applicable.

", + "smithy.api#xmlName": "message" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the state of a target network association.

" + } + }, + "com.amazonaws.ec2#AssociationStatusCode": { + "type": "enum", + "members": { + "associating": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "associating" + } + }, + "associated": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "associated" + } + }, + "association_failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "association-failed" + } + }, + "disassociating": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disassociating" + } + }, + "disassociated": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disassociated" + } + } + } + }, + "com.amazonaws.ec2#AthenaIntegration": { + "type": "structure", + "members": { + "IntegrationResultS3DestinationArn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The location in Amazon S3 to store the generated CloudFormation template.

", + "smithy.api#required": {} + } + }, + "PartitionLoadFrequency": { + "target": "com.amazonaws.ec2#PartitionLoadFrequency", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The schedule for adding new partitions to the table.

", + "smithy.api#required": {} + } + }, + "PartitionStartDate": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "smithy.api#documentation": "

The start date for the partition.

" + } + }, + "PartitionEndDate": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "smithy.api#documentation": "

The end date for the partition.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes integration options for Amazon Athena.

" + } + }, + "com.amazonaws.ec2#AthenaIntegrationsSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#AthenaIntegration", + "traits": { + "smithy.api#xmlName": "item" + } + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, + "com.amazonaws.ec2#AttachClassicLinkVpc": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#AttachClassicLinkVpcRequest" + }, + "output": { + "target": "com.amazonaws.ec2#AttachClassicLinkVpcResult" + }, + "traits": { + "smithy.api#documentation": "\n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
\n

Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or more of the VPC's\n\t\t\tsecurity groups. You cannot link an EC2-Classic instance to more than one VPC at a time. You\n\t\t\tcan only link an instance that's in the running state. An instance is\n\t\t\tautomatically unlinked from a VPC when it's stopped - you can link it to the VPC again when\n\t\t\tyou restart it.

\n

After you've linked an instance, you cannot change the VPC security groups that are associated with it. To change the security groups, you must first unlink the instance, and then link it again.

\n

Linking your instance to a VPC is sometimes referred to as attaching your instance.

" + } + }, + "com.amazonaws.ec2#AttachClassicLinkVpcRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + }, + "Groups": { + "target": "com.amazonaws.ec2#GroupIdStringList", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of one or more of the VPC's security groups. You cannot specify security groups from a different VPC.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "SecurityGroupId" + } + }, + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", + "traits": { + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "instanceId" + } + }, + "VpcId": { + "target": "com.amazonaws.ec2#VpcId", + "traits": { + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of a ClassicLink-enabled VPC.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "vpcId" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#AttachClassicLinkVpcResult": { + "type": "structure", + "members": { + "Return": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "smithy.api#xmlName": "return" + } + } + } + }, + "com.amazonaws.ec2#AttachInternetGateway": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#AttachInternetGatewayRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "

Attaches an internet gateway or a virtual private gateway to a VPC, enabling connectivity between the internet and\n\t\t\tthe VPC. For more information about your VPC and internet gateway, see the Amazon Virtual Private Cloud User Guide.

" + } + }, + "com.amazonaws.ec2#AttachInternetGatewayRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + }, + "InternetGatewayId": { + "target": "com.amazonaws.ec2#InternetGatewayId", + "traits": { + "aws.protocols#ec2QueryName": "InternetGatewayId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the internet gateway.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "internetGatewayId" + } + }, + "VpcId": { + "target": "com.amazonaws.ec2#VpcId", + "traits": { + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the VPC.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "vpcId" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#AttachNetworkInterface": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#AttachNetworkInterfaceRequest" + }, + "output": { + "target": "com.amazonaws.ec2#AttachNetworkInterfaceResult" + }, + "traits": { + "smithy.api#documentation": "

Attaches a network interface to an instance.

" + } + }, + "com.amazonaws.ec2#AttachNetworkInterfaceRequest": { + "type": "structure", + "members": { + "DeviceIndex": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "DeviceIndex", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The index of the device for the network interface attachment.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "deviceIndex" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + }, + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", + "traits": { + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the instance.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "instanceId" + } + }, + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#NetworkInterfaceId", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the network interface.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "networkInterfaceId" + } + }, + "NetworkCardIndex": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The index of the network card. Some instance types support multiple network cards. \n The primary network interface must be assigned to network card index 0. \n The default is network card index 0.

" + } + }, + "EnaSrdSpecification": { + "target": "com.amazonaws.ec2#EnaSrdSpecification", + "traits": { + "smithy.api#documentation": "

Configures ENA Express for the network interface that this action attaches to the instance.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for AttachNetworkInterface.

", + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#AttachNetworkInterfaceResult": { + "type": "structure", + "members": { + "AttachmentId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AttachmentId", + "smithy.api#documentation": "

The ID of the network interface attachment.

", + "smithy.api#xmlName": "attachmentId" + } + }, + "NetworkCardIndex": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "NetworkCardIndex", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The index of the network card.

", + "smithy.api#xmlName": "networkCardIndex" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of AttachNetworkInterface.

" + } + }, + "com.amazonaws.ec2#AttachVerifiedAccessTrustProvider": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#AttachVerifiedAccessTrustProviderRequest" + }, + "output": { + "target": "com.amazonaws.ec2#AttachVerifiedAccessTrustProviderResult" + }, + "traits": { + "smithy.api#documentation": "

A trust provider is a third-party entity that creates, maintains, and manages identity\n information for users and devices. One or more trust providers can be attached to an Amazon Web Services Verified Access\n instance.

" + } + }, + "com.amazonaws.ec2#AttachVerifiedAccessTrustProviderRequest": { + "type": "structure", + "members": { + "VerifiedAccessInstanceId": { + "target": "com.amazonaws.ec2#VerifiedAccessInstanceId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access instance.

", + "smithy.api#required": {} + } + }, + "VerifiedAccessTrustProviderId": { + "target": "com.amazonaws.ec2#VerifiedAccessTrustProviderId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access trust provider.

", + "smithy.api#required": {} + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

A unique, case-sensitive token that you provide to ensure idempotency of your\n modification request. For more information, see Ensuring Idempotency.

", + "smithy.api#idempotencyToken": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#AttachVerifiedAccessTrustProviderResult": { + "type": "structure", + "members": { + "VerifiedAccessTrustProvider": { + "target": "com.amazonaws.ec2#VerifiedAccessTrustProvider", + "traits": { + "aws.protocols#ec2QueryName": "VerifiedAccessTrustProvider", + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access trust provider.

", + "smithy.api#xmlName": "verifiedAccessTrustProvider" + } + }, + "VerifiedAccessInstance": { + "target": "com.amazonaws.ec2#VerifiedAccessInstance", + "traits": { + "aws.protocols#ec2QueryName": "VerifiedAccessInstance", + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access instance.

", + "smithy.api#xmlName": "verifiedAccessInstance" + } + } + } + }, + "com.amazonaws.ec2#AttachVolume": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#AttachVolumeRequest" + }, + "output": { + "target": "com.amazonaws.ec2#VolumeAttachment" + }, + "traits": { + "smithy.api#documentation": "

Attaches an EBS volume to a running or stopped instance and exposes it to the instance\n with the specified device name.

\n

Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. For\n more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

\n

After you attach an EBS volume, you must make it available. For more information, see \n Make an EBS volume available for use.

\n

If a volume has an Amazon Web Services Marketplace product code:

\n
    \n
  • \n

    The volume can be attached only to a stopped instance.

    \n
  • \n
  • \n

    Amazon Web Services Marketplace product codes are copied from the volume to the instance.

    \n
  • \n
  • \n

    You must be subscribed to the product.

    \n
  • \n
  • \n

    The instance type and operating system of the instance must support the product. For\n example, you can't detach a volume from a Windows instance and attach it to a Linux\n instance.

    \n
  • \n
\n

For more information, see Attach an Amazon EBS volume to an instance in the\n Amazon Elastic Compute Cloud User Guide.

" + } + }, + "com.amazonaws.ec2#AttachVolumeRequest": { + "type": "structure", + "members": { + "Device": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The device name (for example, /dev/sdh or xvdh).

", + "smithy.api#required": {} + } + }, + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the instance.

", + "smithy.api#required": {} + } + }, + "VolumeId": { + "target": "com.amazonaws.ec2#VolumeId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the EBS volume. The volume and instance must be within the same Availability\n Zone.

", + "smithy.api#required": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#AttachVpnGateway": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#AttachVpnGatewayRequest" + }, + "output": { + "target": "com.amazonaws.ec2#AttachVpnGatewayResult" + }, + "traits": { + "smithy.api#documentation": "

Attaches a virtual private gateway to a VPC. You can attach one virtual private\n gateway to one VPC at a time.

\n

For more information, see Amazon Web Services Site-to-Site VPN in the Amazon Web Services Site-to-Site VPN\n User Guide.

" + } + }, + "com.amazonaws.ec2#AttachVpnGatewayRequest": { + "type": "structure", + "members": { + "VpcId": { + "target": "com.amazonaws.ec2#VpcId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the VPC.

", + "smithy.api#required": {} + } + }, + "VpnGatewayId": { + "target": "com.amazonaws.ec2#VpnGatewayId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the virtual private gateway.

", + "smithy.api#required": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for AttachVpnGateway.

", + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#AttachVpnGatewayResult": { + "type": "structure", + "members": { + "VpcAttachment": { + "target": "com.amazonaws.ec2#VpcAttachment", + "traits": { + "aws.protocols#ec2QueryName": "Attachment", + "smithy.api#documentation": "

Information about the attachment.

", + "smithy.api#xmlName": "attachment" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of AttachVpnGateway.

" + } + }, + "com.amazonaws.ec2#AttachmentEnaSrdSpecification": { + "type": "structure", + "members": { + "EnaSrdEnabled": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "EnaSrdEnabled", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether ENA Express is enabled for the network interface that's attached to the\n\t\t\tinstance.

", + "smithy.api#xmlName": "enaSrdEnabled" + } + }, + "EnaSrdUdpSpecification": { + "target": "com.amazonaws.ec2#AttachmentEnaSrdUdpSpecification", + "traits": { + "aws.protocols#ec2QueryName": "EnaSrdUdpSpecification", + "smithy.api#documentation": "

ENA Express configuration for UDP network traffic.

", + "smithy.api#xmlName": "enaSrdUdpSpecification" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the ENA Express configuration for the network interface that's attached to the instance.

" + } + }, + "com.amazonaws.ec2#AttachmentEnaSrdUdpSpecification": { + "type": "structure", + "members": { + "EnaSrdUdpEnabled": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "EnaSrdUdpEnabled", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting, \n\t\t\tyou must first enable ENA Express.

", + "smithy.api#xmlName": "enaSrdUdpEnabled" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the ENA Express configuration for UDP traffic on the network interface that's attached to \n\t\t\tthe instance.

" + } + }, + "com.amazonaws.ec2#AttachmentStatus": { + "type": "enum", + "members": { + "attaching": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "attaching" + } + }, + "attached": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "attached" + } + }, + "detaching": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "detaching" + } + }, + "detached": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "detached" + } + } + } + }, + "com.amazonaws.ec2#AttributeBooleanValue": { + "type": "structure", + "members": { + "Value": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "Value", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

The attribute value. The valid values are true or false.

", + "smithy.api#xmlName": "value" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a value for a resource attribute that is a Boolean value.

" + } + }, + "com.amazonaws.ec2#AttributeValue": { + "type": "structure", + "members": { + "Value": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Value", + "smithy.api#documentation": "

The attribute value. The value is case-sensitive.

", + "smithy.api#xmlName": "value" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a value for a resource attribute that is a String.

" + } + }, + "com.amazonaws.ec2#AuthorizationRule": { + "type": "structure", + "members": { + "ClientVpnEndpointId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ClientVpnEndpointId", + "smithy.api#documentation": "

The ID of the Client VPN endpoint with which the authorization rule is associated.

", + "smithy.api#xmlName": "clientVpnEndpointId" + } + }, + "Description": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A brief description of the authorization rule.

", + "smithy.api#xmlName": "description" + } + }, + "GroupId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "GroupId", + "smithy.api#documentation": "

The ID of the Active Directory group to which the authorization rule grants access.

", + "smithy.api#xmlName": "groupId" + } + }, + "AccessAll": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "AccessAll", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the authorization rule grants access to all clients.

", + "smithy.api#xmlName": "accessAll" + } + }, + "DestinationCidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "DestinationCidr", + "smithy.api#documentation": "

The IPv4 address range, in CIDR notation, of the network to which the authorization rule applies.

", + "smithy.api#xmlName": "destinationCidr" + } + }, + "Status": { + "target": "com.amazonaws.ec2#ClientVpnAuthorizationRuleStatus", + "traits": { + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The current state of the authorization rule.

", + "smithy.api#xmlName": "status" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about an authorization rule.

" + } + }, + "com.amazonaws.ec2#AuthorizationRuleSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#AuthorizationRule", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#AuthorizeClientVpnIngress": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#AuthorizeClientVpnIngressRequest" + }, + "output": { + "target": "com.amazonaws.ec2#AuthorizeClientVpnIngressResult" + }, + "traits": { + "smithy.api#documentation": "

Adds an ingress authorization rule to a Client VPN endpoint. Ingress authorization rules act as \n\t\t\tfirewall rules that grant access to networks. You must configure ingress authorization rules to \n\t\t\tenable clients to access resources in Amazon Web Services or on-premises networks.

" + } + }, + "com.amazonaws.ec2#AuthorizeClientVpnIngressRequest": { + "type": "structure", + "members": { + "ClientVpnEndpointId": { + "target": "com.amazonaws.ec2#ClientVpnEndpointId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Client VPN endpoint.

", + "smithy.api#required": {} + } + }, + "TargetNetworkCidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The IPv4 address range, in CIDR notation, of the network for which access is being authorized.

", + "smithy.api#required": {} + } + }, + "AccessGroupId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The ID of the group to grant access to, for example, the Active Directory group or identity provider (IdP) group. Required if AuthorizeAllGroups is false or not specified.

" + } + }, + "AuthorizeAllGroups": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to grant access to all clients. Specify true to grant all\n clients who successfully establish a VPN connection access to the network. Must be set\n to true if AccessGroupId is not specified.

" + } + }, + "Description": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

A brief description of the authorization rule.

" + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

", + "smithy.api#idempotencyToken": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#AuthorizeClientVpnIngressResult": { + "type": "structure", + "members": { + "Status": { + "target": "com.amazonaws.ec2#ClientVpnAuthorizationRuleStatus", + "traits": { + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The current state of the authorization rule.

", + "smithy.api#xmlName": "status" + } + } + } + }, + "com.amazonaws.ec2#AuthorizeSecurityGroupEgress": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#AuthorizeSecurityGroupEgressRequest" + }, + "output": { + "target": "com.amazonaws.ec2#AuthorizeSecurityGroupEgressResult" + }, + "traits": { + "smithy.api#documentation": "

[VPC only] Adds the specified outbound (egress) rules to a security group for use with a VPC.

\n

An outbound rule permits instances to send traffic to the specified IPv4 or IPv6 CIDR\n address ranges, or to the instances that are associated with the specified source\n security groups. When specifying an outbound rule for your security group in a VPC, the\n IpPermissions must include a destination for the traffic.

\n

You specify a protocol for each rule (for example, TCP). \n For the TCP and UDP protocols, you must also specify the destination port or port range. \n For the ICMP protocol, you must also specify the ICMP type and code. \n You can use -1 for the type or code to mean all types or all codes.

\n

Rule changes are propagated to affected instances as quickly as possible. However, a small delay might occur.

\n

For information about VPC security group quotas, see Amazon VPC quotas.

" + } + }, + "com.amazonaws.ec2#AuthorizeSecurityGroupEgressRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + }, + "GroupId": { + "target": "com.amazonaws.ec2#SecurityGroupId", + "traits": { + "aws.protocols#ec2QueryName": "GroupId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the security group.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "groupId" + } + }, + "IpPermissions": { + "target": "com.amazonaws.ec2#IpPermissionList", + "traits": { + "aws.protocols#ec2QueryName": "IpPermissions", + "smithy.api#documentation": "

The sets of IP permissions. You can't specify a destination security group and a CIDR IP\n address range in the same set of permissions.

", + "smithy.api#xmlName": "ipPermissions" + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

The tags applied to the security group rule.

", + "smithy.api#xmlName": "TagSpecification" + } + }, + "CidrIp": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "CidrIp", + "smithy.api#documentation": "

Not supported. Use a set of IP permissions to specify the CIDR.

", + "smithy.api#xmlName": "cidrIp" + } + }, + "FromPort": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "FromPort", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

Not supported. Use a set of IP permissions to specify the port.

", + "smithy.api#xmlName": "fromPort" + } + }, + "IpProtocol": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "IpProtocol", + "smithy.api#documentation": "

Not supported. Use a set of IP permissions to specify the protocol name or\n number.

", + "smithy.api#xmlName": "ipProtocol" + } + }, + "ToPort": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "ToPort", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

Not supported. Use a set of IP permissions to specify the port.

", + "smithy.api#xmlName": "toPort" + } + }, + "SourceSecurityGroupName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "SourceSecurityGroupName", + "smithy.api#documentation": "

Not supported. Use a set of IP permissions to specify a\n destination security group.

", + "smithy.api#xmlName": "sourceSecurityGroupName" + } + }, + "SourceSecurityGroupOwnerId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "SourceSecurityGroupOwnerId", + "smithy.api#documentation": "

Not supported. Use a set of IP permissions to specify a\n destination security group.

", + "smithy.api#xmlName": "sourceSecurityGroupOwnerId" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#AuthorizeSecurityGroupEgressResult": { + "type": "structure", + "members": { + "Return": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, returns an error.

", + "smithy.api#xmlName": "return" + } + }, + "SecurityGroupRules": { + "target": "com.amazonaws.ec2#SecurityGroupRuleList", + "traits": { + "aws.protocols#ec2QueryName": "SecurityGroupRuleSet", + "smithy.api#documentation": "

Information about the outbound (egress) security group rules that were added.

", + "smithy.api#xmlName": "securityGroupRuleSet" + } + } + } + }, + "com.amazonaws.ec2#AuthorizeSecurityGroupIngress": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#AuthorizeSecurityGroupIngressRequest" + }, + "output": { + "target": "com.amazonaws.ec2#AuthorizeSecurityGroupIngressResult" + }, + "traits": { + "smithy.api#documentation": "

Adds the specified inbound (ingress) rules to a security group.

\n

An inbound rule permits instances to receive traffic from the specified IPv4 or IPv6 CIDR\n address range, or from the instances that are associated with the specified destination security \n groups. When specifying an inbound rule for your security group in a VPC, the\n IpPermissions must include a source for the traffic.

\n

You specify a protocol for each rule (for example, TCP). \n For TCP and UDP, you must also specify the destination port or port range. \n For ICMP/ICMPv6, you must also specify the ICMP/ICMPv6 type and code. \n You can use -1 to mean all types or all codes.

\n

Rule changes are propagated to instances within the security group as quickly as possible. \n However, a small delay might occur.

\n

For more information about VPC security group quotas, see Amazon VPC quotas.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" + } + }, + "com.amazonaws.ec2#AuthorizeSecurityGroupIngressRequest": { + "type": "structure", + "members": { + "CidrIp": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The IPv4 address range, in CIDR format. You can't specify this parameter when specifying a source\n security group. To specify an IPv6 address range, use a set of IP permissions.

\n

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

" + } + }, + "FromPort": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

If the protocol is TCP or UDP, this is the start of the port range.\n If the protocol is ICMP, this is the type number. A value of -1 indicates all ICMP types. \n If you specify all ICMP types, you must specify all ICMP codes.

\n

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

" + } + }, + "GroupId": { + "target": "com.amazonaws.ec2#SecurityGroupId", + "traits": { + "smithy.api#documentation": "

The ID of the security group. You must specify either the security group ID or the\n\t\t\tsecurity group name in the request. For security groups in a nondefault VPC, you must\n\t\t\tspecify the security group ID.

" + } + }, + "GroupName": { + "target": "com.amazonaws.ec2#SecurityGroupName", + "traits": { + "smithy.api#documentation": "

[EC2-Classic, default VPC] The name of the security group. You must specify either the\n security group ID or the security group name in the request. For security groups in a\n nondefault VPC, you must specify the security group ID.

" + } + }, + "IpPermissions": { + "target": "com.amazonaws.ec2#IpPermissionList", + "traits": { + "smithy.api#documentation": "

The sets of IP permissions.

" + } + }, + "IpProtocol": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The IP protocol name (tcp, udp, icmp) or number\n (see Protocol Numbers). To specify icmpv6, use a set of IP permissions.

\n

[VPC only] Use -1 to specify all protocols. If you specify -1 or a \n protocol other than tcp, udp, or icmp, traffic on all ports \n is allowed, regardless of any ports you specify.

\n

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

" + } + }, + "SourceSecurityGroupName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

[EC2-Classic, default VPC] The name of the source security group. You can't specify this parameter \n in combination with the following parameters: the CIDR IP address range, the start of the port range, \n the IP protocol, and the end of the port range. Creates rules that grant full ICMP, UDP, and TCP access. \n To create a rule with a specific IP protocol and port range, use a set of IP permissions instead. For \n EC2-VPC, the source security group must be in the same VPC.

" + } + }, + "SourceSecurityGroupOwnerId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

[nondefault VPC] The Amazon Web Services account ID for the source security group, if the source security group is \n in a different account. You can't specify this parameter in combination with the following parameters: \n the CIDR IP address range, the IP protocol, the start of the port range, and the end of the port range. \n Creates rules that grant full ICMP, UDP, and TCP access. To create a rule with a specific IP protocol \n and port range, use a set of IP permissions instead.

" + } + }, + "ToPort": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

If the protocol is TCP or UDP, this is the end of the port range.\n If the protocol is ICMP, this is the code. A value of -1 indicates all ICMP codes. \n If you specify all ICMP types, you must specify all ICMP codes.

\n

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

[VPC Only] The tags applied to the security group rule.

", + "smithy.api#xmlName": "TagSpecification" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#AuthorizeSecurityGroupIngressResult": { + "type": "structure", + "members": { + "Return": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, returns an error.

", + "smithy.api#xmlName": "return" + } + }, + "SecurityGroupRules": { + "target": "com.amazonaws.ec2#SecurityGroupRuleList", + "traits": { + "aws.protocols#ec2QueryName": "SecurityGroupRuleSet", + "smithy.api#documentation": "

Information about the inbound (ingress) security group rules that were added.

", + "smithy.api#xmlName": "securityGroupRuleSet" + } + } + } + }, + "com.amazonaws.ec2#AutoAcceptSharedAssociationsValue": { + "type": "enum", + "members": { + "enable": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "enable" + } + }, + "disable": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disable" + } + } + } + }, + "com.amazonaws.ec2#AutoAcceptSharedAttachmentsValue": { + "type": "enum", + "members": { + "enable": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "enable" + } + }, + "disable": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disable" + } + } + } + }, + "com.amazonaws.ec2#AutoPlacement": { + "type": "enum", + "members": { + "on": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "on" + } + }, + "off": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "off" + } + } + } + }, + "com.amazonaws.ec2#AutoRecoveryFlag": { + "type": "boolean" + }, + "com.amazonaws.ec2#AvailabilityZone": { + "type": "structure", + "members": { + "State": { + "target": "com.amazonaws.ec2#AvailabilityZoneState", + "traits": { + "aws.protocols#ec2QueryName": "ZoneState", + "smithy.api#documentation": "

The state of the Availability Zone, Local Zone, or Wavelength Zone. This value is always\n available.

", + "smithy.api#xmlName": "zoneState" + } + }, + "OptInStatus": { + "target": "com.amazonaws.ec2#AvailabilityZoneOptInStatus", + "traits": { + "aws.protocols#ec2QueryName": "OptInStatus", + "smithy.api#documentation": "

For Availability Zones, this parameter always has the value of\n opt-in-not-required.

\n

For Local Zones and Wavelength Zones, this parameter is the opt-in status. The possible\n values are opted-in, and not-opted-in.

", + "smithy.api#xmlName": "optInStatus" + } + }, + "Messages": { + "target": "com.amazonaws.ec2#AvailabilityZoneMessageList", + "traits": { + "aws.protocols#ec2QueryName": "MessageSet", + "smithy.api#documentation": "

Any messages about the Availability Zone, Local Zone, or Wavelength Zone.

", + "smithy.api#xmlName": "messageSet" + } + }, + "RegionName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "RegionName", + "smithy.api#documentation": "

The name of the Region.

", + "smithy.api#xmlName": "regionName" + } + }, + "ZoneName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ZoneName", + "smithy.api#documentation": "

The name of the Availability Zone, Local Zone, or Wavelength Zone.

", + "smithy.api#xmlName": "zoneName" + } + }, + "ZoneId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ZoneId", + "smithy.api#documentation": "

The ID of the Availability Zone, Local Zone, or Wavelength Zone.

", + "smithy.api#xmlName": "zoneId" + } + }, + "GroupName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "GroupName", + "smithy.api#documentation": "

For Availability Zones, this parameter has the same value as the Region name.

\n

For Local Zones, the name of the associated group, for example\n us-west-2-lax-1.

\n

For Wavelength Zones, the name of the associated group, for example\n us-east-1-wl1-bos-wlz-1.

", + "smithy.api#xmlName": "groupName" + } + }, + "NetworkBorderGroup": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NetworkBorderGroup", + "smithy.api#documentation": "

The name of the network border group.

", + "smithy.api#xmlName": "networkBorderGroup" + } + }, + "ZoneType": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ZoneType", + "smithy.api#documentation": "

The type of zone. The valid values are availability-zone,\n local-zone, and wavelength-zone.

", + "smithy.api#xmlName": "zoneType" + } + }, + "ParentZoneName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ParentZoneName", + "smithy.api#documentation": "

The name of the zone that handles some of the Local Zone or Wavelength Zone control plane\n operations, such as API calls.

", + "smithy.api#xmlName": "parentZoneName" + } + }, + "ParentZoneId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ParentZoneId", + "smithy.api#documentation": "

The ID of the zone that handles some of the Local Zone or Wavelength Zone control plane\n operations, such as API calls.

", + "smithy.api#xmlName": "parentZoneId" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes Availability Zones, Local Zones, and Wavelength Zones.

" + } + }, + "com.amazonaws.ec2#AvailabilityZoneList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#AvailabilityZone", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#AvailabilityZoneMessage": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Message", + "smithy.api#documentation": "

The message about the Availability Zone, Local Zone, or Wavelength Zone.

", + "smithy.api#xmlName": "message" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a message about an Availability Zone, Local Zone, or Wavelength Zone.

" + } + }, + "com.amazonaws.ec2#AvailabilityZoneMessageList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#AvailabilityZoneMessage", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#AvailabilityZoneOptInStatus": { + "type": "enum", + "members": { + "opt_in_not_required": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "opt-in-not-required" + } + }, + "opted_in": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "opted-in" + } + }, + "not_opted_in": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "not-opted-in" + } + } + } + }, + "com.amazonaws.ec2#AvailabilityZoneState": { + "type": "enum", + "members": { + "available": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "available" + } + }, + "information": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "information" + } + }, + "impaired": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "impaired" + } + }, + "unavailable": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "unavailable" + } + } + } + }, + "com.amazonaws.ec2#AvailabilityZoneStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#xmlName": "AvailabilityZone" + } + } + }, + "com.amazonaws.ec2#AvailableCapacity": { + "type": "structure", + "members": { + "AvailableInstanceCapacity": { + "target": "com.amazonaws.ec2#AvailableInstanceCapacityList", + "traits": { + "aws.protocols#ec2QueryName": "AvailableInstanceCapacity", + "smithy.api#documentation": "

The number of instances that can be launched onto the Dedicated Host depending on the\n host's available capacity. For Dedicated Hosts that support multiple instance types,\n this parameter represents the number of instances for each instance size that is\n supported on the host.

", + "smithy.api#xmlName": "availableInstanceCapacity" + } + }, + "AvailableVCpus": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "AvailableVCpus", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of vCPUs available for launching instances onto the Dedicated Host.

", + "smithy.api#xmlName": "availableVCpus" + } + } + }, + "traits": { + "smithy.api#documentation": "

The capacity information for instances that can be launched onto the Dedicated Host.\n

" + } + }, + "com.amazonaws.ec2#AvailableInstanceCapacityList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InstanceCapacity", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#BareMetal": { + "type": "enum", + "members": { + "INCLUDED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "included" + } + }, + "REQUIRED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "required" + } + }, + "EXCLUDED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "excluded" + } + } + } + }, + "com.amazonaws.ec2#BareMetalFlag": { + "type": "boolean" + }, + "com.amazonaws.ec2#BaselineBandwidthInMbps": { + "type": "integer" + }, + "com.amazonaws.ec2#BaselineEbsBandwidthMbps": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Min", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The minimum baseline bandwidth, in Mbps. If this parameter is not specified, there is no\n minimum limit.

", + "smithy.api#xmlName": "min" + } + }, + "Max": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Max", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum baseline bandwidth, in Mbps. If this parameter is not specified, there is no\n maximum limit.

", + "smithy.api#xmlName": "max" + } + } + }, + "traits": { + "smithy.api#documentation": "

The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see\n Amazon\n EBS–optimized instances in the Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#BaselineEbsBandwidthMbpsRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit\n this parameter.

" + } + }, + "Max": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit\n this parameter.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see\n Amazon\n EBS–optimized instances in the Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#BaselineIops": { + "type": "integer" + }, + "com.amazonaws.ec2#BaselineThroughputInMBps": { + "type": "double" + }, + "com.amazonaws.ec2#BatchState": { + "type": "enum", + "members": { + "SUBMITTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "submitted" + } + }, + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "active" + } + }, + "CANCELLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "cancelled" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "failed" + } + }, + "CANCELLED_RUNNING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "cancelled_running" + } + }, + "CANCELLED_TERMINATING_INSTANCES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "cancelled_terminating" + } + }, + "MODIFYING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "modifying" + } + } + } + }, + "com.amazonaws.ec2#BgpStatus": { + "type": "enum", + "members": { + "up": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "up" + } + }, + "down": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "down" + } + } + } + }, + "com.amazonaws.ec2#BillingProductList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#Blob": { + "type": "blob" + }, + "com.amazonaws.ec2#BlobAttributeValue": { + "type": "structure", + "members": { + "Value": { + "target": "com.amazonaws.ec2#Blob", + "traits": { + "aws.protocols#ec2QueryName": "Value", + "smithy.api#xmlName": "value" + } + } + } + }, + "com.amazonaws.ec2#BlockDeviceMapping": { + "type": "structure", + "members": { + "DeviceName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "DeviceName", + "smithy.api#documentation": "

The device name (for example, /dev/sdh or xvdh).

", + "smithy.api#xmlName": "deviceName" + } + }, + "VirtualName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "VirtualName", + "smithy.api#documentation": "

The virtual device name (ephemeralN). Instance store volumes are numbered\n starting from 0. An instance type with 2 available instance store volumes can specify\n mappings for ephemeral0 and ephemeral1. The number of\n available instance store volumes depends on the instance type. After you connect to the\n instance, you must mount the volume.

\n

NVMe instance store volumes are automatically enumerated and assigned a device name.\n Including them in your block device mapping has no effect.

\n

Constraints: For M3 instances, you must specify instance store volumes in the block\n device mapping for the instance. When you launch an M3 instance, we ignore any instance\n store volumes specified in the block device mapping for the AMI.

", + "smithy.api#xmlName": "virtualName" + } + }, + "Ebs": { + "target": "com.amazonaws.ec2#EbsBlockDevice", + "traits": { + "aws.protocols#ec2QueryName": "Ebs", + "smithy.api#documentation": "

Parameters used to automatically set up EBS volumes when the instance is\n launched.

", + "smithy.api#xmlName": "ebs" + } + }, + "NoDevice": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NoDevice", + "smithy.api#documentation": "

To omit the device from the block device mapping, specify an empty string. When this\n property is specified, the device is removed from the block device mapping regardless of\n the assigned value.

", + "smithy.api#xmlName": "noDevice" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a block device mapping, which defines the EBS volumes and instance store\n volumes to attach to an instance at launch.

" + } + }, + "com.amazonaws.ec2#BlockDeviceMappingList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#BlockDeviceMapping", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#BlockDeviceMappingRequestList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#BlockDeviceMapping", + "traits": { + "smithy.api#xmlName": "BlockDeviceMapping" + } + } + }, + "com.amazonaws.ec2#Boolean": { + "type": "boolean", + "traits": { + "smithy.api#default": false + } + }, + "com.amazonaws.ec2#BootModeType": { + "type": "enum", + "members": { + "legacy_bios": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "legacy-bios" + } + }, + "uefi": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "uefi" + } + } + } + }, + "com.amazonaws.ec2#BootModeTypeList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#BootModeType", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#BootModeValues": { + "type": "enum", + "members": { + "legacy_bios": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "legacy-bios" + } + }, + "uefi": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "uefi" + } + } + } + }, + "com.amazonaws.ec2#BoxedDouble": { + "type": "double" + }, + "com.amazonaws.ec2#BundleId": { + "type": "string" + }, + "com.amazonaws.ec2#BundleIdStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#BundleId", + "traits": { + "smithy.api#xmlName": "BundleId" + } + } + }, + "com.amazonaws.ec2#BundleInstance": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#BundleInstanceRequest" + }, + "output": { + "target": "com.amazonaws.ec2#BundleInstanceResult" + }, + "traits": { + "smithy.api#documentation": "

Bundles an Amazon instance store-backed Windows instance.

\n

During bundling, only the root device volume (C:\\) is bundled. Data on other instance store volumes is not preserved.

\n \n

This action is not applicable for Linux/Unix instances or Windows instances that are backed by Amazon EBS.

\n
" + } + }, + "com.amazonaws.ec2#BundleInstanceRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the instance to bundle.

\n

Type: String

\n

Default: None

\n

Required: Yes

", + "smithy.api#required": {} + } + }, + "Storage": { + "target": "com.amazonaws.ec2#Storage", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The bucket in which to store the AMI. You can specify a bucket that you already own or a new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone else, Amazon EC2 returns an error.

", + "smithy.api#required": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for BundleInstance.

", + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#BundleInstanceResult": { + "type": "structure", + "members": { + "BundleTask": { + "target": "com.amazonaws.ec2#BundleTask", + "traits": { + "aws.protocols#ec2QueryName": "BundleInstanceTask", + "smithy.api#documentation": "

Information about the bundle task.

", + "smithy.api#xmlName": "bundleInstanceTask" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of BundleInstance.

" + } + }, + "com.amazonaws.ec2#BundleTask": { + "type": "structure", + "members": { + "BundleId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "BundleId", + "smithy.api#documentation": "

The ID of the bundle task.

", + "smithy.api#xmlName": "bundleId" + } + }, + "BundleTaskError": { + "target": "com.amazonaws.ec2#BundleTaskError", + "traits": { + "aws.protocols#ec2QueryName": "Error", + "smithy.api#documentation": "

If the task fails, a description of the error.

", + "smithy.api#xmlName": "error" + } + }, + "InstanceId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#documentation": "

The ID of the instance associated with this bundle task.

", + "smithy.api#xmlName": "instanceId" + } + }, + "Progress": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Progress", + "smithy.api#documentation": "

The level of task completion, as a percent (for example, 20%).

", + "smithy.api#xmlName": "progress" + } + }, + "StartTime": { + "target": "com.amazonaws.ec2#DateTime", + "traits": { + "aws.protocols#ec2QueryName": "StartTime", + "smithy.api#documentation": "

The time this task started.

", + "smithy.api#xmlName": "startTime" + } + }, + "State": { + "target": "com.amazonaws.ec2#BundleTaskState", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the task.

", + "smithy.api#xmlName": "state" + } + }, + "Storage": { + "target": "com.amazonaws.ec2#Storage", + "traits": { + "aws.protocols#ec2QueryName": "Storage", + "smithy.api#documentation": "

The Amazon S3 storage locations.

", + "smithy.api#xmlName": "storage" + } + }, + "UpdateTime": { + "target": "com.amazonaws.ec2#DateTime", + "traits": { + "aws.protocols#ec2QueryName": "UpdateTime", + "smithy.api#documentation": "

The time of the most recent update for the task.

", + "smithy.api#xmlName": "updateTime" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a bundle task.

" + } + }, + "com.amazonaws.ec2#BundleTaskError": { + "type": "structure", + "members": { + "Code": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Code", + "smithy.api#documentation": "

The error code.

", + "smithy.api#xmlName": "code" + } + }, + "Message": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Message", + "smithy.api#documentation": "

The error message.

", + "smithy.api#xmlName": "message" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes an error for BundleInstance.

" + } + }, + "com.amazonaws.ec2#BundleTaskList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#BundleTask", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#BundleTaskState": { + "type": "enum", + "members": { + "pending": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "pending" + } + }, + "waiting_for_shutdown": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "waiting-for-shutdown" + } + }, + "bundling": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "bundling" + } + }, + "storing": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "storing" + } + }, + "cancelling": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "cancelling" + } + }, + "complete": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "complete" + } + }, + "failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "failed" + } + } + } + }, + "com.amazonaws.ec2#BurstablePerformance": { + "type": "enum", + "members": { + "INCLUDED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "included" + } + }, + "REQUIRED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "required" + } + }, + "EXCLUDED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "excluded" + } + } + } + }, + "com.amazonaws.ec2#BurstablePerformanceFlag": { + "type": "boolean" + }, + "com.amazonaws.ec2#ByoipCidr": { + "type": "structure", + "members": { + "Cidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Cidr", + "smithy.api#documentation": "

The address range, in CIDR notation.

", + "smithy.api#xmlName": "cidr" + } + }, + "Description": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

The description of the address range.

", + "smithy.api#xmlName": "description" + } + }, + "StatusMessage": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "StatusMessage", + "smithy.api#documentation": "

Upon success, contains the ID of the address pool. Otherwise, contains an error message.

", + "smithy.api#xmlName": "statusMessage" + } + }, + "State": { + "target": "com.amazonaws.ec2#ByoipCidrState", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the address pool.

", + "smithy.api#xmlName": "state" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about an address range that is provisioned for use with your Amazon Web Services resources \n through bring your own IP addresses (BYOIP).

" + } + }, + "com.amazonaws.ec2#ByoipCidrSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ByoipCidr", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ByoipCidrState": { + "type": "enum", + "members": { + "advertised": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "advertised" + } + }, + "deprovisioned": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "deprovisioned" + } + }, + "failed_deprovision": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "failed-deprovision" + } + }, + "failed_provision": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "failed-provision" + } + }, + "pending_deprovision": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "pending-deprovision" + } + }, + "pending_provision": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "pending-provision" + } + }, + "provisioned": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "provisioned" + } + }, + "provisioned_not_publicly_advertisable": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "provisioned-not-publicly-advertisable" + } + } + } + }, + "com.amazonaws.ec2#CancelBatchErrorCode": { + "type": "enum", + "members": { + "FLEET_REQUEST_ID_DOES_NOT_EXIST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "fleetRequestIdDoesNotExist" + } + }, + "FLEET_REQUEST_ID_MALFORMED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "fleetRequestIdMalformed" + } + }, + "FLEET_REQUEST_NOT_IN_CANCELLABLE_STATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "fleetRequestNotInCancellableState" + } + }, + "UNEXPECTED_ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "unexpectedError" + } + } + } + }, + "com.amazonaws.ec2#CancelBundleTask": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CancelBundleTaskRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CancelBundleTaskResult" + }, + "traits": { + "smithy.api#documentation": "

Cancels a bundling operation for an instance store-backed Windows instance.

" + } + }, + "com.amazonaws.ec2#CancelBundleTaskRequest": { + "type": "structure", + "members": { + "BundleId": { + "target": "com.amazonaws.ec2#BundleId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the bundle task.

", + "smithy.api#required": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for CancelBundleTask.

", + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CancelBundleTaskResult": { + "type": "structure", + "members": { + "BundleTask": { + "target": "com.amazonaws.ec2#BundleTask", + "traits": { + "aws.protocols#ec2QueryName": "BundleInstanceTask", + "smithy.api#documentation": "

Information about the bundle task.

", + "smithy.api#xmlName": "bundleInstanceTask" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of CancelBundleTask.

" + } + }, + "com.amazonaws.ec2#CancelCapacityReservation": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CancelCapacityReservationRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CancelCapacityReservationResult" + }, + "traits": { + "smithy.api#documentation": "

Cancels the specified Capacity Reservation, releases the reserved capacity, and changes the Capacity Reservation's state to\n\t\t\tcancelled.

\n

Instances running in the reserved capacity continue running until you stop them. Stopped\n\t\t\tinstances that target the Capacity Reservation can no longer launch. Modify these instances to either\n\t\t\ttarget a different Capacity Reservation, launch On-Demand Instance capacity, or run in any open Capacity Reservation\n\t\t\tthat has matching attributes and sufficient capacity.

" + } + }, + "com.amazonaws.ec2#CancelCapacityReservationFleetError": { + "type": "structure", + "members": { + "Code": { + "target": "com.amazonaws.ec2#CancelCapacityReservationFleetErrorCode", + "traits": { + "aws.protocols#ec2QueryName": "Code", + "smithy.api#documentation": "

The error code.

", + "smithy.api#xmlName": "code" + } + }, + "Message": { + "target": "com.amazonaws.ec2#CancelCapacityReservationFleetErrorMessage", + "traits": { + "aws.protocols#ec2QueryName": "Message", + "smithy.api#documentation": "

The error message.

", + "smithy.api#xmlName": "message" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a Capacity Reservation Fleet cancellation error.

" + } + }, + "com.amazonaws.ec2#CancelCapacityReservationFleetErrorCode": { + "type": "string" + }, + "com.amazonaws.ec2#CancelCapacityReservationFleetErrorMessage": { + "type": "string" + }, + "com.amazonaws.ec2#CancelCapacityReservationFleets": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CancelCapacityReservationFleetsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CancelCapacityReservationFleetsResult" + }, + "traits": { + "smithy.api#documentation": "

Cancels one or more Capacity Reservation Fleets. When you cancel a Capacity Reservation \n\t\t\tFleet, the following happens:

\n
    \n
  • \n

    The Capacity Reservation Fleet's status changes to cancelled.

    \n
  • \n
  • \n

    The individual Capacity Reservations in the Fleet are cancelled. Instances running \n\t\t\t\t\tin the Capacity Reservations at the time of cancelling the Fleet continue to run in \n\t\t\t\t\tshared capacity.

    \n
  • \n
  • \n

    The Fleet stops creating new Capacity Reservations.

    \n
  • \n
" + } + }, + "com.amazonaws.ec2#CancelCapacityReservationFleetsRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + }, + "CapacityReservationFleetIds": { + "target": "com.amazonaws.ec2#CapacityReservationFleetIdSet", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The IDs of the Capacity Reservation Fleets to cancel.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "CapacityReservationFleetId" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CancelCapacityReservationFleetsResult": { + "type": "structure", + "members": { + "SuccessfulFleetCancellations": { + "target": "com.amazonaws.ec2#CapacityReservationFleetCancellationStateSet", + "traits": { + "aws.protocols#ec2QueryName": "SuccessfulFleetCancellationSet", + "smithy.api#documentation": "

Information about the Capacity Reservation Fleets that were successfully cancelled.

", + "smithy.api#xmlName": "successfulFleetCancellationSet" + } + }, + "FailedFleetCancellations": { + "target": "com.amazonaws.ec2#FailedCapacityReservationFleetCancellationResultSet", + "traits": { + "aws.protocols#ec2QueryName": "FailedFleetCancellationSet", + "smithy.api#documentation": "

Information about the Capacity Reservation Fleets that could not be cancelled.

", + "smithy.api#xmlName": "failedFleetCancellationSet" + } + } + } + }, + "com.amazonaws.ec2#CancelCapacityReservationRequest": { + "type": "structure", + "members": { + "CapacityReservationId": { + "target": "com.amazonaws.ec2#CapacityReservationId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Capacity Reservation to be cancelled.

", + "smithy.api#required": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CancelCapacityReservationResult": { + "type": "structure", + "members": { + "Return": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "smithy.api#xmlName": "return" + } + } + } + }, + "com.amazonaws.ec2#CancelConversionRequest": { + "type": "structure", + "members": { + "ConversionTaskId": { + "target": "com.amazonaws.ec2#ConversionTaskId", + "traits": { + "aws.protocols#ec2QueryName": "ConversionTaskId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the conversion task.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "conversionTaskId" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + }, + "ReasonMessage": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ReasonMessage", + "smithy.api#documentation": "

The reason for canceling the conversion task.

", + "smithy.api#xmlName": "reasonMessage" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CancelConversionTask": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CancelConversionRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "

Cancels an active conversion task. The task can be the import of an instance or volume. The action removes all\n artifacts of the conversion, including a partially uploaded volume or instance. If the conversion is complete or is\n in the process of transferring the final disk image, the command fails and returns an exception.

\n

For more information, see Importing a Virtual Machine Using the Amazon\n EC2 CLI.

" + } + }, + "com.amazonaws.ec2#CancelExportTask": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CancelExportTaskRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "

Cancels an active export task. The request removes all artifacts of the export, including any partially-created\n Amazon S3 objects. If the export task is complete or is in the process of transferring the final disk image, the\n command fails and returns an error.

" + } + }, + "com.amazonaws.ec2#CancelExportTaskRequest": { + "type": "structure", + "members": { + "ExportTaskId": { + "target": "com.amazonaws.ec2#ExportVmTaskId", + "traits": { + "aws.protocols#ec2QueryName": "ExportTaskId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the export task. This is the ID returned by CreateInstanceExportTask.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "exportTaskId" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CancelImageLaunchPermission": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CancelImageLaunchPermissionRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CancelImageLaunchPermissionResult" + }, + "traits": { + "smithy.api#documentation": "

Removes your Amazon Web Services account from the launch permissions for the specified AMI. For more\n information, see Cancel having an AMI shared with your Amazon Web Services account \n in the Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#CancelImageLaunchPermissionRequest": { + "type": "structure", + "members": { + "ImageId": { + "target": "com.amazonaws.ec2#ImageId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the AMI that was shared with your Amazon Web Services account.

", + "smithy.api#required": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CancelImageLaunchPermissionResult": { + "type": "structure", + "members": { + "Return": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "smithy.api#xmlName": "return" + } + } + } + }, + "com.amazonaws.ec2#CancelImportTask": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CancelImportTaskRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CancelImportTaskResult" + }, + "traits": { + "smithy.api#documentation": "

Cancels an in-process import virtual machine or import snapshot task.

" + } + }, + "com.amazonaws.ec2#CancelImportTaskRequest": { + "type": "structure", + "members": { + "CancelReason": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The reason for canceling the task.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "ImportTaskId": { + "target": "com.amazonaws.ec2#ImportTaskId", + "traits": { + "smithy.api#documentation": "

The ID of the import image or import snapshot task to be canceled.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CancelImportTaskResult": { + "type": "structure", + "members": { + "ImportTaskId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ImportTaskId", + "smithy.api#documentation": "

The ID of the task being canceled.

", + "smithy.api#xmlName": "importTaskId" + } + }, + "PreviousState": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "PreviousState", + "smithy.api#documentation": "

The current state of the task being canceled.

", + "smithy.api#xmlName": "previousState" + } + }, + "State": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The current state of the task being canceled.

", + "smithy.api#xmlName": "state" + } + } + } + }, + "com.amazonaws.ec2#CancelReservedInstancesListing": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CancelReservedInstancesListingRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CancelReservedInstancesListingResult" + }, + "traits": { + "smithy.api#documentation": "

Cancels the specified Reserved Instance listing in the Reserved Instance Marketplace.

\n

For more information, see \n Reserved Instance Marketplace \n in the Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#CancelReservedInstancesListingRequest": { + "type": "structure", + "members": { + "ReservedInstancesListingId": { + "target": "com.amazonaws.ec2#ReservedInstancesListingId", + "traits": { + "aws.protocols#ec2QueryName": "ReservedInstancesListingId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Reserved Instance listing.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "reservedInstancesListingId" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for CancelReservedInstancesListing.

", + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CancelReservedInstancesListingResult": { + "type": "structure", + "members": { + "ReservedInstancesListings": { + "target": "com.amazonaws.ec2#ReservedInstancesListingList", + "traits": { + "aws.protocols#ec2QueryName": "ReservedInstancesListingsSet", + "smithy.api#documentation": "

The Reserved Instance listing.

", + "smithy.api#xmlName": "reservedInstancesListingsSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of CancelReservedInstancesListing.

" + } + }, + "com.amazonaws.ec2#CancelSpotFleetRequests": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CancelSpotFleetRequestsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CancelSpotFleetRequestsResponse" + }, + "traits": { + "smithy.api#documentation": "

Cancels the specified Spot Fleet requests.

\n

After you cancel a Spot Fleet request, the Spot Fleet launches no new Spot Instances.\n You must specify whether the Spot Fleet should also terminate its Spot Instances. If you\n terminate the instances, the Spot Fleet request enters the\n cancelled_terminating state. Otherwise, the Spot Fleet request enters\n the cancelled_running state and the instances continue to run until they\n are interrupted or you terminate them manually.

" + } + }, + "com.amazonaws.ec2#CancelSpotFleetRequestsError": { + "type": "structure", + "members": { + "Code": { + "target": "com.amazonaws.ec2#CancelBatchErrorCode", + "traits": { + "aws.protocols#ec2QueryName": "Code", + "smithy.api#documentation": "

The error code.

", + "smithy.api#xmlName": "code" + } + }, + "Message": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Message", + "smithy.api#documentation": "

The description for the error code.

", + "smithy.api#xmlName": "message" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a Spot Fleet error.

" + } + }, + "com.amazonaws.ec2#CancelSpotFleetRequestsErrorItem": { + "type": "structure", + "members": { + "Error": { + "target": "com.amazonaws.ec2#CancelSpotFleetRequestsError", + "traits": { + "aws.protocols#ec2QueryName": "Error", + "smithy.api#documentation": "

The error.

", + "smithy.api#xmlName": "error" + } + }, + "SpotFleetRequestId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "SpotFleetRequestId", + "smithy.api#documentation": "

The ID of the Spot Fleet request.

", + "smithy.api#xmlName": "spotFleetRequestId" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a Spot Fleet request that was not successfully canceled.

" + } + }, + "com.amazonaws.ec2#CancelSpotFleetRequestsErrorSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#CancelSpotFleetRequestsErrorItem", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#CancelSpotFleetRequestsRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + }, + "SpotFleetRequestIds": { + "target": "com.amazonaws.ec2#SpotFleetRequestIdList", + "traits": { + "aws.protocols#ec2QueryName": "SpotFleetRequestId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The IDs of the Spot Fleet requests.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "spotFleetRequestId" + } + }, + "TerminateInstances": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "TerminateInstances", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to terminate instances for a Spot Fleet request if it is canceled\n successfully.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "terminateInstances" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for CancelSpotFleetRequests.

", + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CancelSpotFleetRequestsResponse": { + "type": "structure", + "members": { + "SuccessfulFleetRequests": { + "target": "com.amazonaws.ec2#CancelSpotFleetRequestsSuccessSet", + "traits": { + "aws.protocols#ec2QueryName": "SuccessfulFleetRequestSet", + "smithy.api#documentation": "

Information about the Spot Fleet requests that are successfully canceled.

", + "smithy.api#xmlName": "successfulFleetRequestSet" + } + }, + "UnsuccessfulFleetRequests": { + "target": "com.amazonaws.ec2#CancelSpotFleetRequestsErrorSet", + "traits": { + "aws.protocols#ec2QueryName": "UnsuccessfulFleetRequestSet", + "smithy.api#documentation": "

Information about the Spot Fleet requests that are not successfully canceled.

", + "smithy.api#xmlName": "unsuccessfulFleetRequestSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of CancelSpotFleetRequests.

", + "smithy.api#output": {} + } + }, + "com.amazonaws.ec2#CancelSpotFleetRequestsSuccessItem": { + "type": "structure", + "members": { + "CurrentSpotFleetRequestState": { + "target": "com.amazonaws.ec2#BatchState", + "traits": { + "aws.protocols#ec2QueryName": "CurrentSpotFleetRequestState", + "smithy.api#documentation": "

The current state of the Spot Fleet request.

", + "smithy.api#xmlName": "currentSpotFleetRequestState" + } + }, + "PreviousSpotFleetRequestState": { + "target": "com.amazonaws.ec2#BatchState", + "traits": { + "aws.protocols#ec2QueryName": "PreviousSpotFleetRequestState", + "smithy.api#documentation": "

The previous state of the Spot Fleet request.

", + "smithy.api#xmlName": "previousSpotFleetRequestState" + } + }, + "SpotFleetRequestId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "SpotFleetRequestId", + "smithy.api#documentation": "

The ID of the Spot Fleet request.

", + "smithy.api#xmlName": "spotFleetRequestId" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a Spot Fleet request that was successfully canceled.

" + } + }, + "com.amazonaws.ec2#CancelSpotFleetRequestsSuccessSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#CancelSpotFleetRequestsSuccessItem", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#CancelSpotInstanceRequestState": { + "type": "enum", + "members": { + "active": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "active" + } + }, + "open": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "open" + } + }, + "closed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "closed" + } + }, + "cancelled": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "cancelled" + } + }, + "completed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "completed" + } + } + } + }, + "com.amazonaws.ec2#CancelSpotInstanceRequests": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CancelSpotInstanceRequestsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CancelSpotInstanceRequestsResult" + }, + "traits": { + "smithy.api#documentation": "

Cancels one or more Spot Instance requests.

\n \n

Canceling a Spot Instance request does not terminate running Spot Instances\n associated with the request.

\n
" + } + }, + "com.amazonaws.ec2#CancelSpotInstanceRequestsRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + }, + "SpotInstanceRequestIds": { + "target": "com.amazonaws.ec2#SpotInstanceRequestIdList", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

One or more Spot Instance request IDs.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "SpotInstanceRequestId" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for CancelSpotInstanceRequests.

", + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CancelSpotInstanceRequestsResult": { + "type": "structure", + "members": { + "CancelledSpotInstanceRequests": { + "target": "com.amazonaws.ec2#CancelledSpotInstanceRequestList", + "traits": { + "aws.protocols#ec2QueryName": "SpotInstanceRequestSet", + "smithy.api#documentation": "

One or more Spot Instance requests.

", + "smithy.api#xmlName": "spotInstanceRequestSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of CancelSpotInstanceRequests.

" + } + }, + "com.amazonaws.ec2#CancelledSpotInstanceRequest": { + "type": "structure", + "members": { + "SpotInstanceRequestId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "SpotInstanceRequestId", + "smithy.api#documentation": "

The ID of the Spot Instance request.

", + "smithy.api#xmlName": "spotInstanceRequestId" + } + }, + "State": { + "target": "com.amazonaws.ec2#CancelSpotInstanceRequestState", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the Spot Instance request.

", + "smithy.api#xmlName": "state" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a request to cancel a Spot Instance.

" + } + }, + "com.amazonaws.ec2#CancelledSpotInstanceRequestList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#CancelledSpotInstanceRequest", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#CapacityAllocation": { + "type": "structure", + "members": { + "AllocationType": { + "target": "com.amazonaws.ec2#AllocationType", + "traits": { + "aws.protocols#ec2QueryName": "AllocationType", + "smithy.api#documentation": "

The usage type. used indicates that the instance capacity is \n\t\t\tin use by instances that are running in the Capacity Reservation.

", + "smithy.api#xmlName": "allocationType" + } + }, + "Count": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Count", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The amount of instance capacity associated with the usage. For example a value of \n\t\t\t4 indicates that instance capacity for 4 instances is currently in use.

", + "smithy.api#xmlName": "count" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about instance capacity usage for a Capacity Reservation.

" + } + }, + "com.amazonaws.ec2#CapacityAllocations": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#CapacityAllocation", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#CapacityReservation": { + "type": "structure", + "members": { + "CapacityReservationId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "CapacityReservationId", + "smithy.api#documentation": "

The ID of the Capacity Reservation.

", + "smithy.api#xmlName": "capacityReservationId" + } + }, + "OwnerId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the Capacity Reservation.

", + "smithy.api#xmlName": "ownerId" + } + }, + "CapacityReservationArn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "CapacityReservationArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Capacity Reservation.

", + "smithy.api#xmlName": "capacityReservationArn" + } + }, + "AvailabilityZoneId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AvailabilityZoneId", + "smithy.api#documentation": "

The Availability Zone ID of the Capacity Reservation.

", + "smithy.api#xmlName": "availabilityZoneId" + } + }, + "InstanceType": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "InstanceType", + "smithy.api#documentation": "

The type of instance for which the Capacity Reservation reserves capacity.

", + "smithy.api#xmlName": "instanceType" + } + }, + "InstancePlatform": { + "target": "com.amazonaws.ec2#CapacityReservationInstancePlatform", + "traits": { + "aws.protocols#ec2QueryName": "InstancePlatform", + "smithy.api#documentation": "

The type of operating system for which the Capacity Reservation reserves capacity.

", + "smithy.api#xmlName": "instancePlatform" + } + }, + "AvailabilityZone": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AvailabilityZone", + "smithy.api#documentation": "

The Availability Zone in which the capacity is reserved.

", + "smithy.api#xmlName": "availabilityZone" + } + }, + "Tenancy": { + "target": "com.amazonaws.ec2#CapacityReservationTenancy", + "traits": { + "aws.protocols#ec2QueryName": "Tenancy", + "smithy.api#documentation": "

Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings:

\n
    \n
  • \n

    \n default - The Capacity Reservation is created on hardware that is shared with other Amazon Web Services accounts.

    \n
  • \n
  • \n

    \n dedicated - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single Amazon Web Services account.

    \n
  • \n
", + "smithy.api#xmlName": "tenancy" + } + }, + "TotalInstanceCount": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "TotalInstanceCount", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The total number of instances for which the Capacity Reservation reserves capacity.

", + "smithy.api#xmlName": "totalInstanceCount" + } + }, + "AvailableInstanceCount": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "AvailableInstanceCount", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The remaining capacity. Indicates the number of instances that can be launched in the Capacity Reservation.

", + "smithy.api#xmlName": "availableInstanceCount" + } + }, + "EbsOptimized": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "EbsOptimized", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the Capacity Reservation supports EBS-optimized instances. This optimization provides\n\t\t\tdedicated throughput to Amazon EBS and an optimized configuration stack to provide\n\t\t\toptimal I/O performance. This optimization isn't available with all instance types.\n\t\t\tAdditional usage charges apply when using an EBS- optimized instance.

", + "smithy.api#xmlName": "ebsOptimized" + } + }, + "EphemeralStorage": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "EphemeralStorage", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

\n Deprecated.\n

", + "smithy.api#xmlName": "ephemeralStorage" + } + }, + "State": { + "target": "com.amazonaws.ec2#CapacityReservationState", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The current state of the Capacity Reservation. A Capacity Reservation can be in one of the following states:

\n
    \n
  • \n

    \n active - The Capacity Reservation is active and the capacity is available for your use.

    \n
  • \n
  • \n

    \n expired - The Capacity Reservation expired automatically at the date and time specified \n\t\t\t\t\tin your request. The reserved capacity is no longer available for your use.

    \n
  • \n
  • \n

    \n cancelled - The Capacity Reservation was cancelled. The reserved capacity is no\n\t\t\t\t\tlonger available for your use.

    \n
  • \n
  • \n

    \n pending - The Capacity Reservation request was successful but the capacity \n\t\t\t\t\tprovisioning is still pending.

    \n
  • \n
  • \n

    \n failed - The Capacity Reservation request has failed. A request might fail \n\t\t\t\t\tdue to invalid request parameters, capacity constraints, or instance limit constraints. \n\t\t\t\t\tFailed requests are retained for 60 minutes.

    \n
  • \n
", + "smithy.api#xmlName": "state" + } + }, + "StartDate": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "StartDate", + "smithy.api#documentation": "

The date and time at which the Capacity Reservation was started.

", + "smithy.api#xmlName": "startDate" + } + }, + "EndDate": { + "target": "com.amazonaws.ec2#DateTime", + "traits": { + "aws.protocols#ec2QueryName": "EndDate", + "smithy.api#documentation": "

The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity\n\t\t\tis released and you can no longer launch instances into it. The Capacity Reservation's state changes to\n\t\t\t\texpired when it reaches its end date and time.

", + "smithy.api#xmlName": "endDate" + } + }, + "EndDateType": { + "target": "com.amazonaws.ec2#EndDateType", + "traits": { + "aws.protocols#ec2QueryName": "EndDateType", + "smithy.api#documentation": "

Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end\n\t\t\ttypes:

\n
    \n
  • \n

    \n unlimited - The Capacity Reservation remains active until you explicitly cancel it.

    \n
  • \n
  • \n

    \n limited - The Capacity Reservation expires automatically at a specified date and time.

    \n
  • \n
", + "smithy.api#xmlName": "endDateType" + } + }, + "InstanceMatchCriteria": { + "target": "com.amazonaws.ec2#InstanceMatchCriteria", + "traits": { + "aws.protocols#ec2QueryName": "InstanceMatchCriteria", + "smithy.api#documentation": "

Indicates the type of instance launches that the Capacity Reservation accepts. The options\n\t\t\tinclude:

\n
    \n
  • \n

    \n open - The Capacity Reservation accepts all instances that have matching attributes (instance type, platform, \n\t\t\t\tand Availability Zone). Instances that have matching attributes launch into the Capacity Reservation automatically without specifying \n\t\t\t\tany additional parameters.

    \n
  • \n
  • \n

    \n targeted - The Capacity Reservation only accepts instances that have matching attributes\n\t\t\t\t\t(instance type, platform, and Availability Zone), and explicitly target the\n\t\t\t\t\tCapacity Reservation. This ensures that only permitted instances can use the reserved capacity.

    \n
  • \n
", + "smithy.api#xmlName": "instanceMatchCriteria" + } + }, + "CreateDate": { + "target": "com.amazonaws.ec2#DateTime", + "traits": { + "aws.protocols#ec2QueryName": "CreateDate", + "smithy.api#documentation": "

The date and time at which the Capacity Reservation was created.

", + "smithy.api#xmlName": "createDate" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Any tags assigned to the Capacity Reservation.

", + "smithy.api#xmlName": "tagSet" + } + }, + "OutpostArn": { + "target": "com.amazonaws.ec2#OutpostArn", + "traits": { + "aws.protocols#ec2QueryName": "OutpostArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Outpost on which the Capacity \n\t \t\tReservation was created.

", + "smithy.api#xmlName": "outpostArn" + } + }, + "CapacityReservationFleetId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "CapacityReservationFleetId", + "smithy.api#documentation": "

The ID of the Capacity Reservation Fleet to which the Capacity Reservation belongs. \n\t\t\tOnly valid for Capacity Reservations that were created by a Capacity Reservation Fleet.

", + "smithy.api#xmlName": "capacityReservationFleetId" + } + }, + "PlacementGroupArn": { + "target": "com.amazonaws.ec2#PlacementGroupArn", + "traits": { + "aws.protocols#ec2QueryName": "PlacementGroupArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the cluster placement group in which \n\t\t\tthe Capacity Reservation was created. For more information, see \n\t\t\t\n\t\t\t\tCapacity Reservations for cluster placement groups in the \n\t\t\tAmazon EC2 User Guide.

", + "smithy.api#xmlName": "placementGroupArn" + } + }, + "CapacityAllocations": { + "target": "com.amazonaws.ec2#CapacityAllocations", + "traits": { + "aws.protocols#ec2QueryName": "CapacityAllocationSet", + "smithy.api#documentation": "

Information about instance capacity usage.

", + "smithy.api#xmlName": "capacityAllocationSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a Capacity Reservation.

" + } + }, + "com.amazonaws.ec2#CapacityReservationFleet": { + "type": "structure", + "members": { + "CapacityReservationFleetId": { + "target": "com.amazonaws.ec2#CapacityReservationFleetId", + "traits": { + "aws.protocols#ec2QueryName": "CapacityReservationFleetId", + "smithy.api#documentation": "

The ID of the Capacity Reservation Fleet.

", + "smithy.api#xmlName": "capacityReservationFleetId" + } + }, + "CapacityReservationFleetArn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "CapacityReservationFleetArn", + "smithy.api#documentation": "

The ARN of the Capacity Reservation Fleet.

", + "smithy.api#xmlName": "capacityReservationFleetArn" + } + }, + "State": { + "target": "com.amazonaws.ec2#CapacityReservationFleetState", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the Capacity Reservation Fleet. Possible states include:

\n
    \n
  • \n

    \n submitted - The Capacity Reservation Fleet request has been submitted \n\t\t\t\t\tand Amazon Elastic Compute Cloud is preparing to create the Capacity Reservations.

    \n
  • \n
  • \n

    \n modifying - The Capacity Reservation Fleet is being modified. The Fleet \n\t\t\t\t\tremains in this state until the modification is complete.

    \n
  • \n
  • \n

    \n active - The Capacity Reservation Fleet has fulfilled its total target \n\t\t\t\t\tcapacity and it is attempting to maintain this capacity. The Fleet remains in this \n\t\t\t\t\tstate until it is modified or deleted.

    \n
  • \n
  • \n

    \n partially_fulfilled - The Capacity Reservation Fleet has partially \n\t\t\t\t\tfulfilled its total target capacity. There is insufficient Amazon EC2 to \n\t\t\t\t\tfulfill the total target capacity. The Fleet is attempting to asynchronously fulfill \n\t\t\t\t\tits total target capacity.

    \n
  • \n
  • \n

    \n expiring - The Capacity Reservation Fleet has reach its end date and it \n\t\t\t\t\tis in the process of expiring. One or more of its Capacity reservations might still \n\t\t\t\t\tbe active.

    \n
  • \n
  • \n

    \n expired - The Capacity Reservation Fleet has reach its end date. The Fleet \n\t\t\t\t\tand its Capacity Reservations are expired. The Fleet can't create new Capacity \n\t\t\t\t\tReservations.

    \n
  • \n
  • \n

    \n cancelling - The Capacity Reservation Fleet is in the process of being \n\t\t\t\t\tcancelled. One or more of its Capacity reservations might still be active.

    \n
  • \n
  • \n

    \n cancelled - The Capacity Reservation Fleet has been manually cancelled. \n\t\t\t\t\tThe Fleet and its Capacity Reservations are cancelled and the Fleet can't create new \n\t\t\t\t\tCapacity Reservations.

    \n
  • \n
  • \n

    \n failed - The Capacity Reservation Fleet failed to reserve capacity for \n\t\t\t\t\tthe specified instance types.

    \n
  • \n
", + "smithy.api#xmlName": "state" + } + }, + "TotalTargetCapacity": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "TotalTargetCapacity", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The total number of capacity units for which the Capacity Reservation Fleet reserves capacity. \n\t\t\tFor more information, see Total target capacity \n\t\t\tin the Amazon EC2 User Guide.

", + "smithy.api#xmlName": "totalTargetCapacity" + } + }, + "TotalFulfilledCapacity": { + "target": "com.amazonaws.ec2#Double", + "traits": { + "aws.protocols#ec2QueryName": "TotalFulfilledCapacity", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The capacity units that have been fulfilled.

", + "smithy.api#xmlName": "totalFulfilledCapacity" + } + }, + "Tenancy": { + "target": "com.amazonaws.ec2#FleetCapacityReservationTenancy", + "traits": { + "aws.protocols#ec2QueryName": "Tenancy", + "smithy.api#documentation": "

The tenancy of the Capacity Reservation Fleet. Tenancies include:

\n
    \n
  • \n

    \n default - The Capacity Reservation Fleet is created on hardware that is \n\t\t\t\t\tshared with other Amazon Web Services accounts.

    \n
  • \n
  • \n

    \n dedicated - The Capacity Reservation Fleet is created on single-tenant \n\t\t\t\t\thardware that is dedicated to a single Amazon Web Services account.

    \n
  • \n
", + "smithy.api#xmlName": "tenancy" + } + }, + "EndDate": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "EndDate", + "smithy.api#documentation": "

The date and time at which the Capacity Reservation Fleet expires.

", + "smithy.api#xmlName": "endDate" + } + }, + "CreateTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "CreateTime", + "smithy.api#documentation": "

The date and time at which the Capacity Reservation Fleet was created.

", + "smithy.api#xmlName": "createTime" + } + }, + "InstanceMatchCriteria": { + "target": "com.amazonaws.ec2#FleetInstanceMatchCriteria", + "traits": { + "aws.protocols#ec2QueryName": "InstanceMatchCriteria", + "smithy.api#documentation": "

Indicates the type of instance launches that the Capacity Reservation Fleet accepts. All \n\t\t\tCapacity Reservations in the Fleet inherit this instance matching criteria.

\n

Currently, Capacity Reservation Fleets support open instance matching criteria \n\t\t\tonly. This means that instances that have matching attributes (instance type, platform, and \n\t\t\tAvailability Zone) run in the Capacity Reservations automatically. Instances do not need to \n\t\t\texplicitly target a Capacity Reservation Fleet to use its reserved capacity.

", + "smithy.api#xmlName": "instanceMatchCriteria" + } + }, + "AllocationStrategy": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AllocationStrategy", + "smithy.api#documentation": "

The strategy used by the Capacity Reservation Fleet to determine which of the specified \n\t\t\tinstance types to use. For more information, see For more information, see \n\t\t\t\n\t\t\t\tAllocation strategy in the Amazon EC2 User Guide.

", + "smithy.api#xmlName": "allocationStrategy" + } + }, + "InstanceTypeSpecifications": { + "target": "com.amazonaws.ec2#FleetCapacityReservationSet", + "traits": { + "aws.protocols#ec2QueryName": "InstanceTypeSpecificationSet", + "smithy.api#documentation": "

Information about the instance types for which to reserve the capacity.

", + "smithy.api#xmlName": "instanceTypeSpecificationSet" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags assigned to the Capacity Reservation Fleet.

", + "smithy.api#xmlName": "tagSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about a Capacity Reservation Fleet.

" + } + }, + "com.amazonaws.ec2#CapacityReservationFleetCancellationState": { + "type": "structure", + "members": { + "CurrentFleetState": { + "target": "com.amazonaws.ec2#CapacityReservationFleetState", + "traits": { + "aws.protocols#ec2QueryName": "CurrentFleetState", + "smithy.api#documentation": "

The current state of the Capacity Reservation Fleet.

", + "smithy.api#xmlName": "currentFleetState" + } + }, + "PreviousFleetState": { + "target": "com.amazonaws.ec2#CapacityReservationFleetState", + "traits": { + "aws.protocols#ec2QueryName": "PreviousFleetState", + "smithy.api#documentation": "

The previous state of the Capacity Reservation Fleet.

", + "smithy.api#xmlName": "previousFleetState" + } + }, + "CapacityReservationFleetId": { + "target": "com.amazonaws.ec2#CapacityReservationFleetId", + "traits": { + "aws.protocols#ec2QueryName": "CapacityReservationFleetId", + "smithy.api#documentation": "

The ID of the Capacity Reservation Fleet that was successfully cancelled.

", + "smithy.api#xmlName": "capacityReservationFleetId" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a Capacity Reservation Fleet that was successfully cancelled.

" + } + }, + "com.amazonaws.ec2#CapacityReservationFleetCancellationStateSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#CapacityReservationFleetCancellationState", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#CapacityReservationFleetId": { + "type": "string" + }, + "com.amazonaws.ec2#CapacityReservationFleetIdSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#CapacityReservationFleetId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#CapacityReservationFleetSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#CapacityReservationFleet", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#CapacityReservationFleetState": { + "type": "enum", + "members": { + "SUBMITTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "submitted" + } + }, + "MODIFYING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "modifying" + } + }, + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "active" + } + }, + "PARTIALLY_FULFILLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "partially_fulfilled" + } + }, + "EXPIRING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "expiring" + } + }, + "EXPIRED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "expired" + } + }, + "CANCELLING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "cancelling" + } + }, + "CANCELLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "cancelled" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "failed" + } + } + } + }, + "com.amazonaws.ec2#CapacityReservationGroup": { + "type": "structure", + "members": { + "GroupArn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "GroupArn", + "smithy.api#documentation": "

The ARN of the resource group.

", + "smithy.api#xmlName": "groupArn" + } + }, + "OwnerId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the resource group.

", + "smithy.api#xmlName": "ownerId" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a resource group to which a Capacity Reservation has been added.

" + } + }, + "com.amazonaws.ec2#CapacityReservationGroupSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#CapacityReservationGroup", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#CapacityReservationId": { + "type": "string" + }, + "com.amazonaws.ec2#CapacityReservationIdSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#CapacityReservationId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#CapacityReservationInstancePlatform": { + "type": "enum", + "members": { + "LINUX_UNIX": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Linux/UNIX" + } + }, + "RED_HAT_ENTERPRISE_LINUX": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Red Hat Enterprise Linux" + } + }, + "SUSE_LINUX": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SUSE Linux" + } + }, + "WINDOWS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Windows" + } + }, + "WINDOWS_WITH_SQL_SERVER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Windows with SQL Server" + } + }, + "WINDOWS_WITH_SQL_SERVER_ENTERPRISE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Windows with SQL Server Enterprise" + } + }, + "WINDOWS_WITH_SQL_SERVER_STANDARD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Windows with SQL Server Standard" + } + }, + "WINDOWS_WITH_SQL_SERVER_WEB": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Windows with SQL Server Web" + } + }, + "LINUX_WITH_SQL_SERVER_STANDARD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Linux with SQL Server Standard" + } + }, + "LINUX_WITH_SQL_SERVER_WEB": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Linux with SQL Server Web" + } + }, + "LINUX_WITH_SQL_SERVER_ENTERPRISE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Linux with SQL Server Enterprise" + } + }, + "RHEL_WITH_SQL_SERVER_STANDARD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RHEL with SQL Server Standard" + } + }, + "RHEL_WITH_SQL_SERVER_ENTERPRISE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RHEL with SQL Server Enterprise" + } + }, + "RHEL_WITH_SQL_SERVER_WEB": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RHEL with SQL Server Web" + } + }, + "RHEL_WITH_HA": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RHEL with HA" + } + }, + "RHEL_WITH_HA_AND_SQL_SERVER_STANDARD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RHEL with HA and SQL Server Standard" + } + }, + "RHEL_WITH_HA_AND_SQL_SERVER_ENTERPRISE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RHEL with HA and SQL Server Enterprise" + } + } + } + }, + "com.amazonaws.ec2#CapacityReservationOptions": { "type": "structure", "members": { - "Cidr": { + "UsageStrategy": { + "target": "com.amazonaws.ec2#FleetCapacityReservationUsageStrategy", + "traits": { + "aws.protocols#ec2QueryName": "UsageStrategy", + "smithy.api#documentation": "

Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity.

\n

If you specify use-capacity-reservations-first, the fleet uses unused\n Capacity Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. If\n multiple instance pools have unused Capacity Reservations, the On-Demand allocation\n strategy (lowest-price or prioritized) is applied. If the number\n of unused Capacity Reservations is less than the On-Demand target capacity, the remaining\n On-Demand target capacity is launched according to the On-Demand allocation strategy\n (lowest-price or prioritized).

\n

If you do not specify a value, the fleet fulfils the On-Demand capacity according to the\n chosen On-Demand allocation strategy.

", + "smithy.api#xmlName": "usageStrategy" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the strategy for using unused Capacity Reservations for fulfilling On-Demand\n capacity.

\n \n

This strategy can only be used if the EC2 Fleet is of type\n instant.

\n
\n

For more information about Capacity Reservations, see On-Demand Capacity\n Reservations in the Amazon EC2 User Guide. For examples of using\n Capacity Reservations in an EC2 Fleet, see EC2 Fleet example\n configurations in the Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#CapacityReservationOptionsRequest": { + "type": "structure", + "members": { + "UsageStrategy": { + "target": "com.amazonaws.ec2#FleetCapacityReservationUsageStrategy", + "traits": { + "smithy.api#documentation": "

Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity.

\n

If you specify use-capacity-reservations-first, the fleet uses unused\n Capacity Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. If\n multiple instance pools have unused Capacity Reservations, the On-Demand allocation\n strategy (lowest-price or prioritized) is applied. If the number\n of unused Capacity Reservations is less than the On-Demand target capacity, the remaining\n On-Demand target capacity is launched according to the On-Demand allocation strategy\n (lowest-price or prioritized).

\n

If you do not specify a value, the fleet fulfils the On-Demand capacity according to the\n chosen On-Demand allocation strategy.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the strategy for using unused Capacity Reservations for fulfilling On-Demand\n capacity.

\n \n

This strategy can only be used if the EC2 Fleet is of type instant.

\n
\n

For more information about Capacity Reservations, see On-Demand Capacity\n Reservations in the Amazon EC2 User Guide. For examples of using\n Capacity Reservations in an EC2 Fleet, see EC2 Fleet example\n configurations in the Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#CapacityReservationPreference": { + "type": "enum", + "members": { + "open": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "open" + } + }, + "none": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "none" + } + } + } + }, + "com.amazonaws.ec2#CapacityReservationSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#CapacityReservation", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#CapacityReservationSpecification": { + "type": "structure", + "members": { + "CapacityReservationPreference": { + "target": "com.amazonaws.ec2#CapacityReservationPreference", + "traits": { + "smithy.api#documentation": "

Indicates the instance's Capacity Reservation preferences. Possible preferences include:

\n
    \n
  • \n

    \n open - The instance can run in any open Capacity Reservation that has matching attributes \n\t\t\t\t(instance type, platform, Availability Zone).

    \n
  • \n
  • \n

    \n none - The instance avoids running in a Capacity Reservation even if one is available. The\n\t\t\t\t\tinstance runs as an On-Demand Instance.

    \n
  • \n
" + } + }, + "CapacityReservationTarget": { + "target": "com.amazonaws.ec2#CapacityReservationTarget", + "traits": { + "smithy.api#documentation": "

Information about the target Capacity Reservation or Capacity Reservation group.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes an instance's Capacity Reservation targeting option. You can specify only one parameter \n\t\t\tat a time. If you specify CapacityReservationPreference and \n\t\t\tCapacityReservationTarget, the request fails.

\n

Use the CapacityReservationPreference parameter to configure the instance\n\t\t\tto run as an On-Demand Instance or to run in any open Capacity Reservation that has\n\t\t\tmatching attributes (instance type, platform, Availability Zone). Use the\n\t\t\tCapacityReservationTarget parameter to explicitly target a specific\n\t\t\t \tCapacity Reservation or a Capacity Reservation group.

" + } + }, + "com.amazonaws.ec2#CapacityReservationSpecificationResponse": { + "type": "structure", + "members": { + "CapacityReservationPreference": { + "target": "com.amazonaws.ec2#CapacityReservationPreference", + "traits": { + "aws.protocols#ec2QueryName": "CapacityReservationPreference", + "smithy.api#documentation": "

Describes the instance's Capacity Reservation preferences. Possible preferences include:

\n
    \n
  • \n

    \n open - The instance can run in any open Capacity Reservation that\n has matching attributes (instance type, platform, Availability Zone).

    \n
  • \n
  • \n

    \n none - The instance avoids running in a Capacity Reservation even if one is\n available. The instance runs in On-Demand capacity.

    \n
  • \n
", + "smithy.api#xmlName": "capacityReservationPreference" + } + }, + "CapacityReservationTarget": { + "target": "com.amazonaws.ec2#CapacityReservationTargetResponse", + "traits": { + "aws.protocols#ec2QueryName": "CapacityReservationTarget", + "smithy.api#documentation": "

Information about the targeted Capacity Reservation or Capacity Reservation group.

", + "smithy.api#xmlName": "capacityReservationTarget" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the instance's Capacity Reservation targeting preferences. The action returns the\n capacityReservationPreference response element if the instance is\n configured to run in On-Demand capacity, or if it is configured in run in any\n open Capacity Reservation that has matching attributes (instance type, platform,\n Availability Zone). The action returns the capacityReservationTarget\n response element if the instance explicily targets a specific Capacity Reservation or Capacity Reservation group.

" + } + }, + "com.amazonaws.ec2#CapacityReservationState": { + "type": "enum", + "members": { + "active": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "active" + } + }, + "expired": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "expired" + } + }, + "cancelled": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "cancelled" + } + }, + "pending": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "pending" + } + }, + "failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "failed" + } + } + } + }, + "com.amazonaws.ec2#CapacityReservationTarget": { + "type": "structure", + "members": { + "CapacityReservationId": { + "target": "com.amazonaws.ec2#CapacityReservationId", + "traits": { + "smithy.api#documentation": "

The ID of the Capacity Reservation in which to run the instance.

" + } + }, + "CapacityReservationResourceGroupArn": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Cidr", - "smithy.api#documentation": "

The IPv4 address range, in CIDR notation.

", - "smithy.api#xmlName": "cidr" + "smithy.api#documentation": "

The ARN of the Capacity Reservation resource group in which to run the instance.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a target Capacity Reservation or Capacity Reservation group.

" + } + }, + "com.amazonaws.ec2#CapacityReservationTargetResponse": { + "type": "structure", + "members": { + "CapacityReservationId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "CapacityReservationId", + "smithy.api#documentation": "

The ID of the targeted Capacity Reservation.

", + "smithy.api#xmlName": "capacityReservationId" } }, - "Egress": { - "target": "com.amazonaws.ec2#Boolean", + "CapacityReservationResourceGroupArn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "CapacityReservationResourceGroupArn", + "smithy.api#documentation": "

The ARN of the targeted Capacity Reservation group.

", + "smithy.api#xmlName": "capacityReservationResourceGroupArn" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a target Capacity Reservation or Capacity Reservation group.

" + } + }, + "com.amazonaws.ec2#CapacityReservationTenancy": { + "type": "enum", + "members": { + "default": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "default" + } + }, + "dedicated": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "dedicated" + } + } + } + }, + "com.amazonaws.ec2#CarrierGateway": { + "type": "structure", + "members": { + "CarrierGatewayId": { + "target": "com.amazonaws.ec2#CarrierGatewayId", + "traits": { + "aws.protocols#ec2QueryName": "CarrierGatewayId", + "smithy.api#documentation": "

The ID of the carrier gateway.

", + "smithy.api#xmlName": "carrierGatewayId" + } + }, + "VpcId": { + "target": "com.amazonaws.ec2#VpcId", + "traits": { + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#documentation": "

The ID of the VPC associated with the carrier gateway.

", + "smithy.api#xmlName": "vpcId" + } + }, + "State": { + "target": "com.amazonaws.ec2#CarrierGatewayState", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the carrier gateway.

", + "smithy.api#xmlName": "state" + } + }, + "OwnerId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The Amazon Web Services account ID of the owner of the carrier gateway.

", + "smithy.api#xmlName": "ownerId" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags assigned to the carrier gateway.

", + "smithy.api#xmlName": "tagSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a carrier gateway.

" + } + }, + "com.amazonaws.ec2#CarrierGatewayId": { + "type": "string" + }, + "com.amazonaws.ec2#CarrierGatewayIdSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#CarrierGatewayId" + } + }, + "com.amazonaws.ec2#CarrierGatewayMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#CarrierGatewaySet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#CarrierGateway", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#CarrierGatewayState": { + "type": "enum", + "members": { + "pending": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "pending" + } + }, + "available": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "available" + } + }, + "deleting": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "deleting" + } + }, + "deleted": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "deleted" + } + } + } + }, + "com.amazonaws.ec2#CertificateArn": { + "type": "string" + }, + "com.amazonaws.ec2#CertificateAuthentication": { + "type": "structure", + "members": { + "ClientRootCertificateChain": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ClientRootCertificateChain", + "smithy.api#documentation": "

The ARN of the client certificate.

", + "smithy.api#xmlName": "clientRootCertificateChain" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about the client certificate used for authentication.

" + } + }, + "com.amazonaws.ec2#CertificateAuthenticationRequest": { + "type": "structure", + "members": { + "ClientRootCertificateChainArn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The ARN of the client certificate. The certificate must be signed by a certificate \n\t\t\tauthority (CA) and it must be provisioned in Certificate Manager (ACM).

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about the client certificate to be used for authentication.

" + } + }, + "com.amazonaws.ec2#CidrAuthorizationContext": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Egress", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the rule is an outbound rule.

", - "smithy.api#xmlName": "egress" + "smithy.api#documentation": "

The plain-text authorization message for the prefix and account.

", + "smithy.api#required": {} } }, - "PortRange": { - "target": "com.amazonaws.ec2#PortRange", + "Signature": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PortRange", - "smithy.api#documentation": "

The range of ports.

", - "smithy.api#xmlName": "portRange" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The signed authorization message for the prefix and account.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Provides authorization for Amazon to bring a specific IP address range to a specific\n Amazon Web Services account using bring your own IP addresses (BYOIP). For more information, see Configuring your BYOIP address range in the Amazon Elastic Compute Cloud User Guide.

" + } + }, + "com.amazonaws.ec2#CidrBlock": { + "type": "structure", + "members": { + "CidrBlock": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "CidrBlock", + "smithy.api#documentation": "

The IPv4 CIDR block.

", + "smithy.api#xmlName": "cidrBlock" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes an IPv4 CIDR block.

" + } + }, + "com.amazonaws.ec2#CidrBlockSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#CidrBlock", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ClassicLinkDnsSupport": { + "type": "structure", + "members": { + "ClassicLinkDnsSupported": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "ClassicLinkDnsSupported", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether ClassicLink DNS support is enabled for the VPC.

", + "smithy.api#xmlName": "classicLinkDnsSupported" } }, - "Protocol": { + "VpcId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Protocol", - "smithy.api#documentation": "

The protocol.

", - "smithy.api#xmlName": "protocol" + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#documentation": "

The ID of the VPC.

", + "smithy.api#xmlName": "vpcId" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the ClassicLink DNS support status of a VPC.

" + } + }, + "com.amazonaws.ec2#ClassicLinkDnsSupportList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ClassicLinkDnsSupport", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ClassicLinkInstance": { + "type": "structure", + "members": { + "Groups": { + "target": "com.amazonaws.ec2#GroupIdentifierList", + "traits": { + "aws.protocols#ec2QueryName": "GroupSet", + "smithy.api#documentation": "

A list of security groups.

", + "smithy.api#xmlName": "groupSet" } }, - "RuleAction": { + "InstanceId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "RuleAction", - "smithy.api#documentation": "

Indicates whether to allow or deny traffic that matches the rule.

", - "smithy.api#xmlName": "ruleAction" + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#documentation": "

The ID of the instance.

", + "smithy.api#xmlName": "instanceId" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Any tags assigned to the instance.

", + "smithy.api#xmlName": "tagSet" } }, - "RuleNumber": { - "target": "com.amazonaws.ec2#Integer", + "VpcId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "RuleNumber", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The rule number.

", - "smithy.api#xmlName": "ruleNumber" + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#documentation": "

The ID of the VPC.

", + "smithy.api#xmlName": "vpcId" } } }, "traits": { - "smithy.api#documentation": "

Describes a network access control (ACL) rule.

" + "smithy.api#documentation": "\n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
\n

Describes a linked EC2-Classic instance.

" } }, - "com.amazonaws.ec2#AnalysisComponent": { + "com.amazonaws.ec2#ClassicLinkInstanceList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ClassicLinkInstance", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ClassicLoadBalancer": { "type": "structure", "members": { - "Id": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "Id", - "smithy.api#documentation": "

The ID of the component.

", - "smithy.api#xmlName": "id" - } - }, - "Arn": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "Arn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the component.

", - "smithy.api#xmlName": "arn" - } - }, "Name": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "Name", - "smithy.api#documentation": "

The name of the analysis component.

", + "smithy.api#documentation": "

The name of the load balancer.

", "smithy.api#xmlName": "name" } } }, "traits": { - "smithy.api#documentation": "

Describes a path component.

" + "smithy.api#documentation": "

Describes a Classic Load Balancer.

" } }, - "com.amazonaws.ec2#AnalysisComponentList": { + "com.amazonaws.ec2#ClassicLoadBalancers": { "type": "list", "member": { - "target": "com.amazonaws.ec2#AnalysisComponent", + "target": "com.amazonaws.ec2#ClassicLoadBalancer", "traits": { "smithy.api#xmlName": "item" } + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 5 + } } }, - "com.amazonaws.ec2#AnalysisLoadBalancerListener": { + "com.amazonaws.ec2#ClassicLoadBalancersConfig": { "type": "structure", "members": { - "LoadBalancerPort": { - "target": "com.amazonaws.ec2#Port", - "traits": { - "aws.protocols#ec2QueryName": "LoadBalancerPort", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The port on which the load balancer is listening.

", - "smithy.api#xmlName": "loadBalancerPort" - } - }, - "InstancePort": { - "target": "com.amazonaws.ec2#Port", + "ClassicLoadBalancers": { + "target": "com.amazonaws.ec2#ClassicLoadBalancers", "traits": { - "aws.protocols#ec2QueryName": "InstancePort", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

[Classic Load Balancers] The back-end port for the listener.

", - "smithy.api#xmlName": "instancePort" + "aws.protocols#ec2QueryName": "ClassicLoadBalancers", + "smithy.api#documentation": "

One or more Classic Load Balancers.

", + "smithy.api#xmlName": "classicLoadBalancers" } } }, "traits": { - "smithy.api#documentation": "

Describes a load balancer listener.

" + "smithy.api#documentation": "

Describes the Classic Load Balancers to attach to a Spot Fleet. Spot Fleet registers\n the running Spot Instances with these Classic Load Balancers.

" } }, - "com.amazonaws.ec2#AnalysisLoadBalancerTarget": { + "com.amazonaws.ec2#ClientCertificateRevocationListStatus": { "type": "structure", "members": { - "Address": { - "target": "com.amazonaws.ec2#IpAddress", + "Code": { + "target": "com.amazonaws.ec2#ClientCertificateRevocationListStatusCode", "traits": { - "aws.protocols#ec2QueryName": "Address", - "smithy.api#documentation": "

The IP address.

", - "smithy.api#xmlName": "address" + "aws.protocols#ec2QueryName": "Code", + "smithy.api#documentation": "

The state of the client certificate revocation list.

", + "smithy.api#xmlName": "code" } }, - "AvailabilityZone": { + "Message": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZone", - "smithy.api#documentation": "

The Availability Zone.

", - "smithy.api#xmlName": "availabilityZone" + "aws.protocols#ec2QueryName": "Message", + "smithy.api#documentation": "

A message about the status of the client certificate revocation list, if applicable.

", + "smithy.api#xmlName": "message" } - }, - "Instance": { - "target": "com.amazonaws.ec2#AnalysisComponent", + } + }, + "traits": { + "smithy.api#documentation": "

Describes the state of a client certificate revocation list.

" + } + }, + "com.amazonaws.ec2#ClientCertificateRevocationListStatusCode": { + "type": "enum", + "members": { + "pending": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Instance", - "smithy.api#documentation": "

Information about the instance.

", - "smithy.api#xmlName": "instance" + "smithy.api#enumValue": "pending" } }, - "Port": { - "target": "com.amazonaws.ec2#Port", + "active": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Port", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The port on which the target is listening.

", - "smithy.api#xmlName": "port" + "smithy.api#enumValue": "active" } } - }, - "traits": { - "smithy.api#documentation": "

Describes a load balancer target.

" } }, - "com.amazonaws.ec2#AnalysisPacketHeader": { + "com.amazonaws.ec2#ClientConnectOptions": { "type": "structure", "members": { - "DestinationAddresses": { - "target": "com.amazonaws.ec2#IpAddressList", + "Enabled": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DestinationAddressSet", - "smithy.api#documentation": "

The destination addresses.

", - "smithy.api#xmlName": "destinationAddressSet" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether client connect options are enabled. The default is false (not enabled).

" } }, - "DestinationPortRanges": { - "target": "com.amazonaws.ec2#PortRangeList", + "LambdaFunctionArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DestinationPortRangeSet", - "smithy.api#documentation": "

The destination port ranges.

", - "smithy.api#xmlName": "destinationPortRangeSet" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Lambda function used for connection authorization.

" } - }, - "Protocol": { - "target": "com.amazonaws.ec2#String", + } + }, + "traits": { + "smithy.api#documentation": "

The options for managing connection authorization for new client connections.

" + } + }, + "com.amazonaws.ec2#ClientConnectResponseOptions": { + "type": "structure", + "members": { + "Enabled": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Protocol", - "smithy.api#documentation": "

The protocol.

", - "smithy.api#xmlName": "protocol" + "aws.protocols#ec2QueryName": "Enabled", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether client connect options are enabled.

", + "smithy.api#xmlName": "enabled" } }, - "SourceAddresses": { - "target": "com.amazonaws.ec2#IpAddressList", + "LambdaFunctionArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SourceAddressSet", - "smithy.api#documentation": "

The source addresses.

", - "smithy.api#xmlName": "sourceAddressSet" + "aws.protocols#ec2QueryName": "LambdaFunctionArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Lambda function used for connection authorization.

", + "smithy.api#xmlName": "lambdaFunctionArn" } }, - "SourcePortRanges": { - "target": "com.amazonaws.ec2#PortRangeList", + "Status": { + "target": "com.amazonaws.ec2#ClientVpnEndpointAttributeStatus", "traits": { - "aws.protocols#ec2QueryName": "SourcePortRangeSet", - "smithy.api#documentation": "

The source port ranges.

", - "smithy.api#xmlName": "sourcePortRangeSet" + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The status of any updates to the client connect options.

", + "smithy.api#xmlName": "status" } } }, "traits": { - "smithy.api#documentation": "

Describes a header. Reflects any changes made by a component as traffic passes through.\n The fields of an inbound header are null except for the first component of a path.

" + "smithy.api#documentation": "

The options for managing connection authorization for new client connections.

" } }, - "com.amazonaws.ec2#AnalysisRouteTableRoute": { + "com.amazonaws.ec2#ClientData": { "type": "structure", "members": { - "DestinationCidr": { + "Comment": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DestinationCidr", - "smithy.api#documentation": "

The destination IPv4 address, in CIDR notation.

", - "smithy.api#xmlName": "destinationCidr" + "smithy.api#documentation": "

A user-defined comment about the disk upload.

" } }, - "DestinationPrefixListId": { - "target": "com.amazonaws.ec2#String", + "UploadEnd": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "DestinationPrefixListId", - "smithy.api#documentation": "

The prefix of the Amazon Web Service.

", - "smithy.api#xmlName": "destinationPrefixListId" + "smithy.api#documentation": "

The time that the disk upload ends.

" } }, - "EgressOnlyInternetGatewayId": { - "target": "com.amazonaws.ec2#String", + "UploadSize": { + "target": "com.amazonaws.ec2#Double", "traits": { - "aws.protocols#ec2QueryName": "EgressOnlyInternetGatewayId", - "smithy.api#documentation": "

The ID of an egress-only internet gateway.

", - "smithy.api#xmlName": "egressOnlyInternetGatewayId" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The size of the uploaded disk image, in GiB.

" } }, - "GatewayId": { - "target": "com.amazonaws.ec2#String", + "UploadStart": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "GatewayId", - "smithy.api#documentation": "

The ID of the gateway, such as an internet gateway or virtual private gateway.

", - "smithy.api#xmlName": "gatewayId" + "smithy.api#documentation": "

The time that the disk upload starts.

" } - }, - "InstanceId": { - "target": "com.amazonaws.ec2#String", + } + }, + "traits": { + "smithy.api#documentation": "

Describes the client-specific data.

" + } + }, + "com.amazonaws.ec2#ClientLoginBannerOptions": { + "type": "structure", + "members": { + "Enabled": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#documentation": "

The ID of the instance, such as a NAT instance.

", - "smithy.api#xmlName": "instanceId" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Enable or disable a customizable text banner that will be displayed on\n\t\t\tAmazon Web Services provided clients when a VPN session is established.

\n

Valid values: true | false\n

\n

Default value: false\n

" } }, - "NatGatewayId": { + "BannerText": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NatGatewayId", - "smithy.api#documentation": "

The ID of a NAT gateway.

", - "smithy.api#xmlName": "natGatewayId" + "smithy.api#documentation": "

Customizable text that will be displayed in a banner on Amazon Web Services provided\n\t\t\tclients when a VPN session is established. UTF-8 encoded characters only. Maximum of\n\t\t\t1400 characters.

" } - }, - "NetworkInterfaceId": { - "target": "com.amazonaws.ec2#String", + } + }, + "traits": { + "smithy.api#documentation": "

Options for enabling a customizable text banner that will be displayed on\n\t\t\tAmazon Web Services provided clients when a VPN session is established.

" + } + }, + "com.amazonaws.ec2#ClientLoginBannerResponseOptions": { + "type": "structure", + "members": { + "Enabled": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceId", - "smithy.api#documentation": "

The ID of a network interface.

", - "smithy.api#xmlName": "networkInterfaceId" + "aws.protocols#ec2QueryName": "Enabled", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Current state of text banner feature.

\n

Valid values: true | false\n

", + "smithy.api#xmlName": "enabled" } }, - "Origin": { + "BannerText": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Origin", - "smithy.api#documentation": "

Describes how the route was created. The following are the possible values:

\n
    \n
  • \n

    CreateRouteTable - The route was automatically created when the route table was created.

    \n
  • \n
  • \n

    CreateRoute - The route was manually added to the route table.

    \n
  • \n
  • \n

    EnableVgwRoutePropagation - The route was propagated by route propagation.

    \n
  • \n
", - "smithy.api#xmlName": "origin" + "aws.protocols#ec2QueryName": "BannerText", + "smithy.api#documentation": "

Customizable text that will be displayed in a banner on Amazon Web Services provided\n\t\t\tclients when a VPN session is established. UTF-8 encoded\n\t\t\tcharacters only. Maximum of 1400 characters.

", + "smithy.api#xmlName": "bannerText" + } + } + }, + "traits": { + "smithy.api#documentation": "

Current state of options for customizable text banner that will be displayed on\n\t\t\tAmazon Web Services provided clients when a VPN session is established.

" + } + }, + "com.amazonaws.ec2#ClientVpnAssociationId": { + "type": "string" + }, + "com.amazonaws.ec2#ClientVpnAuthentication": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.ec2#ClientVpnAuthenticationType", + "traits": { + "aws.protocols#ec2QueryName": "Type", + "smithy.api#documentation": "

The authentication type used.

", + "smithy.api#xmlName": "type" } }, - "TransitGatewayId": { - "target": "com.amazonaws.ec2#String", + "ActiveDirectory": { + "target": "com.amazonaws.ec2#DirectoryServiceAuthentication", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayId", - "smithy.api#documentation": "

The ID of a transit gateway.

", - "smithy.api#xmlName": "transitGatewayId" + "aws.protocols#ec2QueryName": "ActiveDirectory", + "smithy.api#documentation": "

Information about the Active Directory, if applicable.

", + "smithy.api#xmlName": "activeDirectory" } }, - "VpcPeeringConnectionId": { - "target": "com.amazonaws.ec2#String", + "MutualAuthentication": { + "target": "com.amazonaws.ec2#CertificateAuthentication", "traits": { - "aws.protocols#ec2QueryName": "VpcPeeringConnectionId", - "smithy.api#documentation": "

The ID of a VPC peering connection.

", - "smithy.api#xmlName": "vpcPeeringConnectionId" + "aws.protocols#ec2QueryName": "MutualAuthentication", + "smithy.api#documentation": "

Information about the authentication certificates, if applicable.

", + "smithy.api#xmlName": "mutualAuthentication" } }, - "State": { - "target": "com.amazonaws.ec2#String", + "FederatedAuthentication": { + "target": "com.amazonaws.ec2#FederatedAuthentication", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state. The following are the possible values:

\n
    \n
  • \n

    active

    \n
  • \n
  • \n

    blackhole

    \n
  • \n
", - "smithy.api#xmlName": "state" + "aws.protocols#ec2QueryName": "FederatedAuthentication", + "smithy.api#documentation": "

Information about the IAM SAML identity provider, if applicable.

", + "smithy.api#xmlName": "federatedAuthentication" } } }, "traits": { - "smithy.api#documentation": "

Describes a route table route.

" + "smithy.api#documentation": "

Describes the authentication methods used by a Client VPN endpoint. For more information, see Authentication \n\t\t\tin the Client VPN Administrator Guide.

" } }, - "com.amazonaws.ec2#AnalysisSecurityGroupRule": { + "com.amazonaws.ec2#ClientVpnAuthenticationList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ClientVpnAuthentication", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ClientVpnAuthenticationRequest": { "type": "structure", "members": { - "Cidr": { - "target": "com.amazonaws.ec2#String", + "Type": { + "target": "com.amazonaws.ec2#ClientVpnAuthenticationType", "traits": { - "aws.protocols#ec2QueryName": "Cidr", - "smithy.api#documentation": "

The IPv4 address range, in CIDR notation.

", - "smithy.api#xmlName": "cidr" + "smithy.api#documentation": "

The type of client authentication to be used.

" } }, - "Direction": { - "target": "com.amazonaws.ec2#String", + "ActiveDirectory": { + "target": "com.amazonaws.ec2#DirectoryServiceAuthenticationRequest", "traits": { - "aws.protocols#ec2QueryName": "Direction", - "smithy.api#documentation": "

The direction. The following are the possible values:

\n
    \n
  • \n

    egress

    \n
  • \n
  • \n

    ingress

    \n
  • \n
", - "smithy.api#xmlName": "direction" + "smithy.api#documentation": "

Information about the Active Directory to be used, if applicable. You must provide this information if Type is directory-service-authentication.

" } }, - "SecurityGroupId": { - "target": "com.amazonaws.ec2#String", + "MutualAuthentication": { + "target": "com.amazonaws.ec2#CertificateAuthenticationRequest", "traits": { - "aws.protocols#ec2QueryName": "SecurityGroupId", - "smithy.api#documentation": "

The security group ID.

", - "smithy.api#xmlName": "securityGroupId" + "smithy.api#documentation": "

Information about the authentication certificates to be used, if applicable. You must provide this information if Type is certificate-authentication.

" } }, - "PortRange": { - "target": "com.amazonaws.ec2#PortRange", + "FederatedAuthentication": { + "target": "com.amazonaws.ec2#FederatedAuthenticationRequest", "traits": { - "aws.protocols#ec2QueryName": "PortRange", - "smithy.api#documentation": "

The port range.

", - "smithy.api#xmlName": "portRange" + "smithy.api#documentation": "

Information about the IAM SAML identity provider to be used, if applicable. You must provide this information if Type is federated-authentication.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the authentication method to be used by a Client VPN endpoint. For more information, see Authentication \n\t\t\tin the Client VPN Administrator Guide.

" + } + }, + "com.amazonaws.ec2#ClientVpnAuthenticationRequestList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ClientVpnAuthenticationRequest" + } + }, + "com.amazonaws.ec2#ClientVpnAuthenticationType": { + "type": "enum", + "members": { + "certificate_authentication": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "certificate-authentication" } }, - "PrefixListId": { - "target": "com.amazonaws.ec2#String", + "directory_service_authentication": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "PrefixListId", - "smithy.api#documentation": "

The prefix list ID.

", - "smithy.api#xmlName": "prefixListId" + "smithy.api#enumValue": "directory-service-authentication" } }, - "Protocol": { + "federated_authentication": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "federated-authentication" + } + } + } + }, + "com.amazonaws.ec2#ClientVpnAuthorizationRuleStatus": { + "type": "structure", + "members": { + "Code": { + "target": "com.amazonaws.ec2#ClientVpnAuthorizationRuleStatusCode", + "traits": { + "aws.protocols#ec2QueryName": "Code", + "smithy.api#documentation": "

The state of the authorization rule.

", + "smithy.api#xmlName": "code" + } + }, + "Message": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Protocol", - "smithy.api#documentation": "

The protocol name.

", - "smithy.api#xmlName": "protocol" + "aws.protocols#ec2QueryName": "Message", + "smithy.api#documentation": "

A message about the status of the authorization rule, if applicable.

", + "smithy.api#xmlName": "message" } } }, "traits": { - "smithy.api#documentation": "

Describes a security group rule.

" + "smithy.api#documentation": "

Describes the state of an authorization rule.

" } }, - "com.amazonaws.ec2#AnalysisStatus": { + "com.amazonaws.ec2#ClientVpnAuthorizationRuleStatusCode": { "type": "enum", "members": { - "running": { + "authorizing": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "running" + "smithy.api#enumValue": "authorizing" } }, - "succeeded": { + "active": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "succeeded" + "smithy.api#enumValue": "active" } }, "failed": { @@ -6236,1987 +10924,1748 @@ "traits": { "smithy.api#enumValue": "failed" } - } - } - }, - "com.amazonaws.ec2#ApplianceModeSupportValue": { - "type": "enum", - "members": { - "enable": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "enable" - } }, - "disable": { + "revoking": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "disable" + "smithy.api#enumValue": "revoking" } } } }, - "com.amazonaws.ec2#ApplySecurityGroupsToClientVpnTargetNetwork": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ApplySecurityGroupsToClientVpnTargetNetworkRequest" - }, - "output": { - "target": "com.amazonaws.ec2#ApplySecurityGroupsToClientVpnTargetNetworkResult" - }, - "traits": { - "smithy.api#documentation": "

Applies a security group to the association between the target network and the Client VPN endpoint. This action replaces the existing \n\t\t\tsecurity groups with the specified security groups.

" - } - }, - "com.amazonaws.ec2#ApplySecurityGroupsToClientVpnTargetNetworkRequest": { + "com.amazonaws.ec2#ClientVpnConnection": { "type": "structure", "members": { "ClientVpnEndpointId": { - "target": "com.amazonaws.ec2#ClientVpnEndpointId", + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Client VPN endpoint.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "ClientVpnEndpointId", + "smithy.api#documentation": "

The ID of the Client VPN endpoint to which the client is connected.

", + "smithy.api#xmlName": "clientVpnEndpointId" + } + }, + "Timestamp": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Timestamp", + "smithy.api#documentation": "

The current date and time.

", + "smithy.api#xmlName": "timestamp" + } + }, + "ConnectionId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ConnectionId", + "smithy.api#documentation": "

The ID of the client connection.

", + "smithy.api#xmlName": "connectionId" + } + }, + "Username": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Username", + "smithy.api#documentation": "

The username of the client who established the client connection. This information is only provided \n\t\t\tif Active Directory client authentication is used.

", + "smithy.api#xmlName": "username" + } + }, + "ConnectionEstablishedTime": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ConnectionEstablishedTime", + "smithy.api#documentation": "

The date and time the client connection was established.

", + "smithy.api#xmlName": "connectionEstablishedTime" } }, - "VpcId": { - "target": "com.amazonaws.ec2#VpcId", + "IngressBytes": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the VPC in which the associated target network is located.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "IngressBytes", + "smithy.api#documentation": "

The number of bytes sent by the client.

", + "smithy.api#xmlName": "ingressBytes" } }, - "SecurityGroupIds": { - "target": "com.amazonaws.ec2#ClientVpnSecurityGroupIdSet", + "EgressBytes": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IDs of the security groups to apply to the associated target network. Up to 5 security groups can \n\t\t\tbe applied to an associated target network.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "SecurityGroupId" + "aws.protocols#ec2QueryName": "EgressBytes", + "smithy.api#documentation": "

The number of bytes received by the client.

", + "smithy.api#xmlName": "egressBytes" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "IngressPackets": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "IngressPackets", + "smithy.api#documentation": "

The number of packets sent by the client.

", + "smithy.api#xmlName": "ingressPackets" } - } - } - }, - "com.amazonaws.ec2#ApplySecurityGroupsToClientVpnTargetNetworkResult": { - "type": "structure", - "members": { - "SecurityGroupIds": { - "target": "com.amazonaws.ec2#ClientVpnSecurityGroupIdSet", + }, + "EgressPackets": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SecurityGroupIds", - "smithy.api#documentation": "

The IDs of the applied security groups.

", - "smithy.api#xmlName": "securityGroupIds" + "aws.protocols#ec2QueryName": "EgressPackets", + "smithy.api#documentation": "

The number of packets received by the client.

", + "smithy.api#xmlName": "egressPackets" } - } - } - }, - "com.amazonaws.ec2#ArchitectureType": { - "type": "enum", - "members": { - "i386": { - "target": "smithy.api#Unit", + }, + "ClientIp": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "i386" + "aws.protocols#ec2QueryName": "ClientIp", + "smithy.api#documentation": "

The IP address of the client.

", + "smithy.api#xmlName": "clientIp" } }, - "x86_64": { - "target": "smithy.api#Unit", + "CommonName": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "x86_64" + "aws.protocols#ec2QueryName": "CommonName", + "smithy.api#documentation": "

The common name associated with the client. This is either the name of the client certificate,\n\t\t\tor the Active Directory user name.

", + "smithy.api#xmlName": "commonName" } }, - "arm64": { - "target": "smithy.api#Unit", + "Status": { + "target": "com.amazonaws.ec2#ClientVpnConnectionStatus", "traits": { - "smithy.api#enumValue": "arm64" + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The current state of the client connection.

", + "smithy.api#xmlName": "status" } }, - "x86_64_mac": { - "target": "smithy.api#Unit", + "ConnectionEndTime": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "x86_64_mac" + "aws.protocols#ec2QueryName": "ConnectionEndTime", + "smithy.api#documentation": "

The date and time the client connection was terminated.

", + "smithy.api#xmlName": "connectionEndTime" } }, - "arm64_mac": { - "target": "smithy.api#Unit", + "PostureComplianceStatuses": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "smithy.api#enumValue": "arm64_mac" + "aws.protocols#ec2QueryName": "PostureComplianceStatusSet", + "smithy.api#documentation": "

The statuses returned by the client connect handler for posture compliance, if applicable.

", + "smithy.api#xmlName": "postureComplianceStatusSet" } } + }, + "traits": { + "smithy.api#documentation": "

Describes a client connection.

" } }, - "com.amazonaws.ec2#ArchitectureTypeList": { + "com.amazonaws.ec2#ClientVpnConnectionSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#ArchitectureType", + "target": "com.amazonaws.ec2#ClientVpnConnection", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#ArchitectureTypeSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ArchitectureType", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#ClientVpnConnectionStatus": { + "type": "structure", + "members": { + "Code": { + "target": "com.amazonaws.ec2#ClientVpnConnectionStatusCode", + "traits": { + "aws.protocols#ec2QueryName": "Code", + "smithy.api#documentation": "

The state of the client connection.

", + "smithy.api#xmlName": "code" + } + }, + "Message": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Message", + "smithy.api#documentation": "

A message about the status of the client connection, if applicable.

", + "smithy.api#xmlName": "message" + } } }, "traits": { - "smithy.api#length": { - "min": 0, - "max": 3 - } + "smithy.api#documentation": "

Describes the status of a client connection.

" } }, - "com.amazonaws.ec2#ArchitectureValues": { + "com.amazonaws.ec2#ClientVpnConnectionStatusCode": { "type": "enum", "members": { - "i386": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "i386" - } - }, - "x86_64": { + "active": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "x86_64" + "smithy.api#enumValue": "active" } }, - "arm64": { + "failed_to_terminate": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "arm64" + "smithy.api#enumValue": "failed-to-terminate" } }, - "x86_64_mac": { + "terminating": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "x86_64_mac" + "smithy.api#enumValue": "terminating" } }, - "arm64_mac": { + "terminated": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "arm64_mac" + "smithy.api#enumValue": "terminated" } } } }, - "com.amazonaws.ec2#ArnList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ResourceArn", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#AssignIpv6Addresses": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#AssignIpv6AddressesRequest" - }, - "output": { - "target": "com.amazonaws.ec2#AssignIpv6AddressesResult" - }, - "traits": { - "smithy.api#documentation": "

Assigns one or more IPv6 addresses to the specified network interface. You can\n specify one or more specific IPv6 addresses, or you can specify the number of IPv6\n addresses to be automatically assigned from within the subnet's IPv6 CIDR block range.\n You can assign as many IPv6 addresses to a network interface as you can assign private\n IPv4 addresses, and the limit varies per instance type. For information, see IP Addresses Per Network Interface Per Instance Type\n in the Amazon Elastic Compute Cloud User Guide.

\n

You must specify either the IPv6 addresses or the IPv6 address count in the request.

\n

You can optionally use Prefix Delegation on the network interface. You must specify\n either the IPV6 Prefix Delegation prefixes, or the IPv6 Prefix Delegation count. For\n information, see \n Assigning prefixes to Amazon EC2 network interfaces in the Amazon Elastic Compute Cloud User Guide.

" - } - }, - "com.amazonaws.ec2#AssignIpv6AddressesRequest": { + "com.amazonaws.ec2#ClientVpnEndpoint": { "type": "structure", "members": { - "Ipv6AddressCount": { - "target": "com.amazonaws.ec2#Integer", + "ClientVpnEndpointId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Ipv6AddressCount", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of additional IPv6 addresses to assign to the network interface. \n \t\tThe specified number of IPv6 addresses are assigned in addition to the \n \t\texisting IPv6 addresses that are already assigned to the network interface. \n \t\tAmazon EC2 automatically selects the IPv6 addresses from the subnet range. You \n \t\tcan't use this option if specifying specific IPv6 addresses.

", - "smithy.api#xmlName": "ipv6AddressCount" + "aws.protocols#ec2QueryName": "ClientVpnEndpointId", + "smithy.api#documentation": "

The ID of the Client VPN endpoint.

", + "smithy.api#xmlName": "clientVpnEndpointId" } }, - "Ipv6Addresses": { - "target": "com.amazonaws.ec2#Ipv6AddressList", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Ipv6Addresses", - "smithy.api#documentation": "

The IPv6 addresses to be assigned to the network interface. You can't use this option if you're specifying a number of IPv6 addresses.

", - "smithy.api#xmlName": "ipv6Addresses" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A brief description of the endpoint.

", + "smithy.api#xmlName": "description" } }, - "Ipv6PrefixCount": { - "target": "com.amazonaws.ec2#Integer", + "Status": { + "target": "com.amazonaws.ec2#ClientVpnEndpointStatus", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of IPv6 prefixes that Amazon Web Services automatically assigns to the\n network interface. You cannot use this option if you use the Ipv6Prefixes\n option.

" + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The current state of the Client VPN endpoint.

", + "smithy.api#xmlName": "status" } }, - "Ipv6Prefixes": { - "target": "com.amazonaws.ec2#IpPrefixList", + "CreationTime": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

One or more IPv6 prefixes assigned to the network interface. You cannot use this option if you use the Ipv6PrefixCount option.

", - "smithy.api#xmlName": "Ipv6Prefix" + "aws.protocols#ec2QueryName": "CreationTime", + "smithy.api#documentation": "

The date and time the Client VPN endpoint was created.

", + "smithy.api#xmlName": "creationTime" } }, - "NetworkInterfaceId": { - "target": "com.amazonaws.ec2#NetworkInterfaceId", + "DeletionTime": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the network interface.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "networkInterfaceId" + "aws.protocols#ec2QueryName": "DeletionTime", + "smithy.api#documentation": "

The date and time the Client VPN endpoint was deleted, if applicable.

", + "smithy.api#xmlName": "deletionTime" } - } - } - }, - "com.amazonaws.ec2#AssignIpv6AddressesResult": { - "type": "structure", - "members": { - "AssignedIpv6Addresses": { - "target": "com.amazonaws.ec2#Ipv6AddressList", + }, + "DnsName": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AssignedIpv6Addresses", - "smithy.api#documentation": "

The new IPv6 addresses assigned to the network interface. Existing IPv6 addresses \n \tthat were assigned to the network interface before the request are not included.

", - "smithy.api#xmlName": "assignedIpv6Addresses" + "aws.protocols#ec2QueryName": "DnsName", + "smithy.api#documentation": "

The DNS name to be used by clients when connecting to the Client VPN endpoint.

", + "smithy.api#xmlName": "dnsName" } }, - "AssignedIpv6Prefixes": { - "target": "com.amazonaws.ec2#IpPrefixList", + "ClientCidrBlock": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AssignedIpv6PrefixSet", - "smithy.api#documentation": "

The IPv6 prefixes that are assigned to the network interface.

", - "smithy.api#xmlName": "assignedIpv6PrefixSet" + "aws.protocols#ec2QueryName": "ClientCidrBlock", + "smithy.api#documentation": "

The IPv4 address range, in CIDR notation, from which client IP addresses are assigned.

", + "smithy.api#xmlName": "clientCidrBlock" } }, - "NetworkInterfaceId": { - "target": "com.amazonaws.ec2#String", + "DnsServers": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceId", - "smithy.api#documentation": "

The ID of the network interface.

", - "smithy.api#xmlName": "networkInterfaceId" + "aws.protocols#ec2QueryName": "DnsServer", + "smithy.api#documentation": "

Information about the DNS servers to be used for DNS resolution.

", + "smithy.api#xmlName": "dnsServer" } - } - } - }, - "com.amazonaws.ec2#AssignPrivateIpAddresses": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#AssignPrivateIpAddressesRequest" - }, - "output": { - "target": "com.amazonaws.ec2#AssignPrivateIpAddressesResult" - }, - "traits": { - "smithy.api#documentation": "

Assigns one or more secondary private IP addresses to the specified network interface.

\n

You can specify one or more specific secondary IP addresses, or you can specify the number \n of secondary IP addresses to be automatically assigned within the subnet's CIDR block range. \n The number of secondary IP addresses that you can assign to an instance varies by instance type.\n For information about instance types, see Instance Types in the Amazon Elastic Compute Cloud User Guide. For more information about \n Elastic IP addresses, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

\n

When you move a secondary private IP address to another network interface, any Elastic IP address \n that is associated with the IP address is also moved.

\n

Remapping an IP address is an asynchronous operation. When you move an IP address from one network\n interface to another, check network/interfaces/macs/mac/local-ipv4s in the instance\n metadata to confirm that the remapping is complete.

\n

You must specify either the IP addresses or the IP address count in the request.

\n

You can optionally use Prefix Delegation on the network interface. You must specify\n either the IPv4 Prefix Delegation prefixes, or the IPv4 Prefix Delegation count. For\n information, see \n Assigning prefixes to Amazon EC2 network interfaces in the Amazon Elastic Compute Cloud User Guide.

" - } - }, - "com.amazonaws.ec2#AssignPrivateIpAddressesRequest": { - "type": "structure", - "members": { - "AllowReassignment": { + }, + "SplitTunnel": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "AllowReassignment", + "aws.protocols#ec2QueryName": "SplitTunnel", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to allow an IP address that is already assigned to another network interface or instance to be reassigned to the specified network interface.

", - "smithy.api#xmlName": "allowReassignment" + "smithy.api#documentation": "

Indicates whether split-tunnel is enabled in the Client VPN endpoint.

\n

For information about split-tunnel VPN endpoints, see Split-Tunnel Client VPN endpoint \n\t\t\tin the Client VPN Administrator Guide.

", + "smithy.api#xmlName": "splitTunnel" } }, - "NetworkInterfaceId": { - "target": "com.amazonaws.ec2#NetworkInterfaceId", + "VpnProtocol": { + "target": "com.amazonaws.ec2#VpnProtocol", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the network interface.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "networkInterfaceId" + "aws.protocols#ec2QueryName": "VpnProtocol", + "smithy.api#documentation": "

The protocol used by the VPN session.

", + "smithy.api#xmlName": "vpnProtocol" } }, - "PrivateIpAddresses": { - "target": "com.amazonaws.ec2#PrivateIpAddressStringList", + "TransportProtocol": { + "target": "com.amazonaws.ec2#TransportProtocol", "traits": { - "aws.protocols#ec2QueryName": "PrivateIpAddress", - "smithy.api#documentation": "

The IP addresses to be assigned as a secondary private IP address to the network interface. You can't specify this parameter when also specifying a number of secondary IP addresses.

\n

If you don't specify an IP address, Amazon EC2 automatically selects an IP address within the subnet range.

", - "smithy.api#xmlName": "privateIpAddress" + "aws.protocols#ec2QueryName": "TransportProtocol", + "smithy.api#documentation": "

The transport protocol used by the Client VPN endpoint.

", + "smithy.api#xmlName": "transportProtocol" } }, - "SecondaryPrivateIpAddressCount": { + "VpnPort": { "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "SecondaryPrivateIpAddressCount", + "aws.protocols#ec2QueryName": "VpnPort", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The number of secondary IP addresses to assign to the network interface. You can't specify this parameter when also specifying private IP addresses.

", - "smithy.api#xmlName": "secondaryPrivateIpAddressCount" + "smithy.api#documentation": "

The port number for the Client VPN endpoint.

", + "smithy.api#xmlName": "vpnPort" } }, - "Ipv4Prefixes": { - "target": "com.amazonaws.ec2#IpPrefixList", + "AssociatedTargetNetworks": { + "target": "com.amazonaws.ec2#AssociatedTargetNetworkSet", "traits": { - "smithy.api#documentation": "

One or more IPv4 prefixes assigned to the network interface. You cannot use this option if you use the Ipv4PrefixCount option.

", - "smithy.api#xmlName": "Ipv4Prefix" + "aws.protocols#ec2QueryName": "AssociatedTargetNetwork", + "smithy.api#deprecated": { + "message": "This property is deprecated. To view the target networks associated with a Client VPN endpoint, call DescribeClientVpnTargetNetworks and inspect the clientVpnTargetNetworks response element." + }, + "smithy.api#documentation": "

Information about the associated target networks. A target network is a subnet in a VPC.

", + "smithy.api#xmlName": "associatedTargetNetwork" } }, - "Ipv4PrefixCount": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of IPv4 prefixes that Amazon Web Services automatically assigns to the network interface. You cannot use this option if you use the Ipv4 Prefixes option.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Contains the parameters for AssignPrivateIpAddresses.

" - } - }, - "com.amazonaws.ec2#AssignPrivateIpAddressesResult": { - "type": "structure", - "members": { - "NetworkInterfaceId": { + "ServerCertificateArn": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceId", - "smithy.api#documentation": "

The ID of the network interface.

", - "smithy.api#xmlName": "networkInterfaceId" + "aws.protocols#ec2QueryName": "ServerCertificateArn", + "smithy.api#documentation": "

The ARN of the server certificate.

", + "smithy.api#xmlName": "serverCertificateArn" } }, - "AssignedPrivateIpAddresses": { - "target": "com.amazonaws.ec2#AssignedPrivateIpAddressList", + "AuthenticationOptions": { + "target": "com.amazonaws.ec2#ClientVpnAuthenticationList", "traits": { - "aws.protocols#ec2QueryName": "AssignedPrivateIpAddressesSet", - "smithy.api#documentation": "

The private IP addresses assigned to the network interface.

", - "smithy.api#xmlName": "assignedPrivateIpAddressesSet" + "aws.protocols#ec2QueryName": "AuthenticationOptions", + "smithy.api#documentation": "

Information about the authentication method used by the Client VPN endpoint.

", + "smithy.api#xmlName": "authenticationOptions" } }, - "AssignedIpv4Prefixes": { - "target": "com.amazonaws.ec2#Ipv4PrefixesList", + "ConnectionLogOptions": { + "target": "com.amazonaws.ec2#ConnectionLogResponseOptions", "traits": { - "aws.protocols#ec2QueryName": "AssignedIpv4PrefixSet", - "smithy.api#documentation": "

The IPv4 prefixes that are assigned to the network interface.

", - "smithy.api#xmlName": "assignedIpv4PrefixSet" + "aws.protocols#ec2QueryName": "ConnectionLogOptions", + "smithy.api#documentation": "

Information about the client connection logging options for the Client VPN endpoint.

", + "smithy.api#xmlName": "connectionLogOptions" } - } - } - }, - "com.amazonaws.ec2#AssignedPrivateIpAddress": { - "type": "structure", - "members": { - "PrivateIpAddress": { - "target": "com.amazonaws.ec2#String", + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "PrivateIpAddress", - "smithy.api#documentation": "

The private IP address assigned to the network interface.

", - "smithy.api#xmlName": "privateIpAddress" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Any tags assigned to the Client VPN endpoint.

", + "smithy.api#xmlName": "tagSet" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the private IP addresses assigned to a network interface.

" - } - }, - "com.amazonaws.ec2#AssignedPrivateIpAddressList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#AssignedPrivateIpAddress", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#AssociateAddress": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#AssociateAddressRequest" - }, - "output": { - "target": "com.amazonaws.ec2#AssociateAddressResult" - }, - "traits": { - "smithy.api#documentation": "

Associates an Elastic IP address, or carrier IP address (for instances that are in\n subnets in Wavelength Zones) with an instance or a network interface. Before you can use an\n Elastic IP address, you must allocate it to your account.

\n

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC.\n\t\t\tFor more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

\n

[EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is already\n associated with a different instance, it is disassociated from that instance and associated\n with the specified instance. If you associate an Elastic IP address with an instance that has\n an existing Elastic IP address, the existing address is disassociated from the instance, but\n remains allocated to your account.

\n

[VPC in an EC2-Classic account] If you don't specify a private IP address, the Elastic\n IP address is associated with the primary IP address. If the Elastic IP address is already\n associated with a different instance or a network interface, you get an error unless you allow\n reassociation. You cannot associate an Elastic IP address with an instance or network\n interface that has an existing Elastic IP address.

\n

[Subnets in Wavelength Zones] You can associate an IP address from the telecommunication\n carrier to the instance or network interface.

\n

You cannot associate an Elastic IP address with an interface in a different network border group.

\n \n

This is an idempotent operation. If you perform the operation more than once, Amazon EC2\n doesn't return an error, and you may be charged for each time the Elastic IP address is\n remapped to the same instance. For more information, see the Elastic IP\n Addresses section of Amazon EC2\n Pricing.

\n
\n \n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" - } - }, - "com.amazonaws.ec2#AssociateAddressRequest": { - "type": "structure", - "members": { - "AllocationId": { - "target": "com.amazonaws.ec2#AllocationId", + }, + "SecurityGroupIds": { + "target": "com.amazonaws.ec2#ClientVpnSecurityGroupIdSet", "traits": { - "smithy.api#documentation": "

[EC2-VPC] The allocation ID. This is required for EC2-VPC.

" + "aws.protocols#ec2QueryName": "SecurityGroupIdSet", + "smithy.api#documentation": "

The IDs of the security groups for the target network.

", + "smithy.api#xmlName": "securityGroupIdSet" } }, - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", + "VpcId": { + "target": "com.amazonaws.ec2#VpcId", "traits": { - "smithy.api#documentation": "

The ID of the instance. The instance must have exactly one attached network interface.\n For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both.\n For EC2-Classic, you must specify an instance ID and the instance must be in the running\n state.

" + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#documentation": "

The ID of the VPC.

", + "smithy.api#xmlName": "vpcId" } }, - "PublicIp": { + "SelfServicePortalUrl": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

[EC2-Classic] The Elastic IP address to associate with the instance. This is required for\n EC2-Classic.

" + "aws.protocols#ec2QueryName": "SelfServicePortalUrl", + "smithy.api#documentation": "

The URL of the self-service portal.

", + "smithy.api#xmlName": "selfServicePortalUrl" } }, - "AllowReassociation": { - "target": "com.amazonaws.ec2#Boolean", + "ClientConnectOptions": { + "target": "com.amazonaws.ec2#ClientConnectResponseOptions", "traits": { - "aws.protocols#ec2QueryName": "AllowReassociation", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

[EC2-VPC] For a VPC in an EC2-Classic account, specify true to allow an Elastic IP address that is already associated with an instance or network interface to be reassociated with the specified instance or network interface. Otherwise, the operation fails. In a VPC in an EC2-VPC-only account, reassociation is automatic, therefore you can specify false to ensure the operation fails if the Elastic IP address is already associated with another resource.

", - "smithy.api#xmlName": "allowReassociation" + "aws.protocols#ec2QueryName": "ClientConnectOptions", + "smithy.api#documentation": "

The options for managing connection authorization for new client connections.

", + "smithy.api#xmlName": "clientConnectOptions" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "SessionTimeoutHours": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "DryRun", + "aws.protocols#ec2QueryName": "SessionTimeoutHours", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" - } - }, - "NetworkInterfaceId": { - "target": "com.amazonaws.ec2#NetworkInterfaceId", - "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceId", - "smithy.api#documentation": "

[EC2-VPC] The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.

\n \t

For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both.

", - "smithy.api#xmlName": "networkInterfaceId" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum VPN session duration time in hours.

\n

Valid values: 8 | 10 | 12 | 24\n

\n

Default value: 24\n

", + "smithy.api#xmlName": "sessionTimeoutHours" } }, - "PrivateIpAddress": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "PrivateIpAddress", - "smithy.api#documentation": "

[EC2-VPC] The primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.

", - "smithy.api#xmlName": "privateIpAddress" - } - } - } - }, - "com.amazonaws.ec2#AssociateAddressResult": { - "type": "structure", - "members": { - "AssociationId": { - "target": "com.amazonaws.ec2#String", + "ClientLoginBannerOptions": { + "target": "com.amazonaws.ec2#ClientLoginBannerResponseOptions", "traits": { - "aws.protocols#ec2QueryName": "AssociationId", - "smithy.api#documentation": "

[EC2-VPC] The ID that represents the association of the Elastic IP address with an instance.

", - "smithy.api#xmlName": "associationId" + "aws.protocols#ec2QueryName": "ClientLoginBannerOptions", + "smithy.api#documentation": "

Options for enabling a customizable text banner that will be displayed on Amazon Web Services provided clients when a VPN session is\n\t\t\testablished.

", + "smithy.api#xmlName": "clientLoginBannerOptions" } } - } - }, - "com.amazonaws.ec2#AssociateClientVpnTargetNetwork": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#AssociateClientVpnTargetNetworkRequest" - }, - "output": { - "target": "com.amazonaws.ec2#AssociateClientVpnTargetNetworkResult" }, "traits": { - "smithy.api#documentation": "

Associates a target network with a Client VPN endpoint. A target network is a subnet in a VPC. You can associate multiple subnets from the same VPC with a Client VPN endpoint. You can associate only one subnet in each Availability Zone. We recommend that you associate at least two subnets to provide Availability Zone redundancy.

\n\t

If you specified a VPC when you created the Client VPN endpoint or if you have previous subnet associations, the specified subnet must be in the same VPC. To specify a subnet that's in a different VPC, you must first modify the Client VPN endpoint (ModifyClientVpnEndpoint) and change the VPC that's associated with it.

" + "smithy.api#documentation": "

Describes a Client VPN endpoint.

" } }, - "com.amazonaws.ec2#AssociateClientVpnTargetNetworkRequest": { + "com.amazonaws.ec2#ClientVpnEndpointAttributeStatus": { "type": "structure", "members": { - "ClientVpnEndpointId": { - "target": "com.amazonaws.ec2#ClientVpnEndpointId", + "Code": { + "target": "com.amazonaws.ec2#ClientVpnEndpointAttributeStatusCode", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Client VPN endpoint.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "Code", + "smithy.api#documentation": "

The status code.

", + "smithy.api#xmlName": "code" } }, - "SubnetId": { - "target": "com.amazonaws.ec2#SubnetId", + "Message": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the subnet to associate with the Client VPN endpoint.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "Message", + "smithy.api#documentation": "

The status message.

", + "smithy.api#xmlName": "message" } - }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", + } + }, + "traits": { + "smithy.api#documentation": "

Describes the status of the Client VPN endpoint attribute.

" + } + }, + "com.amazonaws.ec2#ClientVpnEndpointAttributeStatusCode": { + "type": "enum", + "members": { + "applying": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

", - "smithy.api#idempotencyToken": {} + "smithy.api#enumValue": "applying" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "applied": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "smithy.api#enumValue": "applied" } } } }, - "com.amazonaws.ec2#AssociateClientVpnTargetNetworkResult": { + "com.amazonaws.ec2#ClientVpnEndpointId": { + "type": "string" + }, + "com.amazonaws.ec2#ClientVpnEndpointIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ClientVpnEndpointId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ClientVpnEndpointStatus": { "type": "structure", "members": { - "AssociationId": { - "target": "com.amazonaws.ec2#String", + "Code": { + "target": "com.amazonaws.ec2#ClientVpnEndpointStatusCode", "traits": { - "aws.protocols#ec2QueryName": "AssociationId", - "smithy.api#documentation": "

The unique ID of the target network association.

", - "smithy.api#xmlName": "associationId" + "aws.protocols#ec2QueryName": "Code", + "smithy.api#documentation": "

The state of the Client VPN endpoint. Possible states include:

\n
    \n
  • \n

    \n pending-associate - The Client VPN endpoint has been created but no target networks \n\t\t\t\t\thave been associated. The Client VPN endpoint cannot accept connections.

    \n
  • \n
  • \n

    \n available - The Client VPN endpoint has been created and a target network has been\n\t\t\t\t\tassociated. The Client VPN endpoint can accept connections.

    \n
  • \n
  • \n

    \n deleting - The Client VPN endpoint is being deleted. The Client VPN endpoint cannot accept\n\t\t\t\t\tconnections.

    \n
  • \n
  • \n

    \n deleted - The Client VPN endpoint has been deleted. The Client VPN endpoint cannot accept\n\t\t\t\t\tconnections.

    \n
  • \n
", + "smithy.api#xmlName": "code" } }, - "Status": { - "target": "com.amazonaws.ec2#AssociationStatus", + "Message": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The current state of the target network association.

", - "smithy.api#xmlName": "status" + "aws.protocols#ec2QueryName": "Message", + "smithy.api#documentation": "

A message about the status of the Client VPN endpoint.

", + "smithy.api#xmlName": "message" } } - } - }, - "com.amazonaws.ec2#AssociateDhcpOptions": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#AssociateDhcpOptionsRequest" - }, - "output": { - "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Associates a set of DHCP options (that you've previously created) with the specified VPC, or associates no DHCP options with the VPC.

\n

After you associate the options with the VPC, any existing instances and all new instances that you launch in that VPC use the options. You don't need to restart or relaunch the instances. They automatically pick up the changes within a few hours, depending on how frequently the instance renews its DHCP lease. You can explicitly renew the lease using the operating system on the instance.

\n

For more information, see DHCP options sets\n in the Amazon Virtual Private Cloud User Guide.

" + "smithy.api#documentation": "

Describes the state of a Client VPN endpoint.

" } }, - "com.amazonaws.ec2#AssociateDhcpOptionsRequest": { - "type": "structure", + "com.amazonaws.ec2#ClientVpnEndpointStatusCode": { + "type": "enum", "members": { - "DhcpOptionsId": { - "target": "com.amazonaws.ec2#DefaultingDhcpOptionsId", + "pending_associate": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the DHCP options set, or default to associate \n no DHCP options with the VPC.

", - "smithy.api#required": {} + "smithy.api#enumValue": "pending-associate" } }, - "VpcId": { - "target": "com.amazonaws.ec2#VpcId", + "available": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the VPC.

", - "smithy.api#required": {} + "smithy.api#enumValue": "available" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "deleting": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#enumValue": "deleting" + } + }, + "deleted": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "deleted" } } } }, - "com.amazonaws.ec2#AssociateEnclaveCertificateIamRole": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#AssociateEnclaveCertificateIamRoleRequest" - }, - "output": { - "target": "com.amazonaws.ec2#AssociateEnclaveCertificateIamRoleResult" - }, - "traits": { - "smithy.api#documentation": "

Associates an Identity and Access Management (IAM) role with an Certificate Manager (ACM) certificate. \n\t\t\tThis enables the certificate to be used by the ACM for Nitro Enclaves application inside an enclave. For more \n\t\t\tinformation, see Certificate Manager for Nitro Enclaves in the Amazon Web Services Nitro Enclaves \n\t\t\t\t\tUser Guide.

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

When the IAM role is associated with the ACM certificate, the certificate, certificate chain, and encrypted \n\t\t\tprivate key are placed in an Amazon S3 location that only the associated IAM role can access. The private key of the certificate \n\t\t\tis encrypted with an Amazon Web Services managed key that has an attached attestation-based key policy.

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

To enable the IAM role to access the Amazon S3 object, you must grant it permission to call s3:GetObject \n\t\t\ton the Amazon S3 bucket returned by the command. To enable the IAM role to access the KMS key,\n\t\t\tyou must grant it permission to call kms:Decrypt on the KMS key returned by the command. \n\t\t\tFor more information, see \n\t\t\t\tGrant the role permission to access the certificate and encryption key in the \n\t\t\tAmazon Web Services Nitro Enclaves User Guide.

" - } - }, - "com.amazonaws.ec2#AssociateEnclaveCertificateIamRoleRequest": { + "com.amazonaws.ec2#ClientVpnRoute": { "type": "structure", "members": { - "CertificateArn": { - "target": "com.amazonaws.ec2#ResourceArn", + "ClientVpnEndpointId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The ARN of the ACM certificate with which to associate the IAM role.

" + "aws.protocols#ec2QueryName": "ClientVpnEndpointId", + "smithy.api#documentation": "

The ID of the Client VPN endpoint with which the route is associated.

", + "smithy.api#xmlName": "clientVpnEndpointId" } }, - "RoleArn": { - "target": "com.amazonaws.ec2#ResourceArn", + "DestinationCidr": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The ARN of the IAM role to associate with the ACM certificate. You can associate up to 16 IAM roles with an ACM \n\t\t\tcertificate.

" + "aws.protocols#ec2QueryName": "DestinationCidr", + "smithy.api#documentation": "

The IPv4 address range, in CIDR notation, of the route destination.

", + "smithy.api#xmlName": "destinationCidr" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "TargetSubnet": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "TargetSubnet", + "smithy.api#documentation": "

The ID of the subnet through which traffic is routed.

", + "smithy.api#xmlName": "targetSubnet" } - } - } - }, - "com.amazonaws.ec2#AssociateEnclaveCertificateIamRoleResult": { - "type": "structure", - "members": { - "CertificateS3BucketName": { + }, + "Type": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CertificateS3BucketName", - "smithy.api#documentation": "

The name of the Amazon S3 bucket to which the certificate was uploaded.

", - "smithy.api#xmlName": "certificateS3BucketName" + "aws.protocols#ec2QueryName": "Type", + "smithy.api#documentation": "

The route type.

", + "smithy.api#xmlName": "type" } }, - "CertificateS3ObjectKey": { + "Origin": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CertificateS3ObjectKey", - "smithy.api#documentation": "

The Amazon S3 object key where the certificate, certificate chain, and encrypted private key bundle are stored. The \n\t\t\tobject key is formatted as follows: role_arn/certificate_arn.

", - "smithy.api#xmlName": "certificateS3ObjectKey" + "aws.protocols#ec2QueryName": "Origin", + "smithy.api#documentation": "

Indicates how the route was associated with the Client VPN endpoint. \n\t\t\tassociate indicates that the route was automatically added when the target network \n\t\t\twas associated with the Client VPN endpoint. add-route indicates that the route \n\t\t\twas manually added using the CreateClientVpnRoute action.

", + "smithy.api#xmlName": "origin" } }, - "EncryptionKmsKeyId": { + "Status": { + "target": "com.amazonaws.ec2#ClientVpnRouteStatus", + "traits": { + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The current state of the route.

", + "smithy.api#xmlName": "status" + } + }, + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "EncryptionKmsKeyId", - "smithy.api#documentation": "

The ID of the KMS key used to encrypt the private key of the certificate.

", - "smithy.api#xmlName": "encryptionKmsKeyId" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A brief description of the route.

", + "smithy.api#xmlName": "description" } } - } - }, - "com.amazonaws.ec2#AssociateIamInstanceProfile": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#AssociateIamInstanceProfileRequest" - }, - "output": { - "target": "com.amazonaws.ec2#AssociateIamInstanceProfileResult" }, "traits": { - "smithy.api#documentation": "

Associates an IAM instance profile with a running or stopped instance. You cannot\n associate more than one IAM instance profile with an instance.

" + "smithy.api#documentation": "

Information about a Client VPN endpoint route.

" } }, - "com.amazonaws.ec2#AssociateIamInstanceProfileRequest": { + "com.amazonaws.ec2#ClientVpnRouteSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ClientVpnRoute", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ClientVpnRouteStatus": { "type": "structure", "members": { - "IamInstanceProfile": { - "target": "com.amazonaws.ec2#IamInstanceProfileSpecification", + "Code": { + "target": "com.amazonaws.ec2#ClientVpnRouteStatusCode", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IAM instance profile.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "Code", + "smithy.api#documentation": "

The state of the Client VPN endpoint route.

", + "smithy.api#xmlName": "code" } }, - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", + "Message": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the instance.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "Message", + "smithy.api#documentation": "

A message about the status of the Client VPN endpoint route, if applicable.

", + "smithy.api#xmlName": "message" } } + }, + "traits": { + "smithy.api#documentation": "

Describes the state of a Client VPN endpoint route.

" } }, - "com.amazonaws.ec2#AssociateIamInstanceProfileResult": { - "type": "structure", + "com.amazonaws.ec2#ClientVpnRouteStatusCode": { + "type": "enum", "members": { - "IamInstanceProfileAssociation": { - "target": "com.amazonaws.ec2#IamInstanceProfileAssociation", + "creating": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "IamInstanceProfileAssociation", - "smithy.api#documentation": "

Information about the IAM instance profile association.

", - "smithy.api#xmlName": "iamInstanceProfileAssociation" + "smithy.api#enumValue": "creating" + } + }, + "active": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "active" + } + }, + "failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "failed" + } + }, + "deleting": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "deleting" } } } }, - "com.amazonaws.ec2#AssociateInstanceEventWindow": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#AssociateInstanceEventWindowRequest" - }, - "output": { - "target": "com.amazonaws.ec2#AssociateInstanceEventWindowResult" - }, - "traits": { - "smithy.api#documentation": "

Associates one or more targets with an event window. Only one type of target (instance IDs,\n Dedicated Host IDs, or tags) can be specified with an event window.

\n

For more information, see Define event windows for scheduled\n events in the Amazon EC2 User Guide.

" + "com.amazonaws.ec2#ClientVpnSecurityGroupIdSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SecurityGroupId", + "traits": { + "smithy.api#xmlName": "item" + } } }, - "com.amazonaws.ec2#AssociateInstanceEventWindowRequest": { + "com.amazonaws.ec2#CloudWatchLogGroupArn": { + "type": "string" + }, + "com.amazonaws.ec2#CloudWatchLogOptions": { "type": "structure", "members": { - "DryRun": { + "LogEnabled": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "LogEnabled", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Status of VPN tunnel logging feature. Default value is False.

\n

Valid values: True | False\n

", + "smithy.api#xmlName": "logEnabled" } }, - "InstanceEventWindowId": { - "target": "com.amazonaws.ec2#InstanceEventWindowId", + "LogGroupArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the event window.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "LogGroupArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to.

", + "smithy.api#xmlName": "logGroupArn" } }, - "AssociationTarget": { - "target": "com.amazonaws.ec2#InstanceEventWindowAssociationRequest", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

One or more targets associated with the specified event window.

", - "smithy.api#required": {} - } - } - } - }, - "com.amazonaws.ec2#AssociateInstanceEventWindowResult": { - "type": "structure", - "members": { - "InstanceEventWindow": { - "target": "com.amazonaws.ec2#InstanceEventWindow", + "LogOutputFormat": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "InstanceEventWindow", - "smithy.api#documentation": "

Information about the event window.

", - "smithy.api#xmlName": "instanceEventWindow" + "aws.protocols#ec2QueryName": "LogOutputFormat", + "smithy.api#documentation": "

Configured log format. Default format is json.

\n

Valid values: json | text\n

", + "smithy.api#xmlName": "logOutputFormat" } } - } - }, - "com.amazonaws.ec2#AssociateRouteTable": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#AssociateRouteTableRequest" - }, - "output": { - "target": "com.amazonaws.ec2#AssociateRouteTableResult" }, "traits": { - "smithy.api#documentation": "

Associates a subnet in your VPC or an internet gateway or virtual private gateway\n attached to your VPC with a route table in your VPC. This association causes traffic\n from the subnet or gateway to be routed according to the routes in the route table. The\n action returns an association ID, which you need in order to disassociate the route\n table later. A route table can be associated with multiple subnets.

\n

For more information, see Route tables in the\n Amazon Virtual Private Cloud User Guide.

" + "smithy.api#documentation": "

Options for sending VPN tunnel logs to CloudWatch.

" } }, - "com.amazonaws.ec2#AssociateRouteTableRequest": { + "com.amazonaws.ec2#CloudWatchLogOptionsSpecification": { "type": "structure", "members": { - "DryRun": { + "LogEnabled": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" - } - }, - "RouteTableId": { - "target": "com.amazonaws.ec2#RouteTableId", - "traits": { - "aws.protocols#ec2QueryName": "RouteTableId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the route table.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "routeTableId" + "smithy.api#documentation": "

Enable or disable VPN tunnel logging feature. Default value is False.

\n

Valid values: True | False\n

" } }, - "SubnetId": { - "target": "com.amazonaws.ec2#SubnetId", + "LogGroupArn": { + "target": "com.amazonaws.ec2#CloudWatchLogGroupArn", "traits": { - "aws.protocols#ec2QueryName": "SubnetId", - "smithy.api#documentation": "

The ID of the subnet.

", - "smithy.api#xmlName": "subnetId" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to.

" } }, - "GatewayId": { - "target": "com.amazonaws.ec2#RouteGatewayId", + "LogOutputFormat": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The ID of the internet gateway or virtual private gateway.

" + "smithy.api#documentation": "

Set log format. Default format is json.

\n

Valid values: json | text\n

" } } + }, + "traits": { + "smithy.api#documentation": "

Options for sending VPN tunnel logs to CloudWatch.

" } }, - "com.amazonaws.ec2#AssociateRouteTableResult": { + "com.amazonaws.ec2#CoipAddressUsage": { "type": "structure", "members": { - "AssociationId": { + "AllocationId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AssociationId", - "smithy.api#documentation": "

The route table association ID. This ID is required for disassociating the route\n\t\t\ttable.

", - "smithy.api#xmlName": "associationId" + "aws.protocols#ec2QueryName": "AllocationId", + "smithy.api#documentation": "

The allocation ID of the address.

", + "smithy.api#xmlName": "allocationId" } }, - "AssociationState": { - "target": "com.amazonaws.ec2#RouteTableAssociationState", + "AwsAccountId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AssociationState", - "smithy.api#documentation": "

The state of the association.

", - "smithy.api#xmlName": "associationState" + "aws.protocols#ec2QueryName": "AwsAccountId", + "smithy.api#documentation": "

The Amazon Web Services account ID.

", + "smithy.api#xmlName": "awsAccountId" } - } - } - }, - "com.amazonaws.ec2#AssociateSubnetCidrBlock": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#AssociateSubnetCidrBlockRequest" - }, - "output": { - "target": "com.amazonaws.ec2#AssociateSubnetCidrBlockResult" - }, - "traits": { - "smithy.api#documentation": "

Associates a CIDR block with your subnet. You can only associate a single IPv6 CIDR\n block with your subnet. An IPv6 CIDR block must have a prefix length of /64.

" - } - }, - "com.amazonaws.ec2#AssociateSubnetCidrBlockRequest": { - "type": "structure", - "members": { - "Ipv6CidrBlock": { + }, + "AwsService": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Ipv6CidrBlock", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IPv6 CIDR block for your subnet. The subnet must have a /64 prefix\n length.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "ipv6CidrBlock" + "aws.protocols#ec2QueryName": "AwsService", + "smithy.api#documentation": "

The Amazon Web Services service.

", + "smithy.api#xmlName": "awsService" } }, - "SubnetId": { - "target": "com.amazonaws.ec2#SubnetId", + "CoIp": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SubnetId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of your subnet.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "subnetId" + "aws.protocols#ec2QueryName": "CoIp", + "smithy.api#documentation": "

The customer-owned IP address.

", + "smithy.api#xmlName": "coIp" } } + }, + "traits": { + "smithy.api#documentation": "

Describes address usage for a customer-owned address pool.

" } }, - "com.amazonaws.ec2#AssociateSubnetCidrBlockResult": { + "com.amazonaws.ec2#CoipAddressUsageSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#CoipAddressUsage", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#CoipCidr": { "type": "structure", "members": { - "Ipv6CidrBlockAssociation": { - "target": "com.amazonaws.ec2#SubnetIpv6CidrBlockAssociation", + "Cidr": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Ipv6CidrBlockAssociation", - "smithy.api#documentation": "

Information about the IPv6 association.

", - "smithy.api#xmlName": "ipv6CidrBlockAssociation" + "aws.protocols#ec2QueryName": "Cidr", + "smithy.api#documentation": "

\n An address range in a customer-owned IP address space.\n

", + "smithy.api#xmlName": "cidr" } }, - "SubnetId": { + "CoipPoolId": { + "target": "com.amazonaws.ec2#Ipv4PoolCoipId", + "traits": { + "aws.protocols#ec2QueryName": "CoipPoolId", + "smithy.api#documentation": "

\n The ID of the address pool.\n

", + "smithy.api#xmlName": "coipPoolId" + } + }, + "LocalGatewayRouteTableId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SubnetId", - "smithy.api#documentation": "

The ID of the subnet.

", - "smithy.api#xmlName": "subnetId" + "aws.protocols#ec2QueryName": "LocalGatewayRouteTableId", + "smithy.api#documentation": "

\n The ID of the local gateway route table.\n

", + "smithy.api#xmlName": "localGatewayRouteTableId" } } - } - }, - "com.amazonaws.ec2#AssociateTransitGatewayMulticastDomain": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#AssociateTransitGatewayMulticastDomainRequest" - }, - "output": { - "target": "com.amazonaws.ec2#AssociateTransitGatewayMulticastDomainResult" }, "traits": { - "smithy.api#documentation": "

Associates the specified subnets and transit gateway attachments with the specified transit gateway multicast domain.

\n

The transit gateway attachment must be in the available state before you can add a resource. Use DescribeTransitGatewayAttachments \n to see the state of the attachment.

" + "smithy.api#documentation": "

\n Information about a customer-owned IP address range.\n

" } }, - "com.amazonaws.ec2#AssociateTransitGatewayMulticastDomainRequest": { + "com.amazonaws.ec2#CoipPool": { "type": "structure", "members": { - "TransitGatewayMulticastDomainId": { - "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainId", + "PoolId": { + "target": "com.amazonaws.ec2#Ipv4PoolCoipId", "traits": { - "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

" + "aws.protocols#ec2QueryName": "PoolId", + "smithy.api#documentation": "

The ID of the address pool.

", + "smithy.api#xmlName": "poolId" + } + }, + "PoolCidrs": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "aws.protocols#ec2QueryName": "PoolCidrSet", + "smithy.api#documentation": "

The address ranges of the address pool.

", + "smithy.api#xmlName": "poolCidrSet" } }, - "TransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", + "LocalGatewayRouteTableId": { + "target": "com.amazonaws.ec2#LocalGatewayRoutetableId", "traits": { - "smithy.api#documentation": "

The ID of the transit gateway attachment to associate with the transit gateway multicast domain.

" + "aws.protocols#ec2QueryName": "LocalGatewayRouteTableId", + "smithy.api#documentation": "

The ID of the local gateway route table.

", + "smithy.api#xmlName": "localGatewayRouteTableId" } }, - "SubnetIds": { - "target": "com.amazonaws.ec2#TransitGatewaySubnetIdList", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "smithy.api#documentation": "

The IDs of the subnets to associate with the transit gateway multicast domain.

" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags.

", + "smithy.api#xmlName": "tagSet" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "PoolArn": { + "target": "com.amazonaws.ec2#ResourceArn", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "PoolArn", + "smithy.api#documentation": "

The ARN of the address pool.

", + "smithy.api#xmlName": "poolArn" } } + }, + "traits": { + "smithy.api#documentation": "

Describes a customer-owned address pool.

" } }, - "com.amazonaws.ec2#AssociateTransitGatewayMulticastDomainResult": { - "type": "structure", - "members": { - "Associations": { - "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainAssociations", - "traits": { - "aws.protocols#ec2QueryName": "Associations", - "smithy.api#documentation": "

Information about the transit gateway multicast domain associations.

", - "smithy.api#xmlName": "associations" - } + "com.amazonaws.ec2#CoipPoolId": { + "type": "string" + }, + "com.amazonaws.ec2#CoipPoolIdSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Ipv4PoolCoipId", + "traits": { + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#AssociateTransitGatewayPolicyTable": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#AssociateTransitGatewayPolicyTableRequest" - }, - "output": { - "target": "com.amazonaws.ec2#AssociateTransitGatewayPolicyTableResult" - }, + "com.amazonaws.ec2#CoipPoolMaxResults": { + "type": "integer", "traits": { - "smithy.api#documentation": "

Associates the specified transit gateway attachment with a transit gateway policy table.

" + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 1000 + } } }, - "com.amazonaws.ec2#AssociateTransitGatewayPolicyTableRequest": { - "type": "structure", - "members": { - "TransitGatewayPolicyTableId": { - "target": "com.amazonaws.ec2#TransitGatewayPolicyTableId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the transit gateway policy table to associate with the transit gateway attachment.

", - "smithy.api#required": {} - } - }, - "TransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the transit gateway attachment to associate with the policy table.

", - "smithy.api#required": {} - } - }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } + "com.amazonaws.ec2#CoipPoolSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#CoipPool", + "traits": { + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#AssociateTransitGatewayPolicyTableResult": { - "type": "structure", - "members": { - "Association": { - "target": "com.amazonaws.ec2#TransitGatewayPolicyTableAssociation", - "traits": { - "aws.protocols#ec2QueryName": "Association", - "smithy.api#documentation": "

Describes the association of a transit gateway and a transit gateway policy table.

", - "smithy.api#xmlName": "association" - } - } + "com.amazonaws.ec2#ComponentAccount": { + "type": "string", + "traits": { + "smithy.api#pattern": "^\\d{12}$" } }, - "com.amazonaws.ec2#AssociateTransitGatewayRouteTable": { + "com.amazonaws.ec2#ComponentRegion": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[a-z]{2}-[a-z]+-[1-9]+$" + } + }, + "com.amazonaws.ec2#ConfirmProductInstance": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#AssociateTransitGatewayRouteTableRequest" + "target": "com.amazonaws.ec2#ConfirmProductInstanceRequest" }, "output": { - "target": "com.amazonaws.ec2#AssociateTransitGatewayRouteTableResult" + "target": "com.amazonaws.ec2#ConfirmProductInstanceResult" }, "traits": { - "smithy.api#documentation": "

Associates the specified attachment with the specified transit gateway route table. You can \n associate only one route table with an attachment.

" + "smithy.api#documentation": "

Determines whether a product code is associated with an instance. This action can only\n be used by the owner of the product code. It is useful when a product code owner must\n verify whether another user's instance is eligible for support.

" } }, - "com.amazonaws.ec2#AssociateTransitGatewayRouteTableRequest": { + "com.amazonaws.ec2#ConfirmProductInstanceRequest": { "type": "structure", "members": { - "TransitGatewayRouteTableId": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the transit gateway route table.

", + "smithy.api#documentation": "

The ID of the instance.

", "smithy.api#required": {} } }, - "TransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", + "ProductCode": { + "target": "com.amazonaws.ec2#String", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the attachment.

", + "smithy.api#documentation": "

The product code. This must be a product code that you own.

", "smithy.api#required": {} } }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - } - } - }, - "com.amazonaws.ec2#AssociateTransitGatewayRouteTableResult": { - "type": "structure", - "members": { - "Association": { - "target": "com.amazonaws.ec2#TransitGatewayAssociation", - "traits": { - "aws.protocols#ec2QueryName": "Association", - "smithy.api#documentation": "

The ID of the association.

", - "smithy.api#xmlName": "association" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } } - } - }, - "com.amazonaws.ec2#AssociateTrunkInterface": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#AssociateTrunkInterfaceRequest" - }, - "output": { - "target": "com.amazonaws.ec2#AssociateTrunkInterfaceResult" }, "traits": { - "smithy.api#documentation": "\n

This API action is currently in limited preview only. \n If you are interested in using this feature, contact your account manager.

\n
\n \n

Associates a branch network interface with a trunk network interface.

\n

Before you create the association, run the create-network-interface command and set\n --interface-type to trunk. You must also create a network interface for each branch network interface that you want to associate with the trunk network interface.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#AssociateTrunkInterfaceRequest": { + "com.amazonaws.ec2#ConfirmProductInstanceResult": { "type": "structure", "members": { - "BranchInterfaceId": { - "target": "com.amazonaws.ec2#NetworkInterfaceId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the branch network interface.

", - "smithy.api#required": {} - } - }, - "TrunkInterfaceId": { - "target": "com.amazonaws.ec2#NetworkInterfaceId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the trunk network interface.

", - "smithy.api#required": {} - } - }, - "VlanId": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The ID of the VLAN. This applies to the VLAN protocol.

" - } - }, - "GreKey": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The application key. This applies to the GRE protocol.

" - } - }, - "ClientToken": { + "OwnerId": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. For more information, see How to Ensure\n Idempotency.

", - "smithy.api#idempotencyToken": {} + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The Amazon Web Services account ID of the instance owner. This is only present if the\n product code is attached to the instance.

", + "smithy.api#xmlName": "ownerId" } }, - "DryRun": { + "Return": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "Return", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The return value of the request. Returns true if the specified product\n code is owned by the requester and associated with the specified instance.

", + "smithy.api#xmlName": "return" } } } }, - "com.amazonaws.ec2#AssociateTrunkInterfaceResult": { + "com.amazonaws.ec2#ConnectionLogOptions": { "type": "structure", "members": { - "InterfaceAssociation": { - "target": "com.amazonaws.ec2#TrunkInterfaceAssociation", + "Enabled": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "InterfaceAssociation", - "smithy.api#documentation": "

Information about the association between the trunk network interface and branch network interface.

", - "smithy.api#xmlName": "interfaceAssociation" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether connection logging is enabled.

" } }, - "ClientToken": { + "CloudwatchLogGroup": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ClientToken", - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. For more information, see How to Ensure\n Idempotency.

", - "smithy.api#xmlName": "clientToken" + "smithy.api#documentation": "

The name of the CloudWatch Logs log group. Required if connection logging is enabled.

" + } + }, + "CloudwatchLogStream": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The name of the CloudWatch Logs log stream to which the connection data is published.

" } } - } - }, - "com.amazonaws.ec2#AssociateVpcCidrBlock": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#AssociateVpcCidrBlockRequest" - }, - "output": { - "target": "com.amazonaws.ec2#AssociateVpcCidrBlockResult" }, "traits": { - "smithy.api#documentation": "

Associates a CIDR block with your VPC. You can associate a secondary IPv4 CIDR block,\n an Amazon-provided IPv6 CIDR block, or an IPv6 CIDR block from an IPv6 address pool that\n you provisioned through bring your own IP addresses (BYOIP). The IPv6 CIDR block size is fixed\n at /56.

\n

You must specify one of the following in the request: an IPv4 CIDR block, an IPv6\n pool, or an Amazon-provided IPv6 CIDR block.

\n

For more information about associating CIDR blocks with your VPC and applicable\n restrictions, see VPC and subnet sizing in the\n Amazon Virtual Private Cloud User Guide.

" + "smithy.api#documentation": "

Describes the client connection logging options for the Client VPN endpoint.

" } }, - "com.amazonaws.ec2#AssociateVpcCidrBlockRequest": { + "com.amazonaws.ec2#ConnectionLogResponseOptions": { "type": "structure", "members": { - "AmazonProvidedIpv6CidrBlock": { + "Enabled": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "AmazonProvidedIpv6CidrBlock", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IPv6 addresses, or the size of the CIDR block.

", - "smithy.api#xmlName": "amazonProvidedIpv6CidrBlock" + "smithy.api#documentation": "

Indicates whether client connection logging is enabled for the Client VPN endpoint.

" } }, - "CidrBlock": { + "CloudwatchLogGroup": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

An IPv4 CIDR block to associate with the VPC.

" + "smithy.api#documentation": "

The name of the Amazon CloudWatch Logs log group to which connection logging data is published.

" } }, - "VpcId": { - "target": "com.amazonaws.ec2#VpcId", + "CloudwatchLogStream": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "VpcId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the VPC.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "vpcId" + "smithy.api#documentation": "

The name of the Amazon CloudWatch Logs log stream to which connection logging data is published.

" } - }, - "Ipv6CidrBlockNetworkBorderGroup": { + } + }, + "traits": { + "smithy.api#documentation": "

Information about the client connection logging options for a Client VPN endpoint.

" + } + }, + "com.amazonaws.ec2#ConnectionNotification": { + "type": "structure", + "members": { + "ConnectionNotificationId": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The name of the location from which we advertise the IPV6 CIDR block. Use this parameter\n to limit the CIDR block to this location.

\n

You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.

\n

You can have one IPv6 CIDR block association per network border group.

" + "aws.protocols#ec2QueryName": "ConnectionNotificationId", + "smithy.api#documentation": "

The ID of the notification.

", + "smithy.api#xmlName": "connectionNotificationId" } }, - "Ipv6Pool": { - "target": "com.amazonaws.ec2#Ipv6PoolEc2Id", + "ServiceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.

" + "aws.protocols#ec2QueryName": "ServiceId", + "smithy.api#documentation": "

The ID of the endpoint service.

", + "smithy.api#xmlName": "serviceId" } }, - "Ipv6CidrBlock": { + "VpcEndpointId": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

An IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool in the request.

\n

To let Amazon choose the IPv6 CIDR block for you, omit this parameter.

" + "aws.protocols#ec2QueryName": "VpcEndpointId", + "smithy.api#documentation": "

The ID of the VPC endpoint.

", + "smithy.api#xmlName": "vpcEndpointId" } }, - "Ipv4IpamPoolId": { - "target": "com.amazonaws.ec2#IpamPoolId", + "ConnectionNotificationType": { + "target": "com.amazonaws.ec2#ConnectionNotificationType", "traits": { - "smithy.api#documentation": "

Associate a CIDR allocated from an IPv4 IPAM pool to a VPC. For more information about Amazon VPC IP Address Manager (IPAM), see What is IPAM? in the Amazon VPC IPAM User Guide.

" + "aws.protocols#ec2QueryName": "ConnectionNotificationType", + "smithy.api#documentation": "

The type of notification.

", + "smithy.api#xmlName": "connectionNotificationType" } }, - "Ipv4NetmaskLength": { - "target": "com.amazonaws.ec2#NetmaskLength", + "ConnectionNotificationArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The netmask length of the IPv4 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.\n

" + "aws.protocols#ec2QueryName": "ConnectionNotificationArn", + "smithy.api#documentation": "

The ARN of the SNS topic for the notification.

", + "smithy.api#xmlName": "connectionNotificationArn" } }, - "Ipv6IpamPoolId": { - "target": "com.amazonaws.ec2#IpamPoolId", + "ConnectionEvents": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "smithy.api#documentation": "

Associates a CIDR allocated from an IPv6 IPAM pool to a VPC. For more information about Amazon VPC IP Address Manager (IPAM), see What is IPAM? in the Amazon VPC IPAM User Guide.

" + "aws.protocols#ec2QueryName": "ConnectionEvents", + "smithy.api#documentation": "

The events for the notification. Valid values are Accept,\n Connect, Delete, and Reject.

", + "smithy.api#xmlName": "connectionEvents" } }, - "Ipv6NetmaskLength": { - "target": "com.amazonaws.ec2#NetmaskLength", + "ConnectionNotificationState": { + "target": "com.amazonaws.ec2#ConnectionNotificationState", "traits": { - "smithy.api#documentation": "

The netmask length of the IPv6 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.

" + "aws.protocols#ec2QueryName": "ConnectionNotificationState", + "smithy.api#documentation": "

The state of the notification.

", + "smithy.api#xmlName": "connectionNotificationState" } } + }, + "traits": { + "smithy.api#documentation": "

Describes a connection notification for a VPC endpoint or VPC endpoint\n service.

" } }, - "com.amazonaws.ec2#AssociateVpcCidrBlockResult": { - "type": "structure", + "com.amazonaws.ec2#ConnectionNotificationId": { + "type": "string" + }, + "com.amazonaws.ec2#ConnectionNotificationIdsList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ConnectionNotificationId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ConnectionNotificationSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ConnectionNotification", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ConnectionNotificationState": { + "type": "enum", "members": { - "Ipv6CidrBlockAssociation": { - "target": "com.amazonaws.ec2#VpcIpv6CidrBlockAssociation", - "traits": { - "aws.protocols#ec2QueryName": "Ipv6CidrBlockAssociation", - "smithy.api#documentation": "

Information about the IPv6 CIDR block association.

", - "smithy.api#xmlName": "ipv6CidrBlockAssociation" - } - }, - "CidrBlockAssociation": { - "target": "com.amazonaws.ec2#VpcCidrBlockAssociation", + "Enabled": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "CidrBlockAssociation", - "smithy.api#documentation": "

Information about the IPv4 CIDR block association.

", - "smithy.api#xmlName": "cidrBlockAssociation" + "smithy.api#enumValue": "Enabled" } }, - "VpcId": { - "target": "com.amazonaws.ec2#String", + "Disabled": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "VpcId", - "smithy.api#documentation": "

The ID of the VPC.

", - "smithy.api#xmlName": "vpcId" + "smithy.api#enumValue": "Disabled" } } } }, - "com.amazonaws.ec2#AssociatedNetworkType": { + "com.amazonaws.ec2#ConnectionNotificationType": { "type": "enum", "members": { - "vpc": { + "Topic": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "vpc" + "smithy.api#enumValue": "Topic" } } } }, - "com.amazonaws.ec2#AssociatedRole": { - "type": "structure", + "com.amazonaws.ec2#ConnectivityType": { + "type": "enum", "members": { - "AssociatedRoleArn": { - "target": "com.amazonaws.ec2#ResourceArn", - "traits": { - "aws.protocols#ec2QueryName": "AssociatedRoleArn", - "smithy.api#documentation": "

The ARN of the associated IAM role.

", - "smithy.api#xmlName": "associatedRoleArn" - } - }, - "CertificateS3BucketName": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "CertificateS3BucketName", - "smithy.api#documentation": "

The name of the Amazon S3 bucket in which the Amazon S3 object is stored.

", - "smithy.api#xmlName": "certificateS3BucketName" - } - }, - "CertificateS3ObjectKey": { - "target": "com.amazonaws.ec2#String", + "PRIVATE": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "CertificateS3ObjectKey", - "smithy.api#documentation": "

The key of the Amazon S3 object ey where the certificate, certificate chain, and encrypted private key bundle \n\t\t\tis stored. The object key is formated as follows: role_arn/certificate_arn.\n\t\t

", - "smithy.api#xmlName": "certificateS3ObjectKey" + "smithy.api#enumValue": "private" } }, - "EncryptionKmsKeyId": { - "target": "com.amazonaws.ec2#String", + "PUBLIC": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "EncryptionKmsKeyId", - "smithy.api#documentation": "

The ID of the KMS customer master key (CMK) used to encrypt the private key.

", - "smithy.api#xmlName": "encryptionKmsKeyId" + "smithy.api#enumValue": "public" } } - }, - "traits": { - "smithy.api#documentation": "

Information about the associated IAM roles.

" - } - }, - "com.amazonaws.ec2#AssociatedRolesList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#AssociatedRole", - "traits": { - "smithy.api#xmlName": "item" - } } }, - "com.amazonaws.ec2#AssociatedTargetNetwork": { - "type": "structure", + "com.amazonaws.ec2#ContainerFormat": { + "type": "enum", "members": { - "NetworkId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "NetworkId", - "smithy.api#documentation": "

The ID of the subnet.

", - "smithy.api#xmlName": "networkId" - } - }, - "NetworkType": { - "target": "com.amazonaws.ec2#AssociatedNetworkType", + "ova": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "NetworkType", - "smithy.api#documentation": "

The target network type.

", - "smithy.api#xmlName": "networkType" + "smithy.api#enumValue": "ova" } } - }, - "traits": { - "smithy.api#documentation": "

Describes a target network that is associated with a Client VPN endpoint. A target network is a subnet in a VPC.

" } }, - "com.amazonaws.ec2#AssociatedTargetNetworkSet": { + "com.amazonaws.ec2#ConversionIdStringList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#AssociatedTargetNetwork", + "target": "com.amazonaws.ec2#ConversionTaskId", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#AssociationIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#IamInstanceProfileAssociationId", - "traits": { - "smithy.api#xmlName": "AssociationId" - } - } - }, - "com.amazonaws.ec2#AssociationStatus": { + "com.amazonaws.ec2#ConversionTask": { "type": "structure", "members": { - "Code": { - "target": "com.amazonaws.ec2#AssociationStatusCode", + "ConversionTaskId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Code", - "smithy.api#documentation": "

The state of the target network association.

", - "smithy.api#xmlName": "code" + "aws.protocols#ec2QueryName": "ConversionTaskId", + "smithy.api#documentation": "

The ID of the conversion task.

", + "smithy.api#xmlName": "conversionTaskId" } }, - "Message": { + "ExpirationTime": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Message", - "smithy.api#documentation": "

A message about the status of the target network association, if applicable.

", - "smithy.api#xmlName": "message" + "aws.protocols#ec2QueryName": "ExpirationTime", + "smithy.api#documentation": "

The time when the task expires. If the upload isn't complete before the expiration time, we automatically cancel\n the task.

", + "smithy.api#xmlName": "expirationTime" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the state of a target network association.

" - } - }, - "com.amazonaws.ec2#AssociationStatusCode": { - "type": "enum", - "members": { - "associating": { - "target": "smithy.api#Unit", + }, + "ImportInstance": { + "target": "com.amazonaws.ec2#ImportInstanceTaskDetails", "traits": { - "smithy.api#enumValue": "associating" + "aws.protocols#ec2QueryName": "ImportInstance", + "smithy.api#documentation": "

If the task is for importing an instance, this contains information about the import instance task.

", + "smithy.api#xmlName": "importInstance" } }, - "associated": { - "target": "smithy.api#Unit", + "ImportVolume": { + "target": "com.amazonaws.ec2#ImportVolumeTaskDetails", "traits": { - "smithy.api#enumValue": "associated" + "aws.protocols#ec2QueryName": "ImportVolume", + "smithy.api#documentation": "

If the task is for importing a volume, this contains information about the import volume task.

", + "smithy.api#xmlName": "importVolume" } }, - "association_failed": { - "target": "smithy.api#Unit", + "State": { + "target": "com.amazonaws.ec2#ConversionTaskState", "traits": { - "smithy.api#enumValue": "association-failed" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the conversion task.

", + "smithy.api#xmlName": "state" } }, - "disassociating": { - "target": "smithy.api#Unit", + "StatusMessage": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "disassociating" + "aws.protocols#ec2QueryName": "StatusMessage", + "smithy.api#documentation": "

The status message related to the conversion task.

", + "smithy.api#xmlName": "statusMessage" } }, - "disassociated": { - "target": "smithy.api#Unit", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "smithy.api#enumValue": "disassociated" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Any tags assigned to the task.

", + "smithy.api#xmlName": "tagSet" } } + }, + "traits": { + "smithy.api#documentation": "

Describes a conversion task.

" } }, - "com.amazonaws.ec2#AthenaIntegration": { - "type": "structure", + "com.amazonaws.ec2#ConversionTaskId": { + "type": "string" + }, + "com.amazonaws.ec2#ConversionTaskState": { + "type": "enum", "members": { - "IntegrationResultS3DestinationArn": { - "target": "com.amazonaws.ec2#String", + "active": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The location in Amazon S3 to store the generated CloudFormation template.

", - "smithy.api#required": {} + "smithy.api#enumValue": "active" } }, - "PartitionLoadFrequency": { - "target": "com.amazonaws.ec2#PartitionLoadFrequency", + "cancelling": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The schedule for adding new partitions to the table.

", - "smithy.api#required": {} + "smithy.api#enumValue": "cancelling" } }, - "PartitionStartDate": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "cancelled": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The start date for the partition.

" + "smithy.api#enumValue": "cancelled" } }, - "PartitionEndDate": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "completed": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The end date for the partition.

" + "smithy.api#enumValue": "completed" } } - }, - "traits": { - "smithy.api#documentation": "

Describes integration options for Amazon Athena.

" - } - }, - "com.amazonaws.ec2#AthenaIntegrationsSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#AthenaIntegration", - "traits": { - "smithy.api#xmlName": "item" - } - }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 10 - } } }, - "com.amazonaws.ec2#AttachClassicLinkVpc": { + "com.amazonaws.ec2#CopyFpgaImage": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#AttachClassicLinkVpcRequest" + "target": "com.amazonaws.ec2#CopyFpgaImageRequest" }, "output": { - "target": "com.amazonaws.ec2#AttachClassicLinkVpcResult" + "target": "com.amazonaws.ec2#CopyFpgaImageResult" }, "traits": { - "smithy.api#documentation": "\n\t

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n\t
\n\t

Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or more of the VPC's\n\t\t\tsecurity groups. You cannot link an EC2-Classic instance to more than one VPC at a time. You\n\t\t\tcan only link an instance that's in the running state. An instance is\n\t\t\tautomatically unlinked from a VPC when it's stopped - you can link it to the VPC again when\n\t\t\tyou restart it.

\n\t\t

After you've linked an instance, you cannot change the VPC security groups that are associated with it. To change the security groups, you must first unlink the instance, and then link it again.

\n\t\t

Linking your instance to a VPC is sometimes referred to as attaching your instance.

" + "smithy.api#documentation": "

Copies the specified Amazon FPGA Image (AFI) to the current Region.

" } }, - "com.amazonaws.ec2#AttachClassicLinkVpcRequest": { + "com.amazonaws.ec2#CopyFpgaImageRequest": { "type": "structure", "members": { "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "Groups": { - "target": "com.amazonaws.ec2#GroupIdStringList", + "SourceFpgaImageId": { + "target": "com.amazonaws.ec2#String", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of one or more of the VPC's security groups. You cannot specify security groups from a different VPC.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "SecurityGroupId" + "smithy.api#documentation": "

The ID of the source AFI.

", + "smithy.api#required": {} } }, - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "instanceId" + "smithy.api#documentation": "

The description for the new AFI.

" } }, - "VpcId": { - "target": "com.amazonaws.ec2#VpcId", + "Name": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The name for the new AFI. The default is the name of the source AFI.

" + } + }, + "SourceRegion": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "VpcId", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of a ClassicLink-enabled VPC.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "vpcId" + "smithy.api#documentation": "

The Region that contains the source AFI.

", + "smithy.api#required": {} + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. \n For more information, see Ensuring idempotency.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#AttachClassicLinkVpcResult": { + "com.amazonaws.ec2#CopyFpgaImageResult": { "type": "structure", "members": { - "Return": { - "target": "com.amazonaws.ec2#Boolean", + "FpgaImageId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Return", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "smithy.api#xmlName": "return" + "aws.protocols#ec2QueryName": "FpgaImageId", + "smithy.api#documentation": "

The ID of the new AFI.

", + "smithy.api#xmlName": "fpgaImageId" } } } }, - "com.amazonaws.ec2#AttachInternetGateway": { + "com.amazonaws.ec2#CopyImage": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#AttachInternetGatewayRequest" + "target": "com.amazonaws.ec2#CopyImageRequest" }, "output": { - "target": "smithy.api#Unit" + "target": "com.amazonaws.ec2#CopyImageResult" }, "traits": { - "smithy.api#documentation": "

Attaches an internet gateway or a virtual private gateway to a VPC, enabling connectivity between the internet and\n\t\t\tthe VPC. For more information about your VPC and internet gateway, see the Amazon Virtual Private Cloud User Guide.

" + "smithy.api#documentation": "

Initiates the copy of an AMI. You can copy an AMI from one Region to another, or from a\n Region to an Outpost. You can't copy an AMI from an Outpost to a Region, from one Outpost\n to another, or within the same Outpost. To copy an AMI to another partition, see CreateStoreImageTask.

\n

To copy an AMI from one Region to another, specify the source Region using the \n \t\tSourceRegion parameter, and specify the \n \t\tdestination Region using its endpoint. Copies of encrypted backing snapshots for\n \t\tthe AMI are encrypted. Copies of unencrypted backing snapshots remain unencrypted, \n \t\tunless you set Encrypted during the copy operation. You cannot \n \t\tcreate an unencrypted copy of an encrypted backing snapshot.

\n

To copy an AMI from a Region to an Outpost, specify the source Region using the \n \t\tSourceRegion parameter, and specify the \n \t\tARN of the destination Outpost using DestinationOutpostArn. \n \t\tBacking snapshots copied to an Outpost are encrypted by default using the default\n \t\tencryption key for the Region, or a different key that you specify in the request using \n \t\tKmsKeyId. Outposts do not support unencrypted \n \t\tsnapshots. For more information, \n \t\t\tAmazon EBS local snapshots on Outposts in the Amazon EC2 User Guide.

\n

For more information about the prerequisites and limits when copying an AMI, see Copy an AMI in the\n Amazon EC2 User Guide.

" } }, - "com.amazonaws.ec2#AttachInternetGatewayRequest": { + "com.amazonaws.ec2#CopyImageRequest": { "type": "structure", "members": { - "DryRun": { + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

Unique, case-sensitive identifier you provide to ensure\n idempotency of the request. For more information, see Ensuring idempotency \n in the Amazon EC2 API Reference.

" + } + }, + "Description": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

A description for the new AMI in the destination Region.

" + } + }, + "Encrypted": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", + "aws.protocols#ec2QueryName": "Encrypted", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Specifies whether the destination snapshots of the copied image should be encrypted. You\n can encrypt a copy of an unencrypted snapshot, but you cannot create an unencrypted copy of an\n encrypted snapshot. The default KMS key for Amazon EBS is used unless you specify a non-default\n Key Management Service (KMS) KMS key using KmsKeyId. For more information, see Amazon EBS encryption in the\n Amazon EC2 User Guide.

", + "smithy.api#xmlName": "encrypted" } }, - "InternetGatewayId": { - "target": "com.amazonaws.ec2#InternetGatewayId", + "KmsKeyId": { + "target": "com.amazonaws.ec2#KmsKeyId", "traits": { - "aws.protocols#ec2QueryName": "InternetGatewayId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the internet gateway.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "internetGatewayId" + "aws.protocols#ec2QueryName": "KmsKeyId", + "smithy.api#documentation": "

The identifier of the symmetric Key Management Service (KMS) KMS key to use when creating\n \t\tencrypted volumes. If this parameter is not specified, your Amazon Web Services managed KMS key for Amazon EBS is used. \n \t\tIf you specify a KMS key, you must also set the encrypted state to true.

\n

You can specify a KMS key using any of the following:

\n
    \n
  • \n

    Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

    \n
  • \n
  • \n

    Key alias. For example, alias/ExampleAlias.

    \n
  • \n
  • \n

    Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

    \n
  • \n
  • \n

    Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

    \n
  • \n
\n

Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an identifier that is not valid,\n the action can appear to complete, but eventually fails.

\n

The specified KMS key must exist in the destination Region.

\n

Amazon EBS does not support asymmetric KMS keys.

", + "smithy.api#xmlName": "kmsKeyId" } }, - "VpcId": { - "target": "com.amazonaws.ec2#VpcId", + "Name": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "VpcId", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the VPC.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "vpcId" + "smithy.api#documentation": "

The name of the new AMI in the destination Region.

", + "smithy.api#required": {} } - } - } - }, - "com.amazonaws.ec2#AttachNetworkInterface": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#AttachNetworkInterfaceRequest" - }, - "output": { - "target": "com.amazonaws.ec2#AttachNetworkInterfaceResult" - }, - "traits": { - "smithy.api#documentation": "

Attaches a network interface to an instance.

" - } - }, - "com.amazonaws.ec2#AttachNetworkInterfaceRequest": { - "type": "structure", - "members": { - "DeviceIndex": { - "target": "com.amazonaws.ec2#Integer", + }, + "SourceImageId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DeviceIndex", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The index of the device for the network interface attachment.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "deviceIndex" + "smithy.api#documentation": "

The ID of the AMI to copy.

", + "smithy.api#required": {} } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "SourceRegion": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

The name of the Region that contains the AMI to copy.

", + "smithy.api#required": {} } }, - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", + "DestinationOutpostArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the instance.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "instanceId" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Outpost to which to copy the AMI. Only \n \t\tspecify this parameter when copying an AMI from an Amazon Web Services Region to an Outpost. \n \t\tThe AMI must be in the Region of the destination Outpost. You cannot copy an \n \t\tAMI from an Outpost to a Region, from one Outpost to another, or within the same \n \t\tOutpost.

\n

For more information, see Copy AMIs from an Amazon Web Services\n Region to an Outpost in the Amazon EC2 User Guide.

" } }, - "NetworkInterfaceId": { - "target": "com.amazonaws.ec2#NetworkInterfaceId", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the network interface.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "networkInterfaceId" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "NetworkCardIndex": { - "target": "com.amazonaws.ec2#Integer", + "CopyImageTags": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The index of the network card. Some instance types support multiple network cards. \n The primary network interface must be assigned to network card index 0. \n The default is network card index 0.

" + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to include your user-defined AMI tags when copying the AMI.

\n

The following tags will not be copied:

\n
    \n
  • \n

    System tags (prefixed with aws:)

    \n
  • \n
  • \n

    For public and shared AMIs, user-defined tags that are attached by other Amazon Web Services \n accounts

    \n
  • \n
\n

Default: Your user-defined AMI tags are not copied.

" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for AttachNetworkInterface.

" + "smithy.api#documentation": "

Contains the parameters for CopyImage.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#AttachNetworkInterfaceResult": { + "com.amazonaws.ec2#CopyImageResult": { "type": "structure", "members": { - "AttachmentId": { + "ImageId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AttachmentId", - "smithy.api#documentation": "

The ID of the network interface attachment.

", - "smithy.api#xmlName": "attachmentId" - } - }, - "NetworkCardIndex": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "aws.protocols#ec2QueryName": "NetworkCardIndex", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The index of the network card.

", - "smithy.api#xmlName": "networkCardIndex" + "aws.protocols#ec2QueryName": "ImageId", + "smithy.api#documentation": "

The ID of the new AMI.

", + "smithy.api#xmlName": "imageId" } } }, "traits": { - "smithy.api#documentation": "

Contains the output of AttachNetworkInterface.

" + "smithy.api#documentation": "

Contains the output of CopyImage.

" } }, - "com.amazonaws.ec2#AttachVolume": { + "com.amazonaws.ec2#CopySnapshot": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#AttachVolumeRequest" + "target": "com.amazonaws.ec2#CopySnapshotRequest" }, "output": { - "target": "com.amazonaws.ec2#VolumeAttachment" + "target": "com.amazonaws.ec2#CopySnapshotResult" }, "traits": { - "smithy.api#documentation": "

Attaches an EBS volume to a running or stopped instance and exposes it to the instance\n with the specified device name.

\n

Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. For\n more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

\n

After you attach an EBS volume, you must make it available. For more information, see \n Make an EBS volume available for use.

\n

If a volume has an Amazon Web Services Marketplace product code:

\n
    \n
  • \n

    The volume can be attached only to a stopped instance.

    \n
  • \n
  • \n

    Amazon Web Services Marketplace product codes are copied from the volume to the instance.

    \n
  • \n
  • \n

    You must be subscribed to the product.

    \n
  • \n
  • \n

    The instance type and operating system of the instance must support the product. For\n example, you can't detach a volume from a Windows instance and attach it to a Linux\n instance.

    \n
  • \n
\n

For more information, see Attach an Amazon EBS volume to an instance in the\n Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3. You can copy a\n snapshot within the same Region, from one Region to another, or from a Region to an Outpost. \n You can't copy a snapshot from an Outpost to a Region, from one Outpost to another, or within \n the same Outpost.

\n

You can use the snapshot to create EBS volumes or Amazon Machine Images (AMIs).

\n

When copying snapshots to a Region, copies of encrypted EBS snapshots remain encrypted. \n \tCopies of unencrypted snapshots remain unencrypted, unless you enable encryption for the \n \tsnapshot copy operation. By default, encrypted snapshot copies use the default Key Management Service (KMS) \n \tKMS key; however, you can specify a different KMS key. To copy an encrypted \n \tsnapshot that has been shared from another account, you must have permissions for the KMS key \n \tused to encrypt the snapshot.

\n

Snapshots copied to an Outpost are encrypted by default using the default\n \t\tencryption key for the Region, or a different key that you specify in the request using \n \t\tKmsKeyId. Outposts do not support unencrypted \n \t\tsnapshots. For more information, \n \t\t\tAmazon EBS local snapshots on Outposts in the Amazon Elastic Compute Cloud User Guide.

\n

Snapshots created by copying another snapshot have an arbitrary volume ID that should not\n be used for any purpose.

\n

For more information, see Copy an Amazon EBS snapshot in the\n Amazon Elastic Compute Cloud User Guide.

" } }, - "com.amazonaws.ec2#AttachVolumeRequest": { + "com.amazonaws.ec2#CopySnapshotRequest": { "type": "structure", "members": { - "Device": { + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The device name (for example, /dev/sdh or xvdh).

", - "smithy.api#required": {} + "smithy.api#documentation": "

A description for the EBS snapshot.

" } }, - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", + "DestinationOutpostArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the instance.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Outpost to which to copy the snapshot. Only \n\t\tspecify this parameter when copying a snapshot from an Amazon Web Services Region to an Outpost. \n\t\tThe snapshot must be in the Region for the destination Outpost. You cannot copy a \n\t\tsnapshot from an Outpost to a Region, from one Outpost to another, or within the same \n\t\tOutpost.

\n

For more information, see \n \t\tCopy snapshots from an Amazon Web Services Region to an Outpost in the \n \t\tAmazon Elastic Compute Cloud User Guide.

" } }, - "VolumeId": { - "target": "com.amazonaws.ec2#VolumeId", + "DestinationRegion": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the EBS volume. The volume and instance must be within the same Availability\n Zone.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "DestinationRegion", + "smithy.api#documentation": "

The destination Region to use in the PresignedUrl parameter of a snapshot\n copy operation. This parameter is only valid for specifying the destination Region in a\n PresignedUrl parameter, where it is required.

\n

The snapshot copy is sent to the regional endpoint that you sent the HTTP\n \trequest to (for example, ec2.us-east-1.amazonaws.com). With the CLI, this is\n specified using the --region parameter or the default Region in your Amazon Web Services\n configuration file.

", + "smithy.api#xmlName": "destinationRegion" } }, - "DryRun": { + "Encrypted": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", + "aws.protocols#ec2QueryName": "Encrypted", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

To encrypt a copy of an unencrypted snapshot if encryption by default is not enabled, \n enable encryption using this parameter. Otherwise, omit this parameter. Encrypted snapshots \n are encrypted, even if you omit this parameter and encryption by default is not enabled. You \n cannot set this parameter to false. For more information, see Amazon EBS encryption in the \n Amazon Elastic Compute Cloud User Guide.

", + "smithy.api#xmlName": "encrypted" } - } - } - }, - "com.amazonaws.ec2#AttachVpnGateway": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#AttachVpnGatewayRequest" - }, - "output": { - "target": "com.amazonaws.ec2#AttachVpnGatewayResult" - }, - "traits": { - "smithy.api#documentation": "

Attaches a virtual private gateway to a VPC. You can attach one virtual private\n gateway to one VPC at a time.

\n

For more information, see Amazon Web Services Site-to-Site VPN in the Amazon Web Services Site-to-Site VPN\n User Guide.

" - } - }, - "com.amazonaws.ec2#AttachVpnGatewayRequest": { - "type": "structure", - "members": { - "VpcId": { - "target": "com.amazonaws.ec2#VpcId", + }, + "KmsKeyId": { + "target": "com.amazonaws.ec2#KmsKeyId", + "traits": { + "aws.protocols#ec2QueryName": "KmsKeyId", + "smithy.api#documentation": "

The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption.\n If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is\n specified, the encrypted state must be true.

\n

You can specify the KMS key using any of the following:

\n
    \n
  • \n

    Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

    \n
  • \n
  • \n

    Key alias. For example, alias/ExampleAlias.

    \n
  • \n
  • \n

    Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

    \n
  • \n
  • \n

    Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

    \n
  • \n
\n

Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, \n the action can appear to complete, but eventually fails.

", + "smithy.api#xmlName": "kmsKeyId" + } + }, + "PresignedUrl": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "PresignedUrl", + "smithy.api#documentation": "

When you copy an encrypted source snapshot using the Amazon EC2 Query API, you must supply a\n pre-signed URL. This parameter is optional for unencrypted snapshots. For more information,\n see Query\n requests.

\n

The PresignedUrl should use the snapshot source endpoint, the\n CopySnapshot action, and include the SourceRegion,\n SourceSnapshotId, and DestinationRegion parameters. The\n PresignedUrl must be signed using Amazon Web Services Signature Version 4. Because EBS\n snapshots are stored in Amazon S3, the signing algorithm for this parameter uses the same logic\n that is described in Authenticating Requests: Using Query\n Parameters (Amazon Web Services Signature Version 4) in the Amazon Simple Storage Service API Reference. An\n invalid or improperly signed PresignedUrl will cause the copy operation to fail\n asynchronously, and the snapshot will move to an error state.

", + "smithy.api#xmlName": "presignedUrl" + } + }, + "SourceRegion": { + "target": "com.amazonaws.ec2#String", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the VPC.

", + "smithy.api#documentation": "

The ID of the Region that contains the snapshot to be copied.

", "smithy.api#required": {} } }, - "VpnGatewayId": { - "target": "com.amazonaws.ec2#VpnGatewayId", + "SourceSnapshotId": { + "target": "com.amazonaws.ec2#String", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the virtual private gateway.

", + "smithy.api#documentation": "

The ID of the EBS snapshot to copy.

", "smithy.api#required": {} } }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

The tags to apply to the new snapshot.

", + "smithy.api#xmlName": "TagSpecification" + } + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", "smithy.api#xmlName": "dryRun" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for AttachVpnGateway.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#AttachVpnGatewayResult": { + "com.amazonaws.ec2#CopySnapshotResult": { "type": "structure", "members": { - "VpcAttachment": { - "target": "com.amazonaws.ec2#VpcAttachment", + "SnapshotId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Attachment", - "smithy.api#documentation": "

Information about the attachment.

", - "smithy.api#xmlName": "attachment" + "aws.protocols#ec2QueryName": "SnapshotId", + "smithy.api#documentation": "

The ID of the new snapshot.

", + "smithy.api#xmlName": "snapshotId" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Any tags applied to the new snapshot.

", + "smithy.api#xmlName": "tagSet" } } - }, - "traits": { - "smithy.api#documentation": "

Contains the output of AttachVpnGateway.

" } }, - "com.amazonaws.ec2#AttachmentStatus": { + "com.amazonaws.ec2#CopyTagsFromSource": { "type": "enum", "members": { - "attaching": { + "volume": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "attaching" + "smithy.api#enumValue": "volume" } - }, - "attached": { + } + } + }, + "com.amazonaws.ec2#CoreCount": { + "type": "integer" + }, + "com.amazonaws.ec2#CoreCountList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#CoreCount", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#CoreNetworkArn": { + "type": "string" + }, + "com.amazonaws.ec2#CpuManufacturer": { + "type": "enum", + "members": { + "INTEL": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "attached" + "smithy.api#enumValue": "intel" } }, - "detaching": { + "AMD": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "detaching" + "smithy.api#enumValue": "amd" } }, - "detached": { + "AMAZON_WEB_SERVICES": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "detached" - } - } - } - }, - "com.amazonaws.ec2#AttributeBooleanValue": { - "type": "structure", - "members": { - "Value": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "Value", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

The attribute value. The valid values are true or false.

", - "smithy.api#xmlName": "value" + "smithy.api#enumValue": "amazon-web-services" } } - }, - "traits": { - "smithy.api#documentation": "

Describes a value for a resource attribute that is a Boolean value.

" } }, - "com.amazonaws.ec2#AttributeValue": { - "type": "structure", - "members": { - "Value": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "Value", - "smithy.api#documentation": "

The attribute value. The value is case-sensitive.

", - "smithy.api#xmlName": "value" - } + "com.amazonaws.ec2#CpuManufacturerSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#CpuManufacturer", + "traits": { + "smithy.api#xmlName": "item" } - }, - "traits": { - "smithy.api#documentation": "

Describes a value for a resource attribute that is a String.

" } }, - "com.amazonaws.ec2#AuthorizationRule": { + "com.amazonaws.ec2#CpuOptions": { "type": "structure", "members": { - "ClientVpnEndpointId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "ClientVpnEndpointId", - "smithy.api#documentation": "

The ID of the Client VPN endpoint with which the authorization rule is associated.

", - "smithy.api#xmlName": "clientVpnEndpointId" - } - }, - "Description": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

A brief description of the authorization rule.

", - "smithy.api#xmlName": "description" - } - }, - "GroupId": { - "target": "com.amazonaws.ec2#String", + "CoreCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "GroupId", - "smithy.api#documentation": "

The ID of the Active Directory group to which the authorization rule grants access.

", - "smithy.api#xmlName": "groupId" + "aws.protocols#ec2QueryName": "CoreCount", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of CPU cores for the instance.

", + "smithy.api#xmlName": "coreCount" } }, - "AccessAll": { - "target": "com.amazonaws.ec2#Boolean", + "ThreadsPerCore": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "AccessAll", + "aws.protocols#ec2QueryName": "ThreadsPerCore", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the authorization rule grants access to all clients.

", - "smithy.api#xmlName": "accessAll" + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of threads per CPU core.

", + "smithy.api#xmlName": "threadsPerCore" } - }, - "DestinationCidr": { - "target": "com.amazonaws.ec2#String", + } + }, + "traits": { + "smithy.api#documentation": "

The CPU options for the instance.

" + } + }, + "com.amazonaws.ec2#CpuOptionsRequest": { + "type": "structure", + "members": { + "CoreCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "DestinationCidr", - "smithy.api#documentation": "

The IPv4 address range, in CIDR notation, of the network to which the authorization rule applies.

", - "smithy.api#xmlName": "destinationCidr" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of CPU cores for the instance.

" } }, - "Status": { - "target": "com.amazonaws.ec2#ClientVpnAuthorizationRuleStatus", + "ThreadsPerCore": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The current state of the authorization rule.

", - "smithy.api#xmlName": "status" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of threads per CPU core. To disable multithreading for the instance,\n specify a value of 1. Otherwise, specify the default value of\n 2.

" } } }, "traits": { - "smithy.api#documentation": "

Information about an authorization rule.

" + "smithy.api#documentation": "

The CPU options for the instance. Both the core count and threads per core must be\n specified in the request.

" } }, - "com.amazonaws.ec2#AuthorizationRuleSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#AuthorizationRule", - "traits": { - "smithy.api#xmlName": "item" - } + "com.amazonaws.ec2#CreateCapacityReservation": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateCapacityReservationRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateCapacityReservationResult" + }, + "traits": { + "smithy.api#documentation": "

Creates a new Capacity Reservation with the specified attributes.

\n

Capacity Reservations enable you to reserve capacity for your Amazon EC2 instances in a specific Availability Zone for any duration. This \n\t\t\tgives you the flexibility to selectively add capacity reservations and still get the Regional RI discounts for that usage. \n\t\t\tBy creating Capacity Reservations, you ensure that you always have access to Amazon EC2 capacity when you need it, for as long as you need it. \n\t\t\tFor more information, see Capacity Reservations in the Amazon EC2 User Guide.

\n

Your request to create a Capacity Reservation could fail if Amazon EC2 does not have sufficient capacity to\n\t\t\tfulfill the request. If your request fails due to Amazon EC2 capacity constraints, either try\n\t\t\tagain at a later time, try in a different Availability Zone, or request a smaller\n\t\t\tcapacity reservation. If your application is flexible across instance types and sizes,\n\t\t\ttry to create a Capacity Reservation with different instance attributes.

\n

Your request could also fail if the requested quantity exceeds your On-Demand Instance\n\t\t\tlimit for the selected instance type. If your request fails due to limit constraints,\n\t\t\tincrease your On-Demand Instance limit for the required instance type and try again. For\n\t\t\tmore information about increasing your instance limits, see Amazon EC2 Service\n\t\t\t\tQuotas in the Amazon EC2 User Guide.

" } }, - "com.amazonaws.ec2#AuthorizeClientVpnIngress": { + "com.amazonaws.ec2#CreateCapacityReservationFleet": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#AuthorizeClientVpnIngressRequest" + "target": "com.amazonaws.ec2#CreateCapacityReservationFleetRequest" }, "output": { - "target": "com.amazonaws.ec2#AuthorizeClientVpnIngressResult" + "target": "com.amazonaws.ec2#CreateCapacityReservationFleetResult" }, "traits": { - "smithy.api#documentation": "

Adds an ingress authorization rule to a Client VPN endpoint. Ingress authorization rules act as \n\t\t\tfirewall rules that grant access to networks. You must configure ingress authorization rules to \n\t\t\tenable clients to access resources in Amazon Web Services or on-premises networks.

" + "smithy.api#documentation": "

Creates a Capacity Reservation Fleet. For more information, see Create a Capacity \n\t\t\tReservation Fleet in the Amazon EC2 User Guide.

" } }, - "com.amazonaws.ec2#AuthorizeClientVpnIngressRequest": { + "com.amazonaws.ec2#CreateCapacityReservationFleetRequest": { "type": "structure", "members": { - "ClientVpnEndpointId": { - "target": "com.amazonaws.ec2#ClientVpnEndpointId", + "AllocationStrategy": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Client VPN endpoint.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The strategy used by the Capacity Reservation Fleet to determine which of the \n\t\t\tspecified instance types to use. Currently, only the prioritized \n\t\t\tallocation strategy is supported. For more information, see \n\t\t\t\tAllocation strategy in the Amazon EC2 User Guide.

\n

Valid values: prioritized\n

" } }, - "TargetNetworkCidr": { + "ClientToken": { "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensure Idempotency.

", + "smithy.api#idempotencyToken": {} + } + }, + "InstanceTypeSpecifications": { + "target": "com.amazonaws.ec2#ReservationFleetInstanceSpecificationList", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IPv4 address range, in CIDR notation, of the network for which access is being authorized.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Information about the instance types for which to reserve the capacity.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "InstanceTypeSpecification" } }, - "AccessGroupId": { - "target": "com.amazonaws.ec2#String", + "Tenancy": { + "target": "com.amazonaws.ec2#FleetCapacityReservationTenancy", "traits": { - "smithy.api#documentation": "

The ID of the group to grant access to, for example, the Active Directory group or identity provider (IdP) group. Required if AuthorizeAllGroups is false or not specified.

" + "smithy.api#documentation": "

Indicates the tenancy of the Capacity Reservation Fleet. All Capacity Reservations \n\t\t\tin the Fleet inherit this tenancy. The Capacity Reservation Fleet can have one of \n\t\t\tthe following tenancy settings:

\n
    \n
  • \n

    \n default - The Capacity Reservation Fleet is created on hardware \n\t\t\t\t\tthat is shared with other Amazon Web Services accounts.

    \n
  • \n
  • \n

    \n dedicated - The Capacity Reservations are created on single-tenant \n\t\t\t\t\thardware that is dedicated to a single Amazon Web Services account.

    \n
  • \n
" } }, - "AuthorizeAllGroups": { - "target": "com.amazonaws.ec2#Boolean", + "TotalTargetCapacity": { + "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to grant access to all clients. Specify true to grant all\n clients who successfully establish a VPN connection access to the network. Must be set\n to true if AccessGroupId is not specified.

" + "smithy.api#default": 0, + "smithy.api#documentation": "

The total number of capacity units to be reserved by the Capacity Reservation Fleet. This \n\t\t\tvalue, together with the instance type weights that you assign to each instance type used by \n\t\t\tthe Fleet determine the number of instances for which the Fleet reserves capacity. Both values \n\t\t\tare based on units that make sense for your workload. For more information, see \n\t\t\t\tTotal target capacity in the Amazon EC2 User Guide.

", + "smithy.api#required": {} } }, - "Description": { - "target": "com.amazonaws.ec2#String", + "EndDate": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "smithy.api#documentation": "

A brief description of the authorization rule.

" + "smithy.api#documentation": "

The date and time at which the Capacity Reservation Fleet expires. When the Capacity \n\t\t\tReservation Fleet expires, its state changes to expired and all of the Capacity \n\t\t\tReservations in the Fleet expire.

\n

The Capacity Reservation Fleet expires within an hour after the specified time. For example, \n\t\t\tif you specify 5/31/2019, 13:30:55, the Capacity Reservation Fleet \n\t\t\tis guaranteed to expire between 13:30:55 and 14:30:55 on \n\t\t\t5/31/2019.\n\t\t

" } }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", + "InstanceMatchCriteria": { + "target": "com.amazonaws.ec2#FleetInstanceMatchCriteria", "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

Indicates the type of instance launches that the Capacity Reservation Fleet accepts. All \n\t\t\tCapacity Reservations in the Fleet inherit this instance matching criteria.

\n

Currently, Capacity Reservation Fleets support open instance matching criteria \n\t\t\tonly. This means that instances that have matching attributes (instance type, platform, and \n\t\t\tAvailability Zone) run in the Capacity Reservations automatically. Instances do not need to \n\t\t\texplicitly target a Capacity Reservation Fleet to use its reserved capacity.

" + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

The tags to assign to the Capacity Reservation Fleet. The tags are automatically assigned \n\t\t\tto the Capacity Reservations in the Fleet.

", + "smithy.api#xmlName": "TagSpecification" } }, "DryRun": { @@ -8227,869 +12676,892 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } - } - }, - "com.amazonaws.ec2#AuthorizeClientVpnIngressResult": { - "type": "structure", - "members": { - "Status": { - "target": "com.amazonaws.ec2#ClientVpnAuthorizationRuleStatus", - "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The current state of the authorization rule.

", - "smithy.api#xmlName": "status" - } - } - } - }, - "com.amazonaws.ec2#AuthorizeSecurityGroupEgress": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#AuthorizeSecurityGroupEgressRequest" - }, - "output": { - "target": "com.amazonaws.ec2#AuthorizeSecurityGroupEgressResult" }, "traits": { - "smithy.api#documentation": "

[VPC only] Adds the specified outbound (egress) rules to a security group for use with a VPC.

\n

An outbound rule permits instances to send traffic to the specified IPv4 or IPv6 CIDR\n address ranges, or to the instances that are associated with the specified source\n security groups. When specifying an outbound rule for your security group in a VPC, the\n IpPermissions must include a destination for the traffic.

\n

You specify a protocol for each rule (for example, TCP). \n For the TCP and UDP protocols, you must also specify the destination port or port range. \n For the ICMP protocol, you must also specify the ICMP type and code. \n You can use -1 for the type or code to mean all types or all codes.

\n

Rule changes are propagated to affected instances as quickly as possible. However, a small delay might occur.

\n

For information about VPC security group quotas, see Amazon VPC quotas.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#AuthorizeSecurityGroupEgressRequest": { + "com.amazonaws.ec2#CreateCapacityReservationFleetResult": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "CapacityReservationFleetId": { + "target": "com.amazonaws.ec2#CapacityReservationFleetId", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "aws.protocols#ec2QueryName": "CapacityReservationFleetId", + "smithy.api#documentation": "

The ID of the Capacity Reservation Fleet.

", + "smithy.api#xmlName": "capacityReservationFleetId" } }, - "GroupId": { - "target": "com.amazonaws.ec2#SecurityGroupId", + "State": { + "target": "com.amazonaws.ec2#CapacityReservationFleetState", "traits": { - "aws.protocols#ec2QueryName": "GroupId", + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The status of the Capacity Reservation Fleet.

", + "smithy.api#xmlName": "state" + } + }, + "TotalTargetCapacity": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "TotalTargetCapacity", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the security group.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "groupId" + "smithy.api#default": 0, + "smithy.api#documentation": "

The total number of capacity units for which the Capacity Reservation Fleet reserves capacity.

", + "smithy.api#xmlName": "totalTargetCapacity" } }, - "IpPermissions": { - "target": "com.amazonaws.ec2#IpPermissionList", + "TotalFulfilledCapacity": { + "target": "com.amazonaws.ec2#Double", "traits": { - "aws.protocols#ec2QueryName": "IpPermissions", - "smithy.api#documentation": "

The sets of IP permissions. You can't specify a destination security group and a CIDR IP\n address range in the same set of permissions.

", - "smithy.api#xmlName": "ipPermissions" + "aws.protocols#ec2QueryName": "TotalFulfilledCapacity", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The requested capacity units that have been successfully reserved.

", + "smithy.api#xmlName": "totalFulfilledCapacity" } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + "InstanceMatchCriteria": { + "target": "com.amazonaws.ec2#FleetInstanceMatchCriteria", "traits": { - "smithy.api#documentation": "

The tags applied to the security group rule.

", - "smithy.api#xmlName": "TagSpecification" + "aws.protocols#ec2QueryName": "InstanceMatchCriteria", + "smithy.api#documentation": "

The instance matching criteria for the Capacity Reservation Fleet.

", + "smithy.api#xmlName": "instanceMatchCriteria" } }, - "CidrIp": { + "AllocationStrategy": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CidrIp", - "smithy.api#documentation": "

Not supported. Use a set of IP permissions to specify the CIDR.

", - "smithy.api#xmlName": "cidrIp" + "aws.protocols#ec2QueryName": "AllocationStrategy", + "smithy.api#documentation": "

The allocation strategy used by the Capacity Reservation Fleet.

", + "smithy.api#xmlName": "allocationStrategy" } }, - "FromPort": { - "target": "com.amazonaws.ec2#Integer", + "CreateTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "aws.protocols#ec2QueryName": "FromPort", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

Not supported. Use a set of IP permissions to specify the port.

", - "smithy.api#xmlName": "fromPort" + "aws.protocols#ec2QueryName": "CreateTime", + "smithy.api#documentation": "

The date and time at which the Capacity Reservation Fleet was created.

", + "smithy.api#xmlName": "createTime" } }, - "IpProtocol": { - "target": "com.amazonaws.ec2#String", + "EndDate": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "aws.protocols#ec2QueryName": "IpProtocol", - "smithy.api#documentation": "

Not supported. Use a set of IP permissions to specify the protocol name or\n number.

", - "smithy.api#xmlName": "ipProtocol" + "aws.protocols#ec2QueryName": "EndDate", + "smithy.api#documentation": "

The date and time at which the Capacity Reservation Fleet expires.

", + "smithy.api#xmlName": "endDate" } }, - "ToPort": { - "target": "com.amazonaws.ec2#Integer", + "Tenancy": { + "target": "com.amazonaws.ec2#FleetCapacityReservationTenancy", "traits": { - "aws.protocols#ec2QueryName": "ToPort", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

Not supported. Use a set of IP permissions to specify the port.

", - "smithy.api#xmlName": "toPort" + "aws.protocols#ec2QueryName": "Tenancy", + "smithy.api#documentation": "

Indicates the tenancy of Capacity Reservation Fleet.

", + "smithy.api#xmlName": "tenancy" } }, - "SourceSecurityGroupName": { - "target": "com.amazonaws.ec2#String", + "FleetCapacityReservations": { + "target": "com.amazonaws.ec2#FleetCapacityReservationSet", "traits": { - "aws.protocols#ec2QueryName": "SourceSecurityGroupName", - "smithy.api#documentation": "

Not supported. Use a set of IP permissions to specify a\n destination security group.

", - "smithy.api#xmlName": "sourceSecurityGroupName" + "aws.protocols#ec2QueryName": "FleetCapacityReservationSet", + "smithy.api#documentation": "

Information about the individual Capacity Reservations in the Capacity Reservation Fleet.

", + "smithy.api#xmlName": "fleetCapacityReservationSet" } }, - "SourceSecurityGroupOwnerId": { - "target": "com.amazonaws.ec2#String", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "SourceSecurityGroupOwnerId", - "smithy.api#documentation": "

Not supported. Use a set of IP permissions to specify a\n destination security group.

", - "smithy.api#xmlName": "sourceSecurityGroupOwnerId" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags assigned to the Capacity Reservation Fleet.

", + "smithy.api#xmlName": "tagSet" } } } }, - "com.amazonaws.ec2#AuthorizeSecurityGroupEgressResult": { + "com.amazonaws.ec2#CreateCapacityReservationRequest": { "type": "structure", "members": { - "Return": { - "target": "com.amazonaws.ec2#Boolean", + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensure Idempotency.

" + } + }, + "InstanceType": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Return", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, returns an error.

", - "smithy.api#xmlName": "return" + "smithy.api#documentation": "

The instance type for which to reserve capacity. For more information, see Instance types in the Amazon EC2 User Guide.

", + "smithy.api#required": {} } }, - "SecurityGroupRules": { - "target": "com.amazonaws.ec2#SecurityGroupRuleList", + "InstancePlatform": { + "target": "com.amazonaws.ec2#CapacityReservationInstancePlatform", "traits": { - "aws.protocols#ec2QueryName": "SecurityGroupRuleSet", - "smithy.api#documentation": "

Information about the outbound (egress) security group rules that were added.

", - "smithy.api#xmlName": "securityGroupRuleSet" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The type of operating system for which to reserve capacity.

", + "smithy.api#required": {} } - } - } - }, - "com.amazonaws.ec2#AuthorizeSecurityGroupIngress": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#AuthorizeSecurityGroupIngressRequest" - }, - "output": { - "target": "com.amazonaws.ec2#AuthorizeSecurityGroupIngressResult" - }, - "traits": { - "smithy.api#documentation": "

Adds the specified inbound (ingress) rules to a security group.

\n

An inbound rule permits instances to receive traffic from the specified IPv4 or IPv6 CIDR\n address range, or from the instances that are associated with the specified destination security \n groups. When specifying an inbound rule for your security group in a VPC, the\n IpPermissions must include a source for the traffic.

\n

You specify a protocol for each rule (for example, TCP). \n For TCP and UDP, you must also specify the destination port or port range. \n For ICMP/ICMPv6, you must also specify the ICMP/ICMPv6 type and code. \n You can use -1 to mean all types or all codes.

\n

Rule changes are propagated to instances within the security group as quickly as possible. \n However, a small delay might occur.

\n

For more information about VPC security group quotas, see Amazon VPC quotas.

\n \n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" - } - }, - "com.amazonaws.ec2#AuthorizeSecurityGroupIngressRequest": { - "type": "structure", - "members": { - "CidrIp": { + }, + "AvailabilityZone": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The IPv4 address range, in CIDR format. You can't specify this parameter when specifying a source\n security group. To specify an IPv6 address range, use a set of IP permissions.

\n

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

" + "smithy.api#documentation": "

The Availability Zone in which to create the Capacity Reservation.

" } }, - "FromPort": { - "target": "com.amazonaws.ec2#Integer", + "AvailabilityZoneId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The start of port range for the TCP and UDP protocols, or an ICMP type number.\n\t\t\tFor the ICMP type number, use -1 to specify all types. If you\n\t\t\tspecify all ICMP types, you must specify all codes.

\n

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

" + "smithy.api#documentation": "

The ID of the Availability Zone in which to create the Capacity Reservation.

" } }, - "GroupId": { - "target": "com.amazonaws.ec2#SecurityGroupId", + "Tenancy": { + "target": "com.amazonaws.ec2#CapacityReservationTenancy", "traits": { - "smithy.api#documentation": "

The ID of the security group. You must specify either the security group ID or the\n\t\t\tsecurity group name in the request. For security groups in a nondefault VPC, you must\n\t\t\tspecify the security group ID.

" + "smithy.api#documentation": "

Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings:

\n
    \n
  • \n

    \n default - The Capacity Reservation is created on hardware that is shared with other Amazon Web Services accounts.

    \n
  • \n
  • \n

    \n dedicated - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single Amazon Web Services account.

    \n
  • \n
" } }, - "GroupName": { - "target": "com.amazonaws.ec2#SecurityGroupName", + "InstanceCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#documentation": "

[EC2-Classic, default VPC] The name of the security group. You must specify either the\n security group ID or the security group name in the request. For security groups in a\n nondefault VPC, you must specify the security group ID.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of instances for which to reserve capacity.

\n

Valid range: 1 - 1000

", + "smithy.api#required": {} } }, - "IpPermissions": { - "target": "com.amazonaws.ec2#IpPermissionList", + "EbsOptimized": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The sets of IP permissions.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the Capacity Reservation supports EBS-optimized instances. This optimization provides\n\t\t\tdedicated throughput to Amazon EBS and an optimized configuration stack to provide\n\t\t\toptimal I/O performance. This optimization isn't available with all instance types.\n\t\t\tAdditional usage charges apply when using an EBS- optimized instance.

" } }, - "IpProtocol": { - "target": "com.amazonaws.ec2#String", + "EphemeralStorage": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

\n Deprecated.\n

" + } + }, + "EndDate": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "smithy.api#documentation": "

The IP protocol name (tcp, udp, icmp) or number\n (see Protocol Numbers). To specify icmpv6, use a set of IP permissions.

\n

[VPC only] Use -1 to specify all protocols. If you specify -1 or a \n protocol other than tcp, udp, or icmp, traffic on all ports \n is allowed, regardless of any ports you specify.

\n

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

" + "smithy.api#documentation": "

The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity\n\t\t\tis released and you can no longer launch instances into it. The Capacity Reservation's state changes to\n\t\t\t\texpired when it reaches its end date and time.

\n

You must provide an EndDate value if EndDateType is\n\t\t\t\tlimited. Omit EndDate if EndDateType is\n\t\t\t\tunlimited.

\n

If the EndDateType is limited, the Capacity Reservation is cancelled within an hour from the specified time. For example, if you specify \n\t\t\t5/31/2019, 13:30:55, the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.

" } }, - "SourceSecurityGroupName": { - "target": "com.amazonaws.ec2#String", + "EndDateType": { + "target": "com.amazonaws.ec2#EndDateType", "traits": { - "smithy.api#documentation": "

[EC2-Classic, default VPC] The name of the source security group. You can't specify this parameter \n in combination with the following parameters: the CIDR IP address range, the start of the port range, \n the IP protocol, and the end of the port range. Creates rules that grant full ICMP, UDP, and TCP access. \n To create a rule with a specific IP protocol and port range, use a set of IP permissions instead. For \n EC2-VPC, the source security group must be in the same VPC.

" + "smithy.api#documentation": "

Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end\n\t\t\ttypes:

\n
    \n
  • \n

    \n unlimited - The Capacity Reservation remains active until you explicitly cancel it. Do not\n\t\t\t\t\tprovide an EndDate if the EndDateType is\n\t\t\t\t\t\tunlimited.

    \n
  • \n
  • \n

    \n limited - The Capacity Reservation expires automatically at a specified date and time. You must\n\t\t\t\t\tprovide an EndDate value if the EndDateType value is\n\t\t\t\t\t\tlimited.

    \n
  • \n
" } }, - "SourceSecurityGroupOwnerId": { - "target": "com.amazonaws.ec2#String", + "InstanceMatchCriteria": { + "target": "com.amazonaws.ec2#InstanceMatchCriteria", "traits": { - "smithy.api#documentation": "

[nondefault VPC] The Amazon Web Services account ID for the source security group, if the source security group is \n in a different account. You can't specify this parameter in combination with the following parameters: \n the CIDR IP address range, the IP protocol, the start of the port range, and the end of the port range. \n Creates rules that grant full ICMP, UDP, and TCP access. To create a rule with a specific IP protocol \n and port range, use a set of IP permissions instead.

" + "smithy.api#documentation": "

Indicates the type of instance launches that the Capacity Reservation accepts. The options\n\t\t\tinclude:

\n
    \n
  • \n

    \n open - The Capacity Reservation automatically matches all instances that have matching attributes (instance type, platform, \n\t\t\t\tand Availability Zone). Instances that have matching attributes run in the Capacity Reservation automatically without specifying \n\t\t\t\tany additional parameters.

    \n
  • \n
  • \n

    \n targeted - The Capacity Reservation only accepts instances that have matching attributes\n\t\t\t\t\t(instance type, platform, and Availability Zone), and explicitly target the\n\t\t\t\t\tCapacity Reservation. This ensures that only permitted instances can use the reserved capacity.

    \n
  • \n
\n

Default: open\n

" } }, - "ToPort": { - "target": "com.amazonaws.ec2#Integer", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The end of port range for the TCP and UDP protocols, or an ICMP code number.\n\t\t\tFor the ICMP code number, use -1 to specify all codes. If you\n\t\t\tspecify all ICMP types, you must specify all codes.

\n

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

" + "smithy.api#documentation": "

The tags to apply to the Capacity Reservation during launch.

" } }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + "OutpostArn": { + "target": "com.amazonaws.ec2#OutpostArn", "traits": { - "smithy.api#documentation": "

[VPC Only] The tags applied to the security group rule.

", - "smithy.api#xmlName": "TagSpecification" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Outpost on which to create the Capacity Reservation.

" + } + }, + "PlacementGroupArn": { + "target": "com.amazonaws.ec2#PlacementGroupArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the cluster placement group in which \n\t\t\tto create the Capacity Reservation. For more information, see \n\t\t\t\n\t\t\t\tCapacity Reservations for cluster placement groups in the \n\t\t\tAmazon EC2 User Guide.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#AuthorizeSecurityGroupIngressResult": { + "com.amazonaws.ec2#CreateCapacityReservationResult": { "type": "structure", "members": { - "Return": { + "CapacityReservation": { + "target": "com.amazonaws.ec2#CapacityReservation", + "traits": { + "aws.protocols#ec2QueryName": "CapacityReservation", + "smithy.api#documentation": "

Information about the Capacity Reservation.

", + "smithy.api#xmlName": "capacityReservation" + } + } + } + }, + "com.amazonaws.ec2#CreateCarrierGateway": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateCarrierGatewayRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateCarrierGatewayResult" + }, + "traits": { + "smithy.api#documentation": "

Creates a carrier gateway. For more information about carrier gateways, see Carrier gateways in the Amazon Web Services Wavelength Developer Guide.

" + } + }, + "com.amazonaws.ec2#CreateCarrierGatewayRequest": { + "type": "structure", + "members": { + "VpcId": { + "target": "com.amazonaws.ec2#VpcId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the VPC to associate with the carrier gateway.

", + "smithy.api#required": {} + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

The tags to associate with the carrier gateway.

", + "smithy.api#xmlName": "TagSpecification" + } + }, + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Return", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, returns an error.

", - "smithy.api#xmlName": "return" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "SecurityGroupRules": { - "target": "com.amazonaws.ec2#SecurityGroupRuleList", + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SecurityGroupRuleSet", - "smithy.api#documentation": "

Information about the inbound (ingress) security group rules that were added.

", - "smithy.api#xmlName": "securityGroupRuleSet" + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. For more information, see How to ensure\n idempotency.

", + "smithy.api#idempotencyToken": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#AutoAcceptSharedAssociationsValue": { - "type": "enum", + "com.amazonaws.ec2#CreateCarrierGatewayResult": { + "type": "structure", "members": { - "enable": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "enable" - } - }, - "disable": { - "target": "smithy.api#Unit", + "CarrierGateway": { + "target": "com.amazonaws.ec2#CarrierGateway", "traits": { - "smithy.api#enumValue": "disable" + "aws.protocols#ec2QueryName": "CarrierGateway", + "smithy.api#documentation": "

Information about the carrier gateway.

", + "smithy.api#xmlName": "carrierGateway" } } } }, - "com.amazonaws.ec2#AutoAcceptSharedAttachmentsValue": { - "type": "enum", + "com.amazonaws.ec2#CreateClientVpnEndpoint": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateClientVpnEndpointRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateClientVpnEndpointResult" + }, + "traits": { + "smithy.api#documentation": "

Creates a Client VPN endpoint. A Client VPN endpoint is the resource you create and configure to \n\t\t\tenable and manage client VPN sessions. It is the destination endpoint at which all client VPN sessions \n\t\t\tare terminated.

" + } + }, + "com.amazonaws.ec2#CreateClientVpnEndpointRequest": { + "type": "structure", "members": { - "enable": { - "target": "smithy.api#Unit", + "ClientCidrBlock": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The IPv4 address range, in CIDR notation, from which to assign client IP addresses. The address range cannot overlap with the local CIDR of the VPC in which the associated subnet is located, or the routes that you add manually. The address range cannot be changed after the Client VPN endpoint has been created. Client CIDR range must have a size of at least /22 and must not be greater than /12.

", + "smithy.api#required": {} + } + }, + "ServerCertificateArn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ARN of the server certificate. For more information, see \n\t\t\tthe Certificate Manager User Guide.

", + "smithy.api#required": {} + } + }, + "AuthenticationOptions": { + "target": "com.amazonaws.ec2#ClientVpnAuthenticationRequestList", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

Information about the authentication method to be used to authenticate clients.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "Authentication" + } + }, + "ConnectionLogOptions": { + "target": "com.amazonaws.ec2#ConnectionLogOptions", "traits": { - "smithy.api#enumValue": "enable" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

Information about the client connection logging options.

\n

If you enable client connection logging, data about client connections is sent to a\n\t\t\tCloudwatch Logs log stream. The following information is logged:

\n
    \n
  • \n

    Client connection requests

    \n
  • \n
  • \n

    Client connection results (successful and unsuccessful)

    \n
  • \n
  • \n

    Reasons for unsuccessful client connection requests

    \n
  • \n
  • \n

    Client connection termination time

    \n
  • \n
", + "smithy.api#required": {} } }, - "disable": { - "target": "smithy.api#Unit", + "DnsServers": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "smithy.api#enumValue": "disable" + "smithy.api#documentation": "

Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can\n\t\t\thave up to two DNS servers. If no DNS server is specified, the DNS address configured on the device is used for the DNS server.

" } - } - } - }, - "com.amazonaws.ec2#AutoPlacement": { - "type": "enum", - "members": { - "on": { - "target": "smithy.api#Unit", + }, + "TransportProtocol": { + "target": "com.amazonaws.ec2#TransportProtocol", "traits": { - "smithy.api#enumValue": "on" + "smithy.api#documentation": "

The transport protocol to be used by the VPN session.

\n

Default value: udp\n

" } }, - "off": { - "target": "smithy.api#Unit", + "VpnPort": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "off" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The port number to assign to the Client VPN endpoint for TCP and UDP traffic.

\n

Valid Values: 443 | 1194\n

\n

Default Value: 443\n

" } - } - } - }, - "com.amazonaws.ec2#AutoRecoveryFlag": { - "type": "boolean" - }, - "com.amazonaws.ec2#AvailabilityZone": { - "type": "structure", - "members": { - "State": { - "target": "com.amazonaws.ec2#AvailabilityZoneState", + }, + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ZoneState", - "smithy.api#documentation": "

The state of the Availability Zone, Local Zone, or Wavelength Zone. This value is always\n available.

", - "smithy.api#xmlName": "zoneState" + "smithy.api#documentation": "

A brief description of the Client VPN endpoint.

" } }, - "OptInStatus": { - "target": "com.amazonaws.ec2#AvailabilityZoneOptInStatus", + "SplitTunnel": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "OptInStatus", - "smithy.api#documentation": "

For Availability Zones, this parameter always has the value of\n opt-in-not-required.

\n

For Local Zones and Wavelength Zones, this parameter is the opt-in status. The possible\n values are opted-in, and not-opted-in.

", - "smithy.api#xmlName": "optInStatus" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether split-tunnel is enabled on the Client VPN endpoint.

\n

By default, split-tunnel on a VPN endpoint is disabled.

\n

For information about split-tunnel VPN endpoints, see Split-tunnel Client VPN endpoint in the \n\t\t\tClient VPN Administrator Guide.

" } }, - "Messages": { - "target": "com.amazonaws.ec2#AvailabilityZoneMessageList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "MessageSet", - "smithy.api#documentation": "

Any messages about the Availability Zone, Local Zone, or Wavelength Zone.

", - "smithy.api#xmlName": "messageSet" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } }, - "RegionName": { + "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "RegionName", - "smithy.api#documentation": "

The name of the Region.

", - "smithy.api#xmlName": "regionName" + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

", + "smithy.api#idempotencyToken": {} } }, - "ZoneName": { - "target": "com.amazonaws.ec2#String", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "ZoneName", - "smithy.api#documentation": "

The name of the Availability Zone, Local Zone, or Wavelength Zone.

", - "smithy.api#xmlName": "zoneName" + "smithy.api#documentation": "

The tags to apply to the Client VPN endpoint during creation.

", + "smithy.api#xmlName": "TagSpecification" } }, - "ZoneId": { - "target": "com.amazonaws.ec2#String", + "SecurityGroupIds": { + "target": "com.amazonaws.ec2#ClientVpnSecurityGroupIdSet", "traits": { - "aws.protocols#ec2QueryName": "ZoneId", - "smithy.api#documentation": "

The ID of the Availability Zone, Local Zone, or Wavelength Zone.

", - "smithy.api#xmlName": "zoneId" + "smithy.api#documentation": "

The IDs of one or more security groups to apply to the target network. You must also specify the ID of the VPC that contains the security groups.

", + "smithy.api#xmlName": "SecurityGroupId" } }, - "GroupName": { - "target": "com.amazonaws.ec2#String", + "VpcId": { + "target": "com.amazonaws.ec2#VpcId", "traits": { - "aws.protocols#ec2QueryName": "GroupName", - "smithy.api#documentation": "

For Availability Zones, this parameter has the same value as the Region name.

\n

For Local Zones, the name of the associated group, for example\n us-west-2-lax-1.

\n

For Wavelength Zones, the name of the associated group, for example\n us-east-1-wl1-bos-wlz-1.

", - "smithy.api#xmlName": "groupName" + "smithy.api#documentation": "

The ID of the VPC to associate with the Client VPN endpoint. If no security group IDs are specified in the request, the default security group for the VPC is applied.

" } }, - "NetworkBorderGroup": { - "target": "com.amazonaws.ec2#String", + "SelfServicePortal": { + "target": "com.amazonaws.ec2#SelfServicePortal", "traits": { - "aws.protocols#ec2QueryName": "NetworkBorderGroup", - "smithy.api#documentation": "

The name of the network border group.

", - "smithy.api#xmlName": "networkBorderGroup" + "smithy.api#documentation": "

Specify whether to enable the self-service portal for the Client VPN endpoint.

\n

Default Value: enabled\n

" } }, - "ZoneType": { - "target": "com.amazonaws.ec2#String", + "ClientConnectOptions": { + "target": "com.amazonaws.ec2#ClientConnectOptions", "traits": { - "aws.protocols#ec2QueryName": "ZoneType", - "smithy.api#documentation": "

The type of zone. The valid values are availability-zone,\n local-zone, and wavelength-zone.

", - "smithy.api#xmlName": "zoneType" + "smithy.api#documentation": "

The options for managing connection authorization for new client connections.

" } }, - "ParentZoneName": { - "target": "com.amazonaws.ec2#String", + "SessionTimeoutHours": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "ParentZoneName", - "smithy.api#documentation": "

The name of the zone that handles some of the Local Zone or Wavelength Zone control plane\n operations, such as API calls.

", - "smithy.api#xmlName": "parentZoneName" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum VPN session duration time in hours.

\n

Valid values: 8 | 10 | 12 | 24\n

\n

Default value: 24\n

" } }, - "ParentZoneId": { - "target": "com.amazonaws.ec2#String", + "ClientLoginBannerOptions": { + "target": "com.amazonaws.ec2#ClientLoginBannerOptions", "traits": { - "aws.protocols#ec2QueryName": "ParentZoneId", - "smithy.api#documentation": "

The ID of the zone that handles some of the Local Zone or Wavelength Zone control plane\n operations, such as API calls.

", - "smithy.api#xmlName": "parentZoneId" + "smithy.api#documentation": "

Options for enabling a customizable text banner that will be displayed on\n\t\t\tAmazon Web Services provided clients when a VPN session is established.

" } } }, "traits": { - "smithy.api#documentation": "

Describes Availability Zones, Local Zones, and Wavelength Zones.

" - } - }, - "com.amazonaws.ec2#AvailabilityZoneList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#AvailabilityZone", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#input": {} } }, - "com.amazonaws.ec2#AvailabilityZoneMessage": { + "com.amazonaws.ec2#CreateClientVpnEndpointResult": { "type": "structure", "members": { - "Message": { + "ClientVpnEndpointId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Message", - "smithy.api#documentation": "

The message about the Availability Zone, Local Zone, or Wavelength Zone.

", - "smithy.api#xmlName": "message" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a message about an Availability Zone, Local Zone, or Wavelength Zone.

" - } - }, - "com.amazonaws.ec2#AvailabilityZoneMessageList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#AvailabilityZoneMessage", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#AvailabilityZoneOptInStatus": { - "type": "enum", - "members": { - "opt_in_not_required": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "opt-in-not-required" + "aws.protocols#ec2QueryName": "ClientVpnEndpointId", + "smithy.api#documentation": "

The ID of the Client VPN endpoint.

", + "smithy.api#xmlName": "clientVpnEndpointId" } }, - "opted_in": { - "target": "smithy.api#Unit", + "Status": { + "target": "com.amazonaws.ec2#ClientVpnEndpointStatus", "traits": { - "smithy.api#enumValue": "opted-in" + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The current state of the Client VPN endpoint.

", + "smithy.api#xmlName": "status" } }, - "not_opted_in": { - "target": "smithy.api#Unit", + "DnsName": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "not-opted-in" + "aws.protocols#ec2QueryName": "DnsName", + "smithy.api#documentation": "

The DNS name to be used by clients when establishing their VPN session.

", + "smithy.api#xmlName": "dnsName" } } } }, - "com.amazonaws.ec2#AvailabilityZoneState": { - "type": "enum", + "com.amazonaws.ec2#CreateClientVpnRoute": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateClientVpnRouteRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateClientVpnRouteResult" + }, + "traits": { + "smithy.api#documentation": "

Adds a route to a network to a Client VPN endpoint. Each Client VPN endpoint has a route table that describes the \n\t\t\tavailable destination network routes. Each route in the route table specifies the path for traffic to specific resources or networks.

" + } + }, + "com.amazonaws.ec2#CreateClientVpnRouteRequest": { + "type": "structure", "members": { - "available": { - "target": "smithy.api#Unit", + "ClientVpnEndpointId": { + "target": "com.amazonaws.ec2#ClientVpnEndpointId", "traits": { - "smithy.api#enumValue": "available" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Client VPN endpoint to which to add the route.

", + "smithy.api#required": {} } }, - "information": { - "target": "smithy.api#Unit", + "DestinationCidrBlock": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "information" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The IPv4 address range, in CIDR notation, of the route destination. For example:

\n
    \n
  • \n

    To add a route for Internet access, enter 0.0.0.0/0\n

    \n
  • \n
  • \n

    To add a route for a peered VPC, enter the peered VPC's IPv4 CIDR range

    \n
  • \n
  • \n

    To add a route for an on-premises network, enter the Amazon Web Services Site-to-Site VPN connection's IPv4 CIDR range

    \n
  • \n
  • \n

    To add a route for the local network, enter the client CIDR range

    \n
  • \n
", + "smithy.api#required": {} } }, - "impaired": { - "target": "smithy.api#Unit", + "TargetVpcSubnetId": { + "target": "com.amazonaws.ec2#SubnetId", "traits": { - "smithy.api#enumValue": "impaired" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the subnet through which you want to route traffic. The specified subnet must be\n\t\t\tan existing target network of the Client VPN endpoint.

\n

Alternatively, if you're adding a route for the local network, specify local.

", + "smithy.api#required": {} } }, - "unavailable": { - "target": "smithy.api#Unit", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "unavailable" + "smithy.api#documentation": "

A brief description of the route.

" } - } - } - }, - "com.amazonaws.ec2#AvailabilityZoneStringList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#xmlName": "AvailabilityZone" - } - } - }, - "com.amazonaws.ec2#AvailableCapacity": { - "type": "structure", - "members": { - "AvailableInstanceCapacity": { - "target": "com.amazonaws.ec2#AvailableInstanceCapacityList", + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AvailableInstanceCapacity", - "smithy.api#documentation": "

The number of instances that can be launched onto the Dedicated Host depending on the\n host's available capacity. For Dedicated Hosts that support multiple instance types,\n this parameter represents the number of instances for each instance size that is\n supported on the host.

", - "smithy.api#xmlName": "availableInstanceCapacity" + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

", + "smithy.api#idempotencyToken": {} } }, - "AvailableVCpus": { - "target": "com.amazonaws.ec2#Integer", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "AvailableVCpus", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of vCPUs available for launching instances onto the Dedicated Host.

", - "smithy.api#xmlName": "availableVCpus" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

The capacity information for instances that can be launched onto the Dedicated Host.\n

" - } - }, - "com.amazonaws.ec2#AvailableInstanceCapacityList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#InstanceCapacity", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#input": {} } }, - "com.amazonaws.ec2#BareMetal": { - "type": "enum", + "com.amazonaws.ec2#CreateClientVpnRouteResult": { + "type": "structure", "members": { - "INCLUDED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "included" - } - }, - "REQUIRED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "required" - } - }, - "EXCLUDED": { - "target": "smithy.api#Unit", + "Status": { + "target": "com.amazonaws.ec2#ClientVpnRouteStatus", "traits": { - "smithy.api#enumValue": "excluded" + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The current state of the route.

", + "smithy.api#xmlName": "status" } } } }, - "com.amazonaws.ec2#BareMetalFlag": { - "type": "boolean" - }, - "com.amazonaws.ec2#BaselineBandwidthInMbps": { - "type": "integer" + "com.amazonaws.ec2#CreateCoipCidr": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateCoipCidrRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateCoipCidrResult" + }, + "traits": { + "smithy.api#documentation": "

\n Creates a range of customer-owned IP addresses.\n

" + } }, - "com.amazonaws.ec2#BaselineEbsBandwidthMbps": { + "com.amazonaws.ec2#CreateCoipCidrRequest": { "type": "structure", "members": { - "Min": { - "target": "com.amazonaws.ec2#Integer", + "Cidr": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Min", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The minimum baseline bandwidth, in Mbps. If this parameter is not specified, there is no\n minimum limit.

", - "smithy.api#xmlName": "min" + "smithy.api#documentation": "

\n A customer-owned IP address range to create.\n

", + "smithy.api#required": {} } }, - "Max": { - "target": "com.amazonaws.ec2#Integer", + "CoipPoolId": { + "target": "com.amazonaws.ec2#Ipv4PoolCoipId", "traits": { - "aws.protocols#ec2QueryName": "Max", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum baseline bandwidth, in Mbps. If this parameter is not specified, there is no\n maximum limit.

", - "smithy.api#xmlName": "max" + "smithy.api#documentation": "

\n The ID of the address pool.\n

", + "smithy.api#required": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see\n Amazon\n EBS–optimized instances in the Amazon EC2 User Guide.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#BaselineEbsBandwidthMbpsRequest": { + "com.amazonaws.ec2#CreateCoipCidrResult": { "type": "structure", "members": { - "Min": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit\n this parameter.

" - } - }, - "Max": { - "target": "com.amazonaws.ec2#Integer", + "CoipCidr": { + "target": "com.amazonaws.ec2#CoipCidr", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit\n this parameter.

" + "aws.protocols#ec2QueryName": "CoipCidr", + "smithy.api#documentation": "

\n Information about a range of customer-owned IP addresses.\n

", + "smithy.api#xmlName": "coipCidr" } } + } + }, + "com.amazonaws.ec2#CreateCoipPool": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateCoipPoolRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateCoipPoolResult" }, "traits": { - "smithy.api#documentation": "

The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see\n Amazon\n EBS–optimized instances in the Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Creates a pool of customer-owned IP (CoIP) addresses.

" } }, - "com.amazonaws.ec2#BaselineIops": { - "type": "integer" - }, - "com.amazonaws.ec2#BaselineThroughputInMBps": { - "type": "double" - }, - "com.amazonaws.ec2#BatchState": { - "type": "enum", + "com.amazonaws.ec2#CreateCoipPoolRequest": { + "type": "structure", "members": { - "SUBMITTED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "submitted" - } - }, - "ACTIVE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "active" - } - }, - "CANCELLED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "cancelled" - } - }, - "FAILED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "failed" - } - }, - "CANCELLED_RUNNING": { - "target": "smithy.api#Unit", + "LocalGatewayRouteTableId": { + "target": "com.amazonaws.ec2#LocalGatewayRoutetableId", "traits": { - "smithy.api#enumValue": "cancelled_running" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

\n The ID of the local gateway route table.\n

", + "smithy.api#required": {} } }, - "CANCELLED_TERMINATING_INSTANCES": { - "target": "smithy.api#Unit", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#enumValue": "cancelled_terminating" + "smithy.api#documentation": "

\n The tags to assign to the CoIP address pool.\n

", + "smithy.api#xmlName": "TagSpecification" } }, - "MODIFYING": { - "target": "smithy.api#Unit", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "modifying" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#BgpStatus": { - "type": "enum", + "com.amazonaws.ec2#CreateCoipPoolResult": { + "type": "structure", "members": { - "up": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "up" - } - }, - "down": { - "target": "smithy.api#Unit", + "CoipPool": { + "target": "com.amazonaws.ec2#CoipPool", "traits": { - "smithy.api#enumValue": "down" + "aws.protocols#ec2QueryName": "CoipPool", + "smithy.api#documentation": "

Information about the CoIP address pool.

", + "smithy.api#xmlName": "coipPool" } } } }, - "com.amazonaws.ec2#BillingProductList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#xmlName": "item" - } + "com.amazonaws.ec2#CreateCustomerGateway": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateCustomerGatewayRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateCustomerGatewayResult" + }, + "traits": { + "smithy.api#documentation": "

Provides information to Amazon Web Services about your customer gateway device. The\n customer gateway device is the appliance at your end of the VPN connection. You\n must provide the IP address of the customer gateway device’s external\n interface. The IP address must be static and can be behind a device performing network\n address translation (NAT).

\n

For devices that use Border Gateway Protocol (BGP), you can also provide the device's\n BGP Autonomous System Number (ASN). You can use an existing ASN assigned to your network.\n If you don't have an ASN already, you can use a private ASN. For more information, see \n Customer gateway \n options for your Site-to-Site VPN connection in the Amazon Web Services Site-to-Site VPN User Guide.

\n

To create more than one customer gateway with the same VPN type, IP address, and\n BGP ASN, specify a unique device name for each customer gateway. An identical request\n returns information about the existing customer gateway; it doesn't create a new customer\n gateway.

" } }, - "com.amazonaws.ec2#Blob": { - "type": "blob" - }, - "com.amazonaws.ec2#BlobAttributeValue": { + "com.amazonaws.ec2#CreateCustomerGatewayRequest": { "type": "structure", "members": { - "Value": { - "target": "com.amazonaws.ec2#Blob", + "BgpAsn": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "Value", - "smithy.api#xmlName": "value" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

For devices that support BGP, the customer gateway's BGP ASN.

\n

Default: 65000

", + "smithy.api#required": {} } - } - } - }, - "com.amazonaws.ec2#BlockDeviceMapping": { - "type": "structure", - "members": { - "DeviceName": { + }, + "PublicIp": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

\n This member has been deprecated. The Internet-routable IP address for the customer gateway's outside interface. The\n address must be static.

" + } + }, + "CertificateArn": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DeviceName", - "smithy.api#documentation": "

The device name (for example, /dev/sdh or xvdh).

", - "smithy.api#xmlName": "deviceName" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the customer gateway certificate.

" + } + }, + "Type": { + "target": "com.amazonaws.ec2#GatewayType", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The type of VPN connection that this customer gateway supports\n (ipsec.1).

", + "smithy.api#required": {} + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

The tags to apply to the customer gateway.

", + "smithy.api#xmlName": "TagSpecification" } }, - "VirtualName": { + "DeviceName": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "VirtualName", - "smithy.api#documentation": "

The virtual device name (ephemeralN). Instance store volumes are numbered\n starting from 0. An instance type with 2 available instance store volumes can specify\n mappings for ephemeral0 and ephemeral1. The number of\n available instance store volumes depends on the instance type. After you connect to the\n instance, you must mount the volume.

\n

NVMe instance store volumes are automatically enumerated and assigned a device name.\n Including them in your block device mapping has no effect.

\n

Constraints: For M3 instances, you must specify instance store volumes in the block\n device mapping for the instance. When you launch an M3 instance, we ignore any instance\n store volumes specified in the block device mapping for the AMI.

", - "smithy.api#xmlName": "virtualName" + "smithy.api#documentation": "

A name for the customer gateway device.

\n

Length Constraints: Up to 255 characters.

" } }, - "Ebs": { - "target": "com.amazonaws.ec2#EbsBlockDevice", + "IpAddress": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Ebs", - "smithy.api#documentation": "

Parameters used to automatically set up EBS volumes when the instance is\n launched.

", - "smithy.api#xmlName": "ebs" + "smithy.api#documentation": "

\n IPv4 address for the customer gateway device's outside interface. The address must be static.\n

" } }, - "NoDevice": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "NoDevice", - "smithy.api#documentation": "

To omit the device from the block device mapping, specify an empty string. When this\n property is specified, the device is removed from the block device mapping regardless of\n the assigned value.

", - "smithy.api#xmlName": "noDevice" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } } }, "traits": { - "smithy.api#documentation": "

Describes a block device mapping, which defines the EBS volumes and instance store\n volumes to attach to an instance at launch.

" - } - }, - "com.amazonaws.ec2#BlockDeviceMappingList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#BlockDeviceMapping", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

Contains the parameters for CreateCustomerGateway.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#BlockDeviceMappingRequestList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#BlockDeviceMapping", - "traits": { - "smithy.api#xmlName": "BlockDeviceMapping" + "com.amazonaws.ec2#CreateCustomerGatewayResult": { + "type": "structure", + "members": { + "CustomerGateway": { + "target": "com.amazonaws.ec2#CustomerGateway", + "traits": { + "aws.protocols#ec2QueryName": "CustomerGateway", + "smithy.api#documentation": "

Information about the customer gateway.

", + "smithy.api#xmlName": "customerGateway" + } } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of CreateCustomerGateway.

" } }, - "com.amazonaws.ec2#Boolean": { - "type": "boolean", + "com.amazonaws.ec2#CreateDefaultSubnet": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateDefaultSubnetRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateDefaultSubnetResult" + }, "traits": { - "smithy.api#default": false + "smithy.api#documentation": "

Creates a default subnet with a size /20 IPv4 CIDR block in the\n specified Availability Zone in your default VPC. You can have only one default subnet\n per Availability Zone. For more information, see Creating a default\n subnet in the Amazon Virtual Private Cloud User Guide.

" } }, - "com.amazonaws.ec2#BootModeType": { - "type": "enum", + "com.amazonaws.ec2#CreateDefaultSubnetRequest": { + "type": "structure", "members": { - "legacy_bios": { - "target": "smithy.api#Unit", + "AvailabilityZone": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "legacy-bios" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Availability Zone in which to create the default subnet.

", + "smithy.api#required": {} } }, - "uefi": { - "target": "smithy.api#Unit", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "uefi" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "Ipv6Native": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to create an IPv6 only subnet. If you already have a default subnet\n for this Availability Zone, you must delete it before you can create an IPv6 only subnet.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#BootModeTypeList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#BootModeType", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#CreateDefaultSubnetResult": { + "type": "structure", + "members": { + "Subnet": { + "target": "com.amazonaws.ec2#Subnet", + "traits": { + "aws.protocols#ec2QueryName": "Subnet", + "smithy.api#documentation": "

Information about the subnet.

", + "smithy.api#xmlName": "subnet" + } } } }, - "com.amazonaws.ec2#BootModeValues": { - "type": "enum", + "com.amazonaws.ec2#CreateDefaultVpc": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateDefaultVpcRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateDefaultVpcResult" + }, + "traits": { + "smithy.api#documentation": "

Creates a default VPC with a size /16 IPv4 CIDR block and a default subnet\n\t\t\tin each Availability Zone. For more information about the components of a default VPC,\n\t\t\tsee Default VPC and\n\t\t\tdefault subnets in the Amazon Virtual Private Cloud User Guide. You cannot\n\t\t\tspecify the components of the default VPC yourself.

\n

If you deleted your previous default VPC, you can create a default VPC. You cannot have\n\t\t\tmore than one default VPC per Region.

\n

If your account supports EC2-Classic, you cannot use this action to create a default VPC\n\t\t\tin a Region that supports EC2-Classic. If you want a default VPC in a Region that\n\t\t\tsupports EC2-Classic, see \"I really want a default VPC for my existing EC2 account. Is\n\t\t\tthat possible?\" in the Default VPCs\n\t\t\tFAQ.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" + } + }, + "com.amazonaws.ec2#CreateDefaultVpcRequest": { + "type": "structure", "members": { - "legacy_bios": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "legacy-bios" - } - }, - "uefi": { - "target": "smithy.api#Unit", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "uefi" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#BoxedDouble": { - "type": "double" - }, - "com.amazonaws.ec2#BundleId": { - "type": "string" - }, - "com.amazonaws.ec2#BundleIdStringList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#BundleId", - "traits": { - "smithy.api#xmlName": "BundleId" + "com.amazonaws.ec2#CreateDefaultVpcResult": { + "type": "structure", + "members": { + "Vpc": { + "target": "com.amazonaws.ec2#Vpc", + "traits": { + "aws.protocols#ec2QueryName": "Vpc", + "smithy.api#documentation": "

Information about the VPC.

", + "smithy.api#xmlName": "vpc" + } } } }, - "com.amazonaws.ec2#BundleInstance": { + "com.amazonaws.ec2#CreateDhcpOptions": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#BundleInstanceRequest" + "target": "com.amazonaws.ec2#CreateDhcpOptionsRequest" }, "output": { - "target": "com.amazonaws.ec2#BundleInstanceResult" + "target": "com.amazonaws.ec2#CreateDhcpOptionsResult" }, "traits": { - "smithy.api#documentation": "

Bundles an Amazon instance store-backed Windows instance.

\n

During bundling, only the root device volume (C:\\) is bundled. Data on other instance store volumes is not preserved.

\n \n

This action is not applicable for Linux/Unix instances or Windows instances that are backed by Amazon EBS.

\n\t\t\t
" + "smithy.api#documentation": "

Creates a set of DHCP options for your VPC. After creating the set, you must\n\t\t\t\tassociate it with the VPC, causing all existing and new instances that you launch in\n\t\t\t\tthe VPC to use this set of DHCP options. The following are the individual DHCP\n\t\t\t\toptions you can specify. For more information about the options, see RFC 2132.

\n
    \n
  • \n

    \n domain-name-servers - The IP addresses of up to four domain name\n servers, or AmazonProvidedDNS. The default DHCP option set specifies\n AmazonProvidedDNS. If specifying more than one domain name server, specify the\n IP addresses in a single parameter, separated by commas. To have your instance\n receive a custom DNS hostname as specified in domain-name, you must\n set domain-name-servers to a custom DNS server.

    \n
  • \n
  • \n

    \n domain-name - If you're using AmazonProvidedDNS in\n us-east-1, specify ec2.internal. If you're using\n AmazonProvidedDNS in another Region, specify\n region.compute.internal (for example,\n ap-northeast-1.compute.internal). Otherwise, specify a domain\n name (for example, ExampleCompany.com). This value is used to complete\n unqualified DNS hostnames. Important: Some\n Linux operating systems accept multiple domain names separated by spaces.\n However, Windows and other Linux operating systems treat the value as a single\n domain, which results in unexpected behavior. If your DHCP options set is\n associated with a VPC that has instances with multiple operating systems,\n specify only one domain name.

    \n
  • \n
  • \n

    \n ntp-servers - The IP addresses of up to four Network Time Protocol (NTP)\n servers.

    \n
  • \n
  • \n

    \n netbios-name-servers - The IP addresses of up to four NetBIOS name\n servers.

    \n
  • \n
  • \n

    \n netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend that\n you specify 2 (broadcast and multicast are not currently supported). For more information\n about these node types, see RFC 2132.

    \n
  • \n
\n

Your VPC automatically starts out with a set of DHCP options that includes only a DNS\n\t\t\tserver that we provide (AmazonProvidedDNS). If you create a set of options, and if your\n\t\t\tVPC has an internet gateway, make sure to set the domain-name-servers\n\t\t\toption either to AmazonProvidedDNS or to a domain name server of your\n\t\t\tchoice. For more information, see DHCP options sets in the\n\t\t\tAmazon Virtual Private Cloud User Guide.

" } }, - "com.amazonaws.ec2#BundleInstanceRequest": { + "com.amazonaws.ec2#CreateDhcpOptionsRequest": { "type": "structure", "members": { - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", + "DhcpConfigurations": { + "target": "com.amazonaws.ec2#NewDhcpConfigurationList", "traits": { + "aws.protocols#ec2QueryName": "DhcpConfiguration", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the instance to bundle.

\n

Type: String

\n

Default: None

\n

Required: Yes

", - "smithy.api#required": {} + "smithy.api#documentation": "

A DHCP configuration option.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "dhcpConfiguration" } }, - "Storage": { - "target": "com.amazonaws.ec2#Storage", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The bucket in which to store the AMI. You can specify a bucket that you already own or a new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone else, Amazon EC2 returns an error.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The tags to assign to the DHCP option.

", + "smithy.api#xmlName": "TagSpecification" } }, "DryRun": { @@ -9098,449 +13570,361 @@ "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", "smithy.api#xmlName": "dryRun" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for BundleInstance.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#BundleInstanceResult": { + "com.amazonaws.ec2#CreateDhcpOptionsResult": { "type": "structure", "members": { - "BundleTask": { - "target": "com.amazonaws.ec2#BundleTask", + "DhcpOptions": { + "target": "com.amazonaws.ec2#DhcpOptions", "traits": { - "aws.protocols#ec2QueryName": "BundleInstanceTask", - "smithy.api#documentation": "

Information about the bundle task.

", - "smithy.api#xmlName": "bundleInstanceTask" + "aws.protocols#ec2QueryName": "DhcpOptions", + "smithy.api#documentation": "

A set of DHCP options.

", + "smithy.api#xmlName": "dhcpOptions" } } + } + }, + "com.amazonaws.ec2#CreateEgressOnlyInternetGateway": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateEgressOnlyInternetGatewayRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateEgressOnlyInternetGatewayResult" }, "traits": { - "smithy.api#documentation": "

Contains the output of BundleInstance.

" + "smithy.api#documentation": "

[IPv6 only] Creates an egress-only internet gateway for your VPC. An egress-only\n\t\t\tinternet gateway is used to enable outbound communication over IPv6 from instances in\n\t\t\tyour VPC to the internet, and prevents hosts outside of your VPC from initiating an IPv6\n\t\t\tconnection with your instance.

" } }, - "com.amazonaws.ec2#BundleTask": { + "com.amazonaws.ec2#CreateEgressOnlyInternetGatewayRequest": { "type": "structure", "members": { - "BundleId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "BundleId", - "smithy.api#documentation": "

The ID of the bundle task.

", - "smithy.api#xmlName": "bundleId" - } - }, - "BundleTaskError": { - "target": "com.amazonaws.ec2#BundleTaskError", - "traits": { - "aws.protocols#ec2QueryName": "Error", - "smithy.api#documentation": "

If the task fails, a description of the error.

", - "smithy.api#xmlName": "error" - } - }, - "InstanceId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#documentation": "

The ID of the instance associated with this bundle task.

", - "smithy.api#xmlName": "instanceId" - } - }, - "Progress": { + "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Progress", - "smithy.api#documentation": "

The level of task completion, as a percent (for example, 20%).

", - "smithy.api#xmlName": "progress" - } - }, - "StartTime": { - "target": "com.amazonaws.ec2#DateTime", - "traits": { - "aws.protocols#ec2QueryName": "StartTime", - "smithy.api#documentation": "

The time this task started.

", - "smithy.api#xmlName": "startTime" + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n\t\t\trequest. For more information, see How to ensure\n\t\t\t\tidempotency.

" } }, - "State": { - "target": "com.amazonaws.ec2#BundleTaskState", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the task.

", - "smithy.api#xmlName": "state" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "Storage": { - "target": "com.amazonaws.ec2#Storage", + "VpcId": { + "target": "com.amazonaws.ec2#VpcId", "traits": { - "aws.protocols#ec2QueryName": "Storage", - "smithy.api#documentation": "

The Amazon S3 storage locations.

", - "smithy.api#xmlName": "storage" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the VPC for which to create the egress-only internet gateway.

", + "smithy.api#required": {} } }, - "UpdateTime": { - "target": "com.amazonaws.ec2#DateTime", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "UpdateTime", - "smithy.api#documentation": "

The time of the most recent update for the task.

", - "smithy.api#xmlName": "updateTime" + "smithy.api#documentation": "

The tags to assign to the egress-only internet gateway.

", + "smithy.api#xmlName": "TagSpecification" } } }, "traits": { - "smithy.api#documentation": "

Describes a bundle task.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#BundleTaskError": { + "com.amazonaws.ec2#CreateEgressOnlyInternetGatewayResult": { "type": "structure", "members": { - "Code": { + "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Code", - "smithy.api#documentation": "

The error code.

", - "smithy.api#xmlName": "code" + "aws.protocols#ec2QueryName": "ClientToken", + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n\t\t\trequest.

", + "smithy.api#xmlName": "clientToken" } }, - "Message": { - "target": "com.amazonaws.ec2#String", + "EgressOnlyInternetGateway": { + "target": "com.amazonaws.ec2#EgressOnlyInternetGateway", "traits": { - "aws.protocols#ec2QueryName": "Message", - "smithy.api#documentation": "

The error message.

", - "smithy.api#xmlName": "message" + "aws.protocols#ec2QueryName": "EgressOnlyInternetGateway", + "smithy.api#documentation": "

Information about the egress-only internet gateway.

", + "smithy.api#xmlName": "egressOnlyInternetGateway" } } - }, - "traits": { - "smithy.api#documentation": "

Describes an error for BundleInstance.

" } }, - "com.amazonaws.ec2#BundleTaskList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#BundleTask", - "traits": { - "smithy.api#xmlName": "item" - } + "com.amazonaws.ec2#CreateFleet": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateFleetRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateFleetResult" + }, + "traits": { + "smithy.api#documentation": "

Launches an EC2 Fleet.

\n

You can create a single EC2 Fleet that includes multiple launch specifications that vary by\n instance type, AMI, Availability Zone, or subnet.

\n

For more information, see EC2 Fleet in the Amazon EC2 User Guide.

" } }, - "com.amazonaws.ec2#BundleTaskState": { - "type": "enum", + "com.amazonaws.ec2#CreateFleetError": { + "type": "structure", "members": { - "pending": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "pending" - } - }, - "waiting_for_shutdown": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "waiting-for-shutdown" - } - }, - "bundling": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "bundling" - } - }, - "storing": { - "target": "smithy.api#Unit", + "LaunchTemplateAndOverrides": { + "target": "com.amazonaws.ec2#LaunchTemplateAndOverridesResponse", "traits": { - "smithy.api#enumValue": "storing" + "aws.protocols#ec2QueryName": "LaunchTemplateAndOverrides", + "smithy.api#documentation": "

The launch templates and overrides that were used for launching the instances. The\n values that you specify in the Overrides replace the values in the launch template.

", + "smithy.api#xmlName": "launchTemplateAndOverrides" } }, - "cancelling": { - "target": "smithy.api#Unit", + "Lifecycle": { + "target": "com.amazonaws.ec2#InstanceLifecycle", "traits": { - "smithy.api#enumValue": "cancelling" + "aws.protocols#ec2QueryName": "Lifecycle", + "smithy.api#documentation": "

Indicates if the instance that could not be launched was a Spot Instance or On-Demand Instance.

", + "smithy.api#xmlName": "lifecycle" } }, - "complete": { - "target": "smithy.api#Unit", + "ErrorCode": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "complete" + "aws.protocols#ec2QueryName": "ErrorCode", + "smithy.api#documentation": "

The error code that indicates why the instance could not be launched. For more\n information about error codes, see Error codes.

", + "smithy.api#xmlName": "errorCode" } }, - "failed": { - "target": "smithy.api#Unit", + "ErrorMessage": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "failed" + "aws.protocols#ec2QueryName": "ErrorMessage", + "smithy.api#documentation": "

The error message that describes why the instance could not be launched. For more\n information about error messages, see Error codes.

", + "smithy.api#xmlName": "errorMessage" } } + }, + "traits": { + "smithy.api#documentation": "

Describes the instances that could not be launched by the fleet.

" } }, - "com.amazonaws.ec2#BurstablePerformance": { - "type": "enum", - "members": { - "INCLUDED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "included" - } - }, - "REQUIRED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "required" - } - }, - "EXCLUDED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "excluded" - } + "com.amazonaws.ec2#CreateFleetErrorsSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#CreateFleetError", + "traits": { + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#BurstablePerformanceFlag": { - "type": "boolean" - }, - "com.amazonaws.ec2#ByoipCidr": { + "com.amazonaws.ec2#CreateFleetInstance": { "type": "structure", "members": { - "Cidr": { - "target": "com.amazonaws.ec2#String", + "LaunchTemplateAndOverrides": { + "target": "com.amazonaws.ec2#LaunchTemplateAndOverridesResponse", "traits": { - "aws.protocols#ec2QueryName": "Cidr", - "smithy.api#documentation": "

The address range, in CIDR notation.

", - "smithy.api#xmlName": "cidr" + "aws.protocols#ec2QueryName": "LaunchTemplateAndOverrides", + "smithy.api#documentation": "

The launch templates and overrides that were used for launching the instances. The\n values that you specify in the Overrides replace the values in the launch template.

", + "smithy.api#xmlName": "launchTemplateAndOverrides" } }, - "Description": { - "target": "com.amazonaws.ec2#String", + "Lifecycle": { + "target": "com.amazonaws.ec2#InstanceLifecycle", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

The description of the address range.

", - "smithy.api#xmlName": "description" + "aws.protocols#ec2QueryName": "Lifecycle", + "smithy.api#documentation": "

Indicates if the instance that was launched is a Spot Instance or On-Demand Instance.

", + "smithy.api#xmlName": "lifecycle" } }, - "StatusMessage": { - "target": "com.amazonaws.ec2#String", + "InstanceIds": { + "target": "com.amazonaws.ec2#InstanceIdsSet", "traits": { - "aws.protocols#ec2QueryName": "StatusMessage", - "smithy.api#documentation": "

Upon success, contains the ID of the address pool. Otherwise, contains an error message.

", - "smithy.api#xmlName": "statusMessage" + "aws.protocols#ec2QueryName": "InstanceIds", + "smithy.api#documentation": "

The IDs of the instances.

", + "smithy.api#xmlName": "instanceIds" } }, - "State": { - "target": "com.amazonaws.ec2#ByoipCidrState", + "InstanceType": { + "target": "com.amazonaws.ec2#InstanceType", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the address pool.

", - "smithy.api#xmlName": "state" + "aws.protocols#ec2QueryName": "InstanceType", + "smithy.api#documentation": "

The instance type.

", + "smithy.api#xmlName": "instanceType" + } + }, + "Platform": { + "target": "com.amazonaws.ec2#PlatformValues", + "traits": { + "aws.protocols#ec2QueryName": "Platform", + "smithy.api#documentation": "

The value is Windows for Windows instances. Otherwise, the value is\n blank.

", + "smithy.api#xmlName": "platform" } } }, "traits": { - "smithy.api#documentation": "

Information about an address range that is provisioned for use with your Amazon Web Services resources \n through bring your own IP addresses (BYOIP).

" + "smithy.api#documentation": "

Describes the instances that were launched by the fleet.

" } }, - "com.amazonaws.ec2#ByoipCidrSet": { + "com.amazonaws.ec2#CreateFleetInstancesSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#ByoipCidr", + "target": "com.amazonaws.ec2#CreateFleetInstance", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#ByoipCidrState": { - "type": "enum", + "com.amazonaws.ec2#CreateFleetRequest": { + "type": "structure", "members": { - "advertised": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "advertised" - } - }, - "deprovisioned": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "deprovisioned" - } - }, - "failed_deprovision": { - "target": "smithy.api#Unit", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "failed-deprovision" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "failed_provision": { - "target": "smithy.api#Unit", + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "failed-provision" + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. For more information, see Ensuring\n idempotency.

" } }, - "pending_deprovision": { - "target": "smithy.api#Unit", + "SpotOptions": { + "target": "com.amazonaws.ec2#SpotOptionsRequest", "traits": { - "smithy.api#enumValue": "pending-deprovision" + "smithy.api#documentation": "

Describes the configuration of Spot Instances in an EC2 Fleet.

" } }, - "pending_provision": { - "target": "smithy.api#Unit", + "OnDemandOptions": { + "target": "com.amazonaws.ec2#OnDemandOptionsRequest", "traits": { - "smithy.api#enumValue": "pending-provision" + "smithy.api#documentation": "

Describes the configuration of On-Demand Instances in an EC2 Fleet.

" } }, - "provisioned": { - "target": "smithy.api#Unit", + "ExcessCapacityTerminationPolicy": { + "target": "com.amazonaws.ec2#FleetExcessCapacityTerminationPolicy", "traits": { - "smithy.api#enumValue": "provisioned" + "smithy.api#documentation": "

Indicates whether running instances should be terminated if the total target capacity of\n the EC2 Fleet is decreased below the current size of the EC2 Fleet.

" } }, - "provisioned_not_publicly_advertisable": { - "target": "smithy.api#Unit", + "LaunchTemplateConfigs": { + "target": "com.amazonaws.ec2#FleetLaunchTemplateConfigListRequest", "traits": { - "smithy.api#enumValue": "provisioned-not-publicly-advertisable" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The configuration for the EC2 Fleet.

", + "smithy.api#required": {} } - } - } - }, - "com.amazonaws.ec2#CancelBatchErrorCode": { - "type": "enum", - "members": { - "FLEET_REQUEST_ID_DOES_NOT_EXIST": { - "target": "smithy.api#Unit", + }, + "TargetCapacitySpecification": { + "target": "com.amazonaws.ec2#TargetCapacitySpecificationRequest", "traits": { - "smithy.api#enumValue": "fleetRequestIdDoesNotExist" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The number of units to request.

", + "smithy.api#required": {} } }, - "FLEET_REQUEST_ID_MALFORMED": { - "target": "smithy.api#Unit", + "TerminateInstancesWithExpiration": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "fleetRequestIdMalformed" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether running instances should be terminated when the EC2 Fleet expires.

" } }, - "FLEET_REQUEST_NOT_IN_CANCELLABLE_STATE": { - "target": "smithy.api#Unit", + "Type": { + "target": "com.amazonaws.ec2#FleetType", "traits": { - "smithy.api#enumValue": "fleetRequestNotInCancellableState" + "smithy.api#documentation": "

The fleet type. The default value is maintain.

\n
    \n
  • \n

    \n maintain - The EC2 Fleet places an asynchronous request for your desired\n capacity, and continues to maintain your desired Spot capacity by replenishing\n interrupted Spot Instances.

    \n
  • \n
  • \n

    \n request - The EC2 Fleet places an asynchronous one-time request for your\n desired capacity, but does submit Spot requests in alternative capacity pools if Spot\n capacity is unavailable, and does not maintain Spot capacity if Spot Instances are\n interrupted.

    \n
  • \n
  • \n

    \n instant - The EC2 Fleet places a synchronous one-time request for your\n desired capacity, and returns errors for any instances that could not be\n launched.

    \n
  • \n
\n

For more information, see EC2 Fleet\n request types in the Amazon EC2 User Guide.

" } }, - "UNEXPECTED_ERROR": { - "target": "smithy.api#Unit", + "ValidFrom": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "smithy.api#enumValue": "unexpectedError" + "smithy.api#documentation": "

The start date and time of the request, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).\n The default is to start fulfilling the request immediately.

" } - } - } - }, - "com.amazonaws.ec2#CancelBundleTask": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#CancelBundleTaskRequest" - }, - "output": { - "target": "com.amazonaws.ec2#CancelBundleTaskResult" - }, - "traits": { - "smithy.api#documentation": "

Cancels a bundling operation for an instance store-backed Windows instance.

" - } - }, - "com.amazonaws.ec2#CancelBundleTaskRequest": { - "type": "structure", - "members": { - "BundleId": { - "target": "com.amazonaws.ec2#BundleId", + }, + "ValidUntil": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the bundle task.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The end date and time of the request, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).\n At this point, no new EC2 Fleet requests are placed or able to fulfill the request. If no value is specified, the request remains until you cancel it.

" } }, - "DryRun": { + "ReplaceUnhealthyInstances": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Indicates whether EC2 Fleet should replace unhealthy Spot Instances. Supported only for\n fleets of type maintain. For more information, see EC2 Fleet\n health checks in the Amazon EC2 User Guide.

" } - } - }, - "traits": { - "smithy.api#documentation": "

Contains the parameters for CancelBundleTask.

" - } - }, - "com.amazonaws.ec2#CancelBundleTaskResult": { - "type": "structure", - "members": { - "BundleTask": { - "target": "com.amazonaws.ec2#BundleTask", + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "BundleInstanceTask", - "smithy.api#documentation": "

Information about the bundle task.

", - "smithy.api#xmlName": "bundleInstanceTask" + "smithy.api#documentation": "

The key-value pair for tagging the EC2 Fleet request on creation. For more information, see \n Tagging your resources.

\n

If the fleet type is instant, specify a resource type of fleet \n to tag the fleet or instance to tag the instances at launch.

\n

If the fleet type is maintain or request, specify a resource\n type of fleet to tag the fleet. You cannot specify a resource type of\n instance. To tag instances at launch, specify the tags in a launch template.

", + "smithy.api#xmlName": "TagSpecification" + } + }, + "Context": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

Reserved.

" } } }, "traits": { - "smithy.api#documentation": "

Contains the output of CancelBundleTask.

" - } - }, - "com.amazonaws.ec2#CancelCapacityReservation": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#CancelCapacityReservationRequest" - }, - "output": { - "target": "com.amazonaws.ec2#CancelCapacityReservationResult" - }, - "traits": { - "smithy.api#documentation": "

Cancels the specified Capacity Reservation, releases the reserved capacity, and changes the Capacity Reservation's state to\n\t\t\tcancelled.

\n\t\t

Instances running in the reserved capacity continue running until you stop them. Stopped\n\t\t\tinstances that target the Capacity Reservation can no longer launch. Modify these instances to either\n\t\t\ttarget a different Capacity Reservation, launch On-Demand Instance capacity, or run in any open Capacity Reservation\n\t\t\tthat has matching attributes and sufficient capacity.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CancelCapacityReservationFleetError": { + "com.amazonaws.ec2#CreateFleetResult": { "type": "structure", "members": { - "Code": { - "target": "com.amazonaws.ec2#CancelCapacityReservationFleetErrorCode", + "FleetId": { + "target": "com.amazonaws.ec2#FleetId", "traits": { - "aws.protocols#ec2QueryName": "Code", - "smithy.api#documentation": "

The error code.

", - "smithy.api#xmlName": "code" + "aws.protocols#ec2QueryName": "FleetId", + "smithy.api#documentation": "

The ID of the EC2 Fleet.

", + "smithy.api#xmlName": "fleetId" } }, - "Message": { - "target": "com.amazonaws.ec2#CancelCapacityReservationFleetErrorMessage", + "Errors": { + "target": "com.amazonaws.ec2#CreateFleetErrorsSet", "traits": { - "aws.protocols#ec2QueryName": "Message", - "smithy.api#documentation": "

The error message.

", - "smithy.api#xmlName": "message" + "aws.protocols#ec2QueryName": "ErrorSet", + "smithy.api#documentation": "

Information about the instances that could not be launched by the fleet. Supported only for\n fleets of type instant.

", + "smithy.api#xmlName": "errorSet" + } + }, + "Instances": { + "target": "com.amazonaws.ec2#CreateFleetInstancesSet", + "traits": { + "aws.protocols#ec2QueryName": "FleetInstanceSet", + "smithy.api#documentation": "

Information about the instances that were launched by the fleet. Supported only for\n fleets of type instant.

", + "smithy.api#xmlName": "fleetInstanceSet" } } - }, - "traits": { - "smithy.api#documentation": "

Describes a Capacity Reservation Fleet cancellation error.

" } }, - "com.amazonaws.ec2#CancelCapacityReservationFleetErrorCode": { - "type": "string" - }, - "com.amazonaws.ec2#CancelCapacityReservationFleetErrorMessage": { - "type": "string" - }, - "com.amazonaws.ec2#CancelCapacityReservationFleets": { + "com.amazonaws.ec2#CreateFlowLogs": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CancelCapacityReservationFleetsRequest" + "target": "com.amazonaws.ec2#CreateFlowLogsRequest" }, "output": { - "target": "com.amazonaws.ec2#CancelCapacityReservationFleetsResult" + "target": "com.amazonaws.ec2#CreateFlowLogsResult" }, "traits": { - "smithy.api#documentation": "

Cancels one or more Capacity Reservation Fleets. When you cancel a Capacity Reservation \n\t\t\tFleet, the following happens:

\n\t\t
    \n
  • \n\t\t\t\t

    The Capacity Reservation Fleet's status changes to cancelled.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    The individual Capacity Reservations in the Fleet are cancelled. Instances running \n\t\t\t\t\tin the Capacity Reservations at the time of cancelling the Fleet continue to run in \n\t\t\t\t\tshared capacity.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    The Fleet stops creating new Capacity Reservations.

    \n\t\t\t
  • \n
" + "smithy.api#documentation": "

Creates one or more flow logs to capture information about IP traffic for a specific network interface,\n subnet, or VPC.

\n

Flow log data for a monitored network interface is recorded as flow log records, which are log events \n consisting of fields that describe the traffic flow. For more information, see \n Flow log records \n in the Amazon Virtual Private Cloud User Guide.

\n

When publishing to CloudWatch Logs, flow log records are published to a log group, and each network \n interface has a unique log stream in the log group. When publishing to Amazon S3, flow log records for all \n of the monitored network interfaces are published to a single log file object that is stored in the specified \n bucket.

\n

For more information, see VPC Flow Logs in the Amazon Virtual Private Cloud User Guide.

" } }, - "com.amazonaws.ec2#CancelCapacityReservationFleetsRequest": { + "com.amazonaws.ec2#CreateFlowLogsRequest": { "type": "structure", "members": { "DryRun": { @@ -9548,218 +13932,144 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "CapacityReservationFleetIds": { - "target": "com.amazonaws.ec2#CapacityReservationFleetIdSet", + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IDs of the Capacity Reservation Fleets to cancel.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "CapacityReservationFleetId" + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. For more information, see How to ensure\n idempotency.

" } - } - } - }, - "com.amazonaws.ec2#CancelCapacityReservationFleetsResult": { - "type": "structure", - "members": { - "SuccessfulFleetCancellations": { - "target": "com.amazonaws.ec2#CapacityReservationFleetCancellationStateSet", + }, + "DeliverLogsPermissionArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SuccessfulFleetCancellationSet", - "smithy.api#documentation": "

Information about the Capacity Reservation Fleets that were successfully cancelled.

", - "smithy.api#xmlName": "successfulFleetCancellationSet" + "smithy.api#documentation": "

The ARN of the IAM role that allows Amazon EC2 to publish flow logs to a CloudWatch Logs log group in\n your account.

\n

This parameter is required if the destination type is cloud-watch-logs\n and unsupported otherwise.

" } }, - "FailedFleetCancellations": { - "target": "com.amazonaws.ec2#FailedCapacityReservationFleetCancellationResultSet", + "DeliverCrossAccountRole": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "FailedFleetCancellationSet", - "smithy.api#documentation": "

Information about the Capacity Reservation Fleets that could not be cancelled.

", - "smithy.api#xmlName": "failedFleetCancellationSet" + "smithy.api#documentation": "

The ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts.

" } - } - } - }, - "com.amazonaws.ec2#CancelCapacityReservationRequest": { - "type": "structure", - "members": { - "CapacityReservationId": { - "target": "com.amazonaws.ec2#CapacityReservationId", + }, + "LogGroupName": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Capacity Reservation to be cancelled.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The name of a new or existing CloudWatch Logs log group where Amazon EC2 publishes your flow logs.

\n

This parameter is valid only if the destination type is cloud-watch-logs.

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "ResourceIds": { + "target": "com.amazonaws.ec2#FlowLogResourceIds", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The IDs of the resources to monitor. For example, if the resource type is\n VPC, specify the IDs of the VPCs.

\n

Constraints: Maximum of 25 for transit gateway resource types. Maximum of 1000 for the\n other resource types.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "ResourceId" } - } - } - }, - "com.amazonaws.ec2#CancelCapacityReservationResult": { - "type": "structure", - "members": { - "Return": { - "target": "com.amazonaws.ec2#Boolean", + }, + "ResourceType": { + "target": "com.amazonaws.ec2#FlowLogsResourceType", "traits": { - "aws.protocols#ec2QueryName": "Return", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "smithy.api#xmlName": "return" + "smithy.api#documentation": "

The type of resource to monitor.

", + "smithy.api#required": {} } - } - } - }, - "com.amazonaws.ec2#CancelConversionRequest": { - "type": "structure", - "members": { - "ConversionTaskId": { - "target": "com.amazonaws.ec2#ConversionTaskId", + }, + "TrafficType": { + "target": "com.amazonaws.ec2#TrafficType", "traits": { - "aws.protocols#ec2QueryName": "ConversionTaskId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the conversion task.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "conversionTaskId" + "smithy.api#documentation": "

The type of traffic to monitor (accepted traffic, rejected traffic, or all traffic).\n This parameter is not supported for transit gateway resource types. It is required for\n the other resource types.

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "LogDestinationType": { + "target": "com.amazonaws.ec2#LogDestinationType", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

The type of destination for the flow log data.

\n

Default: cloud-watch-logs\n

" } }, - "ReasonMessage": { + "LogDestination": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ReasonMessage", - "smithy.api#documentation": "

The reason for canceling the conversion task.

", - "smithy.api#xmlName": "reasonMessage" + "smithy.api#documentation": "

The destination for the flow log data. The meaning of this parameter depends on the destination type.

\n
    \n
  • \n

    If the destination type is cloud-watch-logs, specify the ARN of a CloudWatch Logs log group. For example:

    \n

    arn:aws:logs:region:account_id:log-group:my_group\n

    \n

    Alternatively, use the LogGroupName parameter.

    \n
  • \n
  • \n

    If the destination type is s3, specify the ARN of an S3 bucket. For example:

    \n

    arn:aws:s3:::my_bucket/my_subfolder/

    \n

    The subfolder is optional. Note that you can't use AWSLogs as a subfolder name.

    \n
  • \n
  • \n

    If the destination type is kinesis-data-firehose, specify the ARN of a Kinesis Data Firehose delivery stream. For example:

    \n

    arn:aws:firehose:region:account_id:deliverystream:my_stream\n

    \n
  • \n
" } - } - } - }, - "com.amazonaws.ec2#CancelConversionTask": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#CancelConversionRequest" - }, - "output": { - "target": "smithy.api#Unit" - }, - "traits": { - "smithy.api#documentation": "

Cancels an active conversion task. The task can be the import of an instance or volume. The action removes all\n artifacts of the conversion, including a partially uploaded volume or instance. If the conversion is complete or is\n in the process of transferring the final disk image, the command fails and returns an exception.

\n

For more information, see Importing a Virtual Machine Using the Amazon\n EC2 CLI.

" - } - }, - "com.amazonaws.ec2#CancelExportTask": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#CancelExportTaskRequest" - }, - "output": { - "target": "smithy.api#Unit" - }, - "traits": { - "smithy.api#documentation": "

Cancels an active export task. The request removes all artifacts of the export, including any partially-created\n Amazon S3 objects. If the export task is complete or is in the process of transferring the final disk image, the\n command fails and returns an error.

" - } - }, - "com.amazonaws.ec2#CancelExportTaskRequest": { - "type": "structure", - "members": { - "ExportTaskId": { - "target": "com.amazonaws.ec2#ExportVmTaskId", + }, + "LogFormat": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The fields to include in the flow log record. List the fields in the order in which\n they should appear. If you omit this parameter, the flow log is created using the\n default format. If you specify this parameter, you must include at least one\n field. For more information about the available fields, see Flow log\n records in the Amazon VPC User Guide or Transit Gateway Flow Log\n records in the Amazon Web Services Transit Gateway Guide.

\n

Specify the fields using the ${field-id} format, separated by spaces. For\n the CLI, surround this parameter value with single quotes on Linux or\n double quotes on Windows.

" + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

The tags to apply to the flow logs.

", + "smithy.api#xmlName": "TagSpecification" + } + }, + "MaxAggregationInterval": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "ExportTaskId", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the export task. This is the ID returned by CreateInstanceExportTask.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "exportTaskId" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. \n The possible values are 60 seconds (1 minute) or 600 seconds (10 minutes).\n This parameter must be 60 seconds for transit gateway resource types.

\n

When a network interface is attached to a Nitro-based\n instance, the aggregation interval is always 60 seconds or less, regardless\n of the value that you specify.

\n

Default: 600

" + } + }, + "DestinationOptions": { + "target": "com.amazonaws.ec2#DestinationOptionsRequest", + "traits": { + "smithy.api#documentation": "

The destination options.

" } } - } - }, - "com.amazonaws.ec2#CancelImageLaunchPermission": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#CancelImageLaunchPermissionRequest" - }, - "output": { - "target": "com.amazonaws.ec2#CancelImageLaunchPermissionResult" }, "traits": { - "smithy.api#documentation": "

Removes your Amazon Web Services account from the launch permissions for the specified AMI. For more\n information, see Cancel sharing an AMI with your Amazon Web Services account \n in the Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CancelImageLaunchPermissionRequest": { + "com.amazonaws.ec2#CreateFlowLogsResult": { "type": "structure", "members": { - "ImageId": { - "target": "com.amazonaws.ec2#ImageId", + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the AMI that was shared with your Amazon Web Services account.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "ClientToken", + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request.

", + "smithy.api#xmlName": "clientToken" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "FlowLogIds": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "FlowLogIdSet", + "smithy.api#documentation": "

The IDs of the flow logs.

", + "smithy.api#xmlName": "flowLogIdSet" } - } - } - }, - "com.amazonaws.ec2#CancelImageLaunchPermissionResult": { - "type": "structure", - "members": { - "Return": { - "target": "com.amazonaws.ec2#Boolean", + }, + "Unsuccessful": { + "target": "com.amazonaws.ec2#UnsuccessfulItemSet", "traits": { - "aws.protocols#ec2QueryName": "Return", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "smithy.api#xmlName": "return" + "aws.protocols#ec2QueryName": "Unsuccessful", + "smithy.api#documentation": "

Information about the flow logs that could not be created successfully.

", + "smithy.api#xmlName": "unsuccessful" } } } }, - "com.amazonaws.ec2#CancelImportTask": { + "com.amazonaws.ec2#CreateFpgaImage": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CancelImportTaskRequest" + "target": "com.amazonaws.ec2#CreateFpgaImageRequest" }, "output": { - "target": "com.amazonaws.ec2#CancelImportTaskResult" + "target": "com.amazonaws.ec2#CreateFpgaImageResult" }, "traits": { - "smithy.api#documentation": "

Cancels an in-process import virtual machine or import snapshot task.

" + "smithy.api#documentation": "

Creates an Amazon FPGA Image (AFI) from the specified design checkpoint (DCP).

\n

The create operation is asynchronous. To verify that the AFI is ready for use, \n check the output logs.

\n

An AFI contains the FPGA bitstream that is ready to download to an FPGA. \n You can securely deploy an AFI on multiple FPGA-accelerated instances.\n For more information, see the Amazon Web Services FPGA Hardware Development Kit.

" } }, - "com.amazonaws.ec2#CancelImportTaskRequest": { + "com.amazonaws.ec2#CreateFpgaImageRequest": { "type": "structure", "members": { - "CancelReason": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The reason for canceling the task.

" - } - }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -9768,3571 +14078,3603 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "ImportTaskId": { - "target": "com.amazonaws.ec2#ImportTaskId", + "InputStorageLocation": { + "target": "com.amazonaws.ec2#StorageLocation", "traits": { - "smithy.api#documentation": "

The ID of the import image or import snapshot task to be canceled.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The location of the encrypted design checkpoint in Amazon S3. The input must be a tarball.

", + "smithy.api#required": {} } - } - } - }, - "com.amazonaws.ec2#CancelImportTaskResult": { - "type": "structure", - "members": { - "ImportTaskId": { - "target": "com.amazonaws.ec2#String", + }, + "LogsStorageLocation": { + "target": "com.amazonaws.ec2#StorageLocation", "traits": { - "aws.protocols#ec2QueryName": "ImportTaskId", - "smithy.api#documentation": "

The ID of the task being canceled.

", - "smithy.api#xmlName": "importTaskId" + "smithy.api#documentation": "

The location in Amazon S3 for the output logs.

" } }, - "PreviousState": { + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PreviousState", - "smithy.api#documentation": "

The current state of the task being canceled.

", - "smithy.api#xmlName": "previousState" + "smithy.api#documentation": "

A description for the AFI.

" } }, - "State": { + "Name": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The current state of the task being canceled.

", - "smithy.api#xmlName": "state" + "smithy.api#documentation": "

A name for the AFI.

" } - } - } - }, - "com.amazonaws.ec2#CancelReservedInstancesListing": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#CancelReservedInstancesListingRequest" - }, - "output": { - "target": "com.amazonaws.ec2#CancelReservedInstancesListingResult" - }, - "traits": { - "smithy.api#documentation": "

Cancels the specified Reserved Instance listing in the Reserved Instance Marketplace.

\n

For more information, see \n Reserved Instance Marketplace \n in the Amazon EC2 User Guide.

" - } - }, - "com.amazonaws.ec2#CancelReservedInstancesListingRequest": { - "type": "structure", - "members": { - "ReservedInstancesListingId": { - "target": "com.amazonaws.ec2#ReservedInstancesListingId", + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ReservedInstancesListingId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Reserved Instance listing.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "reservedInstancesListingId" + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. \n For more information, see Ensuring Idempotency.

" } - } - }, - "traits": { - "smithy.api#documentation": "

Contains the parameters for CancelReservedInstancesListing.

" - } - }, - "com.amazonaws.ec2#CancelReservedInstancesListingResult": { - "type": "structure", - "members": { - "ReservedInstancesListings": { - "target": "com.amazonaws.ec2#ReservedInstancesListingList", + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "ReservedInstancesListingsSet", - "smithy.api#documentation": "

The Reserved Instance listing.

", - "smithy.api#xmlName": "reservedInstancesListingsSet" + "smithy.api#documentation": "

The tags to apply to the FPGA image during creation.

", + "smithy.api#xmlName": "TagSpecification" } } }, "traits": { - "smithy.api#documentation": "

Contains the output of CancelReservedInstancesListing.

" - } - }, - "com.amazonaws.ec2#CancelSpotFleetRequests": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#CancelSpotFleetRequestsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#CancelSpotFleetRequestsResponse" - }, - "traits": { - "smithy.api#documentation": "

Cancels the specified Spot Fleet requests.

\n

After you cancel a Spot Fleet request, the Spot Fleet launches no new Spot Instances.\n You must specify whether the Spot Fleet should also terminate its Spot Instances. If you\n terminate the instances, the Spot Fleet request enters the\n cancelled_terminating state. Otherwise, the Spot Fleet request enters\n the cancelled_running state and the instances continue to run until they\n are interrupted or you terminate them manually.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CancelSpotFleetRequestsError": { + "com.amazonaws.ec2#CreateFpgaImageResult": { "type": "structure", "members": { - "Code": { - "target": "com.amazonaws.ec2#CancelBatchErrorCode", + "FpgaImageId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Code", - "smithy.api#documentation": "

The error code.

", - "smithy.api#xmlName": "code" + "aws.protocols#ec2QueryName": "FpgaImageId", + "smithy.api#documentation": "

The FPGA image identifier (AFI ID).

", + "smithy.api#xmlName": "fpgaImageId" } }, - "Message": { + "FpgaImageGlobalId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Message", - "smithy.api#documentation": "

The description for the error code.

", - "smithy.api#xmlName": "message" + "aws.protocols#ec2QueryName": "FpgaImageGlobalId", + "smithy.api#documentation": "

The global FPGA image identifier (AGFI ID).

", + "smithy.api#xmlName": "fpgaImageGlobalId" } } + } + }, + "com.amazonaws.ec2#CreateImage": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateImageRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateImageResult" }, "traits": { - "smithy.api#documentation": "

Describes a Spot Fleet error.

" + "smithy.api#documentation": "

Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance \n \tthat is either running or stopped.

\n

By default, when Amazon EC2 creates the new AMI, it reboots the instance so that it can \n\t\t\t\t\ttake snapshots of the attached volumes while data is at rest, in order to ensure a consistent \n\t\t\t\t\tstate. You can set the NoReboot parameter to true in the API request, \n\t\t\t\t\tor use the --no-reboot option in the CLI to prevent Amazon EC2 from shutting down and \n\t\t\t\t\trebooting the instance.

\n \n

If you choose to bypass the shutdown and reboot process by setting the NoReboot \n\t\t\t\t\tparameter to true in the API request, or by using the --no-reboot option \n\t\t\t\t\tin the CLI, we can't guarantee the file system integrity of the created image.

\n
\n

If you customized your instance with instance store volumes or Amazon EBS volumes in addition to the root device volume, the \n \tnew AMI contains block device mapping information for those volumes. When you launch an instance from this new AMI, \n \tthe instance automatically launches with those additional volumes.

\n

For more information, see Create an Amazon EBS-backed Linux\n AMI in the Amazon Elastic Compute Cloud User Guide.

" } }, - "com.amazonaws.ec2#CancelSpotFleetRequestsErrorItem": { + "com.amazonaws.ec2#CreateImageRequest": { "type": "structure", "members": { - "Error": { - "target": "com.amazonaws.ec2#CancelSpotFleetRequestsError", + "BlockDeviceMappings": { + "target": "com.amazonaws.ec2#BlockDeviceMappingRequestList", "traits": { - "aws.protocols#ec2QueryName": "Error", - "smithy.api#documentation": "

The error.

", - "smithy.api#xmlName": "error" + "aws.protocols#ec2QueryName": "BlockDeviceMapping", + "smithy.api#documentation": "

The block device mappings. This parameter cannot be used to modify the encryption \n \t\tstatus of existing volumes or snapshots. To create an AMI with encrypted snapshots, \n \t\tuse the CopyImage action.

", + "smithy.api#xmlName": "blockDeviceMapping" } }, - "SpotFleetRequestId": { + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SpotFleetRequestId", - "smithy.api#documentation": "

The ID of the Spot Fleet request.

", - "smithy.api#xmlName": "spotFleetRequestId" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A description for the new image.

", + "smithy.api#xmlName": "description" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a Spot Fleet request that was not successfully canceled.

" - } - }, - "com.amazonaws.ec2#CancelSpotFleetRequestsErrorSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#CancelSpotFleetRequestsErrorItem", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#CancelSpotFleetRequestsRequest": { - "type": "structure", - "members": { + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

", "smithy.api#xmlName": "dryRun" } }, - "SpotFleetRequestIds": { - "target": "com.amazonaws.ec2#SpotFleetRequestIdList", + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", "traits": { - "aws.protocols#ec2QueryName": "SpotFleetRequestId", + "aws.protocols#ec2QueryName": "InstanceId", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IDs of the Spot Fleet requests.

", + "smithy.api#documentation": "

The ID of the instance.

", "smithy.api#required": {}, - "smithy.api#xmlName": "spotFleetRequestId" + "smithy.api#xmlName": "instanceId" } }, - "TerminateInstances": { - "target": "com.amazonaws.ec2#Boolean", + "Name": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TerminateInstances", + "aws.protocols#ec2QueryName": "Name", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to terminate instances for a Spot Fleet request if it is canceled\n successfully.

", + "smithy.api#documentation": "

A name for the new image.

\n

Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

", "smithy.api#required": {}, - "smithy.api#xmlName": "terminateInstances" + "smithy.api#xmlName": "name" } - } - }, - "traits": { - "smithy.api#documentation": "

Contains the parameters for CancelSpotFleetRequests.

" - } - }, - "com.amazonaws.ec2#CancelSpotFleetRequestsResponse": { - "type": "structure", - "members": { - "SuccessfulFleetRequests": { - "target": "com.amazonaws.ec2#CancelSpotFleetRequestsSuccessSet", + }, + "NoReboot": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "SuccessfulFleetRequestSet", - "smithy.api#documentation": "

Information about the Spot Fleet requests that are successfully canceled.

", - "smithy.api#xmlName": "successfulFleetRequestSet" + "aws.protocols#ec2QueryName": "NoReboot", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

By default, when Amazon EC2 creates the new AMI, it reboots the instance so that it can \n\t\t\t\t\ttake snapshots of the attached volumes while data is at rest, in order to ensure a consistent \n\t\t\t\t\tstate. You can set the NoReboot parameter to true in the API request, \n\t\t\t\t\tor use the --no-reboot option in the CLI to prevent Amazon EC2 from shutting down and \n\t\t\t\t\trebooting the instance.

\n \n

If you choose to bypass the shutdown and reboot process by setting the NoReboot \n\t\t\t\t\tparameter to true in the API request, or by using the --no-reboot option \n\t\t\t\t\tin the CLI, we can't guarantee the file system integrity of the created image.

\n
\n

Default: false (follow standard reboot process)

", + "smithy.api#xmlName": "noReboot" } }, - "UnsuccessfulFleetRequests": { - "target": "com.amazonaws.ec2#CancelSpotFleetRequestsErrorSet", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "UnsuccessfulFleetRequestSet", - "smithy.api#documentation": "

Information about the Spot Fleet requests that are not successfully canceled.

", - "smithy.api#xmlName": "unsuccessfulFleetRequestSet" + "smithy.api#documentation": "

The tags to apply to the AMI and snapshots on creation. You can tag the AMI, the\n snapshots, or both.

\n
    \n
  • \n

    To tag the AMI, the value for ResourceType must be\n image.

    \n
  • \n
  • \n

    To tag the snapshots that are created of the root volume and of other Amazon EBS volumes that\n are attached to the instance, the value for ResourceType must be\n snapshot. The same tag is applied to all of the snapshots that are\n created.

    \n
  • \n
\n

If you specify other values for ResourceType, the request fails.

\n

To tag an AMI or snapshot after it has been created, see CreateTags.

", + "smithy.api#xmlName": "TagSpecification" } } }, "traits": { - "smithy.api#documentation": "

Contains the output of CancelSpotFleetRequests.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CancelSpotFleetRequestsSuccessItem": { + "com.amazonaws.ec2#CreateImageResult": { "type": "structure", "members": { - "CurrentSpotFleetRequestState": { - "target": "com.amazonaws.ec2#BatchState", - "traits": { - "aws.protocols#ec2QueryName": "CurrentSpotFleetRequestState", - "smithy.api#documentation": "

The current state of the Spot Fleet request.

", - "smithy.api#xmlName": "currentSpotFleetRequestState" - } - }, - "PreviousSpotFleetRequestState": { - "target": "com.amazonaws.ec2#BatchState", - "traits": { - "aws.protocols#ec2QueryName": "PreviousSpotFleetRequestState", - "smithy.api#documentation": "

The previous state of the Spot Fleet request.

", - "smithy.api#xmlName": "previousSpotFleetRequestState" - } - }, - "SpotFleetRequestId": { + "ImageId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SpotFleetRequestId", - "smithy.api#documentation": "

The ID of the Spot Fleet request.

", - "smithy.api#xmlName": "spotFleetRequestId" + "aws.protocols#ec2QueryName": "ImageId", + "smithy.api#documentation": "

The ID of the new AMI.

", + "smithy.api#xmlName": "imageId" } } - }, - "traits": { - "smithy.api#documentation": "

Describes a Spot Fleet request that was successfully canceled.

" } }, - "com.amazonaws.ec2#CancelSpotFleetRequestsSuccessSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#CancelSpotFleetRequestsSuccessItem", - "traits": { - "smithy.api#xmlName": "item" - } + "com.amazonaws.ec2#CreateInstanceEventWindow": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateInstanceEventWindowRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateInstanceEventWindowResult" + }, + "traits": { + "smithy.api#documentation": "

Creates an event window in which scheduled events for the associated Amazon EC2 instances can\n run.

\n

You can define either a set of time ranges or a cron expression when creating the event\n window, but not both. All event window times are in UTC.

\n

You can create up to 200 event windows per Amazon Web Services Region.

\n

When you create the event window, targets (instance IDs, Dedicated Host IDs, or tags)\n are not yet associated with it. To ensure that the event window can be used, you must\n associate one or more targets with it by using the AssociateInstanceEventWindow API.

\n \n

Event windows are applicable only for scheduled events that stop, reboot, or\n terminate instances.

\n

Event windows are not applicable for:

\n
    \n
  • \n

    Expedited scheduled events and network maintenance events.

    \n
  • \n
  • \n

    Unscheduled maintenance such as AutoRecovery and unplanned reboots.

    \n
  • \n
\n
\n

For more information, see Define event windows for scheduled\n events in the Amazon EC2 User Guide.

" } }, - "com.amazonaws.ec2#CancelSpotInstanceRequestState": { - "type": "enum", + "com.amazonaws.ec2#CreateInstanceEventWindowRequest": { + "type": "structure", "members": { - "active": { - "target": "smithy.api#Unit", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "active" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "open": { - "target": "smithy.api#Unit", + "Name": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "open" + "smithy.api#documentation": "

The name of the event window.

" } }, - "closed": { - "target": "smithy.api#Unit", + "TimeRanges": { + "target": "com.amazonaws.ec2#InstanceEventWindowTimeRangeRequestSet", "traits": { - "smithy.api#enumValue": "closed" + "smithy.api#documentation": "

The time range for the event window. If you specify a time range, you can't specify a cron\n expression.

", + "smithy.api#xmlName": "TimeRange" } }, - "cancelled": { - "target": "smithy.api#Unit", + "CronExpression": { + "target": "com.amazonaws.ec2#InstanceEventWindowCronExpression", "traits": { - "smithy.api#enumValue": "cancelled" + "smithy.api#documentation": "

The cron expression for the event window, for example, * 0-4,20-23 * * 1,5. If\n you specify a cron expression, you can't specify a time range.

\n

Constraints:

\n
    \n
  • \n

    Only hour and day of the week values are supported.

    \n
  • \n
  • \n

    For day of the week values, you can specify either integers 0 through\n 6, or alternative single values SUN through\n SAT.

    \n
  • \n
  • \n

    The minute, month, and year must be specified by *.

    \n
  • \n
  • \n

    The hour value must be one or a multiple range, for example, 0-4 or\n 0-4,20-23.

    \n
  • \n
  • \n

    Each hour range must be >= 2 hours, for example, 0-2 or\n 20-23.

    \n
  • \n
  • \n

    The event window must be >= 4 hours. The combined total time ranges in the event\n window must be >= 4 hours.

    \n
  • \n
\n

For more information about cron expressions, see cron on the Wikipedia\n website.

" } }, - "completed": { - "target": "smithy.api#Unit", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#enumValue": "completed" + "smithy.api#documentation": "

The tags to apply to the event window.

", + "smithy.api#xmlName": "TagSpecification" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CancelSpotInstanceRequests": { + "com.amazonaws.ec2#CreateInstanceEventWindowResult": { + "type": "structure", + "members": { + "InstanceEventWindow": { + "target": "com.amazonaws.ec2#InstanceEventWindow", + "traits": { + "aws.protocols#ec2QueryName": "InstanceEventWindow", + "smithy.api#documentation": "

Information about the event window.

", + "smithy.api#xmlName": "instanceEventWindow" + } + } + } + }, + "com.amazonaws.ec2#CreateInstanceExportTask": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CancelSpotInstanceRequestsRequest" + "target": "com.amazonaws.ec2#CreateInstanceExportTaskRequest" }, "output": { - "target": "com.amazonaws.ec2#CancelSpotInstanceRequestsResult" + "target": "com.amazonaws.ec2#CreateInstanceExportTaskResult" }, "traits": { - "smithy.api#documentation": "

Cancels one or more Spot Instance requests.

\n \n

Canceling a Spot Instance request does not terminate running Spot Instances\n associated with the request.

\n
" + "smithy.api#documentation": "

Exports a running or stopped instance to an Amazon S3 bucket.

\n

For information about the supported operating systems, image formats, and known limitations\n for the types of instances you can export, see Exporting an instance as a VM Using VM Import/Export\n in the VM Import/Export User Guide.

" } }, - "com.amazonaws.ec2#CancelSpotInstanceRequestsRequest": { + "com.amazonaws.ec2#CreateInstanceExportTaskRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DryRun", + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A description for the conversion task or the resource being exported. The maximum length is 255 characters.

", + "smithy.api#xmlName": "description" + } + }, + "ExportToS3Task": { + "target": "com.amazonaws.ec2#ExportToS3TaskSpecification", + "traits": { + "aws.protocols#ec2QueryName": "ExportToS3", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

The format and location for an export instance task.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "exportToS3" } }, - "SpotInstanceRequestIds": { - "target": "com.amazonaws.ec2#SpotInstanceRequestIdList", + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", "traits": { + "aws.protocols#ec2QueryName": "InstanceId", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

One or more Spot Instance request IDs.

", + "smithy.api#documentation": "

The ID of the instance.

", "smithy.api#required": {}, - "smithy.api#xmlName": "SpotInstanceRequestId" + "smithy.api#xmlName": "instanceId" + } + }, + "TargetEnvironment": { + "target": "com.amazonaws.ec2#ExportEnvironment", + "traits": { + "aws.protocols#ec2QueryName": "TargetEnvironment", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The target virtualization environment.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "targetEnvironment" + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

The tags to apply to the export instance task during creation.

", + "smithy.api#xmlName": "TagSpecification" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for CancelSpotInstanceRequests.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CancelSpotInstanceRequestsResult": { + "com.amazonaws.ec2#CreateInstanceExportTaskResult": { "type": "structure", "members": { - "CancelledSpotInstanceRequests": { - "target": "com.amazonaws.ec2#CancelledSpotInstanceRequestList", + "ExportTask": { + "target": "com.amazonaws.ec2#ExportTask", "traits": { - "aws.protocols#ec2QueryName": "SpotInstanceRequestSet", - "smithy.api#documentation": "

One or more Spot Instance requests.

", - "smithy.api#xmlName": "spotInstanceRequestSet" + "aws.protocols#ec2QueryName": "ExportTask", + "smithy.api#documentation": "

Information about the export instance task.

", + "smithy.api#xmlName": "exportTask" } } + } + }, + "com.amazonaws.ec2#CreateInternetGateway": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateInternetGatewayRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateInternetGatewayResult" }, "traits": { - "smithy.api#documentation": "

Contains the output of CancelSpotInstanceRequests.

" + "smithy.api#documentation": "

Creates an internet gateway for use with a VPC. After creating the internet gateway,\n\t\t\tyou attach it to a VPC using AttachInternetGateway.

\n

For more information about your VPC and internet gateway, see the Amazon Virtual Private Cloud User Guide.

" } }, - "com.amazonaws.ec2#CancelledSpotInstanceRequest": { + "com.amazonaws.ec2#CreateInternetGatewayRequest": { "type": "structure", "members": { - "SpotInstanceRequestId": { - "target": "com.amazonaws.ec2#String", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "SpotInstanceRequestId", - "smithy.api#documentation": "

The ID of the Spot Instance request.

", - "smithy.api#xmlName": "spotInstanceRequestId" + "smithy.api#documentation": "

The tags to assign to the internet gateway.

", + "smithy.api#xmlName": "TagSpecification" } }, - "State": { - "target": "com.amazonaws.ec2#CancelSpotInstanceRequestState", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the Spot Instance request.

", - "smithy.api#xmlName": "state" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } } }, "traits": { - "smithy.api#documentation": "

Describes a request to cancel a Spot Instance.

" - } - }, - "com.amazonaws.ec2#CancelledSpotInstanceRequestList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#CancelledSpotInstanceRequest", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CapacityAllocation": { + "com.amazonaws.ec2#CreateInternetGatewayResult": { "type": "structure", "members": { - "AllocationType": { - "target": "com.amazonaws.ec2#AllocationType", - "traits": { - "aws.protocols#ec2QueryName": "AllocationType", - "smithy.api#documentation": "

The usage type. used indicates that the instance capacity is \n\t\t\tin use by instances that are running in the Capacity Reservation.

", - "smithy.api#xmlName": "allocationType" - } - }, - "Count": { - "target": "com.amazonaws.ec2#Integer", + "InternetGateway": { + "target": "com.amazonaws.ec2#InternetGateway", "traits": { - "aws.protocols#ec2QueryName": "Count", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The amount of instance capacity associated with the usage. For example a value of \n\t\t\t4 indicates that instance capacity for 4 instances is currently in use.

", - "smithy.api#xmlName": "count" + "aws.protocols#ec2QueryName": "InternetGateway", + "smithy.api#documentation": "

Information about the internet gateway.

", + "smithy.api#xmlName": "internetGateway" } } + } + }, + "com.amazonaws.ec2#CreateIpam": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateIpamRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateIpamResult" }, "traits": { - "smithy.api#documentation": "

Information about instance capacity usage for a Capacity Reservation.

" + "smithy.api#documentation": "

Create an IPAM. Amazon VPC IP Address Manager (IPAM) is a VPC feature that you can use\n to automate your IP address management workflows including assigning, tracking,\n troubleshooting, and auditing IP addresses across Amazon Web Services Regions and accounts\n throughout your Amazon Web Services Organization.

\n

For more information, see Create an IPAM in the Amazon VPC IPAM User Guide.\n

" } }, - "com.amazonaws.ec2#CapacityAllocations": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#CapacityAllocation", - "traits": { - "smithy.api#xmlName": "item" - } + "com.amazonaws.ec2#CreateIpamPool": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateIpamPoolRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateIpamPoolResult" + }, + "traits": { + "smithy.api#documentation": "

Create an IP address pool for Amazon VPC IP Address Manager (IPAM). In IPAM, a pool is a collection of contiguous IP addresses CIDRs. Pools enable you to organize your IP addresses according to your routing and security needs. For example, if you have separate routing and security needs for development and production applications, you can create a pool for each.

\n

For more information, see Create a top-level pool in the Amazon VPC IPAM User Guide.\n

" } }, - "com.amazonaws.ec2#CapacityReservation": { + "com.amazonaws.ec2#CreateIpamPoolRequest": { "type": "structure", "members": { - "CapacityReservationId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "CapacityReservationId", - "smithy.api#documentation": "

The ID of the Capacity Reservation.

", - "smithy.api#xmlName": "capacityReservationId" - } - }, - "OwnerId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the Capacity Reservation.

", - "smithy.api#xmlName": "ownerId" - } - }, - "CapacityReservationArn": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "CapacityReservationArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Capacity Reservation.

", - "smithy.api#xmlName": "capacityReservationArn" - } - }, - "AvailabilityZoneId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZoneId", - "smithy.api#documentation": "

The Availability Zone ID of the Capacity Reservation.

", - "smithy.api#xmlName": "availabilityZoneId" - } - }, - "InstanceType": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "InstanceType", - "smithy.api#documentation": "

The type of instance for which the Capacity Reservation reserves capacity.

", - "smithy.api#xmlName": "instanceType" - } - }, - "InstancePlatform": { - "target": "com.amazonaws.ec2#CapacityReservationInstancePlatform", - "traits": { - "aws.protocols#ec2QueryName": "InstancePlatform", - "smithy.api#documentation": "

The type of operating system for which the Capacity Reservation reserves capacity.

", - "smithy.api#xmlName": "instancePlatform" - } - }, - "AvailabilityZone": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZone", - "smithy.api#documentation": "

The Availability Zone in which the capacity is reserved.

", - "smithy.api#xmlName": "availabilityZone" - } - }, - "Tenancy": { - "target": "com.amazonaws.ec2#CapacityReservationTenancy", - "traits": { - "aws.protocols#ec2QueryName": "Tenancy", - "smithy.api#documentation": "

Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings:

\n\t\t
    \n
  • \n

    \n default - The Capacity Reservation is created on hardware that is shared with other Amazon Web Services accounts.

    \n
  • \n
  • \n

    \n dedicated - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single Amazon Web Services account.

    \n
  • \n
", - "smithy.api#xmlName": "tenancy" - } - }, - "TotalInstanceCount": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "aws.protocols#ec2QueryName": "TotalInstanceCount", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The total number of instances for which the Capacity Reservation reserves capacity.

", - "smithy.api#xmlName": "totalInstanceCount" - } - }, - "AvailableInstanceCount": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "aws.protocols#ec2QueryName": "AvailableInstanceCount", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The remaining capacity. Indicates the number of instances that can be launched in the Capacity Reservation.

", - "smithy.api#xmlName": "availableInstanceCount" - } - }, - "EbsOptimized": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "EbsOptimized", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the Capacity Reservation supports EBS-optimized instances. This optimization provides\n\t\t\tdedicated throughput to Amazon EBS and an optimized configuration stack to provide\n\t\t\toptimal I/O performance. This optimization isn't available with all instance types.\n\t\t\tAdditional usage charges apply when using an EBS- optimized instance.

", - "smithy.api#xmlName": "ebsOptimized" - } - }, - "EphemeralStorage": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "EphemeralStorage", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

\n Deprecated.\n

", - "smithy.api#xmlName": "ephemeralStorage" - } - }, - "State": { - "target": "com.amazonaws.ec2#CapacityReservationState", - "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The current state of the Capacity Reservation. A Capacity Reservation can be in one of the following states:

\n\t\t\t
    \n
  • \n

    \n active - The Capacity Reservation is active and the capacity is available for your use.

    \n
  • \n
  • \n

    \n expired - The Capacity Reservation expired automatically at the date and time specified \n\t\t\t\t\tin your request. The reserved capacity is no longer available for your use.

    \n
  • \n
  • \n

    \n cancelled - The Capacity Reservation was cancelled. The reserved capacity is no\n\t\t\t\t\tlonger available for your use.

    \n
  • \n
  • \n

    \n pending - The Capacity Reservation request was successful but the capacity \n\t\t\t\t\tprovisioning is still pending.

    \n
  • \n
  • \n

    \n failed - The Capacity Reservation request has failed. A request might fail \n\t\t\t\t\tdue to invalid request parameters, capacity constraints, or instance limit constraints. \n\t\t\t\t\tFailed requests are retained for 60 minutes.

    \n
  • \n
", - "smithy.api#xmlName": "state" - } - }, - "StartDate": { - "target": "com.amazonaws.ec2#MillisecondDateTime", - "traits": { - "aws.protocols#ec2QueryName": "StartDate", - "smithy.api#documentation": "

The date and time at which the Capacity Reservation was started.

", - "smithy.api#xmlName": "startDate" - } - }, - "EndDate": { - "target": "com.amazonaws.ec2#DateTime", - "traits": { - "aws.protocols#ec2QueryName": "EndDate", - "smithy.api#documentation": "

The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity\n\t\t\tis released and you can no longer launch instances into it. The Capacity Reservation's state changes to\n\t\t\t\texpired when it reaches its end date and time.

", - "smithy.api#xmlName": "endDate" - } - }, - "EndDateType": { - "target": "com.amazonaws.ec2#EndDateType", - "traits": { - "aws.protocols#ec2QueryName": "EndDateType", - "smithy.api#documentation": "

Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end\n\t\t\ttypes:

\n\t\t
    \n
  • \n

    \n unlimited - The Capacity Reservation remains active until you explicitly cancel it.

    \n
  • \n
  • \n

    \n limited - The Capacity Reservation expires automatically at a specified date and time.

    \n
  • \n
", - "smithy.api#xmlName": "endDateType" - } - }, - "InstanceMatchCriteria": { - "target": "com.amazonaws.ec2#InstanceMatchCriteria", - "traits": { - "aws.protocols#ec2QueryName": "InstanceMatchCriteria", - "smithy.api#documentation": "

Indicates the type of instance launches that the Capacity Reservation accepts. The options\n\t\t\tinclude:

\n\t\t
    \n
  • \n

    \n open - The Capacity Reservation accepts all instances that have matching attributes (instance type, platform, \n\t\t\t\tand Availability Zone). Instances that have matching attributes launch into the Capacity Reservation automatically without specifying \n\t\t\t\tany additional parameters.

    \n
  • \n
  • \n

    \n targeted - The Capacity Reservation only accepts instances that have matching attributes\n\t\t\t\t\t(instance type, platform, and Availability Zone), and explicitly target the\n\t\t\t\t\tCapacity Reservation. This ensures that only permitted instances can use the reserved capacity.

    \n
  • \n
", - "smithy.api#xmlName": "instanceMatchCriteria" - } - }, - "CreateDate": { - "target": "com.amazonaws.ec2#DateTime", - "traits": { - "aws.protocols#ec2QueryName": "CreateDate", - "smithy.api#documentation": "

The date and time at which the Capacity Reservation was created.

", - "smithy.api#xmlName": "createDate" - } - }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags assigned to the Capacity Reservation.

", - "smithy.api#xmlName": "tagSet" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "OutpostArn": { - "target": "com.amazonaws.ec2#OutpostArn", + "IpamScopeId": { + "target": "com.amazonaws.ec2#IpamScopeId", "traits": { - "aws.protocols#ec2QueryName": "OutpostArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Outpost on which the Capacity \n\t \t\tReservation was created.

", - "smithy.api#xmlName": "outpostArn" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the scope in which you would like to create the IPAM pool.

", + "smithy.api#required": {} } }, - "CapacityReservationFleetId": { + "Locale": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CapacityReservationFleetId", - "smithy.api#documentation": "

The ID of the Capacity Reservation Fleet to which the Capacity Reservation belongs. \n\t\t\tOnly valid for Capacity Reservations that were created by a Capacity Reservation Fleet.

", - "smithy.api#xmlName": "capacityReservationFleetId" + "smithy.api#documentation": "

In IPAM, the locale is the Amazon Web Services Region where you want to make an IPAM pool available for allocations. Only resources in the same Region as the locale of the pool can get IP address allocations from the pool. You can only allocate a CIDR for a VPC, for example, from an IPAM pool that shares a locale with the VPC’s Region. Note that once you choose a Locale for a pool, you cannot modify it. If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this pool.

\n

Possible values: Any Amazon Web Services Region, such as us-east-1.

" } }, - "PlacementGroupArn": { - "target": "com.amazonaws.ec2#PlacementGroupArn", + "SourceIpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", "traits": { - "aws.protocols#ec2QueryName": "PlacementGroupArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the cluster placement group in which \n\t\t\tthe Capacity Reservation was created. For more information, see \n\t\t\t\n\t\t\t\tCapacity Reservations for cluster placement groups in the \n\t\t\tAmazon EC2 User Guide.

", - "smithy.api#xmlName": "placementGroupArn" + "smithy.api#documentation": "

The ID of the source IPAM pool. Use this option to create a pool within an existing pool. Note that the CIDR you provision for the pool within the source pool must be available in the source pool's CIDR range.

" } }, - "CapacityAllocations": { - "target": "com.amazonaws.ec2#CapacityAllocations", - "traits": { - "aws.protocols#ec2QueryName": "CapacityAllocationSet", - "smithy.api#documentation": "

Information about instance capacity usage.

", - "smithy.api#xmlName": "capacityAllocationSet" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a Capacity Reservation.

" - } - }, - "com.amazonaws.ec2#CapacityReservationFleet": { - "type": "structure", - "members": { - "CapacityReservationFleetId": { - "target": "com.amazonaws.ec2#CapacityReservationFleetId", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CapacityReservationFleetId", - "smithy.api#documentation": "

The ID of the Capacity Reservation Fleet.

", - "smithy.api#xmlName": "capacityReservationFleetId" + "smithy.api#documentation": "

A description for the IPAM pool.

" } }, - "CapacityReservationFleetArn": { - "target": "com.amazonaws.ec2#String", + "AddressFamily": { + "target": "com.amazonaws.ec2#AddressFamily", "traits": { - "aws.protocols#ec2QueryName": "CapacityReservationFleetArn", - "smithy.api#documentation": "

The ARN of the Capacity Reservation Fleet.

", - "smithy.api#xmlName": "capacityReservationFleetArn" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The IP protocol assigned to this IPAM pool. You must choose either IPv4 or IPv6 protocol for a pool.

", + "smithy.api#required": {} } }, - "State": { - "target": "com.amazonaws.ec2#CapacityReservationFleetState", + "AutoImport": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the Capacity Reservation Fleet. Possible states include:

\n\t\t
    \n
  • \n\t\t\t\t

    \n submitted - The Capacity Reservation Fleet request has been submitted \n\t\t\t\t\tand Amazon Elastic Compute Cloud is preparing to create the Capacity Reservations.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n modifying - The Capacity Reservation Fleet is being modified. The Fleet \n\t\t\t\t\tremains in this state until the modification is complete.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n active - The Capacity Reservation Fleet has fulfilled its total target \n\t\t\t\t\tcapacity and it is attempting to maintain this capacity. The Fleet remains in this \n\t\t\t\t\tstate until it is modified or deleted.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n partially_fulfilled - The Capacity Reservation Fleet has partially \n\t\t\t\t\tfulfilled its total target capacity. There is insufficient Amazon EC2 to \n\t\t\t\t\tfulfill the total target capacity. The Fleet is attempting to asynchronously fulfill \n\t\t\t\t\tits total target capacity.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n expiring - The Capacity Reservation Fleet has reach its end date and it \n\t\t\t\t\tis in the process of expiring. One or more of its Capacity reservations might still \n\t\t\t\t\tbe active.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n expired - The Capacity Reservation Fleet has reach its end date. The Fleet \n\t\t\t\t\tand its Capacity Reservations are expired. The Fleet can't create new Capacity \n\t\t\t\t\tReservations.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n cancelling - The Capacity Reservation Fleet is in the process of being \n\t\t\t\t\tcancelled. One or more of its Capacity reservations might still be active.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n cancelled - The Capacity Reservation Fleet has been manually cancelled. \n\t\t\t\t\tThe Fleet and its Capacity Reservations are cancelled and the Fleet can't create new \n\t\t\t\t\tCapacity Reservations.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n failed - The Capacity Reservation Fleet failed to reserve capacity for \n\t\t\t\t\tthe specified instance types.

    \n\t\t\t
  • \n
", - "smithy.api#xmlName": "state" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

If selected, IPAM will continuously look for resources within the CIDR range of this pool \n and automatically import them as allocations into your IPAM. The CIDRs that will be allocated for\n these resources must not already be allocated to other resources in order for the import to succeed. IPAM will import \n a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be imported and subsequently \n marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM \n discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only.\n

\n

A locale must be set on the pool for this feature to work.

" } }, - "TotalTargetCapacity": { - "target": "com.amazonaws.ec2#Integer", + "PubliclyAdvertisable": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "TotalTargetCapacity", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The total number of capacity units for which the Capacity Reservation Fleet reserves capacity. \n\t\t\tFor more information, see Total target capacity \n\t\t\tin the Amazon EC2 User Guide.

", - "smithy.api#xmlName": "totalTargetCapacity" + "smithy.api#default": false, + "smithy.api#documentation": "

Determines if the pool is publicly advertisable. This option is not available for pools with AddressFamily set to ipv4.

" } }, - "TotalFulfilledCapacity": { - "target": "com.amazonaws.ec2#Double", + "AllocationMinNetmaskLength": { + "target": "com.amazonaws.ec2#IpamNetmaskLength", "traits": { - "aws.protocols#ec2QueryName": "TotalFulfilledCapacity", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The capacity units that have been fulfilled.

", - "smithy.api#xmlName": "totalFulfilledCapacity" + "smithy.api#documentation": "

The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. The minimum netmask length must be \n less than the maximum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.

" } }, - "Tenancy": { - "target": "com.amazonaws.ec2#FleetCapacityReservationTenancy", + "AllocationMaxNetmaskLength": { + "target": "com.amazonaws.ec2#IpamNetmaskLength", "traits": { - "aws.protocols#ec2QueryName": "Tenancy", - "smithy.api#documentation": "

The tenancy of the Capacity Reservation Fleet. Tenancies include:

\n\t\t
    \n
  • \n\t\t\t\t

    \n default - The Capacity Reservation Fleet is created on hardware that is \n\t\t\t\t\tshared with other Amazon Web Services accounts.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n dedicated - The Capacity Reservation Fleet is created on single-tenant \n\t\t\t\t\thardware that is dedicated to a single Amazon Web Services account.

    \n\t\t\t
  • \n
", - "smithy.api#xmlName": "tenancy" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. The maximum netmask length must be \n greater than the minimum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.

" } }, - "EndDate": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "AllocationDefaultNetmaskLength": { + "target": "com.amazonaws.ec2#IpamNetmaskLength", "traits": { - "aws.protocols#ec2QueryName": "EndDate", - "smithy.api#documentation": "

The date and time at which the Capacity Reservation Fleet expires.

", - "smithy.api#xmlName": "endDate" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, \n new allocations will default to 10.0.0.0/16.

" } }, - "CreateTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "AllocationResourceTags": { + "target": "com.amazonaws.ec2#RequestIpamResourceTagList", "traits": { - "aws.protocols#ec2QueryName": "CreateTime", - "smithy.api#documentation": "

The date and time at which the Capacity Reservation Fleet was created.

", - "smithy.api#xmlName": "createTime" + "smithy.api#documentation": "

Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these tags will not be allowed to allocate space from the pool. If the resources have their tags changed after they have allocated space or if the allocation tagging requirements are changed on the pool, the resource may be marked as noncompliant.

", + "smithy.api#xmlName": "AllocationResourceTag" } }, - "InstanceMatchCriteria": { - "target": "com.amazonaws.ec2#FleetInstanceMatchCriteria", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "InstanceMatchCriteria", - "smithy.api#documentation": "

Indicates the type of instance launches that the Capacity Reservation Fleet accepts. All \n\t\t\tCapacity Reservations in the Fleet inherit this instance matching criteria.

\n\t\t

Currently, Capacity Reservation Fleets support open instance matching criteria \n\t\t\tonly. This means that instances that have matching attributes (instance type, platform, and \n\t\t\tAvailability Zone) run in the Capacity Reservations automatically. Instances do not need to \n\t\t\texplicitly target a Capacity Reservation Fleet to use its reserved capacity.

", - "smithy.api#xmlName": "instanceMatchCriteria" + "smithy.api#documentation": "

The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

", + "smithy.api#xmlName": "TagSpecification" } }, - "AllocationStrategy": { + "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AllocationStrategy", - "smithy.api#documentation": "

The strategy used by the Capacity Reservation Fleet to determine which of the specified \n\t\t\tinstance types to use. For more information, see For more information, see \n\t\t\t\n\t\t\t\tAllocation strategy in the Amazon EC2 User Guide.

", - "smithy.api#xmlName": "allocationStrategy" + "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

", + "smithy.api#idempotencyToken": {} } }, - "InstanceTypeSpecifications": { - "target": "com.amazonaws.ec2#FleetCapacityReservationSet", + "AwsService": { + "target": "com.amazonaws.ec2#IpamPoolAwsService", "traits": { - "aws.protocols#ec2QueryName": "InstanceTypeSpecificationSet", - "smithy.api#documentation": "

Information about the instance types for which to reserve the capacity.

", - "smithy.api#xmlName": "instanceTypeSpecificationSet" + "smithy.api#documentation": "

Limits which service in Amazon Web Services that the pool can be used in. \"ec2\", for example, allows users to use space for Elastic IP addresses and VPCs.

" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "PublicIpSource": { + "target": "com.amazonaws.ec2#IpamPoolPublicIpSource", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags assigned to the Capacity Reservation Fleet.

", - "smithy.api#xmlName": "tagSet" + "smithy.api#documentation": "

The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools in the public scope. Default is byoip. For more information, see Create IPv6 pools in the Amazon VPC IPAM User Guide. \n By default, you can add only one Amazon-provided IPv6 CIDR block to a top-level IPv6 pool if PublicIpSource is amazon. For information on increasing the default limit, see Quotas for your IPAM in the Amazon VPC IPAM User Guide.

" } } }, "traits": { - "smithy.api#documentation": "

Information about a Capacity Reservation Fleet.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CapacityReservationFleetCancellationState": { + "com.amazonaws.ec2#CreateIpamPoolResult": { "type": "structure", "members": { - "CurrentFleetState": { - "target": "com.amazonaws.ec2#CapacityReservationFleetState", - "traits": { - "aws.protocols#ec2QueryName": "CurrentFleetState", - "smithy.api#documentation": "

The current state of the Capacity Reservation Fleet.

", - "smithy.api#xmlName": "currentFleetState" - } - }, - "PreviousFleetState": { - "target": "com.amazonaws.ec2#CapacityReservationFleetState", - "traits": { - "aws.protocols#ec2QueryName": "PreviousFleetState", - "smithy.api#documentation": "

The previous state of the Capacity Reservation Fleet.

", - "smithy.api#xmlName": "previousFleetState" - } - }, - "CapacityReservationFleetId": { - "target": "com.amazonaws.ec2#CapacityReservationFleetId", + "IpamPool": { + "target": "com.amazonaws.ec2#IpamPool", "traits": { - "aws.protocols#ec2QueryName": "CapacityReservationFleetId", - "smithy.api#documentation": "

The ID of the Capacity Reservation Fleet that was successfully cancelled.

", - "smithy.api#xmlName": "capacityReservationFleetId" + "aws.protocols#ec2QueryName": "IpamPool", + "smithy.api#documentation": "

Information about the IPAM pool created.

", + "smithy.api#xmlName": "ipamPool" } } - }, - "traits": { - "smithy.api#documentation": "

Describes a Capacity Reservation Fleet that was successfully cancelled.

" - } - }, - "com.amazonaws.ec2#CapacityReservationFleetCancellationStateSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#CapacityReservationFleetCancellationState", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#CapacityReservationFleetId": { - "type": "string" - }, - "com.amazonaws.ec2#CapacityReservationFleetIdSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#CapacityReservationFleetId", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#CapacityReservationFleetSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#CapacityReservationFleet", - "traits": { - "smithy.api#xmlName": "item" - } } }, - "com.amazonaws.ec2#CapacityReservationFleetState": { - "type": "enum", + "com.amazonaws.ec2#CreateIpamRequest": { + "type": "structure", "members": { - "SUBMITTED": { - "target": "smithy.api#Unit", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "submitted" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "MODIFYING": { - "target": "smithy.api#Unit", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "modifying" + "smithy.api#documentation": "

A description for the IPAM.

" } }, - "ACTIVE": { - "target": "smithy.api#Unit", + "OperatingRegions": { + "target": "com.amazonaws.ec2#AddIpamOperatingRegionSet", "traits": { - "smithy.api#enumValue": "active" + "smithy.api#documentation": "

The operating Regions for the IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

\n

For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide.\n

", + "smithy.api#xmlName": "OperatingRegion" } }, - "PARTIALLY_FULFILLED": { - "target": "smithy.api#Unit", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#enumValue": "partially_fulfilled" + "smithy.api#documentation": "

The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

", + "smithy.api#xmlName": "TagSpecification" } }, - "EXPIRING": { - "target": "smithy.api#Unit", + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "expiring" + "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CreateIpamResourceDiscovery": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateIpamResourceDiscoveryRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateIpamResourceDiscoveryResult" + }, + "traits": { + "smithy.api#documentation": "

Creates an IPAM resource discovery. A resource discovery is an IPAM component that enables IPAM Service to manage and monitor resources that belong to the owning account.

" + } + }, + "com.amazonaws.ec2#CreateIpamResourceDiscoveryRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "EXPIRED": { - "target": "smithy.api#Unit", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "expired" + "smithy.api#documentation": "

A description for the IPAM resource discovery.

" } }, - "CANCELLING": { - "target": "smithy.api#Unit", + "OperatingRegions": { + "target": "com.amazonaws.ec2#AddIpamOperatingRegionSet", "traits": { - "smithy.api#enumValue": "cancelling" + "smithy.api#documentation": "

Operating Regions for the IPAM resource discovery. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

", + "smithy.api#xmlName": "OperatingRegion" } }, - "CANCELLED": { - "target": "smithy.api#Unit", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#enumValue": "cancelled" + "smithy.api#documentation": "

Tag specifications for the IPAM resource discovery.

", + "smithy.api#xmlName": "TagSpecification" } }, - "FAILED": { - "target": "smithy.api#Unit", + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "failed" + "smithy.api#documentation": "

A client token for the IPAM resource discovery.

", + "smithy.api#idempotencyToken": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CapacityReservationGroup": { + "com.amazonaws.ec2#CreateIpamResourceDiscoveryResult": { "type": "structure", "members": { - "GroupArn": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "GroupArn", - "smithy.api#documentation": "

The ARN of the resource group.

", - "smithy.api#xmlName": "groupArn" - } - }, - "OwnerId": { - "target": "com.amazonaws.ec2#String", + "IpamResourceDiscovery": { + "target": "com.amazonaws.ec2#IpamResourceDiscovery", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the resource group.

", - "smithy.api#xmlName": "ownerId" + "aws.protocols#ec2QueryName": "IpamResourceDiscovery", + "smithy.api#documentation": "

An IPAM resource discovery.

", + "smithy.api#xmlName": "ipamResourceDiscovery" } } - }, - "traits": { - "smithy.api#documentation": "

Describes a resource group to which a Capacity Reservation has been added.

" } }, - "com.amazonaws.ec2#CapacityReservationGroupSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#CapacityReservationGroup", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#CreateIpamResult": { + "type": "structure", + "members": { + "Ipam": { + "target": "com.amazonaws.ec2#Ipam", + "traits": { + "aws.protocols#ec2QueryName": "Ipam", + "smithy.api#documentation": "

Information about the IPAM created.

", + "smithy.api#xmlName": "ipam" + } } } }, - "com.amazonaws.ec2#CapacityReservationId": { - "type": "string" - }, - "com.amazonaws.ec2#CapacityReservationIdSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#CapacityReservationId", - "traits": { - "smithy.api#xmlName": "item" - } + "com.amazonaws.ec2#CreateIpamScope": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateIpamScopeRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateIpamScopeResult" + }, + "traits": { + "smithy.api#documentation": "

Create an IPAM scope. In IPAM, a scope is the highest-level container within IPAM. An IPAM contains two default scopes. Each scope represents the IP space for a single network. The private scope is intended for all private IP address space. The public scope is intended for all public IP address space. Scopes enable you to reuse IP addresses across multiple unconnected networks without causing IP address overlap or conflict.

\n

For more information, see Add a scope in the Amazon VPC IPAM User Guide.

" } }, - "com.amazonaws.ec2#CapacityReservationInstancePlatform": { - "type": "enum", + "com.amazonaws.ec2#CreateIpamScopeRequest": { + "type": "structure", "members": { - "LINUX_UNIX": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Linux/UNIX" - } - }, - "RED_HAT_ENTERPRISE_LINUX": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Red Hat Enterprise Linux" - } - }, - "SUSE_LINUX": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "SUSE Linux" - } - }, - "WINDOWS": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Windows" - } - }, - "WINDOWS_WITH_SQL_SERVER": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Windows with SQL Server" - } - }, - "WINDOWS_WITH_SQL_SERVER_ENTERPRISE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Windows with SQL Server Enterprise" - } - }, - "WINDOWS_WITH_SQL_SERVER_STANDARD": { - "target": "smithy.api#Unit", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "Windows with SQL Server Standard" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "WINDOWS_WITH_SQL_SERVER_WEB": { - "target": "smithy.api#Unit", + "IpamId": { + "target": "com.amazonaws.ec2#IpamId", "traits": { - "smithy.api#enumValue": "Windows with SQL Server Web" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the IPAM for which you're creating this scope.

", + "smithy.api#required": {} } }, - "LINUX_WITH_SQL_SERVER_STANDARD": { - "target": "smithy.api#Unit", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "Linux with SQL Server Standard" + "smithy.api#documentation": "

A description for the scope you're creating.

" } }, - "LINUX_WITH_SQL_SERVER_WEB": { - "target": "smithy.api#Unit", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#enumValue": "Linux with SQL Server Web" + "smithy.api#documentation": "

The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

", + "smithy.api#xmlName": "TagSpecification" } }, - "LINUX_WITH_SQL_SERVER_ENTERPRISE": { - "target": "smithy.api#Unit", + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "Linux with SQL Server Enterprise" + "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

", + "smithy.api#idempotencyToken": {} } - }, - "RHEL_WITH_SQL_SERVER_STANDARD": { - "target": "smithy.api#Unit", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CreateIpamScopeResult": { + "type": "structure", + "members": { + "IpamScope": { + "target": "com.amazonaws.ec2#IpamScope", "traits": { - "smithy.api#enumValue": "RHEL with SQL Server Standard" + "aws.protocols#ec2QueryName": "IpamScope", + "smithy.api#documentation": "

Information about the created scope.

", + "smithy.api#xmlName": "ipamScope" } - }, - "RHEL_WITH_SQL_SERVER_ENTERPRISE": { - "target": "smithy.api#Unit", + } + } + }, + "com.amazonaws.ec2#CreateKeyPair": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateKeyPairRequest" + }, + "output": { + "target": "com.amazonaws.ec2#KeyPair" + }, + "traits": { + "smithy.api#documentation": "

Creates an ED25519 or 2048-bit RSA key pair with the specified name and in the\n specified PEM or PPK format. Amazon EC2 stores the public key and displays the private\n key for you to save to a file. The private key is returned as an unencrypted PEM encoded\n PKCS#1 private key or an unencrypted PPK formatted private key for use with PuTTY. If a\n key with the specified name already exists, Amazon EC2 returns an error.

\n

The key pair returned to you is available only in the Amazon Web Services Region in which you create it.\n If you prefer, you can create your own key pair using a third-party tool and upload it\n to any Region using ImportKeyPair.

\n

You can have up to 5,000 key pairs per Amazon Web Services Region.

\n

For more information, see Amazon EC2 key pairs in the\n Amazon Elastic Compute Cloud User Guide.

" + } + }, + "com.amazonaws.ec2#CreateKeyPairRequest": { + "type": "structure", + "members": { + "KeyName": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "RHEL with SQL Server Enterprise" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

A unique name for the key pair.

\n

Constraints: Up to 255 ASCII characters

", + "smithy.api#required": {} } }, - "RHEL_WITH_SQL_SERVER_WEB": { - "target": "smithy.api#Unit", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "RHEL with SQL Server Web" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "RHEL_WITH_HA": { - "target": "smithy.api#Unit", + "KeyType": { + "target": "com.amazonaws.ec2#KeyType", "traits": { - "smithy.api#enumValue": "RHEL with HA" + "smithy.api#documentation": "

The type of key pair. Note that ED25519 keys are not supported for Windows instances.

\n

Default: rsa\n

" } }, - "RHEL_WITH_HA_AND_SQL_SERVER_STANDARD": { - "target": "smithy.api#Unit", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#enumValue": "RHEL with HA and SQL Server Standard" + "smithy.api#documentation": "

The tags to apply to the new key pair.

", + "smithy.api#xmlName": "TagSpecification" } }, - "RHEL_WITH_HA_AND_SQL_SERVER_ENTERPRISE": { - "target": "smithy.api#Unit", + "KeyFormat": { + "target": "com.amazonaws.ec2#KeyFormat", "traits": { - "smithy.api#enumValue": "RHEL with HA and SQL Server Enterprise" + "smithy.api#documentation": "

The format of the key pair.

\n

Default: pem\n

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CapacityReservationOptions": { - "type": "structure", - "members": { - "UsageStrategy": { - "target": "com.amazonaws.ec2#FleetCapacityReservationUsageStrategy", - "traits": { - "aws.protocols#ec2QueryName": "UsageStrategy", - "smithy.api#documentation": "

Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity.

\n

If you specify use-capacity-reservations-first, the fleet uses unused\n Capacity Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. If\n multiple instance pools have unused Capacity Reservations, the On-Demand allocation\n strategy (lowest-price or prioritized) is applied. If the number\n of unused Capacity Reservations is less than the On-Demand target capacity, the remaining\n On-Demand target capacity is launched according to the On-Demand allocation strategy\n (lowest-price or prioritized).

\n

If you do not specify a value, the fleet fulfils the On-Demand capacity according to the\n chosen On-Demand allocation strategy.

", - "smithy.api#xmlName": "usageStrategy" - } - } + "com.amazonaws.ec2#CreateLaunchTemplate": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateLaunchTemplateRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateLaunchTemplateResult" }, "traits": { - "smithy.api#documentation": "

Describes the strategy for using unused Capacity Reservations for fulfilling On-Demand\n capacity.

\n \n

This strategy can only be used if the EC2 Fleet is of type\n instant.

\n
\n

For more information about Capacity Reservations, see On-Demand Capacity\n Reservations in the Amazon EC2 User Guide. For examples of using\n Capacity Reservations in an EC2 Fleet, see EC2 Fleet example\n configurations in the Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Creates a launch template.

\n

A launch template contains the parameters to launch an instance. When you launch an\n instance using RunInstances, you can specify a launch template instead\n of providing the launch parameters in the request. For more information, see Launch\n an instance from a launch template in the\n Amazon Elastic Compute Cloud User Guide.

\n

If you want to clone an existing launch template as the basis for creating a new\n launch template, you can use the Amazon EC2 console. The API, SDKs, and CLI do not support\n cloning a template. For more information, see Create a launch template from an existing launch template in the\n Amazon Elastic Compute Cloud User Guide.

" } }, - "com.amazonaws.ec2#CapacityReservationOptionsRequest": { + "com.amazonaws.ec2#CreateLaunchTemplateRequest": { "type": "structure", "members": { - "UsageStrategy": { - "target": "com.amazonaws.ec2#FleetCapacityReservationUsageStrategy", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity.

\n

If you specify use-capacity-reservations-first, the fleet uses unused\n Capacity Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. If\n multiple instance pools have unused Capacity Reservations, the On-Demand allocation\n strategy (lowest-price or prioritized) is applied. If the number\n of unused Capacity Reservations is less than the On-Demand target capacity, the remaining\n On-Demand target capacity is launched according to the On-Demand allocation strategy\n (lowest-price or prioritized).

\n

If you do not specify a value, the fleet fulfils the On-Demand capacity according to the\n chosen On-Demand allocation strategy.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the strategy for using unused Capacity Reservations for fulfilling On-Demand\n capacity.

\n \n

This strategy can only be used if the EC2 Fleet is of type instant.

\n
\n

For more information about Capacity Reservations, see On-Demand Capacity\n Reservations in the Amazon EC2 User Guide. For examples of using\n Capacity Reservations in an EC2 Fleet, see EC2 Fleet example\n configurations in the Amazon EC2 User Guide.

" - } - }, - "com.amazonaws.ec2#CapacityReservationPreference": { - "type": "enum", - "members": { - "open": { - "target": "smithy.api#Unit", + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "open" + "smithy.api#documentation": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the\n request. For more information, see Ensuring\n idempotency.

\n

Constraint: Maximum 128 ASCII characters.

" } }, - "none": { - "target": "smithy.api#Unit", + "LaunchTemplateName": { + "target": "com.amazonaws.ec2#LaunchTemplateName", "traits": { - "smithy.api#enumValue": "none" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

A name for the launch template.

", + "smithy.api#required": {} } - } - } - }, - "com.amazonaws.ec2#CapacityReservationSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#CapacityReservation", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#CapacityReservationSpecification": { - "type": "structure", - "members": { - "CapacityReservationPreference": { - "target": "com.amazonaws.ec2#CapacityReservationPreference", + }, + "VersionDescription": { + "target": "com.amazonaws.ec2#VersionDescription", "traits": { - "smithy.api#documentation": "

Indicates the instance's Capacity Reservation preferences. Possible preferences include:

\n\t\t
    \n
  • \n

    \n open - The instance can run in any open Capacity Reservation that has matching attributes \n\t\t\t\t(instance type, platform, Availability Zone).

    \n
  • \n
  • \n

    \n none - The instance avoids running in a Capacity Reservation even if one is available. The\n\t\t\t\t\tinstance runs as an On-Demand Instance.

    \n
  • \n
" + "smithy.api#documentation": "

A description for the first version of the launch template.

" } }, - "CapacityReservationTarget": { - "target": "com.amazonaws.ec2#CapacityReservationTarget", + "LaunchTemplateData": { + "target": "com.amazonaws.ec2#RequestLaunchTemplateData", "traits": { - "smithy.api#documentation": "

Information about the target Capacity Reservation or Capacity Reservation group.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The information for the launch template.

", + "smithy.api#required": {} + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

The tags to apply to the launch template on creation. To tag the launch template, the\n resource type must be launch-template.

\n \n

To specify the tags for the resources that are created when an instance is\n launched, you must use the TagSpecifications parameter in the launch\n template data structure.

\n
", + "smithy.api#xmlName": "TagSpecification" } } }, "traits": { - "smithy.api#documentation": "

Describes an instance's Capacity Reservation targeting option. You can specify only one parameter \n\t\t\tat a time. If you specify CapacityReservationPreference and \n\t\t\tCapacityReservationTarget, the request fails.

\n\t\t\t

Use the CapacityReservationPreference parameter to configure the instance\n\t\t\tto run as an On-Demand Instance or to run in any open Capacity Reservation that has\n\t\t\tmatching attributes (instance type, platform, Availability Zone). Use the\n\t\t\tCapacityReservationTarget parameter to explicitly target a specific\n\t\t\t \tCapacity Reservation or a Capacity Reservation group.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CapacityReservationSpecificationResponse": { + "com.amazonaws.ec2#CreateLaunchTemplateResult": { "type": "structure", "members": { - "CapacityReservationPreference": { - "target": "com.amazonaws.ec2#CapacityReservationPreference", + "LaunchTemplate": { + "target": "com.amazonaws.ec2#LaunchTemplate", "traits": { - "aws.protocols#ec2QueryName": "CapacityReservationPreference", - "smithy.api#documentation": "

Describes the instance's Capacity Reservation preferences. Possible preferences include:

\n
    \n
  • \n

    \n open - The instance can run in any open Capacity Reservation that\n has matching attributes (instance type, platform, Availability Zone).

    \n
  • \n
  • \n

    \n none - The instance avoids running in a Capacity Reservation even if one is\n available. The instance runs in On-Demand capacity.

    \n
  • \n
", - "smithy.api#xmlName": "capacityReservationPreference" + "aws.protocols#ec2QueryName": "LaunchTemplate", + "smithy.api#documentation": "

Information about the launch template.

", + "smithy.api#xmlName": "launchTemplate" } }, - "CapacityReservationTarget": { - "target": "com.amazonaws.ec2#CapacityReservationTargetResponse", + "Warning": { + "target": "com.amazonaws.ec2#ValidationWarning", "traits": { - "aws.protocols#ec2QueryName": "CapacityReservationTarget", - "smithy.api#documentation": "

Information about the targeted Capacity Reservation or Capacity Reservation group.

", - "smithy.api#xmlName": "capacityReservationTarget" + "aws.protocols#ec2QueryName": "Warning", + "smithy.api#documentation": "

If the launch template contains parameters or parameter combinations that are not\n valid, an error code and an error message are returned for each issue that's\n found.

", + "smithy.api#xmlName": "warning" } } + } + }, + "com.amazonaws.ec2#CreateLaunchTemplateVersion": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateLaunchTemplateVersionRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateLaunchTemplateVersionResult" }, "traits": { - "smithy.api#documentation": "

Describes the instance's Capacity Reservation targeting preferences. The action returns the\n capacityReservationPreference response element if the instance is\n configured to run in On-Demand capacity, or if it is configured in run in any\n open Capacity Reservation that has matching attributes (instance type, platform,\n Availability Zone). The action returns the capacityReservationTarget\n response element if the instance explicily targets a specific Capacity Reservation or Capacity Reservation group.

" + "smithy.api#documentation": "

Creates a new version of a launch template. You can specify an existing version of\n launch template from which to base the new version.

\n

Launch template versions are numbered in the order in which they are created. You\n cannot specify, change, or replace the numbering of launch template versions.

\n

Launch templates are immutable; after you create a launch template, you can't modify\n it. Instead, you can create a new version of the launch template that includes any\n changes you require.

\n

For more information, see Modify a launch template (manage launch template versions) in the\n Amazon Elastic Compute Cloud User Guide.

" } }, - "com.amazonaws.ec2#CapacityReservationState": { - "type": "enum", + "com.amazonaws.ec2#CreateLaunchTemplateVersionRequest": { + "type": "structure", "members": { - "active": { - "target": "smithy.api#Unit", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "active" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" } }, - "expired": { - "target": "smithy.api#Unit", + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "expired" + "smithy.api#documentation": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the\n request. For more information, see Ensuring\n idempotency.

\n

Constraint: Maximum 128 ASCII characters.

" } }, - "cancelled": { - "target": "smithy.api#Unit", + "LaunchTemplateId": { + "target": "com.amazonaws.ec2#LaunchTemplateId", "traits": { - "smithy.api#enumValue": "cancelled" + "smithy.api#documentation": "

The ID of the launch template.

\n

You must specify either the LaunchTemplateId or the\n LaunchTemplateName, but not both.

" } }, - "pending": { - "target": "smithy.api#Unit", + "LaunchTemplateName": { + "target": "com.amazonaws.ec2#LaunchTemplateName", "traits": { - "smithy.api#enumValue": "pending" + "smithy.api#documentation": "

The name of the launch template.

\n

You must specify the LaunchTemplateName or the\n LaunchTemplateId, but not both.

" } }, - "failed": { - "target": "smithy.api#Unit", + "SourceVersion": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "failed" + "smithy.api#documentation": "

The version number of the launch template version on which to base the new version.\n The new version inherits the same launch parameters as the source version, except for\n parameters that you specify in LaunchTemplateData. Snapshots applied to the\n block device mapping are ignored when creating a new version unless they are explicitly\n included.

" + } + }, + "VersionDescription": { + "target": "com.amazonaws.ec2#VersionDescription", + "traits": { + "smithy.api#documentation": "

A description for the version of the launch template.

" + } + }, + "LaunchTemplateData": { + "target": "com.amazonaws.ec2#RequestLaunchTemplateData", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The information for the launch template.

", + "smithy.api#required": {} + } + }, + "ResolveAlias": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

If true, and if a Systems Manager parameter is specified for ImageId,\n the AMI ID is displayed in the response for imageID. For more information, see Use a Systems \n Manager parameter instead of an AMI ID in the Amazon Elastic Compute Cloud User Guide.

\n

Default: false\n

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CapacityReservationTarget": { + "com.amazonaws.ec2#CreateLaunchTemplateVersionResult": { "type": "structure", "members": { - "CapacityReservationId": { - "target": "com.amazonaws.ec2#CapacityReservationId", + "LaunchTemplateVersion": { + "target": "com.amazonaws.ec2#LaunchTemplateVersion", "traits": { - "smithy.api#documentation": "

The ID of the Capacity Reservation in which to run the instance.

" + "aws.protocols#ec2QueryName": "LaunchTemplateVersion", + "smithy.api#documentation": "

Information about the launch template version.

", + "smithy.api#xmlName": "launchTemplateVersion" } }, - "CapacityReservationResourceGroupArn": { - "target": "com.amazonaws.ec2#String", + "Warning": { + "target": "com.amazonaws.ec2#ValidationWarning", "traits": { - "smithy.api#documentation": "

The ARN of the Capacity Reservation resource group in which to run the instance.

" + "aws.protocols#ec2QueryName": "Warning", + "smithy.api#documentation": "

If the new version of the launch template contains parameters or parameter\n combinations that are not valid, an error code and an error message are returned for\n each issue that's found.

", + "smithy.api#xmlName": "warning" } } + } + }, + "com.amazonaws.ec2#CreateLocalGatewayRoute": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateLocalGatewayRouteRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateLocalGatewayRouteResult" }, "traits": { - "smithy.api#documentation": "

Describes a target Capacity Reservation or Capacity Reservation group.

" + "smithy.api#documentation": "

Creates a static route for the specified local gateway route table. You must specify one of the \n following targets:

\n
    \n
  • \n

    \n LocalGatewayVirtualInterfaceGroupId\n

    \n
  • \n
  • \n

    \n NetworkInterfaceId\n

    \n
  • \n
" } }, - "com.amazonaws.ec2#CapacityReservationTargetResponse": { + "com.amazonaws.ec2#CreateLocalGatewayRouteRequest": { "type": "structure", "members": { - "CapacityReservationId": { + "DestinationCidrBlock": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CapacityReservationId", - "smithy.api#documentation": "

The ID of the targeted Capacity Reservation.

", - "smithy.api#xmlName": "capacityReservationId" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The CIDR range used for destination matches. Routing decisions are based on \n the most specific match.

", + "smithy.api#required": {} } }, - "CapacityReservationResourceGroupArn": { - "target": "com.amazonaws.ec2#String", + "LocalGatewayRouteTableId": { + "target": "com.amazonaws.ec2#LocalGatewayRoutetableId", "traits": { - "aws.protocols#ec2QueryName": "CapacityReservationResourceGroupArn", - "smithy.api#documentation": "

The ARN of the targeted Capacity Reservation group.

", - "smithy.api#xmlName": "capacityReservationResourceGroupArn" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the local gateway route table.

", + "smithy.api#required": {} + } + }, + "LocalGatewayVirtualInterfaceGroupId": { + "target": "com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroupId", + "traits": { + "smithy.api#documentation": "

The ID of the virtual interface group.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#NetworkInterfaceId", + "traits": { + "smithy.api#documentation": "

The ID of the network interface.

" } } }, "traits": { - "smithy.api#documentation": "

Describes a target Capacity Reservation or Capacity Reservation group.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CapacityReservationTenancy": { - "type": "enum", + "com.amazonaws.ec2#CreateLocalGatewayRouteResult": { + "type": "structure", "members": { - "default": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "default" - } - }, - "dedicated": { - "target": "smithy.api#Unit", + "Route": { + "target": "com.amazonaws.ec2#LocalGatewayRoute", "traits": { - "smithy.api#enumValue": "dedicated" + "aws.protocols#ec2QueryName": "Route", + "smithy.api#documentation": "

Information about the route.

", + "smithy.api#xmlName": "route" } } } }, - "com.amazonaws.ec2#CarrierGateway": { + "com.amazonaws.ec2#CreateLocalGatewayRouteTable": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateLocalGatewayRouteTableRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateLocalGatewayRouteTableResult" + }, + "traits": { + "smithy.api#documentation": "

\n Creates a local gateway route table. \n

" + } + }, + "com.amazonaws.ec2#CreateLocalGatewayRouteTableRequest": { "type": "structure", "members": { - "CarrierGatewayId": { - "target": "com.amazonaws.ec2#CarrierGatewayId", - "traits": { - "aws.protocols#ec2QueryName": "CarrierGatewayId", - "smithy.api#documentation": "

The ID of the carrier gateway.

", - "smithy.api#xmlName": "carrierGatewayId" - } - }, - "VpcId": { - "target": "com.amazonaws.ec2#VpcId", + "LocalGatewayId": { + "target": "com.amazonaws.ec2#LocalGatewayId", "traits": { - "aws.protocols#ec2QueryName": "VpcId", - "smithy.api#documentation": "

The ID of the VPC associated with the carrier gateway.

", - "smithy.api#xmlName": "vpcId" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

\n The ID of the local gateway. \n

", + "smithy.api#required": {} } }, - "State": { - "target": "com.amazonaws.ec2#CarrierGatewayState", + "Mode": { + "target": "com.amazonaws.ec2#LocalGatewayRouteTableMode", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the carrier gateway.

", - "smithy.api#xmlName": "state" + "smithy.api#documentation": "

\n The mode of the local gateway route table.\n

" } }, - "OwnerId": { - "target": "com.amazonaws.ec2#String", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The Amazon Web Services account ID of the owner of the carrier gateway.

", - "smithy.api#xmlName": "ownerId" + "smithy.api#documentation": "

\n The tags assigned to the local gateway route table.\n

", + "smithy.api#xmlName": "TagSpecification" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags assigned to the carrier gateway.

", - "smithy.api#xmlName": "tagSet" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Describes a carrier gateway.

" - } - }, - "com.amazonaws.ec2#CarrierGatewayId": { - "type": "string" - }, - "com.amazonaws.ec2#CarrierGatewayIdSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#CarrierGatewayId" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CarrierGatewayMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 1000 + "com.amazonaws.ec2#CreateLocalGatewayRouteTableResult": { + "type": "structure", + "members": { + "LocalGatewayRouteTable": { + "target": "com.amazonaws.ec2#LocalGatewayRouteTable", + "traits": { + "aws.protocols#ec2QueryName": "LocalGatewayRouteTable", + "smithy.api#documentation": "

Information about the local gateway route table.

", + "smithy.api#xmlName": "localGatewayRouteTable" + } } } }, - "com.amazonaws.ec2#CarrierGatewaySet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#CarrierGateway", - "traits": { - "smithy.api#xmlName": "item" - } + "com.amazonaws.ec2#CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociation": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociationRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociationResult" + }, + "traits": { + "smithy.api#documentation": "

\n Creates a local gateway route table virtual interface group association. \n

" } }, - "com.amazonaws.ec2#CarrierGatewayState": { - "type": "enum", + "com.amazonaws.ec2#CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociationRequest": { + "type": "structure", "members": { - "pending": { - "target": "smithy.api#Unit", + "LocalGatewayRouteTableId": { + "target": "com.amazonaws.ec2#LocalGatewayRoutetableId", "traits": { - "smithy.api#enumValue": "pending" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

\n The ID of the local gateway route table.\n

", + "smithy.api#required": {} } }, - "available": { - "target": "smithy.api#Unit", + "LocalGatewayVirtualInterfaceGroupId": { + "target": "com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroupId", "traits": { - "smithy.api#enumValue": "available" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

\n The ID of the local gateway route table virtual interface group association.\n

", + "smithy.api#required": {} } }, - "deleting": { - "target": "smithy.api#Unit", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#enumValue": "deleting" + "smithy.api#documentation": "

\n The tags assigned to the local gateway route table virtual interface group association.\n

", + "smithy.api#xmlName": "TagSpecification" } }, - "deleted": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "deleted" - } - } - } - }, - "com.amazonaws.ec2#CertificateAuthentication": { - "type": "structure", - "members": { - "ClientRootCertificateChain": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "ClientRootCertificateChain", - "smithy.api#documentation": "

The ARN of the client certificate.

", - "smithy.api#xmlName": "clientRootCertificateChain" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Information about the client certificate used for authentication.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CertificateAuthenticationRequest": { + "com.amazonaws.ec2#CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociationResult": { "type": "structure", "members": { - "ClientRootCertificateChainArn": { - "target": "com.amazonaws.ec2#String", + "LocalGatewayRouteTableVirtualInterfaceGroupAssociation": { + "target": "com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociation", "traits": { - "smithy.api#documentation": "

The ARN of the client certificate. The certificate must be signed by a certificate \n\t\t\tauthority (CA) and it must be provisioned in Certificate Manager (ACM).

" + "aws.protocols#ec2QueryName": "LocalGatewayRouteTableVirtualInterfaceGroupAssociation", + "smithy.api#documentation": "

Information about the local gateway route table virtual interface group association.

", + "smithy.api#xmlName": "localGatewayRouteTableVirtualInterfaceGroupAssociation" } } + } + }, + "com.amazonaws.ec2#CreateLocalGatewayRouteTableVpcAssociation": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateLocalGatewayRouteTableVpcAssociationRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateLocalGatewayRouteTableVpcAssociationResult" }, "traits": { - "smithy.api#documentation": "

Information about the client certificate to be used for authentication.

" + "smithy.api#documentation": "

Associates the specified VPC with the specified local gateway route table.

" } }, - "com.amazonaws.ec2#CidrAuthorizationContext": { + "com.amazonaws.ec2#CreateLocalGatewayRouteTableVpcAssociationRequest": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.ec2#String", + "LocalGatewayRouteTableId": { + "target": "com.amazonaws.ec2#LocalGatewayRoutetableId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The plain-text authorization message for the prefix and account.

", + "smithy.api#documentation": "

The ID of the local gateway route table.

", "smithy.api#required": {} } }, - "Signature": { - "target": "com.amazonaws.ec2#String", + "VpcId": { + "target": "com.amazonaws.ec2#VpcId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The signed authorization message for the prefix and account.

", + "smithy.api#documentation": "

The ID of the VPC.

", "smithy.api#required": {} } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

The tags to assign to the local gateway route table VPC association.

", + "smithy.api#xmlName": "TagSpecification" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } } }, "traits": { - "smithy.api#documentation": "

Provides authorization for Amazon to bring a specific IP address range to a specific\n Amazon Web Services account using bring your own IP addresses (BYOIP). For more information, see Configuring your BYOIP address range in the Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CidrBlock": { + "com.amazonaws.ec2#CreateLocalGatewayRouteTableVpcAssociationResult": { "type": "structure", "members": { - "CidrBlock": { - "target": "com.amazonaws.ec2#String", + "LocalGatewayRouteTableVpcAssociation": { + "target": "com.amazonaws.ec2#LocalGatewayRouteTableVpcAssociation", "traits": { - "aws.protocols#ec2QueryName": "CidrBlock", - "smithy.api#documentation": "

The IPv4 CIDR block.

", - "smithy.api#xmlName": "cidrBlock" + "aws.protocols#ec2QueryName": "LocalGatewayRouteTableVpcAssociation", + "smithy.api#documentation": "

Information about the association.

", + "smithy.api#xmlName": "localGatewayRouteTableVpcAssociation" } } - }, - "traits": { - "smithy.api#documentation": "

Describes an IPv4 CIDR block.

" } }, - "com.amazonaws.ec2#CidrBlockSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#CidrBlock", - "traits": { - "smithy.api#xmlName": "item" - } + "com.amazonaws.ec2#CreateManagedPrefixList": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateManagedPrefixListRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateManagedPrefixListResult" + }, + "traits": { + "smithy.api#documentation": "

Creates a managed prefix list. You can specify one or more entries for the prefix list. \n Each entry consists of a CIDR block and an optional description.

" } }, - "com.amazonaws.ec2#ClassicLinkDnsSupport": { + "com.amazonaws.ec2#CreateManagedPrefixListRequest": { "type": "structure", "members": { - "ClassicLinkDnsSupported": { + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "ClassicLinkDnsSupported", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether ClassicLink DNS support is enabled for the VPC.

", - "smithy.api#xmlName": "classicLinkDnsSupported" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "PrefixListName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

A name for the prefix list.

\n

Constraints: Up to 255 characters in length. The name cannot start with com.amazonaws.

", + "smithy.api#required": {} + } + }, + "Entries": { + "target": "com.amazonaws.ec2#AddPrefixListEntries", + "traits": { + "smithy.api#documentation": "

One or more entries for the prefix list.

", + "smithy.api#xmlName": "Entry" + } + }, + "MaxEntries": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of entries for the prefix list.

", + "smithy.api#required": {} + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

The tags to apply to the prefix list during creation.

", + "smithy.api#xmlName": "TagSpecification" + } + }, + "AddressFamily": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The IP address type.

\n

Valid Values: IPv4 | IPv6\n

", + "smithy.api#required": {} } }, - "VpcId": { + "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "VpcId", - "smithy.api#documentation": "

The ID of the VPC.

", - "smithy.api#xmlName": "vpcId" + "smithy.api#documentation": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the\n request. For more information, see Ensuring\n Idempotency.

\n

Constraints: Up to 255 UTF-8 characters in length.

", + "smithy.api#idempotencyToken": {} } } }, "traits": { - "smithy.api#documentation": "

Describes the ClassicLink DNS support status of a VPC.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ClassicLinkDnsSupportList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ClassicLinkDnsSupport", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#CreateManagedPrefixListResult": { + "type": "structure", + "members": { + "PrefixList": { + "target": "com.amazonaws.ec2#ManagedPrefixList", + "traits": { + "aws.protocols#ec2QueryName": "PrefixList", + "smithy.api#documentation": "

Information about the prefix list.

", + "smithy.api#xmlName": "prefixList" + } } } }, - "com.amazonaws.ec2#ClassicLinkInstance": { + "com.amazonaws.ec2#CreateNatGateway": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateNatGatewayRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateNatGatewayResult" + }, + "traits": { + "smithy.api#documentation": "

Creates a NAT gateway in the specified subnet. This action creates a network interface\n in the specified subnet with a private IP address from the IP address range of the\n subnet. You can create either a public NAT gateway or a private NAT gateway.

\n

With a public NAT gateway, internet-bound traffic from a private subnet can be routed\n to the NAT gateway, so that instances in a private subnet can connect to the internet.

\n

With a private NAT gateway, private communication is routed across VPCs and on-premises\n networks through a transit gateway or virtual private gateway. Common use cases include\n running large workloads behind a small pool of allowlisted IPv4 addresses, preserving\n private IPv4 addresses, and communicating between overlapping networks.

\n

For more information, see NAT gateways in the Amazon Virtual Private Cloud User Guide.

" + } + }, + "com.amazonaws.ec2#CreateNatGatewayRequest": { "type": "structure", "members": { - "Groups": { - "target": "com.amazonaws.ec2#GroupIdentifierList", + "AllocationId": { + "target": "com.amazonaws.ec2#AllocationId", "traits": { - "aws.protocols#ec2QueryName": "GroupSet", - "smithy.api#documentation": "

A list of security groups.

", - "smithy.api#xmlName": "groupSet" + "smithy.api#documentation": "

[Public NAT gateways only] The allocation ID of an Elastic IP address to associate \n with the NAT gateway. You cannot specify an Elastic IP address with a private NAT gateway.\n If the Elastic IP address is associated with another resource, you must first disassociate it.

" } }, - "InstanceId": { + "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#documentation": "

The ID of the instance.

", - "smithy.api#xmlName": "instanceId" + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n\t\t\trequest. For more information, see How to ensure\n\t\t\t\tidempotency.

\n

Constraint: Maximum 64 ASCII characters.

", + "smithy.api#idempotencyToken": {} } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags assigned to the instance.

", - "smithy.api#xmlName": "tagSet" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "VpcId": { + "SubnetId": { + "target": "com.amazonaws.ec2#SubnetId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The subnet in which to create the NAT gateway.

", + "smithy.api#required": {} + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

The tags to assign to the NAT gateway.

", + "smithy.api#xmlName": "TagSpecification" + } + }, + "ConnectivityType": { + "target": "com.amazonaws.ec2#ConnectivityType", + "traits": { + "smithy.api#documentation": "

Indicates whether the NAT gateway supports public or private connectivity. \n The default is public connectivity.

" + } + }, + "PrivateIpAddress": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "VpcId", - "smithy.api#documentation": "

The ID of the VPC.

", - "smithy.api#xmlName": "vpcId" + "smithy.api#documentation": "

The private IPv4 address to assign to the NAT gateway. If you don't provide an address, a private IPv4 address will be automatically assigned.

" } } }, "traits": { - "smithy.api#documentation": "\n\t

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n\t
\n\t\t

Describes a linked EC2-Classic instance.

" - } - }, - "com.amazonaws.ec2#ClassicLinkInstanceList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ClassicLinkInstance", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ClassicLoadBalancer": { + "com.amazonaws.ec2#CreateNatGatewayResult": { "type": "structure", "members": { - "Name": { + "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Name", - "smithy.api#documentation": "

The name of the load balancer.

", - "smithy.api#xmlName": "name" + "aws.protocols#ec2QueryName": "ClientToken", + "smithy.api#documentation": "

Unique, case-sensitive identifier to ensure the idempotency of the request. Only returned if a client token was provided in the request.

", + "smithy.api#xmlName": "clientToken" + } + }, + "NatGateway": { + "target": "com.amazonaws.ec2#NatGateway", + "traits": { + "aws.protocols#ec2QueryName": "NatGateway", + "smithy.api#documentation": "

Information about the NAT gateway.

", + "smithy.api#xmlName": "natGateway" } } - }, - "traits": { - "smithy.api#documentation": "

Describes a Classic Load Balancer.

" } }, - "com.amazonaws.ec2#ClassicLoadBalancers": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ClassicLoadBalancer", - "traits": { - "smithy.api#xmlName": "item" - } + "com.amazonaws.ec2#CreateNetworkAcl": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateNetworkAclRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateNetworkAclResult" }, "traits": { - "smithy.api#length": { - "min": 1, - "max": 5 - } + "smithy.api#documentation": "

Creates a network ACL in a VPC. Network ACLs provide an optional layer of security (in addition to security groups) for the instances in your VPC.

\n

For more information, see Network ACLs in the\n\t\t\t\tAmazon Virtual Private Cloud User Guide.

" } }, - "com.amazonaws.ec2#ClassicLoadBalancersConfig": { - "type": "structure", - "members": { - "ClassicLoadBalancers": { - "target": "com.amazonaws.ec2#ClassicLoadBalancers", - "traits": { - "aws.protocols#ec2QueryName": "ClassicLoadBalancers", - "smithy.api#documentation": "

One or more Classic Load Balancers.

", - "smithy.api#xmlName": "classicLoadBalancers" - } - } + "com.amazonaws.ec2#CreateNetworkAclEntry": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateNetworkAclEntryRequest" + }, + "output": { + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Describes the Classic Load Balancers to attach to a Spot Fleet. Spot Fleet registers\n the running Spot Instances with these Classic Load Balancers.

" + "smithy.api#documentation": "

Creates an entry (a rule) in a network ACL with the specified rule number. Each network ACL has a set of numbered ingress rules \n\t\t and a separate set of numbered egress rules. When determining whether a packet should be allowed in or out of a subnet associated \n\t\t with the ACL, we process the entries in the ACL according to the rule numbers, in ascending order. Each network ACL has a set of \n\t\t ingress rules and a separate set of egress rules.

\n

We recommend that you leave room between the rule numbers (for example, 100, 110, 120, ...), and not number them one right after the \n\t\t other (for example, 101, 102, 103, ...). This makes it easier to add a rule between existing ones without having to renumber the rules.

\n

After you add an entry, you can't modify it; you must either replace it, or create an entry and delete the old one.

\n

For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" } }, - "com.amazonaws.ec2#ClientCertificateRevocationListStatus": { + "com.amazonaws.ec2#CreateNetworkAclEntryRequest": { "type": "structure", "members": { - "Code": { - "target": "com.amazonaws.ec2#ClientCertificateRevocationListStatusCode", + "CidrBlock": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Code", - "smithy.api#documentation": "

The state of the client certificate revocation list.

", - "smithy.api#xmlName": "code" + "aws.protocols#ec2QueryName": "CidrBlock", + "smithy.api#documentation": "

The IPv4 network range to allow or deny, in CIDR notation (for example\n\t\t 172.16.0.0/24). We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

", + "smithy.api#xmlName": "cidrBlock" } }, - "Message": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Message", - "smithy.api#documentation": "

A message about the status of the client certificate revocation list, if applicable.

", - "smithy.api#xmlName": "message" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the state of a client certificate revocation list.

" - } - }, - "com.amazonaws.ec2#ClientCertificateRevocationListStatusCode": { - "type": "enum", - "members": { - "pending": { - "target": "smithy.api#Unit", + }, + "Egress": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "pending" + "aws.protocols#ec2QueryName": "Egress", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether this is an egress rule (rule is applied to traffic leaving the subnet).

", + "smithy.api#required": {}, + "smithy.api#xmlName": "egress" } }, - "active": { - "target": "smithy.api#Unit", + "IcmpTypeCode": { + "target": "com.amazonaws.ec2#IcmpTypeCode", "traits": { - "smithy.api#enumValue": "active" + "smithy.api#documentation": "

ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol \n\t\t 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.

", + "smithy.api#xmlName": "Icmp" } - } - } - }, - "com.amazonaws.ec2#ClientConnectOptions": { - "type": "structure", - "members": { - "Enabled": { - "target": "com.amazonaws.ec2#Boolean", + }, + "Ipv6CidrBlock": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Ipv6CidrBlock", + "smithy.api#documentation": "

The IPv6 network range to allow or deny, in CIDR notation (for example\n 2001:db8:1234:1a00::/64).

", + "smithy.api#xmlName": "ipv6CidrBlock" + } + }, + "NetworkAclId": { + "target": "com.amazonaws.ec2#NetworkAclId", "traits": { + "aws.protocols#ec2QueryName": "NetworkAclId", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether client connect options are enabled. The default is false (not enabled).

" + "smithy.api#documentation": "

The ID of the network ACL.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "networkAclId" } }, - "LambdaFunctionArn": { + "PortRange": { + "target": "com.amazonaws.ec2#PortRange", + "traits": { + "aws.protocols#ec2QueryName": "PortRange", + "smithy.api#documentation": "

TCP or UDP protocols: The range of ports the rule applies to.\n\t\t Required if specifying protocol 6 (TCP) or 17 (UDP).

", + "smithy.api#xmlName": "portRange" + } + }, + "Protocol": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Lambda function used for connection authorization.

" + "aws.protocols#ec2QueryName": "Protocol", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The protocol number. A value of \"-1\" means all protocols. If you specify \"-1\" or a\n \t\t\tprotocol number other than \"6\" (TCP), \"17\" (UDP), or \"1\" (ICMP), traffic on all ports is \n\t\t\tallowed, regardless of any ports or ICMP types or codes that you specify. If you specify \n\t\t\tprotocol \"58\" (ICMPv6) and specify an IPv4 CIDR block, traffic for all ICMP types and \n\t\t\tcodes allowed, regardless of any that you specify. If you specify protocol \"58\" (ICMPv6) \n\t\t\tand specify an IPv6 CIDR block, you must specify an ICMP type and code.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "protocol" + } + }, + "RuleAction": { + "target": "com.amazonaws.ec2#RuleAction", + "traits": { + "aws.protocols#ec2QueryName": "RuleAction", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

Indicates whether to allow or deny the traffic that matches the rule.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "ruleAction" + } + }, + "RuleNumber": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "RuleNumber", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The rule number for the entry (for example, 100). ACL entries are processed in ascending order by rule number.

\n

Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 is reserved for internal use.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "ruleNumber" } } }, "traits": { - "smithy.api#documentation": "

The options for managing connection authorization for new client connections.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ClientConnectResponseOptions": { + "com.amazonaws.ec2#CreateNetworkAclRequest": { "type": "structure", "members": { - "Enabled": { + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Enabled", + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether client connect options are enabled.

", - "smithy.api#xmlName": "enabled" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "LambdaFunctionArn": { - "target": "com.amazonaws.ec2#String", + "VpcId": { + "target": "com.amazonaws.ec2#VpcId", "traits": { - "aws.protocols#ec2QueryName": "LambdaFunctionArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Lambda function used for connection authorization.

", - "smithy.api#xmlName": "lambdaFunctionArn" + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the VPC.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "vpcId" } }, - "Status": { - "target": "com.amazonaws.ec2#ClientVpnEndpointAttributeStatus", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The status of any updates to the client connect options.

", - "smithy.api#xmlName": "status" + "smithy.api#documentation": "

The tags to assign to the network ACL.

", + "smithy.api#xmlName": "TagSpecification" } } }, "traits": { - "smithy.api#documentation": "

The options for managing connection authorization for new client connections.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ClientData": { + "com.amazonaws.ec2#CreateNetworkAclResult": { "type": "structure", "members": { - "Comment": { - "target": "com.amazonaws.ec2#String", + "NetworkAcl": { + "target": "com.amazonaws.ec2#NetworkAcl", "traits": { - "smithy.api#documentation": "

A user-defined comment about the disk upload.

" + "aws.protocols#ec2QueryName": "NetworkAcl", + "smithy.api#documentation": "

Information about the network ACL.

", + "smithy.api#xmlName": "networkAcl" + } + } + } + }, + "com.amazonaws.ec2#CreateNetworkInsightsAccessScope": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateNetworkInsightsAccessScopeRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateNetworkInsightsAccessScopeResult" + }, + "traits": { + "smithy.api#documentation": "

Creates a Network Access Scope.

\n

Amazon Web Services Network Access Analyzer enables cloud networking and cloud operations teams \n to verify that their networks on Amazon Web Services conform to their network security and governance \n objectives. For more information, see the Amazon Web Services Network Access Analyzer Guide.

" + } + }, + "com.amazonaws.ec2#CreateNetworkInsightsAccessScopeRequest": { + "type": "structure", + "members": { + "MatchPaths": { + "target": "com.amazonaws.ec2#AccessScopePathListRequest", + "traits": { + "smithy.api#documentation": "

The paths to match.

", + "smithy.api#xmlName": "MatchPath" } }, - "UploadEnd": { - "target": "com.amazonaws.ec2#DateTime", + "ExcludePaths": { + "target": "com.amazonaws.ec2#AccessScopePathListRequest", "traits": { - "smithy.api#documentation": "

The time that the disk upload ends.

" + "smithy.api#documentation": "

The paths to exclude.

", + "smithy.api#xmlName": "ExcludePath" } }, - "UploadSize": { - "target": "com.amazonaws.ec2#Double", + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The size of the uploaded disk image, in GiB.

" + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, \n see How to ensure idempotency.

", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} } }, - "UploadStart": { - "target": "com.amazonaws.ec2#DateTime", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#documentation": "

The time that the disk upload starts.

" + "smithy.api#documentation": "

The tags to apply.

", + "smithy.api#xmlName": "TagSpecification" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the client-specific data.

" - } - }, - "com.amazonaws.ec2#ClientLoginBannerOptions": { - "type": "structure", - "members": { - "Enabled": { + }, + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Enable or disable a customizable text banner that will be displayed on\n\t\t\tAmazon Web Services provided clients when a VPN session is established.

\n\t\t

Valid values: true | false\n

\n\t\t

Default value: false\n

" - } - }, - "BannerText": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

Customizable text that will be displayed in a banner on Amazon Web Services provided\n\t\t\tclients when a VPN session is established. UTF-8 encoded characters only. Maximum of\n\t\t\t1400 characters.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Options for enabling a customizable text banner that will be displayed on\n\t\t\tAmazon Web Services provided clients when a VPN session is established.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ClientLoginBannerResponseOptions": { + "com.amazonaws.ec2#CreateNetworkInsightsAccessScopeResult": { "type": "structure", "members": { - "Enabled": { - "target": "com.amazonaws.ec2#Boolean", + "NetworkInsightsAccessScope": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScope", "traits": { - "aws.protocols#ec2QueryName": "Enabled", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Current state of text banner feature.

\n\t\t

Valid values: true | false\n

", - "smithy.api#xmlName": "enabled" + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScope", + "smithy.api#documentation": "

The Network Access Scope.

", + "smithy.api#xmlName": "networkInsightsAccessScope" } }, - "BannerText": { - "target": "com.amazonaws.ec2#String", + "NetworkInsightsAccessScopeContent": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeContent", "traits": { - "aws.protocols#ec2QueryName": "BannerText", - "smithy.api#documentation": "

Customizable text that will be displayed in a banner on Amazon Web Services provided\n\t\t\tclients when a VPN session is established. UTF-8 encoded\n\t\t\tcharacters only. Maximum of 1400 characters.

", - "smithy.api#xmlName": "bannerText" + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeContent", + "smithy.api#documentation": "

The Network Access Scope content.

", + "smithy.api#xmlName": "networkInsightsAccessScopeContent" } } + } + }, + "com.amazonaws.ec2#CreateNetworkInsightsPath": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateNetworkInsightsPathRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateNetworkInsightsPathResult" }, "traits": { - "smithy.api#documentation": "

Current state of options for customizable text banner that will be displayed on\n\t\t\tAmazon Web Services provided clients when a VPN session is established.

" + "smithy.api#documentation": "

Creates a path to analyze for reachability.

\n

Reachability Analyzer enables you to analyze and debug network reachability between\n two resources in your virtual private cloud (VPC). For more information, see \n What is Reachability Analyzer.

" } }, - "com.amazonaws.ec2#ClientVpnAssociationId": { - "type": "string" - }, - "com.amazonaws.ec2#ClientVpnAuthentication": { + "com.amazonaws.ec2#CreateNetworkInsightsPathRequest": { "type": "structure", "members": { - "Type": { - "target": "com.amazonaws.ec2#ClientVpnAuthenticationType", + "SourceIp": { + "target": "com.amazonaws.ec2#IpAddress", "traits": { - "aws.protocols#ec2QueryName": "Type", - "smithy.api#documentation": "

The authentication type used.

", - "smithy.api#xmlName": "type" + "smithy.api#documentation": "

The IP address of the Amazon Web Services resource that is the source of the path.

" } }, - "ActiveDirectory": { - "target": "com.amazonaws.ec2#DirectoryServiceAuthentication", + "DestinationIp": { + "target": "com.amazonaws.ec2#IpAddress", "traits": { - "aws.protocols#ec2QueryName": "ActiveDirectory", - "smithy.api#documentation": "

Information about the Active Directory, if applicable.

", - "smithy.api#xmlName": "activeDirectory" + "smithy.api#documentation": "

The IP address of the Amazon Web Services resource that is the destination of the path.

" } }, - "MutualAuthentication": { - "target": "com.amazonaws.ec2#CertificateAuthentication", + "Source": { + "target": "com.amazonaws.ec2#NetworkInsightsResourceId", "traits": { - "aws.protocols#ec2QueryName": "MutualAuthentication", - "smithy.api#documentation": "

Information about the authentication certificates, if applicable.

", - "smithy.api#xmlName": "mutualAuthentication" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Amazon Web Services resource that is the source of the path.

", + "smithy.api#required": {} } }, - "FederatedAuthentication": { - "target": "com.amazonaws.ec2#FederatedAuthentication", + "Destination": { + "target": "com.amazonaws.ec2#NetworkInsightsResourceId", "traits": { - "aws.protocols#ec2QueryName": "FederatedAuthentication", - "smithy.api#documentation": "

Information about the IAM SAML identity provider, if applicable.

", - "smithy.api#xmlName": "federatedAuthentication" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Amazon Web Services resource that is the destination of the path.

", + "smithy.api#required": {} } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the authentication methods used by a Client VPN endpoint. For more information, see Authentication \n\t\t\tin the Client VPN Administrator Guide.

" - } - }, - "com.amazonaws.ec2#ClientVpnAuthenticationList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ClientVpnAuthentication", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#ClientVpnAuthenticationRequest": { - "type": "structure", - "members": { - "Type": { - "target": "com.amazonaws.ec2#ClientVpnAuthenticationType", + }, + "Protocol": { + "target": "com.amazonaws.ec2#Protocol", "traits": { - "smithy.api#documentation": "

The type of client authentication to be used.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The protocol.

", + "smithy.api#required": {} } }, - "ActiveDirectory": { - "target": "com.amazonaws.ec2#DirectoryServiceAuthenticationRequest", + "DestinationPort": { + "target": "com.amazonaws.ec2#Port", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The destination port.

" + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

The tags to add to the path.

", + "smithy.api#xmlName": "TagSpecification" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

Information about the Active Directory to be used, if applicable. You must provide this information if Type is directory-service-authentication.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "MutualAuthentication": { - "target": "com.amazonaws.ec2#CertificateAuthenticationRequest", + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

Information about the authentication certificates to be used, if applicable. You must provide this information if Type is certificate-authentication.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, \n see How to ensure idempotency.

", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} } - }, - "FederatedAuthentication": { - "target": "com.amazonaws.ec2#FederatedAuthenticationRequest", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CreateNetworkInsightsPathResult": { + "type": "structure", + "members": { + "NetworkInsightsPath": { + "target": "com.amazonaws.ec2#NetworkInsightsPath", "traits": { - "smithy.api#documentation": "

Information about the IAM SAML identity provider to be used, if applicable. You must provide this information if Type is federated-authentication.

" + "aws.protocols#ec2QueryName": "NetworkInsightsPath", + "smithy.api#documentation": "

Information about the path.

", + "smithy.api#xmlName": "networkInsightsPath" } } + } + }, + "com.amazonaws.ec2#CreateNetworkInterface": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateNetworkInterfaceRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateNetworkInterfaceResult" }, "traits": { - "smithy.api#documentation": "

Describes the authentication method to be used by a Client VPN endpoint. For more information, see Authentication \n\t\t\tin the Client VPN Administrator Guide.

" + "smithy.api#documentation": "

Creates a network interface in the specified subnet.

\n

The number of IP addresses you can assign to a network interface varies by instance\n type. For more information, see IP Addresses Per ENI Per\n Instance Type in the Amazon Virtual Private Cloud User Guide.

\n

For more information about network interfaces, see Elastic network interfaces \n in the Amazon Elastic Compute Cloud User Guide.

" } }, - "com.amazonaws.ec2#ClientVpnAuthenticationRequestList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ClientVpnAuthenticationRequest" + "com.amazonaws.ec2#CreateNetworkInterfacePermission": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateNetworkInterfacePermissionRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateNetworkInterfacePermissionResult" + }, + "traits": { + "smithy.api#documentation": "

Grants an Amazon Web Services-authorized account permission to attach the specified network interface to\n an instance in their account.

\n

You can grant permission to a single Amazon Web Services account only, and only one account at a time.

" } }, - "com.amazonaws.ec2#ClientVpnAuthenticationType": { - "type": "enum", + "com.amazonaws.ec2#CreateNetworkInterfacePermissionRequest": { + "type": "structure", "members": { - "certificate_authentication": { - "target": "smithy.api#Unit", + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#NetworkInterfaceId", "traits": { - "smithy.api#enumValue": "certificate-authentication" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the network interface.

", + "smithy.api#required": {} } }, - "directory_service_authentication": { - "target": "smithy.api#Unit", + "AwsAccountId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "directory-service-authentication" + "smithy.api#documentation": "

The Amazon Web Services account ID.

" } }, - "federated_authentication": { - "target": "smithy.api#Unit", + "AwsService": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "federated-authentication" + "smithy.api#documentation": "

The Amazon Web Service. Currently not supported.

" } - } - } - }, - "com.amazonaws.ec2#ClientVpnAuthorizationRuleStatus": { - "type": "structure", - "members": { - "Code": { - "target": "com.amazonaws.ec2#ClientVpnAuthorizationRuleStatusCode", + }, + "Permission": { + "target": "com.amazonaws.ec2#InterfacePermissionType", "traits": { - "aws.protocols#ec2QueryName": "Code", - "smithy.api#documentation": "

The state of the authorization rule.

", - "smithy.api#xmlName": "code" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The type of permission to grant.

", + "smithy.api#required": {} } }, - "Message": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Message", - "smithy.api#documentation": "

A message about the status of the authorization rule, if applicable.

", - "smithy.api#xmlName": "message" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is DryRunOperation. \n\t\t\tOtherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Describes the state of an authorization rule.

" + "smithy.api#documentation": "

Contains the parameters for CreateNetworkInterfacePermission.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ClientVpnAuthorizationRuleStatusCode": { - "type": "enum", + "com.amazonaws.ec2#CreateNetworkInterfacePermissionResult": { + "type": "structure", "members": { - "authorizing": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "authorizing" - } - }, - "active": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "active" - } - }, - "failed": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "failed" - } - }, - "revoking": { - "target": "smithy.api#Unit", + "InterfacePermission": { + "target": "com.amazonaws.ec2#NetworkInterfacePermission", "traits": { - "smithy.api#enumValue": "revoking" + "aws.protocols#ec2QueryName": "InterfacePermission", + "smithy.api#documentation": "

Information about the permission for the network interface.

", + "smithy.api#xmlName": "interfacePermission" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of CreateNetworkInterfacePermission.

" } }, - "com.amazonaws.ec2#ClientVpnConnection": { + "com.amazonaws.ec2#CreateNetworkInterfaceRequest": { "type": "structure", "members": { - "ClientVpnEndpointId": { + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ClientVpnEndpointId", - "smithy.api#documentation": "

The ID of the Client VPN endpoint to which the client is connected.

", - "smithy.api#xmlName": "clientVpnEndpointId" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A description for the network interface.

", + "smithy.api#xmlName": "description" } }, - "Timestamp": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Timestamp", - "smithy.api#documentation": "

The current date and time.

", - "smithy.api#xmlName": "timestamp" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "ConnectionId": { - "target": "com.amazonaws.ec2#String", + "Groups": { + "target": "com.amazonaws.ec2#SecurityGroupIdStringList", "traits": { - "aws.protocols#ec2QueryName": "ConnectionId", - "smithy.api#documentation": "

The ID of the client connection.

", - "smithy.api#xmlName": "connectionId" + "smithy.api#documentation": "

The IDs of one or more security groups.

", + "smithy.api#xmlName": "SecurityGroupId" } }, - "Username": { - "target": "com.amazonaws.ec2#String", + "Ipv6AddressCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "Username", - "smithy.api#documentation": "

The username of the client who established the client connection. This information is only provided \n\t\t\tif Active Directory client authentication is used.

", - "smithy.api#xmlName": "username" + "aws.protocols#ec2QueryName": "Ipv6AddressCount", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of IPv6 addresses to assign to a network interface. Amazon EC2\n automatically selects the IPv6 addresses from the subnet range.

\n

You can't specify a count of IPv6 addresses using this parameter if you've specified \n one of the following: specific IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.

\n

If your subnet has the AssignIpv6AddressOnCreation attribute set, you can\n override that setting by specifying 0 as the IPv6 address count.

", + "smithy.api#xmlName": "ipv6AddressCount" } }, - "ConnectionEstablishedTime": { - "target": "com.amazonaws.ec2#String", + "Ipv6Addresses": { + "target": "com.amazonaws.ec2#InstanceIpv6AddressList", "traits": { - "aws.protocols#ec2QueryName": "ConnectionEstablishedTime", - "smithy.api#documentation": "

The date and time the client connection was established.

", - "smithy.api#xmlName": "connectionEstablishedTime" + "aws.protocols#ec2QueryName": "Ipv6Addresses", + "smithy.api#documentation": "

The IPv6 addresses from the IPv6 CIDR block range of your subnet.

\n

You can't specify IPv6 addresses using this parameter if you've specified one of the \n following: a count of IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.

", + "smithy.api#xmlName": "ipv6Addresses" } }, - "IngressBytes": { + "PrivateIpAddress": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "IngressBytes", - "smithy.api#documentation": "

The number of bytes sent by the client.

", - "smithy.api#xmlName": "ingressBytes" + "aws.protocols#ec2QueryName": "PrivateIpAddress", + "smithy.api#documentation": "

The primary private IPv4 address of the network interface. If you don't specify an\n IPv4 address, Amazon EC2 selects one for you from the subnet's IPv4 CIDR range. If you\n specify an IP address, you cannot indicate any IP addresses specified in\n privateIpAddresses as primary (only one IP address can be designated as\n primary).

", + "smithy.api#xmlName": "privateIpAddress" } }, - "EgressBytes": { - "target": "com.amazonaws.ec2#String", + "PrivateIpAddresses": { + "target": "com.amazonaws.ec2#PrivateIpAddressSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "EgressBytes", - "smithy.api#documentation": "

The number of bytes received by the client.

", - "smithy.api#xmlName": "egressBytes" + "aws.protocols#ec2QueryName": "PrivateIpAddresses", + "smithy.api#documentation": "

The private IPv4 addresses.

\n

You can't specify private IPv4 addresses if you've specified one of the following:\n a count of private IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.

", + "smithy.api#xmlName": "privateIpAddresses" } }, - "IngressPackets": { - "target": "com.amazonaws.ec2#String", + "SecondaryPrivateIpAddressCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "IngressPackets", - "smithy.api#documentation": "

The number of packets sent by the client.

", - "smithy.api#xmlName": "ingressPackets" + "aws.protocols#ec2QueryName": "SecondaryPrivateIpAddressCount", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of secondary private IPv4 addresses to assign to a network interface. When\n you specify a number of secondary IPv4 addresses, Amazon EC2 selects these IP addresses\n within the subnet's IPv4 CIDR range. You can't specify this option and specify more than\n one private IP address using privateIpAddresses.

\n

You can't specify a count of private IPv4 addresses if you've specified one of the following:\n specific private IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.

", + "smithy.api#xmlName": "secondaryPrivateIpAddressCount" } }, - "EgressPackets": { - "target": "com.amazonaws.ec2#String", + "Ipv4Prefixes": { + "target": "com.amazonaws.ec2#Ipv4PrefixList", "traits": { - "aws.protocols#ec2QueryName": "EgressPackets", - "smithy.api#documentation": "

The number of packets received by the client.

", - "smithy.api#xmlName": "egressPackets" + "smithy.api#documentation": "

The IPv4 prefixes assigned to the network interface.

\n

You can't specify IPv4 prefixes if you've specified one of the following:\n a count of IPv4 prefixes, specific private IPv4 addresses, or a count of private IPv4 addresses.

", + "smithy.api#xmlName": "Ipv4Prefix" } }, - "ClientIp": { - "target": "com.amazonaws.ec2#String", + "Ipv4PrefixCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "ClientIp", - "smithy.api#documentation": "

The IP address of the client.

", - "smithy.api#xmlName": "clientIp" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of IPv4 prefixes that Amazon Web Services automatically assigns to the network interface.

\n

You can't specify a count of IPv4 prefixes if you've specified one of the following:\n specific IPv4 prefixes, specific private IPv4 addresses, or a count of private IPv4\n addresses.

" } }, - "CommonName": { - "target": "com.amazonaws.ec2#String", + "Ipv6Prefixes": { + "target": "com.amazonaws.ec2#Ipv6PrefixList", "traits": { - "aws.protocols#ec2QueryName": "CommonName", - "smithy.api#documentation": "

The common name associated with the client. This is either the name of the client certificate,\n\t\t\tor the Active Directory user name.

", - "smithy.api#xmlName": "commonName" + "smithy.api#documentation": "

The IPv6 prefixes assigned to the network interface.

\n

You can't specify IPv6 prefixes if you've specified one of the following:\n a count of IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.

", + "smithy.api#xmlName": "Ipv6Prefix" } }, - "Status": { - "target": "com.amazonaws.ec2#ClientVpnConnectionStatus", + "Ipv6PrefixCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The current state of the client connection.

", - "smithy.api#xmlName": "status" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of IPv6 prefixes that Amazon Web Services automatically assigns to the network interface.

\n

You can't specify a count of IPv6 prefixes if you've specified one of the following:\n specific IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.

" } }, - "ConnectionEndTime": { - "target": "com.amazonaws.ec2#String", + "InterfaceType": { + "target": "com.amazonaws.ec2#NetworkInterfaceCreationType", "traits": { - "aws.protocols#ec2QueryName": "ConnectionEndTime", - "smithy.api#documentation": "

The date and time the client connection was terminated.

", - "smithy.api#xmlName": "connectionEndTime" + "smithy.api#documentation": "

The type of network interface. The default is interface.

\n

The only supported values are efa and trunk.

" } }, - "PostureComplianceStatuses": { - "target": "com.amazonaws.ec2#ValueStringList", + "SubnetId": { + "target": "com.amazonaws.ec2#SubnetId", "traits": { - "aws.protocols#ec2QueryName": "PostureComplianceStatusSet", - "smithy.api#documentation": "

The statuses returned by the client connect handler for posture compliance, if applicable.

", - "smithy.api#xmlName": "postureComplianceStatusSet" + "aws.protocols#ec2QueryName": "SubnetId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the subnet to associate with the network interface.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "subnetId" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a client connection.

" - } - }, - "com.amazonaws.ec2#ClientVpnConnectionSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ClientVpnConnection", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#ClientVpnConnectionStatus": { - "type": "structure", - "members": { - "Code": { - "target": "com.amazonaws.ec2#ClientVpnConnectionStatusCode", + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "Code", - "smithy.api#documentation": "

The state of the client connection.

", - "smithy.api#xmlName": "code" + "smithy.api#documentation": "

The tags to apply to the new network interface.

", + "smithy.api#xmlName": "TagSpecification" } }, - "Message": { + "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Message", - "smithy.api#documentation": "

A message about the status of the client connection, if applicable.

", - "smithy.api#xmlName": "message" + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

", + "smithy.api#idempotencyToken": {} } } }, "traits": { - "smithy.api#documentation": "

Describes the status of a client connection.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ClientVpnConnectionStatusCode": { - "type": "enum", + "com.amazonaws.ec2#CreateNetworkInterfaceResult": { + "type": "structure", "members": { - "active": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "active" - } - }, - "failed_to_terminate": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "failed-to-terminate" - } - }, - "terminating": { - "target": "smithy.api#Unit", + "NetworkInterface": { + "target": "com.amazonaws.ec2#NetworkInterface", "traits": { - "smithy.api#enumValue": "terminating" + "aws.protocols#ec2QueryName": "NetworkInterface", + "smithy.api#documentation": "

Information about the network interface.

", + "smithy.api#xmlName": "networkInterface" } }, - "terminated": { - "target": "smithy.api#Unit", + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "terminated" + "aws.protocols#ec2QueryName": "ClientToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "clientToken" } } } }, - "com.amazonaws.ec2#ClientVpnEndpoint": { + "com.amazonaws.ec2#CreatePlacementGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreatePlacementGroupRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreatePlacementGroupResult" + }, + "traits": { + "smithy.api#documentation": "

Creates a placement group in which to launch instances. The strategy of the placement\n group determines how the instances are organized within the group.

\n

A cluster placement group is a logical grouping of instances within a\n single Availability Zone that benefit from low network latency, high network throughput.\n A spread placement group places instances on distinct hardware. A\n partition placement group places groups of instances in different\n partitions, where instances in one partition do not share the same hardware with\n instances in another partition.

\n

For more information, see Placement groups in the\n Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#CreatePlacementGroupRequest": { "type": "structure", "members": { - "ClientVpnEndpointId": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "ClientVpnEndpointId", - "smithy.api#documentation": "

The ID of the Client VPN endpoint.

", - "smithy.api#xmlName": "clientVpnEndpointId" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "Description": { + "GroupName": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

A brief description of the endpoint.

", - "smithy.api#xmlName": "description" - } - }, - "Status": { - "target": "com.amazonaws.ec2#ClientVpnEndpointStatus", - "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The current state of the Client VPN endpoint.

", - "smithy.api#xmlName": "status" + "aws.protocols#ec2QueryName": "GroupName", + "smithy.api#documentation": "

A name for the placement group. Must be unique within the scope of your account for\n the Region.

\n

Constraints: Up to 255 ASCII characters

", + "smithy.api#xmlName": "groupName" } }, - "CreationTime": { - "target": "com.amazonaws.ec2#String", + "Strategy": { + "target": "com.amazonaws.ec2#PlacementStrategy", "traits": { - "aws.protocols#ec2QueryName": "CreationTime", - "smithy.api#documentation": "

The date and time the Client VPN endpoint was created.

", - "smithy.api#xmlName": "creationTime" + "aws.protocols#ec2QueryName": "Strategy", + "smithy.api#documentation": "

The placement strategy.

", + "smithy.api#xmlName": "strategy" } }, - "DeletionTime": { - "target": "com.amazonaws.ec2#String", + "PartitionCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "DeletionTime", - "smithy.api#documentation": "

The date and time the Client VPN endpoint was deleted, if applicable.

", - "smithy.api#xmlName": "deletionTime" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of partitions. Valid only when Strategy is\n set to partition.

" } }, - "DnsName": { - "target": "com.amazonaws.ec2#String", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "DnsName", - "smithy.api#documentation": "

The DNS name to be used by clients when connecting to the Client VPN endpoint.

", - "smithy.api#xmlName": "dnsName" + "smithy.api#documentation": "

The tags to apply to the new placement group.

", + "smithy.api#xmlName": "TagSpecification" } }, - "ClientCidrBlock": { - "target": "com.amazonaws.ec2#String", + "SpreadLevel": { + "target": "com.amazonaws.ec2#SpreadLevel", "traits": { - "aws.protocols#ec2QueryName": "ClientCidrBlock", - "smithy.api#documentation": "

The IPv4 address range, in CIDR notation, from which client IP addresses are assigned.

", - "smithy.api#xmlName": "clientCidrBlock" + "smithy.api#documentation": "

Determines how placement groups spread instances.

\n
    \n
  • \n

    Host – You can use host only with Outpost placement\n groups.

    \n
  • \n
  • \n

    Rack – No usage restrictions.

    \n
  • \n
" } - }, - "DnsServers": { - "target": "com.amazonaws.ec2#ValueStringList", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CreatePlacementGroupResult": { + "type": "structure", + "members": { + "PlacementGroup": { + "target": "com.amazonaws.ec2#PlacementGroup", "traits": { - "aws.protocols#ec2QueryName": "DnsServer", - "smithy.api#documentation": "

Information about the DNS servers to be used for DNS resolution.

", - "smithy.api#xmlName": "dnsServer" + "aws.protocols#ec2QueryName": "PlacementGroup", + "smithy.api#documentation": "

Information about the placement group.

", + "smithy.api#xmlName": "placementGroup" } - }, - "SplitTunnel": { + } + } + }, + "com.amazonaws.ec2#CreatePublicIpv4Pool": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreatePublicIpv4PoolRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreatePublicIpv4PoolResult" + }, + "traits": { + "smithy.api#documentation": "

Creates a public IPv4 address pool. A public IPv4 pool is an EC2 IP address pool required for the public IPv4 CIDRs that you own and bring to Amazon Web Services to manage with IPAM. IPv6 addresses you bring to Amazon Web Services, however, use IPAM pools only. To monitor the status of pool creation, use DescribePublicIpv4Pools.

" + } + }, + "com.amazonaws.ec2#CreatePublicIpv4PoolRequest": { + "type": "structure", + "members": { + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "SplitTunnel", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether split-tunnel is enabled in the Client VPN endpoint.

\n\t\t

For information about split-tunnel VPN endpoints, see Split-Tunnel Client VPN endpoint \n\t\t\tin the Client VPN Administrator Guide.

", - "smithy.api#xmlName": "splitTunnel" + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "VpnProtocol": { - "target": "com.amazonaws.ec2#VpnProtocol", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "VpnProtocol", - "smithy.api#documentation": "

The protocol used by the VPN session.

", - "smithy.api#xmlName": "vpnProtocol" + "smithy.api#documentation": "

The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

", + "smithy.api#xmlName": "TagSpecification" } - }, - "TransportProtocol": { - "target": "com.amazonaws.ec2#TransportProtocol", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CreatePublicIpv4PoolResult": { + "type": "structure", + "members": { + "PoolId": { + "target": "com.amazonaws.ec2#Ipv4PoolEc2Id", "traits": { - "aws.protocols#ec2QueryName": "TransportProtocol", - "smithy.api#documentation": "

The transport protocol used by the Client VPN endpoint.

", - "smithy.api#xmlName": "transportProtocol" + "aws.protocols#ec2QueryName": "PoolId", + "smithy.api#documentation": "

The ID of the public IPv4 pool.

", + "smithy.api#xmlName": "poolId" } - }, - "VpnPort": { - "target": "com.amazonaws.ec2#Integer", + } + } + }, + "com.amazonaws.ec2#CreateReplaceRootVolumeTask": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateReplaceRootVolumeTaskRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateReplaceRootVolumeTaskResult" + }, + "traits": { + "smithy.api#documentation": "

Replaces the EBS-backed root volume for a running instance with a new \n volume that is restored to the original root volume's launch state, that is restored to a \n specific snapshot taken from the original root volume, or that is restored from an AMI \n that has the same key characteristics as that of the instance.

\n

For more information, see Replace a root volume in the Amazon Elastic Compute Cloud User Guide.

" + } + }, + "com.amazonaws.ec2#CreateReplaceRootVolumeTaskRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", "traits": { - "aws.protocols#ec2QueryName": "VpnPort", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The port number for the Client VPN endpoint.

", - "smithy.api#xmlName": "vpnPort" + "smithy.api#documentation": "

The ID of the instance for which to replace the root volume.

", + "smithy.api#required": {} } }, - "AssociatedTargetNetworks": { - "target": "com.amazonaws.ec2#AssociatedTargetNetworkSet", + "SnapshotId": { + "target": "com.amazonaws.ec2#SnapshotId", "traits": { - "aws.protocols#ec2QueryName": "AssociatedTargetNetwork", - "smithy.api#deprecated": { - "message": "This property is deprecated. To view the target networks associated with a Client VPN endpoint, call DescribeClientVpnTargetNetworks and inspect the clientVpnTargetNetworks response element." - }, - "smithy.api#documentation": "

Information about the associated target networks. A target network is a subnet in a VPC.

", - "smithy.api#xmlName": "associatedTargetNetwork" + "smithy.api#documentation": "

The ID of the snapshot from which to restore the replacement root volume. The \n specified snapshot must be a snapshot that you previously created from the original \n root volume.

\n

If you want to restore the replacement root volume to the initial launch state, \n or if you want to restore the replacement root volume from an AMI, omit this \n parameter.

" } }, - "ServerCertificateArn": { + "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ServerCertificateArn", - "smithy.api#documentation": "

The ARN of the server certificate.

", - "smithy.api#xmlName": "serverCertificateArn" + "smithy.api#documentation": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. \n If you do not specify a client token, a randomly generated token is used for the request \n to ensure idempotency. For more information, see Ensuring idempotency.

", + "smithy.api#idempotencyToken": {} } }, - "AuthenticationOptions": { - "target": "com.amazonaws.ec2#ClientVpnAuthenticationList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "AuthenticationOptions", - "smithy.api#documentation": "

Information about the authentication method used by the Client VPN endpoint.

", - "smithy.api#xmlName": "authenticationOptions" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "ConnectionLogOptions": { - "target": "com.amazonaws.ec2#ConnectionLogResponseOptions", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "ConnectionLogOptions", - "smithy.api#documentation": "

Information about the client connection logging options for the Client VPN endpoint.

", - "smithy.api#xmlName": "connectionLogOptions" + "smithy.api#documentation": "

The tags to apply to the root volume replacement task.

", + "smithy.api#xmlName": "TagSpecification" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "ImageId": { + "target": "com.amazonaws.ec2#ImageId", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags assigned to the Client VPN endpoint.

", - "smithy.api#xmlName": "tagSet" + "smithy.api#documentation": "

The ID of the AMI to use to restore the root volume. The specified AMI must have the \n same product code, billing information, architecture type, and virtualization type as \n that of the instance.

\n

If you want to restore the replacement volume from a specific snapshot, or if you want \n to restore it to its launch state, omit this parameter.

" } }, - "SecurityGroupIds": { - "target": "com.amazonaws.ec2#ClientVpnSecurityGroupIdSet", + "DeleteReplacedRootVolume": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "SecurityGroupIdSet", - "smithy.api#documentation": "

The IDs of the security groups for the target network.

", - "smithy.api#xmlName": "securityGroupIdSet" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to automatically delete the original root volume after the root volume \n replacement task completes. To delete the original root volume, specify true. \n If you choose to keep the original root volume after the replacement task completes, you must \n manually delete it when you no longer need it.

" } - }, - "VpcId": { - "target": "com.amazonaws.ec2#VpcId", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CreateReplaceRootVolumeTaskResult": { + "type": "structure", + "members": { + "ReplaceRootVolumeTask": { + "target": "com.amazonaws.ec2#ReplaceRootVolumeTask", "traits": { - "aws.protocols#ec2QueryName": "VpcId", - "smithy.api#documentation": "

The ID of the VPC.

", - "smithy.api#xmlName": "vpcId" + "aws.protocols#ec2QueryName": "ReplaceRootVolumeTask", + "smithy.api#documentation": "

Information about the root volume replacement task.

", + "smithy.api#xmlName": "replaceRootVolumeTask" } - }, - "SelfServicePortalUrl": { + } + } + }, + "com.amazonaws.ec2#CreateReservedInstancesListing": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateReservedInstancesListingRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateReservedInstancesListingResult" + }, + "traits": { + "smithy.api#documentation": "

Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in the Reserved Instance\n\t\t\tMarketplace. You can submit one Standard Reserved Instance listing at a time. To get a list of your\n\t\t\tStandard Reserved Instances, you can use the DescribeReservedInstances operation.

\n \n

Only Standard Reserved Instances can be sold in the Reserved Instance Marketplace. \n Convertible Reserved Instances cannot be sold.

\n
\n

The Reserved Instance Marketplace matches sellers who want to resell Standard Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances.

\n

To sell your Standard Reserved Instances, you must first register as a seller in the Reserved Instance\n Marketplace. After completing the registration process, you can create a Reserved Instance\n Marketplace listing of some or all of your Standard Reserved Instances, and specify the upfront price\n to receive for them. Your Standard Reserved Instance listings then become available for purchase. To\n view the details of your Standard Reserved Instance listing, you can use the\n DescribeReservedInstancesListings operation.

\n

For more information, see Reserved Instance Marketplace in the\n\t\t\t\tAmazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#CreateReservedInstancesListingRequest": { + "type": "structure", + "members": { + "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SelfServicePortalUrl", - "smithy.api#documentation": "

The URL of the self-service portal.

", - "smithy.api#xmlName": "selfServicePortalUrl" + "aws.protocols#ec2QueryName": "ClientToken", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

Unique, case-sensitive identifier you provide to ensure idempotency of your\n\t\t\t\tlistings. This helps avoid duplicate listings. For more information, see \n\t\t\t\tEnsuring Idempotency.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "clientToken" } }, - "ClientConnectOptions": { - "target": "com.amazonaws.ec2#ClientConnectResponseOptions", + "InstanceCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "ClientConnectOptions", - "smithy.api#documentation": "

The options for managing connection authorization for new client connections.

", - "smithy.api#xmlName": "clientConnectOptions" + "aws.protocols#ec2QueryName": "InstanceCount", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of instances that are a part of a Reserved Instance account to be listed in the Reserved Instance Marketplace. This number should be less than or equal to the instance count associated with the Reserved Instance ID specified in this call.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "instanceCount" } }, - "SessionTimeoutHours": { - "target": "com.amazonaws.ec2#Integer", + "PriceSchedules": { + "target": "com.amazonaws.ec2#PriceScheduleSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "SessionTimeoutHours", + "aws.protocols#ec2QueryName": "PriceSchedules", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum VPN session duration time in hours.

\n\t\t

Valid values: 8 | 10 | 12 | 24\n

\n\t\t

Default value: 24\n

", - "smithy.api#xmlName": "sessionTimeoutHours" + "smithy.api#documentation": "

A list specifying the price of the Standard Reserved Instance for each month remaining in the Reserved Instance term.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "priceSchedules" } }, - "ClientLoginBannerOptions": { - "target": "com.amazonaws.ec2#ClientLoginBannerResponseOptions", + "ReservedInstancesId": { + "target": "com.amazonaws.ec2#ReservationId", "traits": { - "aws.protocols#ec2QueryName": "ClientLoginBannerOptions", - "smithy.api#documentation": "

Options for enabling a customizable text banner that will be displayed on Amazon Web Services provided clients when a VPN session is\n\t\t\testablished.

", - "smithy.api#xmlName": "clientLoginBannerOptions" + "aws.protocols#ec2QueryName": "ReservedInstancesId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the active Standard Reserved Instance.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "reservedInstancesId" } } }, "traits": { - "smithy.api#documentation": "

Describes a Client VPN endpoint.

" + "smithy.api#documentation": "

Contains the parameters for CreateReservedInstancesListing.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ClientVpnEndpointAttributeStatus": { + "com.amazonaws.ec2#CreateReservedInstancesListingResult": { "type": "structure", "members": { - "Code": { - "target": "com.amazonaws.ec2#ClientVpnEndpointAttributeStatusCode", - "traits": { - "aws.protocols#ec2QueryName": "Code", - "smithy.api#documentation": "

The status code.

", - "smithy.api#xmlName": "code" - } - }, - "Message": { - "target": "com.amazonaws.ec2#String", + "ReservedInstancesListings": { + "target": "com.amazonaws.ec2#ReservedInstancesListingList", "traits": { - "aws.protocols#ec2QueryName": "Message", - "smithy.api#documentation": "

The status message.

", - "smithy.api#xmlName": "message" + "aws.protocols#ec2QueryName": "ReservedInstancesListingsSet", + "smithy.api#documentation": "

Information about the Standard Reserved Instance listing.

", + "smithy.api#xmlName": "reservedInstancesListingsSet" } } }, "traits": { - "smithy.api#documentation": "

Describes the status of the Client VPN endpoint attribute.

" + "smithy.api#documentation": "

Contains the output of CreateReservedInstancesListing.

" } }, - "com.amazonaws.ec2#ClientVpnEndpointAttributeStatusCode": { - "type": "enum", + "com.amazonaws.ec2#CreateRestoreImageTask": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateRestoreImageTaskRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateRestoreImageTaskResult" + }, + "traits": { + "smithy.api#documentation": "

Starts a task that restores an AMI from an Amazon S3 object that was previously created by using\n CreateStoreImageTask.

\n

To use this API, you must have the required permissions. For more information, see Permissions for storing and restoring AMIs using Amazon S3 in the\n Amazon EC2 User Guide.

\n

For more information, see Store and restore an AMI using\n \tAmazon S3 in the Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#CreateRestoreImageTaskRequest": { + "type": "structure", "members": { - "applying": { - "target": "smithy.api#Unit", + "Bucket": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "applying" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The name of the Amazon S3 bucket that contains the stored AMI object.

", + "smithy.api#required": {} } }, - "applied": { - "target": "smithy.api#Unit", + "ObjectKey": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "applied" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The name of the stored AMI object in the bucket.

", + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The name for the restored AMI. The name must be unique for AMIs in the Region for this\n account. If you do not provide a name, the new AMI gets the same name as the original\n AMI.

" + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

The tags to apply to the AMI and snapshots on restoration. You can tag the AMI, the\n snapshots, or both.

\n
    \n
  • \n

    To tag the AMI, the value for ResourceType must be image.

    \n
  • \n
  • \n

    To\n tag the snapshots, the value for ResourceType must be snapshot. The\n same tag is applied to all of the snapshots that are created.

    \n
  • \n
", + "smithy.api#xmlName": "TagSpecification" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ClientVpnEndpointId": { - "type": "string" - }, - "com.amazonaws.ec2#ClientVpnEndpointIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ClientVpnEndpointId", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#ClientVpnEndpointStatus": { + "com.amazonaws.ec2#CreateRestoreImageTaskResult": { "type": "structure", "members": { - "Code": { - "target": "com.amazonaws.ec2#ClientVpnEndpointStatusCode", - "traits": { - "aws.protocols#ec2QueryName": "Code", - "smithy.api#documentation": "

The state of the Client VPN endpoint. Possible states include:

\n\t\t
    \n
  • \n\t\t\t\t

    \n pending-associate - The Client VPN endpoint has been created but no target networks \n\t\t\t\t\thave been associated. The Client VPN endpoint cannot accept connections.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n available - The Client VPN endpoint has been created and a target network has been\n\t\t\t\t\tassociated. The Client VPN endpoint can accept connections.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n deleting - The Client VPN endpoint is being deleted. The Client VPN endpoint cannot accept\n\t\t\t\t\tconnections.

    \n
  • \n
  • \n\t\t\t\t

    \n deleted - The Client VPN endpoint has been deleted. The Client VPN endpoint cannot accept\n\t\t\t\t\tconnections.

    \n\t\t\t
  • \n
", - "smithy.api#xmlName": "code" - } - }, - "Message": { + "ImageId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Message", - "smithy.api#documentation": "

A message about the status of the Client VPN endpoint.

", - "smithy.api#xmlName": "message" + "aws.protocols#ec2QueryName": "ImageId", + "smithy.api#documentation": "

The AMI ID.

", + "smithy.api#xmlName": "imageId" } } + } + }, + "com.amazonaws.ec2#CreateRoute": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateRouteRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateRouteResult" }, "traits": { - "smithy.api#documentation": "

Describes the state of a Client VPN endpoint.

" + "smithy.api#documentation": "

Creates a route in a route table within a VPC.

\n

You must specify either a destination CIDR block or a prefix list ID. You must also specify \n exactly one of the resources from the parameter list.

\n

When determining how to route traffic, we use the route with the most specific match.\n For example, traffic is destined for the IPv4 address 192.0.2.3, and the\n route table includes the following two IPv4 routes:

\n
    \n
  • \n

    \n 192.0.2.0/24 (goes to some target A)

    \n
  • \n
  • \n

    \n 192.0.2.0/28 (goes to some target B)

    \n
  • \n
\n

Both routes apply to the traffic destined for 192.0.2.3. However, the second route\n\t\t\t\tin the list covers a smaller number of IP addresses and is therefore more specific,\n\t\t\t\tso we use that route to determine where to target the traffic.

\n

For more information about route tables, see Route tables in the\n Amazon Virtual Private Cloud User Guide.

" } }, - "com.amazonaws.ec2#ClientVpnEndpointStatusCode": { - "type": "enum", + "com.amazonaws.ec2#CreateRouteRequest": { + "type": "structure", "members": { - "pending_associate": { - "target": "smithy.api#Unit", + "DestinationCidrBlock": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "pending-associate" + "aws.protocols#ec2QueryName": "DestinationCidrBlock", + "smithy.api#documentation": "

The IPv4 CIDR address block used for the destination match. Routing decisions are based on the most specific match. We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

", + "smithy.api#xmlName": "destinationCidrBlock" } }, - "available": { - "target": "smithy.api#Unit", + "DestinationIpv6CidrBlock": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "available" + "aws.protocols#ec2QueryName": "DestinationIpv6CidrBlock", + "smithy.api#documentation": "

The IPv6 CIDR block used for the destination match. Routing decisions are based on the most specific match.

", + "smithy.api#xmlName": "destinationIpv6CidrBlock" } }, - "deleting": { - "target": "smithy.api#Unit", + "DestinationPrefixListId": { + "target": "com.amazonaws.ec2#PrefixListResourceId", "traits": { - "smithy.api#enumValue": "deleting" + "smithy.api#documentation": "

The ID of a prefix list used for the destination match.

" } }, - "deleted": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "deleted" - } - } - } - }, - "com.amazonaws.ec2#ClientVpnRoute": { - "type": "structure", - "members": { - "ClientVpnEndpointId": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "ClientVpnEndpointId", - "smithy.api#documentation": "

The ID of the Client VPN endpoint with which the route is associated.

", - "smithy.api#xmlName": "clientVpnEndpointId" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "DestinationCidr": { - "target": "com.amazonaws.ec2#String", + "VpcEndpointId": { + "target": "com.amazonaws.ec2#VpcEndpointId", "traits": { - "aws.protocols#ec2QueryName": "DestinationCidr", - "smithy.api#documentation": "

The IPv4 address range, in CIDR notation, of the route destination.

", - "smithy.api#xmlName": "destinationCidr" + "smithy.api#documentation": "

The ID of a VPC endpoint. Supported for Gateway Load Balancer endpoints only.

" } }, - "TargetSubnet": { - "target": "com.amazonaws.ec2#String", + "EgressOnlyInternetGatewayId": { + "target": "com.amazonaws.ec2#EgressOnlyInternetGatewayId", "traits": { - "aws.protocols#ec2QueryName": "TargetSubnet", - "smithy.api#documentation": "

The ID of the subnet through which traffic is routed.

", - "smithy.api#xmlName": "targetSubnet" + "aws.protocols#ec2QueryName": "EgressOnlyInternetGatewayId", + "smithy.api#documentation": "

[IPv6 traffic only] The ID of an egress-only internet gateway.

", + "smithy.api#xmlName": "egressOnlyInternetGatewayId" } }, - "Type": { - "target": "com.amazonaws.ec2#String", + "GatewayId": { + "target": "com.amazonaws.ec2#RouteGatewayId", "traits": { - "aws.protocols#ec2QueryName": "Type", - "smithy.api#documentation": "

The route type.

", - "smithy.api#xmlName": "type" + "aws.protocols#ec2QueryName": "GatewayId", + "smithy.api#documentation": "

The ID of an internet gateway or virtual private gateway attached to your\n\t\t\tVPC.

", + "smithy.api#xmlName": "gatewayId" } }, - "Origin": { - "target": "com.amazonaws.ec2#String", + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", "traits": { - "aws.protocols#ec2QueryName": "Origin", - "smithy.api#documentation": "

Indicates how the route was associated with the Client VPN endpoint. \n\t\t\tassociate indicates that the route was automatically added when the target network \n\t\t\twas associated with the Client VPN endpoint. add-route indicates that the route \n\t\t\twas manually added using the CreateClientVpnRoute action.

", - "smithy.api#xmlName": "origin" + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#documentation": "

The ID of a NAT instance in your VPC. The operation fails if you specify an instance ID unless exactly one network interface is attached.

", + "smithy.api#xmlName": "instanceId" } }, - "Status": { - "target": "com.amazonaws.ec2#ClientVpnRouteStatus", + "NatGatewayId": { + "target": "com.amazonaws.ec2#NatGatewayId", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The current state of the route.

", - "smithy.api#xmlName": "status" + "aws.protocols#ec2QueryName": "NatGatewayId", + "smithy.api#documentation": "

[IPv4 traffic only] The ID of a NAT gateway.

", + "smithy.api#xmlName": "natGatewayId" } }, - "Description": { - "target": "com.amazonaws.ec2#String", + "TransitGatewayId": { + "target": "com.amazonaws.ec2#TransitGatewayId", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

A brief description of the route.

", - "smithy.api#xmlName": "description" + "smithy.api#documentation": "

The ID of a transit gateway.

" } - } - }, - "traits": { - "smithy.api#documentation": "

Information about a Client VPN endpoint route.

" - } - }, - "com.amazonaws.ec2#ClientVpnRouteSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ClientVpnRoute", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#ClientVpnRouteStatus": { - "type": "structure", - "members": { - "Code": { - "target": "com.amazonaws.ec2#ClientVpnRouteStatusCode", + }, + "LocalGatewayId": { + "target": "com.amazonaws.ec2#LocalGatewayId", "traits": { - "aws.protocols#ec2QueryName": "Code", - "smithy.api#documentation": "

The state of the Client VPN endpoint route.

", - "smithy.api#xmlName": "code" + "smithy.api#documentation": "

The ID of the local gateway.

" } }, - "Message": { - "target": "com.amazonaws.ec2#String", + "CarrierGatewayId": { + "target": "com.amazonaws.ec2#CarrierGatewayId", "traits": { - "aws.protocols#ec2QueryName": "Message", - "smithy.api#documentation": "

A message about the status of the Client VPN endpoint route, if applicable.

", - "smithy.api#xmlName": "message" + "smithy.api#documentation": "

The ID of the carrier gateway.

\n

You can only use this option when the VPC contains a subnet which is associated with a Wavelength Zone.

" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the state of a Client VPN endpoint route.

" - } - }, - "com.amazonaws.ec2#ClientVpnRouteStatusCode": { - "type": "enum", - "members": { - "creating": { - "target": "smithy.api#Unit", + }, + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#NetworkInterfaceId", "traits": { - "smithy.api#enumValue": "creating" + "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "smithy.api#documentation": "

The ID of a network interface.

", + "smithy.api#xmlName": "networkInterfaceId" } }, - "active": { - "target": "smithy.api#Unit", + "RouteTableId": { + "target": "com.amazonaws.ec2#RouteTableId", "traits": { - "smithy.api#enumValue": "active" + "aws.protocols#ec2QueryName": "RouteTableId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the route table for the route.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "routeTableId" } }, - "failed": { - "target": "smithy.api#Unit", + "VpcPeeringConnectionId": { + "target": "com.amazonaws.ec2#VpcPeeringConnectionId", "traits": { - "smithy.api#enumValue": "failed" + "aws.protocols#ec2QueryName": "VpcPeeringConnectionId", + "smithy.api#documentation": "

The ID of a VPC peering connection.

", + "smithy.api#xmlName": "vpcPeeringConnectionId" } }, - "deleting": { - "target": "smithy.api#Unit", + "CoreNetworkArn": { + "target": "com.amazonaws.ec2#CoreNetworkArn", "traits": { - "smithy.api#enumValue": "deleting" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the core network.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ClientVpnSecurityGroupIdSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#SecurityGroupId", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#CloudWatchLogGroupArn": { - "type": "string" - }, - "com.amazonaws.ec2#CloudWatchLogOptions": { + "com.amazonaws.ec2#CreateRouteResult": { "type": "structure", "members": { - "LogEnabled": { + "Return": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "LogEnabled", + "aws.protocols#ec2QueryName": "Return", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Status of VPN tunnel logging feature. Default value is False.

\n

Valid values: True | False\n

", - "smithy.api#xmlName": "logEnabled" - } - }, - "LogGroupArn": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "LogGroupArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to.

", - "smithy.api#xmlName": "logGroupArn" - } - }, - "LogOutputFormat": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "LogOutputFormat", - "smithy.api#documentation": "

Configured log format. Default format is json.

\n

Valid values: json | text\n

", - "smithy.api#xmlName": "logOutputFormat" + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "smithy.api#xmlName": "return" } } + } + }, + "com.amazonaws.ec2#CreateRouteTable": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateRouteTableRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateRouteTableResult" }, "traits": { - "smithy.api#documentation": "

Options for sending VPN tunnel logs to CloudWatch.

" + "smithy.api#documentation": "

Creates a route table for the specified VPC. After you create a route table, you can add routes and associate the table with a subnet.

\n

For more information, see Route tables in the\n\t\t\t\tAmazon Virtual Private Cloud User Guide.

" } }, - "com.amazonaws.ec2#CloudWatchLogOptionsSpecification": { + "com.amazonaws.ec2#CreateRouteTableRequest": { "type": "structure", "members": { - "LogEnabled": { + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Enable or disable VPN tunnel logging feature. Default value is False.

\n

Valid values: True | False\n

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "LogGroupArn": { - "target": "com.amazonaws.ec2#CloudWatchLogGroupArn", + "VpcId": { + "target": "com.amazonaws.ec2#VpcId", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to.

" + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the VPC.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "vpcId" } }, - "LogOutputFormat": { - "target": "com.amazonaws.ec2#String", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

The tags to assign to the route table.

", + "smithy.api#xmlName": "TagSpecification" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CreateRouteTableResult": { + "type": "structure", + "members": { + "RouteTable": { + "target": "com.amazonaws.ec2#RouteTable", "traits": { - "smithy.api#documentation": "

Set log format. Default format is json.

\n\t

Valid values: json | text\n

" + "aws.protocols#ec2QueryName": "RouteTable", + "smithy.api#documentation": "

Information about the route table.

", + "smithy.api#xmlName": "routeTable" } } + } + }, + "com.amazonaws.ec2#CreateSecurityGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateSecurityGroupRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateSecurityGroupResult" }, "traits": { - "smithy.api#documentation": "

Options for sending VPN tunnel logs to CloudWatch.

" + "smithy.api#documentation": "

Creates a security group.

\n

A security group acts as a virtual firewall for your instance to control inbound and outbound traffic.\n For more information, see\n\t\t\t\tAmazon EC2 security groups in \n\t\t\t\tthe Amazon Elastic Compute Cloud User Guide and \n\t\t\t\tSecurity groups for your VPC in the\n\t\t\t\tAmazon Virtual Private Cloud User Guide.

\n

When you create a security group, you specify a friendly name of your choice. You can have a security group for use in EC2-Classic with the same name as a security group for use in a VPC. However, you can't have two security groups for use in EC2-Classic with the same name or two security groups for use in a VPC with the same name.

\n

You have a default security group for use in EC2-Classic and a default security group for use in your VPC. If you don't specify a security group when you launch an instance, the instance is launched into the appropriate default security group. A default security group includes a default rule that grants instances unrestricted network access to each other.

\n

You can add or remove rules from your security groups using \n\t\t\t\t\tAuthorizeSecurityGroupIngress,\n\t\t\t\t\tAuthorizeSecurityGroupEgress,\n\t\t\t\t\tRevokeSecurityGroupIngress, and\n\t\t\t\t\tRevokeSecurityGroupEgress.

\n

For more information about VPC security group limits, see Amazon VPC Limits.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" } }, - "com.amazonaws.ec2#CoipAddressUsage": { + "com.amazonaws.ec2#CreateSecurityGroupRequest": { "type": "structure", "members": { - "AllocationId": { + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AllocationId", - "smithy.api#documentation": "

The allocation ID of the address.

", - "smithy.api#xmlName": "allocationId" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

A description for the security group. This is informational only.

\n

Constraints: Up to 255 characters in length

\n

Constraints for EC2-Classic: ASCII characters

\n

Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*

", + "smithy.api#required": {}, + "smithy.api#xmlName": "GroupDescription" } }, - "AwsAccountId": { + "GroupName": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AwsAccountId", - "smithy.api#documentation": "

The Amazon Web Services account ID.

", - "smithy.api#xmlName": "awsAccountId" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The name of the security group.

\n

Constraints: Up to 255 characters in length. Cannot start with\n sg-.

\n

Constraints for EC2-Classic: ASCII characters

\n

Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*

", + "smithy.api#required": {} } }, - "AwsService": { - "target": "com.amazonaws.ec2#String", + "VpcId": { + "target": "com.amazonaws.ec2#VpcId", "traits": { - "aws.protocols#ec2QueryName": "AwsService", - "smithy.api#documentation": "

The Amazon Web Services service.

", - "smithy.api#xmlName": "awsService" + "smithy.api#documentation": "

[EC2-VPC] The ID of the VPC. Required for EC2-VPC.

" } }, - "CoIp": { - "target": "com.amazonaws.ec2#String", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "CoIp", - "smithy.api#documentation": "

The customer-owned IP address.

", - "smithy.api#xmlName": "coIp" + "smithy.api#documentation": "

The tags to assign to the security group.

", + "smithy.api#xmlName": "TagSpecification" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } } }, "traits": { - "smithy.api#documentation": "

Describes address usage for a customer-owned address pool.

" - } - }, - "com.amazonaws.ec2#CoipAddressUsageSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#CoipAddressUsage", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CoipCidr": { + "com.amazonaws.ec2#CreateSecurityGroupResult": { "type": "structure", "members": { - "Cidr": { + "GroupId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Cidr", - "smithy.api#documentation": "

\n An address range in a customer-owned IP address space.\n

", - "smithy.api#xmlName": "cidr" - } - }, - "CoipPoolId": { - "target": "com.amazonaws.ec2#Ipv4PoolCoipId", - "traits": { - "aws.protocols#ec2QueryName": "CoipPoolId", - "smithy.api#documentation": "

\n The ID of the address pool.\n

", - "smithy.api#xmlName": "coipPoolId" + "aws.protocols#ec2QueryName": "GroupId", + "smithy.api#documentation": "

The ID of the security group.

", + "smithy.api#xmlName": "groupId" } }, - "LocalGatewayRouteTableId": { - "target": "com.amazonaws.ec2#String", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayRouteTableId", - "smithy.api#documentation": "

\n The ID of the local gateway route table.\n

", - "smithy.api#xmlName": "localGatewayRouteTableId" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags assigned to the security group.

", + "smithy.api#xmlName": "tagSet" } } + } + }, + "com.amazonaws.ec2#CreateSnapshot": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateSnapshotRequest" + }, + "output": { + "target": "com.amazonaws.ec2#Snapshot" }, "traits": { - "smithy.api#documentation": "

\n Information about a customer-owned IP address range.\n

" + "smithy.api#documentation": "

Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use snapshots for\n \tbackups, to make copies of EBS volumes, and to save data before shutting down an\n \tinstance.

\n

You can create snapshots of volumes in a Region and volumes on an Outpost. If you \n \tcreate a snapshot of a volume in a Region, the snapshot must be stored in the same \n \tRegion as the volume. If you create a snapshot of a volume on an Outpost, the snapshot \n \tcan be stored on the same Outpost as the volume, or in the Region for that Outpost.

\n

When a snapshot is created, any Amazon Web Services Marketplace product codes that are associated with the\n source volume are propagated to the snapshot.

\n

You can take a snapshot of an attached volume that is in use. However, snapshots only\n capture data that has been written to your Amazon EBS volume at the time the snapshot command is\n issued; this might exclude any data that has been cached by any applications or the operating\n system. If you can pause any file systems on the volume long enough to take a snapshot, your\n snapshot should be complete. However, if you cannot pause all file writes to the volume, you\n should unmount the volume from within the instance, issue the snapshot command, and then\n remount the volume to ensure a consistent and complete snapshot. You may remount and use your\n volume while the snapshot status is pending.

\n

To create a snapshot for Amazon EBS volumes that serve as root devices, you should stop the\n instance before taking the snapshot.

\n

Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that\n are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes\n and any associated snapshots always remain protected.

\n

You can tag your snapshots during creation. For more information, see Tag your Amazon EC2\n resources in the Amazon Elastic Compute Cloud User Guide.

\n

For more information, see Amazon Elastic Block Store and Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

" } }, - "com.amazonaws.ec2#CoipPool": { + "com.amazonaws.ec2#CreateSnapshotRequest": { "type": "structure", "members": { - "PoolId": { - "target": "com.amazonaws.ec2#Ipv4PoolCoipId", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PoolId", - "smithy.api#documentation": "

The ID of the address pool.

", - "smithy.api#xmlName": "poolId" + "smithy.api#documentation": "

A description for the snapshot.

" } }, - "PoolCidrs": { - "target": "com.amazonaws.ec2#ValueStringList", + "OutpostArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PoolCidrSet", - "smithy.api#documentation": "

The address ranges of the address pool.

", - "smithy.api#xmlName": "poolCidrSet" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Outpost on which to create a local \n \tsnapshot.

\n
    \n
  • \n

    To create a snapshot of a volume in a Region, omit this parameter. The snapshot \n \t\t\t\tis created in the same Region as the volume.

    \n
  • \n
  • \n

    To create a snapshot of a volume on an Outpost and store the snapshot in the \n \t\t\t\tRegion, omit this parameter. The snapshot is created in the Region for the \n \t\t\t\tOutpost.

    \n
  • \n
  • \n

    To create a snapshot of a volume on an Outpost and store the snapshot on an \n \t\t\tOutpost, specify the ARN of the destination Outpost. The snapshot must be created on \n \t\t\tthe same Outpost as the volume.

    \n
  • \n
\n

For more information, see Create local snapshots from volumes on an Outpost in the Amazon Elastic Compute Cloud User Guide.

" } }, - "LocalGatewayRouteTableId": { - "target": "com.amazonaws.ec2#LocalGatewayRoutetableId", + "VolumeId": { + "target": "com.amazonaws.ec2#VolumeId", "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayRouteTableId", - "smithy.api#documentation": "

The ID of the local gateway route table.

", - "smithy.api#xmlName": "localGatewayRouteTableId" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Amazon EBS volume.

", + "smithy.api#required": {} } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags.

", - "smithy.api#xmlName": "tagSet" + "smithy.api#documentation": "

The tags to apply to the snapshot during creation.

", + "smithy.api#xmlName": "TagSpecification" } }, - "PoolArn": { - "target": "com.amazonaws.ec2#ResourceArn", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "PoolArn", - "smithy.api#documentation": "

The ARN of the address pool.

", - "smithy.api#xmlName": "poolArn" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } } }, "traits": { - "smithy.api#documentation": "

Describes a customer-owned address pool.

" - } - }, - "com.amazonaws.ec2#CoipPoolId": { - "type": "string" - }, - "com.amazonaws.ec2#CoipPoolIdSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Ipv4PoolCoipId", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#CoipPoolMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 1000 - } - } - }, - "com.amazonaws.ec2#CoipPoolSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#CoipPool", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#ComponentAccount": { - "type": "string", - "traits": { - "smithy.api#pattern": "^\\d{12}$" - } - }, - "com.amazonaws.ec2#ComponentRegion": { - "type": "string", - "traits": { - "smithy.api#pattern": "^[a-z]{2}-[a-z]+-[1-9]+$" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ConfirmProductInstance": { + "com.amazonaws.ec2#CreateSnapshots": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ConfirmProductInstanceRequest" + "target": "com.amazonaws.ec2#CreateSnapshotsRequest" }, "output": { - "target": "com.amazonaws.ec2#ConfirmProductInstanceResult" + "target": "com.amazonaws.ec2#CreateSnapshotsResult" }, "traits": { - "smithy.api#documentation": "

Determines whether a product code is associated with an instance. This action can only\n be used by the owner of the product code. It is useful when a product code owner must\n verify whether another user's instance is eligible for support.

" + "smithy.api#documentation": "

Creates crash-consistent snapshots of multiple EBS volumes and stores the data in S3.\n Volumes are chosen by specifying an instance. Any attached volumes will produce one snapshot\n each that is crash-consistent across the instance.

\n

You can include all of the volumes currently attached to the instance, or you can exclude \n the root volume or specific data (non-root) volumes from the multi-volume snapshot set.

\n

You can create multi-volume snapshots of instances in a Region and instances on an \n \tOutpost. If you create snapshots from an instance in a Region, the snapshots must be stored \n \tin the same Region as the instance. If you create snapshots from an instance on an Outpost, \n \tthe snapshots can be stored on the same Outpost as the instance, or in the Region for that \n \tOutpost.

" } }, - "com.amazonaws.ec2#ConfirmProductInstanceRequest": { + "com.amazonaws.ec2#CreateSnapshotsRequest": { "type": "structure", "members": { - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", + "Description": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

A description propagated to every snapshot specified by the instance.

" + } + }, + "InstanceSpecification": { + "target": "com.amazonaws.ec2#InstanceSpecification", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the instance.

", + "smithy.api#documentation": "

The instance to specify which volumes should be included in the snapshots.

", "smithy.api#required": {} } }, - "ProductCode": { + "OutpostArn": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The product code. This must be a product code that you own.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Outpost on which to create the local \n \t\tsnapshots.

\n
    \n
  • \n

    To create snapshots from an instance in a Region, omit this parameter. The \n \t\t\t\tsnapshots are created in the same Region as the instance.

    \n
  • \n
  • \n

    To create snapshots from an instance on an Outpost and store the snapshots \n \t\t\t\tin the Region, omit this parameter. The snapshots are created in the Region \n \t\t\t\tfor the Outpost.

    \n
  • \n
  • \n

    To create snapshots from an instance on an Outpost and store the snapshots \n \t\t\t\ton an Outpost, specify the ARN of the destination Outpost. The snapshots must \n \t\t\t\tbe created on the same Outpost as the instance.

    \n
  • \n
\n

For more information, see \n \t\tCreate multi-volume local snapshots from instances on an Outpost in the \n \t\tAmazon Elastic Compute Cloud User Guide.

" + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

Tags to apply to every snapshot specified by the instance.

", + "smithy.api#xmlName": "TagSpecification" } }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "CopyTagsFromSource": { + "target": "com.amazonaws.ec2#CopyTagsFromSource", + "traits": { + "smithy.api#documentation": "

Copies the tags from the specified volume to corresponding snapshot.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ConfirmProductInstanceResult": { + "com.amazonaws.ec2#CreateSnapshotsResult": { "type": "structure", "members": { - "OwnerId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The Amazon Web Services account ID of the instance owner. This is only present if the\n product code is attached to the instance.

", - "smithy.api#xmlName": "ownerId" - } - }, - "Return": { - "target": "com.amazonaws.ec2#Boolean", + "Snapshots": { + "target": "com.amazonaws.ec2#SnapshotSet", "traits": { - "aws.protocols#ec2QueryName": "Return", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

The return value of the request. Returns true if the specified product\n code is owned by the requester and associated with the specified instance.

", - "smithy.api#xmlName": "return" + "aws.protocols#ec2QueryName": "SnapshotSet", + "smithy.api#documentation": "

List of snapshots.

", + "smithy.api#xmlName": "snapshotSet" } } } }, - "com.amazonaws.ec2#ConnectionLogOptions": { + "com.amazonaws.ec2#CreateSpotDatafeedSubscription": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateSpotDatafeedSubscriptionRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateSpotDatafeedSubscriptionResult" + }, + "traits": { + "smithy.api#documentation": "

Creates a data feed for Spot Instances, enabling you to view Spot Instance usage logs.\n You can create one data feed per Amazon Web Services account. For more information, see\n Spot Instance data feed \n in the Amazon EC2 User Guide for Linux Instances.

" + } + }, + "com.amazonaws.ec2#CreateSpotDatafeedSubscriptionRequest": { "type": "structure", "members": { - "Enabled": { - "target": "com.amazonaws.ec2#Boolean", + "Bucket": { + "target": "com.amazonaws.ec2#String", "traits": { + "aws.protocols#ec2QueryName": "Bucket", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether connection logging is enabled.

" + "smithy.api#documentation": "

The name of the Amazon S3 bucket in which to store the Spot Instance data feed. For\n more information about bucket names, see Rules for bucket\n naming in the Amazon S3 Developer Guide.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "bucket" } }, - "CloudwatchLogGroup": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The name of the CloudWatch Logs log group. Required if connection logging is enabled.

" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "CloudwatchLogStream": { + "Prefix": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The name of the CloudWatch Logs log stream to which the connection data is published.

" + "aws.protocols#ec2QueryName": "Prefix", + "smithy.api#documentation": "

The prefix for the data feed file names.

", + "smithy.api#xmlName": "prefix" } } }, "traits": { - "smithy.api#documentation": "

Describes the client connection logging options for the Client VPN endpoint.

" + "smithy.api#documentation": "

Contains the parameters for CreateSpotDatafeedSubscription.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ConnectionLogResponseOptions": { + "com.amazonaws.ec2#CreateSpotDatafeedSubscriptionResult": { "type": "structure", "members": { - "Enabled": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether client connection logging is enabled for the Client VPN endpoint.

" - } - }, - "CloudwatchLogGroup": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The name of the Amazon CloudWatch Logs log group to which connection logging data is published.

" - } - }, - "CloudwatchLogStream": { - "target": "com.amazonaws.ec2#String", + "SpotDatafeedSubscription": { + "target": "com.amazonaws.ec2#SpotDatafeedSubscription", "traits": { - "smithy.api#documentation": "

The name of the Amazon CloudWatch Logs log stream to which connection logging data is published.

" + "aws.protocols#ec2QueryName": "SpotDatafeedSubscription", + "smithy.api#documentation": "

The Spot Instance data feed subscription.

", + "smithy.api#xmlName": "spotDatafeedSubscription" } } }, "traits": { - "smithy.api#documentation": "

Information about the client connection logging options for a Client VPN endpoint.

" + "smithy.api#documentation": "

Contains the output of CreateSpotDatafeedSubscription.

" } }, - "com.amazonaws.ec2#ConnectionNotification": { + "com.amazonaws.ec2#CreateStoreImageTask": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateStoreImageTaskRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateStoreImageTaskResult" + }, + "traits": { + "smithy.api#documentation": "

Stores an AMI as a single object in an Amazon S3 bucket.

\n

To use this API, you must have the required permissions. For more information, see Permissions for storing and restoring AMIs using Amazon S3 in the\n Amazon EC2 User Guide.

\n

For more information, see Store and restore an AMI using\n \tAmazon S3 in the Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#CreateStoreImageTaskRequest": { "type": "structure", "members": { - "ConnectionNotificationId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "ConnectionNotificationId", - "smithy.api#documentation": "

The ID of the notification.

", - "smithy.api#xmlName": "connectionNotificationId" - } - }, - "ServiceId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "ServiceId", - "smithy.api#documentation": "

The ID of the endpoint service.

", - "smithy.api#xmlName": "serviceId" - } - }, - "VpcEndpointId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "VpcEndpointId", - "smithy.api#documentation": "

The ID of the VPC endpoint.

", - "smithy.api#xmlName": "vpcEndpointId" - } - }, - "ConnectionNotificationType": { - "target": "com.amazonaws.ec2#ConnectionNotificationType", + "ImageId": { + "target": "com.amazonaws.ec2#ImageId", "traits": { - "aws.protocols#ec2QueryName": "ConnectionNotificationType", - "smithy.api#documentation": "

The type of notification.

", - "smithy.api#xmlName": "connectionNotificationType" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the AMI.

", + "smithy.api#required": {} } }, - "ConnectionNotificationArn": { + "Bucket": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ConnectionNotificationArn", - "smithy.api#documentation": "

The ARN of the SNS topic for the notification.

", - "smithy.api#xmlName": "connectionNotificationArn" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The name of the Amazon S3 bucket in which the AMI object will be stored. The bucket must be in\n the Region in which the request is being made. The AMI object appears in the bucket only after\n the upload task has completed.

", + "smithy.api#required": {} } }, - "ConnectionEvents": { - "target": "com.amazonaws.ec2#ValueStringList", + "S3ObjectTags": { + "target": "com.amazonaws.ec2#S3ObjectTagList", "traits": { - "aws.protocols#ec2QueryName": "ConnectionEvents", - "smithy.api#documentation": "

The events for the notification. Valid values are Accept,\n Connect, Delete, and Reject.

", - "smithy.api#xmlName": "connectionEvents" + "smithy.api#documentation": "

The tags to apply to the AMI object that will be stored in the Amazon S3 bucket.

", + "smithy.api#xmlName": "S3ObjectTag" } }, - "ConnectionNotificationState": { - "target": "com.amazonaws.ec2#ConnectionNotificationState", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "ConnectionNotificationState", - "smithy.api#documentation": "

The state of the notification.

", - "smithy.api#xmlName": "connectionNotificationState" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Describes a connection notification for a VPC endpoint or VPC endpoint\n service.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ConnectionNotificationId": { - "type": "string" - }, - "com.amazonaws.ec2#ConnectionNotificationIdsList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ConnectionNotificationId", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#CreateStoreImageTaskResult": { + "type": "structure", + "members": { + "ObjectKey": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ObjectKey", + "smithy.api#documentation": "

The name of the stored AMI object in the S3 bucket.

", + "smithy.api#xmlName": "objectKey" + } } } }, - "com.amazonaws.ec2#ConnectionNotificationSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ConnectionNotification", - "traits": { - "smithy.api#xmlName": "item" - } + "com.amazonaws.ec2#CreateSubnet": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateSubnetRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateSubnetResult" + }, + "traits": { + "smithy.api#documentation": "

Creates a subnet in the specified VPC. For an IPv4 only subnet, specify an IPv4 CIDR block.\n If the VPC has an IPv6 CIDR block, you can create an IPv6 only subnet or a dual stack subnet instead.\n For an IPv6 only subnet, specify an IPv6 CIDR block. For a dual stack subnet, specify both\n an IPv4 CIDR block and an IPv6 CIDR block.

\n

A subnet CIDR block must not overlap the CIDR block of an existing subnet in the VPC.\n After you create a subnet, you can't change its CIDR block.

\n

The allowed size for an IPv4 subnet is between a /28 netmask (16 IP addresses) and \n a /16 netmask (65,536 IP addresses). Amazon Web Services reserves both the first four and \n the last IPv4 address in each subnet's CIDR block. They're not available for your use.

\n

If you've associated an IPv6 CIDR block with your VPC, you can associate an IPv6 CIDR block \n with a subnet when you create it. The allowed block size for an IPv6 subnet is a /64 netmask.

\n

If you add more than one subnet to a VPC, they're set up in a star topology with a\n logical router in the middle.

\n

When you stop an instance in a subnet, it retains its private IPv4 address. It's\n therefore possible to have a subnet with no running instances (they're all stopped), but\n no remaining IP addresses available.

\n

For more information, see Subnets in the Amazon Virtual Private Cloud User Guide.

" } }, - "com.amazonaws.ec2#ConnectionNotificationState": { - "type": "enum", + "com.amazonaws.ec2#CreateSubnetCidrReservation": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateSubnetCidrReservationRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateSubnetCidrReservationResult" + }, + "traits": { + "smithy.api#documentation": "

Creates a subnet CIDR reservation. For information about subnet CIDR reservations, see Subnet CIDR reservations in the Amazon Virtual Private Cloud User Guide.

" + } + }, + "com.amazonaws.ec2#CreateSubnetCidrReservationRequest": { + "type": "structure", "members": { - "Enabled": { - "target": "smithy.api#Unit", + "SubnetId": { + "target": "com.amazonaws.ec2#SubnetId", "traits": { - "smithy.api#enumValue": "Enabled" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the subnet.

", + "smithy.api#required": {} } }, - "Disabled": { - "target": "smithy.api#Unit", + "Cidr": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "Disabled" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The IPv4 or IPV6 CIDR range to reserve.

", + "smithy.api#required": {} } - } - } - }, - "com.amazonaws.ec2#ConnectionNotificationType": { - "type": "enum", - "members": { - "Topic": { - "target": "smithy.api#Unit", + }, + "ReservationType": { + "target": "com.amazonaws.ec2#SubnetCidrReservationType", "traits": { - "smithy.api#enumValue": "Topic" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The type of reservation.

\n

The following are valid values:

\n
    \n
  • \n

    \n prefix: The Amazon EC2\n Prefix\n Delegation feature assigns the IP addresses to network interfaces that are\n associated with an instance. For information about Prefix\n Delegation,\n see Prefix Delegation\n for Amazon EC2 network interfaces in the\n Amazon Elastic Compute Cloud User Guide.

    \n
  • \n
  • \n

    \n explicit: You manually assign the IP addresses to resources that\n reside in your subnet.

    \n
  • \n
", + "smithy.api#required": {} } - } - } - }, - "com.amazonaws.ec2#ConnectivityType": { - "type": "enum", - "members": { - "PRIVATE": { - "target": "smithy.api#Unit", + }, + "Description": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The\n description\n to assign to the subnet CIDR reservation.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "private" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "PUBLIC": { - "target": "smithy.api#Unit", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#enumValue": "public" + "smithy.api#documentation": "

The tags to assign to the subnet CIDR reservation.

", + "smithy.api#xmlName": "TagSpecification" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ContainerFormat": { - "type": "enum", + "com.amazonaws.ec2#CreateSubnetCidrReservationResult": { + "type": "structure", "members": { - "ova": { - "target": "smithy.api#Unit", + "SubnetCidrReservation": { + "target": "com.amazonaws.ec2#SubnetCidrReservation", "traits": { - "smithy.api#enumValue": "ova" + "aws.protocols#ec2QueryName": "SubnetCidrReservation", + "smithy.api#documentation": "

Information about the created subnet CIDR reservation.

", + "smithy.api#xmlName": "subnetCidrReservation" } } } }, - "com.amazonaws.ec2#ConversionIdStringList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ConversionTaskId", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#ConversionTask": { + "com.amazonaws.ec2#CreateSubnetRequest": { "type": "structure", "members": { - "ConversionTaskId": { - "target": "com.amazonaws.ec2#String", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "ConversionTaskId", - "smithy.api#documentation": "

The ID of the conversion task.

", - "smithy.api#xmlName": "conversionTaskId" + "smithy.api#documentation": "

The tags to assign to the subnet.

", + "smithy.api#xmlName": "TagSpecification" } }, - "ExpirationTime": { + "AvailabilityZone": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ExpirationTime", - "smithy.api#documentation": "

The time when the task expires. If the upload isn't complete before the expiration time, we automatically cancel\n the task.

", - "smithy.api#xmlName": "expirationTime" + "smithy.api#documentation": "

The Availability Zone or Local Zone for the subnet.

\n

Default: Amazon Web Services selects one for you. If you create more than one subnet in your VPC, we \n do not necessarily select a different zone for each subnet.

\n

To create a subnet in a Local Zone, set this value to the Local Zone ID, for example\n us-west-2-lax-1a. For information about the Regions that support Local Zones, \n see Available Regions in the Amazon Elastic Compute Cloud User Guide.

\n

To create a subnet in an Outpost, set this value to the Availability Zone for the\n Outpost and specify the Outpost ARN.

" } }, - "ImportInstance": { - "target": "com.amazonaws.ec2#ImportInstanceTaskDetails", + "AvailabilityZoneId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ImportInstance", - "smithy.api#documentation": "

If the task is for importing an instance, this contains information about the import instance task.

", - "smithy.api#xmlName": "importInstance" + "smithy.api#documentation": "

The AZ ID or the Local Zone ID of the subnet.

" } }, - "ImportVolume": { - "target": "com.amazonaws.ec2#ImportVolumeTaskDetails", + "CidrBlock": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ImportVolume", - "smithy.api#documentation": "

If the task is for importing a volume, this contains information about the import volume task.

", - "smithy.api#xmlName": "importVolume" + "smithy.api#documentation": "

The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24. \n We modify the specified CIDR block to its canonical form; for example, if you specify \n 100.68.0.18/18, we modify it to 100.68.0.0/18.

\n

This parameter is not supported for an IPv6 only subnet.

" } }, - "State": { - "target": "com.amazonaws.ec2#ConversionTaskState", + "Ipv6CidrBlock": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the conversion task.

", - "smithy.api#xmlName": "state" + "smithy.api#documentation": "

The IPv6 network range for the subnet, in CIDR notation. The subnet size must use a\n /64 prefix length.

\n

This parameter is required for an IPv6 only subnet.

" } }, - "StatusMessage": { + "OutpostArn": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "StatusMessage", - "smithy.api#documentation": "

The status message related to the conversion task.

", - "smithy.api#xmlName": "statusMessage" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Outpost. If you specify an Outpost ARN, you must also\n specify the Availability Zone of the Outpost subnet.

" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", - "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags assigned to the task.

", - "smithy.api#xmlName": "tagSet" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a conversion task.

" - } - }, - "com.amazonaws.ec2#ConversionTaskId": { - "type": "string" - }, - "com.amazonaws.ec2#ConversionTaskState": { - "type": "enum", - "members": { - "active": { - "target": "smithy.api#Unit", + "VpcId": { + "target": "com.amazonaws.ec2#VpcId", "traits": { - "smithy.api#enumValue": "active" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the VPC.

", + "smithy.api#required": {} } }, - "cancelling": { - "target": "smithy.api#Unit", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "cancelling" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "cancelled": { - "target": "smithy.api#Unit", + "Ipv6Native": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "cancelled" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to create an IPv6 only subnet.

" } - }, - "completed": { - "target": "smithy.api#Unit", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CreateSubnetResult": { + "type": "structure", + "members": { + "Subnet": { + "target": "com.amazonaws.ec2#Subnet", "traits": { - "smithy.api#enumValue": "completed" + "aws.protocols#ec2QueryName": "Subnet", + "smithy.api#documentation": "

Information about the subnet.

", + "smithy.api#xmlName": "subnet" } } } }, - "com.amazonaws.ec2#CopyFpgaImage": { + "com.amazonaws.ec2#CreateTags": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CopyFpgaImageRequest" + "target": "com.amazonaws.ec2#CreateTagsRequest" }, "output": { - "target": "com.amazonaws.ec2#CopyFpgaImageResult" + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Copies the specified Amazon FPGA Image (AFI) to the current Region.

" + "smithy.api#documentation": "

Adds or overwrites only the specified tags for the specified Amazon EC2 resource or\n resources. When you specify an existing tag key, the value is overwritten with\n the new value. Each resource can have a maximum of 50 tags. Each tag consists of a key and\n optional value. Tag keys must be unique per resource.

\n

For more information about tags, see Tag your Amazon EC2 resources in the\n Amazon Elastic Compute Cloud User Guide. For more information about\n creating IAM policies that control users' access to resources based on tags, see Supported\n resource-level permissions for Amazon EC2 API actions in the Amazon\n Elastic Compute Cloud User Guide.

" } }, - "com.amazonaws.ec2#CopyFpgaImageRequest": { + "com.amazonaws.ec2#CreateTagsRequest": { "type": "structure", "members": { "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "SourceFpgaImageId": { - "target": "com.amazonaws.ec2#String", + "Resources": { + "target": "com.amazonaws.ec2#ResourceIdList", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the source AFI.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The IDs of the resources, separated by spaces.

\n

Constraints: Up to 1000 resource IDs. We recommend breaking up this request into smaller batches.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "ResourceId" } }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The tags. The value parameter is required, but if you don't want the tag to have a value,\n specify the parameter with no value, and we set the value to an empty string.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "Tag" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CreateTrafficMirrorFilter": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateTrafficMirrorFilterRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateTrafficMirrorFilterResult" + }, + "traits": { + "smithy.api#documentation": "

Creates a Traffic Mirror filter.

\n

A Traffic Mirror filter is a set of rules that defines the traffic to mirror.

\n

By default, no traffic is mirrored. To mirror traffic, use CreateTrafficMirrorFilterRule to add Traffic Mirror rules to the filter. The rules you\n add define what traffic gets mirrored. You can also use ModifyTrafficMirrorFilterNetworkServices to mirror supported network services.

" + } + }, + "com.amazonaws.ec2#CreateTrafficMirrorFilterRequest": { + "type": "structure", + "members": { "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The description for the new AFI.

" + "smithy.api#documentation": "

The description of the Traffic Mirror filter.

" } }, - "Name": { - "target": "com.amazonaws.ec2#String", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#documentation": "

The name for the new AFI. The default is the name of the source AFI.

" + "smithy.api#documentation": "

The tags to assign to a Traffic Mirror filter.

", + "smithy.api#xmlName": "TagSpecification" } }, - "SourceRegion": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The Region that contains the source AFI.

", - "smithy.api#required": {} + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. \n For more information, see Ensuring idempotency.

" + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

", + "smithy.api#idempotencyToken": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CopyFpgaImageResult": { + "com.amazonaws.ec2#CreateTrafficMirrorFilterResult": { "type": "structure", "members": { - "FpgaImageId": { + "TrafficMirrorFilter": { + "target": "com.amazonaws.ec2#TrafficMirrorFilter", + "traits": { + "aws.protocols#ec2QueryName": "TrafficMirrorFilter", + "smithy.api#documentation": "

Information about the Traffic Mirror filter.

", + "smithy.api#xmlName": "trafficMirrorFilter" + } + }, + "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "FpgaImageId", - "smithy.api#documentation": "

The ID of the new AFI.

", - "smithy.api#xmlName": "fpgaImageId" + "aws.protocols#ec2QueryName": "ClientToken", + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

", + "smithy.api#xmlName": "clientToken" } } } }, - "com.amazonaws.ec2#CopyImage": { + "com.amazonaws.ec2#CreateTrafficMirrorFilterRule": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CopyImageRequest" + "target": "com.amazonaws.ec2#CreateTrafficMirrorFilterRuleRequest" }, "output": { - "target": "com.amazonaws.ec2#CopyImageResult" + "target": "com.amazonaws.ec2#CreateTrafficMirrorFilterRuleResult" }, "traits": { - "smithy.api#documentation": "

Initiates the copy of an AMI. You can copy an AMI from one Region to another, or from a\n Region to an Outpost. You can't copy an AMI from an Outpost to a Region, from one Outpost\n to another, or within the same Outpost. To copy an AMI to another partition, see CreateStoreImageTask.

\n \t\n \t

To copy an AMI from one Region to another, specify the source Region using the \n \t\tSourceRegion parameter, and specify the \n \t\tdestination Region using its endpoint. Copies of encrypted backing snapshots for\n \t\tthe AMI are encrypted. Copies of unencrypted backing snapshots remain unencrypted, \n \t\tunless you set Encrypted during the copy operation. You cannot \n \t\tcreate an unencrypted copy of an encrypted backing snapshot.

\n \t\n \t

To copy an AMI from a Region to an Outpost, specify the source Region using the \n \t\tSourceRegion parameter, and specify the \n \t\tARN of the destination Outpost using DestinationOutpostArn. \n \t\tBacking snapshots copied to an Outpost are encrypted by default using the default\n \t\tencryption key for the Region, or a different key that you specify in the request using \n \t\tKmsKeyId. Outposts do not support unencrypted \n \t\tsnapshots. For more information, \n \t\t\tAmazon EBS local snapshots on Outposts in the Amazon Elastic Compute Cloud User Guide.

\n \n

For more information about the prerequisites and limits when copying an AMI, see Copying an AMI\n in the Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Creates a Traffic Mirror filter rule.

\n

A Traffic Mirror rule defines the Traffic Mirror source traffic to mirror.

\n

You need the Traffic Mirror filter ID when you create the rule.

" } }, - "com.amazonaws.ec2#CopyImageRequest": { + "com.amazonaws.ec2#CreateTrafficMirrorFilterRuleRequest": { "type": "structure", "members": { - "ClientToken": { - "target": "com.amazonaws.ec2#String", + "TrafficMirrorFilterId": { + "target": "com.amazonaws.ec2#TrafficMirrorFilterId", "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier you provide to ensure\n idempotency of the request. For more information, see Ensuring idempotency \n in the Amazon EC2 API Reference.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the filter that this rule is associated with.

", + "smithy.api#required": {} } }, - "Description": { - "target": "com.amazonaws.ec2#String", + "TrafficDirection": { + "target": "com.amazonaws.ec2#TrafficDirection", "traits": { - "smithy.api#documentation": "

A description for the new AMI in the destination Region.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The type of traffic.

", + "smithy.api#required": {} } }, - "Encrypted": { - "target": "com.amazonaws.ec2#Boolean", + "RuleNumber": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "Encrypted", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Specifies whether the destination snapshots of the copied image should be encrypted.\n You can encrypt a copy of an unencrypted snapshot, but you cannot create an unencrypted\n copy of an encrypted snapshot. The default KMS key for Amazon EBS is used unless you specify a non-default \n Key Management Service (KMS) KMS key using KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

", - "smithy.api#xmlName": "encrypted" + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given\n direction. The rules are processed in ascending order by rule number.

", + "smithy.api#required": {} } }, - "KmsKeyId": { - "target": "com.amazonaws.ec2#KmsKeyId", + "RuleAction": { + "target": "com.amazonaws.ec2#TrafficMirrorRuleAction", "traits": { - "aws.protocols#ec2QueryName": "KmsKeyId", - "smithy.api#documentation": "

The identifier of the symmetric Key Management Service (KMS) KMS key to use when creating\n \t\tencrypted volumes. If this parameter is not specified, your Amazon Web Services managed KMS key for Amazon EBS is used. \n \t\tIf you specify a KMS key, you must also set the encrypted state to true.

\n \t

You can specify a KMS key using any of the following:

\n \t
    \n
  • \n \t\t\t

    Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

    \n \t\t
  • \n
  • \n \t

    Key alias. For example, alias/ExampleAlias.

    \n \t
  • \n
  • \n \t

    Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

    \n \t\t
  • \n
  • \n \t\t

    Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

    \n \t\t
  • \n
\n \t

Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an identifier that is not valid,\n the action can appear to complete, but eventually fails.

\n \t

The specified KMS key must exist in the destination Region.

\n \t

Amazon EBS does not support asymmetric KMS keys.

", - "smithy.api#xmlName": "kmsKeyId" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The action to take on the filtered traffic.

", + "smithy.api#required": {} } }, - "Name": { - "target": "com.amazonaws.ec2#String", + "DestinationPortRange": { + "target": "com.amazonaws.ec2#TrafficMirrorPortRangeRequest", + "traits": { + "smithy.api#documentation": "

The destination port range.

" + } + }, + "SourcePortRange": { + "target": "com.amazonaws.ec2#TrafficMirrorPortRangeRequest", + "traits": { + "smithy.api#documentation": "

The source port range.

" + } + }, + "Protocol": { + "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The name of the new AMI in the destination Region.

", - "smithy.api#required": {} + "smithy.api#default": 0, + "smithy.api#documentation": "

The protocol, for example UDP, to assign to the Traffic Mirror rule.

\n

For information about the protocol value, see Protocol Numbers on the Internet Assigned Numbers Authority (IANA) website.

" } }, - "SourceImageId": { + "DestinationCidrBlock": { "target": "com.amazonaws.ec2#String", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the AMI to copy.

", + "smithy.api#documentation": "

The destination CIDR block to assign to the Traffic Mirror rule.

", "smithy.api#required": {} } }, - "SourceRegion": { + "SourceCidrBlock": { "target": "com.amazonaws.ec2#String", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The name of the Region that contains the AMI to copy.

", + "smithy.api#documentation": "

The source CIDR block to assign to the Traffic Mirror rule.

", "smithy.api#required": {} } }, - "DestinationOutpostArn": { + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Outpost to which to copy the AMI. Only \n \t\tspecify this parameter when copying an AMI from an Amazon Web Services Region to an Outpost. \n \t\tThe AMI must be in the Region of the destination Outpost. You cannot copy an \n \t\tAMI from an Outpost to a Region, from one Outpost to another, or within the same \n \t\tOutpost.

\n \t\n \t

For more information, see \n \t\tCopying AMIs from an Amazon Web Services Region to an Outpost in the \n \t\tAmazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

The description of the Traffic Mirror rule.

" } }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

", + "smithy.api#idempotencyToken": {} } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for CopyImage.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CopyImageResult": { + "com.amazonaws.ec2#CreateTrafficMirrorFilterRuleResult": { "type": "structure", "members": { - "ImageId": { + "TrafficMirrorFilterRule": { + "target": "com.amazonaws.ec2#TrafficMirrorFilterRule", + "traits": { + "aws.protocols#ec2QueryName": "TrafficMirrorFilterRule", + "smithy.api#documentation": "

The Traffic Mirror rule.

", + "smithy.api#xmlName": "trafficMirrorFilterRule" + } + }, + "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ImageId", - "smithy.api#documentation": "

The ID of the new AMI.

", - "smithy.api#xmlName": "imageId" + "aws.protocols#ec2QueryName": "ClientToken", + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

", + "smithy.api#xmlName": "clientToken" } } - }, - "traits": { - "smithy.api#documentation": "

Contains the output of CopyImage.

" } }, - "com.amazonaws.ec2#CopySnapshot": { + "com.amazonaws.ec2#CreateTrafficMirrorSession": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CopySnapshotRequest" + "target": "com.amazonaws.ec2#CreateTrafficMirrorSessionRequest" }, "output": { - "target": "com.amazonaws.ec2#CopySnapshotResult" + "target": "com.amazonaws.ec2#CreateTrafficMirrorSessionResult" }, "traits": { - "smithy.api#documentation": "

Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3. You can copy a\n snapshot within the same Region, from one Region to another, or from a Region to an Outpost. \n You can't copy a snapshot from an Outpost to a Region, from one Outpost to another, or within \n the same Outpost.

\n

You can use the snapshot to create EBS volumes or Amazon Machine Images (AMIs).

\n \n \t\n

When copying snapshots to a Region, copies of encrypted EBS snapshots remain encrypted. \n \tCopies of unencrypted snapshots remain unencrypted, unless you enable encryption for the \n \tsnapshot copy operation. By default, encrypted snapshot copies use the default Key Management Service (KMS) \n \tKMS key; however, you can specify a different KMS key. To copy an encrypted \n \tsnapshot that has been shared from another account, you must have permissions for the KMS key \n \tused to encrypt the snapshot.

\n \t\n \t

Snapshots copied to an Outpost are encrypted by default using the default\n \t\tencryption key for the Region, or a different key that you specify in the request using \n \t\tKmsKeyId. Outposts do not support unencrypted \n \t\tsnapshots. For more information, \n \t\t\tAmazon EBS local snapshots on Outposts in the Amazon Elastic Compute Cloud User Guide.

\n

Snapshots created by copying another snapshot have an arbitrary volume ID that should not\n be used for any purpose.

\n

For more information, see Copy an Amazon EBS snapshot in the\n Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Creates a Traffic Mirror session.

\n

A Traffic Mirror session actively copies packets from a Traffic Mirror source to a Traffic Mirror target. Create a filter, and then assign it\n to the session to define a subset of the traffic to mirror, for example all TCP\n traffic.

\n

The Traffic Mirror source and the Traffic Mirror target (monitoring appliances) can be in the same VPC, or in a different VPC connected via VPC peering or a transit gateway.

\n

By default, no traffic is mirrored. Use CreateTrafficMirrorFilter to\n create filter rules that specify the traffic to mirror.

" } }, - "com.amazonaws.ec2#CopySnapshotRequest": { + "com.amazonaws.ec2#CreateTrafficMirrorSessionRequest": { "type": "structure", "members": { - "Description": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

A description for the EBS snapshot.

" - } - }, - "DestinationOutpostArn": { - "target": "com.amazonaws.ec2#String", + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#NetworkInterfaceId", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Outpost to which to copy the snapshot. Only \n\t\tspecify this parameter when copying a snapshot from an Amazon Web Services Region to an Outpost. \n\t\tThe snapshot must be in the Region for the destination Outpost. You cannot copy a \n\t\tsnapshot from an Outpost to a Region, from one Outpost to another, or within the same \n\t\tOutpost.

\n \t

For more information, see \n \t\tCopy snapshots from an Amazon Web Services Region to an Outpost in the \n \t\tAmazon Elastic Compute Cloud User Guide.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the source network interface.

", + "smithy.api#required": {} } }, - "DestinationRegion": { - "target": "com.amazonaws.ec2#String", + "TrafficMirrorTargetId": { + "target": "com.amazonaws.ec2#TrafficMirrorTargetId", "traits": { - "aws.protocols#ec2QueryName": "DestinationRegion", - "smithy.api#documentation": "

The destination Region to use in the PresignedUrl parameter of a snapshot\n copy operation. This parameter is only valid for specifying the destination Region in a\n PresignedUrl parameter, where it is required.

\n \n

The snapshot copy is sent to the regional endpoint that you sent the HTTP\n \trequest to (for example, ec2.us-east-1.amazonaws.com). With the CLI, this is\n specified using the --region parameter or the default Region in your Amazon Web Services\n configuration file.

", - "smithy.api#xmlName": "destinationRegion" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Traffic Mirror target.

", + "smithy.api#required": {} } }, - "Encrypted": { - "target": "com.amazonaws.ec2#Boolean", + "TrafficMirrorFilterId": { + "target": "com.amazonaws.ec2#TrafficMirrorFilterId", "traits": { - "aws.protocols#ec2QueryName": "Encrypted", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

To encrypt a copy of an unencrypted snapshot if encryption by default is not enabled, \n enable encryption using this parameter. Otherwise, omit this parameter. Encrypted snapshots \n are encrypted, even if you omit this parameter and encryption by default is not enabled. You \n cannot set this parameter to false. For more information, see Amazon EBS encryption in the \n Amazon Elastic Compute Cloud User Guide.

", - "smithy.api#xmlName": "encrypted" + "smithy.api#documentation": "

The ID of the Traffic Mirror filter.

", + "smithy.api#required": {} } }, - "KmsKeyId": { - "target": "com.amazonaws.ec2#KmsKeyId", + "PacketLength": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "KmsKeyId", - "smithy.api#documentation": "

The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption.\n If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is\n specified, the encrypted state must be true.

\n

You can specify the KMS key using any of the following:

\n
    \n
  • \n

    Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

    \n
  • \n
  • \n

    Key alias. For example, alias/ExampleAlias.

    \n
  • \n
  • \n

    Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

    \n
  • \n
  • \n

    Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

    \n
  • \n
\n

Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, \n the action can appear to complete, but eventually fails.

", - "smithy.api#xmlName": "kmsKeyId" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do\n not specify this parameter when you want to mirror the entire packet. To mirror a subset of\n the packet, set this to the length (in bytes) that you want to mirror. For example, if you\n set this value to 100, then the first 100 bytes that meet the filter criteria are copied to\n the target.

\n

If you do not want to mirror the entire packet, use the PacketLength parameter to specify the number of bytes in each packet to mirror.

" } }, - "PresignedUrl": { - "target": "com.amazonaws.ec2#String", + "SessionNumber": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "PresignedUrl", - "smithy.api#documentation": "

When you copy an encrypted source snapshot using the Amazon EC2 Query API, you must supply a\n pre-signed URL. This parameter is optional for unencrypted snapshots. For more information,\n see Query\n requests.

\n

The PresignedUrl should use the snapshot source endpoint, the\n CopySnapshot action, and include the SourceRegion,\n SourceSnapshotId, and DestinationRegion parameters. The\n PresignedUrl must be signed using Amazon Web Services Signature Version 4. Because EBS\n snapshots are stored in Amazon S3, the signing algorithm for this parameter uses the same logic\n that is described in Authenticating Requests: Using Query\n Parameters (Amazon Web Services Signature Version 4) in the Amazon Simple Storage Service API Reference. An\n invalid or improperly signed PresignedUrl will cause the copy operation to fail\n asynchronously, and the snapshot will move to an error state.

", - "smithy.api#xmlName": "presignedUrl" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

\n

Valid values are 1-32766.

", + "smithy.api#required": {} } }, - "SourceRegion": { - "target": "com.amazonaws.ec2#String", + "VirtualNetworkId": { + "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Region that contains the snapshot to be copied.

", - "smithy.api#required": {} + "smithy.api#default": 0, + "smithy.api#documentation": "

The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN\n protocol, see RFC 7348. If you do\n not specify a VirtualNetworkId, an account-wide unique id is chosen at\n random.

" } }, - "SourceSnapshotId": { + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the EBS snapshot to copy.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The description of the Traffic Mirror session.

" } }, "TagSpecifications": { "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#documentation": "

The tags to apply to the new snapshot.

", + "smithy.api#documentation": "

The tags to assign to a Traffic Mirror session.

", "smithy.api#xmlName": "TagSpecification" } }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

", + "smithy.api#idempotencyToken": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CopySnapshotResult": { + "com.amazonaws.ec2#CreateTrafficMirrorSessionResult": { "type": "structure", "members": { - "SnapshotId": { - "target": "com.amazonaws.ec2#String", + "TrafficMirrorSession": { + "target": "com.amazonaws.ec2#TrafficMirrorSession", "traits": { - "aws.protocols#ec2QueryName": "SnapshotId", - "smithy.api#documentation": "

The ID of the new snapshot.

", - "smithy.api#xmlName": "snapshotId" + "aws.protocols#ec2QueryName": "TrafficMirrorSession", + "smithy.api#documentation": "

Information about the Traffic Mirror session.

", + "smithy.api#xmlName": "trafficMirrorSession" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", - "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags applied to the new snapshot.

", - "smithy.api#xmlName": "tagSet" - } - } - } - }, - "com.amazonaws.ec2#CopyTagsFromSource": { - "type": "enum", - "members": { - "volume": { - "target": "smithy.api#Unit", + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "volume" + "aws.protocols#ec2QueryName": "ClientToken", + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

", + "smithy.api#xmlName": "clientToken" } } } }, - "com.amazonaws.ec2#CoreCount": { - "type": "integer" - }, - "com.amazonaws.ec2#CoreCountList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#CoreCount", - "traits": { - "smithy.api#xmlName": "item" - } + "com.amazonaws.ec2#CreateTrafficMirrorTarget": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateTrafficMirrorTargetRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateTrafficMirrorTargetResult" + }, + "traits": { + "smithy.api#documentation": "

Creates a target for your Traffic Mirror session.

\n

A Traffic Mirror target is the destination for mirrored traffic. The Traffic Mirror source and\n the Traffic Mirror target (monitoring appliances) can be in the same VPC, or in\n different VPCs connected via VPC peering or a transit gateway.

\n

A Traffic Mirror target can be a network interface, a Network Load Balancer, or a Gateway Load Balancer endpoint.

\n

To use the target in a Traffic Mirror session, use CreateTrafficMirrorSession.

" } }, - "com.amazonaws.ec2#CoreNetworkArn": { - "type": "string" - }, - "com.amazonaws.ec2#CpuManufacturer": { - "type": "enum", + "com.amazonaws.ec2#CreateTrafficMirrorTargetRequest": { + "type": "structure", "members": { - "INTEL": { - "target": "smithy.api#Unit", + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#NetworkInterfaceId", "traits": { - "smithy.api#enumValue": "intel" + "smithy.api#documentation": "

The network interface ID that is associated with the target.

" } }, - "AMD": { - "target": "smithy.api#Unit", + "NetworkLoadBalancerArn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the target.

" + } + }, + "Description": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The description of the Traffic Mirror target.

" + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#enumValue": "amd" + "smithy.api#documentation": "

The tags to assign to the Traffic Mirror target.

", + "smithy.api#xmlName": "TagSpecification" } }, - "AMAZON_WEB_SERVICES": { - "target": "smithy.api#Unit", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "amazon-web-services" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - } - } - }, - "com.amazonaws.ec2#CpuManufacturerSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#CpuManufacturer", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#CpuOptions": { - "type": "structure", - "members": { - "CoreCount": { - "target": "com.amazonaws.ec2#Integer", + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CoreCount", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of CPU cores for the instance.

", - "smithy.api#xmlName": "coreCount" + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

", + "smithy.api#idempotencyToken": {} } }, - "ThreadsPerCore": { - "target": "com.amazonaws.ec2#Integer", + "GatewayLoadBalancerEndpointId": { + "target": "com.amazonaws.ec2#VpcEndpointId", "traits": { - "aws.protocols#ec2QueryName": "ThreadsPerCore", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of threads per CPU core.

", - "smithy.api#xmlName": "threadsPerCore" + "smithy.api#documentation": "

The ID of the Gateway Load Balancer endpoint.

" } } }, "traits": { - "smithy.api#documentation": "

The CPU options for the instance.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CpuOptionsRequest": { + "com.amazonaws.ec2#CreateTrafficMirrorTargetResult": { "type": "structure", "members": { - "CoreCount": { - "target": "com.amazonaws.ec2#Integer", + "TrafficMirrorTarget": { + "target": "com.amazonaws.ec2#TrafficMirrorTarget", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of CPU cores for the instance.

" + "aws.protocols#ec2QueryName": "TrafficMirrorTarget", + "smithy.api#documentation": "

Information about the Traffic Mirror target.

", + "smithy.api#xmlName": "trafficMirrorTarget" } }, - "ThreadsPerCore": { - "target": "com.amazonaws.ec2#Integer", + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of threads per CPU core. To disable multithreading for the instance,\n specify a value of 1. Otherwise, specify the default value of\n 2.

" + "aws.protocols#ec2QueryName": "ClientToken", + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

", + "smithy.api#xmlName": "clientToken" } } + } + }, + "com.amazonaws.ec2#CreateTransitGateway": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateTransitGatewayRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateTransitGatewayResult" }, "traits": { - "smithy.api#documentation": "

The CPU options for the instance. Both the core count and threads per core must be\n specified in the request.

" + "smithy.api#documentation": "

Creates a transit gateway.

\n

You can use a transit gateway to interconnect your virtual private clouds (VPC) and on-premises networks.\n After the transit gateway enters the available state, you can attach your VPCs and VPN\n connections to the transit gateway.

\n

To attach your VPCs, use CreateTransitGatewayVpcAttachment.

\n

To attach a VPN connection, use CreateCustomerGateway to create a customer \n gateway and specify the ID of the customer gateway and the ID of the transit gateway in a call to\n CreateVpnConnection.

\n

When you create a transit gateway, we create a default transit gateway route table and use it as the default association route table\n and the default propagation route table. You can use CreateTransitGatewayRouteTable to create\n additional transit gateway route tables. If you disable automatic route propagation, we do not create a default transit gateway route table. \n You can use EnableTransitGatewayRouteTablePropagation to propagate routes from a resource \n attachment to a transit gateway route table. If you disable automatic associations, you can use AssociateTransitGatewayRouteTable to associate a resource attachment with a transit gateway route table.

" } }, - "com.amazonaws.ec2#CreateCapacityReservation": { + "com.amazonaws.ec2#CreateTransitGatewayConnect": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateCapacityReservationRequest" + "target": "com.amazonaws.ec2#CreateTransitGatewayConnectRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateCapacityReservationResult" + "target": "com.amazonaws.ec2#CreateTransitGatewayConnectResult" }, "traits": { - "smithy.api#documentation": "

Creates a new Capacity Reservation with the specified attributes.

\n\t\t

Capacity Reservations enable you to reserve capacity for your Amazon EC2 instances in a specific Availability Zone for any duration. This \n\t\t\tgives you the flexibility to selectively add capacity reservations and still get the Regional RI discounts for that usage. \n\t\t\tBy creating Capacity Reservations, you ensure that you always have access to Amazon EC2 capacity when you need it, for as long as you need it. \n\t\t\tFor more information, see Capacity Reservations in the Amazon EC2 User Guide.

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

Your request to create a Capacity Reservation could fail if Amazon EC2 does not have sufficient capacity to\n\t\t\tfulfill the request. If your request fails due to Amazon EC2 capacity constraints, either try\n\t\t\tagain at a later time, try in a different Availability Zone, or request a smaller\n\t\t\tcapacity reservation. If your application is flexible across instance types and sizes,\n\t\t\ttry to create a Capacity Reservation with different instance attributes.

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

Your request could also fail if the requested quantity exceeds your On-Demand Instance\n\t\t\tlimit for the selected instance type. If your request fails due to limit constraints,\n\t\t\tincrease your On-Demand Instance limit for the required instance type and try again. For\n\t\t\tmore information about increasing your instance limits, see Amazon EC2 Service\n\t\t\t\tQuotas in the Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Creates a Connect attachment from a specified transit gateway attachment. A Connect attachment is a GRE-based tunnel attachment that you can use to establish a connection between a transit gateway and an appliance.

\n

A Connect attachment uses an existing VPC or Amazon Web Services Direct Connect attachment as the underlying transport mechanism.

" } }, - "com.amazonaws.ec2#CreateCapacityReservationFleet": { + "com.amazonaws.ec2#CreateTransitGatewayConnectPeer": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateCapacityReservationFleetRequest" + "target": "com.amazonaws.ec2#CreateTransitGatewayConnectPeerRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateCapacityReservationFleetResult" + "target": "com.amazonaws.ec2#CreateTransitGatewayConnectPeerResult" }, "traits": { - "smithy.api#documentation": "

Creates a Capacity Reservation Fleet. For more information, see Create a Capacity \n\t\t\tReservation Fleet in the Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Creates a Connect peer for a specified transit gateway Connect attachment between a\n transit gateway and an appliance.

\n

The peer address and transit gateway address must be the same IP address family (IPv4 or IPv6).

\n

For more information, see Connect peers in the Transit Gateways Guide.

" } }, - "com.amazonaws.ec2#CreateCapacityReservationFleetRequest": { + "com.amazonaws.ec2#CreateTransitGatewayConnectPeerRequest": { "type": "structure", "members": { - "AllocationStrategy": { - "target": "com.amazonaws.ec2#String", + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", "traits": { - "smithy.api#documentation": "

The strategy used by the Capacity Reservation Fleet to determine which of the \n\t\t\tspecified instance types to use. Currently, only the prioritized \n\t\t\tallocation strategy is supported. For more information, see \n\t\t\t\tAllocation strategy in the Amazon EC2 User Guide.

\n\t\t

Valid values: prioritized\n

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Connect attachment.

", + "smithy.api#required": {} } }, - "ClientToken": { + "TransitGatewayAddress": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensure Idempotency.

", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

The peer IP address (GRE outer IP address) on the transit gateway side of the Connect peer, which must be\n specified from a transit gateway CIDR block. If not specified, Amazon automatically assigns\n the first available IP address from the transit gateway CIDR block.

" } }, - "InstanceTypeSpecifications": { - "target": "com.amazonaws.ec2#ReservationFleetInstanceSpecificationList", + "PeerAddress": { + "target": "com.amazonaws.ec2#String", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

Information about the instance types for which to reserve the capacity.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "InstanceTypeSpecification" + "smithy.api#documentation": "

The peer IP address (GRE outer IP address) on the appliance side of the Connect peer.

", + "smithy.api#required": {} } }, - "Tenancy": { - "target": "com.amazonaws.ec2#FleetCapacityReservationTenancy", + "BgpOptions": { + "target": "com.amazonaws.ec2#TransitGatewayConnectRequestBgpOptions", "traits": { - "smithy.api#documentation": "

Indicates the tenancy of the Capacity Reservation Fleet. All Capacity Reservations \n\t\t\tin the Fleet inherit this tenancy. The Capacity Reservation Fleet can have one of \n\t\t\tthe following tenancy settings:

\n\t\t
    \n
  • \n\t\t\t\t

    \n\t\t\t\t\t default - The Capacity Reservation Fleet is created on hardware \n\t\t\t\t\tthat is shared with other Amazon Web Services accounts.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n\t\t\t\t\t dedicated - The Capacity Reservations are created on single-tenant \n\t\t\t\t\thardware that is dedicated to a single Amazon Web Services account.

    \n\t\t\t
  • \n
" + "smithy.api#documentation": "

The BGP options for the Connect peer.

" } }, - "TotalTargetCapacity": { - "target": "com.amazonaws.ec2#Integer", + "InsideCidrBlocks": { + "target": "com.amazonaws.ec2#InsideCidrBlocksStringList", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The total number of capacity units to be reserved by the Capacity Reservation Fleet. This \n\t\t\tvalue, together with the instance type weights that you assign to each instance type used by \n\t\t\tthe Fleet determine the number of instances for which the Fleet reserves capacity. Both values \n\t\t\tare based on units that make sense for your workload. For more information, see \n\t\t\t\tTotal target capacity in the Amazon EC2 User Guide.

", + "smithy.api#documentation": "

The range of inside IP addresses that are used for BGP peering. You must specify a\n size /29 IPv4 CIDR block from the 169.254.0.0/16 range. The first address\n from the range must be configured on the appliance as the BGP IP address. You can also\n optionally specify a size /125 IPv6 CIDR block from the fd00::/8\n range.

", "smithy.api#required": {} } }, - "EndDate": { - "target": "com.amazonaws.ec2#MillisecondDateTime", - "traits": { - "smithy.api#documentation": "

The date and time at which the Capacity Reservation Fleet expires. When the Capacity \n\t\t\tReservation Fleet expires, its state changes to expired and all of the Capacity \n\t\t\tReservations in the Fleet expire.

\t\n\t\t

The Capacity Reservation Fleet expires within an hour after the specified time. For example, \n\t\t\tif you specify 5/31/2019, 13:30:55, the Capacity Reservation Fleet \n\t\t\tis guaranteed to expire between 13:30:55 and 14:30:55 on \n\t\t\t5/31/2019.\n\t\t

" - } - }, - "InstanceMatchCriteria": { - "target": "com.amazonaws.ec2#FleetInstanceMatchCriteria", - "traits": { - "smithy.api#documentation": "

Indicates the type of instance launches that the Capacity Reservation Fleet accepts. All \n\t\t\tCapacity Reservations in the Fleet inherit this instance matching criteria.

\n\t\t

Currently, Capacity Reservation Fleets support open instance matching criteria \n\t\t\tonly. This means that instances that have matching attributes (instance type, platform, and \n\t\t\tAvailability Zone) run in the Capacity Reservations automatically. Instances do not need to \n\t\t\texplicitly target a Capacity Reservation Fleet to use its reserved capacity.

" - } - }, "TagSpecifications": { "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#documentation": "

The tags to assign to the Capacity Reservation Fleet. The tags are automatically assigned \n\t\t\tto the Capacity Reservations in the Fleet.

", + "smithy.api#documentation": "

The tags to apply to the Connect peer.

", "smithy.api#xmlName": "TagSpecification" } }, @@ -13341,262 +17683,428 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateCapacityReservationFleetResult": { + "com.amazonaws.ec2#CreateTransitGatewayConnectPeerResult": { "type": "structure", "members": { - "CapacityReservationFleetId": { - "target": "com.amazonaws.ec2#CapacityReservationFleetId", + "TransitGatewayConnectPeer": { + "target": "com.amazonaws.ec2#TransitGatewayConnectPeer", "traits": { - "aws.protocols#ec2QueryName": "CapacityReservationFleetId", - "smithy.api#documentation": "

The ID of the Capacity Reservation Fleet.

", - "smithy.api#xmlName": "capacityReservationFleetId" + "aws.protocols#ec2QueryName": "TransitGatewayConnectPeer", + "smithy.api#documentation": "

Information about the Connect peer.

", + "smithy.api#xmlName": "transitGatewayConnectPeer" } - }, - "State": { - "target": "com.amazonaws.ec2#CapacityReservationFleetState", + } + } + }, + "com.amazonaws.ec2#CreateTransitGatewayConnectRequest": { + "type": "structure", + "members": { + "TransportTransitGatewayAttachmentId": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The status of the Capacity Reservation Fleet.

", - "smithy.api#xmlName": "state" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the transit gateway attachment. You can specify a VPC attachment or Amazon Web Services Direct Connect attachment.

", + "smithy.api#required": {} } }, - "TotalTargetCapacity": { - "target": "com.amazonaws.ec2#Integer", + "Options": { + "target": "com.amazonaws.ec2#CreateTransitGatewayConnectRequestOptions", "traits": { - "aws.protocols#ec2QueryName": "TotalTargetCapacity", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The total number of capacity units for which the Capacity Reservation Fleet reserves capacity.

", - "smithy.api#xmlName": "totalTargetCapacity" + "smithy.api#documentation": "

The Connect attachment options.

", + "smithy.api#required": {} } }, - "TotalFulfilledCapacity": { - "target": "com.amazonaws.ec2#Double", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "TotalFulfilledCapacity", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The requested capacity units that have been successfully reserved.

", - "smithy.api#xmlName": "totalFulfilledCapacity" + "smithy.api#documentation": "

The tags to apply to the Connect attachment.

", + "smithy.api#xmlName": "TagSpecification" } }, - "InstanceMatchCriteria": { - "target": "com.amazonaws.ec2#FleetInstanceMatchCriteria", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "InstanceMatchCriteria", - "smithy.api#documentation": "

The instance matching criteria for the Capacity Reservation Fleet.

", - "smithy.api#xmlName": "instanceMatchCriteria" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - }, - "AllocationStrategy": { - "target": "com.amazonaws.ec2#String", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CreateTransitGatewayConnectRequestOptions": { + "type": "structure", + "members": { + "Protocol": { + "target": "com.amazonaws.ec2#ProtocolValue", "traits": { - "aws.protocols#ec2QueryName": "AllocationStrategy", - "smithy.api#documentation": "

The allocation strategy used by the Capacity Reservation Fleet.

", - "smithy.api#xmlName": "allocationStrategy" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The tunnel protocol.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The options for a Connect attachment.

" + } + }, + "com.amazonaws.ec2#CreateTransitGatewayConnectResult": { + "type": "structure", + "members": { + "TransitGatewayConnect": { + "target": "com.amazonaws.ec2#TransitGatewayConnect", + "traits": { + "aws.protocols#ec2QueryName": "TransitGatewayConnect", + "smithy.api#documentation": "

Information about the Connect attachment.

", + "smithy.api#xmlName": "transitGatewayConnect" + } + } + } + }, + "com.amazonaws.ec2#CreateTransitGatewayMulticastDomain": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateTransitGatewayMulticastDomainRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateTransitGatewayMulticastDomainResult" + }, + "traits": { + "smithy.api#documentation": "

Creates a multicast domain using the specified transit gateway.

\n

The transit gateway must be in the available state before you create a domain. Use DescribeTransitGateways to see the state of transit gateway.

" + } + }, + "com.amazonaws.ec2#CreateTransitGatewayMulticastDomainRequest": { + "type": "structure", + "members": { + "TransitGatewayId": { + "target": "com.amazonaws.ec2#TransitGatewayId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the transit gateway.

", + "smithy.api#required": {} } }, - "CreateTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "Options": { + "target": "com.amazonaws.ec2#CreateTransitGatewayMulticastDomainRequestOptions", "traits": { - "aws.protocols#ec2QueryName": "CreateTime", - "smithy.api#documentation": "

The date and time at which the Capacity Reservation Fleet was created.

", - "smithy.api#xmlName": "createTime" + "smithy.api#documentation": "

The options for the transit gateway multicast domain.

" } }, - "EndDate": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "EndDate", - "smithy.api#documentation": "

The date and time at which the Capacity Reservation Fleet expires.

", - "smithy.api#xmlName": "endDate" + "smithy.api#documentation": "

The tags for the transit gateway multicast domain.

", + "smithy.api#xmlName": "TagSpecification" } }, - "Tenancy": { - "target": "com.amazonaws.ec2#FleetCapacityReservationTenancy", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Tenancy", - "smithy.api#documentation": "

Indicates the tenancy of Capacity Reservation Fleet.

", - "smithy.api#xmlName": "tenancy" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CreateTransitGatewayMulticastDomainRequestOptions": { + "type": "structure", + "members": { + "Igmpv2Support": { + "target": "com.amazonaws.ec2#Igmpv2SupportValue", + "traits": { + "smithy.api#documentation": "

Specify whether to enable Internet Group Management Protocol (IGMP) version 2 for the transit gateway multicast domain.

" } }, - "FleetCapacityReservations": { - "target": "com.amazonaws.ec2#FleetCapacityReservationSet", + "StaticSourcesSupport": { + "target": "com.amazonaws.ec2#StaticSourcesSupportValue", "traits": { - "aws.protocols#ec2QueryName": "FleetCapacityReservationSet", - "smithy.api#documentation": "

Information about the individual Capacity Reservations in the Capacity Reservation Fleet.

", - "smithy.api#xmlName": "fleetCapacityReservationSet" + "smithy.api#documentation": "

Specify whether to enable support for statically configuring multicast group sources for a domain.

" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "AutoAcceptSharedAssociations": { + "target": "com.amazonaws.ec2#AutoAcceptSharedAssociationsValue", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags assigned to the Capacity Reservation Fleet.

", - "smithy.api#xmlName": "tagSet" + "smithy.api#documentation": "

Indicates whether to automatically accept cross-account subnet associations that are associated with the transit gateway multicast domain.

" } } + }, + "traits": { + "smithy.api#documentation": "

The options for the transit gateway multicast domain.

" } }, - "com.amazonaws.ec2#CreateCapacityReservationRequest": { + "com.amazonaws.ec2#CreateTransitGatewayMulticastDomainResult": { "type": "structure", "members": { - "ClientToken": { - "target": "com.amazonaws.ec2#String", + "TransitGatewayMulticastDomain": { + "target": "com.amazonaws.ec2#TransitGatewayMulticastDomain", "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensure Idempotency.

" + "aws.protocols#ec2QueryName": "TransitGatewayMulticastDomain", + "smithy.api#documentation": "

Information about the transit gateway multicast domain.

", + "smithy.api#xmlName": "transitGatewayMulticastDomain" } - }, - "InstanceType": { - "target": "com.amazonaws.ec2#String", + } + } + }, + "com.amazonaws.ec2#CreateTransitGatewayPeeringAttachment": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateTransitGatewayPeeringAttachmentRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateTransitGatewayPeeringAttachmentResult" + }, + "traits": { + "smithy.api#documentation": "

Requests a transit gateway peering attachment between the specified transit gateway\n (requester) and a peer transit gateway (accepter). The peer transit gateway can be in \n your account or a different Amazon Web Services account.

\n

After you create the peering attachment, the owner of the accepter transit gateway \n must accept the attachment request.

" + } + }, + "com.amazonaws.ec2#CreateTransitGatewayPeeringAttachmentRequest": { + "type": "structure", + "members": { + "TransitGatewayId": { + "target": "com.amazonaws.ec2#TransitGatewayId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The instance type for which to reserve capacity. For more information, see Instance types in the Amazon EC2 User Guide.

", + "smithy.api#documentation": "

The ID of the transit gateway.

", "smithy.api#required": {} } }, - "InstancePlatform": { - "target": "com.amazonaws.ec2#CapacityReservationInstancePlatform", + "PeerTransitGatewayId": { + "target": "com.amazonaws.ec2#TransitAssociationGatewayId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The type of operating system for which to reserve capacity.

", + "smithy.api#documentation": "

The ID of the peer transit gateway with which to create the peering attachment.

", "smithy.api#required": {} } }, - "AvailabilityZone": { + "PeerAccountId": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The Availability Zone in which to create the Capacity Reservation.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the peer transit gateway.

", + "smithy.api#required": {} } }, - "AvailabilityZoneId": { + "PeerRegion": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The ID of the Availability Zone in which to create the Capacity Reservation.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Region where the peer transit gateway is located.

", + "smithy.api#required": {} } }, - "Tenancy": { - "target": "com.amazonaws.ec2#CapacityReservationTenancy", + "Options": { + "target": "com.amazonaws.ec2#CreateTransitGatewayPeeringAttachmentRequestOptions", "traits": { - "smithy.api#documentation": "

Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings:

\n\t\t
    \n
  • \n

    \n default - The Capacity Reservation is created on hardware that is shared with other Amazon Web Services accounts.

    \n
  • \n
  • \n

    \n dedicated - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single Amazon Web Services account.

    \n
  • \n
" + "smithy.api#documentation": "

Requests a transit gateway peering attachment.

" } }, - "InstanceCount": { - "target": "com.amazonaws.ec2#Integer", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of instances for which to reserve capacity.

\n\t \t

Valid range: 1 - 1000

", - "smithy.api#required": {} + "smithy.api#documentation": "

The tags to apply to the transit gateway peering attachment.

", + "smithy.api#xmlName": "TagSpecification" } }, - "EbsOptimized": { + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the Capacity Reservation supports EBS-optimized instances. This optimization provides\n\t\t\tdedicated throughput to Amazon EBS and an optimized configuration stack to provide\n\t\t\toptimal I/O performance. This optimization isn't available with all instance types.\n\t\t\tAdditional usage charges apply when using an EBS- optimized instance.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CreateTransitGatewayPeeringAttachmentRequestOptions": { + "type": "structure", + "members": { + "DynamicRouting": { + "target": "com.amazonaws.ec2#DynamicRoutingValue", + "traits": { + "smithy.api#documentation": "

Indicates whether dynamic routing is enabled or disabled.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes whether dynamic routing is enabled or disabled for the transit gateway peering request.

" + } + }, + "com.amazonaws.ec2#CreateTransitGatewayPeeringAttachmentResult": { + "type": "structure", + "members": { + "TransitGatewayPeeringAttachment": { + "target": "com.amazonaws.ec2#TransitGatewayPeeringAttachment", + "traits": { + "aws.protocols#ec2QueryName": "TransitGatewayPeeringAttachment", + "smithy.api#documentation": "

The transit gateway peering attachment.

", + "smithy.api#xmlName": "transitGatewayPeeringAttachment" + } + } + } + }, + "com.amazonaws.ec2#CreateTransitGatewayPolicyTable": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateTransitGatewayPolicyTableRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateTransitGatewayPolicyTableResult" + }, + "traits": { + "smithy.api#documentation": "

Creates a transit gateway policy table.

" + } + }, + "com.amazonaws.ec2#CreateTransitGatewayPolicyTableRequest": { + "type": "structure", + "members": { + "TransitGatewayId": { + "target": "com.amazonaws.ec2#TransitGatewayId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the transit gateway used for the policy table.

", + "smithy.api#required": {} } }, - "EphemeralStorage": { + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

The tags specification for the transit gateway policy table created during the request.

" + } + }, + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

\n Deprecated.\n

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - }, - "EndDate": { - "target": "com.amazonaws.ec2#DateTime", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CreateTransitGatewayPolicyTableResult": { + "type": "structure", + "members": { + "TransitGatewayPolicyTable": { + "target": "com.amazonaws.ec2#TransitGatewayPolicyTable", "traits": { - "smithy.api#documentation": "

The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity\n\t\t\tis released and you can no longer launch instances into it. The Capacity Reservation's state changes to\n\t\t\t\texpired when it reaches its end date and time.

\t\n\t\t

You must provide an EndDate value if EndDateType is\n\t\t\t\tlimited. Omit EndDate if EndDateType is\n\t\t\t\tunlimited.

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

If the EndDateType is limited, the Capacity Reservation is cancelled within an hour from the specified time. For example, if you specify \n\t\t\t5/31/2019, 13:30:55, the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.

" + "aws.protocols#ec2QueryName": "TransitGatewayPolicyTable", + "smithy.api#documentation": "

Describes the created transit gateway policy table.

", + "smithy.api#xmlName": "transitGatewayPolicyTable" } - }, - "EndDateType": { - "target": "com.amazonaws.ec2#EndDateType", + } + } + }, + "com.amazonaws.ec2#CreateTransitGatewayPrefixListReference": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateTransitGatewayPrefixListReferenceRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateTransitGatewayPrefixListReferenceResult" + }, + "traits": { + "smithy.api#documentation": "

Creates a reference (route) to a prefix list in a specified transit gateway route table.

" + } + }, + "com.amazonaws.ec2#CreateTransitGatewayPrefixListReferenceRequest": { + "type": "structure", + "members": { + "TransitGatewayRouteTableId": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", "traits": { - "smithy.api#documentation": "

Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end\n\t\t\ttypes:

\n\t\t
    \n
  • \n

    \n unlimited - The Capacity Reservation remains active until you explicitly cancel it. Do not\n\t\t\t\t\tprovide an EndDate if the EndDateType is\n\t\t\t\t\t\tunlimited.

    \n
  • \n
  • \n

    \n limited - The Capacity Reservation expires automatically at a specified date and time. You must\n\t\t\t\t\tprovide an EndDate value if the EndDateType value is\n\t\t\t\t\t\tlimited.

    \n
  • \n
" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the transit gateway route table.

", + "smithy.api#required": {} } }, - "InstanceMatchCriteria": { - "target": "com.amazonaws.ec2#InstanceMatchCriteria", + "PrefixListId": { + "target": "com.amazonaws.ec2#PrefixListResourceId", "traits": { - "smithy.api#documentation": "

Indicates the type of instance launches that the Capacity Reservation accepts. The options\n\t\t\tinclude:

\n\t\t
    \n
  • \n

    \n open - The Capacity Reservation automatically matches all instances that have matching attributes (instance type, platform, \n\t\t\t\tand Availability Zone). Instances that have matching attributes run in the Capacity Reservation automatically without specifying \n\t\t\t\tany additional parameters.

    \n
  • \n
  • \n

    \n targeted - The Capacity Reservation only accepts instances that have matching attributes\n\t\t\t\t\t(instance type, platform, and Availability Zone), and explicitly target the\n\t\t\t\t\tCapacity Reservation. This ensures that only permitted instances can use the reserved capacity.

    \n
  • \n
\n\t\t

Default: open\n

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the prefix list that is used for destination matches.

", + "smithy.api#required": {} } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", "traits": { - "smithy.api#documentation": "

The tags to apply to the Capacity Reservation during launch.

" + "smithy.api#documentation": "

The ID of the attachment to which traffic is routed.

" } }, - "DryRun": { + "Blackhole": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - } - }, - "OutpostArn": { - "target": "com.amazonaws.ec2#OutpostArn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Outpost on which to create the Capacity Reservation.

" + "smithy.api#documentation": "

Indicates whether to drop traffic that matches this route.

" } }, - "PlacementGroupArn": { - "target": "com.amazonaws.ec2#PlacementGroupArn", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the cluster placement group in which \n\t\t\tto create the Capacity Reservation. For more information, see \n\t\t\t\n\t\t\t\tCapacity Reservations for cluster placement groups in the \n\t\t\tAmazon EC2 User Guide.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateCapacityReservationResult": { + "com.amazonaws.ec2#CreateTransitGatewayPrefixListReferenceResult": { "type": "structure", "members": { - "CapacityReservation": { - "target": "com.amazonaws.ec2#CapacityReservation", + "TransitGatewayPrefixListReference": { + "target": "com.amazonaws.ec2#TransitGatewayPrefixListReference", "traits": { - "aws.protocols#ec2QueryName": "CapacityReservation", - "smithy.api#documentation": "

Information about the Capacity Reservation.

", - "smithy.api#xmlName": "capacityReservation" + "aws.protocols#ec2QueryName": "TransitGatewayPrefixListReference", + "smithy.api#documentation": "

Information about the prefix list reference.

", + "smithy.api#xmlName": "transitGatewayPrefixListReference" } } } }, - "com.amazonaws.ec2#CreateCarrierGateway": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#CreateCarrierGatewayRequest" - }, - "output": { - "target": "com.amazonaws.ec2#CreateCarrierGatewayResult" - }, - "traits": { - "smithy.api#documentation": "

Creates a carrier gateway. For more information about carrier gateways, see Carrier gateways in the Amazon Web Services Wavelength Developer Guide.

" - } - }, - "com.amazonaws.ec2#CreateCarrierGatewayRequest": { + "com.amazonaws.ec2#CreateTransitGatewayRequest": { "type": "structure", "members": { - "VpcId": { - "target": "com.amazonaws.ec2#VpcId", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the VPC to associate with the carrier gateway.

", - "smithy.api#required": {} + "smithy.api#documentation": "

A description of the transit gateway.

" + } + }, + "Options": { + "target": "com.amazonaws.ec2#TransitGatewayRequestOptions", + "traits": { + "smithy.api#documentation": "

The transit gateway options.

" } }, "TagSpecifications": { "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#documentation": "

The tags to associate with the carrier gateway.

", + "smithy.api#documentation": "

The tags to apply to the transit gateway.

", "smithy.api#xmlName": "TagSpecification" } }, @@ -13607,253 +18115,264 @@ "smithy.api#default": false, "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. For more information, see How to ensure\n idempotency.

", - "smithy.api#idempotencyToken": {} - } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateCarrierGatewayResult": { + "com.amazonaws.ec2#CreateTransitGatewayResult": { "type": "structure", "members": { - "CarrierGateway": { - "target": "com.amazonaws.ec2#CarrierGateway", + "TransitGateway": { + "target": "com.amazonaws.ec2#TransitGateway", "traits": { - "aws.protocols#ec2QueryName": "CarrierGateway", - "smithy.api#documentation": "

Information about the carrier gateway.

", - "smithy.api#xmlName": "carrierGateway" + "aws.protocols#ec2QueryName": "TransitGateway", + "smithy.api#documentation": "

Information about the transit gateway.

", + "smithy.api#xmlName": "transitGateway" } } } }, - "com.amazonaws.ec2#CreateClientVpnEndpoint": { + "com.amazonaws.ec2#CreateTransitGatewayRoute": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateClientVpnEndpointRequest" + "target": "com.amazonaws.ec2#CreateTransitGatewayRouteRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateClientVpnEndpointResult" + "target": "com.amazonaws.ec2#CreateTransitGatewayRouteResult" }, "traits": { - "smithy.api#documentation": "

Creates a Client VPN endpoint. A Client VPN endpoint is the resource you create and configure to \n\t\t\tenable and manage client VPN sessions. It is the destination endpoint at which all client VPN sessions \n\t\t\tare terminated.

" + "smithy.api#documentation": "

Creates a static route for the specified transit gateway route table.

" } }, - "com.amazonaws.ec2#CreateClientVpnEndpointRequest": { + "com.amazonaws.ec2#CreateTransitGatewayRouteRequest": { "type": "structure", "members": { - "ClientCidrBlock": { + "DestinationCidrBlock": { "target": "com.amazonaws.ec2#String", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IPv4 address range, in CIDR notation, from which to assign client IP addresses. The address range cannot overlap with the local CIDR of the VPC in which the associated subnet is located, or the routes that you add manually. The address range cannot be changed after the Client VPN endpoint has been created. The CIDR block should be /22 or greater.

", + "smithy.api#documentation": "

The CIDR range used for destination matches. Routing decisions are based on the\n most specific match.

", "smithy.api#required": {} } }, - "ServerCertificateArn": { - "target": "com.amazonaws.ec2#String", + "TransitGatewayRouteTableId": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ARN of the server certificate. For more information, see \n\t\t\tthe Certificate Manager User Guide.

", + "smithy.api#documentation": "

The ID of the transit gateway route table.

", "smithy.api#required": {} } }, - "AuthenticationOptions": { - "target": "com.amazonaws.ec2#ClientVpnAuthenticationRequestList", + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

Information about the authentication method to be used to authenticate clients.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "Authentication" + "smithy.api#documentation": "

The ID of the attachment.

" } }, - "ConnectionLogOptions": { - "target": "com.amazonaws.ec2#ConnectionLogOptions", + "Blackhole": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

Information about the client connection logging options.

\n\t\t

If you enable client connection logging, data about client connections is sent to a\n\t\t\tCloudwatch Logs log stream. The following information is logged:

\n\t\t
    \n
  • \n

    Client connection requests

    \n
  • \n
  • \n

    Client connection results (successful and unsuccessful)

    \n
  • \n
  • \n

    Reasons for unsuccessful client connection requests

    \n
  • \n
  • \n

    Client connection termination time

    \n
  • \n
", - "smithy.api#required": {} - } - }, - "DnsServers": { - "target": "com.amazonaws.ec2#ValueStringList", - "traits": { - "smithy.api#documentation": "

Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can\n\t\t\thave up to two DNS servers. If no DNS server is specified, the DNS address configured on the device is used for the DNS server.

" - } - }, - "TransportProtocol": { - "target": "com.amazonaws.ec2#TransportProtocol", - "traits": { - "smithy.api#documentation": "

The transport protocol to be used by the VPN session.

\n\t\t

Default value: udp\n

" + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to drop traffic that matches this route.

" } }, - "VpnPort": { - "target": "com.amazonaws.ec2#Integer", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The port number to assign to the Client VPN endpoint for TCP and UDP traffic.

\n\t

Valid Values: 443 | 1194\n

\n\t

Default Value: 443\n

" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - }, - "Description": { - "target": "com.amazonaws.ec2#String", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CreateTransitGatewayRouteResult": { + "type": "structure", + "members": { + "Route": { + "target": "com.amazonaws.ec2#TransitGatewayRoute", "traits": { - "smithy.api#documentation": "

A brief description of the Client VPN endpoint.

" + "aws.protocols#ec2QueryName": "Route", + "smithy.api#documentation": "

Information about the route.

", + "smithy.api#xmlName": "route" } - }, - "SplitTunnel": { - "target": "com.amazonaws.ec2#Boolean", + } + } + }, + "com.amazonaws.ec2#CreateTransitGatewayRouteTable": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateTransitGatewayRouteTableRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateTransitGatewayRouteTableResult" + }, + "traits": { + "smithy.api#documentation": "

Creates a route table for the specified transit gateway.

" + } + }, + "com.amazonaws.ec2#CreateTransitGatewayRouteTableAnnouncement": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateTransitGatewayRouteTableAnnouncementRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateTransitGatewayRouteTableAnnouncementResult" + }, + "traits": { + "smithy.api#documentation": "

Advertises a new transit gateway route table.

" + } + }, + "com.amazonaws.ec2#CreateTransitGatewayRouteTableAnnouncementRequest": { + "type": "structure", + "members": { + "TransitGatewayRouteTableId": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether split-tunnel is enabled on the Client VPN endpoint.

\n\t\t

By default, split-tunnel on a VPN endpoint is disabled.

\n\t\t

For information about split-tunnel VPN endpoints, see Split-tunnel Client VPN endpoint in the \n\t\t\tClient VPN Administrator Guide.

" + "smithy.api#documentation": "

The ID of the transit gateway route table.

", + "smithy.api#required": {} } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "PeeringAttachmentId": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - } - }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

The ID of the peering attachment.

", + "smithy.api#required": {} } }, "TagSpecifications": { "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#documentation": "

The tags to apply to the Client VPN endpoint during creation.

", + "smithy.api#documentation": "

The tags specifications applied to the transit gateway route table announcement.

", "smithy.api#xmlName": "TagSpecification" } }, - "SecurityGroupIds": { - "target": "com.amazonaws.ec2#ClientVpnSecurityGroupIdSet", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The IDs of one or more security groups to apply to the target network. You must also specify the ID of the VPC that contains the security groups.

", - "smithy.api#xmlName": "SecurityGroupId" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - }, - "VpcId": { - "target": "com.amazonaws.ec2#VpcId", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CreateTransitGatewayRouteTableAnnouncementResult": { + "type": "structure", + "members": { + "TransitGatewayRouteTableAnnouncement": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncement", "traits": { - "smithy.api#documentation": "

The ID of the VPC to associate with the Client VPN endpoint. If no security group IDs are specified in the request, the default security group for the VPC is applied.

" + "aws.protocols#ec2QueryName": "TransitGatewayRouteTableAnnouncement", + "smithy.api#documentation": "

Provides details about the transit gateway route table announcement.

", + "smithy.api#xmlName": "transitGatewayRouteTableAnnouncement" } - }, - "SelfServicePortal": { - "target": "com.amazonaws.ec2#SelfServicePortal", + } + } + }, + "com.amazonaws.ec2#CreateTransitGatewayRouteTableRequest": { + "type": "structure", + "members": { + "TransitGatewayId": { + "target": "com.amazonaws.ec2#TransitGatewayId", "traits": { - "smithy.api#documentation": "

Specify whether to enable the self-service portal for the Client VPN endpoint.

\n

Default Value: enabled\n

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the transit gateway.

", + "smithy.api#required": {} } }, - "ClientConnectOptions": { - "target": "com.amazonaws.ec2#ClientConnectOptions", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#documentation": "

The options for managing connection authorization for new client connections.

" + "smithy.api#documentation": "

The tags to apply to the transit gateway route table.

" } }, - "SessionTimeoutHours": { - "target": "com.amazonaws.ec2#Integer", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum VPN session duration time in hours.

\n\t\t

Valid values: 8 | 10 | 12 | 24\n

\n\t\t

Default value: 24\n

" - } - }, - "ClientLoginBannerOptions": { - "target": "com.amazonaws.ec2#ClientLoginBannerOptions", - "traits": { - "smithy.api#documentation": "

Options for enabling a customizable text banner that will be displayed on\n\t\t\tAmazon Web Services provided clients when a VPN session is established.

" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateClientVpnEndpointResult": { + "com.amazonaws.ec2#CreateTransitGatewayRouteTableResult": { "type": "structure", "members": { - "ClientVpnEndpointId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "ClientVpnEndpointId", - "smithy.api#documentation": "

The ID of the Client VPN endpoint.

", - "smithy.api#xmlName": "clientVpnEndpointId" - } - }, - "Status": { - "target": "com.amazonaws.ec2#ClientVpnEndpointStatus", - "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The current state of the Client VPN endpoint.

", - "smithy.api#xmlName": "status" - } - }, - "DnsName": { - "target": "com.amazonaws.ec2#String", + "TransitGatewayRouteTable": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTable", "traits": { - "aws.protocols#ec2QueryName": "DnsName", - "smithy.api#documentation": "

The DNS name to be used by clients when establishing their VPN session.

", - "smithy.api#xmlName": "dnsName" + "aws.protocols#ec2QueryName": "TransitGatewayRouteTable", + "smithy.api#documentation": "

Information about the transit gateway route table.

", + "smithy.api#xmlName": "transitGatewayRouteTable" } } } }, - "com.amazonaws.ec2#CreateClientVpnRoute": { + "com.amazonaws.ec2#CreateTransitGatewayVpcAttachment": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateClientVpnRouteRequest" + "target": "com.amazonaws.ec2#CreateTransitGatewayVpcAttachmentRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateClientVpnRouteResult" + "target": "com.amazonaws.ec2#CreateTransitGatewayVpcAttachmentResult" }, "traits": { - "smithy.api#documentation": "

Adds a route to a network to a Client VPN endpoint. Each Client VPN endpoint has a route table that describes the \n\t\t\tavailable destination network routes. Each route in the route table specifies the path for traffic to specific resources or networks.

" + "smithy.api#documentation": "

Attaches the specified VPC to the specified transit gateway.

\n

If you attach a VPC with a CIDR range that overlaps the CIDR range of a VPC that is already attached,\n the new VPC CIDR range is not propagated to the default propagation route table.

\n

To send VPC traffic to an attached transit gateway, add a route to the VPC route table using CreateRoute.

" } }, - "com.amazonaws.ec2#CreateClientVpnRouteRequest": { + "com.amazonaws.ec2#CreateTransitGatewayVpcAttachmentRequest": { "type": "structure", "members": { - "ClientVpnEndpointId": { - "target": "com.amazonaws.ec2#ClientVpnEndpointId", + "TransitGatewayId": { + "target": "com.amazonaws.ec2#TransitGatewayId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Client VPN endpoint to which to add the route.

", + "smithy.api#documentation": "

The ID of the transit gateway.

", "smithy.api#required": {} } }, - "DestinationCidrBlock": { - "target": "com.amazonaws.ec2#String", + "VpcId": { + "target": "com.amazonaws.ec2#VpcId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IPv4 address range, in CIDR notation, of the route destination. For example:

\n\t\t
    \n
  • \n

    To add a route for Internet access, enter 0.0.0.0/0\n

    \n
  • \n
  • \n

    To add a route for a peered VPC, enter the peered VPC's IPv4 CIDR range

    \n
  • \n
  • \n

    To add a route for an on-premises network, enter the Amazon Web Services Site-to-Site VPN connection's IPv4 CIDR range

    \n
  • \n
  • \n

    To add a route for the local network, enter the client CIDR range

    \n
  • \n
", + "smithy.api#documentation": "

The ID of the VPC.

", "smithy.api#required": {} } }, - "TargetVpcSubnetId": { - "target": "com.amazonaws.ec2#SubnetId", + "SubnetIds": { + "target": "com.amazonaws.ec2#TransitGatewaySubnetIdList", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the subnet through which you want to route traffic. The specified subnet must be\n\t\t\tan existing target network of the Client VPN endpoint.

\n\t

Alternatively, if you're adding a route for the local network, specify local.

", + "smithy.api#documentation": "

The IDs of one or more subnets. You can specify only one subnet per Availability Zone. \n You must specify at least one subnet, but we recommend that you specify two subnets for better availability.\n The transit gateway uses one IP address from each specified subnet.

", "smithy.api#required": {} } }, - "Description": { - "target": "com.amazonaws.ec2#String", + "Options": { + "target": "com.amazonaws.ec2#CreateTransitGatewayVpcAttachmentRequestOptions", "traits": { - "smithy.api#documentation": "

A brief description of the route.

" + "smithy.api#documentation": "

The VPC attachment options.

" } }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

The tags to apply to the VPC attachment.

" } }, "DryRun": { @@ -13861,293 +18380,308 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - } - } - } - }, - "com.amazonaws.ec2#CreateClientVpnRouteResult": { - "type": "structure", - "members": { - "Status": { - "target": "com.amazonaws.ec2#ClientVpnRouteStatus", - "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The current state of the route.

", - "smithy.api#xmlName": "status" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } - } - }, - "com.amazonaws.ec2#CreateCoipCidr": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#CreateCoipCidrRequest" - }, - "output": { - "target": "com.amazonaws.ec2#CreateCoipCidrResult" }, "traits": { - "smithy.api#documentation": "

\n Creates a range of customer-owned IP addresses.\n

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateCoipCidrRequest": { + "com.amazonaws.ec2#CreateTransitGatewayVpcAttachmentRequestOptions": { "type": "structure", "members": { - "Cidr": { - "target": "com.amazonaws.ec2#String", + "DnsSupport": { + "target": "com.amazonaws.ec2#DnsSupportValue", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

\n A customer-owned IP address range to create.\n

", - "smithy.api#required": {} + "smithy.api#documentation": "

Enable or disable DNS support. The default is enable.

" } }, - "CoipPoolId": { - "target": "com.amazonaws.ec2#Ipv4PoolCoipId", + "Ipv6Support": { + "target": "com.amazonaws.ec2#Ipv6SupportValue", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

\n The ID of the address pool.\n

", - "smithy.api#required": {} + "smithy.api#documentation": "

Enable or disable IPv6 support. The default is disable.

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "ApplianceModeSupport": { + "target": "com.amazonaws.ec2#ApplianceModeSupportValue", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Enable or disable support for appliance mode. If enabled, a traffic flow between a source and destination uses the same Availability Zone for the VPC attachment for the lifetime of that flow. The default is disable.

" } } + }, + "traits": { + "smithy.api#documentation": "

Describes the options for a VPC attachment.

" } }, - "com.amazonaws.ec2#CreateCoipCidrResult": { + "com.amazonaws.ec2#CreateTransitGatewayVpcAttachmentResult": { "type": "structure", "members": { - "CoipCidr": { - "target": "com.amazonaws.ec2#CoipCidr", + "TransitGatewayVpcAttachment": { + "target": "com.amazonaws.ec2#TransitGatewayVpcAttachment", "traits": { - "aws.protocols#ec2QueryName": "CoipCidr", - "smithy.api#documentation": "

\n Information about a range of customer-owned IP addresses.\n

", - "smithy.api#xmlName": "coipCidr" + "aws.protocols#ec2QueryName": "TransitGatewayVpcAttachment", + "smithy.api#documentation": "

Information about the VPC attachment.

", + "smithy.api#xmlName": "transitGatewayVpcAttachment" } } } }, - "com.amazonaws.ec2#CreateCoipPool": { + "com.amazonaws.ec2#CreateVerifiedAccessEndpoint": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateCoipPoolRequest" + "target": "com.amazonaws.ec2#CreateVerifiedAccessEndpointRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateCoipPoolResult" + "target": "com.amazonaws.ec2#CreateVerifiedAccessEndpointResult" }, "traits": { - "smithy.api#documentation": "

Creates a pool of customer-owned IP (CoIP) addresses.

" + "smithy.api#documentation": "

An Amazon Web Services Verified Access endpoint is where you define your application along with an optional endpoint-level access policy.

" } }, - "com.amazonaws.ec2#CreateCoipPoolRequest": { + "com.amazonaws.ec2#CreateVerifiedAccessEndpointEniOptions": { "type": "structure", "members": { - "LocalGatewayRouteTableId": { - "target": "com.amazonaws.ec2#LocalGatewayRoutetableId", + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#NetworkInterfaceId", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

\n The ID of the local gateway route table.\n

", - "smithy.api#required": {} + "smithy.api#documentation": "

The ID of the network interface.

" } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + "Protocol": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointProtocol", "traits": { - "smithy.api#documentation": "

\n The tags to assign to the CoIP address pool.\n

", - "smithy.api#xmlName": "TagSpecification" + "smithy.api#documentation": "

The IP protocol.

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Port": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointPortNumber", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#default": 0, + "smithy.api#documentation": "

The IP port number.

" } } + }, + "traits": { + "smithy.api#documentation": "

Options for a network interface-type endpoint.

" } }, - "com.amazonaws.ec2#CreateCoipPoolResult": { + "com.amazonaws.ec2#CreateVerifiedAccessEndpointLoadBalancerOptions": { "type": "structure", "members": { - "CoipPool": { - "target": "com.amazonaws.ec2#CoipPool", + "Protocol": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointProtocol", "traits": { - "aws.protocols#ec2QueryName": "CoipPool", - "smithy.api#xmlName": "coipPool" + "smithy.api#documentation": "

The IP protocol.

" + } + }, + "Port": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointPortNumber", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The IP port number.

" + } + }, + "LoadBalancerArn": { + "target": "com.amazonaws.ec2#LoadBalancerArn", + "traits": { + "smithy.api#documentation": "

The ARN of the load balancer.

" + } + }, + "SubnetIds": { + "target": "com.amazonaws.ec2#CreateVerifiedAccessEndpointSubnetIdList", + "traits": { + "smithy.api#documentation": "

The IDs of the subnets.

", + "smithy.api#xmlName": "SubnetId" } } - } - }, - "com.amazonaws.ec2#CreateCustomerGateway": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#CreateCustomerGatewayRequest" - }, - "output": { - "target": "com.amazonaws.ec2#CreateCustomerGatewayResult" }, "traits": { - "smithy.api#documentation": "

Provides information to Amazon Web Services about your customer gateway device. The\n customer gateway device is the appliance at your end of the VPN connection. You\n must provide the IP address of the customer gateway device’s external\n interface. The IP address must be static and can be behind a device performing network\n address translation (NAT).

\n

For devices that use Border Gateway Protocol (BGP), you can also provide the device's\n BGP Autonomous System Number (ASN). You can use an existing ASN assigned to your network.\n If you don't have an ASN already, you can use a private ASN. For more information, see \n Customer gateway \n options for your Site-to-Site VPN connection in the Amazon Web Services Site-to-Site VPN User Guide.

\n

To create more than one customer gateway with the same VPN type, IP address, and\n BGP ASN, specify a unique device name for each customer gateway. An identical request\n returns information about the existing customer gateway; it doesn't create a new customer\n gateway.

" + "smithy.api#documentation": "

Describes a load balancer when creating an Amazon Web Services Verified Access endpoint using the\n load-balancer type.

" } }, - "com.amazonaws.ec2#CreateCustomerGatewayRequest": { + "com.amazonaws.ec2#CreateVerifiedAccessEndpointRequest": { "type": "structure", "members": { - "BgpAsn": { - "target": "com.amazonaws.ec2#Integer", + "VerifiedAccessGroupId": { + "target": "com.amazonaws.ec2#VerifiedAccessGroupId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

For devices that support BGP, the customer gateway's BGP ASN.

\n

Default: 65000

", + "smithy.api#documentation": "

The ID of the Verified Access group to associate the endpoint with.

", "smithy.api#required": {} } }, - "PublicIp": { - "target": "com.amazonaws.ec2#String", + "EndpointType": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointType", "traits": { - "smithy.api#documentation": "

\n This member has been deprecated. The Internet-routable IP address for the customer gateway's outside interface. The\n address must be static.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The type of Amazon Web Services Verified Access endpoint to create.

", + "smithy.api#required": {} } }, - "CertificateArn": { + "AttachmentType": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointAttachmentType", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Amazon Web Services network component Verified Access attaches to.

", + "smithy.api#required": {} + } + }, + "DomainCertificateArn": { + "target": "com.amazonaws.ec2#CertificateArn", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ARN of the public TLS/SSL certificate in Amazon Web Services Certificate Manager to associate with the endpoint.\n The CN in the certificate must match the DNS name your end users will use to reach your\n application.

", + "smithy.api#required": {} + } + }, + "ApplicationDomain": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the customer gateway certificate.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The DNS name for users to reach your application.

", + "smithy.api#required": {} } }, - "Type": { - "target": "com.amazonaws.ec2#GatewayType", + "EndpointDomainPrefix": { + "target": "com.amazonaws.ec2#String", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The type of VPN connection that this customer gateway supports\n (ipsec.1).

", + "smithy.api#documentation": "

A custom identifier that gets prepended to a DNS name that is generated for the endpoint.

", "smithy.api#required": {} } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + "SecurityGroupIds": { + "target": "com.amazonaws.ec2#SecurityGroupIdList", "traits": { - "smithy.api#documentation": "

The tags to apply to the customer gateway.

", - "smithy.api#xmlName": "TagSpecification" + "smithy.api#documentation": "

The Amazon EC2 security groups to associate with the Amazon Web Services Verified Access endpoint.

", + "smithy.api#xmlName": "SecurityGroupId" } }, - "DeviceName": { + "LoadBalancerOptions": { + "target": "com.amazonaws.ec2#CreateVerifiedAccessEndpointLoadBalancerOptions", + "traits": { + "smithy.api#documentation": "

The load balancer details if creating the Amazon Web Services Verified Access endpoint as\n load-balancertype.

" + } + }, + "NetworkInterfaceOptions": { + "target": "com.amazonaws.ec2#CreateVerifiedAccessEndpointEniOptions", + "traits": { + "smithy.api#documentation": "

The network interface details if creating the Amazon Web Services Verified Access endpoint as\n network-interfacetype.

" + } + }, + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

A name for the customer gateway device.

\n

Length Constraints: Up to 255 characters.

" + "smithy.api#documentation": "

A description for the Amazon Web Services Verified Access endpoint.

" } }, - "IpAddress": { + "PolicyDocument": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services Verified Access policy document.

" + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

The tags to assign to the Amazon Web Services Verified Access endpoint.

", + "smithy.api#xmlName": "TagSpecification" + } + }, + "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

\n IPv4 address for the customer gateway device's outside interface. The address must be static.\n

" + "smithy.api#documentation": "

A unique, case-sensitive token that you provide to ensure idempotency of your\n modification request. For more information, see Ensuring Idempotency.

", + "smithy.api#idempotencyToken": {} } }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for CreateCustomerGateway.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateCustomerGatewayResult": { + "com.amazonaws.ec2#CreateVerifiedAccessEndpointResult": { "type": "structure", "members": { - "CustomerGateway": { - "target": "com.amazonaws.ec2#CustomerGateway", + "VerifiedAccessEndpoint": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpoint", "traits": { - "aws.protocols#ec2QueryName": "CustomerGateway", - "smithy.api#documentation": "

Information about the customer gateway.

", - "smithy.api#xmlName": "customerGateway" + "aws.protocols#ec2QueryName": "VerifiedAccessEndpoint", + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access endpoint.

", + "smithy.api#xmlName": "verifiedAccessEndpoint" } } - }, - "traits": { - "smithy.api#documentation": "

Contains the output of CreateCustomerGateway.

" } }, - "com.amazonaws.ec2#CreateDefaultSubnet": { + "com.amazonaws.ec2#CreateVerifiedAccessEndpointSubnetIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SubnetId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#CreateVerifiedAccessGroup": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateDefaultSubnetRequest" + "target": "com.amazonaws.ec2#CreateVerifiedAccessGroupRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateDefaultSubnetResult" + "target": "com.amazonaws.ec2#CreateVerifiedAccessGroupResult" }, "traits": { - "smithy.api#documentation": "

Creates a default subnet with a size /20 IPv4 CIDR block in the\n specified Availability Zone in your default VPC. You can have only one default subnet\n per Availability Zone. For more information, see Creating a default\n subnet in the Amazon Virtual Private Cloud User Guide.

" + "smithy.api#documentation": "

An Amazon Web Services Verified Access group is a collection of Amazon Web Services Verified Access endpoints who's associated applications have\n similar security requirements. Each instance within an Amazon Web Services Verified Access group shares an Amazon Web Services Verified Access policy. For\n example, you can group all Amazon Web Services Verified Access instances associated with β€œsales” applications together and\n use one common Amazon Web Services Verified Access policy.

" } }, - "com.amazonaws.ec2#CreateDefaultSubnetRequest": { + "com.amazonaws.ec2#CreateVerifiedAccessGroupRequest": { "type": "structure", "members": { - "AvailabilityZone": { - "target": "com.amazonaws.ec2#String", + "VerifiedAccessInstanceId": { + "target": "com.amazonaws.ec2#VerifiedAccessInstanceId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The Availability Zone in which to create the default subnet.

", + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access instance.

", "smithy.api#required": {} } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

A description for the Amazon Web Services Verified Access group.

" } }, - "Ipv6Native": { - "target": "com.amazonaws.ec2#Boolean", + "PolicyDocument": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to create an IPv6 only subnet. If you already have a default subnet\n for this Availability Zone, you must delete it before you can create an IPv6 only subnet.

" + "smithy.api#documentation": "

The Amazon Web Services Verified Access policy document.

" } - } - } - }, - "com.amazonaws.ec2#CreateDefaultSubnetResult": { - "type": "structure", - "members": { - "Subnet": { - "target": "com.amazonaws.ec2#Subnet", + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "Subnet", - "smithy.api#documentation": "

Information about the subnet.

", - "smithy.api#xmlName": "subnet" + "smithy.api#documentation": "

The tags to assign to the Amazon Web Services Verified Access group.

", + "smithy.api#xmlName": "TagSpecification" } - } - } - }, - "com.amazonaws.ec2#CreateDefaultVpc": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#CreateDefaultVpcRequest" - }, - "output": { - "target": "com.amazonaws.ec2#CreateDefaultVpcResult" - }, - "traits": { - "smithy.api#documentation": "

Creates a default VPC with a size /16 IPv4 CIDR block and a default subnet\n\t\t\tin each Availability Zone. For more information about the components of a default VPC,\n\t\t\tsee Default VPC and\n\t\t\tdefault subnets in the Amazon Virtual Private Cloud User Guide. You cannot\n\t\t\tspecify the components of the default VPC yourself.

\n\t\t

If you deleted your previous default VPC, you can create a default VPC. You cannot have\n\t\t\tmore than one default VPC per Region.

\n\t\t

If your account supports EC2-Classic, you cannot use this action to create a default VPC\n\t\t\tin a Region that supports EC2-Classic. If you want a default VPC in a Region that\n\t\t\tsupports EC2-Classic, see \"I really want a default VPC for my existing EC2 account. Is\n\t\t\tthat possible?\" in the Default VPCs\n\t\t\tFAQ.

\n\t \n\t

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n\t
" - } - }, - "com.amazonaws.ec2#CreateDefaultVpcRequest": { - "type": "structure", - "members": { + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

A unique, case-sensitive token that you provide to ensure idempotency of your\n modification request. For more information, see Ensuring Idempotency.

", + "smithy.api#idempotencyToken": {} + } + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -14156,545 +18690,458 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateDefaultVpcResult": { + "com.amazonaws.ec2#CreateVerifiedAccessGroupResult": { "type": "structure", "members": { - "Vpc": { - "target": "com.amazonaws.ec2#Vpc", + "VerifiedAccessGroup": { + "target": "com.amazonaws.ec2#VerifiedAccessGroup", "traits": { - "aws.protocols#ec2QueryName": "Vpc", - "smithy.api#documentation": "

Information about the VPC.

", - "smithy.api#xmlName": "vpc" + "aws.protocols#ec2QueryName": "VerifiedAccessGroup", + "smithy.api#documentation": "

The ID of the Verified Access group.

", + "smithy.api#xmlName": "verifiedAccessGroup" } } } }, - "com.amazonaws.ec2#CreateDhcpOptions": { + "com.amazonaws.ec2#CreateVerifiedAccessInstance": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateDhcpOptionsRequest" + "target": "com.amazonaws.ec2#CreateVerifiedAccessInstanceRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateDhcpOptionsResult" + "target": "com.amazonaws.ec2#CreateVerifiedAccessInstanceResult" }, "traits": { - "smithy.api#documentation": "

Creates a set of DHCP options for your VPC. After creating the set, you must\n\t\t\t\tassociate it with the VPC, causing all existing and new instances that you launch in\n\t\t\t\tthe VPC to use this set of DHCP options. The following are the individual DHCP\n\t\t\t\toptions you can specify. For more information about the options, see RFC 2132.

\n
    \n
  • \n

    \n domain-name-servers - The IP addresses of up to four domain name\n servers, or AmazonProvidedDNS. The default DHCP option set specifies\n AmazonProvidedDNS. If specifying more than one domain name server, specify the\n IP addresses in a single parameter, separated by commas. To have your instance\n receive a custom DNS hostname as specified in domain-name, you must\n set domain-name-servers to a custom DNS server.

    \n
  • \n
  • \n

    \n domain-name - If you're using AmazonProvidedDNS in\n us-east-1, specify ec2.internal. If you're using\n AmazonProvidedDNS in another Region, specify\n region.compute.internal (for example,\n ap-northeast-1.compute.internal). Otherwise, specify a domain\n name (for example, ExampleCompany.com). This value is used to complete\n unqualified DNS hostnames. Important: Some\n Linux operating systems accept multiple domain names separated by spaces.\n However, Windows and other Linux operating systems treat the value as a single\n domain, which results in unexpected behavior. If your DHCP options set is\n associated with a VPC that has instances with multiple operating systems,\n specify only one domain name.

    \n
  • \n
  • \n

    \n ntp-servers - The IP addresses of up to four Network Time Protocol (NTP)\n servers.

    \n
  • \n
  • \n

    \n netbios-name-servers - The IP addresses of up to four NetBIOS name\n servers.

    \n
  • \n
  • \n

    \n netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend that\n you specify 2 (broadcast and multicast are not currently supported). For more information\n about these node types, see RFC 2132.

    \n
  • \n
\n\n

Your VPC automatically starts out with a set of DHCP options that includes only a DNS\n\t\t\tserver that we provide (AmazonProvidedDNS). If you create a set of options, and if your\n\t\t\tVPC has an internet gateway, make sure to set the domain-name-servers\n\t\t\toption either to AmazonProvidedDNS or to a domain name server of your\n\t\t\tchoice. For more information, see DHCP options sets in the\n\t\t\tAmazon Virtual Private Cloud User Guide.

" + "smithy.api#documentation": "

An Amazon Web Services Verified Access instance is a regional entity that evaluates application requests and grants\n access only when your security requirements are met.

" } }, - "com.amazonaws.ec2#CreateDhcpOptionsRequest": { + "com.amazonaws.ec2#CreateVerifiedAccessInstanceRequest": { "type": "structure", "members": { - "DhcpConfigurations": { - "target": "com.amazonaws.ec2#NewDhcpConfigurationList", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DhcpConfiguration", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

A DHCP configuration option.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "dhcpConfiguration" + "smithy.api#documentation": "

A description for the Amazon Web Services Verified Access instance.

" } }, "TagSpecifications": { "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#documentation": "

The tags to assign to the DHCP option.

", + "smithy.api#documentation": "

The tags to assign to the Amazon Web Services Verified Access instance.

", "smithy.api#xmlName": "TagSpecification" } }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

A unique, case-sensitive token that you provide to ensure idempotency of your\n modification request. For more information, see Ensuring Idempotency.

", + "smithy.api#idempotencyToken": {} + } + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateDhcpOptionsResult": { + "com.amazonaws.ec2#CreateVerifiedAccessInstanceResult": { "type": "structure", "members": { - "DhcpOptions": { - "target": "com.amazonaws.ec2#DhcpOptions", + "VerifiedAccessInstance": { + "target": "com.amazonaws.ec2#VerifiedAccessInstance", "traits": { - "aws.protocols#ec2QueryName": "DhcpOptions", - "smithy.api#documentation": "

A set of DHCP options.

", - "smithy.api#xmlName": "dhcpOptions" + "aws.protocols#ec2QueryName": "VerifiedAccessInstance", + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access instance.

", + "smithy.api#xmlName": "verifiedAccessInstance" } } } }, - "com.amazonaws.ec2#CreateEgressOnlyInternetGateway": { + "com.amazonaws.ec2#CreateVerifiedAccessTrustProvider": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateEgressOnlyInternetGatewayRequest" + "target": "com.amazonaws.ec2#CreateVerifiedAccessTrustProviderRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateEgressOnlyInternetGatewayResult" + "target": "com.amazonaws.ec2#CreateVerifiedAccessTrustProviderResult" }, "traits": { - "smithy.api#documentation": "

[IPv6 only] Creates an egress-only internet gateway for your VPC. An egress-only\n\t\t\tinternet gateway is used to enable outbound communication over IPv6 from instances in\n\t\t\tyour VPC to the internet, and prevents hosts outside of your VPC from initiating an IPv6\n\t\t\tconnection with your instance.

" - } - }, - "com.amazonaws.ec2#CreateEgressOnlyInternetGatewayRequest": { - "type": "structure", - "members": { - "ClientToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n\t\t\trequest. For more information, see How to ensure\n\t\t\t\tidempotency.

" - } - }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - }, - "VpcId": { - "target": "com.amazonaws.ec2#VpcId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the VPC for which to create the egress-only internet gateway.

", - "smithy.api#required": {} - } - }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", - "traits": { - "smithy.api#documentation": "

The tags to assign to the egress-only internet gateway.

", - "smithy.api#xmlName": "TagSpecification" - } - } + "smithy.api#documentation": "

A trust provider is a third-party entity that creates, maintains, and manages identity\n information for users and devices. When an application request is made, the identity\n information sent by the trust provider will be evaluated by Amazon Web Services Verified Access, before allowing or\n denying the application request.

" } }, - "com.amazonaws.ec2#CreateEgressOnlyInternetGatewayResult": { + "com.amazonaws.ec2#CreateVerifiedAccessTrustProviderDeviceOptions": { "type": "structure", "members": { - "ClientToken": { + "TenantId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ClientToken", - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n\t\t\trequest.

", - "smithy.api#xmlName": "clientToken" - } - }, - "EgressOnlyInternetGateway": { - "target": "com.amazonaws.ec2#EgressOnlyInternetGateway", - "traits": { - "aws.protocols#ec2QueryName": "EgressOnlyInternetGateway", - "smithy.api#documentation": "

Information about the egress-only internet gateway.

", - "smithy.api#xmlName": "egressOnlyInternetGateway" + "smithy.api#documentation": "

The ID of the tenant application with the device-identity provider.

" } } - } - }, - "com.amazonaws.ec2#CreateFleet": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#CreateFleetRequest" - }, - "output": { - "target": "com.amazonaws.ec2#CreateFleetResult" }, "traits": { - "smithy.api#documentation": "

Launches an EC2 Fleet.

\n

You can create a single EC2 Fleet that includes multiple launch specifications that vary by\n instance type, AMI, Availability Zone, or subnet.

\n

For more information, see EC2 Fleet in the Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Options for a device-identity type trust provider.

" } }, - "com.amazonaws.ec2#CreateFleetError": { + "com.amazonaws.ec2#CreateVerifiedAccessTrustProviderOidcOptions": { "type": "structure", "members": { - "LaunchTemplateAndOverrides": { - "target": "com.amazonaws.ec2#LaunchTemplateAndOverridesResponse", - "traits": { - "aws.protocols#ec2QueryName": "LaunchTemplateAndOverrides", - "smithy.api#documentation": "

The launch templates and overrides that were used for launching the instances. The\n values that you specify in the Overrides replace the values in the launch template.

", - "smithy.api#xmlName": "launchTemplateAndOverrides" - } - }, - "Lifecycle": { - "target": "com.amazonaws.ec2#InstanceLifecycle", + "Issuer": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Lifecycle", - "smithy.api#documentation": "

Indicates if the instance that could not be launched was a Spot Instance or On-Demand Instance.

", - "smithy.api#xmlName": "lifecycle" + "smithy.api#documentation": "

The OIDC issuer.

" } }, - "ErrorCode": { + "AuthorizationEndpoint": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ErrorCode", - "smithy.api#documentation": "

The error code that indicates why the instance could not be launched. For more\n information about error codes, see Error codes.

", - "smithy.api#xmlName": "errorCode" + "smithy.api#documentation": "

The OIDC authorization endpoint.

" } }, - "ErrorMessage": { + "TokenEndpoint": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ErrorMessage", - "smithy.api#documentation": "

The error message that describes why the instance could not be launched. For more\n information about error messages, see Error codes.

", - "smithy.api#xmlName": "errorMessage" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the instances that could not be launched by the fleet.

" - } - }, - "com.amazonaws.ec2#CreateFleetErrorsSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#CreateFleetError", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#CreateFleetInstance": { - "type": "structure", - "members": { - "LaunchTemplateAndOverrides": { - "target": "com.amazonaws.ec2#LaunchTemplateAndOverridesResponse", - "traits": { - "aws.protocols#ec2QueryName": "LaunchTemplateAndOverrides", - "smithy.api#documentation": "

The launch templates and overrides that were used for launching the instances. The\n values that you specify in the Overrides replace the values in the launch template.

", - "smithy.api#xmlName": "launchTemplateAndOverrides" + "smithy.api#documentation": "

The OIDC token endpoint.

" } }, - "Lifecycle": { - "target": "com.amazonaws.ec2#InstanceLifecycle", + "UserInfoEndpoint": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Lifecycle", - "smithy.api#documentation": "

Indicates if the instance that was launched is a Spot Instance or On-Demand Instance.

", - "smithy.api#xmlName": "lifecycle" + "smithy.api#documentation": "

The OIDC user info endpoint.

" } }, - "InstanceIds": { - "target": "com.amazonaws.ec2#InstanceIdsSet", + "ClientId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "InstanceIds", - "smithy.api#documentation": "

The IDs of the instances.

", - "smithy.api#xmlName": "instanceIds" + "smithy.api#documentation": "

The client identifier.

" } }, - "InstanceType": { - "target": "com.amazonaws.ec2#InstanceType", + "ClientSecret": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "InstanceType", - "smithy.api#documentation": "

The instance type.

", - "smithy.api#xmlName": "instanceType" + "smithy.api#documentation": "

The client secret.

" } }, - "Platform": { - "target": "com.amazonaws.ec2#PlatformValues", + "Scope": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Platform", - "smithy.api#documentation": "

The value is Windows for Windows instances. Otherwise, the value is\n blank.

", - "smithy.api#xmlName": "platform" + "smithy.api#documentation": "

OpenID Connect (OIDC) scopes are used by an application during authentication to authorize access to a user's details. Each scope returns a specific set of user attributes.

" } } }, "traits": { - "smithy.api#documentation": "

Describes the instances that were launched by the fleet.

" - } - }, - "com.amazonaws.ec2#CreateFleetInstancesSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#CreateFleetInstance", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

Options for an OIDC-based, user-identity type trust provider.

" } }, - "com.amazonaws.ec2#CreateFleetRequest": { + "com.amazonaws.ec2#CreateVerifiedAccessTrustProviderRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "TrustProviderType": { + "target": "com.amazonaws.ec2#TrustProviderType", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. For more information, see Ensuring\n idempotency.

" + "smithy.api#documentation": "

The type of trust provider can be either user or device-based.

", + "smithy.api#required": {} } }, - "SpotOptions": { - "target": "com.amazonaws.ec2#SpotOptionsRequest", + "UserTrustProviderType": { + "target": "com.amazonaws.ec2#UserTrustProviderType", "traits": { - "smithy.api#documentation": "

Describes the configuration of Spot Instances in an EC2 Fleet.

" + "smithy.api#documentation": "

The type of user-based trust provider.

" } }, - "OnDemandOptions": { - "target": "com.amazonaws.ec2#OnDemandOptionsRequest", + "DeviceTrustProviderType": { + "target": "com.amazonaws.ec2#DeviceTrustProviderType", "traits": { - "smithy.api#documentation": "

Describes the configuration of On-Demand Instances in an EC2 Fleet.

" + "smithy.api#documentation": "

The type of device-based trust provider.

" } }, - "ExcessCapacityTerminationPolicy": { - "target": "com.amazonaws.ec2#FleetExcessCapacityTerminationPolicy", + "OidcOptions": { + "target": "com.amazonaws.ec2#CreateVerifiedAccessTrustProviderOidcOptions", "traits": { - "smithy.api#documentation": "

Indicates whether running instances should be terminated if the total target capacity of\n the EC2 Fleet is decreased below the current size of the EC2 Fleet.

" + "smithy.api#documentation": "

The OpenID Connect details for an oidc-type, user-identity based trust provider.

" } }, - "LaunchTemplateConfigs": { - "target": "com.amazonaws.ec2#FleetLaunchTemplateConfigListRequest", + "DeviceOptions": { + "target": "com.amazonaws.ec2#CreateVerifiedAccessTrustProviderDeviceOptions", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The configuration for the EC2 Fleet.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The options for device identity based trust providers.

" } }, - "TargetCapacitySpecification": { - "target": "com.amazonaws.ec2#TargetCapacitySpecificationRequest", + "PolicyReferenceName": { + "target": "com.amazonaws.ec2#String", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The number of units to request.

", + "smithy.api#documentation": "

The identifier to be used when working with policy rules.

", "smithy.api#required": {} } }, - "TerminateInstancesWithExpiration": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether running instances should be terminated when the EC2 Fleet expires.

" - } - }, - "Type": { - "target": "com.amazonaws.ec2#FleetType", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The fleet type. The default value is maintain.

\n
    \n
  • \n

    \n maintain - The EC2 Fleet places an asynchronous request for your desired\n capacity, and continues to maintain your desired Spot capacity by replenishing\n interrupted Spot Instances.

    \n
  • \n
  • \n

    \n request - The EC2 Fleet places an asynchronous one-time request for your\n desired capacity, but does submit Spot requests in alternative capacity pools if Spot\n capacity is unavailable, and does not maintain Spot capacity if Spot Instances are\n interrupted.

    \n
  • \n
  • \n

    \n instant - The EC2 Fleet places a synchronous one-time request for your\n desired capacity, and returns errors for any instances that could not be\n launched.

    \n
  • \n
\n

For more information, see EC2 Fleet\n request types in the Amazon EC2 User Guide.

" + "smithy.api#documentation": "

A description for the Amazon Web Services Verified Access trust provider.

" } }, - "ValidFrom": { - "target": "com.amazonaws.ec2#DateTime", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#documentation": "

The start date and time of the request, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).\n The default is to start fulfilling the request immediately.

" + "smithy.api#documentation": "

The tags to assign to the Amazon Web Services Verified Access trust provider.

", + "smithy.api#xmlName": "TagSpecification" } }, - "ValidUntil": { - "target": "com.amazonaws.ec2#DateTime", + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The end date and time of the request, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).\n At this point, no new EC2 Fleet requests are placed or able to fulfill the request. If no value is specified, the request remains until you cancel it.

" + "smithy.api#documentation": "

A unique, case-sensitive token that you provide to ensure idempotency of your\n modification request. For more information, see Ensuring Idempotency.

", + "smithy.api#idempotencyToken": {} } }, - "ReplaceUnhealthyInstances": { + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether EC2 Fleet should replace unhealthy Spot Instances. Supported only for\n fleets of type maintain. For more information, see EC2 Fleet\n health checks in the Amazon EC2 User Guide.

" - } - }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", - "traits": { - "smithy.api#documentation": "

The key-value pair for tagging the EC2 Fleet request on creation. For more information, see \n Tagging your resources.

\n

If the fleet type is instant, specify a resource type of fleet \n to tag the fleet or instance to tag the instances at launch.

\n

If the fleet type is maintain or request, specify a resource\n type of fleet to tag the fleet. You cannot specify a resource type of\n instance. To tag instances at launch, specify the tags in a launch template.

", - "smithy.api#xmlName": "TagSpecification" - } - }, - "Context": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

Reserved.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateFleetResult": { + "com.amazonaws.ec2#CreateVerifiedAccessTrustProviderResult": { "type": "structure", "members": { - "FleetId": { - "target": "com.amazonaws.ec2#FleetId", - "traits": { - "aws.protocols#ec2QueryName": "FleetId", - "smithy.api#documentation": "

The ID of the EC2 Fleet.

", - "smithy.api#xmlName": "fleetId" - } - }, - "Errors": { - "target": "com.amazonaws.ec2#CreateFleetErrorsSet", - "traits": { - "aws.protocols#ec2QueryName": "ErrorSet", - "smithy.api#documentation": "

Information about the instances that could not be launched by the fleet. Supported only for\n fleets of type instant.

", - "smithy.api#xmlName": "errorSet" - } - }, - "Instances": { - "target": "com.amazonaws.ec2#CreateFleetInstancesSet", + "VerifiedAccessTrustProvider": { + "target": "com.amazonaws.ec2#VerifiedAccessTrustProvider", "traits": { - "aws.protocols#ec2QueryName": "FleetInstanceSet", - "smithy.api#documentation": "

Information about the instances that were launched by the fleet. Supported only for\n fleets of type instant.

", - "smithy.api#xmlName": "fleetInstanceSet" + "aws.protocols#ec2QueryName": "VerifiedAccessTrustProvider", + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access trust provider.

", + "smithy.api#xmlName": "verifiedAccessTrustProvider" } } } }, - "com.amazonaws.ec2#CreateFlowLogs": { + "com.amazonaws.ec2#CreateVolume": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateFlowLogsRequest" + "target": "com.amazonaws.ec2#CreateVolumeRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateFlowLogsResult" + "target": "com.amazonaws.ec2#Volume" }, "traits": { - "smithy.api#documentation": "

Creates one or more flow logs to capture information about IP traffic for a specific network interface,\n subnet, or VPC.

\n \n

Flow log data for a monitored network interface is recorded as flow log records, which are log events \n consisting of fields that describe the traffic flow. For more information, see \n Flow log records \n in the Amazon Virtual Private Cloud User Guide.

\n \n

When publishing to CloudWatch Logs, flow log records are published to a log group, and each network \n interface has a unique log stream in the log group. When publishing to Amazon S3, flow log records for all \n of the monitored network interfaces are published to a single log file object that is stored in the specified \n bucket.

\n \n

For more information, see VPC Flow Logs in the Amazon Virtual Private Cloud User Guide.

" + "smithy.api#documentation": "

Creates an EBS volume that can be attached to an instance in the same Availability Zone.

\n

You can create a new empty volume or restore a volume from an EBS snapshot.\n Any Amazon Web Services Marketplace product codes from the snapshot are propagated to the volume.

\n

You can create encrypted volumes. Encrypted volumes must be attached to instances that \n support Amazon EBS encryption. Volumes that are created from encrypted snapshots are also automatically \n encrypted. For more information, see Amazon EBS encryption\n in the Amazon Elastic Compute Cloud User Guide.

\n

You can tag your volumes during creation. For more information, see Tag your Amazon EC2\n resources in the Amazon Elastic Compute Cloud User Guide.

\n

For more information, see Create an Amazon EBS volume in the\n Amazon Elastic Compute Cloud User Guide.

" } }, - "com.amazonaws.ec2#CreateFlowLogsRequest": { + "com.amazonaws.ec2#CreateVolumePermission": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Group": { + "target": "com.amazonaws.ec2#PermissionGroup", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "Group", + "smithy.api#documentation": "

The group to be added or removed. The possible value is all.

", + "smithy.api#xmlName": "group" } }, - "ClientToken": { + "UserId": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. For more information, see How to ensure\n idempotency.

" + "aws.protocols#ec2QueryName": "UserId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account to be added or removed.

", + "smithy.api#xmlName": "userId" } - }, - "DeliverLogsPermissionArn": { - "target": "com.amazonaws.ec2#String", + } + }, + "traits": { + "smithy.api#documentation": "

Describes the user or group to be added or removed from the list of create volume\n permissions for a volume.

" + } + }, + "com.amazonaws.ec2#CreateVolumePermissionList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#CreateVolumePermission", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#CreateVolumePermissionModifications": { + "type": "structure", + "members": { + "Add": { + "target": "com.amazonaws.ec2#CreateVolumePermissionList", "traits": { - "smithy.api#documentation": "

The ARN of the IAM role that allows Amazon EC2 to publish flow logs to a CloudWatch Logs log group in\n your account.

\n

This parameter is required if the destination type is cloud-watch-logs\n and unsupported otherwise.

" + "smithy.api#documentation": "

Adds the specified Amazon Web Services account ID or group to the list.

" } }, - "DeliverCrossAccountRole": { - "target": "com.amazonaws.ec2#String", + "Remove": { + "target": "com.amazonaws.ec2#CreateVolumePermissionList", "traits": { - "smithy.api#documentation": "

The ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts.

" + "smithy.api#documentation": "

Removes the specified Amazon Web Services account ID or group from the list.

" } - }, - "LogGroupName": { + } + }, + "traits": { + "smithy.api#documentation": "

Describes modifications to the list of create volume permissions for a volume.

" + } + }, + "com.amazonaws.ec2#CreateVolumeRequest": { + "type": "structure", + "members": { + "AvailabilityZone": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The name of a new or existing CloudWatch Logs log group where Amazon EC2 publishes your flow logs.

\n

This parameter is valid only if the destination type is cloud-watch-logs.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Availability Zone in which to create the volume.

", + "smithy.api#required": {} } }, - "ResourceIds": { - "target": "com.amazonaws.ec2#FlowLogResourceIds", + "Encrypted": { + "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "Encrypted", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IDs of the resources to monitor. For example, if the resource type is\n VPC, specify the IDs of the VPCs.

\n

Constraints: Maximum of 1000 resources

", - "smithy.api#required": {}, - "smithy.api#xmlName": "ResourceId" + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the volume should be encrypted. \n The effect of setting the encryption state to true depends on \nthe volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. \n For more information, see Encryption by default\n in the Amazon Elastic Compute Cloud User Guide.

\n

Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. \n For more information, see Supported\n instance types.

", + "smithy.api#xmlName": "encrypted" } }, - "ResourceType": { - "target": "com.amazonaws.ec2#FlowLogsResourceType", + "Iops": { + "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The type of resource to monitor.

", - "smithy.api#required": {} + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents \n the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline \n performance of the volume and the rate at which the volume accumulates I/O credits for bursting.

\n

The following are the supported values for each volume type:

\n
    \n
  • \n

    \n gp3: 3,000-16,000 IOPS

    \n
  • \n
  • \n

    \n io1: 100-64,000 IOPS

    \n
  • \n
  • \n

    \n io2: 100-64,000 IOPS

    \n
  • \n
\n

\n io1 and io2 volumes support up to 64,000 IOPS only on \n Instances built on the Nitro System. Other instance families support performance \n up to 32,000 IOPS.

\n

This parameter is required for io1 and io2 volumes.\n The default for gp3 volumes is 3,000 IOPS.\n This parameter is not supported for gp2, st1, sc1, or standard volumes.

" } }, - "TrafficType": { - "target": "com.amazonaws.ec2#TrafficType", + "KmsKeyId": { + "target": "com.amazonaws.ec2#KmsKeyId", "traits": { - "smithy.api#documentation": "

The type of traffic to monitor (accepted traffic, rejected traffic, or all\n traffic).

" + "smithy.api#documentation": "

The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption.\n If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is\n specified, the encrypted state must be true.

\n

You can specify the KMS key using any of the following:

\n
    \n
  • \n

    Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

    \n
  • \n
  • \n

    Key alias. For example, alias/ExampleAlias.

    \n
  • \n
  • \n

    Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

    \n
  • \n
  • \n

    Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

    \n
  • \n
\n

Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, \n the action can appear to complete, but eventually fails.

" } }, - "LogDestinationType": { - "target": "com.amazonaws.ec2#LogDestinationType", + "OutpostArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The type of destination for the flow log data.

\n

Default: cloud-watch-logs\n

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Outpost.

" } }, - "LogDestination": { - "target": "com.amazonaws.ec2#String", + "Size": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#documentation": "

The destination for the flow log data. The meaning of this parameter depends on the destination type.

\n
    \n
  • \n

    If the destination type is cloud-watch-logs, specify the ARN of a CloudWatch Logs log group. For example:

    \n

    arn:aws:logs:region:account_id:log-group:my_group\n

    \n

    Alternatively, use the LogGroupName parameter.

    \n
  • \n
  • \n

    If the destination type is s3, specify the ARN of an S3 bucket. For example:

    \n

    arn:aws:s3:::my_bucket/my_subfolder/

    \n

    The subfolder is optional. Note that you can't use AWSLogs as a subfolder name.

    \n
  • \n
  • \n

    If the destination type is kinesis-data-firehose, specify the ARN of a Kinesis Data Firehose delivery stream. For example:

    \n

    arn:aws:firehose:region:account_id:deliverystream:my_stream\n

    \n
  • \n
" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size.\n If you specify a snapshot, the default is the snapshot size. You can specify a volume \n size that is equal to or larger than the snapshot size.

\n

The following are the supported volumes sizes for each volume type:

\n
    \n
  • \n

    \n gp2 and gp3: 1-16,384

    \n
  • \n
  • \n

    \n io1 and io2: 4-16,384

    \n
  • \n
  • \n

    \n st1 and sc1: 125-16,384

    \n
  • \n
  • \n

    \n standard: 1-1,024

    \n
  • \n
" } }, - "LogFormat": { - "target": "com.amazonaws.ec2#String", + "SnapshotId": { + "target": "com.amazonaws.ec2#SnapshotId", "traits": { - "smithy.api#documentation": "

The fields to include in the flow log record. List the fields in the order in which\n they should appear. For more information about the available fields, see Flow log\n records. If you omit this parameter, the flow log is created using the\n default format. If you specify this parameter, you must include at least one\n field.

\n

Specify the fields using the ${field-id} format, separated by spaces. For\n the CLI, surround this parameter value with single quotes on Linux or\n double quotes on Windows.

" + "smithy.api#documentation": "

The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.

" } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + "VolumeType": { + "target": "com.amazonaws.ec2#VolumeType", "traits": { - "smithy.api#documentation": "

The tags to apply to the flow logs.

", - "smithy.api#xmlName": "TagSpecification" + "smithy.api#documentation": "

The volume type. This parameter can be one of the following values:

\n
    \n
  • \n

    General Purpose SSD: gp2 | gp3\n

    \n
  • \n
  • \n

    Provisioned IOPS SSD: io1 | io2\n

    \n
  • \n
  • \n

    Throughput Optimized HDD: st1\n

    \n
  • \n
  • \n

    Cold HDD: sc1\n

    \n
  • \n
  • \n

    Magnetic: standard\n

    \n
  • \n
\n

For more information, see Amazon EBS volume types in the\n Amazon Elastic Compute Cloud User Guide.

\n

Default: gp2\n

" } }, - "MaxAggregationInterval": { - "target": "com.amazonaws.ec2#Integer", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. You can specify 60 seconds (1 minute) or 600 seconds (10 minutes).

\n

When a network interface is attached to a Nitro-based\n instance, the aggregation interval is always 60 seconds or less, regardless\n of the value that you specify.

\n

Default: 600

" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "DestinationOptions": { - "target": "com.amazonaws.ec2#DestinationOptionsRequest", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#documentation": "

The destination options.

" + "smithy.api#documentation": "

The tags to apply to the volume during creation.

", + "smithy.api#xmlName": "TagSpecification" } - } - } - }, - "com.amazonaws.ec2#CreateFlowLogsResult": { - "type": "structure", - "members": { - "ClientToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "ClientToken", - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request.

", - "smithy.api#xmlName": "clientToken" + }, + "MultiAttachEnabled": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the \n \tvolume to up to 16 Instances built on the Nitro System in the same Availability Zone. This parameter is \n \tsupported with io1 and io2 volumes only. For more information, \n \tsee \n \t\tAmazon EBS Multi-Attach in the Amazon Elastic Compute Cloud User Guide.

" } }, - "FlowLogIds": { - "target": "com.amazonaws.ec2#ValueStringList", + "Throughput": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "FlowLogIdSet", - "smithy.api#documentation": "

The IDs of the flow logs.

", - "smithy.api#xmlName": "flowLogIdSet" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The throughput to provision for a volume, with a maximum of 1,000 MiB/s.

\n

This parameter is valid only for gp3 volumes.

\n

Valid Range: Minimum value of 125. Maximum value of 1000.

" } }, - "Unsuccessful": { - "target": "com.amazonaws.ec2#UnsuccessfulItemSet", + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Unsuccessful", - "smithy.api#documentation": "

Information about the flow logs that could not be created successfully.

", - "smithy.api#xmlName": "unsuccessful" + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency \n of the request. For more information, see Ensure \n Idempotency.

", + "smithy.api#idempotencyToken": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateFpgaImage": { + "com.amazonaws.ec2#CreateVpc": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateFpgaImageRequest" + "target": "com.amazonaws.ec2#CreateVpcRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateFpgaImageResult" + "target": "com.amazonaws.ec2#CreateVpcResult" }, "traits": { - "smithy.api#documentation": "

Creates an Amazon FPGA Image (AFI) from the specified design checkpoint (DCP).

\n

The create operation is asynchronous. To verify that the AFI is ready for use, \n check the output logs.

\n

An AFI contains the FPGA bitstream that is ready to download to an FPGA. \n You can securely deploy an AFI on multiple FPGA-accelerated instances.\n For more information, see the Amazon Web Services FPGA Hardware Development Kit.

" + "smithy.api#documentation": "

Creates a VPC with the specified CIDR blocks. For more information, see\n\t VPC CIDR blocks in the Amazon Virtual Private Cloud User Guide.

\n

You can optionally request an IPv6 CIDR block for the VPC. You can request an Amazon-provided \n IPv6 CIDR block from Amazon's pool of IPv6 addresses, or an IPv6 CIDR block from an IPv6 address \n pool that you provisioned through bring your own IP addresses (BYOIP).

\n

By default, each instance that you launch in the VPC has the default DHCP options, which\n\t\t\tinclude only a default DNS server that we provide (AmazonProvidedDNS). For more\n\t\t\tinformation, see DHCP option sets in the Amazon Virtual Private Cloud User Guide.

\n

You can specify the instance tenancy value for the VPC when you create it. You can't change\n this value for the VPC after you create it. For more information, see Dedicated Instances in the\n Amazon Elastic Compute Cloud User Guide.

" } }, - "com.amazonaws.ec2#CreateFpgaImageRequest": { + "com.amazonaws.ec2#CreateVpcEndpoint": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateVpcEndpointRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateVpcEndpointResult" + }, + "traits": { + "smithy.api#documentation": "

Creates a VPC endpoint for a specified service. An endpoint enables you to create a\n private connection between your VPC and the service. The service may be provided by Amazon Web Services,\n an Amazon Web Services Marketplace Partner, or another Amazon Web Services account. For more information, \n see the Amazon Web Services PrivateLink Guide.

" + } + }, + "com.amazonaws.ec2#CreateVpcEndpointConnectionNotification": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateVpcEndpointConnectionNotificationRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateVpcEndpointConnectionNotificationResult" + }, + "traits": { + "smithy.api#documentation": "

Creates a connection notification for a specified VPC endpoint or VPC endpoint\n service. A connection notification notifies you of specific endpoint events. You must\n create an SNS topic to receive notifications. For more information, see Create a Topic in\n the Amazon Simple Notification Service Developer Guide.

\n

You can create a connection notification for interface endpoints only.

" + } + }, + "com.amazonaws.ec2#CreateVpcEndpointConnectionNotificationRequest": { "type": "structure", "members": { "DryRun": { @@ -14705,174 +19152,198 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "InputStorageLocation": { - "target": "com.amazonaws.ec2#StorageLocation", + "ServiceId": { + "target": "com.amazonaws.ec2#VpcEndpointServiceId", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The location of the encrypted design checkpoint in Amazon S3. The input must be a tarball.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The ID of the endpoint service.

" } }, - "LogsStorageLocation": { - "target": "com.amazonaws.ec2#StorageLocation", + "VpcEndpointId": { + "target": "com.amazonaws.ec2#VpcEndpointId", "traits": { - "smithy.api#documentation": "

The location in Amazon S3 for the output logs.

" + "smithy.api#documentation": "

The ID of the endpoint.

" } }, - "Description": { + "ConnectionNotificationArn": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

A description for the AFI.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ARN of the SNS topic for the notifications.

", + "smithy.api#required": {} } }, - "Name": { - "target": "com.amazonaws.ec2#String", + "ConnectionEvents": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "smithy.api#documentation": "

A name for the AFI.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The endpoint events for which to receive notifications. Valid values are\n Accept, Connect, Delete, and\n Reject.

", + "smithy.api#required": {} } }, "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. \n For more information, see Ensuring Idempotency.

" - } - }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", - "traits": { - "smithy.api#documentation": "

The tags to apply to the FPGA image during creation.

", - "smithy.api#xmlName": "TagSpecification" + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. For more information, see How to ensure\n idempotency.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateFpgaImageResult": { + "com.amazonaws.ec2#CreateVpcEndpointConnectionNotificationResult": { "type": "structure", "members": { - "FpgaImageId": { - "target": "com.amazonaws.ec2#String", + "ConnectionNotification": { + "target": "com.amazonaws.ec2#ConnectionNotification", "traits": { - "aws.protocols#ec2QueryName": "FpgaImageId", - "smithy.api#documentation": "

The FPGA image identifier (AFI ID).

", - "smithy.api#xmlName": "fpgaImageId" + "aws.protocols#ec2QueryName": "ConnectionNotification", + "smithy.api#documentation": "

Information about the notification.

", + "smithy.api#xmlName": "connectionNotification" } }, - "FpgaImageGlobalId": { + "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "FpgaImageGlobalId", - "smithy.api#documentation": "

The global FPGA image identifier (AGFI ID).

", - "smithy.api#xmlName": "fpgaImageGlobalId" + "aws.protocols#ec2QueryName": "ClientToken", + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request.

", + "smithy.api#xmlName": "clientToken" } } } }, - "com.amazonaws.ec2#CreateImage": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#CreateImageRequest" - }, - "output": { - "target": "com.amazonaws.ec2#CreateImageResult" - }, - "traits": { - "smithy.api#documentation": "

Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance \n \tthat is either running or stopped.

\n\t

By default, when Amazon EC2 creates the new AMI, it reboots the instance so that it can \n\t\t\t\t\ttake snapshots of the attached volumes while data is at rest, in order to ensure a consistent \n\t\t\t\t\tstate. You can set the NoReboot parameter to true in the API request, \n\t\t\t\t\tor use the --no-reboot option in the CLI to prevent Amazon EC2 from shutting down and \n\t\t\t\t\trebooting the instance.

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

If you choose to bypass the shutdown and reboot process by setting the NoReboot \n\t\t\t\t\tparameter to true in the API request, or by using the --no-reboot option \n\t\t\t\t\tin the CLI, we can't guarantee the file system integrity of the created image.

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

If you customized your instance with instance store volumes or Amazon EBS volumes in addition to the root device volume, the \n \tnew AMI contains block device mapping information for those volumes. When you launch an instance from this new AMI, \n \tthe instance automatically launches with those additional volumes.

\n \t

For more information, see Creating Amazon EBS-Backed Linux AMIs \n\t\t\t\tin the Amazon Elastic Compute Cloud User Guide.

" - } - }, - "com.amazonaws.ec2#CreateImageRequest": { + "com.amazonaws.ec2#CreateVpcEndpointRequest": { "type": "structure", "members": { - "BlockDeviceMappings": { - "target": "com.amazonaws.ec2#BlockDeviceMappingRequestList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "BlockDeviceMapping", - "smithy.api#documentation": "

The block device mappings. This parameter cannot be used to modify the encryption \n \t\tstatus of existing volumes or snapshots. To create an AMI with encrypted snapshots, \n \t\tuse the CopyImage action.

", - "smithy.api#xmlName": "blockDeviceMapping" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "Description": { - "target": "com.amazonaws.ec2#String", + "VpcEndpointType": { + "target": "com.amazonaws.ec2#VpcEndpointType", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

A description for the new image.

", - "smithy.api#xmlName": "description" + "smithy.api#documentation": "

The type of endpoint.

\n

Default: Gateway

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "VpcId": { + "target": "com.amazonaws.ec2#VpcId", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

The ID of the VPC for the endpoint.

", + "smithy.api#required": {} } }, - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", + "ServiceName": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "InstanceId", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the instance.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "instanceId" + "smithy.api#documentation": "

The service name.

", + "smithy.api#required": {} } }, - "Name": { + "PolicyDocument": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Name", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

A name for the new image.

\n

Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

", - "smithy.api#required": {}, - "smithy.api#xmlName": "name" + "smithy.api#documentation": "

(Interface and gateway endpoints) A policy to attach to the endpoint that controls access to the\n service. The policy must be in valid JSON format. If this parameter is not specified, we\n attach a default policy that allows full access to the service.

" } }, - "NoReboot": { + "RouteTableIds": { + "target": "com.amazonaws.ec2#VpcEndpointRouteTableIdList", + "traits": { + "smithy.api#documentation": "

(Gateway endpoint) The route table IDs.

", + "smithy.api#xmlName": "RouteTableId" + } + }, + "SubnetIds": { + "target": "com.amazonaws.ec2#VpcEndpointSubnetIdList", + "traits": { + "smithy.api#documentation": "

(Interface and Gateway Load Balancer endpoints) The IDs of the subnets in which to create an endpoint\n network interface. For a Gateway Load Balancer endpoint, you can specify only one subnet.

", + "smithy.api#xmlName": "SubnetId" + } + }, + "SecurityGroupIds": { + "target": "com.amazonaws.ec2#VpcEndpointSecurityGroupIdList", + "traits": { + "smithy.api#documentation": "

(Interface endpoint) The IDs of the security groups to associate with the\n endpoint network interface. If this parameter is not specified, we use the default \n security group for the VPC.

", + "smithy.api#xmlName": "SecurityGroupId" + } + }, + "IpAddressType": { + "target": "com.amazonaws.ec2#IpAddressType", + "traits": { + "smithy.api#documentation": "

The IP address type for the endpoint.

" + } + }, + "DnsOptions": { + "target": "com.amazonaws.ec2#DnsOptionsSpecification", + "traits": { + "smithy.api#documentation": "

The DNS options for the endpoint.

" + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. For more information, see How to ensure\n idempotency.

" + } + }, + "PrivateDnsEnabled": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "NoReboot", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

By default, when Amazon EC2 creates the new AMI, it reboots the instance so that it can \n\t\t\t\t\ttake snapshots of the attached volumes while data is at rest, in order to ensure a consistent \n\t\t\t\t\tstate. You can set the NoReboot parameter to true in the API request, \n\t\t\t\t\tor use the --no-reboot option in the CLI to prevent Amazon EC2 from shutting down and \n\t\t\t\t\trebooting the instance.

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

If you choose to bypass the shutdown and reboot process by setting the NoReboot \n\t\t\t\t\tparameter to true in the API request, or by using the --no-reboot option \n\t\t\t\t\tin the CLI, we can't guarantee the file system integrity of the created image.

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

Default: false (follow standard reboot process)

", - "smithy.api#xmlName": "noReboot" + "smithy.api#documentation": "

(Interface endpoint) Indicates whether to associate a private hosted zone with the\n specified VPC. The private hosted zone contains a record set for the default public DNS\n name for the service for the Region (for example,\n kinesis.us-east-1.amazonaws.com), which resolves to the private IP\n addresses of the endpoint network interfaces in the VPC. This enables you to make\n requests to the default public DNS name for the service instead of the public DNS names\n that are automatically generated by the VPC endpoint service.

\n

To use a private hosted zone, you must set the following VPC attributes to\n true: enableDnsHostnames and\n enableDnsSupport. Use ModifyVpcAttribute to set the VPC\n attributes.

\n

Default: true\n

" } }, "TagSpecifications": { "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#documentation": "

The tags to apply to the AMI and snapshots on creation. You can tag the AMI, the\n snapshots, or both.

\n
    \n
  • \n

    To tag the AMI, the value for ResourceType must be\n image.

    \n
  • \n
  • \n \t

    To tag the snapshots that are created of the root volume and of other Amazon EBS volumes that\n are attached to the instance, the value for ResourceType must be\n snapshot. The same tag is applied to all of the snapshots that are\n created.

    \n
  • \n
\n

If you specify other values for ResourceType, the request fails.

\n

To tag an AMI or snapshot after it has been created, see CreateTags.

", + "smithy.api#documentation": "

The tags to associate with the endpoint.

", "smithy.api#xmlName": "TagSpecification" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateImageResult": { + "com.amazonaws.ec2#CreateVpcEndpointResult": { "type": "structure", "members": { - "ImageId": { + "VpcEndpoint": { + "target": "com.amazonaws.ec2#VpcEndpoint", + "traits": { + "aws.protocols#ec2QueryName": "VpcEndpoint", + "smithy.api#documentation": "

Information about the endpoint.

", + "smithy.api#xmlName": "vpcEndpoint" + } + }, + "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ImageId", - "smithy.api#documentation": "

The ID of the new AMI.

", - "smithy.api#xmlName": "imageId" + "aws.protocols#ec2QueryName": "ClientToken", + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request.

", + "smithy.api#xmlName": "clientToken" } } } }, - "com.amazonaws.ec2#CreateInstanceEventWindow": { + "com.amazonaws.ec2#CreateVpcEndpointServiceConfiguration": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateInstanceEventWindowRequest" + "target": "com.amazonaws.ec2#CreateVpcEndpointServiceConfigurationRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateInstanceEventWindowResult" + "target": "com.amazonaws.ec2#CreateVpcEndpointServiceConfigurationResult" }, "traits": { - "smithy.api#documentation": "

Creates an event window in which scheduled events for the associated Amazon EC2 instances can\n run.

\n

You can define either a set of time ranges or a cron expression when creating the event\n window, but not both. All event window times are in UTC.

\n

You can create up to 200 event windows per Amazon Web Services Region.

\n

When you create the event window, targets (instance IDs, Dedicated Host IDs, or tags)\n are not yet associated with it. To ensure that the event window can be used, you must\n associate one or more targets with it by using the AssociateInstanceEventWindow API.

\n \n \n

Event windows are applicable only for scheduled events that stop, reboot, or\n terminate instances.

\n

Event windows are not applicable for:

\n
    \n
  • \n

    Expedited scheduled events and network maintenance events.

    \n
  • \n
  • \n

    Unscheduled maintenance such as AutoRecovery and unplanned reboots.

    \n
  • \n
\n
\n \n

For more information, see Define event windows for scheduled\n events in the Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Creates a VPC endpoint service to which service consumers (Amazon Web Services accounts,\n users, and IAM roles) can connect.

\n

Before you create an endpoint service, you must create one of the following for your service:

\n
    \n
  • \n

    A Network Load Balancer. \n Service consumers connect to your service using an interface endpoint.

    \n
  • \n
  • \n

    A Gateway Load Balancer. \n Service consumers connect to your service using a Gateway Load Balancer endpoint.

    \n
  • \n
\n

If you set the private DNS name, you must prove that you own the private DNS domain\n name.

\n

For more information, see the Amazon Web Services PrivateLink \n\t Guide.

" } }, - "com.amazonaws.ec2#CreateInstanceEventWindowRequest": { + "com.amazonaws.ec2#CreateVpcEndpointServiceConfigurationRequest": { "type": "structure", "members": { "DryRun": { @@ -14883,1013 +19354,909 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "Name": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The name of the event window.

" - } - }, - "TimeRanges": { - "target": "com.amazonaws.ec2#InstanceEventWindowTimeRangeRequestSet", + "AcceptanceRequired": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The time range for the event window. If you specify a time range, you can't specify a cron\n expression.

", - "smithy.api#xmlName": "TimeRange" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether requests from service consumers to create an endpoint to your service must\n be accepted manually.

" } }, - "CronExpression": { - "target": "com.amazonaws.ec2#InstanceEventWindowCronExpression", + "PrivateDnsName": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The cron expression for the event window, for example, * 0-4,20-23 * * 1,5. If\n you specify a cron expression, you can't specify a time range.

\n

Constraints:

\n
    \n
  • \n

    Only hour and day of the week values are supported.

    \n
  • \n
  • \n

    For day of the week values, you can specify either integers 0 through\n 6, or alternative single values SUN through\n SAT.

    \n
  • \n
  • \n

    The minute, month, and year must be specified by *.

    \n
  • \n
  • \n

    The hour value must be one or a multiple range, for example, 0-4 or\n 0-4,20-23.

    \n
  • \n
  • \n

    Each hour range must be >= 2 hours, for example, 0-2 or\n 20-23.

    \n
  • \n
  • \n

    The event window must be >= 4 hours. The combined total time ranges in the event\n window must be >= 4 hours.

    \n
  • \n
\n

For more information about cron expressions, see cron on the Wikipedia\n website.

" + "smithy.api#documentation": "

(Interface endpoint configuration) The private DNS name to assign to the VPC endpoint service.

" } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", - "traits": { - "smithy.api#documentation": "

The tags to apply to the event window.

", - "smithy.api#xmlName": "TagSpecification" - } - } - } - }, - "com.amazonaws.ec2#CreateInstanceEventWindowResult": { - "type": "structure", - "members": { - "InstanceEventWindow": { - "target": "com.amazonaws.ec2#InstanceEventWindow", - "traits": { - "aws.protocols#ec2QueryName": "InstanceEventWindow", - "smithy.api#documentation": "

Information about the event window.

", - "smithy.api#xmlName": "instanceEventWindow" - } - } - } - }, - "com.amazonaws.ec2#CreateInstanceExportTask": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#CreateInstanceExportTaskRequest" - }, - "output": { - "target": "com.amazonaws.ec2#CreateInstanceExportTaskResult" - }, - "traits": { - "smithy.api#documentation": "

Exports a running or stopped instance to an Amazon S3 bucket.

\n

For information about the supported operating systems, image formats, and known limitations\n for the types of instances you can export, see Exporting an instance as a VM Using VM Import/Export\n in the VM Import/Export User Guide.

" - } - }, - "com.amazonaws.ec2#CreateInstanceExportTaskRequest": { - "type": "structure", - "members": { - "Description": { - "target": "com.amazonaws.ec2#String", + "NetworkLoadBalancerArns": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

A description for the conversion task or the resource being exported. The maximum length is 255 characters.

", - "smithy.api#xmlName": "description" + "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of the Network Load Balancers.

", + "smithy.api#xmlName": "NetworkLoadBalancerArn" } }, - "ExportToS3Task": { - "target": "com.amazonaws.ec2#ExportToS3TaskSpecification", + "GatewayLoadBalancerArns": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "aws.protocols#ec2QueryName": "ExportToS3", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The format and location for an export instance task.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "exportToS3" + "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of the Gateway Load Balancers.

", + "smithy.api#xmlName": "GatewayLoadBalancerArn" } }, - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", + "SupportedIpAddressTypes": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the instance.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "instanceId" + "smithy.api#documentation": "

The supported IP address types. The possible values are ipv4 and ipv6.

", + "smithy.api#xmlName": "SupportedIpAddressType" } }, - "TargetEnvironment": { - "target": "com.amazonaws.ec2#ExportEnvironment", + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TargetEnvironment", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The target virtualization environment.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "targetEnvironment" + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.\n For more information, see How to ensure\n idempotency.

" } }, "TagSpecifications": { "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#documentation": "

The tags to apply to the export instance task during creation.

", + "smithy.api#documentation": "

The tags to associate with the service.

", "smithy.api#xmlName": "TagSpecification" } } - } - }, - "com.amazonaws.ec2#CreateInstanceExportTaskResult": { - "type": "structure", - "members": { - "ExportTask": { - "target": "com.amazonaws.ec2#ExportTask", - "traits": { - "aws.protocols#ec2QueryName": "ExportTask", - "smithy.api#documentation": "

Information about the export instance task.

", - "smithy.api#xmlName": "exportTask" - } - } - } - }, - "com.amazonaws.ec2#CreateInternetGateway": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#CreateInternetGatewayRequest" - }, - "output": { - "target": "com.amazonaws.ec2#CreateInternetGatewayResult" }, "traits": { - "smithy.api#documentation": "

Creates an internet gateway for use with a VPC. After creating the internet gateway,\n\t\t\tyou attach it to a VPC using AttachInternetGateway.

\n

For more information about your VPC and internet gateway, see the Amazon Virtual Private Cloud User Guide.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateInternetGatewayRequest": { + "com.amazonaws.ec2#CreateVpcEndpointServiceConfigurationResult": { "type": "structure", "members": { - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + "ServiceConfiguration": { + "target": "com.amazonaws.ec2#ServiceConfiguration", "traits": { - "smithy.api#documentation": "

The tags to assign to the internet gateway.

", - "smithy.api#xmlName": "TagSpecification" + "aws.protocols#ec2QueryName": "ServiceConfiguration", + "smithy.api#documentation": "

Information about the service configuration.

", + "smithy.api#xmlName": "serviceConfiguration" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" - } - } - } - }, - "com.amazonaws.ec2#CreateInternetGatewayResult": { - "type": "structure", - "members": { - "InternetGateway": { - "target": "com.amazonaws.ec2#InternetGateway", + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "InternetGateway", - "smithy.api#documentation": "

Information about the internet gateway.

", - "smithy.api#xmlName": "internetGateway" + "aws.protocols#ec2QueryName": "ClientToken", + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request.

", + "smithy.api#xmlName": "clientToken" } } } }, - "com.amazonaws.ec2#CreateIpam": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#CreateIpamRequest" - }, - "output": { - "target": "com.amazonaws.ec2#CreateIpamResult" - }, - "traits": { - "smithy.api#documentation": "

Create an IPAM. Amazon VPC IP Address Manager (IPAM) is a VPC feature that you can use\n to automate your IP address management workflows including assigning, tracking,\n troubleshooting, and auditing IP addresses across Amazon Web Services Regions and accounts\n throughout your Amazon Web Services Organization.

\n

For more information, see Create an IPAM in the Amazon VPC IPAM User Guide.\n

" - } - }, - "com.amazonaws.ec2#CreateIpamPool": { + "com.amazonaws.ec2#CreateVpcPeeringConnection": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateIpamPoolRequest" + "target": "com.amazonaws.ec2#CreateVpcPeeringConnectionRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateIpamPoolResult" + "target": "com.amazonaws.ec2#CreateVpcPeeringConnectionResult" }, "traits": { - "smithy.api#documentation": "

Create an IP address pool for Amazon VPC IP Address Manager (IPAM). In IPAM, a pool is a collection of contiguous IP addresses CIDRs. Pools enable you to organize your IP addresses according to your routing and security needs. For example, if you have separate routing and security needs for development and production applications, you can create a pool for each.

\n

For more information, see Create a top-level pool in the Amazon VPC IPAM User Guide.\n

" + "smithy.api#documentation": "

Requests a VPC peering connection between two VPCs: a requester VPC that you own and\n\t\t an accepter VPC with which to create the connection. The accepter VPC can belong to\n\t\t another Amazon Web Services account and can be in a different Region to the requester VPC. \n The requester VPC and accepter VPC cannot have overlapping CIDR blocks.

\n \n

Limitations and rules apply to a VPC peering connection. For more information, see \n the limitations section in the VPC Peering Guide.

\n
\n

The owner of the accepter VPC must accept the peering request to activate the peering\n connection. The VPC peering connection request expires after 7 days, after which it\n cannot be accepted or rejected.

\n

If you create a VPC peering connection request between VPCs with overlapping CIDR\n blocks, the VPC peering connection has a status of failed.

" } }, - "com.amazonaws.ec2#CreateIpamPoolRequest": { + "com.amazonaws.ec2#CreateVpcPeeringConnectionRequest": { "type": "structure", "members": { "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - }, - "IpamScopeId": { - "target": "com.amazonaws.ec2#IpamScopeId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the scope in which you would like to create the IPAM pool.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "Locale": { + "PeerOwnerId": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

In IPAM, the locale is the Amazon Web Services Region where you want to make an IPAM pool available for allocations. Only resources in the same Region as the locale of the pool can get IP address allocations from the pool. You can only allocate a CIDR for a VPC, for example, from an IPAM pool that shares a locale with the VPC’s Region. Note that once you choose a Locale for a pool, you cannot modify it. If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this pool.

\n

Possible values: Any Amazon Web Services Region, such as us-east-1.

" - } - }, - "SourceIpamPoolId": { - "target": "com.amazonaws.ec2#IpamPoolId", - "traits": { - "smithy.api#documentation": "

The ID of the source IPAM pool. Use this option to create a pool within an existing pool. Note that the CIDR you provision for the pool within the source pool must be available in the source pool's CIDR range.

" + "aws.protocols#ec2QueryName": "PeerOwnerId", + "smithy.api#documentation": "

The Amazon Web Services account ID of the owner of the accepter VPC.

\n

Default: Your Amazon Web Services account ID

", + "smithy.api#xmlName": "peerOwnerId" } }, - "Description": { + "PeerVpcId": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

A description for the IPAM pool.

" - } - }, - "AddressFamily": { - "target": "com.amazonaws.ec2#AddressFamily", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IP protocol assigned to this IPAM pool. You must choose either IPv4 or IPv6 protocol for a pool.

", - "smithy.api#required": {} - } - }, - "AutoImport": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

If selected, IPAM will continuously look for resources within the CIDR range of this pool \n and automatically import them as allocations into your IPAM. The CIDRs that will be allocated for\n these resources must not already be allocated to other resources in order for the import to succeed. IPAM will import \n a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be imported and subsequently \n marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM \n discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only.\n

\n

A locale must be set on the pool for this feature to work.

" - } - }, - "PubliclyAdvertisable": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Determines if the pool is publicly advertisable. This option is not available for pools with AddressFamily set to ipv4.

" - } - }, - "AllocationMinNetmaskLength": { - "target": "com.amazonaws.ec2#IpamNetmaskLength", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. The minimum netmask length must be \n less than the maximum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.

" - } - }, - "AllocationMaxNetmaskLength": { - "target": "com.amazonaws.ec2#IpamNetmaskLength", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. The maximum netmask length must be \n greater than the minimum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.

" - } - }, - "AllocationDefaultNetmaskLength": { - "target": "com.amazonaws.ec2#IpamNetmaskLength", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, \n new allocations will default to 10.0.0.0/16.

" - } - }, - "AllocationResourceTags": { - "target": "com.amazonaws.ec2#RequestIpamResourceTagList", - "traits": { - "smithy.api#documentation": "

Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these tags will not be allowed to allocate space from the pool. If the resources have their tags changed after they have allocated space or if the allocation tagging requirements are changed on the pool, the resource may be marked as noncompliant.

", - "smithy.api#xmlName": "AllocationResourceTag" + "aws.protocols#ec2QueryName": "PeerVpcId", + "smithy.api#documentation": "

The ID of the VPC with which you are creating the VPC peering connection. You must\n\t\t\tspecify this parameter in the request.

", + "smithy.api#xmlName": "peerVpcId" } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + "VpcId": { + "target": "com.amazonaws.ec2#VpcId", "traits": { - "smithy.api#documentation": "

The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

", - "smithy.api#xmlName": "TagSpecification" + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#documentation": "

The ID of the requester VPC. You must specify this parameter in the\n\t\t\trequest.

", + "smithy.api#xmlName": "vpcId" } }, - "ClientToken": { + "PeerRegion": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

The Region code for the accepter VPC, if the accepter VPC is located in a Region\n other than the Region in which you make the request.

\n

Default: The Region in which you make the request.

" } }, - "AwsService": { - "target": "com.amazonaws.ec2#IpamPoolAwsService", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#documentation": "

Limits which service in Amazon Web Services that the pool can be used in. \"ec2\", for example, allows users to use space for Elastic IP addresses and VPCs.

" + "smithy.api#documentation": "

The tags to assign to the peering connection.

", + "smithy.api#xmlName": "TagSpecification" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateIpamPoolResult": { + "com.amazonaws.ec2#CreateVpcPeeringConnectionResult": { "type": "structure", "members": { - "IpamPool": { - "target": "com.amazonaws.ec2#IpamPool", + "VpcPeeringConnection": { + "target": "com.amazonaws.ec2#VpcPeeringConnection", "traits": { - "aws.protocols#ec2QueryName": "IpamPool", - "smithy.api#documentation": "

Information about the IPAM pool created.

", - "smithy.api#xmlName": "ipamPool" + "aws.protocols#ec2QueryName": "VpcPeeringConnection", + "smithy.api#documentation": "

Information about the VPC peering connection.

", + "smithy.api#xmlName": "vpcPeeringConnection" } } } }, - "com.amazonaws.ec2#CreateIpamRequest": { + "com.amazonaws.ec2#CreateVpcRequest": { "type": "structure", "members": { - "DryRun": { + "CidrBlock": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The IPv4 network range for the VPC, in CIDR notation. For example,\n\t\t 10.0.0.0/16. We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

" + } + }, + "AmazonProvidedIpv6CidrBlock": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "AmazonProvidedIpv6CidrBlock", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC.\n You cannot specify the range of IP addresses, or the size of the CIDR block.

", + "smithy.api#xmlName": "amazonProvidedIpv6CidrBlock" } }, - "Description": { + "Ipv6Pool": { + "target": "com.amazonaws.ec2#Ipv6PoolEc2Id", + "traits": { + "smithy.api#documentation": "

The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.

" + } + }, + "Ipv6CidrBlock": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

A description for the IPAM.

" + "smithy.api#documentation": "

The IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool in the request.

\n

To let Amazon choose the IPv6 CIDR block for you, omit this parameter.

" } }, - "OperatingRegions": { - "target": "com.amazonaws.ec2#AddIpamOperatingRegionSet", + "Ipv4IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", "traits": { - "smithy.api#documentation": "

The operating Regions for the IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only\n discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

\n

For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide.\n

", - "smithy.api#xmlName": "OperatingRegion" + "smithy.api#documentation": "

The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. For more information, see What is IPAM? in the Amazon VPC IPAM User Guide.\n \n

" } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + "Ipv4NetmaskLength": { + "target": "com.amazonaws.ec2#NetmaskLength", "traits": { - "smithy.api#documentation": "

The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

", - "smithy.api#xmlName": "TagSpecification" + "smithy.api#documentation": "

The netmask length of the IPv4 CIDR you want to allocate to this VPC from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.

" } }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", + "Ipv6IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", "traits": { - "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

The ID of an IPv6 IPAM pool which will be used to allocate this VPC an IPv6 CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across Amazon Web Services Regions and accounts throughout your Amazon Web Services Organization. For more information, see What is IPAM? in the Amazon VPC IPAM User Guide.

" } - } - } - }, - "com.amazonaws.ec2#CreateIpamResult": { - "type": "structure", - "members": { - "Ipam": { - "target": "com.amazonaws.ec2#Ipam", + }, + "Ipv6NetmaskLength": { + "target": "com.amazonaws.ec2#NetmaskLength", "traits": { - "aws.protocols#ec2QueryName": "Ipam", - "smithy.api#documentation": "

Information about the IPAM created.

", - "smithy.api#xmlName": "ipam" + "smithy.api#documentation": "

The netmask length of the IPv6 CIDR you want to allocate to this VPC from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.

" } - } - } - }, - "com.amazonaws.ec2#CreateIpamScope": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#CreateIpamScopeRequest" - }, - "output": { - "target": "com.amazonaws.ec2#CreateIpamScopeResult" - }, - "traits": { - "smithy.api#documentation": "

Create an IPAM scope. In IPAM, a scope is the highest-level container within IPAM. An IPAM contains two default scopes. Each scope represents the IP space for a single network. The private scope is intended for all private IP address space. The public scope is intended for all public IP address space. Scopes enable you to reuse IP addresses across multiple unconnected networks without causing IP address overlap or conflict.

\n

For more information, see Add a scope in the Amazon VPC IPAM User Guide.

" - } - }, - "com.amazonaws.ec2#CreateIpamScopeRequest": { - "type": "structure", - "members": { + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "IpamId": { - "target": "com.amazonaws.ec2#IpamId", + "InstanceTenancy": { + "target": "com.amazonaws.ec2#Tenancy", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the IPAM for which you're creating this scope.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "InstanceTenancy", + "smithy.api#documentation": "

The tenancy options for instances launched into the VPC. For default, instances\n are launched with shared tenancy by default. You can launch instances with any tenancy into a\n shared tenancy VPC. For dedicated, instances are launched as dedicated tenancy\n instances by default. You can only launch instances with a tenancy of dedicated\n or host into a dedicated tenancy VPC.

\n

\n Important: The host value cannot be used with this parameter. Use the default or dedicated values only.

\n

Default: default\n

", + "smithy.api#xmlName": "instanceTenancy" } }, - "Description": { + "Ipv6CidrBlockNetworkBorderGroup": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

A description for the scope you're creating.

" + "smithy.api#documentation": "

The name of the location from which we advertise the IPV6 CIDR block. Use this parameter to limit the address to this location.

\n

You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.

" } }, "TagSpecifications": { "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#documentation": "

The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

", + "smithy.api#documentation": "

The tags to assign to the VPC.

", "smithy.api#xmlName": "TagSpecification" } - }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

", - "smithy.api#idempotencyToken": {} - } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateIpamScopeResult": { + "com.amazonaws.ec2#CreateVpcResult": { "type": "structure", "members": { - "IpamScope": { - "target": "com.amazonaws.ec2#IpamScope", + "Vpc": { + "target": "com.amazonaws.ec2#Vpc", "traits": { - "aws.protocols#ec2QueryName": "IpamScope", - "smithy.api#documentation": "

Information about the created scope.

", - "smithy.api#xmlName": "ipamScope" + "aws.protocols#ec2QueryName": "Vpc", + "smithy.api#documentation": "

Information about the VPC.

", + "smithy.api#xmlName": "vpc" } } } }, - "com.amazonaws.ec2#CreateKeyPair": { + "com.amazonaws.ec2#CreateVpnConnection": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateKeyPairRequest" + "target": "com.amazonaws.ec2#CreateVpnConnectionRequest" }, "output": { - "target": "com.amazonaws.ec2#KeyPair" + "target": "com.amazonaws.ec2#CreateVpnConnectionResult" }, "traits": { - "smithy.api#documentation": "

Creates an ED25519 or 2048-bit RSA key pair with the specified name and in the\n specified PEM or PPK format. Amazon EC2 stores the public key and displays the private\n key for you to save to a file. The private key is returned as an unencrypted PEM encoded\n PKCS#1 private key or an unencrypted PPK formatted private key for use with PuTTY. If a\n key with the specified name already exists, Amazon EC2 returns an error.

\n\t\t

The key pair returned to you is available only in the Amazon Web Services Region in which you create it.\n If you prefer, you can create your own key pair using a third-party tool and upload it\n to any Region using ImportKeyPair.

\n

You can have up to 5,000 key pairs per Amazon Web Services Region.

\n

For more information, see Amazon EC2 key pairs in the\n Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Creates a VPN connection between an existing virtual private gateway or transit\n gateway and a customer gateway. The supported connection type is\n ipsec.1.

\n

The response includes information that you need to give to your network administrator\n to configure your customer gateway.

\n \n

We strongly recommend that you use HTTPS when calling this operation because the\n response contains sensitive cryptographic information for configuring your customer\n gateway device.

\n
\n

If you decide to shut down your VPN connection for any reason and later create a new\n VPN connection, you must reconfigure your customer gateway with the new information\n returned from this call.

\n

This is an idempotent operation. If you perform the operation more than once, Amazon\n EC2 doesn't return an error.

\n

For more information, see Amazon Web Services Site-to-Site VPN in the Amazon Web Services Site-to-Site VPN\n User Guide.

" } }, - "com.amazonaws.ec2#CreateKeyPairRequest": { + "com.amazonaws.ec2#CreateVpnConnectionRequest": { "type": "structure", "members": { - "KeyName": { + "CustomerGatewayId": { + "target": "com.amazonaws.ec2#CustomerGatewayId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the customer gateway.

", + "smithy.api#required": {} + } + }, + "Type": { "target": "com.amazonaws.ec2#String", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

A unique name for the key pair.

\n\t

Constraints: Up to 255 ASCII characters

", + "smithy.api#documentation": "

The type of VPN connection (ipsec.1).

", "smithy.api#required": {} } }, + "VpnGatewayId": { + "target": "com.amazonaws.ec2#VpnGatewayId", + "traits": { + "smithy.api#documentation": "

The ID of the virtual private gateway. If you specify a virtual private gateway, you\n cannot specify a transit gateway.

" + } + }, + "TransitGatewayId": { + "target": "com.amazonaws.ec2#TransitGatewayId", + "traits": { + "smithy.api#documentation": "

The ID of the transit gateway. If you specify a transit gateway, you cannot specify a virtual private\n gateway.

" + } + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", "smithy.api#xmlName": "dryRun" } }, - "KeyType": { - "target": "com.amazonaws.ec2#KeyType", + "Options": { + "target": "com.amazonaws.ec2#VpnConnectionOptionsSpecification", "traits": { - "smithy.api#documentation": "

The type of key pair. Note that ED25519 keys are not supported for Windows instances.

\n

Default: rsa\n

" + "aws.protocols#ec2QueryName": "Options", + "smithy.api#documentation": "

The options for the VPN connection.

", + "smithy.api#xmlName": "options" } }, "TagSpecifications": { "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#documentation": "

The tags to apply to the new key pair.

", + "smithy.api#documentation": "

The tags to apply to the VPN connection.

", "smithy.api#xmlName": "TagSpecification" } - }, - "KeyFormat": { - "target": "com.amazonaws.ec2#KeyFormat", + } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for CreateVpnConnection.

", + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CreateVpnConnectionResult": { + "type": "structure", + "members": { + "VpnConnection": { + "target": "com.amazonaws.ec2#VpnConnection", "traits": { - "smithy.api#documentation": "

The format of the key pair.

\n

Default: pem\n

" + "aws.protocols#ec2QueryName": "VpnConnection", + "smithy.api#documentation": "

Information about the VPN connection.

", + "smithy.api#xmlName": "vpnConnection" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of CreateVpnConnection.

" } }, - "com.amazonaws.ec2#CreateLaunchTemplate": { + "com.amazonaws.ec2#CreateVpnConnectionRoute": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateLaunchTemplateRequest" + "target": "com.amazonaws.ec2#CreateVpnConnectionRouteRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateLaunchTemplateResult" + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Creates a launch template.

\n

A launch template contains the parameters to launch an instance. When you launch an\n instance using RunInstances, you can specify a launch template instead\n of providing the launch parameters in the request. For more information, see Launch\n an instance from a launch template in the\n Amazon Elastic Compute Cloud User Guide.

\n

If you want to clone an existing launch template as the basis for creating a new\n launch template, you can use the Amazon EC2 console. The API, SDKs, and CLI do not support\n cloning a template. For more information, see Create a launch template from an existing launch template in the\n Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Creates a static route associated with a VPN connection between an existing virtual\n private gateway and a VPN customer gateway. The static route allows traffic to be routed\n from the virtual private gateway to the VPN customer gateway.

\n

For more information, see Amazon Web Services Site-to-Site VPN in the Amazon Web Services Site-to-Site VPN\n User Guide.

" } }, - "com.amazonaws.ec2#CreateLaunchTemplateRequest": { + "com.amazonaws.ec2#CreateVpnConnectionRouteRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" - } - }, - "ClientToken": { + "DestinationCidrBlock": { "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the\n request. For more information, see Ensuring\n idempotency.

\n

Constraint: Maximum 128 ASCII characters.

" - } - }, - "LaunchTemplateName": { - "target": "com.amazonaws.ec2#LaunchTemplateName", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

A name for the launch template.

", + "smithy.api#documentation": "

The CIDR block associated with the local subnet of the customer network.

", "smithy.api#required": {} } }, - "VersionDescription": { - "target": "com.amazonaws.ec2#VersionDescription", - "traits": { - "smithy.api#documentation": "

A description for the first version of the launch template.

" - } - }, - "LaunchTemplateData": { - "target": "com.amazonaws.ec2#RequestLaunchTemplateData", + "VpnConnectionId": { + "target": "com.amazonaws.ec2#VpnConnectionId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The information for the launch template.

", + "smithy.api#documentation": "

The ID of the VPN connection.

", "smithy.api#required": {} } - }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", - "traits": { - "smithy.api#documentation": "

The tags to apply to the launch template on creation. To tag the launch template, the\n resource type must be launch-template.

\n \n

To specify the tags for the resources that are created when an instance is\n launched, you must use the TagSpecifications parameter in the launch\n template data structure.

\n
", - "smithy.api#xmlName": "TagSpecification" - } - } - } - }, - "com.amazonaws.ec2#CreateLaunchTemplateResult": { - "type": "structure", - "members": { - "LaunchTemplate": { - "target": "com.amazonaws.ec2#LaunchTemplate", - "traits": { - "aws.protocols#ec2QueryName": "LaunchTemplate", - "smithy.api#documentation": "

Information about the launch template.

", - "smithy.api#xmlName": "launchTemplate" - } - }, - "Warning": { - "target": "com.amazonaws.ec2#ValidationWarning", - "traits": { - "aws.protocols#ec2QueryName": "Warning", - "smithy.api#documentation": "

If the launch template contains parameters or parameter combinations that are not\n valid, an error code and an error message are returned for each issue that's\n found.

", - "smithy.api#xmlName": "warning" - } } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for CreateVpnConnectionRoute.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateLaunchTemplateVersion": { + "com.amazonaws.ec2#CreateVpnGateway": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateLaunchTemplateVersionRequest" + "target": "com.amazonaws.ec2#CreateVpnGatewayRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateLaunchTemplateVersionResult" + "target": "com.amazonaws.ec2#CreateVpnGatewayResult" }, "traits": { - "smithy.api#documentation": "

Creates a new version of a launch template. You can specify an existing version of\n launch template from which to base the new version.

\n

Launch template versions are numbered in the order in which they are created. You\n cannot specify, change, or replace the numbering of launch template versions.

\n

Launch templates are immutable; after you create a launch template, you can't modify\n it. Instead, you can create a new version of the launch template that includes any\n changes you require.

\n

For more information, see Modify a launch template (manage launch template versions) in the\n Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Creates a virtual private gateway. A virtual private gateway is the endpoint on the\n VPC side of your VPN connection. You can create a virtual private gateway before\n creating the VPC itself.

\n

For more information, see Amazon Web Services Site-to-Site VPN in the Amazon Web Services Site-to-Site VPN\n User Guide.

" } }, - "com.amazonaws.ec2#CreateLaunchTemplateVersionRequest": { + "com.amazonaws.ec2#CreateVpnGatewayRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" - } - }, - "ClientToken": { + "AvailabilityZone": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the\n request. For more information, see Ensuring\n idempotency.

\n

Constraint: Maximum 128 ASCII characters.

" - } - }, - "LaunchTemplateId": { - "target": "com.amazonaws.ec2#LaunchTemplateId", - "traits": { - "smithy.api#documentation": "

The ID of the launch template.

\n

You must specify either the LaunchTemplateId or the\n LaunchTemplateName, but not both.

" + "smithy.api#documentation": "

The Availability Zone for the virtual private gateway.

" } }, - "LaunchTemplateName": { - "target": "com.amazonaws.ec2#LaunchTemplateName", + "Type": { + "target": "com.amazonaws.ec2#GatewayType", "traits": { - "smithy.api#documentation": "

The name of the launch template.

\n

You must specify the LaunchTemplateName or the\n LaunchTemplateId, but not both.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The type of VPN connection this virtual private gateway supports.

", + "smithy.api#required": {} } }, - "SourceVersion": { - "target": "com.amazonaws.ec2#String", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#documentation": "

The version number of the launch template version on which to base the new version.\n The new version inherits the same launch parameters as the source version, except for\n parameters that you specify in LaunchTemplateData. Snapshots applied to the\n block device mapping are ignored when creating a new version unless they are explicitly\n included.

" + "smithy.api#documentation": "

The tags to apply to the virtual private gateway.

", + "smithy.api#xmlName": "TagSpecification" } }, - "VersionDescription": { - "target": "com.amazonaws.ec2#VersionDescription", + "AmazonSideAsn": { + "target": "com.amazonaws.ec2#Long", "traits": { - "smithy.api#documentation": "

A description for the version of the launch template.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

A private Autonomous System Number (ASN) for the Amazon side of a BGP session. If\n you're using a 16-bit ASN, it must be in the 64512 to 65534 range. If you're using a\n 32-bit ASN, it must be in the 4200000000 to 4294967294 range.

\n

Default: 64512

" } }, - "LaunchTemplateData": { - "target": "com.amazonaws.ec2#RequestLaunchTemplateData", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The information for the launch template.

", - "smithy.api#required": {} + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for CreateVpnGateway.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateLaunchTemplateVersionResult": { + "com.amazonaws.ec2#CreateVpnGatewayResult": { "type": "structure", "members": { - "LaunchTemplateVersion": { - "target": "com.amazonaws.ec2#LaunchTemplateVersion", - "traits": { - "aws.protocols#ec2QueryName": "LaunchTemplateVersion", - "smithy.api#documentation": "

Information about the launch template version.

", - "smithy.api#xmlName": "launchTemplateVersion" - } - }, - "Warning": { - "target": "com.amazonaws.ec2#ValidationWarning", + "VpnGateway": { + "target": "com.amazonaws.ec2#VpnGateway", "traits": { - "aws.protocols#ec2QueryName": "Warning", - "smithy.api#documentation": "

If the new version of the launch template contains parameters or parameter\n combinations that are not valid, an error code and an error message are returned for\n each issue that's found.

", - "smithy.api#xmlName": "warning" + "aws.protocols#ec2QueryName": "VpnGateway", + "smithy.api#documentation": "

Information about the virtual private gateway.

", + "smithy.api#xmlName": "vpnGateway" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of CreateVpnGateway.

" } }, - "com.amazonaws.ec2#CreateLocalGatewayRoute": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#CreateLocalGatewayRouteRequest" - }, - "output": { - "target": "com.amazonaws.ec2#CreateLocalGatewayRouteResult" + "com.amazonaws.ec2#CreditSpecification": { + "type": "structure", + "members": { + "CpuCredits": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "CpuCredits", + "smithy.api#documentation": "

The credit option for CPU usage of a T instance.

\n

Valid values: standard | unlimited\n

", + "smithy.api#xmlName": "cpuCredits" + } + } }, "traits": { - "smithy.api#documentation": "

Creates a static route for the specified local gateway route table. You must specify one of the \n following targets:

\n
    \n
  • \n

    \n LocalGatewayVirtualInterfaceGroupId\n

    \n
  • \n
  • \n

    \n NetworkInterfaceId\n

    \n
  • \n
" + "smithy.api#documentation": "

Describes the credit option for CPU usage of a T instance.

" } }, - "com.amazonaws.ec2#CreateLocalGatewayRouteRequest": { + "com.amazonaws.ec2#CreditSpecificationRequest": { "type": "structure", "members": { - "DestinationCidrBlock": { + "CpuCredits": { "target": "com.amazonaws.ec2#String", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The CIDR range used for destination matches. Routing decisions are based on \n the most specific match.

", + "smithy.api#documentation": "

The credit option for CPU usage of a T instance.

\n

Valid values: standard | unlimited\n

", "smithy.api#required": {} } + } + }, + "traits": { + "smithy.api#documentation": "

The credit option for CPU usage of a T instance.

" + } + }, + "com.amazonaws.ec2#CurrencyCodeValues": { + "type": "enum", + "members": { + "USD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "USD" + } + } + } + }, + "com.amazonaws.ec2#CurrentGenerationFlag": { + "type": "boolean" + }, + "com.amazonaws.ec2#CustomerGateway": { + "type": "structure", + "members": { + "BgpAsn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "BgpAsn", + "smithy.api#documentation": "

The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number\n (ASN).

", + "smithy.api#xmlName": "bgpAsn" + } }, - "LocalGatewayRouteTableId": { - "target": "com.amazonaws.ec2#LocalGatewayRoutetableId", + "CustomerGatewayId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the local gateway route table.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "CustomerGatewayId", + "smithy.api#documentation": "

The ID of the customer gateway.

", + "smithy.api#xmlName": "customerGatewayId" } }, - "LocalGatewayVirtualInterfaceGroupId": { - "target": "com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroupId", + "IpAddress": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The ID of the virtual interface group.

" + "aws.protocols#ec2QueryName": "IpAddress", + "smithy.api#documentation": "

The IP address of the customer gateway device's outside interface.

", + "smithy.api#xmlName": "ipAddress" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "CertificateArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "CertificateArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the customer gateway certificate.

", + "smithy.api#xmlName": "certificateArn" } }, - "NetworkInterfaceId": { - "target": "com.amazonaws.ec2#NetworkInterfaceId", + "State": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The ID of the network interface.

" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The current state of the customer gateway (pending | available | deleting |\n deleted).

", + "smithy.api#xmlName": "state" + } + }, + "Type": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Type", + "smithy.api#documentation": "

The type of VPN connection the customer gateway supports\n (ipsec.1).

", + "smithy.api#xmlName": "type" + } + }, + "DeviceName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "DeviceName", + "smithy.api#documentation": "

The name of customer gateway device.

", + "smithy.api#xmlName": "deviceName" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Any tags assigned to the customer gateway.

", + "smithy.api#xmlName": "tagSet" } } + }, + "traits": { + "smithy.api#documentation": "

Describes a customer gateway.

" } }, - "com.amazonaws.ec2#CreateLocalGatewayRouteResult": { - "type": "structure", - "members": { - "Route": { - "target": "com.amazonaws.ec2#LocalGatewayRoute", - "traits": { - "aws.protocols#ec2QueryName": "Route", - "smithy.api#documentation": "

Information about the route.

", - "smithy.api#xmlName": "route" - } + "com.amazonaws.ec2#CustomerGatewayId": { + "type": "string" + }, + "com.amazonaws.ec2#CustomerGatewayIdStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#CustomerGatewayId", + "traits": { + "smithy.api#xmlName": "CustomerGatewayId" + } + } + }, + "com.amazonaws.ec2#CustomerGatewayList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#CustomerGateway", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#DITMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 5, + "max": 100 + } + } + }, + "com.amazonaws.ec2#DITOMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 5, + "max": 1000 } } }, - "com.amazonaws.ec2#CreateLocalGatewayRouteTable": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#CreateLocalGatewayRouteTableRequest" - }, - "output": { - "target": "com.amazonaws.ec2#CreateLocalGatewayRouteTableResult" - }, - "traits": { - "smithy.api#documentation": "

\n Creates a local gateway route table. \n

" + "com.amazonaws.ec2#DataQueries": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#DataQuery" } }, - "com.amazonaws.ec2#CreateLocalGatewayRouteTableRequest": { + "com.amazonaws.ec2#DataQuery": { "type": "structure", "members": { - "LocalGatewayId": { - "target": "com.amazonaws.ec2#LocalGatewayId", + "Id": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

\n The ID of the local gateway. \n

", - "smithy.api#required": {} + "smithy.api#documentation": "

A user-defined ID associated with a data query that's returned in the dataResponse identifying the query. For example, if you set the Id to MyQuery01in the query, the dataResponse identifies the query as MyQuery01.

" } }, - "Mode": { - "target": "com.amazonaws.ec2#LocalGatewayRouteTableMode", + "Source": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

\n The mode of the local gateway route table.\n

" + "smithy.api#documentation": "

The Region or Availability Zone that's the source for the data query. For example, us-east-1.

" } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + "Destination": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

\n The tags assigned to the local gateway route table.\n

", - "smithy.api#xmlName": "TagSpecification" + "smithy.api#documentation": "

The Region or Availability Zone that's the target for the data query. For example, eu-north-1.

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Metric": { + "target": "com.amazonaws.ec2#MetricType", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The metric, aggregation-latency, indicating that network latency is aggregated for the query. This is the only supported metric.

" } - } - } - }, - "com.amazonaws.ec2#CreateLocalGatewayRouteTableResult": { - "type": "structure", - "members": { - "LocalGatewayRouteTable": { - "target": "com.amazonaws.ec2#LocalGatewayRouteTable", + }, + "Statistic": { + "target": "com.amazonaws.ec2#StatisticType", "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayRouteTable", - "smithy.api#xmlName": "localGatewayRouteTable" + "smithy.api#documentation": "

The metric data aggregation period, p50, between the specified startDate and endDate. For example, a metric of five_minutes is the median of all the data points gathered within those five minutes. p50 is the only supported metric.

" + } + }, + "Period": { + "target": "com.amazonaws.ec2#PeriodType", + "traits": { + "smithy.api#documentation": "

The aggregation period used for the data query.

" } } - } - }, - "com.amazonaws.ec2#CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociation": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociationRequest" - }, - "output": { - "target": "com.amazonaws.ec2#CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociationResult" }, "traits": { - "smithy.api#documentation": "

\n Creates a local gateway route table virtual interface group association. \n

" + "smithy.api#documentation": "

A query used for retrieving network health data.

" } }, - "com.amazonaws.ec2#CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociationRequest": { + "com.amazonaws.ec2#DataResponse": { "type": "structure", "members": { - "LocalGatewayRouteTableId": { - "target": "com.amazonaws.ec2#LocalGatewayRoutetableId", + "Id": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

\n The ID of the local gateway route table.\n

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "Id", + "smithy.api#documentation": "

The ID passed in the DataQuery.

", + "smithy.api#xmlName": "id" } }, - "LocalGatewayVirtualInterfaceGroupId": { - "target": "com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroupId", + "Source": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

\n The ID of the local gateway route table virtual interface group association.\n

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "Source", + "smithy.api#documentation": "

The Region or Availability Zone that's the source for the data query. For example, us-east-1.

", + "smithy.api#xmlName": "source" } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + "Destination": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

\n The tags assigned to the local gateway route table virtual interface group association.\n

", - "smithy.api#xmlName": "TagSpecification" + "aws.protocols#ec2QueryName": "Destination", + "smithy.api#documentation": "

The Region or Availability Zone that's the destination for the data query. For example, eu-west-1.

", + "smithy.api#xmlName": "destination" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Metric": { + "target": "com.amazonaws.ec2#MetricType", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "Metric", + "smithy.api#documentation": "

The metric used for the network performance request. Only aggregate-latency is supported, which shows network latency during a specified period.

", + "smithy.api#xmlName": "metric" + } + }, + "Statistic": { + "target": "com.amazonaws.ec2#StatisticType", + "traits": { + "aws.protocols#ec2QueryName": "Statistic", + "smithy.api#documentation": "

The statistic used for the network performance request.

", + "smithy.api#xmlName": "statistic" + } + }, + "Period": { + "target": "com.amazonaws.ec2#PeriodType", + "traits": { + "aws.protocols#ec2QueryName": "Period", + "smithy.api#documentation": "

The period used for the network performance request.

", + "smithy.api#xmlName": "period" + } + }, + "MetricPoints": { + "target": "com.amazonaws.ec2#MetricPoints", + "traits": { + "aws.protocols#ec2QueryName": "MetricPointSet", + "smithy.api#documentation": "

A list of MetricPoint objects.

", + "smithy.api#xmlName": "metricPointSet" } } + }, + "traits": { + "smithy.api#documentation": "

The response to a DataQuery.

" } }, - "com.amazonaws.ec2#CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociationResult": { - "type": "structure", + "com.amazonaws.ec2#DataResponses": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#DataResponse", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#DatafeedSubscriptionState": { + "type": "enum", "members": { - "LocalGatewayRouteTableVirtualInterfaceGroupAssociation": { - "target": "com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociation", + "Active": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayRouteTableVirtualInterfaceGroupAssociation", - "smithy.api#xmlName": "localGatewayRouteTableVirtualInterfaceGroupAssociation" + "smithy.api#enumValue": "Active" + } + }, + "Inactive": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Inactive" } } } }, - "com.amazonaws.ec2#CreateLocalGatewayRouteTableVpcAssociation": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#CreateLocalGatewayRouteTableVpcAssociationRequest" - }, - "output": { - "target": "com.amazonaws.ec2#CreateLocalGatewayRouteTableVpcAssociationResult" - }, - "traits": { - "smithy.api#documentation": "

Associates the specified VPC with the specified local gateway route table.

" + "com.amazonaws.ec2#DateTime": { + "type": "timestamp" + }, + "com.amazonaws.ec2#DedicatedHostFlag": { + "type": "boolean" + }, + "com.amazonaws.ec2#DedicatedHostId": { + "type": "string" + }, + "com.amazonaws.ec2#DedicatedHostIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#DedicatedHostId", + "traits": { + "smithy.api#xmlName": "item" + } } }, - "com.amazonaws.ec2#CreateLocalGatewayRouteTableVpcAssociationRequest": { - "type": "structure", + "com.amazonaws.ec2#DefaultNetworkCardIndex": { + "type": "integer" + }, + "com.amazonaws.ec2#DefaultRouteTableAssociationValue": { + "type": "enum", "members": { - "LocalGatewayRouteTableId": { - "target": "com.amazonaws.ec2#LocalGatewayRoutetableId", + "enable": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the local gateway route table.

", - "smithy.api#required": {} + "smithy.api#enumValue": "enable" } }, - "VpcId": { - "target": "com.amazonaws.ec2#VpcId", + "disable": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the VPC.

", - "smithy.api#required": {} + "smithy.api#enumValue": "disable" } - }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + } + } + }, + "com.amazonaws.ec2#DefaultRouteTablePropagationValue": { + "type": "enum", + "members": { + "enable": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The tags to assign to the local gateway route table VPC association.

", - "smithy.api#xmlName": "TagSpecification" + "smithy.api#enumValue": "enable" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "disable": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#enumValue": "disable" } } } }, - "com.amazonaws.ec2#CreateLocalGatewayRouteTableVpcAssociationResult": { - "type": "structure", + "com.amazonaws.ec2#DefaultTargetCapacityType": { + "type": "enum", "members": { - "LocalGatewayRouteTableVpcAssociation": { - "target": "com.amazonaws.ec2#LocalGatewayRouteTableVpcAssociation", + "SPOT": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayRouteTableVpcAssociation", - "smithy.api#documentation": "

Information about the association.

", - "smithy.api#xmlName": "localGatewayRouteTableVpcAssociation" + "smithy.api#enumValue": "spot" + } + }, + "ON_DEMAND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "on-demand" } } } }, - "com.amazonaws.ec2#CreateManagedPrefixList": { + "com.amazonaws.ec2#DefaultingDhcpOptionsId": { + "type": "string" + }, + "com.amazonaws.ec2#DeleteCarrierGateway": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateManagedPrefixListRequest" + "target": "com.amazonaws.ec2#DeleteCarrierGatewayRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateManagedPrefixListResult" + "target": "com.amazonaws.ec2#DeleteCarrierGatewayResult" }, "traits": { - "smithy.api#documentation": "

Creates a managed prefix list. You can specify one or more entries for the prefix list. \n Each entry consists of a CIDR block and an optional description.

" + "smithy.api#documentation": "

Deletes a carrier gateway.

\n \n

If you do not delete the route that contains the carrier gateway as the\n Target, the route is a blackhole route. For information about how to delete a route, see \n DeleteRoute.

\n
" } }, - "com.amazonaws.ec2#CreateManagedPrefixListRequest": { + "com.amazonaws.ec2#DeleteCarrierGatewayRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - }, - "PrefixListName": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

A name for the prefix list.

\n

Constraints: Up to 255 characters in length. The name cannot start with com.amazonaws.

", - "smithy.api#required": {} - } - }, - "Entries": { - "target": "com.amazonaws.ec2#AddPrefixListEntries", - "traits": { - "smithy.api#documentation": "

One or more entries for the prefix list.

", - "smithy.api#xmlName": "Entry" - } - }, - "MaxEntries": { - "target": "com.amazonaws.ec2#Integer", + "CarrierGatewayId": { + "target": "com.amazonaws.ec2#CarrierGatewayId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of entries for the prefix list.

", + "smithy.api#documentation": "

The ID of the carrier gateway.

", "smithy.api#required": {} } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", - "traits": { - "smithy.api#documentation": "

The tags to apply to the prefix list during creation.

", - "smithy.api#xmlName": "TagSpecification" - } - }, - "AddressFamily": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IP address type.

\n

Valid Values: IPv4 | IPv6\n

", - "smithy.api#required": {} - } - }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the\n request. For more information, see Ensuring\n Idempotency.

\n

Constraints: Up to 255 UTF-8 characters in length.

", - "smithy.api#idempotencyToken": {} + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateManagedPrefixListResult": { + "com.amazonaws.ec2#DeleteCarrierGatewayResult": { "type": "structure", "members": { - "PrefixList": { - "target": "com.amazonaws.ec2#ManagedPrefixList", + "CarrierGateway": { + "target": "com.amazonaws.ec2#CarrierGateway", "traits": { - "aws.protocols#ec2QueryName": "PrefixList", - "smithy.api#documentation": "

Information about the prefix list.

", - "smithy.api#xmlName": "prefixList" + "aws.protocols#ec2QueryName": "CarrierGateway", + "smithy.api#documentation": "

Information about the carrier gateway.

", + "smithy.api#xmlName": "carrierGateway" } } } }, - "com.amazonaws.ec2#CreateNatGateway": { + "com.amazonaws.ec2#DeleteClientVpnEndpoint": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateNatGatewayRequest" + "target": "com.amazonaws.ec2#DeleteClientVpnEndpointRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateNatGatewayResult" + "target": "com.amazonaws.ec2#DeleteClientVpnEndpointResult" }, "traits": { - "smithy.api#documentation": "

Creates a NAT gateway in the specified subnet. This action creates a network interface\n in the specified subnet with a private IP address from the IP address range of the\n subnet. You can create either a public NAT gateway or a private NAT gateway.

\n

With a public NAT gateway, internet-bound traffic from a private subnet can be routed\n to the NAT gateway, so that instances in a private subnet can connect to the internet.

\n

With a private NAT gateway, private communication is routed across VPCs and on-premises\n networks through a transit gateway or virtual private gateway. Common use cases include\n running large workloads behind a small pool of allowlisted IPv4 addresses, preserving\n private IPv4 addresses, and communicating between overlapping networks.

\n

For more information, see NAT gateways in the Amazon Virtual Private Cloud User Guide.

" + "smithy.api#documentation": "

Deletes the specified Client VPN endpoint. You must disassociate all target networks before you \n\t\t\tcan delete a Client VPN endpoint.

" } }, - "com.amazonaws.ec2#CreateNatGatewayRequest": { + "com.amazonaws.ec2#DeleteClientVpnEndpointRequest": { "type": "structure", "members": { - "AllocationId": { - "target": "com.amazonaws.ec2#AllocationId", - "traits": { - "smithy.api#documentation": "

[Public NAT gateways only] The allocation ID of an Elastic IP address to associate \n with the NAT gateway. You cannot specify an Elastic IP address with a private NAT gateway.\n If the Elastic IP address is associated with another resource, you must first disassociate it.

" - } - }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", + "ClientVpnEndpointId": { + "target": "com.amazonaws.ec2#ClientVpnEndpointId", "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n\t\t\trequest. For more information, see How to ensure\n\t\t\t\tidempotency.

\n

Constraint: Maximum 64 ASCII characters.

", - "smithy.api#idempotencyToken": {} + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Client VPN to be deleted.

", + "smithy.api#required": {} } }, "DryRun": { @@ -15897,263 +20264,119 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - }, - "SubnetId": { - "target": "com.amazonaws.ec2#SubnetId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The subnet in which to create the NAT gateway.

", - "smithy.api#required": {} - } - }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", - "traits": { - "smithy.api#documentation": "

The tags to assign to the NAT gateway.

", - "smithy.api#xmlName": "TagSpecification" - } - }, - "ConnectivityType": { - "target": "com.amazonaws.ec2#ConnectivityType", - "traits": { - "smithy.api#documentation": "

Indicates whether the NAT gateway supports public or private connectivity. \n The default is public connectivity.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateNatGatewayResult": { + "com.amazonaws.ec2#DeleteClientVpnEndpointResult": { "type": "structure", "members": { - "ClientToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "ClientToken", - "smithy.api#documentation": "

Unique, case-sensitive identifier to ensure the idempotency of the request. Only returned if a client token was provided in the request.

", - "smithy.api#xmlName": "clientToken" - } - }, - "NatGateway": { - "target": "com.amazonaws.ec2#NatGateway", + "Status": { + "target": "com.amazonaws.ec2#ClientVpnEndpointStatus", "traits": { - "aws.protocols#ec2QueryName": "NatGateway", - "smithy.api#documentation": "

Information about the NAT gateway.

", - "smithy.api#xmlName": "natGateway" + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The current state of the Client VPN endpoint.

", + "smithy.api#xmlName": "status" } } } }, - "com.amazonaws.ec2#CreateNetworkAcl": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#CreateNetworkAclRequest" - }, - "output": { - "target": "com.amazonaws.ec2#CreateNetworkAclResult" - }, - "traits": { - "smithy.api#documentation": "

Creates a network ACL in a VPC. Network ACLs provide an optional layer of security (in addition to security groups) for the instances in your VPC.

\n\t\t

For more information, see Network ACLs in the\n\t\t\t\tAmazon Virtual Private Cloud User Guide.

" - } - }, - "com.amazonaws.ec2#CreateNetworkAclEntry": { + "com.amazonaws.ec2#DeleteClientVpnRoute": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateNetworkAclEntryRequest" + "target": "com.amazonaws.ec2#DeleteClientVpnRouteRequest" }, "output": { - "target": "smithy.api#Unit" + "target": "com.amazonaws.ec2#DeleteClientVpnRouteResult" }, "traits": { - "smithy.api#documentation": "

Creates an entry (a rule) in a network ACL with the specified rule number. Each network ACL has a set of numbered ingress rules \n\t\t and a separate set of numbered egress rules. When determining whether a packet should be allowed in or out of a subnet associated \n\t\t with the ACL, we process the entries in the ACL according to the rule numbers, in ascending order. Each network ACL has a set of \n\t\t ingress rules and a separate set of egress rules.

\n\t\t

We recommend that you leave room between the rule numbers (for example, 100, 110, 120, ...), and not number them one right after the \n\t\t other (for example, 101, 102, 103, ...). This makes it easier to add a rule between existing ones without having to renumber the rules.

\n\t\t

After you add an entry, you can't modify it; you must either replace it, or create an entry and delete the old one.

\n

For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" + "smithy.api#documentation": "

Deletes a route from a Client VPN endpoint. You can only delete routes that you manually added using \n\t\t\tthe CreateClientVpnRoute action. You cannot delete routes that were \n\t\t\tautomatically added when associating a subnet. To remove routes that have been automatically added, \n\t\t\tdisassociate the target subnet from the Client VPN endpoint.

" } }, - "com.amazonaws.ec2#CreateNetworkAclEntryRequest": { + "com.amazonaws.ec2#DeleteClientVpnRouteRequest": { "type": "structure", "members": { - "CidrBlock": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "CidrBlock", - "smithy.api#documentation": "

The IPv4 network range to allow or deny, in CIDR notation (for example\n\t\t 172.16.0.0/24). We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

", - "smithy.api#xmlName": "cidrBlock" - } - }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" - } - }, - "Egress": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "Egress", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether this is an egress rule (rule is applied to traffic leaving the subnet).

", - "smithy.api#required": {}, - "smithy.api#xmlName": "egress" - } - }, - "IcmpTypeCode": { - "target": "com.amazonaws.ec2#IcmpTypeCode", - "traits": { - "smithy.api#documentation": "

ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol \n\t\t 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.

", - "smithy.api#xmlName": "Icmp" - } - }, - "Ipv6CidrBlock": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "Ipv6CidrBlock", - "smithy.api#documentation": "

The IPv6 network range to allow or deny, in CIDR notation (for example\n 2001:db8:1234:1a00::/64).

", - "smithy.api#xmlName": "ipv6CidrBlock" - } - }, - "NetworkAclId": { - "target": "com.amazonaws.ec2#NetworkAclId", + "ClientVpnEndpointId": { + "target": "com.amazonaws.ec2#ClientVpnEndpointId", "traits": { - "aws.protocols#ec2QueryName": "NetworkAclId", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the network ACL.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "networkAclId" + "smithy.api#documentation": "

The ID of the Client VPN endpoint from which the route is to be deleted.

", + "smithy.api#required": {} } }, - "PortRange": { - "target": "com.amazonaws.ec2#PortRange", + "TargetVpcSubnetId": { + "target": "com.amazonaws.ec2#SubnetId", "traits": { - "aws.protocols#ec2QueryName": "PortRange", - "smithy.api#documentation": "

TCP or UDP protocols: The range of ports the rule applies to.\n\t\t Required if specifying protocol 6 (TCP) or 17 (UDP).

", - "smithy.api#xmlName": "portRange" + "smithy.api#documentation": "

The ID of the target subnet used by the route.

" } }, - "Protocol": { + "DestinationCidrBlock": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Protocol", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The protocol number. A value of \"-1\" means all protocols. If you specify \"-1\" or a\n \t\t\tprotocol number other than \"6\" (TCP), \"17\" (UDP), or \"1\" (ICMP), traffic on all ports is \n\t\t\tallowed, regardless of any ports or ICMP types or codes that you specify. If you specify \n\t\t\tprotocol \"58\" (ICMPv6) and specify an IPv4 CIDR block, traffic for all ICMP types and \n\t\t\tcodes allowed, regardless of any that you specify. If you specify protocol \"58\" (ICMPv6) \n\t\t\tand specify an IPv6 CIDR block, you must specify an ICMP type and code.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "protocol" - } - }, - "RuleAction": { - "target": "com.amazonaws.ec2#RuleAction", - "traits": { - "aws.protocols#ec2QueryName": "RuleAction", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

Indicates whether to allow or deny the traffic that matches the rule.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "ruleAction" + "smithy.api#documentation": "

The IPv4 address range, in CIDR notation, of the route to be deleted.

", + "smithy.api#required": {} } }, - "RuleNumber": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "aws.protocols#ec2QueryName": "RuleNumber", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The rule number for the entry (for example, 100). ACL entries are processed in ascending order by rule number.

\n

Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 is reserved for internal use.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "ruleNumber" - } - } - } - }, - "com.amazonaws.ec2#CreateNetworkAclRequest": { - "type": "structure", - "members": { "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" - } - }, - "VpcId": { - "target": "com.amazonaws.ec2#VpcId", - "traits": { - "aws.protocols#ec2QueryName": "VpcId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the VPC.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "vpcId" - } - }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", - "traits": { - "smithy.api#documentation": "

The tags to assign to the network ACL.

", - "smithy.api#xmlName": "TagSpecification" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateNetworkAclResult": { + "com.amazonaws.ec2#DeleteClientVpnRouteResult": { "type": "structure", "members": { - "NetworkAcl": { - "target": "com.amazonaws.ec2#NetworkAcl", + "Status": { + "target": "com.amazonaws.ec2#ClientVpnRouteStatus", "traits": { - "aws.protocols#ec2QueryName": "NetworkAcl", - "smithy.api#documentation": "

Information about the network ACL.

", - "smithy.api#xmlName": "networkAcl" + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The current state of the route.

", + "smithy.api#xmlName": "status" } } } }, - "com.amazonaws.ec2#CreateNetworkInsightsAccessScope": { + "com.amazonaws.ec2#DeleteCoipCidr": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateNetworkInsightsAccessScopeRequest" + "target": "com.amazonaws.ec2#DeleteCoipCidrRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateNetworkInsightsAccessScopeResult" + "target": "com.amazonaws.ec2#DeleteCoipCidrResult" }, "traits": { - "smithy.api#documentation": "

Creates a Network Access Scope.

\n

Amazon Web Services Network Access Analyzer enables cloud networking and cloud operations teams \n to verify that their networks on Amazon Web Services conform to their network security and governance \n objectives. For more information, see the Amazon Web Services Network Access Analyzer Guide.

" + "smithy.api#documentation": "

\n Deletes a range of customer-owned IP addresses.\n

" } }, - "com.amazonaws.ec2#CreateNetworkInsightsAccessScopeRequest": { + "com.amazonaws.ec2#DeleteCoipCidrRequest": { "type": "structure", "members": { - "MatchPaths": { - "target": "com.amazonaws.ec2#AccessScopePathListRequest", - "traits": { - "smithy.api#documentation": "

The paths to match.

", - "smithy.api#xmlName": "MatchPath" - } - }, - "ExcludePaths": { - "target": "com.amazonaws.ec2#AccessScopePathListRequest", - "traits": { - "smithy.api#documentation": "

The paths to exclude.

", - "smithy.api#xmlName": "ExcludePath" - } - }, - "ClientToken": { + "Cidr": { "target": "com.amazonaws.ec2#String", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, \n see How to ensure idempotency.

", - "smithy.api#idempotencyToken": {}, + "smithy.api#documentation": "

A customer-owned IP address range that you want to delete.

", "smithy.api#required": {} } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + "CoipPoolId": { + "target": "com.amazonaws.ec2#Ipv4PoolCoipId", "traits": { - "smithy.api#documentation": "

The tags to apply.

", - "smithy.api#xmlName": "TagSpecification" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

\n The ID of the customer-owned address pool. \n

", + "smithy.api#required": {} } }, "DryRun": { @@ -16164,95 +20387,47 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateNetworkInsightsAccessScopeResult": { + "com.amazonaws.ec2#DeleteCoipCidrResult": { "type": "structure", "members": { - "NetworkInsightsAccessScope": { - "target": "com.amazonaws.ec2#NetworkInsightsAccessScope", - "traits": { - "aws.protocols#ec2QueryName": "NetworkInsightsAccessScope", - "smithy.api#documentation": "

The Network Access Scope.

", - "smithy.api#xmlName": "networkInsightsAccessScope" - } - }, - "NetworkInsightsAccessScopeContent": { - "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeContent", + "CoipCidr": { + "target": "com.amazonaws.ec2#CoipCidr", "traits": { - "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeContent", - "smithy.api#documentation": "

The Network Access Scope content.

", - "smithy.api#xmlName": "networkInsightsAccessScopeContent" + "aws.protocols#ec2QueryName": "CoipCidr", + "smithy.api#documentation": "

\n Information about a range of customer-owned IP addresses.\n

", + "smithy.api#xmlName": "coipCidr" } } } }, - "com.amazonaws.ec2#CreateNetworkInsightsPath": { + "com.amazonaws.ec2#DeleteCoipPool": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateNetworkInsightsPathRequest" + "target": "com.amazonaws.ec2#DeleteCoipPoolRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateNetworkInsightsPathResult" + "target": "com.amazonaws.ec2#DeleteCoipPoolResult" }, "traits": { - "smithy.api#documentation": "

Creates a path to analyze for reachability.

\n

Reachability Analyzer enables you to analyze and debug network reachability between\n two resources in your virtual private cloud (VPC). For more information, see \n What is Reachability Analyzer.

" + "smithy.api#documentation": "

Deletes a pool of customer-owned IP (CoIP) addresses.

" } }, - "com.amazonaws.ec2#CreateNetworkInsightsPathRequest": { + "com.amazonaws.ec2#DeleteCoipPoolRequest": { "type": "structure", "members": { - "SourceIp": { - "target": "com.amazonaws.ec2#IpAddress", - "traits": { - "smithy.api#documentation": "

The IP address of the Amazon Web Services resource that is the source of the path.

" - } - }, - "DestinationIp": { - "target": "com.amazonaws.ec2#IpAddress", - "traits": { - "smithy.api#documentation": "

The IP address of the Amazon Web Services resource that is the destination of the path.

" - } - }, - "Source": { - "target": "com.amazonaws.ec2#NetworkInsightsResourceId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The Amazon Web Services resource that is the source of the path.

", - "smithy.api#required": {} - } - }, - "Destination": { - "target": "com.amazonaws.ec2#NetworkInsightsResourceId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The Amazon Web Services resource that is the destination of the path.

", - "smithy.api#required": {} - } - }, - "Protocol": { - "target": "com.amazonaws.ec2#Protocol", + "CoipPoolId": { + "target": "com.amazonaws.ec2#Ipv4PoolCoipId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The protocol.

", + "smithy.api#documentation": "

The ID of the CoIP pool that you want to delete.

", "smithy.api#required": {} } }, - "DestinationPort": { - "target": "com.amazonaws.ec2#Port", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The destination port.

" - } - }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", - "traits": { - "smithy.api#documentation": "

The tags to add to the path.

", - "smithy.api#xmlName": "TagSpecification" - } - }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -16260,360 +20435,410 @@ "smithy.api#default": false, "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, \n see How to ensure idempotency.

", - "smithy.api#idempotencyToken": {}, - "smithy.api#required": {} - } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateNetworkInsightsPathResult": { + "com.amazonaws.ec2#DeleteCoipPoolResult": { "type": "structure", "members": { - "NetworkInsightsPath": { - "target": "com.amazonaws.ec2#NetworkInsightsPath", + "CoipPool": { + "target": "com.amazonaws.ec2#CoipPool", "traits": { - "aws.protocols#ec2QueryName": "NetworkInsightsPath", - "smithy.api#documentation": "

Information about the path.

", - "smithy.api#xmlName": "networkInsightsPath" + "aws.protocols#ec2QueryName": "CoipPool", + "smithy.api#documentation": "

Information about the CoIP address pool.

", + "smithy.api#xmlName": "coipPool" } } } }, - "com.amazonaws.ec2#CreateNetworkInterface": { + "com.amazonaws.ec2#DeleteCustomerGateway": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateNetworkInterfaceRequest" + "target": "com.amazonaws.ec2#DeleteCustomerGatewayRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateNetworkInterfaceResult" + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Creates a network interface in the specified subnet.

\n

The number of IP addresses you can assign to a network interface varies by instance\n type. For more information, see IP Addresses Per ENI Per\n Instance Type in the Amazon Virtual Private Cloud User Guide.

\n

For more information about network interfaces, see Elastic network interfaces \n in the Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Deletes the specified customer gateway. You must delete the VPN connection before you\n can delete the customer gateway.

" } }, - "com.amazonaws.ec2#CreateNetworkInterfacePermission": { + "com.amazonaws.ec2#DeleteCustomerGatewayRequest": { + "type": "structure", + "members": { + "CustomerGatewayId": { + "target": "com.amazonaws.ec2#CustomerGatewayId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the customer gateway.

", + "smithy.api#required": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for DeleteCustomerGateway.

", + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DeleteDhcpOptions": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateNetworkInterfacePermissionRequest" + "target": "com.amazonaws.ec2#DeleteDhcpOptionsRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateNetworkInterfacePermissionResult" + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Grants an Amazon Web Services-authorized account permission to attach the specified network interface to\n an instance in their account.

\n\t

You can grant permission to a single Amazon Web Services account only, and only one account at a time.

" + "smithy.api#documentation": "

Deletes the specified set of DHCP options. You must disassociate the set of DHCP options before you can delete it. You can disassociate the set of DHCP options by associating either a new set of options or the default set of options with the VPC.

" } }, - "com.amazonaws.ec2#CreateNetworkInterfacePermissionRequest": { + "com.amazonaws.ec2#DeleteDhcpOptionsRequest": { "type": "structure", "members": { - "NetworkInterfaceId": { - "target": "com.amazonaws.ec2#NetworkInterfaceId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the network interface.

", - "smithy.api#required": {} - } - }, - "AwsAccountId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID.

" - } - }, - "AwsService": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The Amazon Web Service. Currently not supported.

" - } - }, - "Permission": { - "target": "com.amazonaws.ec2#InterfacePermissionType", + "DhcpOptionsId": { + "target": "com.amazonaws.ec2#DhcpOptionsId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The type of permission to grant.

", + "smithy.api#documentation": "

The ID of the DHCP options set.

", "smithy.api#required": {} } }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is DryRunOperation. \n\t\t\tOtherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for CreateNetworkInterfacePermission.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateNetworkInterfacePermissionResult": { - "type": "structure", - "members": { - "InterfacePermission": { - "target": "com.amazonaws.ec2#NetworkInterfacePermission", - "traits": { - "aws.protocols#ec2QueryName": "InterfacePermission", - "smithy.api#documentation": "

Information about the permission for the network interface.

", - "smithy.api#xmlName": "interfacePermission" - } - } + "com.amazonaws.ec2#DeleteEgressOnlyInternetGateway": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteEgressOnlyInternetGatewayRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeleteEgressOnlyInternetGatewayResult" }, "traits": { - "smithy.api#documentation": "

Contains the output of CreateNetworkInterfacePermission.

" + "smithy.api#documentation": "

Deletes an egress-only internet gateway.

" } }, - "com.amazonaws.ec2#CreateNetworkInterfaceRequest": { + "com.amazonaws.ec2#DeleteEgressOnlyInternetGatewayRequest": { "type": "structure", "members": { - "Description": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

A description for the network interface.

", - "smithy.api#xmlName": "description" - } - }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "Groups": { - "target": "com.amazonaws.ec2#SecurityGroupIdStringList", + "EgressOnlyInternetGatewayId": { + "target": "com.amazonaws.ec2#EgressOnlyInternetGatewayId", "traits": { - "smithy.api#documentation": "

The IDs of one or more security groups.

", - "smithy.api#xmlName": "SecurityGroupId" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the egress-only internet gateway.

", + "smithy.api#required": {} } - }, - "Ipv6AddressCount": { - "target": "com.amazonaws.ec2#Integer", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DeleteEgressOnlyInternetGatewayResult": { + "type": "structure", + "members": { + "ReturnCode": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Ipv6AddressCount", + "aws.protocols#ec2QueryName": "ReturnCode", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of IPv6 addresses to assign to a network interface. Amazon EC2\n automatically selects the IPv6 addresses from the subnet range.

\n

You can't specify a count of IPv6 addresses using this parameter if you've specified \n one of the following: specific IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.

\n

If your subnet has the AssignIpv6AddressOnCreation attribute set, you can\n override that setting by specifying 0 as the IPv6 address count.

", - "smithy.api#xmlName": "ipv6AddressCount" + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "smithy.api#xmlName": "returnCode" } - }, - "Ipv6Addresses": { - "target": "com.amazonaws.ec2#InstanceIpv6AddressList", + } + } + }, + "com.amazonaws.ec2#DeleteFleetError": { + "type": "structure", + "members": { + "Code": { + "target": "com.amazonaws.ec2#DeleteFleetErrorCode", "traits": { - "aws.protocols#ec2QueryName": "Ipv6Addresses", - "smithy.api#documentation": "

The IPv6 addresses from the IPv6 CIDR block range of your subnet.

\n

You can't specify IPv6 addresses using this parameter if you've specified one of the \n following: a count of IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.

", - "smithy.api#xmlName": "ipv6Addresses" + "aws.protocols#ec2QueryName": "Code", + "smithy.api#documentation": "

The error code.

", + "smithy.api#xmlName": "code" } }, - "PrivateIpAddress": { + "Message": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PrivateIpAddress", - "smithy.api#documentation": "

The primary private IPv4 address of the network interface. If you don't specify an\n IPv4 address, Amazon EC2 selects one for you from the subnet's IPv4 CIDR range. If you\n specify an IP address, you cannot indicate any IP addresses specified in\n privateIpAddresses as primary (only one IP address can be designated as\n primary).

", - "smithy.api#xmlName": "privateIpAddress" - } - }, - "PrivateIpAddresses": { - "target": "com.amazonaws.ec2#PrivateIpAddressSpecificationList", - "traits": { - "aws.protocols#ec2QueryName": "PrivateIpAddresses", - "smithy.api#documentation": "

The private IPv4 addresses.

\n

You can't specify private IPv4 addresses if you've specified one of the following:\n a count of private IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.

", - "smithy.api#xmlName": "privateIpAddresses" + "aws.protocols#ec2QueryName": "Message", + "smithy.api#documentation": "

The description for the error code.

", + "smithy.api#xmlName": "message" } - }, - "SecondaryPrivateIpAddressCount": { - "target": "com.amazonaws.ec2#Integer", + } + }, + "traits": { + "smithy.api#documentation": "

Describes an EC2 Fleet error.

" + } + }, + "com.amazonaws.ec2#DeleteFleetErrorCode": { + "type": "enum", + "members": { + "FLEET_ID_DOES_NOT_EXIST": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SecondaryPrivateIpAddressCount", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of secondary private IPv4 addresses to assign to a network interface. When\n you specify a number of secondary IPv4 addresses, Amazon EC2 selects these IP addresses\n within the subnet's IPv4 CIDR range. You can't specify this option and specify more than\n one private IP address using privateIpAddresses.

\n

You can't specify a count of private IPv4 addresses if you've specified one of the following:\n specific private IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.

", - "smithy.api#xmlName": "secondaryPrivateIpAddressCount" + "smithy.api#enumValue": "fleetIdDoesNotExist" } }, - "Ipv4Prefixes": { - "target": "com.amazonaws.ec2#Ipv4PrefixList", + "FLEET_ID_MALFORMED": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The IPv4 prefixes assigned to the network interface.

\n

You can't specify IPv4 prefixes if you've specified one of the following:\n a count of IPv4 prefixes, specific private IPv4 addresses, or a count of private IPv4 addresses.

", - "smithy.api#xmlName": "Ipv4Prefix" + "smithy.api#enumValue": "fleetIdMalformed" } }, - "Ipv4PrefixCount": { - "target": "com.amazonaws.ec2#Integer", + "FLEET_NOT_IN_DELETABLE_STATE": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of IPv4 prefixes that Amazon Web Services automatically assigns to the network interface.

\n

You can't specify a count of IPv4 prefixes if you've specified one of the following:\n specific IPv4 prefixes, specific private IPv4 addresses, or a count of private IPv4\n addresses.

" + "smithy.api#enumValue": "fleetNotInDeletableState" } }, - "Ipv6Prefixes": { - "target": "com.amazonaws.ec2#Ipv6PrefixList", + "UNEXPECTED_ERROR": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The IPv6 prefixes assigned to the network interface.

\n

You can't specify IPv6 prefixes if you've specified one of the following:\n a count of IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.

", - "smithy.api#xmlName": "Ipv6Prefix" + "smithy.api#enumValue": "unexpectedError" } - }, - "Ipv6PrefixCount": { - "target": "com.amazonaws.ec2#Integer", + } + } + }, + "com.amazonaws.ec2#DeleteFleetErrorItem": { + "type": "structure", + "members": { + "Error": { + "target": "com.amazonaws.ec2#DeleteFleetError", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of IPv6 prefixes that Amazon Web Services automatically assigns to the network interface.

\n

You can't specify a count of IPv6 prefixes if you've specified one of the following:\n specific IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.

" + "aws.protocols#ec2QueryName": "Error", + "smithy.api#documentation": "

The error.

", + "smithy.api#xmlName": "error" } }, - "InterfaceType": { - "target": "com.amazonaws.ec2#NetworkInterfaceCreationType", + "FleetId": { + "target": "com.amazonaws.ec2#FleetId", "traits": { - "smithy.api#documentation": "

The type of network interface. The default is interface.

\n

The only supported values are efa and trunk.

" + "aws.protocols#ec2QueryName": "FleetId", + "smithy.api#documentation": "

The ID of the EC2 Fleet.

", + "smithy.api#xmlName": "fleetId" } - }, - "SubnetId": { - "target": "com.amazonaws.ec2#SubnetId", + } + }, + "traits": { + "smithy.api#documentation": "

Describes an EC2 Fleet that was not successfully deleted.

" + } + }, + "com.amazonaws.ec2#DeleteFleetErrorSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#DeleteFleetErrorItem", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#DeleteFleetSuccessItem": { + "type": "structure", + "members": { + "CurrentFleetState": { + "target": "com.amazonaws.ec2#FleetStateCode", "traits": { - "aws.protocols#ec2QueryName": "SubnetId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the subnet to associate with the network interface.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "subnetId" + "aws.protocols#ec2QueryName": "CurrentFleetState", + "smithy.api#documentation": "

The current state of the EC2 Fleet.

", + "smithy.api#xmlName": "currentFleetState" } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + "PreviousFleetState": { + "target": "com.amazonaws.ec2#FleetStateCode", "traits": { - "smithy.api#documentation": "

The tags to apply to the new network interface.

", - "smithy.api#xmlName": "TagSpecification" + "aws.protocols#ec2QueryName": "PreviousFleetState", + "smithy.api#documentation": "

The previous state of the EC2 Fleet.

", + "smithy.api#xmlName": "previousFleetState" } }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", + "FleetId": { + "target": "com.amazonaws.ec2#FleetId", "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

", - "smithy.api#idempotencyToken": {} + "aws.protocols#ec2QueryName": "FleetId", + "smithy.api#documentation": "

The ID of the EC2 Fleet.

", + "smithy.api#xmlName": "fleetId" } } + }, + "traits": { + "smithy.api#documentation": "

Describes an EC2 Fleet that was successfully deleted.

" } }, - "com.amazonaws.ec2#CreateNetworkInterfaceResult": { - "type": "structure", - "members": { - "NetworkInterface": { - "target": "com.amazonaws.ec2#NetworkInterface", - "traits": { - "aws.protocols#ec2QueryName": "NetworkInterface", - "smithy.api#documentation": "

Information about the network interface.

", - "smithy.api#xmlName": "networkInterface" - } - }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "ClientToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "clientToken" - } + "com.amazonaws.ec2#DeleteFleetSuccessSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#DeleteFleetSuccessItem", + "traits": { + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#CreatePlacementGroup": { + "com.amazonaws.ec2#DeleteFleets": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreatePlacementGroupRequest" + "target": "com.amazonaws.ec2#DeleteFleetsRequest" }, "output": { - "target": "com.amazonaws.ec2#CreatePlacementGroupResult" + "target": "com.amazonaws.ec2#DeleteFleetsResult" }, "traits": { - "smithy.api#documentation": "

Creates a placement group in which to launch instances. The strategy of the placement\n group determines how the instances are organized within the group.

\n

A cluster placement group is a logical grouping of instances within a\n single Availability Zone that benefit from low network latency, high network throughput.\n A spread placement group places instances on distinct hardware. A\n partition placement group places groups of instances in different\n partitions, where instances in one partition do not share the same hardware with\n instances in another partition.

\n

For more information, see Placement groups in the\n Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Deletes the specified EC2 Fleet.

\n

After you delete an EC2 Fleet, it launches no new instances.

\n

You must specify whether a deleted EC2 Fleet should also terminate its instances. If you\n choose to terminate the instances, the EC2 Fleet enters the deleted_terminating\n state. Otherwise, the EC2 Fleet enters the deleted_running state, and the instances\n continue to run until they are interrupted or you terminate them manually.

\n

For instant fleets, EC2 Fleet must terminate the instances when the fleet is\n deleted. A deleted instant fleet with running instances is not\n supported.

\n

\n Restrictions\n

\n
    \n
  • \n

    You can delete up to 25 instant fleets in a single request. If you exceed this\n number, no instant fleets are deleted and an error is returned. There is no\n restriction on the number of fleets of type maintain or request that can be deleted\n in a single request.

    \n
  • \n
  • \n

    Up to 1000 instances can be terminated in a single request to delete\n instant fleets.

    \n
  • \n
\n

For more information, see Delete an EC2\n Fleet in the Amazon EC2 User Guide.

" } }, - "com.amazonaws.ec2#CreatePlacementGroupRequest": { + "com.amazonaws.ec2#DeleteFleetsRequest": { "type": "structure", "members": { "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "GroupName": { - "target": "com.amazonaws.ec2#String", + "FleetIds": { + "target": "com.amazonaws.ec2#FleetIdSet", "traits": { - "aws.protocols#ec2QueryName": "GroupName", - "smithy.api#documentation": "

A name for the placement group. Must be unique within the scope of your account for\n the Region.

\n

Constraints: Up to 255 ASCII characters

", - "smithy.api#xmlName": "groupName" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The IDs of the EC2 Fleets.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "FleetId" } }, - "Strategy": { - "target": "com.amazonaws.ec2#PlacementStrategy", + "TerminateInstances": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Strategy", - "smithy.api#documentation": "

The placement strategy.

", - "smithy.api#xmlName": "strategy" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to terminate the instances when the EC2 Fleet is deleted. The default is to\n terminate the instances.

\n

To let the instances continue to run after the EC2 Fleet is deleted, specify\n NoTerminateInstances. Supported only for fleets of type\n maintain and request.

\n

For instant fleets, you cannot specify NoTerminateInstances. A\n deleted instant fleet with running instances is not supported.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DeleteFleetsResult": { + "type": "structure", + "members": { + "SuccessfulFleetDeletions": { + "target": "com.amazonaws.ec2#DeleteFleetSuccessSet", + "traits": { + "aws.protocols#ec2QueryName": "SuccessfulFleetDeletionSet", + "smithy.api#documentation": "

Information about the EC2 Fleets that are successfully deleted.

", + "smithy.api#xmlName": "successfulFleetDeletionSet" } }, - "PartitionCount": { - "target": "com.amazonaws.ec2#Integer", + "UnsuccessfulFleetDeletions": { + "target": "com.amazonaws.ec2#DeleteFleetErrorSet", + "traits": { + "aws.protocols#ec2QueryName": "UnsuccessfulFleetDeletionSet", + "smithy.api#documentation": "

Information about the EC2 Fleets that are not successfully deleted.

", + "smithy.api#xmlName": "unsuccessfulFleetDeletionSet" + } + } + } + }, + "com.amazonaws.ec2#DeleteFlowLogs": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteFlowLogsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeleteFlowLogsResult" + }, + "traits": { + "smithy.api#documentation": "

Deletes one or more flow logs.

" + } + }, + "com.amazonaws.ec2#DeleteFlowLogsRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of partitions. Valid only when Strategy is\n set to partition.

" - } - }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", - "traits": { - "smithy.api#documentation": "

The tags to apply to the new placement group.

", - "smithy.api#xmlName": "TagSpecification" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "SpreadLevel": { - "target": "com.amazonaws.ec2#SpreadLevel", + "FlowLogIds": { + "target": "com.amazonaws.ec2#FlowLogIdList", "traits": { - "smithy.api#documentation": "

Determines how placement groups spread instances.

\n
    \n
  • \n

    Host – You can use host only with Outpost placement\n groups.

    \n
  • \n
  • \n

    Rack – No usage restrictions.

    \n
  • \n
" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

One or more flow log IDs.

\n

Constraint: Maximum of 1000 flow log IDs.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "FlowLogId" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreatePlacementGroupResult": { + "com.amazonaws.ec2#DeleteFlowLogsResult": { "type": "structure", "members": { - "PlacementGroup": { - "target": "com.amazonaws.ec2#PlacementGroup", + "Unsuccessful": { + "target": "com.amazonaws.ec2#UnsuccessfulItemSet", "traits": { - "aws.protocols#ec2QueryName": "PlacementGroup", - "smithy.api#documentation": "

Information about the placement group.

", - "smithy.api#xmlName": "placementGroup" + "aws.protocols#ec2QueryName": "Unsuccessful", + "smithy.api#documentation": "

Information about the flow logs that could not be deleted successfully.

", + "smithy.api#xmlName": "unsuccessful" } } } }, - "com.amazonaws.ec2#CreatePublicIpv4Pool": { + "com.amazonaws.ec2#DeleteFpgaImage": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreatePublicIpv4PoolRequest" + "target": "com.amazonaws.ec2#DeleteFpgaImageRequest" }, "output": { - "target": "com.amazonaws.ec2#CreatePublicIpv4PoolResult" + "target": "com.amazonaws.ec2#DeleteFpgaImageResult" }, "traits": { - "smithy.api#documentation": "

Creates a public IPv4 address pool. A public IPv4 pool is an EC2 IP address pool required for the public IPv4 CIDRs that you own and bring to Amazon Web Services to manage with IPAM. IPv6 addresses you bring to Amazon Web Services, however, use IPAM pools only. To monitor the status of pool creation, use DescribePublicIpv4Pools.

" + "smithy.api#documentation": "

Deletes the specified Amazon FPGA Image (AFI).

" } }, - "com.amazonaws.ec2#CreatePublicIpv4PoolRequest": { + "com.amazonaws.ec2#DeleteFpgaImageRequest": { "type": "structure", "members": { "DryRun": { @@ -16621,67 +20846,52 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + "FpgaImageId": { + "target": "com.amazonaws.ec2#FpgaImageId", "traits": { - "smithy.api#documentation": "

The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

", - "smithy.api#xmlName": "TagSpecification" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the AFI.

", + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreatePublicIpv4PoolResult": { + "com.amazonaws.ec2#DeleteFpgaImageResult": { "type": "structure", "members": { - "PoolId": { - "target": "com.amazonaws.ec2#Ipv4PoolEc2Id", + "Return": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "PoolId", - "smithy.api#documentation": "

The ID of the public IPv4 pool.

", - "smithy.api#xmlName": "poolId" + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Is true if the request succeeds, and an error otherwise.

", + "smithy.api#xmlName": "return" } } } }, - "com.amazonaws.ec2#CreateReplaceRootVolumeTask": { + "com.amazonaws.ec2#DeleteInstanceEventWindow": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateReplaceRootVolumeTaskRequest" + "target": "com.amazonaws.ec2#DeleteInstanceEventWindowRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateReplaceRootVolumeTaskResult" + "target": "com.amazonaws.ec2#DeleteInstanceEventWindowResult" }, "traits": { - "smithy.api#documentation": "

Replaces the EBS-backed root volume for a running instance with a new \n volume that is restored to the original root volume's launch state, that is restored to a \n specific snapshot taken from the original root volume, or that is restored from an AMI \n that has the same key characteristics as that of the instance.

\n \n

For more information, see Replace a root volume in the Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Deletes the specified event window.

\n

For more information, see Define event windows for scheduled\n events in the Amazon EC2 User Guide.

" } }, - "com.amazonaws.ec2#CreateReplaceRootVolumeTaskRequest": { + "com.amazonaws.ec2#DeleteInstanceEventWindowRequest": { "type": "structure", "members": { - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the instance for which to replace the root volume.

", - "smithy.api#required": {} - } - }, - "SnapshotId": { - "target": "com.amazonaws.ec2#SnapshotId", - "traits": { - "smithy.api#documentation": "

The ID of the snapshot from which to restore the replacement root volume. The \n specified snapshot must be a snapshot that you previously created from the original \n root volume.

\n

If you want to restore the replacement root volume to the initial launch state, \n or if you want to restore the replacement root volume from an AMI, omit this \n parameter.

" - } - }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. \n If you do not specify a client token, a randomly generated token is used for the request \n to ensure idempotency. For more information, see Ensuring idempotency.

", - "smithy.api#idempotencyToken": {} - } - }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -16690,780 +20900,673 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", - "traits": { - "smithy.api#documentation": "

The tags to apply to the root volume replacement task.

", - "smithy.api#xmlName": "TagSpecification" - } - }, - "ImageId": { - "target": "com.amazonaws.ec2#ImageId", + "ForceDelete": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The ID of the AMI to use to restore the root volume. The specified AMI must have the \n same product code, billing information, architecture type, and virtualization type as \n that of the instance.

\n

If you want to restore the replacement volume from a specific snapshot, or if you want \n to restore it to its launch state, omit this parameter.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Specify true to force delete the event window. Use the force delete parameter\n if the event window is currently associated with targets.

" } }, - "DeleteReplacedRootVolume": { - "target": "com.amazonaws.ec2#Boolean", + "InstanceEventWindowId": { + "target": "com.amazonaws.ec2#InstanceEventWindowId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to automatically delete the original root volume after the root volume \n replacement task completes. To delete the original root volume, specify true. \n If you choose to keep the original root volume after the replacement task completes, you must \n manually delete it when you no longer need it.

" + "smithy.api#documentation": "

The ID of the event window.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "InstanceEventWindowId" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateReplaceRootVolumeTaskResult": { + "com.amazonaws.ec2#DeleteInstanceEventWindowResult": { "type": "structure", "members": { - "ReplaceRootVolumeTask": { - "target": "com.amazonaws.ec2#ReplaceRootVolumeTask", + "InstanceEventWindowState": { + "target": "com.amazonaws.ec2#InstanceEventWindowStateChange", "traits": { - "aws.protocols#ec2QueryName": "ReplaceRootVolumeTask", - "smithy.api#documentation": "

Information about the root volume replacement task.

", - "smithy.api#xmlName": "replaceRootVolumeTask" + "aws.protocols#ec2QueryName": "InstanceEventWindowState", + "smithy.api#documentation": "

The state of the event window.

", + "smithy.api#xmlName": "instanceEventWindowState" } } } }, - "com.amazonaws.ec2#CreateReservedInstancesListing": { + "com.amazonaws.ec2#DeleteInternetGateway": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateReservedInstancesListingRequest" + "target": "com.amazonaws.ec2#DeleteInternetGatewayRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateReservedInstancesListingResult" + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in the Reserved Instance\n\t\t\tMarketplace. You can submit one Standard Reserved Instance listing at a time. To get a list of your\n\t\t\tStandard Reserved Instances, you can use the DescribeReservedInstances operation.

\n \n

Only Standard Reserved Instances can be sold in the Reserved Instance Marketplace. \n Convertible Reserved Instances cannot be sold.

\n
\n\t\t

The Reserved Instance Marketplace matches sellers who want to resell Standard Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances.

\n\t\t

To sell your Standard Reserved Instances, you must first register as a seller in the Reserved Instance\n Marketplace. After completing the registration process, you can create a Reserved Instance\n Marketplace listing of some or all of your Standard Reserved Instances, and specify the upfront price\n to receive for them. Your Standard Reserved Instance listings then become available for purchase. To\n view the details of your Standard Reserved Instance listing, you can use the\n DescribeReservedInstancesListings operation.

\n

For more information, see Reserved Instance Marketplace in the\n\t\t\t\tAmazon EC2 User Guide.

" + "smithy.api#documentation": "

Deletes the specified internet gateway. You must detach the internet gateway from the\n\t\t\tVPC before you can delete it.

" } }, - "com.amazonaws.ec2#CreateReservedInstancesListingRequest": { + "com.amazonaws.ec2#DeleteInternetGatewayRequest": { "type": "structure", "members": { - "ClientToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "ClientToken", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

Unique, case-sensitive identifier you provide to ensure idempotency of your\n\t\t\t\tlistings. This helps avoid duplicate listings. For more information, see \n\t\t\t\tEnsuring Idempotency.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "clientToken" - } - }, - "InstanceCount": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "aws.protocols#ec2QueryName": "InstanceCount", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of instances that are a part of a Reserved Instance account to be listed in the Reserved Instance Marketplace. This number should be less than or equal to the instance count associated with the Reserved Instance ID specified in this call.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "instanceCount" - } - }, - "PriceSchedules": { - "target": "com.amazonaws.ec2#PriceScheduleSpecificationList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "PriceSchedules", + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

A list specifying the price of the Standard Reserved Instance for each month remaining in the Reserved Instance term.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "priceSchedules" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "ReservedInstancesId": { - "target": "com.amazonaws.ec2#ReservationId", + "InternetGatewayId": { + "target": "com.amazonaws.ec2#InternetGatewayId", "traits": { - "aws.protocols#ec2QueryName": "ReservedInstancesId", + "aws.protocols#ec2QueryName": "InternetGatewayId", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the active Standard Reserved Instance.

", + "smithy.api#documentation": "

The ID of the internet gateway.

", "smithy.api#required": {}, - "smithy.api#xmlName": "reservedInstancesId" + "smithy.api#xmlName": "internetGatewayId" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for CreateReservedInstancesListing.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateReservedInstancesListingResult": { - "type": "structure", - "members": { - "ReservedInstancesListings": { - "target": "com.amazonaws.ec2#ReservedInstancesListingList", - "traits": { - "aws.protocols#ec2QueryName": "ReservedInstancesListingsSet", - "smithy.api#documentation": "

Information about the Standard Reserved Instance listing.

", - "smithy.api#xmlName": "reservedInstancesListingsSet" - } - } + "com.amazonaws.ec2#DeleteIpam": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteIpamRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeleteIpamResult" }, "traits": { - "smithy.api#documentation": "

Contains the output of CreateReservedInstancesListing.

" + "smithy.api#documentation": "

Delete an IPAM. Deleting an IPAM removes all monitored data associated with the IPAM including the historical data for CIDRs.

\n

For more information, see Delete an IPAM in the Amazon VPC IPAM User Guide.\n

" } }, - "com.amazonaws.ec2#CreateRestoreImageTask": { + "com.amazonaws.ec2#DeleteIpamPool": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateRestoreImageTaskRequest" + "target": "com.amazonaws.ec2#DeleteIpamPoolRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateRestoreImageTaskResult" + "target": "com.amazonaws.ec2#DeleteIpamPoolResult" }, "traits": { - "smithy.api#documentation": "

Starts a task that restores an AMI from an Amazon S3 object that was previously created by using\n CreateStoreImageTask.

\n

To use this API, you must have the required permissions. For more information, see Permissions for storing and restoring AMIs using Amazon S3 in the\n Amazon Elastic Compute Cloud User Guide.

\n

For more information, see Store and restore an AMI using\n \tAmazon S3 in the Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Delete an IPAM pool.

\n \n

You cannot delete an IPAM pool if there are allocations in it or CIDRs provisioned to it. To release \n allocations, see ReleaseIpamPoolAllocation. To deprovision pool \n CIDRs, see DeprovisionIpamPoolCidr.

\n
\n

For more information, see Delete a pool in the Amazon VPC IPAM User Guide.\n

" } }, - "com.amazonaws.ec2#CreateRestoreImageTaskRequest": { + "com.amazonaws.ec2#DeleteIpamPoolRequest": { "type": "structure", "members": { - "Bucket": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The name of the Amazon S3 bucket that contains the stored AMI object.

", - "smithy.api#required": {} + "smithy.api#default": false, + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "ObjectKey": { - "target": "com.amazonaws.ec2#String", + "IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The name of the stored AMI object in the bucket.

", + "smithy.api#documentation": "

The ID of the pool to delete.

", "smithy.api#required": {} } - }, - "Name": { - "target": "com.amazonaws.ec2#String", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DeleteIpamPoolResult": { + "type": "structure", + "members": { + "IpamPool": { + "target": "com.amazonaws.ec2#IpamPool", "traits": { - "smithy.api#documentation": "

The name for the restored AMI. The name must be unique for AMIs in the Region for this\n account. If you do not provide a name, the new AMI gets the same name as the original\n AMI.

" + "aws.protocols#ec2QueryName": "IpamPool", + "smithy.api#documentation": "

Information about the results of the deletion.

", + "smithy.api#xmlName": "ipamPool" + } + } + } + }, + "com.amazonaws.ec2#DeleteIpamRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + "IpamId": { + "target": "com.amazonaws.ec2#IpamId", "traits": { - "smithy.api#documentation": "

The tags to apply to the AMI and snapshots on restoration. You can tag the AMI, the\n snapshots, or both.

\n
    \n
  • \n

    To tag the AMI, the value for ResourceType must be image.

    \n
  • \n
  • \n

    To\n tag the snapshots, the value for ResourceType must be snapshot. The\n same tag is applied to all of the snapshots that are created.

    \n
  • \n
", - "smithy.api#xmlName": "TagSpecification" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the IPAM to delete.

", + "smithy.api#required": {} } }, - "DryRun": { + "Cascade": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

" - } - } - } - }, - "com.amazonaws.ec2#CreateRestoreImageTaskResult": { - "type": "structure", - "members": { - "ImageId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "ImageId", - "smithy.api#documentation": "

The AMI ID.

", - "smithy.api#xmlName": "imageId" + "smithy.api#documentation": "

Enables you to quickly delete an IPAM, private scopes, pools in private scopes, and\n any allocations in the pools in private scopes. You cannot delete the IPAM with this option if there is a pool in your public scope. If you use this option, IPAM does the following:

\n
    \n
  • \n

    Deallocates any CIDRs allocated to VPC resources (such as VPCs) in pools in private scopes.

    \n \n

    No VPC resources are deleted as a result of enabling this option. The CIDR associated with the resource will no longer be allocated from an IPAM pool, but the CIDR itself will remain unchanged.

    \n
    \n
  • \n
  • \n

    Deprovisions all IPv4 CIDRs provisioned to IPAM pools in private scopes.

    \n
  • \n
  • \n

    Deletes all IPAM pools in private scopes.

    \n
  • \n
  • \n

    Deletes all non-default private scopes in the IPAM.

    \n
  • \n
  • \n

    Deletes the default public and private scopes and the IPAM.

    \n
  • \n
" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateRoute": { + "com.amazonaws.ec2#DeleteIpamResourceDiscovery": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateRouteRequest" + "target": "com.amazonaws.ec2#DeleteIpamResourceDiscoveryRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateRouteResult" + "target": "com.amazonaws.ec2#DeleteIpamResourceDiscoveryResult" }, "traits": { - "smithy.api#documentation": "

Creates a route in a route table within a VPC.

\n

You must specify either a destination CIDR block or a prefix list ID. You must also specify \n exactly one of the resources from the parameter list.

\n

When determining how to route traffic, we use the route with the most specific match.\n For example, traffic is destined for the IPv4 address 192.0.2.3, and the\n route table includes the following two IPv4 routes:

\n\t\t\t
    \n
  • \n\t\t\t\t\t

    \n 192.0.2.0/24 (goes to some target A)

    \n\t\t\t\t
  • \n
  • \n\t\t\t\t\t

    \n 192.0.2.0/28 (goes to some target B)

    \n\t\t\t\t
  • \n
\n\t\t

Both routes apply to the traffic destined for 192.0.2.3. However, the second route\n\t\t\t\tin the list covers a smaller number of IP addresses and is therefore more specific,\n\t\t\t\tso we use that route to determine where to target the traffic.

\n

For more information about route tables, see Route tables in the\n Amazon Virtual Private Cloud User Guide.

" + "smithy.api#documentation": "

Deletes an IPAM resource discovery. A resource discovery is an IPAM component that enables IPAM Service to manage and monitor resources that belong to the owning account.

" } }, - "com.amazonaws.ec2#CreateRouteRequest": { + "com.amazonaws.ec2#DeleteIpamResourceDiscoveryRequest": { "type": "structure", "members": { - "DestinationCidrBlock": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "DestinationCidrBlock", - "smithy.api#documentation": "

The IPv4 CIDR address block used for the destination match. Routing decisions are based on the most specific match. We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

", - "smithy.api#xmlName": "destinationCidrBlock" - } - }, - "DestinationIpv6CidrBlock": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "DestinationIpv6CidrBlock", - "smithy.api#documentation": "

The IPv6 CIDR block used for the destination match. Routing decisions are based on the most specific match.

", - "smithy.api#xmlName": "destinationIpv6CidrBlock" - } - }, - "DestinationPrefixListId": { - "target": "com.amazonaws.ec2#PrefixListResourceId", - "traits": { - "smithy.api#documentation": "

The ID of a prefix list used for the destination match.

" - } - }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" - } - }, - "VpcEndpointId": { - "target": "com.amazonaws.ec2#VpcEndpointId", - "traits": { - "smithy.api#documentation": "

The ID of a VPC endpoint. Supported for Gateway Load Balancer endpoints only.

" - } - }, - "EgressOnlyInternetGatewayId": { - "target": "com.amazonaws.ec2#EgressOnlyInternetGatewayId", - "traits": { - "aws.protocols#ec2QueryName": "EgressOnlyInternetGatewayId", - "smithy.api#documentation": "

[IPv6 traffic only] The ID of an egress-only internet gateway.

", - "smithy.api#xmlName": "egressOnlyInternetGatewayId" - } - }, - "GatewayId": { - "target": "com.amazonaws.ec2#RouteGatewayId", - "traits": { - "aws.protocols#ec2QueryName": "GatewayId", - "smithy.api#documentation": "

The ID of an internet gateway or virtual private gateway attached to your\n\t\t\tVPC.

", - "smithy.api#xmlName": "gatewayId" - } - }, - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", - "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#documentation": "

The ID of a NAT instance in your VPC. The operation fails if you specify an instance ID unless exactly one network interface is attached.

", - "smithy.api#xmlName": "instanceId" - } - }, - "NatGatewayId": { - "target": "com.amazonaws.ec2#NatGatewayId", - "traits": { - "aws.protocols#ec2QueryName": "NatGatewayId", - "smithy.api#documentation": "

[IPv4 traffic only] The ID of a NAT gateway.

", - "smithy.api#xmlName": "natGatewayId" - } - }, - "TransitGatewayId": { - "target": "com.amazonaws.ec2#TransitGatewayId", - "traits": { - "smithy.api#documentation": "

The ID of a transit gateway.

" - } - }, - "LocalGatewayId": { - "target": "com.amazonaws.ec2#LocalGatewayId", - "traits": { - "smithy.api#documentation": "

The ID of the local gateway.

" - } - }, - "CarrierGatewayId": { - "target": "com.amazonaws.ec2#CarrierGatewayId", - "traits": { - "smithy.api#documentation": "

The ID of the carrier gateway.

\n

You can only use this option when the VPC contains a subnet which is associated with a Wavelength Zone.

" - } - }, - "NetworkInterfaceId": { - "target": "com.amazonaws.ec2#NetworkInterfaceId", - "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceId", - "smithy.api#documentation": "

The ID of a network interface.

", - "smithy.api#xmlName": "networkInterfaceId" + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "RouteTableId": { - "target": "com.amazonaws.ec2#RouteTableId", + "IpamResourceDiscoveryId": { + "target": "com.amazonaws.ec2#IpamResourceDiscoveryId", "traits": { - "aws.protocols#ec2QueryName": "RouteTableId", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the route table for the route.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "routeTableId" - } - }, - "VpcPeeringConnectionId": { - "target": "com.amazonaws.ec2#VpcPeeringConnectionId", - "traits": { - "aws.protocols#ec2QueryName": "VpcPeeringConnectionId", - "smithy.api#documentation": "

The ID of a VPC peering connection.

", - "smithy.api#xmlName": "vpcPeeringConnectionId" + "smithy.api#documentation": "

The IPAM resource discovery ID.

", + "smithy.api#required": {} } - }, - "CoreNetworkArn": { - "target": "com.amazonaws.ec2#CoreNetworkArn", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DeleteIpamResourceDiscoveryResult": { + "type": "structure", + "members": { + "IpamResourceDiscovery": { + "target": "com.amazonaws.ec2#IpamResourceDiscovery", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the core network.

" + "aws.protocols#ec2QueryName": "IpamResourceDiscovery", + "smithy.api#documentation": "

The IPAM resource discovery.

", + "smithy.api#xmlName": "ipamResourceDiscovery" } } } }, - "com.amazonaws.ec2#CreateRouteResult": { + "com.amazonaws.ec2#DeleteIpamResult": { "type": "structure", "members": { - "Return": { - "target": "com.amazonaws.ec2#Boolean", + "Ipam": { + "target": "com.amazonaws.ec2#Ipam", "traits": { - "aws.protocols#ec2QueryName": "Return", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "smithy.api#xmlName": "return" + "aws.protocols#ec2QueryName": "Ipam", + "smithy.api#documentation": "

Information about the results of the deletion.

", + "smithy.api#xmlName": "ipam" } } } }, - "com.amazonaws.ec2#CreateRouteTable": { + "com.amazonaws.ec2#DeleteIpamScope": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateRouteTableRequest" + "target": "com.amazonaws.ec2#DeleteIpamScopeRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateRouteTableResult" + "target": "com.amazonaws.ec2#DeleteIpamScopeResult" }, "traits": { - "smithy.api#documentation": "

Creates a route table for the specified VPC. After you create a route table, you can add routes and associate the table with a subnet.

\n

For more information, see Route tables in the\n\t\t\t\tAmazon Virtual Private Cloud User Guide.

" + "smithy.api#documentation": "

Delete the scope for an IPAM. You cannot delete the default scopes.

\n

For more information, see Delete a scope in the Amazon VPC IPAM User Guide.\n

" } }, - "com.amazonaws.ec2#CreateRouteTableRequest": { + "com.amazonaws.ec2#DeleteIpamScopeRequest": { "type": "structure", "members": { "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "VpcId": { - "target": "com.amazonaws.ec2#VpcId", + "IpamScopeId": { + "target": "com.amazonaws.ec2#IpamScopeId", "traits": { - "aws.protocols#ec2QueryName": "VpcId", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the VPC.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "vpcId" + "smithy.api#documentation": "

The ID of the scope to delete.

", + "smithy.api#required": {} } - }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DeleteIpamScopeResult": { + "type": "structure", + "members": { + "IpamScope": { + "target": "com.amazonaws.ec2#IpamScope", "traits": { - "smithy.api#documentation": "

The tags to assign to the route table.

", - "smithy.api#xmlName": "TagSpecification" + "aws.protocols#ec2QueryName": "IpamScope", + "smithy.api#documentation": "

Information about the results of the deletion.

", + "smithy.api#xmlName": "ipamScope" } } } }, - "com.amazonaws.ec2#CreateRouteTableResult": { + "com.amazonaws.ec2#DeleteKeyPair": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteKeyPairRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "

Deletes the specified key pair, by removing the public key from Amazon EC2.

" + } + }, + "com.amazonaws.ec2#DeleteKeyPairRequest": { "type": "structure", "members": { - "RouteTable": { - "target": "com.amazonaws.ec2#RouteTable", + "KeyName": { + "target": "com.amazonaws.ec2#KeyPairName", "traits": { - "aws.protocols#ec2QueryName": "RouteTable", - "smithy.api#documentation": "

Information about the route table.

", - "smithy.api#xmlName": "routeTable" + "smithy.api#documentation": "

The name of the key pair.

" + } + }, + "KeyPairId": { + "target": "com.amazonaws.ec2#KeyPairId", + "traits": { + "smithy.api#documentation": "

The ID of the key pair.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateSecurityGroup": { + "com.amazonaws.ec2#DeleteLaunchTemplate": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateSecurityGroupRequest" + "target": "com.amazonaws.ec2#DeleteLaunchTemplateRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateSecurityGroupResult" + "target": "com.amazonaws.ec2#DeleteLaunchTemplateResult" }, "traits": { - "smithy.api#documentation": "

Creates a security group.

\n

A security group acts as a virtual firewall for your instance to control inbound and outbound traffic.\n For more information, see\n\t\t\t\tAmazon EC2 security groups in \n\t\t\t\tthe Amazon Elastic Compute Cloud User Guide and \n\t\t\t\tSecurity groups for your VPC in the\n\t\t\t\tAmazon Virtual Private Cloud User Guide.

\n

When you create a security group, you specify a friendly name of your choice. You can have a security group for use in EC2-Classic with the same name as a security group for use in a VPC. However, you can't have two security groups for use in EC2-Classic with the same name or two security groups for use in a VPC with the same name.

\n

You have a default security group for use in EC2-Classic and a default security group for use in your VPC. If you don't specify a security group when you launch an instance, the instance is launched into the appropriate default security group. A default security group includes a default rule that grants instances unrestricted network access to each other.

\n

You can add or remove rules from your security groups using \n\t\t\t\t\tAuthorizeSecurityGroupIngress,\n\t\t\t\t\tAuthorizeSecurityGroupEgress,\n\t\t\t\t\tRevokeSecurityGroupIngress, and\n\t\t\t\t\tRevokeSecurityGroupEgress.

\n

For more information about VPC security group limits, see Amazon VPC Limits.

\n \n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" + "smithy.api#documentation": "

Deletes a launch template. Deleting a launch template deletes all of its\n versions.

" } }, - "com.amazonaws.ec2#CreateSecurityGroupRequest": { + "com.amazonaws.ec2#DeleteLaunchTemplateRequest": { "type": "structure", "members": { - "Description": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

A description for the security group. This is informational only.

\n\t\t

Constraints: Up to 255 characters in length

\n\t\t

Constraints for EC2-Classic: ASCII characters

\n\t\t

Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*

", - "smithy.api#required": {}, - "smithy.api#xmlName": "GroupDescription" - } - }, - "GroupName": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The name of the security group.

\n

Constraints: Up to 255 characters in length. Cannot start with\n sg-.

\n

Constraints for EC2-Classic: ASCII characters

\n

Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*

", - "smithy.api#required": {} - } - }, - "VpcId": { - "target": "com.amazonaws.ec2#VpcId", - "traits": { - "smithy.api#documentation": "

[EC2-VPC] The ID of the VPC. Required for EC2-VPC.

" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + "LaunchTemplateId": { + "target": "com.amazonaws.ec2#LaunchTemplateId", "traits": { - "smithy.api#documentation": "

The tags to assign to the security group.

", - "smithy.api#xmlName": "TagSpecification" + "smithy.api#documentation": "

The ID of the launch template.

\n

You must specify either the LaunchTemplateId or the\n LaunchTemplateName, but not both.

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "LaunchTemplateName": { + "target": "com.amazonaws.ec2#LaunchTemplateName", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

The name of the launch template.

\n

You must specify either the LaunchTemplateName or the\n LaunchTemplateId, but not both.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateSecurityGroupResult": { + "com.amazonaws.ec2#DeleteLaunchTemplateResult": { "type": "structure", "members": { - "GroupId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "GroupId", - "smithy.api#documentation": "

The ID of the security group.

", - "smithy.api#xmlName": "groupId" - } - }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "LaunchTemplate": { + "target": "com.amazonaws.ec2#LaunchTemplate", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags assigned to the security group.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "LaunchTemplate", + "smithy.api#documentation": "

Information about the launch template.

", + "smithy.api#xmlName": "launchTemplate" } } } }, - "com.amazonaws.ec2#CreateSnapshot": { + "com.amazonaws.ec2#DeleteLaunchTemplateVersions": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateSnapshotRequest" + "target": "com.amazonaws.ec2#DeleteLaunchTemplateVersionsRequest" }, "output": { - "target": "com.amazonaws.ec2#Snapshot" + "target": "com.amazonaws.ec2#DeleteLaunchTemplateVersionsResult" }, "traits": { - "smithy.api#documentation": "

Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use snapshots for\n \tbackups, to make copies of EBS volumes, and to save data before shutting down an\n \tinstance.

\n \n \n

You can create snapshots of volumes in a Region and volumes on an Outpost. If you \n \tcreate a snapshot of a volume in a Region, the snapshot must be stored in the same \n \tRegion as the volume. If you create a snapshot of a volume on an Outpost, the snapshot \n \tcan be stored on the same Outpost as the volume, or in the Region for that Outpost.

\n \t\n

When a snapshot is created, any Amazon Web Services Marketplace product codes that are associated with the\n source volume are propagated to the snapshot.

\n

You can take a snapshot of an attached volume that is in use. However, snapshots only\n capture data that has been written to your Amazon EBS volume at the time the snapshot command is\n issued; this might exclude any data that has been cached by any applications or the operating\n system. If you can pause any file systems on the volume long enough to take a snapshot, your\n snapshot should be complete. However, if you cannot pause all file writes to the volume, you\n should unmount the volume from within the instance, issue the snapshot command, and then\n remount the volume to ensure a consistent and complete snapshot. You may remount and use your\n volume while the snapshot status is pending.

\n

To create a snapshot for Amazon EBS volumes that serve as root devices, you should stop the\n instance before taking the snapshot.

\n

Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that\n are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes\n and any associated snapshots always remain protected.

\n

You can tag your snapshots during creation. For more information, see Tag your Amazon EC2\n resources in the Amazon Elastic Compute Cloud User Guide.

\n

For more information, see Amazon Elastic Block Store and Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Deletes one or more versions of a launch template. You cannot delete the default\n version of a launch template; you must first assign a different version as the default.\n If the default version is the only version for the launch template, you must delete the\n entire launch template using DeleteLaunchTemplate.

" } }, - "com.amazonaws.ec2#CreateSnapshotRequest": { + "com.amazonaws.ec2#DeleteLaunchTemplateVersionsRequest": { "type": "structure", "members": { - "Description": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

A description for the snapshot.

" - } - }, - "OutpostArn": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Outpost on which to create a local \n \tsnapshot.

\n \t
    \n
  • \n \t\t\t

    To create a snapshot of a volume in a Region, omit this parameter. The snapshot \n \t\t\t\tis created in the same Region as the volume.

    \n \t\t
  • \n
  • \n \t\t\t

    To create a snapshot of a volume on an Outpost and store the snapshot in the \n \t\t\t\tRegion, omit this parameter. The snapshot is created in the Region for the \n \t\t\t\tOutpost.

    \n \t\t
  • \n
  • \n \t\t\t

    To create a snapshot of a volume on an Outpost and store the snapshot on an \n \t\t\tOutpost, specify the ARN of the destination Outpost. The snapshot must be created on \n \t\t\tthe same Outpost as the volume.

    \n \t\t
  • \n
\n \t

For more information, see Create local snapshots from volumes on an Outpost in the Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" } }, - "VolumeId": { - "target": "com.amazonaws.ec2#VolumeId", + "LaunchTemplateId": { + "target": "com.amazonaws.ec2#LaunchTemplateId", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Amazon EBS volume.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The ID of the launch template.

\n

You must specify either the LaunchTemplateId or the\n LaunchTemplateName, but not both.

" } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + "LaunchTemplateName": { + "target": "com.amazonaws.ec2#LaunchTemplateName", "traits": { - "smithy.api#documentation": "

The tags to apply to the snapshot during creation.

", - "smithy.api#xmlName": "TagSpecification" + "smithy.api#documentation": "

The name of the launch template.

\n

You must specify either the LaunchTemplateName or the\n LaunchTemplateId, but not both.

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Versions": { + "target": "com.amazonaws.ec2#VersionStringList", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

The version numbers of one or more launch template versions to delete.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "LaunchTemplateVersion" } } - } - }, - "com.amazonaws.ec2#CreateSnapshots": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#CreateSnapshotsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#CreateSnapshotsResult" }, "traits": { - "smithy.api#documentation": "

Creates crash-consistent snapshots of multiple EBS volumes and stores the data in S3.\n Volumes are chosen by specifying an instance. Any attached volumes will produce one snapshot\n each that is crash-consistent across the instance.

\n \n

You can include all of the volumes currently attached to the instance, or you can exclude \n the root volume or specific data (non-root) volumes from the multi-volume snapshot set.

\n \t\n

You can create multi-volume snapshots of instances in a Region and instances on an \n \tOutpost. If you create snapshots from an instance in a Region, the snapshots must be stored \n \tin the same Region as the instance. If you create snapshots from an instance on an Outpost, \n \tthe snapshots can be stored on the same Outpost as the instance, or in the Region for that \n \tOutpost.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateSnapshotsRequest": { + "com.amazonaws.ec2#DeleteLaunchTemplateVersionsResponseErrorItem": { "type": "structure", "members": { - "Description": { + "LaunchTemplateId": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

A description propagated to every snapshot specified by the instance.

" + "aws.protocols#ec2QueryName": "LaunchTemplateId", + "smithy.api#documentation": "

The ID of the launch template.

", + "smithy.api#xmlName": "launchTemplateId" } }, - "InstanceSpecification": { - "target": "com.amazonaws.ec2#InstanceSpecification", + "LaunchTemplateName": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The instance to specify which volumes should be included in the snapshots.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "LaunchTemplateName", + "smithy.api#documentation": "

The name of the launch template.

", + "smithy.api#xmlName": "launchTemplateName" } }, - "OutpostArn": { - "target": "com.amazonaws.ec2#String", + "VersionNumber": { + "target": "com.amazonaws.ec2#Long", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Outpost on which to create the local \n \t\tsnapshots.

\n \t
    \n
  • \n \t\t\t

    To create snapshots from an instance in a Region, omit this parameter. The \n \t\t\t\tsnapshots are created in the same Region as the instance.

    \n \t\t
  • \n
  • \n \t\t\t

    To create snapshots from an instance on an Outpost and store the snapshots \n \t\t\t\tin the Region, omit this parameter. The snapshots are created in the Region \n \t\t\t\tfor the Outpost.

    \n \t\t
  • \n
  • \n \t\t\t

    To create snapshots from an instance on an Outpost and store the snapshots \n \t\t\t\ton an Outpost, specify the ARN of the destination Outpost. The snapshots must \n \t\t\t\tbe created on the same Outpost as the instance.

    \n \t\t
  • \n
\n \t

For more information, see \n \t\tCreate multi-volume local snapshots from instances on an Outpost in the \n \t\tAmazon Elastic Compute Cloud User Guide.

" + "aws.protocols#ec2QueryName": "VersionNumber", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The version number of the launch template.

", + "smithy.api#xmlName": "versionNumber" } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + "ResponseError": { + "target": "com.amazonaws.ec2#ResponseError", "traits": { - "smithy.api#documentation": "

Tags to apply to every snapshot specified by the instance.

", - "smithy.api#xmlName": "TagSpecification" + "aws.protocols#ec2QueryName": "ResponseError", + "smithy.api#documentation": "

Information about the error.

", + "smithy.api#xmlName": "responseError" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a launch template version that could not be deleted.

" + } + }, + "com.amazonaws.ec2#DeleteLaunchTemplateVersionsResponseErrorSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#DeleteLaunchTemplateVersionsResponseErrorItem", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#DeleteLaunchTemplateVersionsResponseSuccessItem": { + "type": "structure", + "members": { + "LaunchTemplateId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "LaunchTemplateId", + "smithy.api#documentation": "

The ID of the launch template.

", + "smithy.api#xmlName": "launchTemplateId" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "LaunchTemplateName": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "LaunchTemplateName", + "smithy.api#documentation": "

The name of the launch template.

", + "smithy.api#xmlName": "launchTemplateName" } }, - "CopyTagsFromSource": { - "target": "com.amazonaws.ec2#CopyTagsFromSource", + "VersionNumber": { + "target": "com.amazonaws.ec2#Long", "traits": { - "smithy.api#documentation": "

Copies the tags from the specified volume to corresponding snapshot.

" + "aws.protocols#ec2QueryName": "VersionNumber", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The version number of the launch template.

", + "smithy.api#xmlName": "versionNumber" } } + }, + "traits": { + "smithy.api#documentation": "

Describes a launch template version that was successfully deleted.

" + } + }, + "com.amazonaws.ec2#DeleteLaunchTemplateVersionsResponseSuccessSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#DeleteLaunchTemplateVersionsResponseSuccessItem", + "traits": { + "smithy.api#xmlName": "item" + } } }, - "com.amazonaws.ec2#CreateSnapshotsResult": { + "com.amazonaws.ec2#DeleteLaunchTemplateVersionsResult": { "type": "structure", "members": { - "Snapshots": { - "target": "com.amazonaws.ec2#SnapshotSet", + "SuccessfullyDeletedLaunchTemplateVersions": { + "target": "com.amazonaws.ec2#DeleteLaunchTemplateVersionsResponseSuccessSet", "traits": { - "aws.protocols#ec2QueryName": "SnapshotSet", - "smithy.api#documentation": "

List of snapshots.

", - "smithy.api#xmlName": "snapshotSet" + "aws.protocols#ec2QueryName": "SuccessfullyDeletedLaunchTemplateVersionSet", + "smithy.api#documentation": "

Information about the launch template versions that were successfully deleted.

", + "smithy.api#xmlName": "successfullyDeletedLaunchTemplateVersionSet" + } + }, + "UnsuccessfullyDeletedLaunchTemplateVersions": { + "target": "com.amazonaws.ec2#DeleteLaunchTemplateVersionsResponseErrorSet", + "traits": { + "aws.protocols#ec2QueryName": "UnsuccessfullyDeletedLaunchTemplateVersionSet", + "smithy.api#documentation": "

Information about the launch template versions that could not be deleted.

", + "smithy.api#xmlName": "unsuccessfullyDeletedLaunchTemplateVersionSet" } } } }, - "com.amazonaws.ec2#CreateSpotDatafeedSubscription": { + "com.amazonaws.ec2#DeleteLocalGatewayRoute": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateSpotDatafeedSubscriptionRequest" + "target": "com.amazonaws.ec2#DeleteLocalGatewayRouteRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateSpotDatafeedSubscriptionResult" + "target": "com.amazonaws.ec2#DeleteLocalGatewayRouteResult" }, "traits": { - "smithy.api#documentation": "

Creates a data feed for Spot Instances, enabling you to view Spot Instance usage logs.\n You can create one data feed per Amazon Web Services account. For more information, see\n Spot Instance data feed \n in the Amazon EC2 User Guide for Linux Instances.

" + "smithy.api#documentation": "

Deletes the specified route from the specified local gateway route table.

" } }, - "com.amazonaws.ec2#CreateSpotDatafeedSubscriptionRequest": { + "com.amazonaws.ec2#DeleteLocalGatewayRouteRequest": { "type": "structure", "members": { - "Bucket": { + "DestinationCidrBlock": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Bucket", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The name of the Amazon S3 bucket in which to store the Spot Instance data feed. For\n more information about bucket names, see Rules for bucket\n naming in the Amazon S3 Developer Guide.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "bucket" + "smithy.api#documentation": "

The CIDR range for the route. This must match the CIDR for the route exactly.

", + "smithy.api#required": {} } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "LocalGatewayRouteTableId": { + "target": "com.amazonaws.ec2#LocalGatewayRoutetableId", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

The ID of the local gateway route table.

", + "smithy.api#required": {} } }, - "Prefix": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Prefix", - "smithy.api#documentation": "

The prefix for the data feed file names.

", - "smithy.api#xmlName": "prefix" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for CreateSpotDatafeedSubscription.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateSpotDatafeedSubscriptionResult": { + "com.amazonaws.ec2#DeleteLocalGatewayRouteResult": { "type": "structure", "members": { - "SpotDatafeedSubscription": { - "target": "com.amazonaws.ec2#SpotDatafeedSubscription", + "Route": { + "target": "com.amazonaws.ec2#LocalGatewayRoute", "traits": { - "aws.protocols#ec2QueryName": "SpotDatafeedSubscription", - "smithy.api#documentation": "

The Spot Instance data feed subscription.

", - "smithy.api#xmlName": "spotDatafeedSubscription" + "aws.protocols#ec2QueryName": "Route", + "smithy.api#documentation": "

Information about the route.

", + "smithy.api#xmlName": "route" } } - }, - "traits": { - "smithy.api#documentation": "

Contains the output of CreateSpotDatafeedSubscription.

" } }, - "com.amazonaws.ec2#CreateStoreImageTask": { + "com.amazonaws.ec2#DeleteLocalGatewayRouteTable": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateStoreImageTaskRequest" + "target": "com.amazonaws.ec2#DeleteLocalGatewayRouteTableRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateStoreImageTaskResult" + "target": "com.amazonaws.ec2#DeleteLocalGatewayRouteTableResult" }, "traits": { - "smithy.api#documentation": "

Stores an AMI as a single object in an Amazon S3 bucket.

\n

To use this API, you must have the required permissions. For more information, see Permissions for storing and restoring AMIs using Amazon S3 in the\n Amazon Elastic Compute Cloud User Guide.

\n

For more information, see Store and restore an AMI using\n \tAmazon S3 in the Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

\n Deletes a local gateway route table.\n

" } }, - "com.amazonaws.ec2#CreateStoreImageTaskRequest": { + "com.amazonaws.ec2#DeleteLocalGatewayRouteTableRequest": { "type": "structure", "members": { - "ImageId": { - "target": "com.amazonaws.ec2#ImageId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the AMI.

", - "smithy.api#required": {} - } - }, - "Bucket": { - "target": "com.amazonaws.ec2#String", + "LocalGatewayRouteTableId": { + "target": "com.amazonaws.ec2#LocalGatewayRoutetableId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The name of the Amazon S3 bucket in which the AMI object will be stored. The bucket must be in\n the Region in which the request is being made. The AMI object appears in the bucket only after\n the upload task has completed.

", + "smithy.api#documentation": "

\n The ID of the local gateway route table.\n

", "smithy.api#required": {} } }, - "S3ObjectTags": { - "target": "com.amazonaws.ec2#S3ObjectTagList", - "traits": { - "smithy.api#documentation": "

The tags to apply to the AMI object that will be stored in the Amazon S3 bucket.

", - "smithy.api#xmlName": "S3ObjectTag" - } - }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateStoreImageTaskResult": { + "com.amazonaws.ec2#DeleteLocalGatewayRouteTableResult": { "type": "structure", "members": { - "ObjectKey": { - "target": "com.amazonaws.ec2#String", + "LocalGatewayRouteTable": { + "target": "com.amazonaws.ec2#LocalGatewayRouteTable", "traits": { - "aws.protocols#ec2QueryName": "ObjectKey", - "smithy.api#documentation": "

The name of the stored AMI object in the S3 bucket.

", - "smithy.api#xmlName": "objectKey" + "aws.protocols#ec2QueryName": "LocalGatewayRouteTable", + "smithy.api#documentation": "

Information about the local gateway route table.

", + "smithy.api#xmlName": "localGatewayRouteTable" } } } }, - "com.amazonaws.ec2#CreateSubnet": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#CreateSubnetRequest" - }, - "output": { - "target": "com.amazonaws.ec2#CreateSubnetResult" - }, - "traits": { - "smithy.api#documentation": "

Creates a subnet in a specified VPC.

\n

You must specify an IPv4 CIDR block for the subnet. After you create a subnet, you\n can't change its CIDR block. The allowed block size is between a /16 netmask (65,536 IP\n addresses) and /28 netmask (16 IP addresses). The CIDR block must not overlap with the\n CIDR block of an existing subnet in the VPC.

\n

If you've associated an IPv6 CIDR block with your VPC, you can create a subnet with an\n IPv6 CIDR block that uses a /64 prefix length.

\n \n

Amazon Web Services reserves both the first four and the last IPv4 address in each subnet's CIDR\n block. They're not available for use.

\n
\n

If you add more than one subnet to a VPC, they're set up in a star topology with a\n logical router in the middle.

\n

When you stop an instance in a subnet, it retains its private IPv4 address. It's\n therefore possible to have a subnet with no running instances (they're all stopped), but\n no remaining IP addresses available.

\n

For more information about subnets, see Your VPC and subnets in the\n Amazon Virtual Private Cloud User Guide.

" - } - }, - "com.amazonaws.ec2#CreateSubnetCidrReservation": { + "com.amazonaws.ec2#DeleteLocalGatewayRouteTableVirtualInterfaceGroupAssociation": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateSubnetCidrReservationRequest" + "target": "com.amazonaws.ec2#DeleteLocalGatewayRouteTableVirtualInterfaceGroupAssociationRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateSubnetCidrReservationResult" + "target": "com.amazonaws.ec2#DeleteLocalGatewayRouteTableVirtualInterfaceGroupAssociationResult" }, "traits": { - "smithy.api#documentation": "

Creates a subnet CIDR reservation. For information about subnet CIDR reservations, see Subnet CIDR reservations in the Amazon Virtual Private Cloud User Guide.

" + "smithy.api#documentation": "

\n Deletes a local gateway route table virtual interface group association.\n

" } }, - "com.amazonaws.ec2#CreateSubnetCidrReservationRequest": { + "com.amazonaws.ec2#DeleteLocalGatewayRouteTableVirtualInterfaceGroupAssociationRequest": { "type": "structure", "members": { - "SubnetId": { - "target": "com.amazonaws.ec2#SubnetId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the subnet.

", - "smithy.api#required": {} - } - }, - "Cidr": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IPv4 or IPV6 CIDR range to reserve.

", - "smithy.api#required": {} - } - }, - "ReservationType": { - "target": "com.amazonaws.ec2#SubnetCidrReservationType", + "LocalGatewayRouteTableVirtualInterfaceGroupAssociationId": { + "target": "com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociationId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The type of reservation.

\n

The following are valid values:

\n
    \n
  • \n

    \n prefix: The Amazon EC2\n Prefix\n Delegation feature assigns the IP addresses to network interfaces that are\n associated with an instance. For information about Prefix\n Delegation,\n see Prefix Delegation\n for Amazon EC2 network interfaces in the\n Amazon Elastic Compute Cloud User Guide.

    \n
  • \n
  • \n

    \n explicit: You manually assign the IP addresses to resources that\n reside in your subnet.

    \n
  • \n
", + "smithy.api#documentation": "

\n The ID of the local gateway route table virtual interface group association.\n

", "smithy.api#required": {} } }, - "Description": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The\n description\n to assign to the subnet CIDR reservation.

" - } - }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -17471,183 +21574,138 @@ "smithy.api#default": false, "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", - "traits": { - "smithy.api#documentation": "

The tags to assign to the subnet CIDR reservation.

", - "smithy.api#xmlName": "TagSpecification" - } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateSubnetCidrReservationResult": { + "com.amazonaws.ec2#DeleteLocalGatewayRouteTableVirtualInterfaceGroupAssociationResult": { "type": "structure", "members": { - "SubnetCidrReservation": { - "target": "com.amazonaws.ec2#SubnetCidrReservation", + "LocalGatewayRouteTableVirtualInterfaceGroupAssociation": { + "target": "com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociation", "traits": { - "aws.protocols#ec2QueryName": "SubnetCidrReservation", - "smithy.api#documentation": "

Information about the created subnet CIDR reservation.

", - "smithy.api#xmlName": "subnetCidrReservation" + "aws.protocols#ec2QueryName": "LocalGatewayRouteTableVirtualInterfaceGroupAssociation", + "smithy.api#documentation": "

Information about the association.

", + "smithy.api#xmlName": "localGatewayRouteTableVirtualInterfaceGroupAssociation" } } } }, - "com.amazonaws.ec2#CreateSubnetRequest": { + "com.amazonaws.ec2#DeleteLocalGatewayRouteTableVpcAssociation": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteLocalGatewayRouteTableVpcAssociationRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeleteLocalGatewayRouteTableVpcAssociationResult" + }, + "traits": { + "smithy.api#documentation": "

Deletes the specified association between a VPC and local gateway route table.

" + } + }, + "com.amazonaws.ec2#DeleteLocalGatewayRouteTableVpcAssociationRequest": { "type": "structure", "members": { - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", - "traits": { - "smithy.api#documentation": "

The tags to assign to the subnet.

", - "smithy.api#xmlName": "TagSpecification" - } - }, - "AvailabilityZone": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The Availability Zone or Local Zone for the subnet.

\n

Default: Amazon Web Services selects one for you. If you create more than one subnet in your VPC, we \n do not necessarily select a different zone for each subnet.

\n

To create a subnet in a Local Zone, set this value to the Local Zone ID, for example\n us-west-2-lax-1a. For information about the Regions that support Local Zones, \n see Available Regions in the Amazon Elastic Compute Cloud User Guide.

\n

To create a subnet in an Outpost, set this value to the Availability Zone for the\n Outpost and specify the Outpost ARN.

" - } - }, - "AvailabilityZoneId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The AZ ID or the Local Zone ID of the subnet.

" - } - }, - "CidrBlock": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24. \n We modify the specified CIDR block to its canonical form; for example, if you specify \n 100.68.0.18/18, we modify it to 100.68.0.0/18.

\n

This parameter is not supported for an IPv6 only subnet.

" - } - }, - "Ipv6CidrBlock": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The IPv6 network range for the subnet, in CIDR notation. The subnet size must use a\n /64 prefix length.

\n

This parameter is required for an IPv6 only subnet.

" - } - }, - "OutpostArn": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Outpost. If you specify an Outpost ARN, you must also\n specify the Availability Zone of the Outpost subnet.

" - } - }, - "VpcId": { - "target": "com.amazonaws.ec2#VpcId", + "LocalGatewayRouteTableVpcAssociationId": { + "target": "com.amazonaws.ec2#LocalGatewayRouteTableVpcAssociationId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the VPC.

", + "smithy.api#documentation": "

The ID of the association.

", "smithy.api#required": {} } }, "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" - } - }, - "Ipv6Native": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to create an IPv6 only subnet.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateSubnetResult": { + "com.amazonaws.ec2#DeleteLocalGatewayRouteTableVpcAssociationResult": { "type": "structure", "members": { - "Subnet": { - "target": "com.amazonaws.ec2#Subnet", + "LocalGatewayRouteTableVpcAssociation": { + "target": "com.amazonaws.ec2#LocalGatewayRouteTableVpcAssociation", "traits": { - "aws.protocols#ec2QueryName": "Subnet", - "smithy.api#documentation": "

Information about the subnet.

", - "smithy.api#xmlName": "subnet" + "aws.protocols#ec2QueryName": "LocalGatewayRouteTableVpcAssociation", + "smithy.api#documentation": "

Information about the association.

", + "smithy.api#xmlName": "localGatewayRouteTableVpcAssociation" } } } }, - "com.amazonaws.ec2#CreateTags": { + "com.amazonaws.ec2#DeleteManagedPrefixList": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateTagsRequest" + "target": "com.amazonaws.ec2#DeleteManagedPrefixListRequest" }, "output": { - "target": "smithy.api#Unit" + "target": "com.amazonaws.ec2#DeleteManagedPrefixListResult" }, "traits": { - "smithy.api#documentation": "

Adds or overwrites only the specified tags for the specified Amazon EC2 resource or\n resources. When you specify an existing tag key, the value is overwritten with\n the new value. Each resource can have a maximum of 50 tags. Each tag consists of a key and\n optional value. Tag keys must be unique per resource.

\n \n

For more information about tags, see Tag your Amazon EC2 resources in the\n Amazon Elastic Compute Cloud User Guide. For more information about\n creating IAM policies that control users' access to resources based on tags, see Supported\n resource-level permissions for Amazon EC2 API actions in the Amazon\n Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Deletes the specified managed prefix list. You must first remove all references to the prefix list in your resources.

" } }, - "com.amazonaws.ec2#CreateTagsRequest": { + "com.amazonaws.ec2#DeleteManagedPrefixListRequest": { "type": "structure", "members": { "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "Resources": { - "target": "com.amazonaws.ec2#ResourceIdList", + "PrefixListId": { + "target": "com.amazonaws.ec2#PrefixListResourceId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IDs of the resources, separated by spaces.

\n \t

Constraints: Up to 1000 resource IDs. We recommend breaking up this request into smaller batches.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "ResourceId" - } - }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "smithy.api#documentation": "

The ID of the prefix list.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DeleteManagedPrefixListResult": { + "type": "structure", + "members": { + "PrefixList": { + "target": "com.amazonaws.ec2#ManagedPrefixList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The tags. The value parameter is required, but if you don't want the tag to have a value,\n specify the parameter with no value, and we set the value to an empty string.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "Tag" + "aws.protocols#ec2QueryName": "PrefixList", + "smithy.api#documentation": "

Information about the prefix list.

", + "smithy.api#xmlName": "prefixList" } } } }, - "com.amazonaws.ec2#CreateTrafficMirrorFilter": { + "com.amazonaws.ec2#DeleteNatGateway": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateTrafficMirrorFilterRequest" + "target": "com.amazonaws.ec2#DeleteNatGatewayRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateTrafficMirrorFilterResult" + "target": "com.amazonaws.ec2#DeleteNatGatewayResult" }, "traits": { - "smithy.api#documentation": "

Creates a Traffic Mirror filter.

\n

A Traffic Mirror filter is a set of rules that defines the traffic to mirror.

\n

By default, no traffic is mirrored. To mirror traffic, use CreateTrafficMirrorFilterRule to add Traffic Mirror rules to the filter. The rules you\n add define what traffic gets mirrored. You can also use ModifyTrafficMirrorFilterNetworkServices to mirror supported network services.

" + "smithy.api#documentation": "

Deletes the specified NAT gateway. Deleting a public NAT gateway disassociates its Elastic IP address, \n but does not release the address from your account. Deleting a NAT gateway does not delete any NAT gateway \n routes in your route tables.

" } }, - "com.amazonaws.ec2#CreateTrafficMirrorFilterRequest": { + "com.amazonaws.ec2#DeleteNatGatewayRequest": { "type": "structure", "members": { - "Description": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The description of the Traffic Mirror filter.

" - } - }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", - "traits": { - "smithy.api#documentation": "

The tags to assign to a Traffic Mirror filter.

", - "smithy.api#xmlName": "TagSpecification" - } - }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -17656,241 +21714,199 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", + "NatGatewayId": { + "target": "com.amazonaws.ec2#NatGatewayId", "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

", - "smithy.api#idempotencyToken": {} + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the NAT gateway.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "NatGatewayId" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateTrafficMirrorFilterResult": { + "com.amazonaws.ec2#DeleteNatGatewayResult": { "type": "structure", "members": { - "TrafficMirrorFilter": { - "target": "com.amazonaws.ec2#TrafficMirrorFilter", - "traits": { - "aws.protocols#ec2QueryName": "TrafficMirrorFilter", - "smithy.api#documentation": "

Information about the Traffic Mirror filter.

", - "smithy.api#xmlName": "trafficMirrorFilter" - } - }, - "ClientToken": { + "NatGatewayId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ClientToken", - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

", - "smithy.api#xmlName": "clientToken" + "aws.protocols#ec2QueryName": "NatGatewayId", + "smithy.api#documentation": "

The ID of the NAT gateway.

", + "smithy.api#xmlName": "natGatewayId" } } } }, - "com.amazonaws.ec2#CreateTrafficMirrorFilterRule": { + "com.amazonaws.ec2#DeleteNetworkAcl": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateTrafficMirrorFilterRuleRequest" + "target": "com.amazonaws.ec2#DeleteNetworkAclRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateTrafficMirrorFilterRuleResult" + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Creates a Traffic Mirror filter rule.

\n

A Traffic Mirror rule defines the Traffic Mirror source traffic to mirror.

\n

You need the Traffic Mirror filter ID when you create the rule.

" + "smithy.api#documentation": "

Deletes the specified network ACL. You can't delete the ACL if it's associated with any subnets. You can't delete the default network ACL.

" } }, - "com.amazonaws.ec2#CreateTrafficMirrorFilterRuleRequest": { + "com.amazonaws.ec2#DeleteNetworkAclEntry": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteNetworkAclEntryRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "

Deletes the specified ingress or egress entry (rule) from the specified network ACL.

" + } + }, + "com.amazonaws.ec2#DeleteNetworkAclEntryRequest": { "type": "structure", "members": { - "TrafficMirrorFilterId": { - "target": "com.amazonaws.ec2#TrafficMirrorFilterId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the filter that this rule is associated with.

", - "smithy.api#required": {} - } - }, - "TrafficDirection": { - "target": "com.amazonaws.ec2#TrafficDirection", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The type of traffic.

", - "smithy.api#required": {} + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "RuleNumber": { - "target": "com.amazonaws.ec2#Integer", + "Egress": { + "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "Egress", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given\n direction. The rules are processed in ascending order by rule number.

", - "smithy.api#required": {} + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the rule is an egress rule.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "egress" } }, - "RuleAction": { - "target": "com.amazonaws.ec2#TrafficMirrorRuleAction", + "NetworkAclId": { + "target": "com.amazonaws.ec2#NetworkAclId", "traits": { + "aws.protocols#ec2QueryName": "NetworkAclId", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The action to take on the filtered traffic.

", - "smithy.api#required": {} - } - }, - "DestinationPortRange": { - "target": "com.amazonaws.ec2#TrafficMirrorPortRangeRequest", - "traits": { - "smithy.api#documentation": "

The destination port range.

" - } - }, - "SourcePortRange": { - "target": "com.amazonaws.ec2#TrafficMirrorPortRangeRequest", - "traits": { - "smithy.api#documentation": "

The source port range.

" + "smithy.api#documentation": "

The ID of the network ACL.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "networkAclId" } }, - "Protocol": { + "RuleNumber": { "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "RuleNumber", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The protocol, for example UDP, to assign to the Traffic Mirror rule.

\n

For information about the protocol value, see Protocol Numbers on the Internet Assigned Numbers Authority (IANA) website.

" - } - }, - "DestinationCidrBlock": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The destination CIDR block to assign to the Traffic Mirror rule.

", - "smithy.api#required": {} - } - }, - "SourceCidrBlock": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The source CIDR block to assign to the Traffic Mirror rule.

", - "smithy.api#required": {} - } - }, - "Description": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The description of the Traffic Mirror rule.

" + "smithy.api#documentation": "

The rule number of the entry to delete.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "ruleNumber" } - }, + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DeleteNetworkAclRequest": { + "type": "structure", + "members": { "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", + "NetworkAclId": { + "target": "com.amazonaws.ec2#NetworkAclId", "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

", - "smithy.api#idempotencyToken": {} + "aws.protocols#ec2QueryName": "NetworkAclId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the network ACL.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "networkAclId" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateTrafficMirrorFilterRuleResult": { - "type": "structure", - "members": { - "TrafficMirrorFilterRule": { - "target": "com.amazonaws.ec2#TrafficMirrorFilterRule", - "traits": { - "aws.protocols#ec2QueryName": "TrafficMirrorFilterRule", - "smithy.api#documentation": "

The Traffic Mirror rule.

", - "smithy.api#xmlName": "trafficMirrorFilterRule" - } - }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "ClientToken", - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

", - "smithy.api#xmlName": "clientToken" - } - } + "com.amazonaws.ec2#DeleteNetworkInsightsAccessScope": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteNetworkInsightsAccessScopeRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeleteNetworkInsightsAccessScopeResult" + }, + "traits": { + "smithy.api#documentation": "

Deletes the specified Network Access Scope.

" } }, - "com.amazonaws.ec2#CreateTrafficMirrorSession": { + "com.amazonaws.ec2#DeleteNetworkInsightsAccessScopeAnalysis": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateTrafficMirrorSessionRequest" + "target": "com.amazonaws.ec2#DeleteNetworkInsightsAccessScopeAnalysisRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateTrafficMirrorSessionResult" + "target": "com.amazonaws.ec2#DeleteNetworkInsightsAccessScopeAnalysisResult" }, "traits": { - "smithy.api#documentation": "

Creates a Traffic Mirror session.

\n

A Traffic Mirror session actively copies packets from a Traffic Mirror source to a Traffic Mirror target. Create a filter, and then assign it\n to the session to define a subset of the traffic to mirror, for example all TCP\n traffic.

\n

The Traffic Mirror source and the Traffic Mirror target (monitoring appliances) can be in the same VPC, or in a different VPC connected via VPC peering or a transit gateway.

\n

By default, no traffic is mirrored. Use CreateTrafficMirrorFilter to\n create filter rules that specify the traffic to mirror.

" + "smithy.api#documentation": "

Deletes the specified Network Access Scope analysis.

" } }, - "com.amazonaws.ec2#CreateTrafficMirrorSessionRequest": { + "com.amazonaws.ec2#DeleteNetworkInsightsAccessScopeAnalysisRequest": { "type": "structure", "members": { - "NetworkInterfaceId": { - "target": "com.amazonaws.ec2#NetworkInterfaceId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the source network interface.

", - "smithy.api#required": {} - } - }, - "TrafficMirrorTargetId": { - "target": "com.amazonaws.ec2#TrafficMirrorTargetId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Traffic Mirror target.

", - "smithy.api#required": {} - } - }, - "TrafficMirrorFilterId": { - "target": "com.amazonaws.ec2#TrafficMirrorFilterId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Traffic Mirror filter.

", - "smithy.api#required": {} - } - }, - "PacketLength": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do\n not specify this parameter when you want to mirror the entire packet. To mirror a subset of\n the packet, set this to the length (in bytes) that you want to mirror. For example, if you\n set this value to 100, then the first 100 bytes that meet the filter criteria are copied to\n the target.

\n

If you do not want to mirror the entire packet, use the PacketLength parameter to specify the number of bytes in each packet to mirror.

" - } - }, - "SessionNumber": { - "target": "com.amazonaws.ec2#Integer", + "NetworkInsightsAccessScopeAnalysisId": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

\n

Valid values are 1-32766.

", + "smithy.api#documentation": "

The ID of the Network Access Scope analysis.

", "smithy.api#required": {} } }, - "VirtualNetworkId": { - "target": "com.amazonaws.ec2#Integer", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN\n protocol, see RFC 7348. If you do\n not specify a VirtualNetworkId, an account-wide unique id is chosen at\n random.

" - } - }, - "Description": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The description of the Traffic Mirror session.

" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DeleteNetworkInsightsAccessScopeAnalysisResult": { + "type": "structure", + "members": { + "NetworkInsightsAccessScopeAnalysisId": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisId", "traits": { - "smithy.api#documentation": "

The tags to assign to a Traffic Mirror session.

", - "smithy.api#xmlName": "TagSpecification" + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeAnalysisId", + "smithy.api#documentation": "

The ID of the Network Access Scope analysis.

", + "smithy.api#xmlName": "networkInsightsAccessScopeAnalysisId" } - }, + } + } + }, + "com.amazonaws.ec2#DeleteNetworkInsightsAccessScopeRequest": { + "type": "structure", + "members": { "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -17899,76 +21915,47 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", + "NetworkInsightsAccessScopeId": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeId", "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

", - "smithy.api#idempotencyToken": {} + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Network Access Scope.

", + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateTrafficMirrorSessionResult": { + "com.amazonaws.ec2#DeleteNetworkInsightsAccessScopeResult": { "type": "structure", "members": { - "TrafficMirrorSession": { - "target": "com.amazonaws.ec2#TrafficMirrorSession", - "traits": { - "aws.protocols#ec2QueryName": "TrafficMirrorSession", - "smithy.api#documentation": "

Information about the Traffic Mirror session.

", - "smithy.api#xmlName": "trafficMirrorSession" - } - }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", + "NetworkInsightsAccessScopeId": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeId", "traits": { - "aws.protocols#ec2QueryName": "ClientToken", - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

", - "smithy.api#xmlName": "clientToken" + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeId", + "smithy.api#documentation": "

The ID of the Network Access Scope.

", + "smithy.api#xmlName": "networkInsightsAccessScopeId" } } } }, - "com.amazonaws.ec2#CreateTrafficMirrorTarget": { + "com.amazonaws.ec2#DeleteNetworkInsightsAnalysis": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateTrafficMirrorTargetRequest" + "target": "com.amazonaws.ec2#DeleteNetworkInsightsAnalysisRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateTrafficMirrorTargetResult" + "target": "com.amazonaws.ec2#DeleteNetworkInsightsAnalysisResult" }, "traits": { - "smithy.api#documentation": "

Creates a target for your Traffic Mirror session.

\n

A Traffic Mirror target is the destination for mirrored traffic. The Traffic Mirror source and\n the Traffic Mirror target (monitoring appliances) can be in the same VPC, or in\n different VPCs connected via VPC peering or a transit gateway.

\n

A Traffic Mirror target can be a network interface, a Network Load Balancer, or a Gateway Load Balancer endpoint.

\n

To use the target in a Traffic Mirror session, use CreateTrafficMirrorSession.

" + "smithy.api#documentation": "

Deletes the specified network insights analysis.

" } }, - "com.amazonaws.ec2#CreateTrafficMirrorTargetRequest": { + "com.amazonaws.ec2#DeleteNetworkInsightsAnalysisRequest": { "type": "structure", "members": { - "NetworkInterfaceId": { - "target": "com.amazonaws.ec2#NetworkInterfaceId", - "traits": { - "smithy.api#documentation": "

The network interface ID that is associated with the target.

" - } - }, - "NetworkLoadBalancerArn": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the target.

" - } - }, - "Description": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The description of the Traffic Mirror target.

" - } - }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", - "traits": { - "smithy.api#documentation": "

The tags to assign to the Traffic Mirror target.

", - "smithy.api#xmlName": "TagSpecification" - } - }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -17977,171 +21964,122 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

", - "smithy.api#idempotencyToken": {} - } - }, - "GatewayLoadBalancerEndpointId": { - "target": "com.amazonaws.ec2#VpcEndpointId", + "NetworkInsightsAnalysisId": { + "target": "com.amazonaws.ec2#NetworkInsightsAnalysisId", "traits": { - "smithy.api#documentation": "

The ID of the Gateway Load Balancer endpoint.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the network insights analysis.

", + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateTrafficMirrorTargetResult": { + "com.amazonaws.ec2#DeleteNetworkInsightsAnalysisResult": { "type": "structure", "members": { - "TrafficMirrorTarget": { - "target": "com.amazonaws.ec2#TrafficMirrorTarget", - "traits": { - "aws.protocols#ec2QueryName": "TrafficMirrorTarget", - "smithy.api#documentation": "

Information about the Traffic Mirror target.

", - "smithy.api#xmlName": "trafficMirrorTarget" - } - }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", + "NetworkInsightsAnalysisId": { + "target": "com.amazonaws.ec2#NetworkInsightsAnalysisId", "traits": { - "aws.protocols#ec2QueryName": "ClientToken", - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

", - "smithy.api#xmlName": "clientToken" + "aws.protocols#ec2QueryName": "NetworkInsightsAnalysisId", + "smithy.api#documentation": "

The ID of the network insights analysis.

", + "smithy.api#xmlName": "networkInsightsAnalysisId" } } } }, - "com.amazonaws.ec2#CreateTransitGateway": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#CreateTransitGatewayRequest" - }, - "output": { - "target": "com.amazonaws.ec2#CreateTransitGatewayResult" - }, - "traits": { - "smithy.api#documentation": "

Creates a transit gateway.

\n

You can use a transit gateway to interconnect your virtual private clouds (VPC) and on-premises networks.\n After the transit gateway enters the available state, you can attach your VPCs and VPN\n connections to the transit gateway.

\n

To attach your VPCs, use CreateTransitGatewayVpcAttachment.

\n

To attach a VPN connection, use CreateCustomerGateway to create a customer \n gateway and specify the ID of the customer gateway and the ID of the transit gateway in a call to\n CreateVpnConnection.

\n

When you create a transit gateway, we create a default transit gateway route table and use it as the default association route table\n and the default propagation route table. You can use CreateTransitGatewayRouteTable to create\n additional transit gateway route tables. If you disable automatic route propagation, we do not create a default transit gateway route table. \n You can use EnableTransitGatewayRouteTablePropagation to propagate routes from a resource \n attachment to a transit gateway route table. If you disable automatic associations, you can use AssociateTransitGatewayRouteTable to associate a resource attachment with a transit gateway route table.

" - } - }, - "com.amazonaws.ec2#CreateTransitGatewayConnect": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#CreateTransitGatewayConnectRequest" - }, - "output": { - "target": "com.amazonaws.ec2#CreateTransitGatewayConnectResult" - }, - "traits": { - "smithy.api#documentation": "

Creates a Connect attachment from a specified transit gateway attachment. A Connect attachment is a GRE-based tunnel attachment that you can use to establish a connection between a transit gateway and an appliance.

\n

A Connect attachment uses an existing VPC or Amazon Web Services Direct Connect attachment as the underlying transport mechanism.

" - } - }, - "com.amazonaws.ec2#CreateTransitGatewayConnectPeer": { + "com.amazonaws.ec2#DeleteNetworkInsightsPath": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateTransitGatewayConnectPeerRequest" + "target": "com.amazonaws.ec2#DeleteNetworkInsightsPathRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateTransitGatewayConnectPeerResult" + "target": "com.amazonaws.ec2#DeleteNetworkInsightsPathResult" }, "traits": { - "smithy.api#documentation": "

Creates a Connect peer for a specified transit gateway Connect attachment between a\n transit gateway and an appliance.

\n

The peer address and transit gateway address must be the same IP address family (IPv4 or IPv6).

\n

For more information, see Connect peers in the Transit Gateways Guide.

" + "smithy.api#documentation": "

Deletes the specified path.

" } }, - "com.amazonaws.ec2#CreateTransitGatewayConnectPeerRequest": { + "com.amazonaws.ec2#DeleteNetworkInsightsPathRequest": { "type": "structure", "members": { - "TransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Connect attachment.

", - "smithy.api#required": {} - } - }, - "TransitGatewayAddress": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The peer IP address (GRE outer IP address) on the transit gateway side of the Connect peer, which must be\n specified from a transit gateway CIDR block. If not specified, Amazon automatically assigns\n the first available IP address from the transit gateway CIDR block.

" - } - }, - "PeerAddress": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The peer IP address (GRE outer IP address) on the appliance side of the Connect peer.

", - "smithy.api#required": {} - } - }, - "BgpOptions": { - "target": "com.amazonaws.ec2#TransitGatewayConnectRequestBgpOptions", - "traits": { - "smithy.api#documentation": "

The BGP options for the Connect peer.

" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "InsideCidrBlocks": { - "target": "com.amazonaws.ec2#InsideCidrBlocksStringList", + "NetworkInsightsPathId": { + "target": "com.amazonaws.ec2#NetworkInsightsPathId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The range of inside IP addresses that are used for BGP peering. You must specify a\n size /29 IPv4 CIDR block from the 169.254.0.0/16 range. The first address\n from the range must be configured on the appliance as the BGP IP address. You can also\n optionally specify a size /125 IPv6 CIDR block from the fd00::/8\n range.

", + "smithy.api#documentation": "

The ID of the path.

", "smithy.api#required": {} } - }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", - "traits": { - "smithy.api#documentation": "

The tags to apply to the Connect peer.

", - "smithy.api#xmlName": "TagSpecification" - } - }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DeleteNetworkInsightsPathResult": { + "type": "structure", + "members": { + "NetworkInsightsPathId": { + "target": "com.amazonaws.ec2#NetworkInsightsPathId", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "NetworkInsightsPathId", + "smithy.api#documentation": "

The ID of the path.

", + "smithy.api#xmlName": "networkInsightsPathId" } } } }, - "com.amazonaws.ec2#CreateTransitGatewayConnectPeerResult": { - "type": "structure", - "members": { - "TransitGatewayConnectPeer": { - "target": "com.amazonaws.ec2#TransitGatewayConnectPeer", - "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayConnectPeer", - "smithy.api#documentation": "

Information about the Connect peer.

", - "smithy.api#xmlName": "transitGatewayConnectPeer" - } - } + "com.amazonaws.ec2#DeleteNetworkInterface": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteNetworkInterfaceRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "

Deletes the specified network interface. You must detach the network interface before you can delete it.

" } }, - "com.amazonaws.ec2#CreateTransitGatewayConnectRequest": { + "com.amazonaws.ec2#DeleteNetworkInterfacePermission": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteNetworkInterfacePermissionRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeleteNetworkInterfacePermissionResult" + }, + "traits": { + "smithy.api#documentation": "

Deletes a permission for a network interface. By default, you cannot delete the\n\t\t\tpermission if the account for which you're removing the permission has attached the\n\t\t\tnetwork interface to an instance. However, you can force delete the permission,\n\t\t\tregardless of any attachment.

" + } + }, + "com.amazonaws.ec2#DeleteNetworkInterfacePermissionRequest": { "type": "structure", "members": { - "TransportTransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", + "NetworkInterfacePermissionId": { + "target": "com.amazonaws.ec2#NetworkInterfacePermissionId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the transit gateway attachment. You can specify a VPC attachment or Amazon Web Services Direct Connect attachment.

", + "smithy.api#documentation": "

The ID of the network interface permission.

", "smithy.api#required": {} } }, - "Options": { - "target": "com.amazonaws.ec2#CreateTransitGatewayConnectRequestOptions", + "Force": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The Connect attachment options.

", - "smithy.api#required": {} - } - }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", - "traits": { - "smithy.api#documentation": "

The tags to apply to the Connect attachment.

", - "smithy.api#xmlName": "TagSpecification" + "smithy.api#default": false, + "smithy.api#documentation": "

Specify true to remove the permission even if the network interface is\n\t\t\tattached to an instance.

" } }, "DryRun": { @@ -18149,505 +22087,521 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is DryRunOperation. \n\t\t\tOtherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for DeleteNetworkInterfacePermission.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateTransitGatewayConnectRequestOptions": { + "com.amazonaws.ec2#DeleteNetworkInterfacePermissionResult": { "type": "structure", "members": { - "Protocol": { - "target": "com.amazonaws.ec2#ProtocolValue", + "Return": { + "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "Return", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The tunnel protocol.

", - "smithy.api#required": {} + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds, otherwise returns an error.

", + "smithy.api#xmlName": "return" } } }, "traits": { - "smithy.api#documentation": "

The options for a Connect attachment.

" + "smithy.api#documentation": "

Contains the output for DeleteNetworkInterfacePermission.

" } }, - "com.amazonaws.ec2#CreateTransitGatewayConnectResult": { + "com.amazonaws.ec2#DeleteNetworkInterfaceRequest": { "type": "structure", "members": { - "TransitGatewayConnect": { - "target": "com.amazonaws.ec2#TransitGatewayConnect", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayConnect", - "smithy.api#documentation": "

Information about the Connect attachment.

", - "smithy.api#xmlName": "transitGatewayConnect" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + }, + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#NetworkInterfaceId", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the network interface.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "networkInterfaceId" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for DeleteNetworkInterface.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateTransitGatewayMulticastDomain": { + "com.amazonaws.ec2#DeletePlacementGroup": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateTransitGatewayMulticastDomainRequest" + "target": "com.amazonaws.ec2#DeletePlacementGroupRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateTransitGatewayMulticastDomainResult" + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Creates a multicast domain using the specified transit gateway.

\n

The transit gateway must be in the available state before you create a domain. Use DescribeTransitGateways to see the state of transit gateway.

" + "smithy.api#documentation": "

Deletes the specified placement group. You must terminate all instances in the\n placement group before you can delete the placement group. For more information, see\n Placement groups in the Amazon EC2 User Guide.

" } }, - "com.amazonaws.ec2#CreateTransitGatewayMulticastDomainRequest": { + "com.amazonaws.ec2#DeletePlacementGroupRequest": { "type": "structure", "members": { - "TransitGatewayId": { - "target": "com.amazonaws.ec2#TransitGatewayId", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the transit gateway.

", - "smithy.api#required": {} - } - }, - "Options": { - "target": "com.amazonaws.ec2#CreateTransitGatewayMulticastDomainRequestOptions", - "traits": { - "smithy.api#documentation": "

The options for the transit gateway multicast domain.

" - } - }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", - "traits": { - "smithy.api#documentation": "

The tags for the transit gateway multicast domain.

", - "smithy.api#xmlName": "TagSpecification" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "GroupName": { + "target": "com.amazonaws.ec2#PlacementGroupName", "traits": { + "aws.protocols#ec2QueryName": "GroupName", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The name of the placement group.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "groupName" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateTransitGatewayMulticastDomainRequestOptions": { + "com.amazonaws.ec2#DeletePublicIpv4Pool": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeletePublicIpv4PoolRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeletePublicIpv4PoolResult" + }, + "traits": { + "smithy.api#documentation": "

Delete a public IPv4 pool. A public IPv4 pool is an EC2 IP address pool required for the public IPv4 CIDRs that you own and bring to Amazon Web Services to manage with IPAM. IPv6 addresses you bring to Amazon Web Services, however, use IPAM pools only.

" + } + }, + "com.amazonaws.ec2#DeletePublicIpv4PoolRequest": { "type": "structure", "members": { - "Igmpv2Support": { - "target": "com.amazonaws.ec2#Igmpv2SupportValue", - "traits": { - "smithy.api#documentation": "

Specify whether to enable Internet Group Management Protocol (IGMP) version 2 for the transit gateway multicast domain.

" - } - }, - "StaticSourcesSupport": { - "target": "com.amazonaws.ec2#StaticSourcesSupportValue", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

Specify whether to enable support for statically configuring multicast group sources for a domain.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "AutoAcceptSharedAssociations": { - "target": "com.amazonaws.ec2#AutoAcceptSharedAssociationsValue", + "PoolId": { + "target": "com.amazonaws.ec2#Ipv4PoolEc2Id", "traits": { - "smithy.api#documentation": "

Indicates whether to automatically accept cross-account subnet associations that are associated with the transit gateway multicast domain.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the public IPv4 pool you want to delete.

", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

The options for the transit gateway multicast domain.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateTransitGatewayMulticastDomainResult": { + "com.amazonaws.ec2#DeletePublicIpv4PoolResult": { "type": "structure", "members": { - "TransitGatewayMulticastDomain": { - "target": "com.amazonaws.ec2#TransitGatewayMulticastDomain", + "ReturnValue": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayMulticastDomain", - "smithy.api#documentation": "

Information about the transit gateway multicast domain.

", - "smithy.api#xmlName": "transitGatewayMulticastDomain" + "aws.protocols#ec2QueryName": "ReturnValue", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Information about the result of deleting the public IPv4 pool.

", + "smithy.api#xmlName": "returnValue" } } } }, - "com.amazonaws.ec2#CreateTransitGatewayPeeringAttachment": { + "com.amazonaws.ec2#DeleteQueuedReservedInstances": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateTransitGatewayPeeringAttachmentRequest" + "target": "com.amazonaws.ec2#DeleteQueuedReservedInstancesRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateTransitGatewayPeeringAttachmentResult" + "target": "com.amazonaws.ec2#DeleteQueuedReservedInstancesResult" }, "traits": { - "smithy.api#documentation": "

Requests a transit gateway peering attachment between the specified transit gateway\n (requester) and a peer transit gateway (accepter). The peer transit gateway can be in \n your account or a different Amazon Web Services account.

\n

After you create the peering attachment, the owner of the accepter transit gateway \n must accept the attachment request.

" + "smithy.api#documentation": "

Deletes the queued purchases for the specified Reserved Instances.

" } }, - "com.amazonaws.ec2#CreateTransitGatewayPeeringAttachmentRequest": { + "com.amazonaws.ec2#DeleteQueuedReservedInstancesError": { "type": "structure", "members": { - "TransitGatewayId": { - "target": "com.amazonaws.ec2#TransitGatewayId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the transit gateway.

", - "smithy.api#required": {} - } - }, - "PeerTransitGatewayId": { - "target": "com.amazonaws.ec2#TransitAssociationGatewayId", + "Code": { + "target": "com.amazonaws.ec2#DeleteQueuedReservedInstancesErrorCode", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the peer transit gateway with which to create the peering attachment.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "Code", + "smithy.api#documentation": "

The error code.

", + "smithy.api#xmlName": "code" } }, - "PeerAccountId": { + "Message": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the peer transit gateway.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "Message", + "smithy.api#documentation": "

The error message.

", + "smithy.api#xmlName": "message" } - }, - "PeerRegion": { - "target": "com.amazonaws.ec2#String", + } + }, + "traits": { + "smithy.api#documentation": "

Describes the error for a Reserved Instance whose queued purchase could not be deleted.

" + } + }, + "com.amazonaws.ec2#DeleteQueuedReservedInstancesErrorCode": { + "type": "enum", + "members": { + "RESERVED_INSTANCES_ID_INVALID": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The Region where the peer transit gateway is located.

", - "smithy.api#required": {} + "smithy.api#enumValue": "reserved-instances-id-invalid" } }, - "Options": { - "target": "com.amazonaws.ec2#CreateTransitGatewayPeeringAttachmentRequestOptions", + "RESERVED_INSTANCES_NOT_IN_QUEUED_STATE": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Requests a transit gateway peering attachment.

" + "smithy.api#enumValue": "reserved-instances-not-in-queued-state" } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + "UNEXPECTED_ERROR": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The tags to apply to the transit gateway peering attachment.

", - "smithy.api#xmlName": "TagSpecification" + "smithy.api#enumValue": "unexpected-error" } - }, + } + } + }, + "com.amazonaws.ec2#DeleteQueuedReservedInstancesIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ReservationId", + "traits": { + "smithy.api#xmlName": "item" + } + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.ec2#DeleteQueuedReservedInstancesRequest": { + "type": "structure", + "members": { "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - } - } - }, - "com.amazonaws.ec2#CreateTransitGatewayPeeringAttachmentRequestOptions": { - "type": "structure", - "members": { - "DynamicRouting": { - "target": "com.amazonaws.ec2#DynamicRoutingValue", + }, + "ReservedInstancesIds": { + "target": "com.amazonaws.ec2#DeleteQueuedReservedInstancesIdList", "traits": { - "smithy.api#documentation": "

Indicates whether dynamic routing is enabled or disabled.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The IDs of the Reserved Instances.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "ReservedInstancesId" } } }, "traits": { - "smithy.api#documentation": "

Describes whether dynamic routing is enabled or disabled for the transit gateway peering request.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateTransitGatewayPeeringAttachmentResult": { + "com.amazonaws.ec2#DeleteQueuedReservedInstancesResult": { "type": "structure", "members": { - "TransitGatewayPeeringAttachment": { - "target": "com.amazonaws.ec2#TransitGatewayPeeringAttachment", + "SuccessfulQueuedPurchaseDeletions": { + "target": "com.amazonaws.ec2#SuccessfulQueuedPurchaseDeletionSet", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayPeeringAttachment", - "smithy.api#documentation": "

The transit gateway peering attachment.

", - "smithy.api#xmlName": "transitGatewayPeeringAttachment" + "aws.protocols#ec2QueryName": "SuccessfulQueuedPurchaseDeletionSet", + "smithy.api#documentation": "

Information about the queued purchases that were successfully deleted.

", + "smithy.api#xmlName": "successfulQueuedPurchaseDeletionSet" + } + }, + "FailedQueuedPurchaseDeletions": { + "target": "com.amazonaws.ec2#FailedQueuedPurchaseDeletionSet", + "traits": { + "aws.protocols#ec2QueryName": "FailedQueuedPurchaseDeletionSet", + "smithy.api#documentation": "

Information about the queued purchases that could not be deleted.

", + "smithy.api#xmlName": "failedQueuedPurchaseDeletionSet" } } } }, - "com.amazonaws.ec2#CreateTransitGatewayPolicyTable": { + "com.amazonaws.ec2#DeleteRoute": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateTransitGatewayPolicyTableRequest" + "target": "com.amazonaws.ec2#DeleteRouteRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateTransitGatewayPolicyTableResult" + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Creates a transit gateway policy table.

" + "smithy.api#documentation": "

Deletes the specified route from the specified route table.

" } }, - "com.amazonaws.ec2#CreateTransitGatewayPolicyTableRequest": { + "com.amazonaws.ec2#DeleteRouteRequest": { "type": "structure", "members": { - "TransitGatewayId": { - "target": "com.amazonaws.ec2#TransitGatewayId", + "DestinationCidrBlock": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the transit gateway used for the policy table.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "DestinationCidrBlock", + "smithy.api#documentation": "

The IPv4 CIDR range for the route. The value you specify must match the CIDR for the route exactly.

", + "smithy.api#xmlName": "destinationCidrBlock" } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + "DestinationIpv6CidrBlock": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The tags specification for the transit gateway policy table created during the request.

" + "aws.protocols#ec2QueryName": "DestinationIpv6CidrBlock", + "smithy.api#documentation": "

The IPv6 CIDR range for the route. The value you specify must match the CIDR for the route exactly.

", + "smithy.api#xmlName": "destinationIpv6CidrBlock" + } + }, + "DestinationPrefixListId": { + "target": "com.amazonaws.ec2#PrefixListResourceId", + "traits": { + "smithy.api#documentation": "

The ID of the prefix list for the route.

" } }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } - } - } - }, - "com.amazonaws.ec2#CreateTransitGatewayPolicyTableResult": { - "type": "structure", - "members": { - "TransitGatewayPolicyTable": { - "target": "com.amazonaws.ec2#TransitGatewayPolicyTable", + }, + "RouteTableId": { + "target": "com.amazonaws.ec2#RouteTableId", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayPolicyTable", - "smithy.api#documentation": "

Describes the created transit gateway policy table.

", - "smithy.api#xmlName": "transitGatewayPolicyTable" + "aws.protocols#ec2QueryName": "RouteTableId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the route table.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "routeTableId" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateTransitGatewayPrefixListReference": { + "com.amazonaws.ec2#DeleteRouteTable": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateTransitGatewayPrefixListReferenceRequest" + "target": "com.amazonaws.ec2#DeleteRouteTableRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateTransitGatewayPrefixListReferenceResult" + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Creates a reference (route) to a prefix list in a specified transit gateway route table.

" + "smithy.api#documentation": "

Deletes the specified route table. You must disassociate the route table from any subnets before you can delete it. You can't delete the main route table.

" } }, - "com.amazonaws.ec2#CreateTransitGatewayPrefixListReferenceRequest": { + "com.amazonaws.ec2#DeleteRouteTableRequest": { "type": "structure", "members": { - "TransitGatewayRouteTableId": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the transit gateway route table.

", - "smithy.api#required": {} - } - }, - "PrefixListId": { - "target": "com.amazonaws.ec2#PrefixListResourceId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the prefix list that is used for destination matches.

", - "smithy.api#required": {} - } - }, - "TransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", - "traits": { - "smithy.api#documentation": "

The ID of the attachment to which traffic is routed.

" - } - }, - "Blackhole": { + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to drop traffic that matches this route.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "RouteTableId": { + "target": "com.amazonaws.ec2#RouteTableId", "traits": { + "aws.protocols#ec2QueryName": "RouteTableId", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The ID of the route table.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "routeTableId" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateTransitGatewayPrefixListReferenceResult": { - "type": "structure", - "members": { - "TransitGatewayPrefixListReference": { - "target": "com.amazonaws.ec2#TransitGatewayPrefixListReference", - "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayPrefixListReference", - "smithy.api#documentation": "

Information about the prefix list reference.

", - "smithy.api#xmlName": "transitGatewayPrefixListReference" - } - } + "com.amazonaws.ec2#DeleteSecurityGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteSecurityGroupRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "

Deletes a security group.

\n

If you attempt to delete a security group that is associated with an instance, or is\n\t\t\t referenced by another security group, the operation fails with\n\t\t\t\tInvalidGroup.InUse in EC2-Classic or\n\t\t\t\tDependencyViolation in EC2-VPC.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" } }, - "com.amazonaws.ec2#CreateTransitGatewayRequest": { + "com.amazonaws.ec2#DeleteSecurityGroupRequest": { "type": "structure", "members": { - "Description": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

A description of the transit gateway.

" - } - }, - "Options": { - "target": "com.amazonaws.ec2#TransitGatewayRequestOptions", + "GroupId": { + "target": "com.amazonaws.ec2#SecurityGroupId", "traits": { - "smithy.api#documentation": "

The transit gateway options.

" + "smithy.api#documentation": "

The ID of the security group. Required for a nondefault VPC.

" } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + "GroupName": { + "target": "com.amazonaws.ec2#SecurityGroupName", "traits": { - "smithy.api#documentation": "

The tags to apply to the transit gateway.

", - "smithy.api#xmlName": "TagSpecification" + "smithy.api#documentation": "

[EC2-Classic, default VPC] The name of the security group. You can specify either the\n security group name or the security group ID. For security groups in a nondefault VPC,\n you must specify the security group ID.

" } }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - } - } - }, - "com.amazonaws.ec2#CreateTransitGatewayResult": { - "type": "structure", - "members": { - "TransitGateway": { - "target": "com.amazonaws.ec2#TransitGateway", - "traits": { - "aws.protocols#ec2QueryName": "TransitGateway", - "smithy.api#documentation": "

Information about the transit gateway.

", - "smithy.api#xmlName": "transitGateway" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateTransitGatewayRoute": { + "com.amazonaws.ec2#DeleteSnapshot": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateTransitGatewayRouteRequest" + "target": "com.amazonaws.ec2#DeleteSnapshotRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateTransitGatewayRouteResult" + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Creates a static route for the specified transit gateway route table.

" + "smithy.api#documentation": "

Deletes the specified snapshot.

\n

When you make periodic snapshots of a volume, the snapshots are incremental, and only the\n blocks on the device that have changed since your last snapshot are saved in the new snapshot.\n When you delete a snapshot, only the data not needed for any other snapshot is removed. So\n regardless of which prior snapshots have been deleted, all active snapshots will have access\n to all the information needed to restore the volume.

\n

You cannot delete a snapshot of the root device of an EBS volume used by a registered AMI.\n You must first de-register the AMI before you can delete the snapshot.

\n

For more information, see Delete an Amazon EBS snapshot in the\n Amazon Elastic Compute Cloud User Guide.

" } }, - "com.amazonaws.ec2#CreateTransitGatewayRouteRequest": { + "com.amazonaws.ec2#DeleteSnapshotRequest": { "type": "structure", "members": { - "DestinationCidrBlock": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The CIDR range used for destination matches. Routing decisions are based on the\n most specific match.

", - "smithy.api#required": {} - } - }, - "TransitGatewayRouteTableId": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", + "SnapshotId": { + "target": "com.amazonaws.ec2#SnapshotId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the transit gateway route table.

", + "smithy.api#documentation": "

The ID of the EBS snapshot.

", "smithy.api#required": {} } }, - "TransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", - "traits": { - "smithy.api#documentation": "

The ID of the attachment.

" - } - }, - "Blackhole": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to drop traffic that matches this route.

" - } - }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateTransitGatewayRouteResult": { + "com.amazonaws.ec2#DeleteSpotDatafeedSubscription": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteSpotDatafeedSubscriptionRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "

Deletes the data feed for Spot Instances.

" + } + }, + "com.amazonaws.ec2#DeleteSpotDatafeedSubscriptionRequest": { "type": "structure", "members": { - "Route": { - "target": "com.amazonaws.ec2#TransitGatewayRoute", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Route", - "smithy.api#documentation": "

Information about the route.

", - "smithy.api#xmlName": "route" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for DeleteSpotDatafeedSubscription.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateTransitGatewayRouteTable": { + "com.amazonaws.ec2#DeleteSubnet": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateTransitGatewayRouteTableRequest" + "target": "com.amazonaws.ec2#DeleteSubnetRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateTransitGatewayRouteTableResult" + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Creates a route table for the specified transit gateway.

" + "smithy.api#documentation": "

Deletes the specified subnet. You must terminate all running instances in the subnet before you can delete the subnet.

" } }, - "com.amazonaws.ec2#CreateTransitGatewayRouteTableAnnouncement": { + "com.amazonaws.ec2#DeleteSubnetCidrReservation": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateTransitGatewayRouteTableAnnouncementRequest" + "target": "com.amazonaws.ec2#DeleteSubnetCidrReservationRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateTransitGatewayRouteTableAnnouncementResult" + "target": "com.amazonaws.ec2#DeleteSubnetCidrReservationResult" }, "traits": { - "smithy.api#documentation": "

Advertises a new transit gateway route table.

" + "smithy.api#documentation": "

Deletes a subnet CIDR reservation.

" } }, - "com.amazonaws.ec2#CreateTransitGatewayRouteTableAnnouncementRequest": { + "com.amazonaws.ec2#DeleteSubnetCidrReservationRequest": { "type": "structure", "members": { - "TransitGatewayRouteTableId": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the transit gateway route table.

", - "smithy.api#required": {} - } - }, - "PeeringAttachmentId": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", + "SubnetCidrReservationId": { + "target": "com.amazonaws.ec2#SubnetCidrReservationId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the peering attachment.

", + "smithy.api#documentation": "

The ID of the subnet CIDR reservation.

", "smithy.api#required": {} } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", - "traits": { - "smithy.api#documentation": "

The tags specifications applied to the transit gateway route table announcement.

", - "smithy.api#xmlName": "TagSpecification" - } - }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -18656,368 +22610,341 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateTransitGatewayRouteTableAnnouncementResult": { + "com.amazonaws.ec2#DeleteSubnetCidrReservationResult": { "type": "structure", "members": { - "TransitGatewayRouteTableAnnouncement": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncement", + "DeletedSubnetCidrReservation": { + "target": "com.amazonaws.ec2#SubnetCidrReservation", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayRouteTableAnnouncement", - "smithy.api#documentation": "

Provides details about the transit gateway route table announcement.

", - "smithy.api#xmlName": "transitGatewayRouteTableAnnouncement" + "aws.protocols#ec2QueryName": "DeletedSubnetCidrReservation", + "smithy.api#documentation": "

Information about the deleted subnet CIDR reservation.

", + "smithy.api#xmlName": "deletedSubnetCidrReservation" } } } }, - "com.amazonaws.ec2#CreateTransitGatewayRouteTableRequest": { + "com.amazonaws.ec2#DeleteSubnetRequest": { "type": "structure", "members": { - "TransitGatewayId": { - "target": "com.amazonaws.ec2#TransitGatewayId", + "SubnetId": { + "target": "com.amazonaws.ec2#SubnetId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the transit gateway.

", + "smithy.api#documentation": "

The ID of the subnet.

", "smithy.api#required": {} } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", - "traits": { - "smithy.api#documentation": "

The tags to apply to the transit gateway route table.

" - } - }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - } - } - }, - "com.amazonaws.ec2#CreateTransitGatewayRouteTableResult": { - "type": "structure", - "members": { - "TransitGatewayRouteTable": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTable", - "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayRouteTable", - "smithy.api#documentation": "

Information about the transit gateway route table.

", - "smithy.api#xmlName": "transitGatewayRouteTable" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateTransitGatewayVpcAttachment": { + "com.amazonaws.ec2#DeleteTags": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateTransitGatewayVpcAttachmentRequest" + "target": "com.amazonaws.ec2#DeleteTagsRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateTransitGatewayVpcAttachmentResult" + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Attaches the specified VPC to the specified transit gateway.

\n

If you attach a VPC with a CIDR range that overlaps the CIDR range of a VPC that is already attached,\n the new VPC CIDR range is not propagated to the default propagation route table.

\n

To send VPC traffic to an attached transit gateway, add a route to the VPC route table using CreateRoute.

" + "smithy.api#documentation": "

Deletes the specified set of tags from the specified set of resources.

\n

To list the current tags, use DescribeTags. For more information about\n tags, see Tag\n your Amazon EC2 resources in the Amazon Elastic Compute Cloud User\n Guide.

" } }, - "com.amazonaws.ec2#CreateTransitGatewayVpcAttachmentRequest": { + "com.amazonaws.ec2#DeleteTagsRequest": { "type": "structure", "members": { - "TransitGatewayId": { - "target": "com.amazonaws.ec2#TransitGatewayId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the transit gateway.

", - "smithy.api#required": {} - } - }, - "VpcId": { - "target": "com.amazonaws.ec2#VpcId", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the VPC.

", - "smithy.api#required": {} + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "SubnetIds": { - "target": "com.amazonaws.ec2#TransitGatewaySubnetIdList", + "Resources": { + "target": "com.amazonaws.ec2#ResourceIdList", "traits": { + "aws.protocols#ec2QueryName": "ResourceId", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IDs of one or more subnets. You can specify only one subnet per Availability Zone. \n You must specify at least one subnet, but we recommend that you specify two subnets for better availability.\n The transit gateway uses one IP address from each specified subnet.

", - "smithy.api#required": {} - } - }, - "Options": { - "target": "com.amazonaws.ec2#CreateTransitGatewayVpcAttachmentRequestOptions", - "traits": { - "smithy.api#documentation": "

The VPC attachment options.

" - } - }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", - "traits": { - "smithy.api#documentation": "

The tags to apply to the VPC attachment.

" + "smithy.api#documentation": "

The IDs of the resources, separated by spaces.

\n

Constraints: Up to 1000 resource IDs. We recommend breaking up this request into smaller batches.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "resourceId" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "Tag", + "smithy.api#documentation": "

The tags to delete. Specify a tag key and an optional tag value to delete\n specific tags. If you specify a tag key without a tag value, we delete any tag with this\n key regardless of its value. If you specify a tag key with an empty string as the tag\n value, we delete the tag only if its value is an empty string.

\n

If you omit this parameter, we delete all user-defined tags for the specified\n resources. We do not delete Amazon Web Services-generated tags (tags that have the aws:\n prefix).

\n

Constraints: Up to 1000 tags.

", + "smithy.api#xmlName": "tag" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateTransitGatewayVpcAttachmentRequestOptions": { + "com.amazonaws.ec2#DeleteTrafficMirrorFilter": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteTrafficMirrorFilterRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeleteTrafficMirrorFilterResult" + }, + "traits": { + "smithy.api#documentation": "

Deletes the specified Traffic Mirror filter.

\n

You cannot delete a Traffic Mirror filter that is in use by a Traffic Mirror session.

" + } + }, + "com.amazonaws.ec2#DeleteTrafficMirrorFilterRequest": { "type": "structure", "members": { - "DnsSupport": { - "target": "com.amazonaws.ec2#DnsSupportValue", - "traits": { - "smithy.api#documentation": "

Enable or disable DNS support. The default is enable.

" - } - }, - "Ipv6Support": { - "target": "com.amazonaws.ec2#Ipv6SupportValue", + "TrafficMirrorFilterId": { + "target": "com.amazonaws.ec2#TrafficMirrorFilterId", "traits": { - "smithy.api#documentation": "

Enable or disable IPv6 support. The default is disable.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Traffic Mirror filter.

", + "smithy.api#required": {} } }, - "ApplianceModeSupport": { - "target": "com.amazonaws.ec2#ApplianceModeSupportValue", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

Enable or disable support for appliance mode. If enabled, a traffic flow between a source and destination uses the same Availability Zone for the VPC attachment for the lifetime of that flow. The default is disable.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Describes the options for a VPC attachment.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateTransitGatewayVpcAttachmentResult": { + "com.amazonaws.ec2#DeleteTrafficMirrorFilterResult": { "type": "structure", "members": { - "TransitGatewayVpcAttachment": { - "target": "com.amazonaws.ec2#TransitGatewayVpcAttachment", + "TrafficMirrorFilterId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayVpcAttachment", - "smithy.api#documentation": "

Information about the VPC attachment.

", - "smithy.api#xmlName": "transitGatewayVpcAttachment" + "aws.protocols#ec2QueryName": "TrafficMirrorFilterId", + "smithy.api#documentation": "

The ID of the Traffic Mirror filter.

", + "smithy.api#xmlName": "trafficMirrorFilterId" } } } }, - "com.amazonaws.ec2#CreateVolume": { + "com.amazonaws.ec2#DeleteTrafficMirrorFilterRule": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateVolumeRequest" + "target": "com.amazonaws.ec2#DeleteTrafficMirrorFilterRuleRequest" }, "output": { - "target": "com.amazonaws.ec2#Volume" + "target": "com.amazonaws.ec2#DeleteTrafficMirrorFilterRuleResult" }, "traits": { - "smithy.api#documentation": "

Creates an EBS volume that can be attached to an instance in the same Availability Zone.

\n

You can create a new empty volume or restore a volume from an EBS snapshot.\n Any Amazon Web Services Marketplace product codes from the snapshot are propagated to the volume.

\n

You can create encrypted volumes. Encrypted volumes must be attached to instances that \n support Amazon EBS encryption. Volumes that are created from encrypted snapshots are also automatically \n encrypted. For more information, see Amazon EBS encryption\n in the Amazon Elastic Compute Cloud User Guide.

\n

You can tag your volumes during creation. For more information, see Tag your Amazon EC2\n resources in the Amazon Elastic Compute Cloud User Guide.

\n

For more information, see Create an Amazon EBS volume in the\n Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Deletes the specified Traffic Mirror rule.

" } }, - "com.amazonaws.ec2#CreateVolumePermission": { + "com.amazonaws.ec2#DeleteTrafficMirrorFilterRuleRequest": { "type": "structure", "members": { - "Group": { - "target": "com.amazonaws.ec2#PermissionGroup", + "TrafficMirrorFilterRuleId": { + "target": "com.amazonaws.ec2#TrafficMirrorFilterRuleId", "traits": { - "aws.protocols#ec2QueryName": "Group", - "smithy.api#documentation": "

The group to be added or removed. The possible value is all.

", - "smithy.api#xmlName": "group" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Traffic Mirror rule.

", + "smithy.api#required": {} } }, - "UserId": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "UserId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account to be added or removed.

", - "smithy.api#xmlName": "userId" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Describes the user or group to be added or removed from the list of create volume\n permissions for a volume.

" - } - }, - "com.amazonaws.ec2#CreateVolumePermissionList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#CreateVolumePermission", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateVolumePermissionModifications": { + "com.amazonaws.ec2#DeleteTrafficMirrorFilterRuleResult": { "type": "structure", "members": { - "Add": { - "target": "com.amazonaws.ec2#CreateVolumePermissionList", - "traits": { - "smithy.api#documentation": "

Adds the specified Amazon Web Services account ID or group to the list.

" - } - }, - "Remove": { - "target": "com.amazonaws.ec2#CreateVolumePermissionList", + "TrafficMirrorFilterRuleId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

Removes the specified Amazon Web Services account ID or group from the list.

" + "aws.protocols#ec2QueryName": "TrafficMirrorFilterRuleId", + "smithy.api#documentation": "

The ID of the deleted Traffic Mirror rule.

", + "smithy.api#xmlName": "trafficMirrorFilterRuleId" } } + } + }, + "com.amazonaws.ec2#DeleteTrafficMirrorSession": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteTrafficMirrorSessionRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeleteTrafficMirrorSessionResult" }, "traits": { - "smithy.api#documentation": "

Describes modifications to the list of create volume permissions for a volume.

" + "smithy.api#documentation": "

Deletes the specified Traffic Mirror session.

" } }, - "com.amazonaws.ec2#CreateVolumeRequest": { + "com.amazonaws.ec2#DeleteTrafficMirrorSessionRequest": { "type": "structure", "members": { - "AvailabilityZone": { - "target": "com.amazonaws.ec2#String", + "TrafficMirrorSessionId": { + "target": "com.amazonaws.ec2#TrafficMirrorSessionId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The Availability Zone in which to create the volume.

", + "smithy.api#documentation": "

The ID of the Traffic Mirror session.

", "smithy.api#required": {} } }, - "Encrypted": { + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Encrypted", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the volume should be encrypted. \n The effect of setting the encryption state to true depends on \nthe volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. \n For more information, see Encryption by default\n in the Amazon Elastic Compute Cloud User Guide.

\n

Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. \n For more information, see Supported\n instance types.

", - "smithy.api#xmlName": "encrypted" - } - }, - "Iops": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents \n the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline \n performance of the volume and the rate at which the volume accumulates I/O credits for bursting.

\n

The following are the supported values for each volume type:

\n
    \n
  • \n

    \n gp3: 3,000-16,000 IOPS

    \n
  • \n
  • \n

    \n io1: 100-64,000 IOPS

    \n
  • \n
  • \n

    \n io2: 100-64,000 IOPS

    \n
  • \n
\n

\n io1 and io2 volumes support up to 64,000 IOPS only on \n Instances built on the Nitro System. Other instance families support performance \n up to 32,000 IOPS.

\n

This parameter is required for io1 and io2 volumes.\n The default for gp3 volumes is 3,000 IOPS.\n This parameter is not supported for gp2, st1, sc1, or standard volumes.

" - } - }, - "KmsKeyId": { - "target": "com.amazonaws.ec2#KmsKeyId", - "traits": { - "smithy.api#documentation": "

The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption.\n If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is\n specified, the encrypted state must be true.

\n

You can specify the KMS key using any of the following:

\n
    \n
  • \n

    Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

    \n
  • \n
  • \n

    Key alias. For example, alias/ExampleAlias.

    \n
  • \n
  • \n

    Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

    \n
  • \n
  • \n

    Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

    \n
  • \n
\n

Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, \n the action can appear to complete, but eventually fails.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - }, - "OutpostArn": { + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DeleteTrafficMirrorSessionResult": { + "type": "structure", + "members": { + "TrafficMirrorSessionId": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Outpost.

" + "aws.protocols#ec2QueryName": "TrafficMirrorSessionId", + "smithy.api#documentation": "

The ID of the deleted Traffic Mirror session.

", + "smithy.api#xmlName": "trafficMirrorSessionId" } - }, - "Size": { - "target": "com.amazonaws.ec2#Integer", + } + } + }, + "com.amazonaws.ec2#DeleteTrafficMirrorTarget": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteTrafficMirrorTargetRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeleteTrafficMirrorTargetResult" + }, + "traits": { + "smithy.api#documentation": "

Deletes the specified Traffic Mirror target.

\n

You cannot delete a Traffic Mirror target that is in use by a Traffic Mirror session.

" + } + }, + "com.amazonaws.ec2#DeleteTrafficMirrorTargetRequest": { + "type": "structure", + "members": { + "TrafficMirrorTargetId": { + "target": "com.amazonaws.ec2#TrafficMirrorTargetId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size.\n If you specify a snapshot, the default is the snapshot size. You can specify a volume \n size that is equal to or larger than the snapshot size.

\n

The following are the supported volumes sizes for each volume type:

\n
    \n
  • \n

    \n gp2 and gp3: 1-16,384

    \n
  • \n
  • \n

    \n io1 and io2: 4-16,384

    \n
  • \n
  • \n

    \n st1 and sc1: 125-16,384

    \n
  • \n
  • \n

    \n standard: 1-1,024

    \n
  • \n
" - } - }, - "SnapshotId": { - "target": "com.amazonaws.ec2#SnapshotId", - "traits": { - "smithy.api#documentation": "

The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.

" - } - }, - "VolumeType": { - "target": "com.amazonaws.ec2#VolumeType", - "traits": { - "smithy.api#documentation": "

The volume type. This parameter can be one of the following values:

\n
    \n
  • \n

    General Purpose SSD: gp2 | gp3\n

    \n
  • \n
  • \n

    Provisioned IOPS SSD: io1 | io2\n

    \n
  • \n
  • \n

    Throughput Optimized HDD: st1\n

    \n
  • \n
  • \n

    Cold HDD: sc1\n

    \n
  • \n
  • \n

    Magnetic: standard\n

    \n
  • \n
\n

For more information, see Amazon EBS volume types in the\n Amazon Elastic Compute Cloud User Guide.

\n

Default: gp2\n

" + "smithy.api#documentation": "

The ID of the Traffic Mirror target.

", + "smithy.api#required": {} } }, "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" - } - }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", - "traits": { - "smithy.api#documentation": "

The tags to apply to the volume during creation.

", - "smithy.api#xmlName": "TagSpecification" - } - }, - "MultiAttachEnabled": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the \n \tvolume to up to 16 Instances built on the Nitro System in the same Availability Zone. This parameter is \n \tsupported with io1 and io2 volumes only. For more information, \n \tsee \n \t\tAmazon EBS Multi-Attach in the Amazon Elastic Compute Cloud User Guide.

" - } - }, - "Throughput": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The throughput to provision for a volume, with a maximum of 1,000 MiB/s.

\n

This parameter is valid only for gp3 volumes.

\n \t

Valid Range: Minimum value of 125. Maximum value of 1000.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - }, - "ClientToken": { + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DeleteTrafficMirrorTargetResult": { + "type": "structure", + "members": { + "TrafficMirrorTargetId": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency \n of the request. For more information, see Ensure \n Idempotency.

", - "smithy.api#idempotencyToken": {} + "aws.protocols#ec2QueryName": "TrafficMirrorTargetId", + "smithy.api#documentation": "

The ID of the deleted Traffic Mirror target.

", + "smithy.api#xmlName": "trafficMirrorTargetId" } } } }, - "com.amazonaws.ec2#CreateVpc": { + "com.amazonaws.ec2#DeleteTransitGateway": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateVpcRequest" + "target": "com.amazonaws.ec2#DeleteTransitGatewayRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateVpcResult" + "target": "com.amazonaws.ec2#DeleteTransitGatewayResult" }, "traits": { - "smithy.api#documentation": "

Creates a VPC with the specified IPv4 CIDR block. The smallest VPC you can create\n\t\t\tuses a /28 netmask (16 IPv4 addresses), and the largest uses a /16 netmask (65,536 IPv4\n\t\t\taddresses). For more information about how large to make your VPC, see Your VPC and\n\t\t\t\tsubnets in the Amazon Virtual Private Cloud User Guide.

\n

You can optionally request an IPv6 CIDR block for the VPC. You can request an Amazon-provided \n IPv6 CIDR block from Amazon's pool of IPv6 addresses, or an IPv6 CIDR block from an IPv6 address \n pool that you provisioned through bring your own IP addresses (BYOIP).

\n\t

By default, each instance you launch in the VPC has the default DHCP options, which\n\t\t\tinclude only a default DNS server that we provide (AmazonProvidedDNS). For more\n\t\t\tinformation, see DHCP options sets in the Amazon Virtual Private Cloud User Guide.

\n

You can specify the instance tenancy value for the VPC when you create it. You can't change\n this value for the VPC after you create it. For more information, see Dedicated Instances in the\n Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Deletes the specified transit gateway.

" } }, - "com.amazonaws.ec2#CreateVpcEndpoint": { + "com.amazonaws.ec2#DeleteTransitGatewayConnect": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateVpcEndpointRequest" + "target": "com.amazonaws.ec2#DeleteTransitGatewayConnectRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateVpcEndpointResult" + "target": "com.amazonaws.ec2#DeleteTransitGatewayConnectResult" }, "traits": { - "smithy.api#documentation": "

Creates a VPC endpoint for a specified service. An endpoint enables you to create a\n private connection between your VPC and the service. The service may be provided by Amazon Web Services,\n an Amazon Web Services Marketplace Partner, or another Amazon Web Services account. For more information, \n see the Amazon Web Services PrivateLink Guide.

" + "smithy.api#documentation": "

Deletes the specified Connect attachment. You must first delete any Connect peers for\n the attachment.

" } }, - "com.amazonaws.ec2#CreateVpcEndpointConnectionNotification": { + "com.amazonaws.ec2#DeleteTransitGatewayConnectPeer": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateVpcEndpointConnectionNotificationRequest" + "target": "com.amazonaws.ec2#DeleteTransitGatewayConnectPeerRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateVpcEndpointConnectionNotificationResult" + "target": "com.amazonaws.ec2#DeleteTransitGatewayConnectPeerResult" }, "traits": { - "smithy.api#documentation": "

Creates a connection notification for a specified VPC endpoint or VPC endpoint\n service. A connection notification notifies you of specific endpoint events. You must\n create an SNS topic to receive notifications. For more information, see Create a Topic in\n the Amazon Simple Notification Service Developer Guide.

\n

You can create a connection notification for interface endpoints only.

" + "smithy.api#documentation": "

Deletes the specified Connect peer.

" } }, - "com.amazonaws.ec2#CreateVpcEndpointConnectionNotificationRequest": { + "com.amazonaws.ec2#DeleteTransitGatewayConnectPeerRequest": { "type": "structure", "members": { + "TransitGatewayConnectPeerId": { + "target": "com.amazonaws.ec2#TransitGatewayConnectPeerId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Connect peer.

", + "smithy.api#required": {} + } + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -19025,67 +22952,85 @@ "smithy.api#default": false, "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - }, - "ServiceId": { - "target": "com.amazonaws.ec2#VpcEndpointServiceId", - "traits": { - "smithy.api#documentation": "

The ID of the endpoint service.

" - } - }, - "VpcEndpointId": { - "target": "com.amazonaws.ec2#VpcEndpointId", - "traits": { - "smithy.api#documentation": "

The ID of the endpoint.

" - } - }, - "ConnectionNotificationArn": { - "target": "com.amazonaws.ec2#String", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DeleteTransitGatewayConnectPeerResult": { + "type": "structure", + "members": { + "TransitGatewayConnectPeer": { + "target": "com.amazonaws.ec2#TransitGatewayConnectPeer", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ARN of the SNS topic for the notifications.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "TransitGatewayConnectPeer", + "smithy.api#documentation": "

Information about the deleted Connect peer.

", + "smithy.api#xmlName": "transitGatewayConnectPeer" } - }, - "ConnectionEvents": { - "target": "com.amazonaws.ec2#ValueStringList", + } + } + }, + "com.amazonaws.ec2#DeleteTransitGatewayConnectRequest": { + "type": "structure", + "members": { + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

One or more endpoint events for which to receive notifications. Valid values are\n Accept, Connect, Delete, and\n Reject.

", + "smithy.api#documentation": "

The ID of the Connect attachment.

", "smithy.api#required": {} } }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. For more information, see How to ensure\n idempotency.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateVpcEndpointConnectionNotificationResult": { + "com.amazonaws.ec2#DeleteTransitGatewayConnectResult": { "type": "structure", "members": { - "ConnectionNotification": { - "target": "com.amazonaws.ec2#ConnectionNotification", - "traits": { - "aws.protocols#ec2QueryName": "ConnectionNotification", - "smithy.api#documentation": "

Information about the notification.

", - "smithy.api#xmlName": "connectionNotification" - } - }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", + "TransitGatewayConnect": { + "target": "com.amazonaws.ec2#TransitGatewayConnect", "traits": { - "aws.protocols#ec2QueryName": "ClientToken", - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request.

", - "smithy.api#xmlName": "clientToken" + "aws.protocols#ec2QueryName": "TransitGatewayConnect", + "smithy.api#documentation": "

Information about the deleted Connect attachment.

", + "smithy.api#xmlName": "transitGatewayConnect" } } } }, - "com.amazonaws.ec2#CreateVpcEndpointRequest": { + "com.amazonaws.ec2#DeleteTransitGatewayMulticastDomain": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteTransitGatewayMulticastDomainRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeleteTransitGatewayMulticastDomainResult" + }, + "traits": { + "smithy.api#documentation": "

Deletes the specified transit gateway multicast domain.

" + } + }, + "com.amazonaws.ec2#DeleteTransitGatewayMulticastDomainRequest": { "type": "structure", "members": { + "TransitGatewayMulticastDomainId": { + "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

", + "smithy.api#required": {} + } + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -19093,862 +23038,710 @@ "smithy.api#default": false, "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - }, - "VpcEndpointType": { - "target": "com.amazonaws.ec2#VpcEndpointType", - "traits": { - "smithy.api#documentation": "

The type of endpoint.

\n

Default: Gateway

" - } - }, - "VpcId": { - "target": "com.amazonaws.ec2#VpcId", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DeleteTransitGatewayMulticastDomainResult": { + "type": "structure", + "members": { + "TransitGatewayMulticastDomain": { + "target": "com.amazonaws.ec2#TransitGatewayMulticastDomain", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the VPC in which the endpoint will be used.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "TransitGatewayMulticastDomain", + "smithy.api#documentation": "

Information about the deleted transit gateway multicast domain.

", + "smithy.api#xmlName": "transitGatewayMulticastDomain" } - }, - "ServiceName": { - "target": "com.amazonaws.ec2#String", + } + } + }, + "com.amazonaws.ec2#DeleteTransitGatewayPeeringAttachment": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteTransitGatewayPeeringAttachmentRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeleteTransitGatewayPeeringAttachmentResult" + }, + "traits": { + "smithy.api#documentation": "

Deletes a transit gateway peering attachment.

" + } + }, + "com.amazonaws.ec2#DeleteTransitGatewayPeeringAttachmentRequest": { + "type": "structure", + "members": { + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The service name. To get a list of available services, use the DescribeVpcEndpointServices request, or get the name from the service\n provider.

", + "smithy.api#documentation": "

The ID of the transit gateway peering attachment.

", "smithy.api#required": {} } }, - "PolicyDocument": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

(Interface and gateway endpoints) A policy to attach to the endpoint that controls access to the\n service. The policy must be in valid JSON format. If this parameter is not specified, we\n attach a default policy that allows full access to the service.

" - } - }, - "RouteTableIds": { - "target": "com.amazonaws.ec2#VpcEndpointRouteTableIdList", - "traits": { - "smithy.api#documentation": "

(Gateway endpoint) One or more route table IDs.

", - "smithy.api#xmlName": "RouteTableId" - } - }, - "SubnetIds": { - "target": "com.amazonaws.ec2#VpcEndpointSubnetIdList", - "traits": { - "smithy.api#documentation": "

(Interface and Gateway Load Balancer endpoints) The ID of one or more subnets in which to create an endpoint\n network interface. For a Gateway Load Balancer endpoint, you can specify one subnet only.

", - "smithy.api#xmlName": "SubnetId" - } - }, - "SecurityGroupIds": { - "target": "com.amazonaws.ec2#VpcEndpointSecurityGroupIdList", - "traits": { - "smithy.api#documentation": "

(Interface endpoint) The ID of one or more security groups to associate with the\n endpoint network interface.

", - "smithy.api#xmlName": "SecurityGroupId" - } - }, - "IpAddressType": { - "target": "com.amazonaws.ec2#IpAddressType", - "traits": { - "smithy.api#documentation": "

The IP address type for the endpoint.

" - } - }, - "DnsOptions": { - "target": "com.amazonaws.ec2#DnsOptionsSpecification", - "traits": { - "smithy.api#documentation": "

The DNS options for the endpoint.

" - } - }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. For more information, see How to ensure\n idempotency.

" - } - }, - "PrivateDnsEnabled": { + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

(Interface endpoint) Indicates whether to associate a private hosted zone with the\n specified VPC. The private hosted zone contains a record set for the default public DNS\n name for the service for the Region (for example,\n kinesis.us-east-1.amazonaws.com), which resolves to the private IP\n addresses of the endpoint network interfaces in the VPC. This enables you to make\n requests to the default public DNS name for the service instead of the public DNS names\n that are automatically generated by the VPC endpoint service.

\n

To use a private hosted zone, you must set the following VPC attributes to\n true: enableDnsHostnames and\n enableDnsSupport. Use ModifyVpcAttribute to set the VPC\n attributes.

\n

Default: true\n

" - } - }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", - "traits": { - "smithy.api#documentation": "

The tags to associate with the endpoint.

", - "smithy.api#xmlName": "TagSpecification" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for CreateVpcEndpoint.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateVpcEndpointResult": { + "com.amazonaws.ec2#DeleteTransitGatewayPeeringAttachmentResult": { "type": "structure", "members": { - "VpcEndpoint": { - "target": "com.amazonaws.ec2#VpcEndpoint", - "traits": { - "aws.protocols#ec2QueryName": "VpcEndpoint", - "smithy.api#documentation": "

Information about the endpoint.

", - "smithy.api#xmlName": "vpcEndpoint" - } - }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", + "TransitGatewayPeeringAttachment": { + "target": "com.amazonaws.ec2#TransitGatewayPeeringAttachment", "traits": { - "aws.protocols#ec2QueryName": "ClientToken", - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request.

", - "smithy.api#xmlName": "clientToken" + "aws.protocols#ec2QueryName": "TransitGatewayPeeringAttachment", + "smithy.api#documentation": "

The transit gateway peering attachment.

", + "smithy.api#xmlName": "transitGatewayPeeringAttachment" } } - }, - "traits": { - "smithy.api#documentation": "

Contains the output of CreateVpcEndpoint.

" } }, - "com.amazonaws.ec2#CreateVpcEndpointServiceConfiguration": { + "com.amazonaws.ec2#DeleteTransitGatewayPolicyTable": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateVpcEndpointServiceConfigurationRequest" + "target": "com.amazonaws.ec2#DeleteTransitGatewayPolicyTableRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateVpcEndpointServiceConfigurationResult" + "target": "com.amazonaws.ec2#DeleteTransitGatewayPolicyTableResult" }, "traits": { - "smithy.api#documentation": "

Creates a VPC endpoint service to which service consumers (Amazon Web Services accounts,\n IAM users, and IAM roles) can connect.

\n

Before you create an endpoint service, you must create one of the following for your service:

\n
    \n
  • \n

    A Network Load Balancer. \n Service consumers connect to your service using an interface endpoint.

    \n
  • \n
  • \n

    A Gateway Load Balancer. \n Service consumers connect to your service using a Gateway Load Balancer endpoint.

    \n
  • \n
\n

If you set the private DNS name, you must prove that you own the private DNS domain\n name.

\n\t

For more information, see the Amazon Web Services PrivateLink \n\t Guide.

" + "smithy.api#documentation": "

Deletes the specified transit gateway policy table.

" } }, - "com.amazonaws.ec2#CreateVpcEndpointServiceConfigurationRequest": { + "com.amazonaws.ec2#DeleteTransitGatewayPolicyTableRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "TransitGatewayPolicyTableId": { + "target": "com.amazonaws.ec2#TransitGatewayPolicyTableId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The transit gateway policy table to delete.

", + "smithy.api#required": {} } }, - "AcceptanceRequired": { + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether requests from service consumers to create an endpoint to your service must\n be accepted manually.

" - } - }, - "PrivateDnsName": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

(Interface endpoint configuration) The private DNS name to assign to the VPC endpoint service.

" - } - }, - "NetworkLoadBalancerArns": { - "target": "com.amazonaws.ec2#ValueStringList", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of one or more Network Load Balancers for your\n service.

", - "smithy.api#xmlName": "NetworkLoadBalancerArn" - } - }, - "GatewayLoadBalancerArns": { - "target": "com.amazonaws.ec2#ValueStringList", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of one or more Gateway Load Balancers.

", - "smithy.api#xmlName": "GatewayLoadBalancerArn" - } - }, - "SupportedIpAddressTypes": { - "target": "com.amazonaws.ec2#ValueStringList", - "traits": { - "smithy.api#documentation": "

The supported IP address types. The possible values are ipv4 and ipv6.

", - "smithy.api#xmlName": "SupportedIpAddressType" - } - }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.\n For more information, see How to ensure\n idempotency.

" - } - }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", - "traits": { - "smithy.api#documentation": "

The tags to associate with the service.

", - "smithy.api#xmlName": "TagSpecification" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateVpcEndpointServiceConfigurationResult": { + "com.amazonaws.ec2#DeleteTransitGatewayPolicyTableResult": { "type": "structure", "members": { - "ServiceConfiguration": { - "target": "com.amazonaws.ec2#ServiceConfiguration", - "traits": { - "aws.protocols#ec2QueryName": "ServiceConfiguration", - "smithy.api#documentation": "

Information about the service configuration.

", - "smithy.api#xmlName": "serviceConfiguration" - } - }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", + "TransitGatewayPolicyTable": { + "target": "com.amazonaws.ec2#TransitGatewayPolicyTable", "traits": { - "aws.protocols#ec2QueryName": "ClientToken", - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request.

", - "smithy.api#xmlName": "clientToken" + "aws.protocols#ec2QueryName": "TransitGatewayPolicyTable", + "smithy.api#documentation": "

Provides details about the deleted transit gateway policy table.

", + "smithy.api#xmlName": "transitGatewayPolicyTable" } } } }, - "com.amazonaws.ec2#CreateVpcPeeringConnection": { + "com.amazonaws.ec2#DeleteTransitGatewayPrefixListReference": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateVpcPeeringConnectionRequest" + "target": "com.amazonaws.ec2#DeleteTransitGatewayPrefixListReferenceRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateVpcPeeringConnectionResult" + "target": "com.amazonaws.ec2#DeleteTransitGatewayPrefixListReferenceResult" }, "traits": { - "smithy.api#documentation": "

Requests a VPC peering connection between two VPCs: a requester VPC that you own and\n\t\t an accepter VPC with which to create the connection. The accepter VPC can belong to\n\t\t another Amazon Web Services account and can be in a different Region to the requester VPC. \n The requester VPC and accepter VPC cannot have overlapping CIDR blocks.

\n \n

Limitations and rules apply to a VPC peering connection. For more information, see \n the limitations section in the VPC Peering Guide.

\n
\n

The owner of the accepter VPC must accept the peering request to activate the peering\n connection. The VPC peering connection request expires after 7 days, after which it\n cannot be accepted or rejected.

\n

If you create a VPC peering connection request between VPCs with overlapping CIDR\n blocks, the VPC peering connection has a status of failed.

" + "smithy.api#documentation": "

Deletes a reference (route) to a prefix list in a specified transit gateway route table.

" } }, - "com.amazonaws.ec2#CreateVpcPeeringConnectionRequest": { + "com.amazonaws.ec2#DeleteTransitGatewayPrefixListReferenceRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "TransitGatewayRouteTableId": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" - } - }, - "PeerOwnerId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "PeerOwnerId", - "smithy.api#documentation": "

The Amazon Web Services account ID of the owner of the accepter VPC.

\n

Default: Your Amazon Web Services account ID

", - "smithy.api#xmlName": "peerOwnerId" - } - }, - "PeerVpcId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "PeerVpcId", - "smithy.api#documentation": "

The ID of the VPC with which you are creating the VPC peering connection. You must\n\t\t\tspecify this parameter in the request.

", - "smithy.api#xmlName": "peerVpcId" - } - }, - "VpcId": { - "target": "com.amazonaws.ec2#VpcId", - "traits": { - "aws.protocols#ec2QueryName": "VpcId", - "smithy.api#documentation": "

The ID of the requester VPC. You must specify this parameter in the\n\t\t\trequest.

", - "smithy.api#xmlName": "vpcId" + "smithy.api#documentation": "

The ID of the route table.

", + "smithy.api#required": {} } }, - "PeerRegion": { - "target": "com.amazonaws.ec2#String", + "PrefixListId": { + "target": "com.amazonaws.ec2#PrefixListResourceId", "traits": { - "smithy.api#documentation": "

The Region code for the accepter VPC, if the accepter VPC is located in a Region\n other than the Region in which you make the request.

\n\t\t

Default: The Region in which you make the request.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the prefix list.

", + "smithy.api#required": {} } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The tags to assign to the peering connection.

", - "smithy.api#xmlName": "TagSpecification" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateVpcPeeringConnectionResult": { + "com.amazonaws.ec2#DeleteTransitGatewayPrefixListReferenceResult": { "type": "structure", "members": { - "VpcPeeringConnection": { - "target": "com.amazonaws.ec2#VpcPeeringConnection", + "TransitGatewayPrefixListReference": { + "target": "com.amazonaws.ec2#TransitGatewayPrefixListReference", "traits": { - "aws.protocols#ec2QueryName": "VpcPeeringConnection", - "smithy.api#documentation": "

Information about the VPC peering connection.

", - "smithy.api#xmlName": "vpcPeeringConnection" + "aws.protocols#ec2QueryName": "TransitGatewayPrefixListReference", + "smithy.api#documentation": "

Information about the deleted prefix list reference.

", + "smithy.api#xmlName": "transitGatewayPrefixListReference" } } } }, - "com.amazonaws.ec2#CreateVpcRequest": { + "com.amazonaws.ec2#DeleteTransitGatewayRequest": { "type": "structure", "members": { - "CidrBlock": { - "target": "com.amazonaws.ec2#String", + "TransitGatewayId": { + "target": "com.amazonaws.ec2#TransitGatewayId", "traits": { - "smithy.api#documentation": "

The IPv4 network range for the VPC, in CIDR notation. For example,\n\t\t 10.0.0.0/16. We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the transit gateway.

", + "smithy.api#required": {} } }, - "AmazonProvidedIpv6CidrBlock": { + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "AmazonProvidedIpv6CidrBlock", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC.\n You cannot specify the range of IP addresses, or the size of the CIDR block.

", - "smithy.api#xmlName": "amazonProvidedIpv6CidrBlock" - } - }, - "Ipv6Pool": { - "target": "com.amazonaws.ec2#Ipv6PoolEc2Id", - "traits": { - "smithy.api#documentation": "

The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.

" - } - }, - "Ipv6CidrBlock": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool in the request.

\n

To let Amazon choose the IPv6 CIDR block for you, omit this parameter.

" - } - }, - "Ipv4IpamPoolId": { - "target": "com.amazonaws.ec2#IpamPoolId", - "traits": { - "smithy.api#documentation": "

The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. For more information, see What is IPAM? in the Amazon VPC IPAM User Guide.\n \n

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - }, - "Ipv4NetmaskLength": { - "target": "com.amazonaws.ec2#NetmaskLength", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DeleteTransitGatewayResult": { + "type": "structure", + "members": { + "TransitGateway": { + "target": "com.amazonaws.ec2#TransitGateway", "traits": { - "smithy.api#documentation": "

The netmask length of the IPv4 CIDR you want to allocate to this VPC from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.

" + "aws.protocols#ec2QueryName": "TransitGateway", + "smithy.api#documentation": "

Information about the deleted transit gateway.

", + "smithy.api#xmlName": "transitGateway" } - }, - "Ipv6IpamPoolId": { - "target": "com.amazonaws.ec2#IpamPoolId", + } + } + }, + "com.amazonaws.ec2#DeleteTransitGatewayRoute": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteTransitGatewayRouteRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeleteTransitGatewayRouteResult" + }, + "traits": { + "smithy.api#documentation": "

Deletes the specified route from the specified transit gateway route table.

" + } + }, + "com.amazonaws.ec2#DeleteTransitGatewayRouteRequest": { + "type": "structure", + "members": { + "TransitGatewayRouteTableId": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", "traits": { - "smithy.api#documentation": "

The ID of an IPv6 IPAM pool which will be used to allocate this VPC an IPv6 CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across Amazon Web Services Regions and accounts throughout your Amazon Web Services Organization. For more information, see What is IPAM? in the Amazon VPC IPAM User Guide.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the transit gateway route table.

", + "smithy.api#required": {} } }, - "Ipv6NetmaskLength": { - "target": "com.amazonaws.ec2#NetmaskLength", + "DestinationCidrBlock": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The netmask length of the IPv6 CIDR you want to allocate to this VPC from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The CIDR range for the route. This must match the CIDR for the route exactly.

", + "smithy.api#required": {} } }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" - } - }, - "InstanceTenancy": { - "target": "com.amazonaws.ec2#Tenancy", - "traits": { - "aws.protocols#ec2QueryName": "InstanceTenancy", - "smithy.api#documentation": "

The tenancy options for instances launched into the VPC. For default, instances\n are launched with shared tenancy by default. You can launch instances with any tenancy into a\n shared tenancy VPC. For dedicated, instances are launched as dedicated tenancy\n instances by default. You can only launch instances with a tenancy of dedicated\n or host into a dedicated tenancy VPC.

\n

\n Important: The host value cannot be used with this parameter. Use the default or dedicated values only.

\n

Default: default\n

", - "smithy.api#xmlName": "instanceTenancy" - } - }, - "Ipv6CidrBlockNetworkBorderGroup": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The name of the location from which we advertise the IPV6 CIDR block. Use this parameter to limit the address to this location.

\n

You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.

" - } - }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", - "traits": { - "smithy.api#documentation": "

The tags to assign to the VPC.

", - "smithy.api#xmlName": "TagSpecification" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateVpcResult": { + "com.amazonaws.ec2#DeleteTransitGatewayRouteResult": { "type": "structure", "members": { - "Vpc": { - "target": "com.amazonaws.ec2#Vpc", + "Route": { + "target": "com.amazonaws.ec2#TransitGatewayRoute", "traits": { - "aws.protocols#ec2QueryName": "Vpc", - "smithy.api#documentation": "

Information about the VPC.

", - "smithy.api#xmlName": "vpc" + "aws.protocols#ec2QueryName": "Route", + "smithy.api#documentation": "

Information about the route.

", + "smithy.api#xmlName": "route" } } } }, - "com.amazonaws.ec2#CreateVpnConnection": { + "com.amazonaws.ec2#DeleteTransitGatewayRouteTable": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateVpnConnectionRequest" + "target": "com.amazonaws.ec2#DeleteTransitGatewayRouteTableRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateVpnConnectionResult" + "target": "com.amazonaws.ec2#DeleteTransitGatewayRouteTableResult" }, "traits": { - "smithy.api#documentation": "

Creates a VPN connection between an existing virtual private gateway or transit\n gateway and a customer gateway. The supported connection type is\n ipsec.1.

\n

The response includes information that you need to give to your network administrator\n to configure your customer gateway.

\n \n

We strongly recommend that you use HTTPS when calling this operation because the\n response contains sensitive cryptographic information for configuring your customer\n gateway device.

\n
\n

If you decide to shut down your VPN connection for any reason and later create a new\n VPN connection, you must reconfigure your customer gateway with the new information\n returned from this call.

\n

This is an idempotent operation. If you perform the operation more than once, Amazon\n EC2 doesn't return an error.

\n

For more information, see Amazon Web Services Site-to-Site VPN in the Amazon Web Services Site-to-Site VPN\n User Guide.

" + "smithy.api#documentation": "

Deletes the specified transit gateway route table. You must disassociate the route table from any\n transit gateway route tables before you can delete it.

" } }, - "com.amazonaws.ec2#CreateVpnConnectionRequest": { + "com.amazonaws.ec2#DeleteTransitGatewayRouteTableAnnouncement": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteTransitGatewayRouteTableAnnouncementRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeleteTransitGatewayRouteTableAnnouncementResult" + }, + "traits": { + "smithy.api#documentation": "

Advertises to the transit gateway that a transit gateway route table is deleted.

" + } + }, + "com.amazonaws.ec2#DeleteTransitGatewayRouteTableAnnouncementRequest": { "type": "structure", "members": { - "CustomerGatewayId": { - "target": "com.amazonaws.ec2#CustomerGatewayId", + "TransitGatewayRouteTableAnnouncementId": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the customer gateway.

", + "smithy.api#documentation": "

The transit gateway route table ID that's being deleted.

", "smithy.api#required": {} } }, - "Type": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The type of VPN connection (ipsec.1).

", - "smithy.api#required": {} + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - }, - "VpnGatewayId": { - "target": "com.amazonaws.ec2#VpnGatewayId", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DeleteTransitGatewayRouteTableAnnouncementResult": { + "type": "structure", + "members": { + "TransitGatewayRouteTableAnnouncement": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncement", "traits": { - "smithy.api#documentation": "

The ID of the virtual private gateway. If you specify a virtual private gateway, you\n cannot specify a transit gateway.

" + "aws.protocols#ec2QueryName": "TransitGatewayRouteTableAnnouncement", + "smithy.api#documentation": "

Provides details about a deleted transit gateway route table.

", + "smithy.api#xmlName": "transitGatewayRouteTableAnnouncement" } - }, - "TransitGatewayId": { - "target": "com.amazonaws.ec2#TransitGatewayId", + } + } + }, + "com.amazonaws.ec2#DeleteTransitGatewayRouteTableRequest": { + "type": "structure", + "members": { + "TransitGatewayRouteTableId": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", "traits": { - "smithy.api#documentation": "

The ID of the transit gateway. If you specify a transit gateway, you cannot specify a virtual private\n gateway.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the transit gateway route table.

", + "smithy.api#required": {} } }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" - } - }, - "Options": { - "target": "com.amazonaws.ec2#VpnConnectionOptionsSpecification", - "traits": { - "aws.protocols#ec2QueryName": "Options", - "smithy.api#documentation": "

The options for the VPN connection.

", - "smithy.api#xmlName": "options" - } - }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", - "traits": { - "smithy.api#documentation": "

The tags to apply to the VPN connection.

", - "smithy.api#xmlName": "TagSpecification" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for CreateVpnConnection.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateVpnConnectionResult": { + "com.amazonaws.ec2#DeleteTransitGatewayRouteTableResult": { "type": "structure", "members": { - "VpnConnection": { - "target": "com.amazonaws.ec2#VpnConnection", + "TransitGatewayRouteTable": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTable", "traits": { - "aws.protocols#ec2QueryName": "VpnConnection", - "smithy.api#documentation": "

Information about the VPN connection.

", - "smithy.api#xmlName": "vpnConnection" + "aws.protocols#ec2QueryName": "TransitGatewayRouteTable", + "smithy.api#documentation": "

Information about the deleted transit gateway route table.

", + "smithy.api#xmlName": "transitGatewayRouteTable" } } - }, - "traits": { - "smithy.api#documentation": "

Contains the output of CreateVpnConnection.

" } }, - "com.amazonaws.ec2#CreateVpnConnectionRoute": { + "com.amazonaws.ec2#DeleteTransitGatewayVpcAttachment": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateVpnConnectionRouteRequest" + "target": "com.amazonaws.ec2#DeleteTransitGatewayVpcAttachmentRequest" }, "output": { - "target": "smithy.api#Unit" + "target": "com.amazonaws.ec2#DeleteTransitGatewayVpcAttachmentResult" }, "traits": { - "smithy.api#documentation": "

Creates a static route associated with a VPN connection between an existing virtual\n private gateway and a VPN customer gateway. The static route allows traffic to be routed\n from the virtual private gateway to the VPN customer gateway.

\n

For more information, see Amazon Web Services Site-to-Site VPN in the Amazon Web Services Site-to-Site VPN\n User Guide.

" + "smithy.api#documentation": "

Deletes the specified VPC attachment.

" } }, - "com.amazonaws.ec2#CreateVpnConnectionRouteRequest": { + "com.amazonaws.ec2#DeleteTransitGatewayVpcAttachmentRequest": { "type": "structure", "members": { - "DestinationCidrBlock": { - "target": "com.amazonaws.ec2#String", + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The CIDR block associated with the local subnet of the customer network.

", + "smithy.api#documentation": "

The ID of the attachment.

", "smithy.api#required": {} } }, - "VpnConnectionId": { - "target": "com.amazonaws.ec2#VpnConnectionId", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the VPN connection.

", - "smithy.api#required": {} + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for CreateVpnConnectionRoute.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateVpnGateway": { + "com.amazonaws.ec2#DeleteTransitGatewayVpcAttachmentResult": { + "type": "structure", + "members": { + "TransitGatewayVpcAttachment": { + "target": "com.amazonaws.ec2#TransitGatewayVpcAttachment", + "traits": { + "aws.protocols#ec2QueryName": "TransitGatewayVpcAttachment", + "smithy.api#documentation": "

Information about the deleted VPC attachment.

", + "smithy.api#xmlName": "transitGatewayVpcAttachment" + } + } + } + }, + "com.amazonaws.ec2#DeleteVerifiedAccessEndpoint": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#CreateVpnGatewayRequest" + "target": "com.amazonaws.ec2#DeleteVerifiedAccessEndpointRequest" }, "output": { - "target": "com.amazonaws.ec2#CreateVpnGatewayResult" + "target": "com.amazonaws.ec2#DeleteVerifiedAccessEndpointResult" }, "traits": { - "smithy.api#documentation": "

Creates a virtual private gateway. A virtual private gateway is the endpoint on the\n VPC side of your VPN connection. You can create a virtual private gateway before\n creating the VPC itself.

\n

For more information, see Amazon Web Services Site-to-Site VPN in the Amazon Web Services Site-to-Site VPN\n User Guide.

" + "smithy.api#documentation": "

Delete an Amazon Web Services Verified Access endpoint.

" } }, - "com.amazonaws.ec2#CreateVpnGatewayRequest": { + "com.amazonaws.ec2#DeleteVerifiedAccessEndpointRequest": { "type": "structure", "members": { - "AvailabilityZone": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The Availability Zone for the virtual private gateway.

" - } - }, - "Type": { - "target": "com.amazonaws.ec2#GatewayType", + "VerifiedAccessEndpointId": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The type of VPN connection this virtual private gateway supports.

", + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access endpoint.

", "smithy.api#required": {} } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", - "traits": { - "smithy.api#documentation": "

The tags to apply to the virtual private gateway.

", - "smithy.api#xmlName": "TagSpecification" - } - }, - "AmazonSideAsn": { - "target": "com.amazonaws.ec2#Long", + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

A private Autonomous System Number (ASN) for the Amazon side of a BGP session. If\n you're using a 16-bit ASN, it must be in the 64512 to 65534 range. If you're using a\n 32-bit ASN, it must be in the 4200000000 to 4294967294 range.

\n

Default: 64512

" + "smithy.api#documentation": "

A unique, case-sensitive token that you provide to ensure idempotency of your\n modification request. For more information, see Ensuring Idempotency.

", + "smithy.api#idempotencyToken": {} } }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for CreateVpnGateway.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CreateVpnGatewayResult": { + "com.amazonaws.ec2#DeleteVerifiedAccessEndpointResult": { "type": "structure", "members": { - "VpnGateway": { - "target": "com.amazonaws.ec2#VpnGateway", + "VerifiedAccessEndpoint": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpoint", "traits": { - "aws.protocols#ec2QueryName": "VpnGateway", - "smithy.api#documentation": "

Information about the virtual private gateway.

", - "smithy.api#xmlName": "vpnGateway" + "aws.protocols#ec2QueryName": "VerifiedAccessEndpoint", + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access endpoint.

", + "smithy.api#xmlName": "verifiedAccessEndpoint" } } - }, - "traits": { - "smithy.api#documentation": "

Contains the output of CreateVpnGateway.

" } }, - "com.amazonaws.ec2#CreditSpecification": { - "type": "structure", - "members": { - "CpuCredits": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "CpuCredits", - "smithy.api#documentation": "

The credit option for CPU usage of a T instance.

\n

Valid values: standard | unlimited\n

", - "smithy.api#xmlName": "cpuCredits" - } - } + "com.amazonaws.ec2#DeleteVerifiedAccessGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteVerifiedAccessGroupRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeleteVerifiedAccessGroupResult" }, "traits": { - "smithy.api#documentation": "

Describes the credit option for CPU usage of a T instance.

" + "smithy.api#documentation": "

Delete an Amazon Web Services Verified Access group.

" } }, - "com.amazonaws.ec2#CreditSpecificationRequest": { + "com.amazonaws.ec2#DeleteVerifiedAccessGroupRequest": { "type": "structure", "members": { - "CpuCredits": { - "target": "com.amazonaws.ec2#String", + "VerifiedAccessGroupId": { + "target": "com.amazonaws.ec2#VerifiedAccessGroupId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The credit option for CPU usage of a T instance.

\n

Valid values: standard | unlimited\n

", + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access group.

", "smithy.api#required": {} } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

A unique, case-sensitive token that you provide to ensure idempotency of your\n modification request. For more information, see Ensuring Idempotency.

", + "smithy.api#idempotencyToken": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } } }, "traits": { - "smithy.api#documentation": "

The credit option for CPU usage of a T instance.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#CurrencyCodeValues": { - "type": "enum", + "com.amazonaws.ec2#DeleteVerifiedAccessGroupResult": { + "type": "structure", "members": { - "USD": { - "target": "smithy.api#Unit", + "VerifiedAccessGroup": { + "target": "com.amazonaws.ec2#VerifiedAccessGroup", "traits": { - "smithy.api#enumValue": "USD" + "aws.protocols#ec2QueryName": "VerifiedAccessGroup", + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access group.

", + "smithy.api#xmlName": "verifiedAccessGroup" } } } }, - "com.amazonaws.ec2#CurrentGenerationFlag": { - "type": "boolean" + "com.amazonaws.ec2#DeleteVerifiedAccessInstance": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteVerifiedAccessInstanceRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeleteVerifiedAccessInstanceResult" + }, + "traits": { + "smithy.api#documentation": "

Delete an Amazon Web Services Verified Access instance.

" + } }, - "com.amazonaws.ec2#CustomerGateway": { + "com.amazonaws.ec2#DeleteVerifiedAccessInstanceRequest": { "type": "structure", "members": { - "BgpAsn": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "BgpAsn", - "smithy.api#documentation": "

The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number\n (ASN).

", - "smithy.api#xmlName": "bgpAsn" - } - }, - "CustomerGatewayId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "CustomerGatewayId", - "smithy.api#documentation": "

The ID of the customer gateway.

", - "smithy.api#xmlName": "customerGatewayId" - } - }, - "IpAddress": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "IpAddress", - "smithy.api#documentation": "

The IP address of the customer gateway device's outside interface.

", - "smithy.api#xmlName": "ipAddress" - } - }, - "CertificateArn": { - "target": "com.amazonaws.ec2#String", + "VerifiedAccessInstanceId": { + "target": "com.amazonaws.ec2#VerifiedAccessInstanceId", "traits": { - "aws.protocols#ec2QueryName": "CertificateArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the customer gateway certificate.

", - "smithy.api#xmlName": "certificateArn" - } - }, - "State": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The current state of the customer gateway (pending | available | deleting |\n deleted).

", - "smithy.api#xmlName": "state" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access instance.

", + "smithy.api#required": {} } }, - "Type": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Type", - "smithy.api#documentation": "

The type of VPN connection the customer gateway supports\n (ipsec.1).

", - "smithy.api#xmlName": "type" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "DeviceName": { + "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DeviceName", - "smithy.api#documentation": "

The name of customer gateway device.

", - "smithy.api#xmlName": "deviceName" - } - }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", - "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags assigned to the customer gateway.

", - "smithy.api#xmlName": "tagSet" + "smithy.api#documentation": "

A unique, case-sensitive token that you provide to ensure idempotency of your\n modification request. For more information, see Ensuring Idempotency.

", + "smithy.api#idempotencyToken": {} } } }, "traits": { - "smithy.api#documentation": "

Describes a customer gateway.

" - } - }, - "com.amazonaws.ec2#CustomerGatewayId": { - "type": "string" - }, - "com.amazonaws.ec2#CustomerGatewayIdStringList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#CustomerGatewayId", - "traits": { - "smithy.api#xmlName": "CustomerGatewayId" - } - } - }, - "com.amazonaws.ec2#CustomerGatewayList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#CustomerGateway", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DITMaxResults": { - "type": "integer", - "traits": { - "smithy.api#range": { - "min": 5, - "max": 100 + "com.amazonaws.ec2#DeleteVerifiedAccessInstanceResult": { + "type": "structure", + "members": { + "VerifiedAccessInstance": { + "target": "com.amazonaws.ec2#VerifiedAccessInstance", + "traits": { + "aws.protocols#ec2QueryName": "VerifiedAccessInstance", + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access instance.

", + "smithy.api#xmlName": "verifiedAccessInstance" + } } } }, - "com.amazonaws.ec2#DITOMaxResults": { - "type": "integer", + "com.amazonaws.ec2#DeleteVerifiedAccessTrustProvider": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteVerifiedAccessTrustProviderRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeleteVerifiedAccessTrustProviderResult" + }, "traits": { - "smithy.api#range": { - "min": 5, - "max": 1000 - } + "smithy.api#documentation": "

Delete an Amazon Web Services Verified Access trust provider.

" } }, - "com.amazonaws.ec2#DatafeedSubscriptionState": { - "type": "enum", + "com.amazonaws.ec2#DeleteVerifiedAccessTrustProviderRequest": { + "type": "structure", "members": { - "Active": { - "target": "smithy.api#Unit", + "VerifiedAccessTrustProviderId": { + "target": "com.amazonaws.ec2#VerifiedAccessTrustProviderId", "traits": { - "smithy.api#enumValue": "Active" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access trust provider.

", + "smithy.api#required": {} } }, - "Inactive": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Inactive" - } - } - } - }, - "com.amazonaws.ec2#DateTime": { - "type": "timestamp" - }, - "com.amazonaws.ec2#DedicatedHostFlag": { - "type": "boolean" - }, - "com.amazonaws.ec2#DedicatedHostId": { - "type": "string" - }, - "com.amazonaws.ec2#DedicatedHostIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#DedicatedHostId", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#DefaultNetworkCardIndex": { - "type": "integer" - }, - "com.amazonaws.ec2#DefaultRouteTableAssociationValue": { - "type": "enum", - "members": { - "enable": { - "target": "smithy.api#Unit", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "enable" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "disable": { - "target": "smithy.api#Unit", + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "disable" + "smithy.api#documentation": "

A unique, case-sensitive token that you provide to ensure idempotency of your\n modification request. For more information, see Ensuring Idempotency.

", + "smithy.api#idempotencyToken": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DefaultRouteTablePropagationValue": { - "type": "enum", + "com.amazonaws.ec2#DeleteVerifiedAccessTrustProviderResult": { + "type": "structure", "members": { - "enable": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "enable" - } - }, - "disable": { - "target": "smithy.api#Unit", + "VerifiedAccessTrustProvider": { + "target": "com.amazonaws.ec2#VerifiedAccessTrustProvider", "traits": { - "smithy.api#enumValue": "disable" + "aws.protocols#ec2QueryName": "VerifiedAccessTrustProvider", + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access trust provider.

", + "smithy.api#xmlName": "verifiedAccessTrustProvider" } } } }, - "com.amazonaws.ec2#DefaultTargetCapacityType": { - "type": "enum", + "com.amazonaws.ec2#DeleteVolume": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteVolumeRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "

Deletes the specified EBS volume. The volume must be in the available state\n (not attached to an instance).

\n

The volume can remain in the deleting state for several minutes.

\n

For more information, see Delete an Amazon EBS volume in the\n Amazon Elastic Compute Cloud User Guide.

" + } + }, + "com.amazonaws.ec2#DeleteVolumeRequest": { + "type": "structure", "members": { - "SPOT": { - "target": "smithy.api#Unit", + "VolumeId": { + "target": "com.amazonaws.ec2#VolumeId", "traits": { - "smithy.api#enumValue": "spot" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the volume.

", + "smithy.api#required": {} } }, - "ON_DEMAND": { - "target": "smithy.api#Unit", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "on-demand" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DefaultingDhcpOptionsId": { - "type": "string" + "com.amazonaws.ec2#DeleteVpc": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteVpcRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "

Deletes the specified VPC. You must detach or delete all gateways and resources that are associated with the VPC before you can delete it. For example, you must terminate all instances running in the VPC, delete all security groups associated with the VPC (except the default one), delete all route tables associated with the VPC (except the default one), and so on.

" + } }, - "com.amazonaws.ec2#DeleteCarrierGateway": { + "com.amazonaws.ec2#DeleteVpcEndpointConnectionNotifications": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteCarrierGatewayRequest" + "target": "com.amazonaws.ec2#DeleteVpcEndpointConnectionNotificationsRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteCarrierGatewayResult" + "target": "com.amazonaws.ec2#DeleteVpcEndpointConnectionNotificationsResult" }, "traits": { - "smithy.api#documentation": "

Deletes a carrier gateway.

\n \n

If you do not delete the route that contains the carrier gateway as the\n Target, the route is a blackhole route. For information about how to delete a route, see \n DeleteRoute.

\n
" + "smithy.api#documentation": "

Deletes the specified VPC endpoint connection notifications.

" } }, - "com.amazonaws.ec2#DeleteCarrierGatewayRequest": { + "com.amazonaws.ec2#DeleteVpcEndpointConnectionNotificationsRequest": { "type": "structure", "members": { - "CarrierGatewayId": { - "target": "com.amazonaws.ec2#CarrierGatewayId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the carrier gateway.

", - "smithy.api#required": {} - } - }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -19956,247 +23749,311 @@ "smithy.api#default": false, "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } + }, + "ConnectionNotificationIds": { + "target": "com.amazonaws.ec2#ConnectionNotificationIdsList", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The IDs of the notifications.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "ConnectionNotificationId" + } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteCarrierGatewayResult": { + "com.amazonaws.ec2#DeleteVpcEndpointConnectionNotificationsResult": { "type": "structure", "members": { - "CarrierGateway": { - "target": "com.amazonaws.ec2#CarrierGateway", + "Unsuccessful": { + "target": "com.amazonaws.ec2#UnsuccessfulItemSet", "traits": { - "aws.protocols#ec2QueryName": "CarrierGateway", - "smithy.api#documentation": "

Information about the carrier gateway.

", - "smithy.api#xmlName": "carrierGateway" + "aws.protocols#ec2QueryName": "Unsuccessful", + "smithy.api#documentation": "

Information about the notifications that could not be deleted\n successfully.

", + "smithy.api#xmlName": "unsuccessful" } } } }, - "com.amazonaws.ec2#DeleteClientVpnEndpoint": { + "com.amazonaws.ec2#DeleteVpcEndpointServiceConfigurations": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteClientVpnEndpointRequest" + "target": "com.amazonaws.ec2#DeleteVpcEndpointServiceConfigurationsRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteClientVpnEndpointResult" + "target": "com.amazonaws.ec2#DeleteVpcEndpointServiceConfigurationsResult" }, "traits": { - "smithy.api#documentation": "

Deletes the specified Client VPN endpoint. You must disassociate all target networks before you \n\t\t\tcan delete a Client VPN endpoint.

" + "smithy.api#documentation": "

Deletes the specified VPC endpoint service configurations. Before you can delete\n an endpoint service configuration, you must reject any Available or\n PendingAcceptance interface endpoint connections that are attached to\n the service.

" } }, - "com.amazonaws.ec2#DeleteClientVpnEndpointRequest": { + "com.amazonaws.ec2#DeleteVpcEndpointServiceConfigurationsRequest": { "type": "structure", "members": { - "ClientVpnEndpointId": { - "target": "com.amazonaws.ec2#ClientVpnEndpointId", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Client VPN to be deleted.

", - "smithy.api#required": {} + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "ServiceIds": { + "target": "com.amazonaws.ec2#VpcEndpointServiceIdList", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The IDs of the services.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "ServiceId" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteClientVpnEndpointResult": { + "com.amazonaws.ec2#DeleteVpcEndpointServiceConfigurationsResult": { "type": "structure", "members": { - "Status": { - "target": "com.amazonaws.ec2#ClientVpnEndpointStatus", + "Unsuccessful": { + "target": "com.amazonaws.ec2#UnsuccessfulItemSet", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The current state of the Client VPN endpoint.

", - "smithy.api#xmlName": "status" + "aws.protocols#ec2QueryName": "Unsuccessful", + "smithy.api#documentation": "

Information about the service configurations that were not deleted, if\n applicable.

", + "smithy.api#xmlName": "unsuccessful" } } } }, - "com.amazonaws.ec2#DeleteClientVpnRoute": { + "com.amazonaws.ec2#DeleteVpcEndpoints": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteClientVpnRouteRequest" + "target": "com.amazonaws.ec2#DeleteVpcEndpointsRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteClientVpnRouteResult" + "target": "com.amazonaws.ec2#DeleteVpcEndpointsResult" }, "traits": { - "smithy.api#documentation": "

Deletes a route from a Client VPN endpoint. You can only delete routes that you manually added using \n\t\t\tthe CreateClientVpnRoute action. You cannot delete routes that were \n\t\t\tautomatically added when associating a subnet. To remove routes that have been automatically added, \n\t\t\tdisassociate the target subnet from the Client VPN endpoint.

" + "smithy.api#documentation": "

Deletes the specified VPC endpoints.

\n

When you delete a gateway endpoint, we delete the endpoint routes in the route tables for the endpoint.

\n

When you delete a Gateway Load Balancer endpoint, we delete its endpoint network interfaces. \n You can only delete Gateway Load Balancer endpoints when the routes that are associated with the endpoint are deleted.

\n

When you delete an interface endpoint, we delete its endpoint network interfaces.

" } }, - "com.amazonaws.ec2#DeleteClientVpnRouteRequest": { + "com.amazonaws.ec2#DeleteVpcEndpointsRequest": { "type": "structure", "members": { - "ClientVpnEndpointId": { - "target": "com.amazonaws.ec2#ClientVpnEndpointId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Client VPN endpoint from which the route is to be deleted.

", - "smithy.api#required": {} - } - }, - "TargetVpcSubnetId": { - "target": "com.amazonaws.ec2#SubnetId", - "traits": { - "smithy.api#documentation": "

The ID of the target subnet used by the route.

" - } - }, - "DestinationCidrBlock": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IPv4 address range, in CIDR notation, of the route to be deleted.

", - "smithy.api#required": {} + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "VpcEndpointIds": { + "target": "com.amazonaws.ec2#VpcEndpointIdList", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The IDs of the VPC endpoints.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "VpcEndpointId" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteClientVpnRouteResult": { + "com.amazonaws.ec2#DeleteVpcEndpointsResult": { "type": "structure", - "members": { - "Status": { - "target": "com.amazonaws.ec2#ClientVpnRouteStatus", + "members": { + "Unsuccessful": { + "target": "com.amazonaws.ec2#UnsuccessfulItemSet", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The current state of the route.

", - "smithy.api#xmlName": "status" + "aws.protocols#ec2QueryName": "Unsuccessful", + "smithy.api#documentation": "

Information about the VPC endpoints that were not successfully deleted.

", + "smithy.api#xmlName": "unsuccessful" } } } }, - "com.amazonaws.ec2#DeleteCoipCidr": { + "com.amazonaws.ec2#DeleteVpcPeeringConnection": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteCoipCidrRequest" + "target": "com.amazonaws.ec2#DeleteVpcPeeringConnectionRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteCoipCidrResult" + "target": "com.amazonaws.ec2#DeleteVpcPeeringConnectionResult" }, "traits": { - "smithy.api#documentation": "

\n Deletes a range of customer-owned IP addresses.\n

" + "smithy.api#documentation": "

Deletes a VPC peering connection. Either the owner of the requester VPC or the owner\n of the accepter VPC can delete the VPC peering connection if it's in the\n active state. The owner of the requester VPC can delete a VPC peering\n connection in the pending-acceptance state. You cannot delete a VPC peering\n connection that's in the failed state.

" } }, - "com.amazonaws.ec2#DeleteCoipCidrRequest": { + "com.amazonaws.ec2#DeleteVpcPeeringConnectionRequest": { "type": "structure", "members": { - "Cidr": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

A customer-owned IP address range that you want to delete.

", - "smithy.api#required": {} + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "CoipPoolId": { - "target": "com.amazonaws.ec2#Ipv4PoolCoipId", + "VpcPeeringConnectionId": { + "target": "com.amazonaws.ec2#VpcPeeringConnectionId", "traits": { + "aws.protocols#ec2QueryName": "VpcPeeringConnectionId", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

\n The ID of the customer-owned address pool. \n

", - "smithy.api#required": {} + "smithy.api#documentation": "

The ID of the VPC peering connection.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "vpcPeeringConnectionId" } - }, - "DryRun": { + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DeleteVpcPeeringConnectionResult": { + "type": "structure", + "members": { + "Return": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "Return", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "smithy.api#xmlName": "return" } } } }, - "com.amazonaws.ec2#DeleteCoipCidrResult": { + "com.amazonaws.ec2#DeleteVpcRequest": { "type": "structure", "members": { - "CoipCidr": { - "target": "com.amazonaws.ec2#CoipCidr", + "VpcId": { + "target": "com.amazonaws.ec2#VpcId", "traits": { - "aws.protocols#ec2QueryName": "CoipCidr", - "smithy.api#documentation": "

\n Information about a range of customer-owned IP addresses.\n

", - "smithy.api#xmlName": "coipCidr" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the VPC.

", + "smithy.api#required": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteCoipPool": { + "com.amazonaws.ec2#DeleteVpnConnection": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteCoipPoolRequest" + "target": "com.amazonaws.ec2#DeleteVpnConnectionRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteCoipPoolResult" + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Deletes a pool of customer-owned IP (CoIP) addresses.

" + "smithy.api#documentation": "

Deletes the specified VPN connection.

\n

If you're deleting the VPC and its associated components, we recommend that you detach\n the virtual private gateway from the VPC and delete the VPC before deleting the VPN\n connection. If you believe that the tunnel credentials for your VPN connection have been\n compromised, you can delete the VPN connection and create a new one that has new keys,\n without needing to delete the VPC or virtual private gateway. If you create a new VPN\n connection, you must reconfigure the customer gateway device using the new configuration\n information returned with the new VPN connection ID.

\n

For certificate-based authentication, delete all Certificate Manager (ACM) private\n certificates used for the Amazon Web Services-side tunnel endpoints for the VPN\n connection before deleting the VPN connection.

" } }, - "com.amazonaws.ec2#DeleteCoipPoolRequest": { + "com.amazonaws.ec2#DeleteVpnConnectionRequest": { "type": "structure", "members": { - "CoipPoolId": { - "target": "com.amazonaws.ec2#Ipv4PoolCoipId", + "VpnConnectionId": { + "target": "com.amazonaws.ec2#VpnConnectionId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the CoIP pool that you want to delete.

", + "smithy.api#documentation": "

The ID of the VPN connection.

", "smithy.api#required": {} } }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for DeleteVpnConnection.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteCoipPoolResult": { + "com.amazonaws.ec2#DeleteVpnConnectionRoute": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteVpnConnectionRouteRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "

Deletes the specified static route associated with a VPN connection between an\n existing virtual private gateway and a VPN customer gateway. The static route allows\n traffic to be routed from the virtual private gateway to the VPN customer\n gateway.

" + } + }, + "com.amazonaws.ec2#DeleteVpnConnectionRouteRequest": { "type": "structure", "members": { - "CoipPool": { - "target": "com.amazonaws.ec2#CoipPool", + "DestinationCidrBlock": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CoipPool", - "smithy.api#xmlName": "coipPool" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The CIDR block associated with the local subnet of the customer network.

", + "smithy.api#required": {} + } + }, + "VpnConnectionId": { + "target": "com.amazonaws.ec2#VpnConnectionId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the VPN connection.

", + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for DeleteVpnConnectionRoute.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteCustomerGateway": { + "com.amazonaws.ec2#DeleteVpnGateway": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteCustomerGatewayRequest" + "target": "com.amazonaws.ec2#DeleteVpnGatewayRequest" }, "output": { "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Deletes the specified customer gateway. You must delete the VPN connection before you\n can delete the customer gateway.

" + "smithy.api#documentation": "

Deletes the specified virtual private gateway. You must first detach the virtual\n private gateway from the VPC. Note that you don't need to delete the virtual private\n gateway if you plan to delete and recreate the VPN connection between your VPC and your\n network.

" } }, - "com.amazonaws.ec2#DeleteCustomerGatewayRequest": { + "com.amazonaws.ec2#DeleteVpnGatewayRequest": { "type": "structure", "members": { - "CustomerGatewayId": { - "target": "com.amazonaws.ec2#CustomerGatewayId", + "VpnGatewayId": { + "target": "com.amazonaws.ec2#VpnGatewayId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the customer gateway.

", + "smithy.api#documentation": "

The ID of the virtual private gateway.

", "smithy.api#required": {} } }, @@ -20212,57 +24069,72 @@ } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for DeleteCustomerGateway.

" + "smithy.api#documentation": "

Contains the parameters for DeleteVpnGateway.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteDhcpOptions": { + "com.amazonaws.ec2#DeprovisionByoipCidr": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteDhcpOptionsRequest" + "target": "com.amazonaws.ec2#DeprovisionByoipCidrRequest" }, "output": { - "target": "smithy.api#Unit" + "target": "com.amazonaws.ec2#DeprovisionByoipCidrResult" }, "traits": { - "smithy.api#documentation": "

Deletes the specified set of DHCP options. You must disassociate the set of DHCP options before you can delete it. You can disassociate the set of DHCP options by associating either a new set of options or the default set of options with the VPC.

" + "smithy.api#documentation": "

Releases the specified address range that you provisioned for use with your Amazon Web Services resources\n through bring your own IP addresses (BYOIP) and deletes the corresponding address pool.

\n

Before you can release an address range, you must stop advertising it using WithdrawByoipCidr and you must not have any IP addresses allocated from its\n address range.

" } }, - "com.amazonaws.ec2#DeleteDhcpOptionsRequest": { + "com.amazonaws.ec2#DeprovisionByoipCidrRequest": { "type": "structure", "members": { - "DhcpOptionsId": { - "target": "com.amazonaws.ec2#DhcpOptionsId", + "Cidr": { + "target": "com.amazonaws.ec2#String", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the DHCP options set.

", + "smithy.api#documentation": "

The address range, in CIDR notation. The prefix must be the same prefix \n that you specified when you provisioned the address range.

", "smithy.api#required": {} } }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteEgressOnlyInternetGateway": { + "com.amazonaws.ec2#DeprovisionByoipCidrResult": { + "type": "structure", + "members": { + "ByoipCidr": { + "target": "com.amazonaws.ec2#ByoipCidr", + "traits": { + "aws.protocols#ec2QueryName": "ByoipCidr", + "smithy.api#documentation": "

Information about the address range.

", + "smithy.api#xmlName": "byoipCidr" + } + } + } + }, + "com.amazonaws.ec2#DeprovisionIpamPoolCidr": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteEgressOnlyInternetGatewayRequest" + "target": "com.amazonaws.ec2#DeprovisionIpamPoolCidrRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteEgressOnlyInternetGatewayResult" + "target": "com.amazonaws.ec2#DeprovisionIpamPoolCidrResult" }, "traits": { - "smithy.api#documentation": "

Deletes an egress-only internet gateway.

" + "smithy.api#documentation": "

Deprovision a CIDR provisioned from an IPAM pool. If you deprovision a CIDR from a pool that has a source pool, the CIDR is recycled back into the source pool. For more information, see Deprovision pool CIDRs in the Amazon VPC IPAM User Guide.

" } }, - "com.amazonaws.ec2#DeleteEgressOnlyInternetGatewayRequest": { + "com.amazonaws.ec2#DeprovisionIpamPoolCidrRequest": { "type": "structure", "members": { "DryRun": { @@ -20270,174 +24142,167 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "EgressOnlyInternetGatewayId": { - "target": "com.amazonaws.ec2#EgressOnlyInternetGatewayId", + "IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the egress-only internet gateway.

", + "smithy.api#documentation": "

The ID of the pool that has the CIDR you want to deprovision.

", "smithy.api#required": {} } - } - } - }, - "com.amazonaws.ec2#DeleteEgressOnlyInternetGatewayResult": { - "type": "structure", - "members": { - "ReturnCode": { - "target": "com.amazonaws.ec2#Boolean", + }, + "Cidr": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ReturnCode", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "smithy.api#xmlName": "returnCode" + "smithy.api#documentation": "

The CIDR which you want to deprovision from the pool.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteFleetError": { + "com.amazonaws.ec2#DeprovisionIpamPoolCidrResult": { "type": "structure", "members": { - "Code": { - "target": "com.amazonaws.ec2#DeleteFleetErrorCode", - "traits": { - "aws.protocols#ec2QueryName": "Code", - "smithy.api#documentation": "

The error code.

", - "smithy.api#xmlName": "code" - } - }, - "Message": { - "target": "com.amazonaws.ec2#String", + "IpamPoolCidr": { + "target": "com.amazonaws.ec2#IpamPoolCidr", "traits": { - "aws.protocols#ec2QueryName": "Message", - "smithy.api#documentation": "

The description for the error code.

", - "smithy.api#xmlName": "message" + "aws.protocols#ec2QueryName": "IpamPoolCidr", + "smithy.api#documentation": "

The deprovisioned pool CIDR.

", + "smithy.api#xmlName": "ipamPoolCidr" } } + } + }, + "com.amazonaws.ec2#DeprovisionPublicIpv4PoolCidr": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeprovisionPublicIpv4PoolCidrRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeprovisionPublicIpv4PoolCidrResult" }, "traits": { - "smithy.api#documentation": "

Describes an EC2 Fleet error.

" + "smithy.api#documentation": "

Deprovision a CIDR from a public IPv4 pool.

" } }, - "com.amazonaws.ec2#DeleteFleetErrorCode": { - "type": "enum", + "com.amazonaws.ec2#DeprovisionPublicIpv4PoolCidrRequest": { + "type": "structure", "members": { - "FLEET_ID_DOES_NOT_EXIST": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "fleetIdDoesNotExist" - } - }, - "FLEET_ID_MALFORMED": { - "target": "smithy.api#Unit", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "fleetIdMalformed" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "FLEET_NOT_IN_DELETABLE_STATE": { - "target": "smithy.api#Unit", + "PoolId": { + "target": "com.amazonaws.ec2#Ipv4PoolEc2Id", "traits": { - "smithy.api#enumValue": "fleetNotInDeletableState" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the pool that you want to deprovision the CIDR from.

", + "smithy.api#required": {} } }, - "UNEXPECTED_ERROR": { - "target": "smithy.api#Unit", + "Cidr": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "unexpectedError" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The CIDR you want to deprovision from the pool.

", + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteFleetErrorItem": { + "com.amazonaws.ec2#DeprovisionPublicIpv4PoolCidrResult": { "type": "structure", "members": { - "Error": { - "target": "com.amazonaws.ec2#DeleteFleetError", + "PoolId": { + "target": "com.amazonaws.ec2#Ipv4PoolEc2Id", "traits": { - "aws.protocols#ec2QueryName": "Error", - "smithy.api#documentation": "

The error.

", - "smithy.api#xmlName": "error" + "aws.protocols#ec2QueryName": "PoolId", + "smithy.api#documentation": "

The ID of the pool that you deprovisioned the CIDR from.

", + "smithy.api#xmlName": "poolId" } }, - "FleetId": { - "target": "com.amazonaws.ec2#FleetId", + "DeprovisionedAddresses": { + "target": "com.amazonaws.ec2#DeprovisionedAddressSet", "traits": { - "aws.protocols#ec2QueryName": "FleetId", - "smithy.api#documentation": "

The ID of the EC2 Fleet.

", - "smithy.api#xmlName": "fleetId" + "aws.protocols#ec2QueryName": "DeprovisionedAddressSet", + "smithy.api#documentation": "

The deprovisioned CIDRs.

", + "smithy.api#xmlName": "deprovisionedAddressSet" } } - }, - "traits": { - "smithy.api#documentation": "

Describes an EC2 Fleet that was not successfully deleted.

" } }, - "com.amazonaws.ec2#DeleteFleetErrorSet": { + "com.amazonaws.ec2#DeprovisionedAddressSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#DeleteFleetErrorItem", + "target": "com.amazonaws.ec2#String", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#DeleteFleetSuccessItem": { + "com.amazonaws.ec2#DeregisterImage": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeregisterImageRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "

Deregisters the specified AMI. After you deregister an AMI, it can't be used to \n launch new instances.

\n

If you deregister an AMI that matches a Recycle Bin retention rule, the AMI is retained\n in the Recycle Bin for the specified retention period. For more information, see Recycle Bin in\n the Amazon EC2 User Guide.

\n

When you deregister an AMI, it doesn't affect any instances that you've already \n launched from the AMI. You'll continue to incur usage costs for those instances until \n you terminate them.

\n

When you deregister an Amazon EBS-backed AMI, it doesn't affect the snapshot that was\n\t\t\tcreated for the root volume of the instance during the AMI creation process. When you\n\t\t\tderegister an instance store-backed AMI, it doesn't affect the files that you uploaded\n\t\t\tto Amazon S3 when you created the AMI.

" + } + }, + "com.amazonaws.ec2#DeregisterImageRequest": { "type": "structure", "members": { - "CurrentFleetState": { - "target": "com.amazonaws.ec2#FleetStateCode", - "traits": { - "aws.protocols#ec2QueryName": "CurrentFleetState", - "smithy.api#documentation": "

The current state of the EC2 Fleet.

", - "smithy.api#xmlName": "currentFleetState" - } - }, - "PreviousFleetState": { - "target": "com.amazonaws.ec2#FleetStateCode", + "ImageId": { + "target": "com.amazonaws.ec2#ImageId", "traits": { - "aws.protocols#ec2QueryName": "PreviousFleetState", - "smithy.api#documentation": "

The previous state of the EC2 Fleet.

", - "smithy.api#xmlName": "previousFleetState" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the AMI.

", + "smithy.api#required": {} } }, - "FleetId": { - "target": "com.amazonaws.ec2#FleetId", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "FleetId", - "smithy.api#documentation": "

The ID of the EC2 Fleet.

", - "smithy.api#xmlName": "fleetId" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } } }, "traits": { - "smithy.api#documentation": "

Describes an EC2 Fleet that was successfully deleted.

" - } - }, - "com.amazonaws.ec2#DeleteFleetSuccessSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#DeleteFleetSuccessItem", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

Contains the parameters for DeregisterImage.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteFleets": { + "com.amazonaws.ec2#DeregisterInstanceEventNotificationAttributes": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteFleetsRequest" + "target": "com.amazonaws.ec2#DeregisterInstanceEventNotificationAttributesRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteFleetsResult" + "target": "com.amazonaws.ec2#DeregisterInstanceEventNotificationAttributesResult" }, "traits": { - "smithy.api#documentation": "

Deletes the specified EC2 Fleet.

\n

After you delete an EC2 Fleet, it launches no new instances.

\n

You must specify whether a deleted EC2 Fleet should also terminate its instances. If you\n choose to terminate the instances, the EC2 Fleet enters the deleted_terminating\n state. Otherwise, the EC2 Fleet enters the deleted_running state, and the instances\n continue to run until they are interrupted or you terminate them manually.

\n

For instant fleets, EC2 Fleet must terminate the instances when the fleet is\n deleted. A deleted instant fleet with running instances is not\n supported.

\n

\n Restrictions\n

\n
    \n
  • \n

    You can delete up to 25 instant fleets in a single request. If you exceed this\n number, no instant fleets are deleted and an error is returned. There is no\n restriction on the number of fleets of type maintain or request that can be deleted\n in a single request.

    \n
  • \n
  • \n

    Up to 1000 instances can be terminated in a single request to delete\n instant fleets.

    \n
  • \n
\n \n

For more information, see Delete an EC2\n Fleet in the Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Deregisters tag keys to prevent tags that have the specified tag keys from being included\n\t\t\tin scheduled event notifications for resources in the Region.

" } }, - "com.amazonaws.ec2#DeleteFleetsRequest": { + "com.amazonaws.ec2#DeregisterInstanceEventNotificationAttributesRequest": { "type": "structure", "members": { "DryRun": { @@ -20448,62 +24313,86 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "FleetIds": { - "target": "com.amazonaws.ec2#FleetIdSet", + "InstanceTagAttribute": { + "target": "com.amazonaws.ec2#DeregisterInstanceTagAttributeRequest", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IDs of the EC2 Fleets.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "FleetId" + "smithy.api#documentation": "

Information about the tag keys to deregister.

" } - }, - "TerminateInstances": { - "target": "com.amazonaws.ec2#Boolean", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DeregisterInstanceEventNotificationAttributesResult": { + "type": "structure", + "members": { + "InstanceTagAttribute": { + "target": "com.amazonaws.ec2#InstanceTagNotificationAttribute", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to terminate the instances when the EC2 Fleet is deleted. The default is to\n terminate the instances.

\n

To let the instances continue to run after the EC2 Fleet is deleted, specify\n NoTerminateInstances. Supported only for fleets of type\n maintain and request.

\n

For instant fleets, you cannot specify NoTerminateInstances. A\n deleted instant fleet with running instances is not supported.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "InstanceTagAttribute", + "smithy.api#documentation": "

The resulting set of tag keys.

", + "smithy.api#xmlName": "instanceTagAttribute" } } } }, - "com.amazonaws.ec2#DeleteFleetsResult": { + "com.amazonaws.ec2#DeregisterInstanceTagAttributeRequest": { "type": "structure", "members": { - "SuccessfulFleetDeletions": { - "target": "com.amazonaws.ec2#DeleteFleetSuccessSet", + "IncludeAllTagsOfInstance": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "SuccessfulFleetDeletionSet", - "smithy.api#documentation": "

Information about the EC2 Fleets that are successfully deleted.

", - "smithy.api#xmlName": "successfulFleetDeletionSet" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to deregister all tag keys in the current Region. Specify false \n \t\tto deregister all tag keys.

" } }, - "UnsuccessfulFleetDeletions": { - "target": "com.amazonaws.ec2#DeleteFleetErrorSet", + "InstanceTagKeys": { + "target": "com.amazonaws.ec2#InstanceTagKeySet", "traits": { - "aws.protocols#ec2QueryName": "UnsuccessfulFleetDeletionSet", - "smithy.api#documentation": "

Information about the EC2 Fleets that are not successfully deleted.

", - "smithy.api#xmlName": "unsuccessfulFleetDeletionSet" + "smithy.api#documentation": "

Information about the tag keys to deregister.

", + "smithy.api#xmlName": "InstanceTagKey" } } + }, + "traits": { + "smithy.api#documentation": "

Information about the tag keys to deregister for the current Region. You can either specify \n \t\tindividual tag keys or deregister all tag keys in the current Region. You must specify either\n \t\tIncludeAllTagsOfInstance or InstanceTagKeys in the request

" } }, - "com.amazonaws.ec2#DeleteFlowLogs": { + "com.amazonaws.ec2#DeregisterTransitGatewayMulticastGroupMembers": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteFlowLogsRequest" + "target": "com.amazonaws.ec2#DeregisterTransitGatewayMulticastGroupMembersRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteFlowLogsResult" + "target": "com.amazonaws.ec2#DeregisterTransitGatewayMulticastGroupMembersResult" }, "traits": { - "smithy.api#documentation": "

Deletes one or more flow logs.

" + "smithy.api#documentation": "

Deregisters the specified members (network interfaces) from the transit gateway multicast group.

" } }, - "com.amazonaws.ec2#DeleteFlowLogsRequest": { + "com.amazonaws.ec2#DeregisterTransitGatewayMulticastGroupMembersRequest": { "type": "structure", "members": { + "TransitGatewayMulticastDomainId": { + "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainId", + "traits": { + "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

" + } + }, + "GroupIpAddress": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The IP address assigned to the transit gateway multicast group.

" + } + }, + "NetworkInterfaceIds": { + "target": "com.amazonaws.ec2#TransitGatewayNetworkInterfaceIdList", + "traits": { + "smithy.api#documentation": "

The IDs of the group members' network interfaces.

" + } + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -20511,342 +24400,337 @@ "smithy.api#default": false, "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - }, - "FlowLogIds": { - "target": "com.amazonaws.ec2#FlowLogIdList", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

One or more flow log IDs.

\n

Constraint: Maximum of 1000 flow log IDs.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "FlowLogId" - } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteFlowLogsResult": { + "com.amazonaws.ec2#DeregisterTransitGatewayMulticastGroupMembersResult": { "type": "structure", "members": { - "Unsuccessful": { - "target": "com.amazonaws.ec2#UnsuccessfulItemSet", + "DeregisteredMulticastGroupMembers": { + "target": "com.amazonaws.ec2#TransitGatewayMulticastDeregisteredGroupMembers", "traits": { - "aws.protocols#ec2QueryName": "Unsuccessful", - "smithy.api#documentation": "

Information about the flow logs that could not be deleted successfully.

", - "smithy.api#xmlName": "unsuccessful" + "aws.protocols#ec2QueryName": "DeregisteredMulticastGroupMembers", + "smithy.api#documentation": "

Information about the deregistered members.

", + "smithy.api#xmlName": "deregisteredMulticastGroupMembers" } } } }, - "com.amazonaws.ec2#DeleteFpgaImage": { + "com.amazonaws.ec2#DeregisterTransitGatewayMulticastGroupSources": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteFpgaImageRequest" + "target": "com.amazonaws.ec2#DeregisterTransitGatewayMulticastGroupSourcesRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteFpgaImageResult" + "target": "com.amazonaws.ec2#DeregisterTransitGatewayMulticastGroupSourcesResult" }, "traits": { - "smithy.api#documentation": "

Deletes the specified Amazon FPGA Image (AFI).

" + "smithy.api#documentation": "

Deregisters the specified sources (network interfaces) from the transit gateway multicast group.

" } }, - "com.amazonaws.ec2#DeleteFpgaImageRequest": { + "com.amazonaws.ec2#DeregisterTransitGatewayMulticastGroupSourcesRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "TransitGatewayMulticastDomainId": { + "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainId", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

" } }, - "FpgaImageId": { - "target": "com.amazonaws.ec2#FpgaImageId", + "GroupIpAddress": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The IP address assigned to the transit gateway multicast group.

" + } + }, + "NetworkInterfaceIds": { + "target": "com.amazonaws.ec2#TransitGatewayNetworkInterfaceIdList", + "traits": { + "smithy.api#documentation": "

The IDs of the group sources' network interfaces.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the AFI.

", - "smithy.api#required": {} + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteFpgaImageResult": { + "com.amazonaws.ec2#DeregisterTransitGatewayMulticastGroupSourcesResult": { "type": "structure", "members": { - "Return": { - "target": "com.amazonaws.ec2#Boolean", + "DeregisteredMulticastGroupSources": { + "target": "com.amazonaws.ec2#TransitGatewayMulticastDeregisteredGroupSources", "traits": { - "aws.protocols#ec2QueryName": "Return", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Is true if the request succeeds, and an error otherwise.

", - "smithy.api#xmlName": "return" + "aws.protocols#ec2QueryName": "DeregisteredMulticastGroupSources", + "smithy.api#documentation": "

Information about the deregistered group sources.

", + "smithy.api#xmlName": "deregisteredMulticastGroupSources" } } } }, - "com.amazonaws.ec2#DeleteInstanceEventWindow": { + "com.amazonaws.ec2#DescribeAccountAttributes": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteInstanceEventWindowRequest" + "target": "com.amazonaws.ec2#DescribeAccountAttributesRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteInstanceEventWindowResult" + "target": "com.amazonaws.ec2#DescribeAccountAttributesResult" }, "traits": { - "smithy.api#documentation": "

Deletes the specified event window.

\n

For more information, see Define event windows for scheduled\n events in the Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Describes attributes of your Amazon Web Services account. The following are the supported account attributes:

\n
    \n
  • \n

    \n supported-platforms: Indicates whether your account can launch instances\n into EC2-Classic and EC2-VPC, or only into EC2-VPC.

    \n
  • \n
  • \n

    \n default-vpc: The ID of the default VPC for your account, or\n none.

    \n
  • \n
  • \n

    \n max-instances: This attribute is no longer supported. The returned\n value does not reflect your actual vCPU limit for running On-Demand Instances.\n For more information, see On-Demand Instance Limits in the\n Amazon Elastic Compute Cloud User Guide.

    \n
  • \n
  • \n

    \n vpc-max-security-groups-per-interface: The maximum number of security groups\n that you can assign to a network interface.

    \n
  • \n
  • \n

    \n max-elastic-ips: The maximum number of Elastic IP addresses that you can\n allocate for use with EC2-Classic.

    \n
  • \n
  • \n

    \n vpc-max-elastic-ips: The maximum number of Elastic IP addresses that you can\n allocate for use with EC2-VPC.

    \n
  • \n
\n \n

We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon EC2 User Guide.

\n
" } }, - "com.amazonaws.ec2#DeleteInstanceEventWindowRequest": { + "com.amazonaws.ec2#DescribeAccountAttributesRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "AttributeNames": { + "target": "com.amazonaws.ec2#AccountAttributeNameStringList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "AttributeName", + "smithy.api#documentation": "

The account attribute names.

", + "smithy.api#xmlName": "attributeName" } }, - "ForceDelete": { + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Specify true to force delete the event window. Use the force delete parameter\n if the event window is currently associated with targets.

" - } - }, - "InstanceEventWindowId": { - "target": "com.amazonaws.ec2#InstanceEventWindowId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the event window.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "InstanceEventWindowId" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteInstanceEventWindowResult": { + "com.amazonaws.ec2#DescribeAccountAttributesResult": { "type": "structure", "members": { - "InstanceEventWindowState": { - "target": "com.amazonaws.ec2#InstanceEventWindowStateChange", + "AccountAttributes": { + "target": "com.amazonaws.ec2#AccountAttributeList", "traits": { - "aws.protocols#ec2QueryName": "InstanceEventWindowState", - "smithy.api#documentation": "

The state of the event window.

", - "smithy.api#xmlName": "instanceEventWindowState" + "aws.protocols#ec2QueryName": "AccountAttributeSet", + "smithy.api#documentation": "

Information about the account attributes.

", + "smithy.api#xmlName": "accountAttributeSet" } } } }, - "com.amazonaws.ec2#DeleteInternetGateway": { + "com.amazonaws.ec2#DescribeAddressTransfers": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteInternetGatewayRequest" + "target": "com.amazonaws.ec2#DescribeAddressTransfersRequest" }, "output": { - "target": "smithy.api#Unit" + "target": "com.amazonaws.ec2#DescribeAddressTransfersResult" }, "traits": { - "smithy.api#documentation": "

Deletes the specified internet gateway. You must detach the internet gateway from the\n\t\t\tVPC before you can delete it.

" + "smithy.api#documentation": "

Describes an Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon Virtual Private Cloud User Guide.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "AddressTransfers", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DeleteInternetGatewayRequest": { + "com.amazonaws.ec2#DescribeAddressTransfersMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#DescribeAddressTransfersRequest": { "type": "structure", "members": { + "AllocationIds": { + "target": "com.amazonaws.ec2#AllocationIdList", + "traits": { + "smithy.api#documentation": "

The allocation IDs of Elastic IP addresses.

", + "smithy.api#xmlName": "AllocationId" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

Specify the pagination token from a previous request to retrieve the next page of results.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeAddressTransfersMaxResults", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of address transfers to return in one page of results.

" + } + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DescribeAddressTransfersResult": { + "type": "structure", + "members": { + "AddressTransfers": { + "target": "com.amazonaws.ec2#AddressTransferList", + "traits": { + "aws.protocols#ec2QueryName": "AddressTransferSet", + "smithy.api#documentation": "

The Elastic IP address transfer.

", + "smithy.api#xmlName": "addressTransferSet" } }, - "InternetGatewayId": { - "target": "com.amazonaws.ec2#InternetGatewayId", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "InternetGatewayId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the internet gateway.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "internetGatewayId" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

Specify the pagination token from a previous request to retrieve the next page of results.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DeleteIpam": { + "com.amazonaws.ec2#DescribeAddresses": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteIpamRequest" + "target": "com.amazonaws.ec2#DescribeAddressesRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteIpamResult" + "target": "com.amazonaws.ec2#DescribeAddressesResult" }, "traits": { - "smithy.api#documentation": "

Delete an IPAM. Deleting an IPAM removes all monitored data associated with the IPAM including the historical data for CIDRs.

\n

For more information, see Delete an IPAM in the Amazon VPC IPAM User Guide.\n

" + "smithy.api#documentation": "

Describes the specified Elastic IP addresses or all of your Elastic IP addresses.

\n

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC.\n\t\t\t\tFor more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" } }, - "com.amazonaws.ec2#DeleteIpamPool": { + "com.amazonaws.ec2#DescribeAddressesAttribute": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteIpamPoolRequest" + "target": "com.amazonaws.ec2#DescribeAddressesAttributeRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteIpamPoolResult" + "target": "com.amazonaws.ec2#DescribeAddressesAttributeResult" }, "traits": { - "smithy.api#documentation": "

Delete an IPAM pool.

\n \n

You cannot delete an IPAM pool if there are allocations in it or CIDRs provisioned to it. To release \n allocations, see ReleaseIpamPoolAllocation. To deprovision pool \n CIDRs, see DeprovisionIpamPoolCidr.

\n
\n

For more information, see Delete a pool in the Amazon VPC IPAM User Guide.\n

" + "smithy.api#documentation": "

Describes the attributes of the specified Elastic IP addresses. For requirements, see Using reverse DNS for email applications.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Addresses", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DeleteIpamPoolRequest": { + "com.amazonaws.ec2#DescribeAddressesAttributeRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "AllocationIds": { + "target": "com.amazonaws.ec2#AllocationIds", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

[EC2-VPC] The allocation IDs.

", + "smithy.api#xmlName": "AllocationId" } }, - "IpamPoolId": { - "target": "com.amazonaws.ec2#IpamPoolId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the pool to delete.

", - "smithy.api#required": {} - } - } - } - }, - "com.amazonaws.ec2#DeleteIpamPoolResult": { - "type": "structure", - "members": { - "IpamPool": { - "target": "com.amazonaws.ec2#IpamPool", + "Attribute": { + "target": "com.amazonaws.ec2#AddressAttributeName", "traits": { - "aws.protocols#ec2QueryName": "IpamPool", - "smithy.api#documentation": "

Information about the results of the deletion.

", - "smithy.api#xmlName": "ipamPool" + "smithy.api#documentation": "

The attribute of the IP address.

" } - } - } - }, - "com.amazonaws.ec2#DeleteIpamRequest": { - "type": "structure", - "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The token for the next page of results.

" } }, - "IpamId": { - "target": "com.amazonaws.ec2#IpamId", + "MaxResults": { + "target": "com.amazonaws.ec2#AddressMaxResults", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the IPAM to delete.

", - "smithy.api#required": {} + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" } }, - "Cascade": { + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Enables you to quickly delete an IPAM, private scopes, pools in private scopes, and\n any allocations in the pools in private scopes. You cannot delete the IPAM with this option if there is a pool in your public scope. If you use this option, IPAM does the following:

\n
    \n
  • \n

    Deallocates any CIDRs allocated to VPC resources (such as VPCs) in pools in private scopes.

    \n \n

    No VPC resources are deleted as a result of enabling this option. The CIDR associated with the resource will no longer be allocated from an IPAM pool, but the CIDR itself will remain unchanged.

    \n
    \n
  • \n
  • \n

    Deprovisions all IPv4 CIDRs provisioned to IPAM pools in private scopes.

    \n
  • \n
  • \n

    Deletes all IPAM pools in private scopes.

    \n
  • \n
  • \n

    Deletes all non-default private scopes in the IPAM.

    \n
  • \n
  • \n

    Deletes the default public and private scopes and the IPAM.

    \n
  • \n
" - } - } - } - }, - "com.amazonaws.ec2#DeleteIpamResult": { - "type": "structure", - "members": { - "Ipam": { - "target": "com.amazonaws.ec2#Ipam", - "traits": { - "aws.protocols#ec2QueryName": "Ipam", - "smithy.api#documentation": "

Information about the results of the deletion.

", - "smithy.api#xmlName": "ipam" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } - } - }, - "com.amazonaws.ec2#DeleteIpamScope": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DeleteIpamScopeRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DeleteIpamScopeResult" }, "traits": { - "smithy.api#documentation": "

Delete the scope for an IPAM. You cannot delete the default scopes.

\n

For more information, see Delete a scope in the Amazon VPC IPAM User Guide.\n

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteIpamScopeRequest": { + "com.amazonaws.ec2#DescribeAddressesAttributeResult": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Addresses": { + "target": "com.amazonaws.ec2#AddressSet", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "AddressSet", + "smithy.api#documentation": "

Information about the IP addresses.

", + "smithy.api#xmlName": "addressSet" } }, - "IpamScopeId": { - "target": "com.amazonaws.ec2#IpamScopeId", + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the scope to delete.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DeleteIpamScopeResult": { + "com.amazonaws.ec2#DescribeAddressesRequest": { "type": "structure", "members": { - "IpamScope": { - "target": "com.amazonaws.ec2#IpamScope", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "aws.protocols#ec2QueryName": "IpamScope", - "smithy.api#documentation": "

Information about the results of the deletion.

", - "smithy.api#xmlName": "ipamScope" + "smithy.api#documentation": "

One or more filters. Filter names and values are case-sensitive.

\n
    \n
  • \n

    \n allocation-id - [EC2-VPC] The allocation ID for the address.

    \n
  • \n
  • \n

    \n association-id - [EC2-VPC] The association ID for the address.

    \n
  • \n
  • \n

    \n domain - Indicates whether the address is for use in EC2-Classic (standard) \n or in a VPC (vpc).

    \n
  • \n
  • \n

    \n instance-id - The ID of the instance the address is associated with, if any.

    \n
  • \n
  • \n

    \n network-border-group - A unique set of Availability Zones, Local Zones,\n or Wavelength Zones from where Amazon Web Services advertises IP addresses.

    \n
  • \n
  • \n

    \n network-interface-id - [EC2-VPC] The ID of the network interface that the address is associated with, if any.

    \n
  • \n
  • \n

    \n network-interface-owner-id - The Amazon Web Services account ID of the owner.

    \n
  • \n
  • \n

    \n private-ip-address - [EC2-VPC] The private IP address associated with the Elastic IP address.

    \n
  • \n
  • \n

    \n public-ip - The Elastic IP address, or the carrier IP address.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } - } - } - }, - "com.amazonaws.ec2#DeleteKeyPair": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DeleteKeyPairRequest" - }, - "output": { - "target": "smithy.api#Unit" - }, - "traits": { - "smithy.api#documentation": "

Deletes the specified key pair, by removing the public key from Amazon EC2.

" - } - }, - "com.amazonaws.ec2#DeleteKeyPairRequest": { - "type": "structure", - "members": { - "KeyName": { - "target": "com.amazonaws.ec2#KeyPairName", + }, + "PublicIps": { + "target": "com.amazonaws.ec2#PublicIpStringList", "traits": { - "smithy.api#documentation": "

The name of the key pair.

" + "smithy.api#documentation": "

One or more Elastic IP addresses.

\n

Default: Describes all your Elastic IP addresses.

", + "smithy.api#xmlName": "PublicIp" } }, - "KeyPairId": { - "target": "com.amazonaws.ec2#KeyPairId", + "AllocationIds": { + "target": "com.amazonaws.ec2#AllocationIdList", "traits": { - "smithy.api#documentation": "

The ID of the key pair.

" + "smithy.api#documentation": "

[EC2-VPC] Information about the allocation IDs.

", + "smithy.api#xmlName": "AllocationId" } }, "DryRun": { @@ -20859,71 +24743,37 @@ "smithy.api#xmlName": "dryRun" } } - } - }, - "com.amazonaws.ec2#DeleteLaunchTemplate": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DeleteLaunchTemplateRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DeleteLaunchTemplateResult" }, "traits": { - "smithy.api#documentation": "

Deletes a launch template. Deleting a launch template deletes all of its\n versions.

" - } - }, - "com.amazonaws.ec2#DeleteLaunchTemplateRequest": { - "type": "structure", - "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" - } - }, - "LaunchTemplateId": { - "target": "com.amazonaws.ec2#LaunchTemplateId", - "traits": { - "smithy.api#documentation": "

The ID of the launch template.

\n

You must specify either the LaunchTemplateId or the\n LaunchTemplateName, but not both.

" - } - }, - "LaunchTemplateName": { - "target": "com.amazonaws.ec2#LaunchTemplateName", - "traits": { - "smithy.api#documentation": "

The name of the launch template.

\n

You must specify either the LaunchTemplateName or the\n LaunchTemplateId, but not both.

" - } - } + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteLaunchTemplateResult": { + "com.amazonaws.ec2#DescribeAddressesResult": { "type": "structure", "members": { - "LaunchTemplate": { - "target": "com.amazonaws.ec2#LaunchTemplate", + "Addresses": { + "target": "com.amazonaws.ec2#AddressList", "traits": { - "aws.protocols#ec2QueryName": "LaunchTemplate", - "smithy.api#documentation": "

Information about the launch template.

", - "smithy.api#xmlName": "launchTemplate" + "aws.protocols#ec2QueryName": "AddressesSet", + "smithy.api#documentation": "

Information about the Elastic IP addresses.

", + "smithy.api#xmlName": "addressesSet" } } } }, - "com.amazonaws.ec2#DeleteLaunchTemplateVersions": { + "com.amazonaws.ec2#DescribeAggregateIdFormat": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteLaunchTemplateVersionsRequest" + "target": "com.amazonaws.ec2#DescribeAggregateIdFormatRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteLaunchTemplateVersionsResult" + "target": "com.amazonaws.ec2#DescribeAggregateIdFormatResult" }, "traits": { - "smithy.api#documentation": "

Deletes one or more versions of a launch template. You cannot delete the default\n version of a launch template; you must first assign a different version as the default.\n If the default version is the only version for the launch template, you must delete the\n entire launch template using DeleteLaunchTemplate.

" + "smithy.api#documentation": "

Describes the longer ID format settings for all resource types in a specific\n Region. This request is useful for performing a quick audit to determine whether a\n specific Region is fully opted in for longer IDs (17-character IDs).

\n

This request only returns information about resource types that support longer IDs.

\n

The following resource types support longer IDs: bundle |\n conversion-task | customer-gateway | dhcp-options |\n elastic-ip-allocation | elastic-ip-association |\n export-task | flow-log | image |\n import-task | instance | internet-gateway |\n network-acl | network-acl-association |\n network-interface | network-interface-attachment |\n prefix-list | reservation | route-table |\n route-table-association | security-group |\n snapshot | subnet |\n subnet-cidr-block-association | volume | vpc |\n vpc-cidr-block-association | vpc-endpoint |\n vpc-peering-connection | vpn-connection | vpn-gateway.

" } }, - "com.amazonaws.ec2#DeleteLaunchTemplateVersionsRequest": { + "com.amazonaws.ec2#DescribeAggregateIdFormatRequest": { "type": "structure", "members": { "DryRun": { @@ -20931,176 +24781,149 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" - } - }, - "LaunchTemplateId": { - "target": "com.amazonaws.ec2#LaunchTemplateId", - "traits": { - "smithy.api#documentation": "

The ID of the launch template.

\n

You must specify either the LaunchTemplateId or the\n LaunchTemplateName, but not both.

" - } - }, - "LaunchTemplateName": { - "target": "com.amazonaws.ec2#LaunchTemplateName", - "traits": { - "smithy.api#documentation": "

The name of the launch template.

\n

You must specify either the LaunchTemplateName or the\n LaunchTemplateId, but not both.

" - } - }, - "Versions": { - "target": "com.amazonaws.ec2#VersionStringList", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The version numbers of one or more launch template versions to delete.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "LaunchTemplateVersion" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteLaunchTemplateVersionsResponseErrorItem": { + "com.amazonaws.ec2#DescribeAggregateIdFormatResult": { "type": "structure", "members": { - "LaunchTemplateId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "LaunchTemplateId", - "smithy.api#documentation": "

The ID of the launch template.

", - "smithy.api#xmlName": "launchTemplateId" - } - }, - "LaunchTemplateName": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "LaunchTemplateName", - "smithy.api#documentation": "

The name of the launch template.

", - "smithy.api#xmlName": "launchTemplateName" - } - }, - "VersionNumber": { - "target": "com.amazonaws.ec2#Long", + "UseLongIdsAggregated": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "VersionNumber", + "aws.protocols#ec2QueryName": "UseLongIdsAggregated", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The version number of the launch template.

", - "smithy.api#xmlName": "versionNumber" + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether all resource types in the Region are configured to use longer IDs.\n This value is only true if all users are configured to use longer IDs for\n all resources types in the Region.

", + "smithy.api#xmlName": "useLongIdsAggregated" } }, - "ResponseError": { - "target": "com.amazonaws.ec2#ResponseError", + "Statuses": { + "target": "com.amazonaws.ec2#IdFormatList", "traits": { - "aws.protocols#ec2QueryName": "ResponseError", - "smithy.api#documentation": "

Information about the error.

", - "smithy.api#xmlName": "responseError" + "aws.protocols#ec2QueryName": "StatusSet", + "smithy.api#documentation": "

Information about each resource's ID format.

", + "smithy.api#xmlName": "statusSet" } } - }, - "traits": { - "smithy.api#documentation": "

Describes a launch template version that could not be deleted.

" } }, - "com.amazonaws.ec2#DeleteLaunchTemplateVersionsResponseErrorSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#DeleteLaunchTemplateVersionsResponseErrorItem", - "traits": { - "smithy.api#xmlName": "item" - } + "com.amazonaws.ec2#DescribeAvailabilityZones": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeAvailabilityZonesRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeAvailabilityZonesResult" + }, + "traits": { + "smithy.api#documentation": "

Describes the Availability Zones, Local Zones, and Wavelength Zones that are available to\n you. If there is an event impacting a zone, you can use this request to view the state and any\n provided messages for that zone.

\n

For more information about Availability Zones, Local Zones, and Wavelength Zones, see\n Regions and zones \n in the Amazon Elastic Compute Cloud User Guide.

" } }, - "com.amazonaws.ec2#DeleteLaunchTemplateVersionsResponseSuccessItem": { + "com.amazonaws.ec2#DescribeAvailabilityZonesRequest": { "type": "structure", "members": { - "LaunchTemplateId": { - "target": "com.amazonaws.ec2#String", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "aws.protocols#ec2QueryName": "LaunchTemplateId", - "smithy.api#documentation": "

The ID of the launch template.

", - "smithy.api#xmlName": "launchTemplateId" + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n group-name - For Availability Zones, use the Region name. For Local\n Zones, use the name of the group associated with the Local Zone (for example,\n us-west-2-lax-1) For Wavelength Zones, use the name of the group associated\n with the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

    \n
  • \n
  • \n

    \n message - The Zone message.

    \n
  • \n
  • \n

    \n opt-in-status - The opt-in status (opted-in, and\n not-opted-in | opt-in-not-required).

    \n
  • \n
  • \n

    \n parent-zoneID - The ID of the zone that handles some of the Local Zone\n and Wavelength Zone control plane operations, such as API calls.

    \n
  • \n
  • \n

    \n parent-zoneName - The ID of the zone that handles some of the Local Zone\n and Wavelength Zone control plane operations, such as API calls.

    \n
  • \n
  • \n

    \n region-name - The name of the Region for the Zone (for example,\n us-east-1).

    \n
  • \n
  • \n

    \n state - The state of the Availability Zone, the Local Zone, or the\n Wavelength Zone (available).

    \n
  • \n
  • \n

    \n zone-id - The ID of the Availability Zone (for example,\n use1-az1), the Local Zone (for example, usw2-lax1-az1), or the\n Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

    \n
  • \n
  • \n

    \n zone-type - The type of zone, for example, local-zone.

    \n
  • \n
  • \n

    \n zone-name - The name of the Availability Zone (for example,\n us-east-1a), the Local Zone (for example, us-west-2-lax-1a), or\n the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

    \n
  • \n
  • \n

    \n zone-type - The type of zone, for example, local-zone.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, - "LaunchTemplateName": { - "target": "com.amazonaws.ec2#String", + "ZoneNames": { + "target": "com.amazonaws.ec2#ZoneNameStringList", "traits": { - "aws.protocols#ec2QueryName": "LaunchTemplateName", - "smithy.api#documentation": "

The name of the launch template.

", - "smithy.api#xmlName": "launchTemplateName" + "smithy.api#documentation": "

The names of the Availability Zones, Local Zones, and Wavelength Zones.

", + "smithy.api#xmlName": "ZoneName" } }, - "VersionNumber": { - "target": "com.amazonaws.ec2#Long", + "ZoneIds": { + "target": "com.amazonaws.ec2#ZoneIdStringList", + "traits": { + "smithy.api#documentation": "

The IDs of the Availability Zones, Local Zones, and Wavelength Zones.

", + "smithy.api#xmlName": "ZoneId" + } + }, + "AllAvailabilityZones": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "VersionNumber", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The version number of the launch template.

", - "smithy.api#xmlName": "versionNumber" + "smithy.api#default": false, + "smithy.api#documentation": "

Include all Availability Zones, Local Zones, and Wavelength Zones regardless of your\n opt-in status.

\n

If you do not use this parameter, the results include only the zones for the Regions where you have chosen the option to opt in.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } } }, - "traits": { - "smithy.api#documentation": "

Describes a launch template version that was successfully deleted.

" - } - }, - "com.amazonaws.ec2#DeleteLaunchTemplateVersionsResponseSuccessSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#DeleteLaunchTemplateVersionsResponseSuccessItem", - "traits": { - "smithy.api#xmlName": "item" - } + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteLaunchTemplateVersionsResult": { + "com.amazonaws.ec2#DescribeAvailabilityZonesResult": { "type": "structure", "members": { - "SuccessfullyDeletedLaunchTemplateVersions": { - "target": "com.amazonaws.ec2#DeleteLaunchTemplateVersionsResponseSuccessSet", - "traits": { - "aws.protocols#ec2QueryName": "SuccessfullyDeletedLaunchTemplateVersionSet", - "smithy.api#documentation": "

Information about the launch template versions that were successfully deleted.

", - "smithy.api#xmlName": "successfullyDeletedLaunchTemplateVersionSet" - } - }, - "UnsuccessfullyDeletedLaunchTemplateVersions": { - "target": "com.amazonaws.ec2#DeleteLaunchTemplateVersionsResponseErrorSet", + "AvailabilityZones": { + "target": "com.amazonaws.ec2#AvailabilityZoneList", "traits": { - "aws.protocols#ec2QueryName": "UnsuccessfullyDeletedLaunchTemplateVersionSet", - "smithy.api#documentation": "

Information about the launch template versions that could not be deleted.

", - "smithy.api#xmlName": "unsuccessfullyDeletedLaunchTemplateVersionSet" + "aws.protocols#ec2QueryName": "AvailabilityZoneInfo", + "smithy.api#documentation": "

Information about the Availability Zones, Local Zones, and Wavelength Zones.

", + "smithy.api#xmlName": "availabilityZoneInfo" } } } }, - "com.amazonaws.ec2#DeleteLocalGatewayRoute": { + "com.amazonaws.ec2#DescribeAwsNetworkPerformanceMetricSubscriptions": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteLocalGatewayRouteRequest" + "target": "com.amazonaws.ec2#DescribeAwsNetworkPerformanceMetricSubscriptionsRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteLocalGatewayRouteResult" + "target": "com.amazonaws.ec2#DescribeAwsNetworkPerformanceMetricSubscriptionsResult" }, "traits": { - "smithy.api#documentation": "

Deletes the specified route from the specified local gateway route table.

" + "smithy.api#documentation": "

Describes the current Infrastructure Performance metric subscriptions.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Subscriptions", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DeleteLocalGatewayRouteRequest": { + "com.amazonaws.ec2#DescribeAwsNetworkPerformanceMetricSubscriptionsRequest": { "type": "structure", "members": { - "DestinationCidrBlock": { - "target": "com.amazonaws.ec2#String", + "MaxResults": { + "target": "com.amazonaws.ec2#MaxResultsParam", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The CIDR range for the route. This must match the CIDR for the route exactly.

", - "smithy.api#required": {} + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n To retrieve the remaining results, make another call with the returned nextToken value.

" } }, - "LocalGatewayRouteTableId": { - "target": "com.amazonaws.ec2#LocalGatewayRoutetableId", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the local gateway route table.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The token for the next page of results.

" + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters.

", + "smithy.api#xmlName": "Filter" } }, "DryRun": { @@ -21111,89 +24934,147 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteLocalGatewayRouteResult": { + "com.amazonaws.ec2#DescribeAwsNetworkPerformanceMetricSubscriptionsResult": { "type": "structure", "members": { - "Route": { - "target": "com.amazonaws.ec2#LocalGatewayRoute", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Route", - "smithy.api#documentation": "

Information about the route.

", - "smithy.api#xmlName": "route" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" + } + }, + "Subscriptions": { + "target": "com.amazonaws.ec2#SubscriptionList", + "traits": { + "aws.protocols#ec2QueryName": "SubscriptionSet", + "smithy.api#documentation": "

Describes the current Infrastructure Performance subscriptions.

", + "smithy.api#xmlName": "subscriptionSet" } } } }, - "com.amazonaws.ec2#DeleteLocalGatewayRouteTable": { + "com.amazonaws.ec2#DescribeBundleTasks": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteLocalGatewayRouteTableRequest" + "target": "com.amazonaws.ec2#DescribeBundleTasksRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteLocalGatewayRouteTableResult" + "target": "com.amazonaws.ec2#DescribeBundleTasksResult" }, "traits": { - "smithy.api#documentation": "

\n Deletes a local gateway route table.\n

" + "smithy.api#documentation": "

Describes the specified bundle tasks or all of your bundle tasks.

\n \n

Completed bundle tasks are listed for only a limited time. If your bundle task is no longer in the list, you can still register an AMI from it. Just use RegisterImage with the Amazon S3 bucket name and image manifest name you provided to the bundle task.

\n
", + "smithy.waiters#waitable": { + "BundleTaskComplete": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "BundleTasks[].State", + "expected": "complete", + "comparator": "allStringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "BundleTasks[].State", + "expected": "failed", + "comparator": "anyStringEquals" + } + } + } + ], + "minDelay": 15 + } + } } }, - "com.amazonaws.ec2#DeleteLocalGatewayRouteTableRequest": { + "com.amazonaws.ec2#DescribeBundleTasksRequest": { "type": "structure", "members": { - "LocalGatewayRouteTableId": { - "target": "com.amazonaws.ec2#LocalGatewayRoutetableId", + "BundleIds": { + "target": "com.amazonaws.ec2#BundleIdStringList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

\n The ID of the local gateway route table.\n

", - "smithy.api#required": {} + "smithy.api#documentation": "

The bundle task IDs.

\n

Default: Describes all your bundle tasks.

", + "smithy.api#xmlName": "BundleId" + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n bundle-id - The ID of the bundle task.

    \n
  • \n
  • \n

    \n error-code - If the task failed, the error code returned.

    \n
  • \n
  • \n

    \n error-message - If the task failed, the error message returned.

    \n
  • \n
  • \n

    \n instance-id - The ID of the instance.

    \n
  • \n
  • \n

    \n progress - The level of task completion, as a percentage (for example, 20%).

    \n
  • \n
  • \n

    \n s3-bucket - The Amazon S3 bucket to store the AMI.

    \n
  • \n
  • \n

    \n s3-prefix - The beginning of the AMI name.

    \n
  • \n
  • \n

    \n start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z).

    \n
  • \n
  • \n

    \n state - The state of the task (pending | waiting-for-shutdown | bundling |\n storing | cancelling | complete | failed).

    \n
  • \n
  • \n

    \n update-time - The time of the most recent update for the task.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteLocalGatewayRouteTableResult": { + "com.amazonaws.ec2#DescribeBundleTasksResult": { "type": "structure", "members": { - "LocalGatewayRouteTable": { - "target": "com.amazonaws.ec2#LocalGatewayRouteTable", + "BundleTasks": { + "target": "com.amazonaws.ec2#BundleTaskList", "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayRouteTable", - "smithy.api#xmlName": "localGatewayRouteTable" + "aws.protocols#ec2QueryName": "BundleInstanceTasksSet", + "smithy.api#documentation": "

Information about the bundle tasks.

", + "smithy.api#xmlName": "bundleInstanceTasksSet" } } } }, - "com.amazonaws.ec2#DeleteLocalGatewayRouteTableVirtualInterfaceGroupAssociation": { + "com.amazonaws.ec2#DescribeByoipCidrs": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteLocalGatewayRouteTableVirtualInterfaceGroupAssociationRequest" + "target": "com.amazonaws.ec2#DescribeByoipCidrsRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteLocalGatewayRouteTableVirtualInterfaceGroupAssociationResult" + "target": "com.amazonaws.ec2#DescribeByoipCidrsResult" }, "traits": { - "smithy.api#documentation": "

\n Deletes a local gateway route table virtual interface group association.\n

" + "smithy.api#documentation": "

Describes the IP address ranges that were specified in calls to ProvisionByoipCidr.

\n

To describe the address pools that were created when you provisioned the address\n ranges, use DescribePublicIpv4Pools or DescribeIpv6Pools.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "ByoipCidrs", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DeleteLocalGatewayRouteTableVirtualInterfaceGroupAssociationRequest": { + "com.amazonaws.ec2#DescribeByoipCidrsMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.ec2#DescribeByoipCidrsRequest": { "type": "structure", "members": { - "LocalGatewayRouteTableVirtualInterfaceGroupAssociationId": { - "target": "com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociationId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

\n The ID of the local gateway route table virtual interface group association.\n

", - "smithy.api#required": {} - } - }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -21201,42 +25082,105 @@ "smithy.api#default": false, "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeByoipCidrsMaxResults", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" + } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteLocalGatewayRouteTableVirtualInterfaceGroupAssociationResult": { + "com.amazonaws.ec2#DescribeByoipCidrsResult": { "type": "structure", "members": { - "LocalGatewayRouteTableVirtualInterfaceGroupAssociation": { - "target": "com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociation", + "ByoipCidrs": { + "target": "com.amazonaws.ec2#ByoipCidrSet", "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayRouteTableVirtualInterfaceGroupAssociation", - "smithy.api#xmlName": "localGatewayRouteTableVirtualInterfaceGroupAssociation" + "aws.protocols#ec2QueryName": "ByoipCidrSet", + "smithy.api#documentation": "

Information about your address ranges.

", + "smithy.api#xmlName": "byoipCidrSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DeleteLocalGatewayRouteTableVpcAssociation": { + "com.amazonaws.ec2#DescribeCapacityReservationFleets": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteLocalGatewayRouteTableVpcAssociationRequest" + "target": "com.amazonaws.ec2#DescribeCapacityReservationFleetsRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteLocalGatewayRouteTableVpcAssociationResult" + "target": "com.amazonaws.ec2#DescribeCapacityReservationFleetsResult" }, "traits": { - "smithy.api#documentation": "

Deletes the specified association between a VPC and local gateway route table.

" + "smithy.api#documentation": "

Describes one or more Capacity Reservation Fleets.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "CapacityReservationFleets", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DeleteLocalGatewayRouteTableVpcAssociationRequest": { + "com.amazonaws.ec2#DescribeCapacityReservationFleetsMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.ec2#DescribeCapacityReservationFleetsRequest": { "type": "structure", "members": { - "LocalGatewayRouteTableVpcAssociationId": { - "target": "com.amazonaws.ec2#LocalGatewayRouteTableVpcAssociationId", + "CapacityReservationFleetIds": { + "target": "com.amazonaws.ec2#CapacityReservationFleetIdSet", + "traits": { + "smithy.api#documentation": "

The IDs of the Capacity Reservation Fleets to describe.

", + "smithy.api#xmlName": "CapacityReservationFleetId" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token to use to retrieve the next page of results.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeCapacityReservationFleetsMaxResults", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the association.

", - "smithy.api#required": {} + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

" + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n state - The state of the Fleet (submitted | modifying | active | \n\t\t\t\t\tpartially_fulfilled | expiring | expired | cancelling | \n\t\t\t\t\tcancelled | failed).

    \n
  • \n
  • \n

    \n instance-match-criteria - The instance matching criteria for the Fleet. Only open is supported.

    \n
  • \n
  • \n

    \n tenancy - The tenancy of the Fleet (default | dedicated).

    \n
  • \n
  • \n

    \n allocation-strategy - The allocation strategy used by the Fleet. Only prioritized is supported.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, "DryRun": { @@ -21244,144 +25188,249 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteLocalGatewayRouteTableVpcAssociationResult": { + "com.amazonaws.ec2#DescribeCapacityReservationFleetsResult": { "type": "structure", "members": { - "LocalGatewayRouteTableVpcAssociation": { - "target": "com.amazonaws.ec2#LocalGatewayRouteTableVpcAssociation", + "CapacityReservationFleets": { + "target": "com.amazonaws.ec2#CapacityReservationFleetSet", "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayRouteTableVpcAssociation", - "smithy.api#documentation": "

Information about the association.

", - "smithy.api#xmlName": "localGatewayRouteTableVpcAssociation" + "aws.protocols#ec2QueryName": "CapacityReservationFleetSet", + "smithy.api#documentation": "

Information about the Capacity Reservation Fleets.

", + "smithy.api#xmlName": "capacityReservationFleetSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DeleteManagedPrefixList": { + "com.amazonaws.ec2#DescribeCapacityReservations": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteManagedPrefixListRequest" + "target": "com.amazonaws.ec2#DescribeCapacityReservationsRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteManagedPrefixListResult" + "target": "com.amazonaws.ec2#DescribeCapacityReservationsResult" }, "traits": { - "smithy.api#documentation": "

Deletes the specified managed prefix list. You must first remove all references to the prefix list in your resources.

" + "smithy.api#documentation": "

Describes one or more of your Capacity Reservations. The results describe only the Capacity Reservations in the \n\t\t \tAmazon Web Services Region that you're currently using.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "CapacityReservations", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DeleteManagedPrefixListRequest": { + "com.amazonaws.ec2#DescribeCapacityReservationsMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 1, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#DescribeCapacityReservationsRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "CapacityReservationIds": { + "target": "com.amazonaws.ec2#CapacityReservationIdSet", + "traits": { + "smithy.api#documentation": "

The ID of the Capacity Reservation.

", + "smithy.api#xmlName": "CapacityReservationId" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token to use to retrieve the next page of results.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeCapacityReservationsMaxResults", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

" } }, - "PrefixListId": { - "target": "com.amazonaws.ec2#PrefixListResourceId", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n instance-type - The type of instance for which the Capacity Reservation reserves capacity.

    \n
  • \n
  • \n

    \n owner-id - The ID of the Amazon Web Services account that owns the Capacity Reservation.

    \n
  • \n
  • \n

    \n instance-platform - The type of operating system for which the Capacity Reservation reserves capacity.

    \n
  • \n
  • \n

    \n availability-zone - The Availability Zone of the Capacity Reservation.

    \n
  • \n
  • \n

    \n tenancy - Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the \n\t \t\t\tfollowing tenancy settings:

    \n
      \n
    • \n

      \n default - The Capacity Reservation is created on hardware that is shared with other Amazon Web Services accounts.

      \n
    • \n
    • \n

      \n dedicated - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single Amazon Web Services account.

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

    \n outpost-arn - The Amazon Resource Name (ARN) of the Outpost on which the Capacity Reservation was created.

    \n
  • \n
  • \n

    \n state - The current state of the Capacity Reservation. A Capacity Reservation can be in one of the following states:

    \n
      \n
    • \n

      \n active- The Capacity Reservation is active and the capacity is available for your use.

      \n
    • \n
    • \n

      \n expired - The Capacity Reservation expired automatically at the date and time specified in your request. \n\t \t\t\t\tThe reserved capacity is no longer available for your use.

      \n
    • \n
    • \n

      \n cancelled - The Capacity Reservation was cancelled. The reserved capacity is no longer available for your use.

      \n
    • \n
    • \n

      \n pending - The Capacity Reservation request was successful but the capacity provisioning is still pending.

      \n
    • \n
    • \n

      \n failed - The Capacity Reservation request has failed. A request might fail due to invalid request parameters, \n\t \t\t\t\tcapacity constraints, or instance limit constraints. Failed requests are retained for 60 minutes.

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

    \n start-date - The date and time at which the Capacity Reservation was started.

    \n
  • \n
  • \n

    \n end-date - The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is \n\t \t\t\treleased and you can no longer launch instances into it. The Capacity Reservation's state changes to expired when it reaches its end date and time.

    \n
  • \n
  • \n

    \n end-date-type - Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end types:

    \n
      \n
    • \n

      \n unlimited - The Capacity Reservation remains active until you explicitly cancel it.

      \n
    • \n
    • \n

      \n limited - The Capacity Reservation expires automatically at a specified date and time.

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

    \n instance-match-criteria - Indicates the type of instance launches that the Capacity Reservation accepts. The options include:

    \n
      \n
    • \n

      \n open - The Capacity Reservation accepts all instances that have matching\n\t\t\t\t\t\t\tattributes (instance type, platform, and Availability Zone). Instances\n\t\t\t\t\t\t\tthat have matching attributes launch into the Capacity Reservation\n\t\t\t\t\t\t\tautomatically without specifying any additional parameters.

      \n
    • \n
    • \n

      \n targeted - The Capacity Reservation only accepts instances that have matching\n\t\t\t\t\t\t\tattributes (instance type, platform, and Availability Zone), and\n\t\t\t\t\t\t\texplicitly target the Capacity Reservation. This ensures that only\n\t\t\t\t\t\t\tpermitted instances can use the reserved capacity.

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

    \n placement-group-arn - The ARN of the cluster placement group in which the Capacity Reservation was created.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the prefix list.

", - "smithy.api#required": {} + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteManagedPrefixListResult": { + "com.amazonaws.ec2#DescribeCapacityReservationsResult": { "type": "structure", "members": { - "PrefixList": { - "target": "com.amazonaws.ec2#ManagedPrefixList", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PrefixList", - "smithy.api#documentation": "

Information about the prefix list.

", - "smithy.api#xmlName": "prefixList" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" + } + }, + "CapacityReservations": { + "target": "com.amazonaws.ec2#CapacityReservationSet", + "traits": { + "aws.protocols#ec2QueryName": "CapacityReservationSet", + "smithy.api#documentation": "

Information about the Capacity Reservations.

", + "smithy.api#xmlName": "capacityReservationSet" } } } }, - "com.amazonaws.ec2#DeleteNatGateway": { + "com.amazonaws.ec2#DescribeCarrierGateways": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteNatGatewayRequest" + "target": "com.amazonaws.ec2#DescribeCarrierGatewaysRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteNatGatewayResult" + "target": "com.amazonaws.ec2#DescribeCarrierGatewaysResult" }, "traits": { - "smithy.api#documentation": "

Deletes the specified NAT gateway. Deleting a public NAT gateway disassociates its Elastic IP address, \n but does not release the address from your account. Deleting a NAT gateway does not delete any NAT gateway \n routes in your route tables.

" + "smithy.api#documentation": "

Describes one or more of your carrier gateways.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "CarrierGateways", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DeleteNatGatewayRequest": { + "com.amazonaws.ec2#DescribeCarrierGatewaysRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "CarrierGatewayIds": { + "target": "com.amazonaws.ec2#CarrierGatewayIdSet", + "traits": { + "smithy.api#documentation": "

One or more carrier gateway IDs.

", + "smithy.api#xmlName": "CarrierGatewayId" + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n carrier-gateway-id - The ID of the carrier gateway.

    \n
  • \n
  • \n

    \n state - The state of the carrier gateway (pending |\n failed | available | deleting | deleted).

    \n
  • \n
  • \n

    \n owner-id - The Amazon Web Services account ID of the owner of the carrier gateway.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n vpc-id - The ID of the VPC associated with the carrier gateway.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#CarrierGatewayMaxResults", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } }, - "NatGatewayId": { - "target": "com.amazonaws.ec2#NatGatewayId", + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the NAT gateway.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "NatGatewayId" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteNatGatewayResult": { + "com.amazonaws.ec2#DescribeCarrierGatewaysResult": { "type": "structure", "members": { - "NatGatewayId": { + "CarrierGateways": { + "target": "com.amazonaws.ec2#CarrierGatewaySet", + "traits": { + "aws.protocols#ec2QueryName": "CarrierGatewaySet", + "smithy.api#documentation": "

Information about the carrier gateway.

", + "smithy.api#xmlName": "carrierGatewaySet" + } + }, + "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NatGatewayId", - "smithy.api#documentation": "

The ID of the NAT gateway.

", - "smithy.api#xmlName": "natGatewayId" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DeleteNetworkAcl": { + "com.amazonaws.ec2#DescribeClassicLinkInstances": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteNetworkAclRequest" + "target": "com.amazonaws.ec2#DescribeClassicLinkInstancesRequest" }, "output": { - "target": "smithy.api#Unit" + "target": "com.amazonaws.ec2#DescribeClassicLinkInstancesResult" }, "traits": { - "smithy.api#documentation": "

Deletes the specified network ACL. You can't delete the ACL if it's associated with any subnets. You can't delete the default network ACL.

" + "smithy.api#documentation": "

Describes one or more of your linked EC2-Classic instances. This request only returns\n\t\t\tinformation about EC2-Classic instances linked to a VPC through ClassicLink. You cannot\n\t\t\tuse this request to return information about other instances.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Instances", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DeleteNetworkAclEntry": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DeleteNetworkAclEntryRequest" - }, - "output": { - "target": "smithy.api#Unit" - }, + "com.amazonaws.ec2#DescribeClassicLinkInstancesMaxResults": { + "type": "integer", "traits": { - "smithy.api#documentation": "

Deletes the specified ingress or egress entry (rule) from the specified network ACL.

" + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 1000 + } } }, - "com.amazonaws.ec2#DeleteNetworkAclEntryRequest": { + "com.amazonaws.ec2#DescribeClassicLinkInstancesRequest": { "type": "structure", "members": { + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n group-id - The ID of a VPC security group that's associated with the instance.

    \n
  • \n
  • \n

    \n instance-id - The ID of the instance.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n vpc-id - The ID of the VPC to which the instance is\n\t\t\t\t\tlinked.

    \n

    \n vpc-id - The ID of the VPC that the instance is linked to.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" + } + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -21392,97 +25441,93 @@ "smithy.api#xmlName": "dryRun" } }, - "Egress": { - "target": "com.amazonaws.ec2#Boolean", + "InstanceIds": { + "target": "com.amazonaws.ec2#InstanceIdStringList", "traits": { - "aws.protocols#ec2QueryName": "Egress", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the rule is an egress rule.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "egress" + "smithy.api#documentation": "

One or more instance IDs. Must be instances linked to a VPC through ClassicLink.

", + "smithy.api#xmlName": "InstanceId" } }, - "NetworkAclId": { - "target": "com.amazonaws.ec2#NetworkAclId", + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeClassicLinkInstancesMaxResults", "traits": { - "aws.protocols#ec2QueryName": "NetworkAclId", + "aws.protocols#ec2QueryName": "MaxResults", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the network ACL.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "networkAclId" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

\n

Constraint: If the value is greater than 1000, we return only 1000 items.

", + "smithy.api#xmlName": "maxResults" } }, - "RuleNumber": { - "target": "com.amazonaws.ec2#Integer", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "RuleNumber", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The rule number of the entry to delete.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "ruleNumber" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token for the next page of results.

", + "smithy.api#xmlName": "nextToken" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteNetworkAclRequest": { + "com.amazonaws.ec2#DescribeClassicLinkInstancesResult": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Instances": { + "target": "com.amazonaws.ec2#ClassicLinkInstanceList", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "aws.protocols#ec2QueryName": "InstancesSet", + "smithy.api#documentation": "

Information about one or more linked EC2-Classic instances.

", + "smithy.api#xmlName": "instancesSet" } }, - "NetworkAclId": { - "target": "com.amazonaws.ec2#NetworkAclId", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NetworkAclId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the network ACL.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "networkAclId" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DeleteNetworkInsightsAccessScope": { + "com.amazonaws.ec2#DescribeClientVpnAuthorizationRules": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteNetworkInsightsAccessScopeRequest" + "target": "com.amazonaws.ec2#DescribeClientVpnAuthorizationRulesRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteNetworkInsightsAccessScopeResult" + "target": "com.amazonaws.ec2#DescribeClientVpnAuthorizationRulesResult" }, "traits": { - "smithy.api#documentation": "

Deletes the specified Network Access Scope.

" + "smithy.api#documentation": "

Describes the authorization rules for a specified Client VPN endpoint.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "AuthorizationRules", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DeleteNetworkInsightsAccessScopeAnalysis": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DeleteNetworkInsightsAccessScopeAnalysisRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DeleteNetworkInsightsAccessScopeAnalysisResult" - }, + "com.amazonaws.ec2#DescribeClientVpnAuthorizationRulesMaxResults": { + "type": "integer", "traits": { - "smithy.api#documentation": "

Deletes the specified Network Access Scope analysis.

" + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 1000 + } } }, - "com.amazonaws.ec2#DeleteNetworkInsightsAccessScopeAnalysisRequest": { + "com.amazonaws.ec2#DescribeClientVpnAuthorizationRulesRequest": { "type": "structure", "members": { - "NetworkInsightsAccessScopeAnalysisId": { - "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisId", + "ClientVpnEndpointId": { + "target": "com.amazonaws.ec2#ClientVpnEndpointId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Network Access Scope analysis.

", + "smithy.api#documentation": "

The ID of the Client VPN endpoint.

", "smithy.api#required": {} } }, @@ -21491,489 +25536,711 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } - } - } - }, - "com.amazonaws.ec2#DeleteNetworkInsightsAccessScopeAnalysisResult": { - "type": "structure", - "members": { - "NetworkInsightsAccessScopeAnalysisId": { - "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisId", + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", "traits": { - "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeAnalysisId", - "smithy.api#documentation": "

The ID of the Network Access Scope analysis.

", - "smithy.api#xmlName": "networkInsightsAccessScopeAnalysisId" + "smithy.api#documentation": "

The token to retrieve the next page of results.

" } - } - } - }, - "com.amazonaws.ec2#DeleteNetworkInsightsAccessScopeRequest": { - "type": "structure", - "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

One or more filters. Filter names and values are case-sensitive.

\n
    \n
  • \n

    \n description - The description of the authorization rule.

    \n
  • \n
  • \n

    \n destination-cidr - The CIDR of the network to which the authorization rule\n applies.

    \n
  • \n
  • \n

    \n group-id - The ID of the Active Directory group to which the authorization rule grants access.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, - "NetworkInsightsAccessScopeId": { - "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeId", + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeClientVpnAuthorizationRulesMaxResults", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Network Access Scope.

", - "smithy.api#required": {} + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteNetworkInsightsAccessScopeResult": { + "com.amazonaws.ec2#DescribeClientVpnAuthorizationRulesResult": { "type": "structure", "members": { - "NetworkInsightsAccessScopeId": { - "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeId", + "AuthorizationRules": { + "target": "com.amazonaws.ec2#AuthorizationRuleSet", "traits": { - "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeId", - "smithy.api#documentation": "

The ID of the Network Access Scope.

", - "smithy.api#xmlName": "networkInsightsAccessScopeId" + "aws.protocols#ec2QueryName": "AuthorizationRule", + "smithy.api#documentation": "

Information about the authorization rules.

", + "smithy.api#xmlName": "authorizationRule" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DeleteNetworkInsightsAnalysis": { + "com.amazonaws.ec2#DescribeClientVpnConnections": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteNetworkInsightsAnalysisRequest" + "target": "com.amazonaws.ec2#DescribeClientVpnConnectionsRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteNetworkInsightsAnalysisResult" + "target": "com.amazonaws.ec2#DescribeClientVpnConnectionsResult" }, "traits": { - "smithy.api#documentation": "

Deletes the specified network insights analysis.

" + "smithy.api#documentation": "

Describes active client connections and connections that have been terminated within the last 60 \n\t\t\tminutes for the specified Client VPN endpoint.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Connections", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DeleteNetworkInsightsAnalysisRequest": { + "com.amazonaws.ec2#DescribeClientVpnConnectionsMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#DescribeClientVpnConnectionsRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "ClientVpnEndpointId": { + "target": "com.amazonaws.ec2#ClientVpnEndpointId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The ID of the Client VPN endpoint.

", + "smithy.api#required": {} } }, - "NetworkInsightsAnalysisId": { - "target": "com.amazonaws.ec2#NetworkInsightsAnalysisId", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters. Filter names and values are case-sensitive.

\n
    \n
  • \n

    \n connection-id - The ID of the connection.

    \n
  • \n
  • \n

    \n username - For Active Directory client authentication, the user name of the\n client who established the client connection.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

The token to retrieve the next page of results.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeClientVpnConnectionsMaxResults", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the network insights analysis.

", - "smithy.api#required": {} + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteNetworkInsightsAnalysisResult": { + "com.amazonaws.ec2#DescribeClientVpnConnectionsResult": { "type": "structure", "members": { - "NetworkInsightsAnalysisId": { - "target": "com.amazonaws.ec2#NetworkInsightsAnalysisId", + "Connections": { + "target": "com.amazonaws.ec2#ClientVpnConnectionSet", "traits": { - "aws.protocols#ec2QueryName": "NetworkInsightsAnalysisId", - "smithy.api#documentation": "

The ID of the network insights analysis.

", - "smithy.api#xmlName": "networkInsightsAnalysisId" + "aws.protocols#ec2QueryName": "Connections", + "smithy.api#documentation": "

Information about the active and terminated client connections.

", + "smithy.api#xmlName": "connections" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DeleteNetworkInsightsPath": { + "com.amazonaws.ec2#DescribeClientVpnEndpointMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#DescribeClientVpnEndpoints": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteNetworkInsightsPathRequest" + "target": "com.amazonaws.ec2#DescribeClientVpnEndpointsRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteNetworkInsightsPathResult" + "target": "com.amazonaws.ec2#DescribeClientVpnEndpointsResult" }, "traits": { - "smithy.api#documentation": "

Deletes the specified path.

" + "smithy.api#documentation": "

Describes one or more Client VPN endpoints in the account.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "ClientVpnEndpoints", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DeleteNetworkInsightsPathRequest": { + "com.amazonaws.ec2#DescribeClientVpnEndpointsRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "ClientVpnEndpointIds": { + "target": "com.amazonaws.ec2#ClientVpnEndpointIdList", + "traits": { + "smithy.api#documentation": "

The ID of the Client VPN endpoint.

", + "smithy.api#xmlName": "ClientVpnEndpointId" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeClientVpnEndpointMaxResults", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

" } }, - "NetworkInsightsPathId": { - "target": "com.amazonaws.ec2#NetworkInsightsPathId", + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

The token to retrieve the next page of results.

" + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters. Filter names and values are case-sensitive.

\n
    \n
  • \n

    \n endpoint-id - The ID of the Client VPN endpoint.

    \n
  • \n
  • \n

    \n transport-protocol - The transport protocol (tcp |\n udp).

    \n
  • \n
", + "smithy.api#xmlName": "Filter" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the path.

", - "smithy.api#required": {} + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteNetworkInsightsPathResult": { + "com.amazonaws.ec2#DescribeClientVpnEndpointsResult": { "type": "structure", "members": { - "NetworkInsightsPathId": { - "target": "com.amazonaws.ec2#NetworkInsightsPathId", + "ClientVpnEndpoints": { + "target": "com.amazonaws.ec2#EndpointSet", "traits": { - "aws.protocols#ec2QueryName": "NetworkInsightsPathId", - "smithy.api#documentation": "

The ID of the path.

", - "smithy.api#xmlName": "networkInsightsPathId" + "aws.protocols#ec2QueryName": "ClientVpnEndpoint", + "smithy.api#documentation": "

Information about the Client VPN endpoints.

", + "smithy.api#xmlName": "clientVpnEndpoint" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DeleteNetworkInterface": { + "com.amazonaws.ec2#DescribeClientVpnRoutes": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteNetworkInterfaceRequest" + "target": "com.amazonaws.ec2#DescribeClientVpnRoutesRequest" }, "output": { - "target": "smithy.api#Unit" + "target": "com.amazonaws.ec2#DescribeClientVpnRoutesResult" }, "traits": { - "smithy.api#documentation": "

Deletes the specified network interface. You must detach the network interface before you can delete it.

" + "smithy.api#documentation": "

Describes the routes for the specified Client VPN endpoint.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Routes", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DeleteNetworkInterfacePermission": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DeleteNetworkInterfacePermissionRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DeleteNetworkInterfacePermissionResult" - }, + "com.amazonaws.ec2#DescribeClientVpnRoutesMaxResults": { + "type": "integer", "traits": { - "smithy.api#documentation": "

Deletes a permission for a network interface. By default, you cannot delete the\n\t\t\tpermission if the account for which you're removing the permission has attached the\n\t\t\tnetwork interface to an instance. However, you can force delete the permission,\n\t\t\tregardless of any attachment.

" + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 1000 + } } }, - "com.amazonaws.ec2#DeleteNetworkInterfacePermissionRequest": { + "com.amazonaws.ec2#DescribeClientVpnRoutesRequest": { "type": "structure", "members": { - "NetworkInterfacePermissionId": { - "target": "com.amazonaws.ec2#NetworkInterfacePermissionId", + "ClientVpnEndpointId": { + "target": "com.amazonaws.ec2#ClientVpnEndpointId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the network interface permission.

", + "smithy.api#documentation": "

The ID of the Client VPN endpoint.

", "smithy.api#required": {} } }, - "Force": { - "target": "com.amazonaws.ec2#Boolean", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Specify true to remove the permission even if the network interface is\n\t\t\tattached to an instance.

" + "smithy.api#documentation": "

One or more filters. Filter names and values are case-sensitive.

\n
    \n
  • \n

    \n destination-cidr - The CIDR of the route destination.

    \n
  • \n
  • \n

    \n origin - How the route was associated with the Client VPN endpoint (associate | add-route).

    \n
  • \n
  • \n

    \n target-subnet - The ID of the subnet through which traffic is routed.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeClientVpnRoutesMaxResults", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is DryRunOperation. \n\t\t\tOtherwise, it is UnauthorizedOperation.

" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

" } - } - }, - "traits": { - "smithy.api#documentation": "

Contains the parameters for DeleteNetworkInterfacePermission.

" - } - }, - "com.amazonaws.ec2#DeleteNetworkInterfacePermissionResult": { - "type": "structure", - "members": { - "Return": { + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

The token to retrieve the next page of results.

" + } + }, + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Return", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds, otherwise returns an error.

", - "smithy.api#xmlName": "return" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Contains the output for DeleteNetworkInterfacePermission.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteNetworkInterfaceRequest": { + "com.amazonaws.ec2#DescribeClientVpnRoutesResult": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Routes": { + "target": "com.amazonaws.ec2#ClientVpnRouteSet", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "aws.protocols#ec2QueryName": "Routes", + "smithy.api#documentation": "

Information about the Client VPN endpoint routes.

", + "smithy.api#xmlName": "routes" } }, - "NetworkInterfaceId": { - "target": "com.amazonaws.ec2#NetworkInterfaceId", + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the network interface.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "networkInterfaceId" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } - }, - "traits": { - "smithy.api#documentation": "

Contains the parameters for DeleteNetworkInterface.

" } }, - "com.amazonaws.ec2#DeletePlacementGroup": { + "com.amazonaws.ec2#DescribeClientVpnTargetNetworks": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeletePlacementGroupRequest" + "target": "com.amazonaws.ec2#DescribeClientVpnTargetNetworksRequest" }, "output": { - "target": "smithy.api#Unit" + "target": "com.amazonaws.ec2#DescribeClientVpnTargetNetworksResult" }, "traits": { - "smithy.api#documentation": "

Deletes the specified placement group. You must terminate all instances in the\n placement group before you can delete the placement group. For more information, see\n Placement groups in the Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Describes the target networks associated with the specified Client VPN endpoint.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "ClientVpnTargetNetworks", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DeletePlacementGroupRequest": { + "com.amazonaws.ec2#DescribeClientVpnTargetNetworksMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#DescribeClientVpnTargetNetworksRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "ClientVpnEndpointId": { + "target": "com.amazonaws.ec2#ClientVpnEndpointId", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

The ID of the Client VPN endpoint.

", + "smithy.api#required": {} } }, - "GroupName": { - "target": "com.amazonaws.ec2#PlacementGroupName", + "AssociationIds": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "aws.protocols#ec2QueryName": "GroupName", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The name of the placement group.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "groupName" + "smithy.api#documentation": "

The IDs of the target network associations.

" } - } - } - }, - "com.amazonaws.ec2#DeletePublicIpv4Pool": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DeletePublicIpv4PoolRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DeletePublicIpv4PoolResult" - }, - "traits": { - "smithy.api#documentation": "

Delete a public IPv4 pool. A public IPv4 pool is an EC2 IP address pool required for the public IPv4 CIDRs that you own and bring to Amazon Web Services to manage with IPAM. IPv6 addresses you bring to Amazon Web Services, however, use IPAM pools only.

" - } - }, - "com.amazonaws.ec2#DeletePublicIpv4PoolRequest": { - "type": "structure", - "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + }, + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeClientVpnTargetNetworksMaxResults", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

" } }, - "PoolId": { - "target": "com.amazonaws.ec2#Ipv4PoolEc2Id", + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

The token to retrieve the next page of results.

" + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters. Filter names and values are case-sensitive.

\n
    \n
  • \n

    \n association-id - The ID of the association.

    \n
  • \n
  • \n

    \n target-network-id - The ID of the subnet specified as the target network.

    \n
  • \n
  • \n

    \n vpc-id - The ID of the VPC in which the target network is located.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the public IPv4 pool you want to delete.

", - "smithy.api#required": {} + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeletePublicIpv4PoolResult": { + "com.amazonaws.ec2#DescribeClientVpnTargetNetworksResult": { "type": "structure", "members": { - "ReturnValue": { - "target": "com.amazonaws.ec2#Boolean", + "ClientVpnTargetNetworks": { + "target": "com.amazonaws.ec2#TargetNetworkSet", "traits": { - "aws.protocols#ec2QueryName": "ReturnValue", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Information about the result of deleting the public IPv4 pool.

", - "smithy.api#xmlName": "returnValue" + "aws.protocols#ec2QueryName": "ClientVpnTargetNetworks", + "smithy.api#documentation": "

Information about the associated target networks.

", + "smithy.api#xmlName": "clientVpnTargetNetworks" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DeleteQueuedReservedInstances": { + "com.amazonaws.ec2#DescribeCoipPools": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteQueuedReservedInstancesRequest" + "target": "com.amazonaws.ec2#DescribeCoipPoolsRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteQueuedReservedInstancesResult" + "target": "com.amazonaws.ec2#DescribeCoipPoolsResult" }, "traits": { - "smithy.api#documentation": "

Deletes the queued purchases for the specified Reserved Instances.

" + "smithy.api#documentation": "

Describes the specified customer-owned address pools or all of your customer-owned address pools.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "CoipPools", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DeleteQueuedReservedInstancesError": { + "com.amazonaws.ec2#DescribeCoipPoolsRequest": { "type": "structure", "members": { - "Code": { - "target": "com.amazonaws.ec2#DeleteQueuedReservedInstancesErrorCode", + "PoolIds": { + "target": "com.amazonaws.ec2#CoipPoolIdSet", "traits": { - "aws.protocols#ec2QueryName": "Code", - "smithy.api#documentation": "

The error code.

", - "smithy.api#xmlName": "code" + "smithy.api#documentation": "

The IDs of the address pools.

", + "smithy.api#xmlName": "PoolId" } }, - "Message": { + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n coip-pool.local-gateway-route-table-id - The ID of the local gateway route table.

    \n
  • \n
  • \n

    \n coip-pool.pool-id - The ID of the address pool.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#CoipPoolMaxResults", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + } + }, + "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Message", - "smithy.api#documentation": "

The error message.

", - "smithy.api#xmlName": "message" + "smithy.api#documentation": "

The token for the next page of results.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Describes the error for a Reserved Instance whose queued purchase could not be deleted.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteQueuedReservedInstancesErrorCode": { - "type": "enum", + "com.amazonaws.ec2#DescribeCoipPoolsResult": { + "type": "structure", "members": { - "RESERVED_INSTANCES_ID_INVALID": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "reserved-instances-id-invalid" - } - }, - "RESERVED_INSTANCES_NOT_IN_QUEUED_STATE": { - "target": "smithy.api#Unit", + "CoipPools": { + "target": "com.amazonaws.ec2#CoipPoolSet", "traits": { - "smithy.api#enumValue": "reserved-instances-not-in-queued-state" + "aws.protocols#ec2QueryName": "CoipPoolSet", + "smithy.api#documentation": "

Information about the address pools.

", + "smithy.api#xmlName": "coipPoolSet" } }, - "UNEXPECTED_ERROR": { - "target": "smithy.api#Unit", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "unexpected-error" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DeleteQueuedReservedInstancesIdList": { + "com.amazonaws.ec2#DescribeConversionTaskList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#ReservationId", + "target": "com.amazonaws.ec2#ConversionTask", "traits": { "smithy.api#xmlName": "item" } + } + }, + "com.amazonaws.ec2#DescribeConversionTasks": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeConversionTasksRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeConversionTasksResult" }, "traits": { - "smithy.api#length": { - "min": 1, - "max": 100 + "smithy.api#documentation": "

Describes the specified conversion tasks or all your conversion tasks. For more information, see the\n VM Import/Export User Guide.

\n

For information about the import manifest referenced by this API action, see VM Import Manifest.

", + "smithy.waiters#waitable": { + "ConversionTaskCancelled": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "ConversionTasks[].State", + "expected": "cancelled", + "comparator": "allStringEquals" + } + } + } + ], + "minDelay": 15 + }, + "ConversionTaskCompleted": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "ConversionTasks[].State", + "expected": "completed", + "comparator": "allStringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "ConversionTasks[].State", + "expected": "cancelled", + "comparator": "anyStringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "ConversionTasks[].State", + "expected": "cancelling", + "comparator": "anyStringEquals" + } + } + } + ], + "minDelay": 15 + }, + "ConversionTaskDeleted": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "ConversionTasks[].State", + "expected": "deleted", + "comparator": "allStringEquals" + } + } + } + ], + "minDelay": 15 + } } } }, - "com.amazonaws.ec2#DeleteQueuedReservedInstancesRequest": { + "com.amazonaws.ec2#DescribeConversionTasksRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "ConversionTaskIds": { + "target": "com.amazonaws.ec2#ConversionIdStringList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "ConversionTaskId", + "smithy.api#documentation": "

The conversion task IDs.

", + "smithy.api#xmlName": "conversionTaskId" } }, - "ReservedInstancesIds": { - "target": "com.amazonaws.ec2#DeleteQueuedReservedInstancesIdList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IDs of the Reserved Instances.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "ReservedInstancesId" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteQueuedReservedInstancesResult": { + "com.amazonaws.ec2#DescribeConversionTasksResult": { "type": "structure", "members": { - "SuccessfulQueuedPurchaseDeletions": { - "target": "com.amazonaws.ec2#SuccessfulQueuedPurchaseDeletionSet", - "traits": { - "aws.protocols#ec2QueryName": "SuccessfulQueuedPurchaseDeletionSet", - "smithy.api#documentation": "

Information about the queued purchases that were successfully deleted.

", - "smithy.api#xmlName": "successfulQueuedPurchaseDeletionSet" - } - }, - "FailedQueuedPurchaseDeletions": { - "target": "com.amazonaws.ec2#FailedQueuedPurchaseDeletionSet", + "ConversionTasks": { + "target": "com.amazonaws.ec2#DescribeConversionTaskList", "traits": { - "aws.protocols#ec2QueryName": "FailedQueuedPurchaseDeletionSet", - "smithy.api#documentation": "

Information about the queued purchases that could not be deleted.

", - "smithy.api#xmlName": "failedQueuedPurchaseDeletionSet" + "aws.protocols#ec2QueryName": "ConversionTasks", + "smithy.api#documentation": "

Information about the conversion tasks.

", + "smithy.api#xmlName": "conversionTasks" } } } }, - "com.amazonaws.ec2#DeleteRoute": { + "com.amazonaws.ec2#DescribeCustomerGateways": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteRouteRequest" + "target": "com.amazonaws.ec2#DescribeCustomerGatewaysRequest" }, "output": { - "target": "smithy.api#Unit" + "target": "com.amazonaws.ec2#DescribeCustomerGatewaysResult" }, "traits": { - "smithy.api#documentation": "

Deletes the specified route from the specified route table.

" + "smithy.api#documentation": "

Describes one or more of your VPN customer gateways.

\n

For more information, see Amazon Web Services Site-to-Site VPN in the Amazon Web Services Site-to-Site VPN\n User Guide.

", + "smithy.waiters#waitable": { + "CustomerGatewayAvailable": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "CustomerGateways[].State", + "expected": "available", + "comparator": "allStringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "CustomerGateways[].State", + "expected": "deleted", + "comparator": "anyStringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "CustomerGateways[].State", + "expected": "deleting", + "comparator": "anyStringEquals" + } + } + } + ], + "minDelay": 15 + } + } } }, - "com.amazonaws.ec2#DeleteRouteRequest": { + "com.amazonaws.ec2#DescribeCustomerGatewaysRequest": { "type": "structure", "members": { - "DestinationCidrBlock": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "DestinationCidrBlock", - "smithy.api#documentation": "

The IPv4 CIDR range for the route. The value you specify must match the CIDR for the route exactly.

", - "smithy.api#xmlName": "destinationCidrBlock" - } - }, - "DestinationIpv6CidrBlock": { - "target": "com.amazonaws.ec2#String", + "CustomerGatewayIds": { + "target": "com.amazonaws.ec2#CustomerGatewayIdStringList", "traits": { - "aws.protocols#ec2QueryName": "DestinationIpv6CidrBlock", - "smithy.api#documentation": "

The IPv6 CIDR range for the route. The value you specify must match the CIDR for the route exactly.

", - "smithy.api#xmlName": "destinationIpv6CidrBlock" + "smithy.api#documentation": "

One or more customer gateway IDs.

\n

Default: Describes all your customer gateways.

", + "smithy.api#xmlName": "CustomerGatewayId" } }, - "DestinationPrefixListId": { - "target": "com.amazonaws.ec2#PrefixListResourceId", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The ID of the prefix list for the route.

" + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n bgp-asn - The customer gateway's Border Gateway Protocol (BGP)\n Autonomous System Number (ASN).

    \n
  • \n
  • \n

    \n customer-gateway-id - The ID of the customer gateway.

    \n
  • \n
  • \n

    \n ip-address - The IP address of the customer gateway\n device's external interface.

    \n
  • \n
  • \n

    \n state - The state of the customer gateway (pending |\n available | deleting |\n deleted).

    \n
  • \n
  • \n

    \n type - The type of customer gateway. Currently, the only\n supported type is ipsec.1.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, "DryRun": { @@ -21982,84 +26249,75 @@ "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", "smithy.api#xmlName": "dryRun" } - }, - "RouteTableId": { - "target": "com.amazonaws.ec2#RouteTableId", - "traits": { - "aws.protocols#ec2QueryName": "RouteTableId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the route table.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "routeTableId" - } } - } - }, - "com.amazonaws.ec2#DeleteRouteTable": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DeleteRouteTableRequest" - }, - "output": { - "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Deletes the specified route table. You must disassociate the route table from any subnets before you can delete it. You can't delete the main route table.

" + "smithy.api#documentation": "

Contains the parameters for DescribeCustomerGateways.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteRouteTableRequest": { + "com.amazonaws.ec2#DescribeCustomerGatewaysResult": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" - } - }, - "RouteTableId": { - "target": "com.amazonaws.ec2#RouteTableId", + "CustomerGateways": { + "target": "com.amazonaws.ec2#CustomerGatewayList", "traits": { - "aws.protocols#ec2QueryName": "RouteTableId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the route table.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "routeTableId" + "aws.protocols#ec2QueryName": "CustomerGatewaySet", + "smithy.api#documentation": "

Information about one or more customer gateways.

", + "smithy.api#xmlName": "customerGatewaySet" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of DescribeCustomerGateways.

" } }, - "com.amazonaws.ec2#DeleteSecurityGroup": { + "com.amazonaws.ec2#DescribeDhcpOptions": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteSecurityGroupRequest" + "target": "com.amazonaws.ec2#DescribeDhcpOptionsRequest" }, "output": { - "target": "smithy.api#Unit" + "target": "com.amazonaws.ec2#DescribeDhcpOptionsResult" }, "traits": { - "smithy.api#documentation": "

Deletes a security group.

\n

If you attempt to delete a security group that is associated with an instance, or is\n\t\t\t referenced by another security group, the operation fails with\n\t\t\t\tInvalidGroup.InUse in EC2-Classic or\n\t\t\t\tDependencyViolation in EC2-VPC.

\n \n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" + "smithy.api#documentation": "

Describes one or more of your DHCP options sets.

\n

For more information, see DHCP options sets in the\n\t\t\t\tAmazon Virtual Private Cloud User Guide.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "DhcpOptions", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DeleteSecurityGroupRequest": { + "com.amazonaws.ec2#DescribeDhcpOptionsMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#DescribeDhcpOptionsRequest": { "type": "structure", "members": { - "GroupId": { - "target": "com.amazonaws.ec2#SecurityGroupId", + "DhcpOptionsIds": { + "target": "com.amazonaws.ec2#DhcpOptionsIdStringList", "traits": { - "smithy.api#documentation": "

The ID of the security group. Required for a nondefault VPC.

" + "smithy.api#documentation": "

The IDs of one or more DHCP options sets.

\n

Default: Describes all your DHCP options sets.

", + "smithy.api#xmlName": "DhcpOptionsId" } }, - "GroupName": { - "target": "com.amazonaws.ec2#SecurityGroupName", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

[EC2-Classic, default VPC] The name of the security group. You can specify either the\n security group name or the security group ID. For security groups in a nondefault VPC,\n you must specify the security group ID.

" + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n dhcp-options-id - The ID of a DHCP options set.

    \n
  • \n
  • \n

    \n key - The key for one of the options (for example, domain-name).

    \n
  • \n
  • \n

    \n value - The value for one of the options.

    \n
  • \n
  • \n

    \n owner-id - The ID of the Amazon Web Services account that owns the DHCP options set.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, "DryRun": { @@ -22071,107 +26329,170 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", "smithy.api#xmlName": "dryRun" } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeDhcpOptionsMaxResults", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + } } - } - }, - "com.amazonaws.ec2#DeleteSnapshot": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DeleteSnapshotRequest" - }, - "output": { - "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Deletes the specified snapshot.

\n

When you make periodic snapshots of a volume, the snapshots are incremental, and only the\n blocks on the device that have changed since your last snapshot are saved in the new snapshot.\n When you delete a snapshot, only the data not needed for any other snapshot is removed. So\n regardless of which prior snapshots have been deleted, all active snapshots will have access\n to all the information needed to restore the volume.

\n

You cannot delete a snapshot of the root device of an EBS volume used by a registered AMI.\n You must first de-register the AMI before you can delete the snapshot.

\n

For more information, see Delete an Amazon EBS snapshot in the\n Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteSnapshotRequest": { + "com.amazonaws.ec2#DescribeDhcpOptionsResult": { "type": "structure", "members": { - "SnapshotId": { - "target": "com.amazonaws.ec2#SnapshotId", + "DhcpOptions": { + "target": "com.amazonaws.ec2#DhcpOptionsList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the EBS snapshot.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "DhcpOptionsSet", + "smithy.api#documentation": "

Information about one or more DHCP options sets.

", + "smithy.api#xmlName": "dhcpOptionsSet" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DeleteSpotDatafeedSubscription": { + "com.amazonaws.ec2#DescribeEgressOnlyInternetGateways": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteSpotDatafeedSubscriptionRequest" + "target": "com.amazonaws.ec2#DescribeEgressOnlyInternetGatewaysRequest" }, "output": { - "target": "smithy.api#Unit" + "target": "com.amazonaws.ec2#DescribeEgressOnlyInternetGatewaysResult" }, "traits": { - "smithy.api#documentation": "

Deletes the data feed for Spot Instances.

" + "smithy.api#documentation": "

Describes one or more of your egress-only internet gateways.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "EgressOnlyInternetGateways", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DeleteSpotDatafeedSubscriptionRequest": { + "com.amazonaws.ec2#DescribeEgressOnlyInternetGatewaysMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 255 + } + } + }, + "com.amazonaws.ec2#DescribeEgressOnlyInternetGatewaysRequest": { "type": "structure", "members": { "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "EgressOnlyInternetGatewayIds": { + "target": "com.amazonaws.ec2#EgressOnlyInternetGatewayIdList", + "traits": { + "smithy.api#documentation": "

One or more egress-only internet gateway IDs.

", + "smithy.api#xmlName": "EgressOnlyInternetGatewayId" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeEgressOnlyInternetGatewaysMaxResults", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for DeleteSpotDatafeedSubscription.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteSubnet": { + "com.amazonaws.ec2#DescribeEgressOnlyInternetGatewaysResult": { + "type": "structure", + "members": { + "EgressOnlyInternetGateways": { + "target": "com.amazonaws.ec2#EgressOnlyInternetGatewayList", + "traits": { + "aws.protocols#ec2QueryName": "EgressOnlyInternetGatewaySet", + "smithy.api#documentation": "

Information about the egress-only internet gateways.

", + "smithy.api#xmlName": "egressOnlyInternetGatewaySet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" + } + } + } + }, + "com.amazonaws.ec2#DescribeElasticGpus": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteSubnetRequest" + "target": "com.amazonaws.ec2#DescribeElasticGpusRequest" }, "output": { - "target": "smithy.api#Unit" + "target": "com.amazonaws.ec2#DescribeElasticGpusResult" }, "traits": { - "smithy.api#documentation": "

Deletes the specified subnet. You must terminate all running instances in the subnet before you can delete the subnet.

" + "smithy.api#documentation": "

Describes the Elastic Graphics accelerator associated with your instances. For more information\n about Elastic Graphics, see Amazon Elastic Graphics.

" } }, - "com.amazonaws.ec2#DeleteSubnetCidrReservation": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DeleteSubnetCidrReservationRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DeleteSubnetCidrReservationResult" - }, + "com.amazonaws.ec2#DescribeElasticGpusMaxResults": { + "type": "integer", "traits": { - "smithy.api#documentation": "

Deletes a subnet CIDR reservation.

" + "smithy.api#default": 0, + "smithy.api#range": { + "min": 10, + "max": 1000 + } } }, - "com.amazonaws.ec2#DeleteSubnetCidrReservationRequest": { + "com.amazonaws.ec2#DescribeElasticGpusRequest": { "type": "structure", "members": { - "SubnetCidrReservationId": { - "target": "com.amazonaws.ec2#SubnetCidrReservationId", + "ElasticGpuIds": { + "target": "com.amazonaws.ec2#ElasticGpuIdSet", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the subnet CIDR reservation.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The Elastic Graphics accelerator IDs.

", + "smithy.api#xmlName": "ElasticGpuId" } }, "DryRun": { @@ -22181,113 +26502,95 @@ "smithy.api#default": false, "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - } - } - }, - "com.amazonaws.ec2#DeleteSubnetCidrReservationResult": { - "type": "structure", - "members": { - "DeletedSubnetCidrReservation": { - "target": "com.amazonaws.ec2#SubnetCidrReservation", + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "aws.protocols#ec2QueryName": "DeletedSubnetCidrReservation", - "smithy.api#documentation": "

Information about the deleted subnet CIDR reservation.

", - "smithy.api#xmlName": "deletedSubnetCidrReservation" + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n availability-zone - The Availability Zone in which the\n Elastic Graphics accelerator resides.

    \n
  • \n
  • \n

    \n elastic-gpu-health - The status of the Elastic Graphics accelerator\n (OK | IMPAIRED).

    \n
  • \n
  • \n

    \n elastic-gpu-state - The state of the Elastic Graphics accelerator\n (ATTACHED).

    \n
  • \n
  • \n

    \n elastic-gpu-type - The type of Elastic Graphics accelerator; for example,\n eg1.medium.

    \n
  • \n
  • \n

    \n instance-id - The ID of the instance to which the\n Elastic Graphics accelerator is associated.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } - } - } - }, - "com.amazonaws.ec2#DeleteSubnetRequest": { - "type": "structure", - "members": { - "SubnetId": { - "target": "com.amazonaws.ec2#SubnetId", + }, + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeElasticGpusMaxResults", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the subnet.

", - "smithy.api#required": {} + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining\n results, make another call with the returned NextToken value. This value\n can be between 5 and 1000.

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

The token to request the next page of results.

" } } - } - }, - "com.amazonaws.ec2#DeleteTags": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DeleteTagsRequest" - }, - "output": { - "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Deletes the specified set of tags from the specified set of resources.

\n

To list the current tags, use DescribeTags. For more information about\n tags, see Tag\n your Amazon EC2 resources in the Amazon Elastic Compute Cloud User\n Guide.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteTagsRequest": { + "com.amazonaws.ec2#DescribeElasticGpusResult": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "ElasticGpuSet": { + "target": "com.amazonaws.ec2#ElasticGpuSet", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "aws.protocols#ec2QueryName": "ElasticGpuSet", + "smithy.api#documentation": "

Information about the Elastic Graphics accelerators.

", + "smithy.api#xmlName": "elasticGpuSet" } }, - "Resources": { - "target": "com.amazonaws.ec2#ResourceIdList", + "MaxResults": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "ResourceId", + "aws.protocols#ec2QueryName": "MaxResults", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IDs of the resources, separated by spaces.

\n \t

Constraints: Up to 1000 resource IDs. We recommend breaking up this request into smaller batches.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "resourceId" + "smithy.api#default": 0, + "smithy.api#documentation": "

The total number of items to return. If the total number of items available is more\n than the value specified in max-items then a Next-Token will be provided in the output\n that you can use to resume pagination.

", + "smithy.api#xmlName": "maxResults" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Tag", - "smithy.api#documentation": "

The tags to delete. Specify a tag key and an optional tag value to delete\n specific tags. If you specify a tag key without a tag value, we delete any tag with this\n key regardless of its value. If you specify a tag key with an empty string as the tag\n value, we delete the tag only if its value is an empty string.

\n

If you omit this parameter, we delete all user-defined tags for the specified\n resources. We do not delete Amazon Web Services-generated tags (tags that have the aws:\n prefix).

\n

Constraints: Up to 1000 tags.

", - "smithy.api#xmlName": "tag" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is\n null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DeleteTrafficMirrorFilter": { + "com.amazonaws.ec2#DescribeExportImageTasks": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteTrafficMirrorFilterRequest" + "target": "com.amazonaws.ec2#DescribeExportImageTasksRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteTrafficMirrorFilterResult" + "target": "com.amazonaws.ec2#DescribeExportImageTasksResult" }, "traits": { - "smithy.api#documentation": "

Deletes the specified Traffic Mirror filter.

\n

You cannot delete a Traffic Mirror filter that is in use by a Traffic Mirror session.

" + "smithy.api#documentation": "

Describes the specified export image tasks or all of your export image tasks.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "ExportImageTasks", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DeleteTrafficMirrorFilterRequest": { + "com.amazonaws.ec2#DescribeExportImageTasksMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 1, + "max": 500 + } + } + }, + "com.amazonaws.ec2#DescribeExportImageTasksRequest": { "type": "structure", "members": { - "TrafficMirrorFilterId": { - "target": "com.amazonaws.ec2#TrafficMirrorFilterId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Traffic Mirror filter.

", - "smithy.api#required": {} - } - }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -22295,89 +26598,186 @@ "smithy.api#default": false, "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

Filter tasks using the task-state filter and one of the following values: active,\n completed, deleting, or deleted.

", + "smithy.api#xmlName": "Filter" + } + }, + "ExportImageTaskIds": { + "target": "com.amazonaws.ec2#ExportImageTaskIdList", + "traits": { + "smithy.api#documentation": "

The IDs of the export image tasks.

", + "smithy.api#xmlName": "ExportImageTaskId" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeExportImageTasksMaxResults", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return in a single call.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

A token that indicates the next page of results.

" + } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteTrafficMirrorFilterResult": { + "com.amazonaws.ec2#DescribeExportImageTasksResult": { "type": "structure", "members": { - "TrafficMirrorFilterId": { - "target": "com.amazonaws.ec2#String", + "ExportImageTasks": { + "target": "com.amazonaws.ec2#ExportImageTaskList", "traits": { - "aws.protocols#ec2QueryName": "TrafficMirrorFilterId", - "smithy.api#documentation": "

The ID of the Traffic Mirror filter.

", - "smithy.api#xmlName": "trafficMirrorFilterId" + "aws.protocols#ec2QueryName": "ExportImageTaskSet", + "smithy.api#documentation": "

Information about the export image tasks.

", + "smithy.api#xmlName": "exportImageTaskSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to get the next page of results. This value is null when there are no more results\n to return.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DeleteTrafficMirrorFilterRule": { + "com.amazonaws.ec2#DescribeExportTasks": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteTrafficMirrorFilterRuleRequest" + "target": "com.amazonaws.ec2#DescribeExportTasksRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteTrafficMirrorFilterRuleResult" + "target": "com.amazonaws.ec2#DescribeExportTasksResult" }, "traits": { - "smithy.api#documentation": "

Deletes the specified Traffic Mirror rule.

" + "smithy.api#documentation": "

Describes the specified export instance tasks or all of your export instance tasks.

", + "smithy.waiters#waitable": { + "ExportTaskCancelled": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "ExportTasks[].State", + "expected": "cancelled", + "comparator": "allStringEquals" + } + } + } + ], + "minDelay": 15 + }, + "ExportTaskCompleted": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "ExportTasks[].State", + "expected": "completed", + "comparator": "allStringEquals" + } + } + } + ], + "minDelay": 15 + } + } } }, - "com.amazonaws.ec2#DeleteTrafficMirrorFilterRuleRequest": { + "com.amazonaws.ec2#DescribeExportTasksRequest": { "type": "structure", "members": { - "TrafficMirrorFilterRuleId": { - "target": "com.amazonaws.ec2#TrafficMirrorFilterRuleId", + "ExportTaskIds": { + "target": "com.amazonaws.ec2#ExportTaskIdStringList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Traffic Mirror rule.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "ExportTaskId", + "smithy.api#documentation": "

The export task IDs.

", + "smithy.api#xmlName": "exportTaskId" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

the filters for the export tasks.

", + "smithy.api#xmlName": "Filter" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteTrafficMirrorFilterRuleResult": { + "com.amazonaws.ec2#DescribeExportTasksResult": { "type": "structure", "members": { - "TrafficMirrorFilterRuleId": { - "target": "com.amazonaws.ec2#String", + "ExportTasks": { + "target": "com.amazonaws.ec2#ExportTaskList", "traits": { - "aws.protocols#ec2QueryName": "TrafficMirrorFilterRuleId", - "smithy.api#documentation": "

The ID of the deleted Traffic Mirror rule.

", - "smithy.api#xmlName": "trafficMirrorFilterRuleId" + "aws.protocols#ec2QueryName": "ExportTaskSet", + "smithy.api#documentation": "

Information about the export tasks.

", + "smithy.api#xmlName": "exportTaskSet" } } } }, - "com.amazonaws.ec2#DeleteTrafficMirrorSession": { + "com.amazonaws.ec2#DescribeFastLaunchImages": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteTrafficMirrorSessionRequest" + "target": "com.amazonaws.ec2#DescribeFastLaunchImagesRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteTrafficMirrorSessionResult" + "target": "com.amazonaws.ec2#DescribeFastLaunchImagesResult" }, "traits": { - "smithy.api#documentation": "

Deletes the specified Traffic Mirror session.

" + "smithy.api#documentation": "

Describe details for Windows AMIs that are configured for faster launching.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "FastLaunchImages", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DeleteTrafficMirrorSessionRequest": { + "com.amazonaws.ec2#DescribeFastLaunchImagesRequest": { "type": "structure", "members": { - "TrafficMirrorSessionId": { - "target": "com.amazonaws.ec2#TrafficMirrorSessionId", + "ImageIds": { + "target": "com.amazonaws.ec2#FastLaunchImageIdList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Traffic Mirror session.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Details for one or more Windows AMI image IDs.

", + "smithy.api#xmlName": "ImageId" + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

Use the following filters to streamline results.

\n
    \n
  • \n

    \n resource-type - The resource type for pre-provisioning.

    \n
  • \n
  • \n

    \n launch-template - The launch template that is associated with the pre-provisioned Windows AMI.

    \n
  • \n
  • \n

    \n owner-id - The owner ID for the pre-provisioning resource.

    \n
  • \n
  • \n

    \n state - The current state of fast launching for the Windows AMI.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeFastLaunchImagesRequestMaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining results, \n\t\t\tmake another request with the returned NextToken value. If this parameter is not specified, \n\t\t\tthen all results are returned.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

The token for the next set of results.

" } }, "DryRun": { @@ -22385,149 +26785,287 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteTrafficMirrorSessionResult": { + "com.amazonaws.ec2#DescribeFastLaunchImagesRequestMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 0, + "max": 200 + } + } + }, + "com.amazonaws.ec2#DescribeFastLaunchImagesResult": { "type": "structure", "members": { - "TrafficMirrorSessionId": { - "target": "com.amazonaws.ec2#String", + "FastLaunchImages": { + "target": "com.amazonaws.ec2#DescribeFastLaunchImagesSuccessSet", "traits": { - "aws.protocols#ec2QueryName": "TrafficMirrorSessionId", - "smithy.api#documentation": "

The ID of the deleted Traffic Mirror session.

", - "smithy.api#xmlName": "trafficMirrorSessionId" + "aws.protocols#ec2QueryName": "FastLaunchImageSet", + "smithy.api#documentation": "

A collection of details about the fast-launch enabled Windows images that meet \n\t\t\tthe requested criteria.

", + "smithy.api#xmlName": "fastLaunchImageSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use for the next set of results. This value is null when there are \n\t\t\tno more results to return.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DeleteTrafficMirrorTarget": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DeleteTrafficMirrorTargetRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DeleteTrafficMirrorTargetResult" - }, - "traits": { - "smithy.api#documentation": "

Deletes the specified Traffic Mirror target.

\n

You cannot delete a Traffic Mirror target that is in use by a Traffic Mirror session.

" - } - }, - "com.amazonaws.ec2#DeleteTrafficMirrorTargetRequest": { + "com.amazonaws.ec2#DescribeFastLaunchImagesSuccessItem": { "type": "structure", "members": { - "TrafficMirrorTargetId": { - "target": "com.amazonaws.ec2#TrafficMirrorTargetId", + "ImageId": { + "target": "com.amazonaws.ec2#ImageId", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Traffic Mirror target.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "ImageId", + "smithy.api#documentation": "

The image ID that identifies the fast-launch enabled Windows image.

", + "smithy.api#xmlName": "imageId" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "ResourceType": { + "target": "com.amazonaws.ec2#FastLaunchResourceType", + "traits": { + "aws.protocols#ec2QueryName": "ResourceType", + "smithy.api#documentation": "

The resource type that is used for pre-provisioning the Windows AMI. Supported values \n\t\t\tinclude: snapshot.

", + "smithy.api#xmlName": "resourceType" + } + }, + "SnapshotConfiguration": { + "target": "com.amazonaws.ec2#FastLaunchSnapshotConfigurationResponse", + "traits": { + "aws.protocols#ec2QueryName": "SnapshotConfiguration", + "smithy.api#documentation": "

A group of parameters that are used for pre-provisioning the associated \n\t\t\tWindows AMI using snapshots.

", + "smithy.api#xmlName": "snapshotConfiguration" + } + }, + "LaunchTemplate": { + "target": "com.amazonaws.ec2#FastLaunchLaunchTemplateSpecificationResponse", + "traits": { + "aws.protocols#ec2QueryName": "LaunchTemplate", + "smithy.api#documentation": "

The launch template that the fast-launch enabled Windows AMI uses when it launches \n\t\t\tWindows instances from pre-provisioned snapshots.

", + "smithy.api#xmlName": "launchTemplate" + } + }, + "MaxParallelLaunches": { + "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "MaxParallelLaunches", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of parallel instances that are launched for creating resources.

", + "smithy.api#xmlName": "maxParallelLaunches" + } + }, + "OwnerId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The owner ID for the fast-launch enabled Windows AMI.

", + "smithy.api#xmlName": "ownerId" + } + }, + "State": { + "target": "com.amazonaws.ec2#FastLaunchStateCode", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The current state of faster launching for the specified Windows AMI.

", + "smithy.api#xmlName": "state" + } + }, + "StateTransitionReason": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "StateTransitionReason", + "smithy.api#documentation": "

The reason that faster launching for the Windows AMI changed to the current state.

", + "smithy.api#xmlName": "stateTransitionReason" + } + }, + "StateTransitionTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "StateTransitionTime", + "smithy.api#documentation": "

The time that faster launching for the Windows AMI changed to the current state.

", + "smithy.api#xmlName": "stateTransitionTime" } } + }, + "traits": { + "smithy.api#documentation": "

Describe details about a fast-launch enabled Windows image that meets the requested \n\t\t\tcriteria. Criteria are defined by the DescribeFastLaunchImages action filters.

" } }, - "com.amazonaws.ec2#DeleteTrafficMirrorTargetResult": { + "com.amazonaws.ec2#DescribeFastLaunchImagesSuccessSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#DescribeFastLaunchImagesSuccessItem", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#DescribeFastSnapshotRestoreSuccessItem": { "type": "structure", "members": { - "TrafficMirrorTargetId": { + "SnapshotId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "SnapshotId", + "smithy.api#documentation": "

The ID of the snapshot.

", + "smithy.api#xmlName": "snapshotId" + } + }, + "AvailabilityZone": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AvailabilityZone", + "smithy.api#documentation": "

The Availability Zone.

", + "smithy.api#xmlName": "availabilityZone" + } + }, + "State": { + "target": "com.amazonaws.ec2#FastSnapshotRestoreStateCode", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of fast snapshot restores.

", + "smithy.api#xmlName": "state" + } + }, + "StateTransitionReason": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "StateTransitionReason", + "smithy.api#documentation": "

The reason for the state transition. The possible values are as follows:

\n
    \n
  • \n

    \n Client.UserInitiated - The state successfully transitioned to enabling or\n disabling.

    \n
  • \n
  • \n

    \n Client.UserInitiated - Lifecycle state transition - The state successfully transitioned \n to optimizing, enabled, or disabled.

    \n
  • \n
", + "smithy.api#xmlName": "stateTransitionReason" + } + }, + "OwnerId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that enabled fast snapshot restores on the snapshot.

", + "smithy.api#xmlName": "ownerId" + } + }, + "OwnerAlias": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TrafficMirrorTargetId", - "smithy.api#documentation": "

The ID of the deleted Traffic Mirror target.

", - "smithy.api#xmlName": "trafficMirrorTargetId" + "aws.protocols#ec2QueryName": "OwnerAlias", + "smithy.api#documentation": "

The Amazon Web Services owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

", + "smithy.api#xmlName": "ownerAlias" + } + }, + "EnablingTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "EnablingTime", + "smithy.api#documentation": "

The time at which fast snapshot restores entered the enabling state.

", + "smithy.api#xmlName": "enablingTime" + } + }, + "OptimizingTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "OptimizingTime", + "smithy.api#documentation": "

The time at which fast snapshot restores entered the optimizing state.

", + "smithy.api#xmlName": "optimizingTime" + } + }, + "EnabledTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "EnabledTime", + "smithy.api#documentation": "

The time at which fast snapshot restores entered the enabled state.

", + "smithy.api#xmlName": "enabledTime" + } + }, + "DisablingTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "DisablingTime", + "smithy.api#documentation": "

The time at which fast snapshot restores entered the disabling state.

", + "smithy.api#xmlName": "disablingTime" + } + }, + "DisabledTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "DisabledTime", + "smithy.api#documentation": "

The time at which fast snapshot restores entered the disabled state.

", + "smithy.api#xmlName": "disabledTime" } } - } - }, - "com.amazonaws.ec2#DeleteTransitGateway": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DeleteTransitGatewayRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DeleteTransitGatewayResult" }, "traits": { - "smithy.api#documentation": "

Deletes the specified transit gateway.

" + "smithy.api#documentation": "

Describes fast snapshot restores for a snapshot.

" } }, - "com.amazonaws.ec2#DeleteTransitGatewayConnect": { + "com.amazonaws.ec2#DescribeFastSnapshotRestoreSuccessSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#DescribeFastSnapshotRestoreSuccessItem", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#DescribeFastSnapshotRestores": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteTransitGatewayConnectRequest" + "target": "com.amazonaws.ec2#DescribeFastSnapshotRestoresRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteTransitGatewayConnectResult" + "target": "com.amazonaws.ec2#DescribeFastSnapshotRestoresResult" }, "traits": { - "smithy.api#documentation": "

Deletes the specified Connect attachment. You must first delete any Connect peers for\n the attachment.

" + "smithy.api#documentation": "

Describes the state of fast snapshot restores for your snapshots.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "FastSnapshotRestores", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DeleteTransitGatewayConnectPeer": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DeleteTransitGatewayConnectPeerRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DeleteTransitGatewayConnectPeerResult" - }, + "com.amazonaws.ec2#DescribeFastSnapshotRestoresMaxResults": { + "type": "integer", "traits": { - "smithy.api#documentation": "

Deletes the specified Connect peer.

" + "smithy.api#range": { + "min": 0, + "max": 200 + } } }, - "com.amazonaws.ec2#DeleteTransitGatewayConnectPeerRequest": { + "com.amazonaws.ec2#DescribeFastSnapshotRestoresRequest": { "type": "structure", "members": { - "TransitGatewayConnectPeerId": { - "target": "com.amazonaws.ec2#TransitGatewayConnectPeerId", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Connect peer.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The filters. The possible values are:

\n
    \n
  • \n

    \n availability-zone: The Availability Zone of the snapshot.

    \n
  • \n
  • \n

    \n owner-id: The ID of the Amazon Web Services account that enabled fast snapshot restore on the snapshot.

    \n
  • \n
  • \n

    \n snapshot-id: The ID of the snapshot.

    \n
  • \n
  • \n

    \n state: The state of fast snapshot restores for the snapshot \n (enabling | \n optimizing | \n enabled | \n disabling | \n disabled).

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - } - } - }, - "com.amazonaws.ec2#DeleteTransitGatewayConnectPeerResult": { - "type": "structure", - "members": { - "TransitGatewayConnectPeer": { - "target": "com.amazonaws.ec2#TransitGatewayConnectPeer", + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeFastSnapshotRestoresMaxResults", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayConnectPeer", - "smithy.api#documentation": "

Information about the deleted Connect peer.

", - "smithy.api#xmlName": "transitGatewayConnectPeer" + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } - } - } - }, - "com.amazonaws.ec2#DeleteTransitGatewayConnectRequest": { - "type": "structure", - "members": { - "TransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Connect attachment.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The token for the next page of results.

" } }, "DryRun": { @@ -22538,136 +27076,87 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } - } - }, - "com.amazonaws.ec2#DeleteTransitGatewayConnectResult": { - "type": "structure", - "members": { - "TransitGatewayConnect": { - "target": "com.amazonaws.ec2#TransitGatewayConnect", - "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayConnect", - "smithy.api#documentation": "

Information about the deleted Connect attachment.

", - "smithy.api#xmlName": "transitGatewayConnect" - } - } - } - }, - "com.amazonaws.ec2#DeleteTransitGatewayMulticastDomain": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DeleteTransitGatewayMulticastDomainRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DeleteTransitGatewayMulticastDomainResult" }, "traits": { - "smithy.api#documentation": "

Deletes the specified transit gateway multicast domain.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteTransitGatewayMulticastDomainRequest": { + "com.amazonaws.ec2#DescribeFastSnapshotRestoresResult": { "type": "structure", "members": { - "TransitGatewayMulticastDomainId": { - "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainId", + "FastSnapshotRestores": { + "target": "com.amazonaws.ec2#DescribeFastSnapshotRestoreSuccessSet", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "FastSnapshotRestoreSet", + "smithy.api#documentation": "

Information about the state of fast snapshot restores.

", + "smithy.api#xmlName": "fastSnapshotRestoreSet" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DeleteTransitGatewayMulticastDomainResult": { + "com.amazonaws.ec2#DescribeFleetError": { "type": "structure", "members": { - "TransitGatewayMulticastDomain": { - "target": "com.amazonaws.ec2#TransitGatewayMulticastDomain", + "LaunchTemplateAndOverrides": { + "target": "com.amazonaws.ec2#LaunchTemplateAndOverridesResponse", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayMulticastDomain", - "smithy.api#documentation": "

Information about the deleted transit gateway multicast domain.

", - "smithy.api#xmlName": "transitGatewayMulticastDomain" + "aws.protocols#ec2QueryName": "LaunchTemplateAndOverrides", + "smithy.api#documentation": "

The launch templates and overrides that were used for launching the instances. The\n values that you specify in the Overrides replace the values in the launch template.

", + "smithy.api#xmlName": "launchTemplateAndOverrides" } - } - } - }, - "com.amazonaws.ec2#DeleteTransitGatewayPeeringAttachment": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DeleteTransitGatewayPeeringAttachmentRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DeleteTransitGatewayPeeringAttachmentResult" - }, - "traits": { - "smithy.api#documentation": "

Deletes a transit gateway peering attachment.

" - } - }, - "com.amazonaws.ec2#DeleteTransitGatewayPeeringAttachmentRequest": { - "type": "structure", - "members": { - "TransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", + }, + "Lifecycle": { + "target": "com.amazonaws.ec2#InstanceLifecycle", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the transit gateway peering attachment.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "Lifecycle", + "smithy.api#documentation": "

Indicates if the instance that could not be launched was a Spot Instance or On-Demand Instance.

", + "smithy.api#xmlName": "lifecycle" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "ErrorCode": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "ErrorCode", + "smithy.api#documentation": "

The error code that indicates why the instance could not be launched. For more\n information about error codes, see Error codes.

", + "smithy.api#xmlName": "errorCode" } - } - } - }, - "com.amazonaws.ec2#DeleteTransitGatewayPeeringAttachmentResult": { - "type": "structure", - "members": { - "TransitGatewayPeeringAttachment": { - "target": "com.amazonaws.ec2#TransitGatewayPeeringAttachment", + }, + "ErrorMessage": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayPeeringAttachment", - "smithy.api#documentation": "

The transit gateway peering attachment.

", - "smithy.api#xmlName": "transitGatewayPeeringAttachment" + "aws.protocols#ec2QueryName": "ErrorMessage", + "smithy.api#documentation": "

The error message that describes why the instance could not be launched. For more\n information about error messages, see Error codes.

", + "smithy.api#xmlName": "errorMessage" } } + }, + "traits": { + "smithy.api#documentation": "

Describes the instances that could not be launched by the fleet.

" } }, - "com.amazonaws.ec2#DeleteTransitGatewayPolicyTable": { + "com.amazonaws.ec2#DescribeFleetHistory": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteTransitGatewayPolicyTableRequest" + "target": "com.amazonaws.ec2#DescribeFleetHistoryRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteTransitGatewayPolicyTableResult" + "target": "com.amazonaws.ec2#DescribeFleetHistoryResult" }, "traits": { - "smithy.api#documentation": "

Deletes the specified transit gateway policy table.

" + "smithy.api#documentation": "

Describes the events for the specified EC2 Fleet during the specified time.

\n

EC2 Fleet events are delayed by up to 30 seconds before they can be described. This ensures\n that you can query by the last evaluated time and not miss a recorded event. EC2 Fleet events\n are available for 48 hours.

\n

For more information, see Monitor fleet events using Amazon EventBridge in the\n Amazon EC2 User Guide.

" } }, - "com.amazonaws.ec2#DeleteTransitGatewayPolicyTableRequest": { + "com.amazonaws.ec2#DescribeFleetHistoryRequest": { "type": "structure", "members": { - "TransitGatewayPolicyTableId": { - "target": "com.amazonaws.ec2#TransitGatewayPolicyTableId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The transit gateway policy table to delete.

", - "smithy.api#required": {} - } - }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -22675,199 +27164,108 @@ "smithy.api#default": false, "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - } - } - }, - "com.amazonaws.ec2#DeleteTransitGatewayPolicyTableResult": { - "type": "structure", - "members": { - "TransitGatewayPolicyTable": { - "target": "com.amazonaws.ec2#TransitGatewayPolicyTable", - "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayPolicyTable", - "smithy.api#documentation": "

Provides details about the deleted transit gateway policy table.

", - "smithy.api#xmlName": "transitGatewayPolicyTable" - } - } - } - }, - "com.amazonaws.ec2#DeleteTransitGatewayPrefixListReference": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DeleteTransitGatewayPrefixListReferenceRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DeleteTransitGatewayPrefixListReferenceResult" - }, - "traits": { - "smithy.api#documentation": "

Deletes a reference (route) to a prefix list in a specified transit gateway route table.

" - } - }, - "com.amazonaws.ec2#DeleteTransitGatewayPrefixListReferenceRequest": { - "type": "structure", - "members": { - "TransitGatewayRouteTableId": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the route table.

", - "smithy.api#required": {} - } }, - "PrefixListId": { - "target": "com.amazonaws.ec2#PrefixListResourceId", + "EventType": { + "target": "com.amazonaws.ec2#FleetEventType", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the prefix list.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The type of events to describe. By default, all events are described.

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "MaxResults": { + "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return in a single call. Specify a value between 1 and\n 1000. The default value is 1000. To retrieve the remaining results, make another call with\n the returned NextToken value.

" } - } - } - }, - "com.amazonaws.ec2#DeleteTransitGatewayPrefixListReferenceResult": { - "type": "structure", - "members": { - "TransitGatewayPrefixListReference": { - "target": "com.amazonaws.ec2#TransitGatewayPrefixListReference", + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayPrefixListReference", - "smithy.api#documentation": "

Information about the deleted prefix list reference.

", - "smithy.api#xmlName": "transitGatewayPrefixListReference" + "smithy.api#documentation": "

The token for the next set of results.

" } - } - } - }, - "com.amazonaws.ec2#DeleteTransitGatewayRequest": { - "type": "structure", - "members": { - "TransitGatewayId": { - "target": "com.amazonaws.ec2#TransitGatewayId", + }, + "FleetId": { + "target": "com.amazonaws.ec2#FleetId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the transit gateway.

", + "smithy.api#documentation": "

The ID of the EC2 Fleet.

", "smithy.api#required": {} } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "StartTime": { + "target": "com.amazonaws.ec2#DateTime", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - } - } - }, - "com.amazonaws.ec2#DeleteTransitGatewayResult": { - "type": "structure", - "members": { - "TransitGateway": { - "target": "com.amazonaws.ec2#TransitGateway", - "traits": { - "aws.protocols#ec2QueryName": "TransitGateway", - "smithy.api#documentation": "

Information about the deleted transit gateway.

", - "smithy.api#xmlName": "transitGateway" + "smithy.api#documentation": "

The start date and time for the events, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).

", + "smithy.api#required": {} } } - } - }, - "com.amazonaws.ec2#DeleteTransitGatewayRoute": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DeleteTransitGatewayRouteRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DeleteTransitGatewayRouteResult" }, "traits": { - "smithy.api#documentation": "

Deletes the specified route from the specified transit gateway route table.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteTransitGatewayRouteRequest": { + "com.amazonaws.ec2#DescribeFleetHistoryResult": { "type": "structure", "members": { - "TransitGatewayRouteTableId": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", + "HistoryRecords": { + "target": "com.amazonaws.ec2#HistoryRecordSet", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the transit gateway route table.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "HistoryRecordSet", + "smithy.api#documentation": "

Information about the events in the history of the EC2 Fleet.

", + "smithy.api#xmlName": "historyRecordSet" } }, - "DestinationCidrBlock": { + "LastEvaluatedTime": { + "target": "com.amazonaws.ec2#DateTime", + "traits": { + "aws.protocols#ec2QueryName": "LastEvaluatedTime", + "smithy.api#documentation": "

The last date and time for the events, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).\n All records up to this time were retrieved.

\n

If nextToken indicates that there are more results, this value is not\n present.

", + "smithy.api#xmlName": "lastEvaluatedTime" + } + }, + "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The CIDR range for the route. This must match the CIDR for the route exactly.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token for the next set of results.

", + "smithy.api#xmlName": "nextToken" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "FleetId": { + "target": "com.amazonaws.ec2#FleetId", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "FleetId", + "smithy.api#documentation": "

The ID of the EC Fleet.

", + "smithy.api#xmlName": "fleetId" } - } - } - }, - "com.amazonaws.ec2#DeleteTransitGatewayRouteResult": { - "type": "structure", - "members": { - "Route": { - "target": "com.amazonaws.ec2#TransitGatewayRoute", + }, + "StartTime": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "Route", - "smithy.api#documentation": "

Information about the route.

", - "smithy.api#xmlName": "route" + "aws.protocols#ec2QueryName": "StartTime", + "smithy.api#documentation": "

The start date and time for the events, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).

", + "smithy.api#xmlName": "startTime" } } } }, - "com.amazonaws.ec2#DeleteTransitGatewayRouteTable": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DeleteTransitGatewayRouteTableRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DeleteTransitGatewayRouteTableResult" - }, - "traits": { - "smithy.api#documentation": "

Deletes the specified transit gateway route table. You must disassociate the route table from any\n transit gateway route tables before you can delete it.

" - } - }, - "com.amazonaws.ec2#DeleteTransitGatewayRouteTableAnnouncement": { + "com.amazonaws.ec2#DescribeFleetInstances": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteTransitGatewayRouteTableAnnouncementRequest" + "target": "com.amazonaws.ec2#DescribeFleetInstancesRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteTransitGatewayRouteTableAnnouncementResult" + "target": "com.amazonaws.ec2#DescribeFleetInstancesResult" }, "traits": { - "smithy.api#documentation": "

Advertises to the transit gateway that a transit gateway route table is deleted.

" + "smithy.api#documentation": "

Describes the running instances for the specified EC2 Fleet.

\n

For more information, see Monitor your EC2 Fleet in the Amazon EC2 User Guide.

" } }, - "com.amazonaws.ec2#DeleteTransitGatewayRouteTableAnnouncementRequest": { + "com.amazonaws.ec2#DescribeFleetInstancesRequest": { "type": "structure", "members": { - "TransitGatewayRouteTableAnnouncementId": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The transit gateway route table ID that's being deleted.

", - "smithy.api#required": {} - } - }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -22875,162 +27273,155 @@ "smithy.api#default": false, "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - } - } - }, - "com.amazonaws.ec2#DeleteTransitGatewayRouteTableAnnouncementResult": { - "type": "structure", - "members": { - "TransitGatewayRouteTableAnnouncement": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncement", - "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayRouteTableAnnouncement", - "smithy.api#documentation": "

Provides details about a deleted transit gateway route table.

", - "smithy.api#xmlName": "transitGatewayRouteTableAnnouncement" - } - } - } - }, - "com.amazonaws.ec2#DeleteTransitGatewayRouteTableRequest": { - "type": "structure", - "members": { - "TransitGatewayRouteTableId": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the transit gateway route table.

", - "smithy.api#required": {} - } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "MaxResults": { + "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - } - } - }, - "com.amazonaws.ec2#DeleteTransitGatewayRouteTableResult": { - "type": "structure", - "members": { - "TransitGatewayRouteTable": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTable", - "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayRouteTable", - "smithy.api#documentation": "

Information about the deleted transit gateway route table.

", - "smithy.api#xmlName": "transitGatewayRouteTable" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return in a single call. Specify a value between 1 and\n 1000. The default value is 1000. To retrieve the remaining results, make another call with\n the returned NextToken value.

" } - } - } - }, - "com.amazonaws.ec2#DeleteTransitGatewayVpcAttachment": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DeleteTransitGatewayVpcAttachmentRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DeleteTransitGatewayVpcAttachmentResult" - }, - "traits": { - "smithy.api#documentation": "

Deletes the specified VPC attachment.

" - } - }, - "com.amazonaws.ec2#DeleteTransitGatewayVpcAttachmentRequest": { - "type": "structure", - "members": { - "TransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token for the next set of results.

" + } + }, + "FleetId": { + "target": "com.amazonaws.ec2#FleetId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the attachment.

", + "smithy.api#documentation": "

The ID of the EC2 Fleet.

", "smithy.api#required": {} } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n instance-type - The instance type.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteTransitGatewayVpcAttachmentResult": { + "com.amazonaws.ec2#DescribeFleetInstancesResult": { "type": "structure", "members": { - "TransitGatewayVpcAttachment": { - "target": "com.amazonaws.ec2#TransitGatewayVpcAttachment", + "ActiveInstances": { + "target": "com.amazonaws.ec2#ActiveInstanceSet", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayVpcAttachment", - "smithy.api#documentation": "

Information about the deleted VPC attachment.

", - "smithy.api#xmlName": "transitGatewayVpcAttachment" + "aws.protocols#ec2QueryName": "ActiveInstanceSet", + "smithy.api#documentation": "

The running instances. This list is refreshed periodically and might be out of\n date.

", + "smithy.api#xmlName": "activeInstanceSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token for the next set of results.

", + "smithy.api#xmlName": "nextToken" + } + }, + "FleetId": { + "target": "com.amazonaws.ec2#FleetId", + "traits": { + "aws.protocols#ec2QueryName": "FleetId", + "smithy.api#documentation": "

The ID of the EC2 Fleet.

", + "smithy.api#xmlName": "fleetId" } } } }, - "com.amazonaws.ec2#DeleteVolume": { + "com.amazonaws.ec2#DescribeFleets": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteVolumeRequest" + "target": "com.amazonaws.ec2#DescribeFleetsRequest" }, "output": { - "target": "smithy.api#Unit" + "target": "com.amazonaws.ec2#DescribeFleetsResult" }, "traits": { - "smithy.api#documentation": "

Deletes the specified EBS volume. The volume must be in the available state\n (not attached to an instance).

\n

The volume can remain in the deleting state for several minutes.

\n

For more information, see Delete an Amazon EBS volume in the\n Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Describes the specified EC2 Fleets or all of your EC2 Fleets.

\n

For more information, see Monitor your EC2 Fleet in the Amazon EC2 User Guide.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Fleets", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DeleteVolumeRequest": { + "com.amazonaws.ec2#DescribeFleetsErrorSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#DescribeFleetError", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#DescribeFleetsInstances": { "type": "structure", "members": { - "VolumeId": { - "target": "com.amazonaws.ec2#VolumeId", + "LaunchTemplateAndOverrides": { + "target": "com.amazonaws.ec2#LaunchTemplateAndOverridesResponse", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the volume.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "LaunchTemplateAndOverrides", + "smithy.api#documentation": "

The launch templates and overrides that were used for launching the instances. The\n values that you specify in the Overrides replace the values in the launch template.

", + "smithy.api#xmlName": "launchTemplateAndOverrides" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Lifecycle": { + "target": "com.amazonaws.ec2#InstanceLifecycle", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "aws.protocols#ec2QueryName": "Lifecycle", + "smithy.api#documentation": "

Indicates if the instance that was launched is a Spot Instance or On-Demand Instance.

", + "smithy.api#xmlName": "lifecycle" + } + }, + "InstanceIds": { + "target": "com.amazonaws.ec2#InstanceIdsSet", + "traits": { + "aws.protocols#ec2QueryName": "InstanceIds", + "smithy.api#documentation": "

The IDs of the instances.

", + "smithy.api#xmlName": "instanceIds" + } + }, + "InstanceType": { + "target": "com.amazonaws.ec2#InstanceType", + "traits": { + "aws.protocols#ec2QueryName": "InstanceType", + "smithy.api#documentation": "

The instance type.

", + "smithy.api#xmlName": "instanceType" + } + }, + "Platform": { + "target": "com.amazonaws.ec2#PlatformValues", + "traits": { + "aws.protocols#ec2QueryName": "Platform", + "smithy.api#documentation": "

The value is Windows for Windows instances. Otherwise, the value is\n blank.

", + "smithy.api#xmlName": "platform" } } - } - }, - "com.amazonaws.ec2#DeleteVpc": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DeleteVpcRequest" - }, - "output": { - "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Deletes the specified VPC. You must detach or delete all gateways and resources that are associated with the VPC before you can delete it. For example, you must terminate all instances running in the VPC, delete all security groups associated with the VPC (except the default one), delete all route tables associated with the VPC (except the default one), and so on.

" + "smithy.api#documentation": "

Describes the instances that were launched by the fleet.

" } }, - "com.amazonaws.ec2#DeleteVpcEndpointConnectionNotifications": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DeleteVpcEndpointConnectionNotificationsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DeleteVpcEndpointConnectionNotificationsResult" - }, - "traits": { - "smithy.api#documentation": "

Deletes one or more VPC endpoint connection notifications.

" + "com.amazonaws.ec2#DescribeFleetsInstancesSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#DescribeFleetsInstances", + "traits": { + "smithy.api#xmlName": "item" + } } }, - "com.amazonaws.ec2#DeleteVpcEndpointConnectionNotificationsRequest": { + "com.amazonaws.ec2#DescribeFleetsRequest": { "type": "structure", "members": { "DryRun": { @@ -23041,43 +27432,79 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "ConnectionNotificationIds": { - "target": "com.amazonaws.ec2#ConnectionNotificationIdsList", + "MaxResults": { + "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

One or more notification IDs.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "ConnectionNotificationId" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return in a single call. Specify a value between 1 and\n 1000. The default value is 1000. To retrieve the remaining results, make another call with\n the returned NextToken value.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token for the next set of results.

" + } + }, + "FleetIds": { + "target": "com.amazonaws.ec2#FleetIdSet", + "traits": { + "smithy.api#documentation": "

The IDs of the EC2 Fleets.

\n \n

If a fleet is of type instant, you must specify the fleet ID, otherwise\n it does not appear in the response.

\n
", + "smithy.api#xmlName": "FleetId" + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n activity-status - The progress of the EC2 Fleet ( error |\n pending-fulfillment | pending-termination |\n fulfilled).

    \n
  • \n
  • \n

    \n excess-capacity-termination-policy - Indicates whether to terminate\n running instances if the target capacity is decreased below the current EC2 Fleet size\n (true | false).

    \n
  • \n
  • \n

    \n fleet-state - The state of the EC2 Fleet (submitted |\n active | deleted | failed |\n deleted-running | deleted-terminating |\n modifying).

    \n
  • \n
  • \n

    \n replace-unhealthy-instances - Indicates whether EC2 Fleet should replace\n unhealthy instances (true | false).

    \n
  • \n
  • \n

    \n type - The type of request (instant |\n request | maintain).

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteVpcEndpointConnectionNotificationsResult": { + "com.amazonaws.ec2#DescribeFleetsResult": { "type": "structure", "members": { - "Unsuccessful": { - "target": "com.amazonaws.ec2#UnsuccessfulItemSet", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Unsuccessful", - "smithy.api#documentation": "

Information about the notifications that could not be deleted\n successfully.

", - "smithy.api#xmlName": "unsuccessful" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token for the next set of results.

", + "smithy.api#xmlName": "nextToken" + } + }, + "Fleets": { + "target": "com.amazonaws.ec2#FleetSet", + "traits": { + "aws.protocols#ec2QueryName": "FleetSet", + "smithy.api#documentation": "

Information about the EC2 Fleets.

", + "smithy.api#xmlName": "fleetSet" } } } }, - "com.amazonaws.ec2#DeleteVpcEndpointServiceConfigurations": { + "com.amazonaws.ec2#DescribeFlowLogs": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteVpcEndpointServiceConfigurationsRequest" + "target": "com.amazonaws.ec2#DescribeFlowLogsRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteVpcEndpointServiceConfigurationsResult" + "target": "com.amazonaws.ec2#DescribeFlowLogsResult" }, "traits": { - "smithy.api#documentation": "

Deletes one or more VPC endpoint service configurations in your account. Before you\n delete the endpoint service configuration, you must reject any Available or\n PendingAcceptance interface endpoint connections that are attached to\n the service.

" + "smithy.api#documentation": "

Describes one or more flow logs.

\n

To view the published flow log records, you must view the log destination. For example, \n the CloudWatch Logs log group, the Amazon S3 bucket, or the Kinesis Data Firehose delivery stream.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "FlowLogs", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DeleteVpcEndpointServiceConfigurationsRequest": { + "com.amazonaws.ec2#DescribeFlowLogsRequest": { "type": "structure", "members": { "DryRun": { @@ -23088,43 +27515,72 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "ServiceIds": { - "target": "com.amazonaws.ec2#VpcEndpointServiceIdList", + "Filter": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n deliver-log-status - The status of the logs delivery (SUCCESS |\n FAILED).

    \n
  • \n
  • \n

    \n log-destination-type - The type of destination for the flow log\n data (cloud-watch-logs | s3 |\n kinesis-data-firehose).

    \n
  • \n
  • \n

    \n flow-log-id - The ID of the flow log.

    \n
  • \n
  • \n

    \n log-group-name - The name of the log group.

    \n
  • \n
  • \n

    \n resource-id - The ID of the VPC, subnet, or network interface.

    \n
  • \n
  • \n

    \n traffic-type - The type of traffic (ACCEPT |\n REJECT | ALL).

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
" + } + }, + "FlowLogIds": { + "target": "com.amazonaws.ec2#FlowLogIdList", + "traits": { + "smithy.api#documentation": "

One or more flow log IDs.

\n

Constraint: Maximum of 1000 flow log IDs.

", + "smithy.api#xmlName": "FlowLogId" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IDs of one or more services.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "ServiceId" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteVpcEndpointServiceConfigurationsResult": { + "com.amazonaws.ec2#DescribeFlowLogsResult": { "type": "structure", "members": { - "Unsuccessful": { - "target": "com.amazonaws.ec2#UnsuccessfulItemSet", + "FlowLogs": { + "target": "com.amazonaws.ec2#FlowLogSet", "traits": { - "aws.protocols#ec2QueryName": "Unsuccessful", - "smithy.api#documentation": "

Information about the service configurations that were not deleted, if\n applicable.

", - "smithy.api#xmlName": "unsuccessful" + "aws.protocols#ec2QueryName": "FlowLogSet", + "smithy.api#documentation": "

Information about the flow logs.

", + "smithy.api#xmlName": "flowLogSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DeleteVpcEndpoints": { + "com.amazonaws.ec2#DescribeFpgaImageAttribute": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteVpcEndpointsRequest" + "target": "com.amazonaws.ec2#DescribeFpgaImageAttributeRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteVpcEndpointsResult" + "target": "com.amazonaws.ec2#DescribeFpgaImageAttributeResult" }, "traits": { - "smithy.api#documentation": "

Deletes one or more specified VPC endpoints. You can delete any of the following types of VPC endpoints.

\n
    \n
  • \n

    Gateway endpoint,

    \n
  • \n
  • \n

    Gateway Load Balancer endpoint,

    \n
  • \n
  • \n

    Interface endpoint

    \n
  • \n
\n

The following rules apply when you delete a VPC endpoint:

\n
    \n
  • \n

    When you delete a gateway endpoint, we delete the endpoint routes in the route tables that are associated with the endpoint.

    \n
  • \n
  • \n

    When you delete a Gateway Load Balancer endpoint, we delete the endpoint network interfaces.

    \n

    You can only delete Gateway Load Balancer endpoints when the routes that are associated with the endpoint are deleted.

    \n
  • \n
  • \n

    When you delete an interface endpoint, we delete the endpoint network interfaces.

    \n
  • \n
" + "smithy.api#documentation": "

Describes the specified attribute of the specified Amazon FPGA Image (AFI).

" } }, - "com.amazonaws.ec2#DeleteVpcEndpointsRequest": { + "com.amazonaws.ec2#DescribeFpgaImageAttributeRequest": { "type": "structure", "members": { "DryRun": { @@ -23135,630 +27591,597 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "VpcEndpointIds": { - "target": "com.amazonaws.ec2#VpcEndpointIdList", + "FpgaImageId": { + "target": "com.amazonaws.ec2#FpgaImageId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

One or more VPC endpoint IDs.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "VpcEndpointId" + "smithy.api#documentation": "

The ID of the AFI.

", + "smithy.api#required": {} + } + }, + "Attribute": { + "target": "com.amazonaws.ec2#FpgaImageAttributeName", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The AFI attribute.

", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for DeleteVpcEndpoints.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteVpcEndpointsResult": { + "com.amazonaws.ec2#DescribeFpgaImageAttributeResult": { "type": "structure", "members": { - "Unsuccessful": { - "target": "com.amazonaws.ec2#UnsuccessfulItemSet", + "FpgaImageAttribute": { + "target": "com.amazonaws.ec2#FpgaImageAttribute", "traits": { - "aws.protocols#ec2QueryName": "Unsuccessful", - "smithy.api#documentation": "

Information about the VPC endpoints that were not successfully deleted.

", - "smithy.api#xmlName": "unsuccessful" + "aws.protocols#ec2QueryName": "FpgaImageAttribute", + "smithy.api#documentation": "

Information about the attribute.

", + "smithy.api#xmlName": "fpgaImageAttribute" } } - }, - "traits": { - "smithy.api#documentation": "

Contains the output of DeleteVpcEndpoints.

" } }, - "com.amazonaws.ec2#DeleteVpcPeeringConnection": { + "com.amazonaws.ec2#DescribeFpgaImages": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteVpcPeeringConnectionRequest" + "target": "com.amazonaws.ec2#DescribeFpgaImagesRequest" }, "output": { - "target": "com.amazonaws.ec2#DeleteVpcPeeringConnectionResult" + "target": "com.amazonaws.ec2#DescribeFpgaImagesResult" }, "traits": { - "smithy.api#documentation": "

Deletes a VPC peering connection. Either the owner of the requester VPC or the owner\n of the accepter VPC can delete the VPC peering connection if it's in the\n active state. The owner of the requester VPC can delete a VPC peering\n connection in the pending-acceptance state. You cannot delete a VPC peering\n connection that's in the failed state.

" + "smithy.api#documentation": "

Describes the Amazon FPGA Images (AFIs) available to you. These include public AFIs,\n\t\t\tprivate AFIs that you own, and AFIs owned by other Amazon Web Services accounts for which you have load\n\t\t\tpermissions.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "FpgaImages", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DeleteVpcPeeringConnectionRequest": { + "com.amazonaws.ec2#DescribeFpgaImagesMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#DescribeFpgaImagesRequest": { "type": "structure", "members": { "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "VpcPeeringConnectionId": { - "target": "com.amazonaws.ec2#VpcPeeringConnectionId", + "FpgaImageIds": { + "target": "com.amazonaws.ec2#FpgaImageIdList", "traits": { - "aws.protocols#ec2QueryName": "VpcPeeringConnectionId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the VPC peering connection.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "vpcPeeringConnectionId" + "smithy.api#documentation": "

The AFI IDs.

", + "smithy.api#xmlName": "FpgaImageId" } - } - } - }, - "com.amazonaws.ec2#DeleteVpcPeeringConnectionResult": { - "type": "structure", - "members": { - "Return": { - "target": "com.amazonaws.ec2#Boolean", + }, + "Owners": { + "target": "com.amazonaws.ec2#OwnerStringList", "traits": { - "aws.protocols#ec2QueryName": "Return", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "smithy.api#xmlName": "return" + "smithy.api#documentation": "

Filters the AFI by owner. Specify an Amazon Web Services account ID, self \n\t\t\t(owner is the sender of the request), or an Amazon Web Services owner alias (valid values are \n\t\t\tamazon | aws-marketplace).

", + "smithy.api#xmlName": "Owner" } - } - } - }, - "com.amazonaws.ec2#DeleteVpcRequest": { - "type": "structure", - "members": { - "VpcId": { - "target": "com.amazonaws.ec2#VpcId", + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the VPC.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n create-time - The creation time of the AFI.

    \n
  • \n
  • \n

    \n fpga-image-id - The FPGA image identifier (AFI ID).

    \n
  • \n
  • \n

    \n fpga-image-global-id - The global FPGA image identifier (AGFI ID).

    \n
  • \n
  • \n

    \n name - The name of the AFI.

    \n
  • \n
  • \n

    \n owner-id - The Amazon Web Services account ID of the AFI owner.

    \n
  • \n
  • \n

    \n product-code - The product code.

    \n
  • \n
  • \n

    \n shell-version - The version of the Amazon Web Services Shell that was used to create the bitstream.

    \n
  • \n
  • \n

    \n state - The state of the AFI (pending | failed | available | unavailable).

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n update-time - The time of the most recent update.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

The token to retrieve the next page of results.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeFpgaImagesMaxResults", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return in a single call.

" } } - } - }, - "com.amazonaws.ec2#DeleteVpnConnection": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DeleteVpnConnectionRequest" - }, - "output": { - "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Deletes the specified VPN connection.

\n

If you're deleting the VPC and its associated components, we recommend that you detach\n the virtual private gateway from the VPC and delete the VPC before deleting the VPN\n connection. If you believe that the tunnel credentials for your VPN connection have been\n compromised, you can delete the VPN connection and create a new one that has new keys,\n without needing to delete the VPC or virtual private gateway. If you create a new VPN\n connection, you must reconfigure the customer gateway device using the new configuration\n information returned with the new VPN connection ID.

\n

For certificate-based authentication, delete all Certificate Manager (ACM) private\n certificates used for the Amazon Web Services-side tunnel endpoints for the VPN\n connection before deleting the VPN connection.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeleteVpnConnectionRequest": { + "com.amazonaws.ec2#DescribeFpgaImagesResult": { "type": "structure", "members": { - "VpnConnectionId": { - "target": "com.amazonaws.ec2#VpnConnectionId", + "FpgaImages": { + "target": "com.amazonaws.ec2#FpgaImageList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the VPN connection.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "FpgaImageSet", + "smithy.api#documentation": "

Information about the FPGA images.

", + "smithy.api#xmlName": "fpgaImageSet" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } - }, - "traits": { - "smithy.api#documentation": "

Contains the parameters for DeleteVpnConnection.

" } }, - "com.amazonaws.ec2#DeleteVpnConnectionRoute": { + "com.amazonaws.ec2#DescribeHostReservationOfferings": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeleteVpnConnectionRouteRequest" + "target": "com.amazonaws.ec2#DescribeHostReservationOfferingsRequest" }, "output": { - "target": "smithy.api#Unit" + "target": "com.amazonaws.ec2#DescribeHostReservationOfferingsResult" }, "traits": { - "smithy.api#documentation": "

Deletes the specified static route associated with a VPN connection between an\n existing virtual private gateway and a VPN customer gateway. The static route allows\n traffic to be routed from the virtual private gateway to the VPN customer\n gateway.

" + "smithy.api#documentation": "

Describes the Dedicated Host reservations that are available to purchase.

\n

The results describe all of the Dedicated Host reservation offerings, including\n offerings that might not match the instance family and Region of your Dedicated Hosts.\n When purchasing an offering, ensure that the instance family and Region of the offering\n matches that of the Dedicated Hosts with which it is to be associated. For more\n information about supported instance types, see Dedicated Hosts\n in the Amazon EC2 User Guide.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "OfferingSet", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DeleteVpnConnectionRouteRequest": { + "com.amazonaws.ec2#DescribeHostReservationOfferingsRequest": { "type": "structure", "members": { - "DestinationCidrBlock": { - "target": "com.amazonaws.ec2#String", + "Filter": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The CIDR block associated with the local subnet of the customer network.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n instance-family - The instance family of the offering (for example,\n m4).

    \n
  • \n
  • \n

    \n payment-option - The payment option (NoUpfront |\n PartialUpfront | AllUpfront).

    \n
  • \n
" } }, - "VpnConnectionId": { - "target": "com.amazonaws.ec2#VpnConnectionId", + "MaxDuration": { + "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the VPN connection.

", - "smithy.api#required": {} + "smithy.api#default": 0, + "smithy.api#documentation": "

This is the maximum duration of the reservation to purchase, specified in seconds.\n Reservations are available in one-year and three-year terms. The number of seconds\n specified must be the number of seconds in a year (365x24x60x60) times one of the\n supported durations (1 or 3). For example, specify 94608000 for three years.

" } - } - }, - "traits": { - "smithy.api#documentation": "

Contains the parameters for DeleteVpnConnectionRoute.

" - } - }, - "com.amazonaws.ec2#DeleteVpnGateway": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DeleteVpnGatewayRequest" - }, - "output": { - "target": "smithy.api#Unit" - }, - "traits": { - "smithy.api#documentation": "

Deletes the specified virtual private gateway. You must first detach the virtual\n private gateway from the VPC. Note that you don't need to delete the virtual private\n gateway if you plan to delete and recreate the VPN connection between your VPC and your\n network.

" - } - }, - "com.amazonaws.ec2#DeleteVpnGatewayRequest": { - "type": "structure", - "members": { - "VpnGatewayId": { - "target": "com.amazonaws.ec2#VpnGatewayId", + }, + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeHostReservationsMaxResults", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the virtual private gateway.

", - "smithy.api#required": {} + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "MinDuration": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" - } - } - }, - "traits": { - "smithy.api#documentation": "

Contains the parameters for DeleteVpnGateway.

" - } - }, - "com.amazonaws.ec2#DeprovisionByoipCidr": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DeprovisionByoipCidrRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DeprovisionByoipCidrResult" - }, - "traits": { - "smithy.api#documentation": "

Releases the specified address range that you provisioned for use with your Amazon Web Services resources\n through bring your own IP addresses (BYOIP) and deletes the corresponding address pool.

\n

Before you can release an address range, you must stop advertising it using WithdrawByoipCidr and you must not have any IP addresses allocated from its\n address range.

" - } - }, - "com.amazonaws.ec2#DeprovisionByoipCidrRequest": { - "type": "structure", - "members": { - "Cidr": { + "smithy.api#default": 0, + "smithy.api#documentation": "

This is the minimum duration of the reservation you'd like to purchase, specified in\n seconds. Reservations are available in one-year and three-year terms. The number of\n seconds specified must be the number of seconds in a year (365x24x60x60) times one of\n the supported durations (1 or 3). For example, specify 31536000 for one year.

" + } + }, + "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The address range, in CIDR notation. The prefix must be the same prefix \n that you specified when you provisioned the address range.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The token to use to retrieve the next page of results.

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "OfferingId": { + "target": "com.amazonaws.ec2#OfferingId", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The ID of the reservation offering.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeprovisionByoipCidrResult": { + "com.amazonaws.ec2#DescribeHostReservationOfferingsResult": { "type": "structure", "members": { - "ByoipCidr": { - "target": "com.amazonaws.ec2#ByoipCidr", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ByoipCidr", - "smithy.api#documentation": "

Information about the address range.

", - "smithy.api#xmlName": "byoipCidr" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" + } + }, + "OfferingSet": { + "target": "com.amazonaws.ec2#HostOfferingSet", + "traits": { + "aws.protocols#ec2QueryName": "OfferingSet", + "smithy.api#documentation": "

Information about the offerings.

", + "smithy.api#xmlName": "offeringSet" } } } }, - "com.amazonaws.ec2#DeprovisionIpamPoolCidr": { + "com.amazonaws.ec2#DescribeHostReservations": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeprovisionIpamPoolCidrRequest" + "target": "com.amazonaws.ec2#DescribeHostReservationsRequest" }, "output": { - "target": "com.amazonaws.ec2#DeprovisionIpamPoolCidrResult" + "target": "com.amazonaws.ec2#DescribeHostReservationsResult" }, "traits": { - "smithy.api#documentation": "

Deprovision a CIDR provisioned from an IPAM pool. If you deprovision a CIDR from a pool that has a source pool, the CIDR is recycled back into the source pool. For more information, see Deprovision pool CIDRs in the Amazon VPC IPAM User Guide.

" + "smithy.api#documentation": "

Describes reservations that are associated with Dedicated Hosts in your\n account.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "HostReservationSet", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DeprovisionIpamPoolCidrRequest": { + "com.amazonaws.ec2#DescribeHostReservationsMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 500 + } + } + }, + "com.amazonaws.ec2#DescribeHostReservationsRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Filter": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n instance-family - The instance family (for example,\n m4).

    \n
  • \n
  • \n

    \n payment-option - The payment option (NoUpfront |\n PartialUpfront | AllUpfront).

    \n
  • \n
  • \n

    \n state - The state of the reservation (payment-pending\n | payment-failed | active |\n retired).

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
" } }, - "IpamPoolId": { - "target": "com.amazonaws.ec2#IpamPoolId", + "HostReservationIdSet": { + "target": "com.amazonaws.ec2#HostReservationIdSet", + "traits": { + "smithy.api#documentation": "

The host reservation IDs.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the pool that has the CIDR you want to deprovision.

", - "smithy.api#required": {} + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

" } }, - "Cidr": { + "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The CIDR which you want to deprovision from the pool.

" + "smithy.api#documentation": "

The token to use to retrieve the next page of results.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeprovisionIpamPoolCidrResult": { + "com.amazonaws.ec2#DescribeHostReservationsResult": { "type": "structure", "members": { - "IpamPoolCidr": { - "target": "com.amazonaws.ec2#IpamPoolCidr", + "HostReservationSet": { + "target": "com.amazonaws.ec2#HostReservationSet", "traits": { - "aws.protocols#ec2QueryName": "IpamPoolCidr", - "smithy.api#documentation": "

The deprovisioned pool CIDR.

", - "smithy.api#xmlName": "ipamPoolCidr" + "aws.protocols#ec2QueryName": "HostReservationSet", + "smithy.api#documentation": "

Details about the reservation's configuration.

", + "smithy.api#xmlName": "hostReservationSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DeprovisionPublicIpv4PoolCidr": { + "com.amazonaws.ec2#DescribeHosts": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeprovisionPublicIpv4PoolCidrRequest" + "target": "com.amazonaws.ec2#DescribeHostsRequest" }, "output": { - "target": "com.amazonaws.ec2#DeprovisionPublicIpv4PoolCidrResult" + "target": "com.amazonaws.ec2#DescribeHostsResult" }, "traits": { - "smithy.api#documentation": "

Deprovision a CIDR from a public IPv4 pool.

" + "smithy.api#documentation": "

Describes the specified Dedicated Hosts or all your Dedicated Hosts.

\n

The results describe only the Dedicated Hosts in the Region you're currently using.\n All listed instances consume capacity on your Dedicated Host. Dedicated Hosts that have\n recently been released are listed with the state released.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Hosts", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DeprovisionPublicIpv4PoolCidrRequest": { + "com.amazonaws.ec2#DescribeHostsRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Filter": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "Filter", + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n auto-placement - Whether auto-placement is enabled or disabled\n (on | off).

    \n
  • \n
  • \n

    \n availability-zone - The Availability Zone of the host.

    \n
  • \n
  • \n

    \n client-token - The idempotency token that you provided when you\n allocated the host.

    \n
  • \n
  • \n

    \n host-reservation-id - The ID of the reservation assigned to this\n host.

    \n
  • \n
  • \n

    \n instance-type - The instance type size that the Dedicated Host is\n configured to support.

    \n
  • \n
  • \n

    \n state - The allocation state of the Dedicated Host\n (available | under-assessment |\n permanent-failure | released |\n released-permanent-failure).

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
", + "smithy.api#xmlName": "filter" } }, - "PoolId": { - "target": "com.amazonaws.ec2#Ipv4PoolEc2Id", + "HostIds": { + "target": "com.amazonaws.ec2#RequestHostIdList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the pool that you want to deprovision the CIDR from.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "HostId", + "smithy.api#documentation": "

The IDs of the Dedicated Hosts. The IDs are used for targeted instance\n launches.

", + "smithy.api#xmlName": "hostId" } }, - "Cidr": { - "target": "com.amazonaws.ec2#String", + "MaxResults": { + "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "MaxResults", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The CIDR you want to deprovision from the pool.

", - "smithy.api#required": {} - } - } - } - }, - "com.amazonaws.ec2#DeprovisionPublicIpv4PoolCidrResult": { - "type": "structure", - "members": { - "PoolId": { - "target": "com.amazonaws.ec2#Ipv4PoolEc2Id", - "traits": { - "aws.protocols#ec2QueryName": "PoolId", - "smithy.api#documentation": "

The ID of the pool that you deprovisioned the CIDR from.

", - "smithy.api#xmlName": "poolId" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

\n

You cannot specify this parameter and the host IDs parameter in the same\n request.

", + "smithy.api#xmlName": "maxResults" } }, - "DeprovisionedAddresses": { - "target": "com.amazonaws.ec2#DeprovisionedAddressSet", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DeprovisionedAddressSet", - "smithy.api#documentation": "

The deprovisioned CIDRs.

", - "smithy.api#xmlName": "deprovisionedAddressSet" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results.

", + "smithy.api#xmlName": "nextToken" } } - } - }, - "com.amazonaws.ec2#DeprovisionedAddressSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#DeregisterImage": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DeregisterImageRequest" - }, - "output": { - "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Deregisters the specified AMI. After you deregister an AMI, it can't be used to \n launch new instances.

\n \n \n

If you deregister an AMI that matches a Recycle Bin retention rule, the AMI is \n retained in the Recycle Bin for the specified retention period. For more information, \n see Recycle\n Bin in the Amazon Elastic Compute Cloud User Guide.

\n \n

When you deregister an AMI, it doesn't affect any instances that you've already \n launched from the AMI. You'll continue to incur usage costs for those instances until \n you terminate them.

\n \t

When you deregister an Amazon EBS-backed AMI, it doesn't affect the snapshot that was\n\t\t\tcreated for the root volume of the instance during the AMI creation process. When you\n\t\t\tderegister an instance store-backed AMI, it doesn't affect the files that you uploaded\n\t\t\tto Amazon S3 when you created the AMI.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeregisterImageRequest": { + "com.amazonaws.ec2#DescribeHostsResult": { "type": "structure", "members": { - "ImageId": { - "target": "com.amazonaws.ec2#ImageId", + "Hosts": { + "target": "com.amazonaws.ec2#HostList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the AMI.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "HostSet", + "smithy.api#documentation": "

Information about the Dedicated Hosts.

", + "smithy.api#xmlName": "hostSet" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } - }, - "traits": { - "smithy.api#documentation": "

Contains the parameters for DeregisterImage.

" } }, - "com.amazonaws.ec2#DeregisterInstanceEventNotificationAttributes": { + "com.amazonaws.ec2#DescribeIamInstanceProfileAssociations": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeregisterInstanceEventNotificationAttributesRequest" + "target": "com.amazonaws.ec2#DescribeIamInstanceProfileAssociationsRequest" }, "output": { - "target": "com.amazonaws.ec2#DeregisterInstanceEventNotificationAttributesResult" + "target": "com.amazonaws.ec2#DescribeIamInstanceProfileAssociationsResult" }, "traits": { - "smithy.api#documentation": "

Deregisters tag keys to prevent tags that have the specified tag keys from being included\n\t\t\tin scheduled event notifications for resources in the Region.

" + "smithy.api#documentation": "

Describes your IAM instance profile associations.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "IamInstanceProfileAssociations", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DeregisterInstanceEventNotificationAttributesRequest": { + "com.amazonaws.ec2#DescribeIamInstanceProfileAssociationsMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#DescribeIamInstanceProfileAssociationsRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "AssociationIds": { + "target": "com.amazonaws.ec2#AssociationIdList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The IAM instance profile associations.

", + "smithy.api#xmlName": "AssociationId" } }, - "InstanceTagAttribute": { - "target": "com.amazonaws.ec2#DeregisterInstanceTagAttributeRequest", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

Information about the tag keys to deregister.

" + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n instance-id - The ID of the instance.

    \n
  • \n
  • \n

    \n state - The state of the association (associating |\n associated | disassociating).

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } - } - } - }, - "com.amazonaws.ec2#DeregisterInstanceEventNotificationAttributesResult": { - "type": "structure", - "members": { - "InstanceTagAttribute": { - "target": "com.amazonaws.ec2#InstanceTagNotificationAttribute", + }, + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeIamInstanceProfileAssociationsMaxResults", "traits": { - "aws.protocols#ec2QueryName": "InstanceTagAttribute", - "smithy.api#documentation": "

The resulting set of tag keys.

", - "smithy.api#xmlName": "instanceTagAttribute" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining\n results, make another call with the returned NextToken value.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

The token to request the next page of results.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeregisterInstanceTagAttributeRequest": { + "com.amazonaws.ec2#DescribeIamInstanceProfileAssociationsResult": { "type": "structure", "members": { - "IncludeAllTagsOfInstance": { - "target": "com.amazonaws.ec2#Boolean", + "IamInstanceProfileAssociations": { + "target": "com.amazonaws.ec2#IamInstanceProfileAssociationSet", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to deregister all tag keys in the current Region. Specify false \n \t\tto deregister all tag keys.

" + "aws.protocols#ec2QueryName": "IamInstanceProfileAssociationSet", + "smithy.api#documentation": "

Information about the IAM instance profile associations.

", + "smithy.api#xmlName": "iamInstanceProfileAssociationSet" } }, - "InstanceTagKeys": { - "target": "com.amazonaws.ec2#InstanceTagKeySet", + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", "traits": { - "smithy.api#documentation": "

Information about the tag keys to deregister.

", - "smithy.api#xmlName": "InstanceTagKey" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } - }, - "traits": { - "smithy.api#documentation": "

Information about the tag keys to deregister for the current Region. You can either specify \n \t\tindividual tag keys or deregister all tag keys in the current Region. You must specify either\n \t\tIncludeAllTagsOfInstance or InstanceTagKeys in the request

" } }, - "com.amazonaws.ec2#DeregisterTransitGatewayMulticastGroupMembers": { + "com.amazonaws.ec2#DescribeIdFormat": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeregisterTransitGatewayMulticastGroupMembersRequest" + "target": "com.amazonaws.ec2#DescribeIdFormatRequest" }, "output": { - "target": "com.amazonaws.ec2#DeregisterTransitGatewayMulticastGroupMembersResult" + "target": "com.amazonaws.ec2#DescribeIdFormatResult" }, "traits": { - "smithy.api#documentation": "

Deregisters the specified members (network interfaces) from the transit gateway multicast group.

" + "smithy.api#documentation": "

Describes the ID format settings for your resources on a per-Region basis, for example, to view which resource types are enabled for longer IDs. This request only returns information about resource types whose ID formats can be modified; it does not return information about other resource types.

\n

The following resource types support longer IDs: bundle |\n conversion-task | customer-gateway | dhcp-options |\n elastic-ip-allocation | elastic-ip-association |\n export-task | flow-log | image |\n import-task | instance | internet-gateway |\n network-acl | network-acl-association |\n network-interface | network-interface-attachment |\n prefix-list | reservation | route-table |\n route-table-association | security-group |\n snapshot | subnet |\n subnet-cidr-block-association | volume | vpc\n | vpc-cidr-block-association | vpc-endpoint |\n vpc-peering-connection | vpn-connection | vpn-gateway.

\n

These settings apply to the IAM user who makes the request; they do not apply to the entire\n Amazon Web Services account. By default, an IAM user defaults to the same settings as the root user, unless\n they explicitly override the settings by running the ModifyIdFormat command. Resources\n created with longer IDs are visible to all IAM users, regardless of these settings and\n provided that they have permission to use the relevant Describe command for the\n resource type.

" } }, - "com.amazonaws.ec2#DeregisterTransitGatewayMulticastGroupMembersRequest": { + "com.amazonaws.ec2#DescribeIdFormatRequest": { "type": "structure", "members": { - "TransitGatewayMulticastDomainId": { - "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainId", - "traits": { - "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

" - } - }, - "GroupIpAddress": { + "Resource": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The IP address assigned to the transit gateway multicast group.

" - } - }, - "NetworkInterfaceIds": { - "target": "com.amazonaws.ec2#TransitGatewayNetworkInterfaceIdList", - "traits": { - "smithy.api#documentation": "

The IDs of the group members' network interfaces.

" - } - }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The type of resource: bundle |\n conversion-task | customer-gateway | dhcp-options |\n elastic-ip-allocation | elastic-ip-association |\n export-task | flow-log | image |\n import-task | instance | internet-gateway |\n network-acl | network-acl-association |\n network-interface | network-interface-attachment |\n prefix-list | reservation | route-table |\n route-table-association | security-group |\n snapshot | subnet |\n subnet-cidr-block-association | volume | vpc\n | vpc-cidr-block-association | vpc-endpoint |\n vpc-peering-connection | vpn-connection | vpn-gateway\n

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeregisterTransitGatewayMulticastGroupMembersResult": { + "com.amazonaws.ec2#DescribeIdFormatResult": { "type": "structure", "members": { - "DeregisteredMulticastGroupMembers": { - "target": "com.amazonaws.ec2#TransitGatewayMulticastDeregisteredGroupMembers", + "Statuses": { + "target": "com.amazonaws.ec2#IdFormatList", "traits": { - "aws.protocols#ec2QueryName": "DeregisteredMulticastGroupMembers", - "smithy.api#documentation": "

Information about the deregistered members.

", - "smithy.api#xmlName": "deregisteredMulticastGroupMembers" + "aws.protocols#ec2QueryName": "StatusSet", + "smithy.api#documentation": "

Information about the ID format for the resource.

", + "smithy.api#xmlName": "statusSet" } } } }, - "com.amazonaws.ec2#DeregisterTransitGatewayMulticastGroupSources": { + "com.amazonaws.ec2#DescribeIdentityIdFormat": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DeregisterTransitGatewayMulticastGroupSourcesRequest" + "target": "com.amazonaws.ec2#DescribeIdentityIdFormatRequest" }, "output": { - "target": "com.amazonaws.ec2#DeregisterTransitGatewayMulticastGroupSourcesResult" + "target": "com.amazonaws.ec2#DescribeIdentityIdFormatResult" }, "traits": { - "smithy.api#documentation": "

Deregisters the specified sources (network interfaces) from the transit gateway multicast group.

" + "smithy.api#documentation": "

Describes the ID format settings for resources for the specified IAM user, IAM role, or root\n user. For example, you can view the resource types that are enabled for longer IDs. This request only\n returns information about resource types whose ID formats can be modified; it does not return\n information about other resource types. For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide.

\n

The following resource types support longer IDs: bundle |\n conversion-task | customer-gateway | dhcp-options |\n elastic-ip-allocation | elastic-ip-association |\n export-task | flow-log | image |\n import-task | instance | internet-gateway |\n network-acl | network-acl-association |\n network-interface | network-interface-attachment |\n prefix-list | reservation | route-table |\n route-table-association | security-group |\n snapshot | subnet |\n subnet-cidr-block-association | volume | vpc\n | vpc-cidr-block-association | vpc-endpoint |\n vpc-peering-connection | vpn-connection | vpn-gateway.

\n

These settings apply to the principal specified in the request. They do not apply to the\n principal that makes the request.

" } }, - "com.amazonaws.ec2#DeregisterTransitGatewayMulticastGroupSourcesRequest": { + "com.amazonaws.ec2#DescribeIdentityIdFormatRequest": { "type": "structure", "members": { - "TransitGatewayMulticastDomainId": { - "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainId", - "traits": { - "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

" - } - }, - "GroupIpAddress": { + "PrincipalArn": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The IP address assigned to the transit gateway multicast group.

" - } - }, - "NetworkInterfaceIds": { - "target": "com.amazonaws.ec2#TransitGatewayNetworkInterfaceIdList", - "traits": { - "smithy.api#documentation": "

The IDs of the group sources' network interfaces.

" + "aws.protocols#ec2QueryName": "PrincipalArn", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ARN of the principal, which can be an IAM role, IAM user, or the root user.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "principalArn" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Resource": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "Resource", + "smithy.api#documentation": "

The type of resource: bundle |\n conversion-task | customer-gateway | dhcp-options |\n elastic-ip-allocation | elastic-ip-association |\n export-task | flow-log | image |\n import-task | instance | internet-gateway |\n network-acl | network-acl-association |\n network-interface | network-interface-attachment |\n prefix-list | reservation | route-table |\n route-table-association | security-group |\n snapshot | subnet |\n subnet-cidr-block-association | volume | vpc\n | vpc-cidr-block-association | vpc-endpoint |\n vpc-peering-connection | vpn-connection | vpn-gateway\n

", + "smithy.api#xmlName": "resource" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DeregisterTransitGatewayMulticastGroupSourcesResult": { + "com.amazonaws.ec2#DescribeIdentityIdFormatResult": { "type": "structure", "members": { - "DeregisteredMulticastGroupSources": { - "target": "com.amazonaws.ec2#TransitGatewayMulticastDeregisteredGroupSources", + "Statuses": { + "target": "com.amazonaws.ec2#IdFormatList", "traits": { - "aws.protocols#ec2QueryName": "DeregisteredMulticastGroupSources", - "smithy.api#documentation": "

Information about the deregistered group sources.

", - "smithy.api#xmlName": "deregisteredMulticastGroupSources" + "aws.protocols#ec2QueryName": "StatusSet", + "smithy.api#documentation": "

Information about the ID format for the resources.

", + "smithy.api#xmlName": "statusSet" } } } }, - "com.amazonaws.ec2#DescribeAccountAttributes": { + "com.amazonaws.ec2#DescribeImageAttribute": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeAccountAttributesRequest" + "target": "com.amazonaws.ec2#DescribeImageAttributeRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeAccountAttributesResult" + "target": "com.amazonaws.ec2#ImageAttribute" }, "traits": { - "smithy.api#documentation": "

Describes attributes of your Amazon Web Services account. The following are the supported account attributes:

\n
    \n
  • \n

    \n supported-platforms: Indicates whether your account can launch instances\n into EC2-Classic and EC2-VPC, or only into EC2-VPC.

    \n
  • \n
  • \n

    \n default-vpc: The ID of the default VPC for your account, or\n none.

    \n
  • \n
  • \n

    \n max-instances: This attribute is no longer supported. The returned\n value does not reflect your actual vCPU limit for running On-Demand Instances.\n For more information, see On-Demand Instance Limits in the\n Amazon Elastic Compute Cloud User Guide.

    \n
  • \n
  • \n

    \n vpc-max-security-groups-per-interface: The maximum number of security groups\n that you can assign to a network interface.

    \n
  • \n
  • \n

    \n max-elastic-ips: The maximum number of Elastic IP addresses that you can\n allocate for use with EC2-Classic.

    \n
  • \n
  • \n

    \n vpc-max-elastic-ips: The maximum number of Elastic IP addresses that you can\n allocate for use with EC2-VPC.

    \n
  • \n
\n \n

We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon EC2 User Guide.

\n
" + "smithy.api#documentation": "

Describes the specified attribute of the specified AMI. You can specify only one attribute at a time.

" } }, - "com.amazonaws.ec2#DescribeAccountAttributesRequest": { + "com.amazonaws.ec2#DescribeImageAttributeRequest": { "type": "structure", "members": { - "AttributeNames": { - "target": "com.amazonaws.ec2#AccountAttributeNameStringList", + "Attribute": { + "target": "com.amazonaws.ec2#ImageAttributeName", "traits": { - "aws.protocols#ec2QueryName": "AttributeName", - "smithy.api#documentation": "

The account attribute names.

", - "smithy.api#xmlName": "attributeName" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The AMI attribute.

\n

\n Note: The blockDeviceMapping attribute is deprecated. \n \t Using this attribute returns the Client.AuthFailure error. To get information about \n \t the block device mappings for an AMI, use the DescribeImages action.

", + "smithy.api#required": {} + } + }, + "ImageId": { + "target": "com.amazonaws.ec2#ImageId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the AMI.

", + "smithy.api#required": {} } }, "DryRun": { @@ -23767,261 +28190,276 @@ "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

", "smithy.api#xmlName": "dryRun" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for DescribeImageAttribute.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeAccountAttributesResult": { - "type": "structure", - "members": { - "AccountAttributes": { - "target": "com.amazonaws.ec2#AccountAttributeList", - "traits": { - "aws.protocols#ec2QueryName": "AccountAttributeSet", - "smithy.api#documentation": "

Information about the account attributes.

", - "smithy.api#xmlName": "accountAttributeSet" - } - } - } - }, - "com.amazonaws.ec2#DescribeAddressTransfers": { + "com.amazonaws.ec2#DescribeImages": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeAddressTransfersRequest" + "target": "com.amazonaws.ec2#DescribeImagesRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeAddressTransfersResult" + "target": "com.amazonaws.ec2#DescribeImagesResult" }, "traits": { - "smithy.api#documentation": "

Describes an Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon Virtual Private Cloud User Guide.

", + "smithy.api#documentation": "

Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.

\n

The images available to you include public images, private images that you own, and private images owned by other \n Amazon Web Services accounts for which you have explicit launch permissions.

\n

Recently deregistered images appear in the returned results for a short interval and then\n return empty results. After all instances that reference a deregistered AMI are terminated,\n specifying the ID of the image will eventually return an error indicating that the AMI ID\n cannot be found.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "AddressTransfers", + "items": "Images", "pageSize": "MaxResults" + }, + "smithy.api#suppress": [ + "WaitableTraitInvalidErrorType" + ], + "smithy.waiters#waitable": { + "ImageAvailable": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "Images[].State", + "expected": "available", + "comparator": "allStringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "Images[].State", + "expected": "failed", + "comparator": "anyStringEquals" + } + } + } + ], + "minDelay": 15 + }, + "ImageExists": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "length(Images[]) > `0`", + "expected": "true", + "comparator": "booleanEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "errorType": "InvalidAMIID.NotFound" + } + } + ], + "minDelay": 15 + } } } }, - "com.amazonaws.ec2#DescribeAddressTransfersMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 1000 - } - } - }, - "com.amazonaws.ec2#DescribeAddressTransfersRequest": { + "com.amazonaws.ec2#DescribeImagesRequest": { "type": "structure", "members": { - "AllocationIds": { - "target": "com.amazonaws.ec2#AllocationIdList", + "ExecutableUsers": { + "target": "com.amazonaws.ec2#ExecutableByStringList", "traits": { - "smithy.api#documentation": "

The allocation IDs of Elastic IP addresses.

", - "smithy.api#xmlName": "AllocationId" + "smithy.api#documentation": "

Scopes the images by users with explicit launch permissions. \n Specify an Amazon Web Services account ID, self (the sender of the request),\n\t\t\t\tor all (public AMIs).

\n
    \n
  • \n

    If you specify an Amazon Web Services account ID that is not your own, only AMIs\n shared with that specific Amazon Web Services account ID are returned. However, AMIs that\n are shared with the account’s organization or organizational unit (OU) are not\n returned.

    \n
  • \n
  • \n

    If you specify self or your own Amazon Web Services account ID, AMIs\n shared with your account are returned. In addition, AMIs that are shared with the\n organization or OU of which you are member are also returned.

    \n
  • \n
  • \n

    If you specify all, all public AMIs are returned.

    \n
  • \n
", + "smithy.api#xmlName": "ExecutableBy" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

Specify the pagination token from a previous request to retrieve the next page of results.

" + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n architecture - The image architecture (i386 |\n x86_64 | arm64).

    \n
  • \n
  • \n

    \n block-device-mapping.delete-on-termination - A Boolean value that indicates\n \twhether the Amazon EBS volume is deleted on instance termination.

    \n
  • \n
  • \n

    \n block-device-mapping.device-name - The device name specified in the block device mapping (for\n example, /dev/sdh or xvdh).

    \n
  • \n
  • \n

    \n block-device-mapping.snapshot-id - The ID of the snapshot used for the Amazon EBS\n volume.

    \n
  • \n
  • \n

    \n block-device-mapping.volume-size - The volume size of the Amazon EBS volume, in GiB.

    \n
  • \n
  • \n

    \n block-device-mapping.volume-type - The volume type of the Amazon EBS volume\n (io1 | io2 | gp2 | gp3 | sc1\n | st1 | standard).

    \n
  • \n
  • \n

    \n block-device-mapping.encrypted - A Boolean that indicates whether the Amazon EBS volume is encrypted.

    \n
  • \n
  • \n

    \n creation-date - The time when the image was created, in the ISO 8601\n format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example,\n 2021-09-29T11:04:43.305Z. You can use a wildcard (*), for\n example, 2021-09-29T*, which matches an entire day.

    \n
  • \n
  • \n

    \n description - The description of the image (provided during image\n creation).

    \n
  • \n
  • \n

    \n ena-support - A Boolean that indicates whether enhanced networking\n with ENA is enabled.

    \n
  • \n
  • \n

    \n hypervisor - The hypervisor type (ovm |\n xen).

    \n
  • \n
  • \n

    \n image-id - The ID of the image.

    \n
  • \n
  • \n

    \n image-type - The image type (machine | kernel |\n ramdisk).

    \n
  • \n
  • \n

    \n is-public - A Boolean that indicates whether the image is public.

    \n
  • \n
  • \n

    \n kernel-id - The kernel ID.

    \n
  • \n
  • \n

    \n manifest-location - The location of the image manifest.

    \n
  • \n
  • \n

    \n name - The name of the AMI (provided during image creation).

    \n
  • \n
  • \n

    \n owner-alias - The owner alias (amazon | aws-marketplace). \n The valid aliases are defined in an Amazon-maintained list. This is not the Amazon Web Services account alias that can be \n \tset using the IAM console. We recommend that you use the Owner \n \trequest parameter instead of this filter.

    \n
  • \n
  • \n

    \n owner-id - The Amazon Web Services account ID of the owner. We recommend that you use the \n \t\tOwner request parameter instead of this filter.

    \n
  • \n
  • \n

    \n platform - The platform. The only supported value is windows.

    \n
  • \n
  • \n

    \n product-code - The product code.

    \n
  • \n
  • \n

    \n product-code.type - The type of the product code (marketplace).

    \n
  • \n
  • \n

    \n ramdisk-id - The RAM disk ID.

    \n
  • \n
  • \n

    \n root-device-name - The device name of the root device volume (for example, /dev/sda1).

    \n
  • \n
  • \n

    \n root-device-type - The type of the root device volume (ebs |\n instance-store).

    \n
  • \n
  • \n

    \n state - The state of the image (available | pending\n | failed).

    \n
  • \n
  • \n

    \n state-reason-code - The reason code for the state change.

    \n
  • \n
  • \n

    \n state-reason-message - The message for the state change.

    \n
  • \n
  • \n

    \n sriov-net-support - A value of simple indicates\n that enhanced networking with the Intel 82599 VF interface is enabled.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n virtualization-type - The virtualization type (paravirtual |\n hvm).

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#DescribeAddressTransfersMaxResults", + "ImageIds": { + "target": "com.amazonaws.ec2#ImageIdStringList", + "traits": { + "smithy.api#documentation": "

The image IDs.

\n

Default: Describes all images available to you.

", + "smithy.api#xmlName": "ImageId" + } + }, + "Owners": { + "target": "com.amazonaws.ec2#OwnerStringList", + "traits": { + "smithy.api#documentation": "

Scopes the results to images with the specified owners. You can specify a combination of \n Amazon Web Services account IDs, self, amazon, and aws-marketplace. \n If you omit this parameter, the results include all images for which you have launch permissions, \n regardless of ownership.

", + "smithy.api#xmlName": "Owner" + } + }, + "IncludeDeprecated": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of address transfers to return in one page of results.

" + "smithy.api#default": false, + "smithy.api#documentation": "

Specifies whether to include deprecated AMIs.

\n

Default: No deprecated AMIs are included in the response.

\n \n

If you are the AMI owner, all deprecated AMIs appear in the response regardless of what\n you specify for this parameter.

\n
" } }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeAddressTransfersResult": { + "com.amazonaws.ec2#DescribeImagesResult": { "type": "structure", "members": { - "AddressTransfers": { - "target": "com.amazonaws.ec2#AddressTransferList", + "Images": { + "target": "com.amazonaws.ec2#ImageList", "traits": { - "aws.protocols#ec2QueryName": "AddressTransferSet", - "smithy.api#documentation": "

The Elastic IP address transfer.

", - "smithy.api#xmlName": "addressTransferSet" + "aws.protocols#ec2QueryName": "ImagesSet", + "smithy.api#documentation": "

Information about the images.

", + "smithy.api#xmlName": "imagesSet" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

Specify the pagination token from a previous request to retrieve the next page of results.

", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DescribeAddresses": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DescribeAddressesRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DescribeAddressesResult" - }, - "traits": { - "smithy.api#documentation": "

Describes the specified Elastic IP addresses or all of your Elastic IP addresses.

\n

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC.\n\t\t\t\tFor more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" - } - }, - "com.amazonaws.ec2#DescribeAddressesAttribute": { + "com.amazonaws.ec2#DescribeImportImageTasks": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeAddressesAttributeRequest" + "target": "com.amazonaws.ec2#DescribeImportImageTasksRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeAddressesAttributeResult" + "target": "com.amazonaws.ec2#DescribeImportImageTasksResult" }, "traits": { - "smithy.api#documentation": "

Describes the attributes of the specified Elastic IP addresses. For requirements, see Using reverse DNS for email applications.

", + "smithy.api#documentation": "

Displays details about an import virtual machine or import snapshot tasks that are already created.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "Addresses", + "items": "ImportImageTasks", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeAddressesAttributeRequest": { + "com.amazonaws.ec2#DescribeImportImageTasksRequest": { "type": "structure", "members": { - "AllocationIds": { - "target": "com.amazonaws.ec2#AllocationIds", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

[EC2-VPC] The allocation IDs.

", - "smithy.api#xmlName": "AllocationId" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "Attribute": { - "target": "com.amazonaws.ec2#AddressAttributeName", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The attribute of the IP address.

" + "smithy.api#documentation": "

Filter tasks using the task-state filter and one of the following values: active,\n completed, deleting, or deleted.

", + "smithy.api#xmlName": "Filters" } }, - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "ImportTaskIds": { + "target": "com.amazonaws.ec2#ImportTaskIdList", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "smithy.api#documentation": "

The IDs of the import image tasks.

", + "smithy.api#xmlName": "ImportTaskId" } }, "MaxResults": { - "target": "com.amazonaws.ec2#AddressMaxResults", + "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#documentation": "

The maximum number of results to return in a single call.

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

A token that indicates the next page of results.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeAddressesAttributeResult": { + "com.amazonaws.ec2#DescribeImportImageTasksResult": { "type": "structure", "members": { - "Addresses": { - "target": "com.amazonaws.ec2#AddressSet", + "ImportImageTasks": { + "target": "com.amazonaws.ec2#ImportImageTaskList", "traits": { - "aws.protocols#ec2QueryName": "AddressSet", - "smithy.api#documentation": "

Information about the IP addresses.

", - "smithy.api#xmlName": "addressSet" + "aws.protocols#ec2QueryName": "ImportImageTaskSet", + "smithy.api#documentation": "

A list of zero or more import image tasks that are currently active or were completed or canceled in the\n previous 7 days.

", + "smithy.api#xmlName": "importImageTaskSet" } }, "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#documentation": "

The token to use to get the next page of results. This value is null when there are no more results\n to return.

", "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DescribeAddressesRequest": { - "type": "structure", - "members": { - "Filters": { - "target": "com.amazonaws.ec2#FilterList", - "traits": { - "smithy.api#documentation": "

One or more filters. Filter names and values are case-sensitive.

\n
    \n
  • \n

    \n allocation-id - [EC2-VPC] The allocation ID for the address.

    \n
  • \n
  • \n

    \n association-id - [EC2-VPC] The association ID for the address.

    \n
  • \n
  • \n

    \n domain - Indicates whether the address is for use in EC2-Classic (standard) \n or in a VPC (vpc).

    \n
  • \n
  • \n

    \n instance-id - The ID of the instance the address is associated with, if any.

    \n
  • \n
  • \n

    \n network-border-group - A unique set of Availability Zones, Local Zones,\n or Wavelength Zones from where Amazon Web Services advertises IP addresses.

    \n
  • \n
  • \n

    \n network-interface-id - [EC2-VPC] The ID of the network interface that the address is associated with, if any.

    \n
  • \n
  • \n

    \n network-interface-owner-id - The Amazon Web Services account ID of the owner.

    \n
  • \n
  • \n

    \n private-ip-address - [EC2-VPC] The private IP address associated with the Elastic IP address.

    \n
  • \n
  • \n

    \n public-ip - The Elastic IP address, or the carrier IP address.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" - } - }, - "PublicIps": { - "target": "com.amazonaws.ec2#PublicIpStringList", - "traits": { - "smithy.api#documentation": "

One or more Elastic IP addresses.

\n

Default: Describes all your Elastic IP addresses.

", - "smithy.api#xmlName": "PublicIp" - } - }, - "AllocationIds": { - "target": "com.amazonaws.ec2#AllocationIdList", - "traits": { - "smithy.api#documentation": "

[EC2-VPC] Information about the allocation IDs.

", - "smithy.api#xmlName": "AllocationId" - } - }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" - } - } - } - }, - "com.amazonaws.ec2#DescribeAddressesResult": { - "type": "structure", - "members": { - "Addresses": { - "target": "com.amazonaws.ec2#AddressList", - "traits": { - "aws.protocols#ec2QueryName": "AddressesSet", - "smithy.api#documentation": "

Information about the Elastic IP addresses.

", - "smithy.api#xmlName": "addressesSet" - } - } - } - }, - "com.amazonaws.ec2#DescribeAggregateIdFormat": { + "com.amazonaws.ec2#DescribeImportSnapshotTasks": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeAggregateIdFormatRequest" + "target": "com.amazonaws.ec2#DescribeImportSnapshotTasksRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeAggregateIdFormatResult" + "target": "com.amazonaws.ec2#DescribeImportSnapshotTasksResult" }, "traits": { - "smithy.api#documentation": "

Describes the longer ID format settings for all resource types in a specific\n Region. This request is useful for performing a quick audit to determine whether a\n specific Region is fully opted in for longer IDs (17-character IDs).

\n \n

This request only returns information about resource types that support longer IDs.

\n

The following resource types support longer IDs: bundle |\n conversion-task | customer-gateway | dhcp-options |\n elastic-ip-allocation | elastic-ip-association |\n export-task | flow-log | image |\n import-task | instance | internet-gateway |\n network-acl | network-acl-association |\n network-interface | network-interface-attachment |\n prefix-list | reservation | route-table |\n route-table-association | security-group |\n snapshot | subnet |\n subnet-cidr-block-association | volume | vpc |\n vpc-cidr-block-association | vpc-endpoint |\n vpc-peering-connection | vpn-connection | vpn-gateway.

" + "smithy.api#documentation": "

Describes your import snapshot tasks.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "ImportSnapshotTasks", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DescribeAggregateIdFormatRequest": { + "com.amazonaws.ec2#DescribeImportSnapshotTasksRequest": { "type": "structure", "members": { "DryRun": { @@ -24031,155 +28469,84 @@ "smithy.api#default": false, "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - } - } - }, - "com.amazonaws.ec2#DescribeAggregateIdFormatResult": { - "type": "structure", - "members": { - "UseLongIdsAggregated": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "UseLongIdsAggregated", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether all resource types in the Region are configured to use longer IDs.\n This value is only true if all users are configured to use longer IDs for\n all resources types in the Region.

", - "smithy.api#xmlName": "useLongIdsAggregated" - } }, - "Statuses": { - "target": "com.amazonaws.ec2#IdFormatList", - "traits": { - "aws.protocols#ec2QueryName": "StatusSet", - "smithy.api#documentation": "

Information about each resource's ID format.

", - "smithy.api#xmlName": "statusSet" - } - } - } - }, - "com.amazonaws.ec2#DescribeAvailabilityZones": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DescribeAvailabilityZonesRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DescribeAvailabilityZonesResult" - }, - "traits": { - "smithy.api#documentation": "

Describes the Availability Zones, Local Zones, and Wavelength Zones that are available to\n you. If there is an event impacting a zone, you can use this request to view the state and any\n provided messages for that zone.

\n

For more information about Availability Zones, Local Zones, and Wavelength Zones, see\n Regions and zones \n in the Amazon Elastic Compute Cloud User Guide.

" - } - }, - "com.amazonaws.ec2#DescribeAvailabilityZonesRequest": { - "type": "structure", - "members": { "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n group-name - For Availability Zones, use the Region name. For Local\n Zones, use the name of the group associated with the Local Zone (for example,\n us-west-2-lax-1) For Wavelength Zones, use the name of the group associated\n with the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

    \n
  • \n
  • \n

    \n message - The Zone message.

    \n
  • \n
  • \n

    \n opt-in-status - The opt-in status (opted-in, and\n not-opted-in | opt-in-not-required).

    \n
  • \n
  • \n

    \n parent-zoneID - The ID of the zone that handles some of the Local Zone\n and Wavelength Zone control plane operations, such as API calls.

    \n
  • \n
  • \n

    \n parent-zoneName - The ID of the zone that handles some of the Local Zone\n and Wavelength Zone control plane operations, such as API calls.

    \n
  • \n
  • \n

    \n region-name - The name of the Region for the Zone (for example,\n us-east-1).

    \n
  • \n
  • \n

    \n state - The state of the Availability Zone, the Local Zone, or the\n Wavelength Zone (available).

    \n
  • \n
  • \n

    \n zone-id - The ID of the Availability Zone (for example,\n use1-az1), the Local Zone (for example, usw2-lax1-az1), or the\n Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

    \n
  • \n
  • \n

    \n zone-type - The type of zone, for example, local-zone.

    \n
  • \n
  • \n

    \n zone-name - The name of the Availability Zone (for example,\n us-east-1a), the Local Zone (for example, us-west-2-lax-1a), or\n the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

    \n
  • \n
  • \n

    \n zone-type - The type of zone, for example, local-zone.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" - } - }, - "ZoneNames": { - "target": "com.amazonaws.ec2#ZoneNameStringList", - "traits": { - "smithy.api#documentation": "

The names of the Availability Zones, Local Zones, and Wavelength Zones.

", - "smithy.api#xmlName": "ZoneName" + "smithy.api#documentation": "

The filters.

", + "smithy.api#xmlName": "Filters" } }, - "ZoneIds": { - "target": "com.amazonaws.ec2#ZoneIdStringList", + "ImportTaskIds": { + "target": "com.amazonaws.ec2#ImportSnapshotTaskIdList", "traits": { - "smithy.api#documentation": "

The IDs of the Availability Zones, Local Zones, and Wavelength Zones.

", - "smithy.api#xmlName": "ZoneId" + "smithy.api#documentation": "

A list of import snapshot task IDs.

", + "smithy.api#xmlName": "ImportTaskId" } }, - "AllAvailabilityZones": { - "target": "com.amazonaws.ec2#Boolean", + "MaxResults": { + "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Include all Availability Zones, Local Zones, and Wavelength Zones regardless of your\n opt-in status.

\n

If you do not use this parameter, the results include only the zones for the Regions where you have chosen the option to opt in.

" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining results, make another call\n with the returned NextToken value.

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

A token that indicates the next page of results.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeAvailabilityZonesResult": { + "com.amazonaws.ec2#DescribeImportSnapshotTasksResult": { "type": "structure", "members": { - "AvailabilityZones": { - "target": "com.amazonaws.ec2#AvailabilityZoneList", + "ImportSnapshotTasks": { + "target": "com.amazonaws.ec2#ImportSnapshotTaskList", "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZoneInfo", - "smithy.api#documentation": "

Information about the Availability Zones, Local Zones, and Wavelength Zones.

", - "smithy.api#xmlName": "availabilityZoneInfo" + "aws.protocols#ec2QueryName": "ImportSnapshotTaskSet", + "smithy.api#documentation": "

A list of zero or more import snapshot tasks that are currently active or were completed or canceled in the\n previous 7 days.

", + "smithy.api#xmlName": "importSnapshotTaskSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to get the next page of results. This value is null when there are no more results\n to return.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DescribeBundleTasks": { + "com.amazonaws.ec2#DescribeInstanceAttribute": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeBundleTasksRequest" + "target": "com.amazonaws.ec2#DescribeInstanceAttributeRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeBundleTasksResult" + "target": "com.amazonaws.ec2#InstanceAttribute" }, "traits": { - "smithy.api#documentation": "

Describes the specified bundle tasks or all of your bundle tasks.

\n \n

Completed bundle tasks are listed for only a limited time. If your bundle task is no longer in the list, you can still register an AMI from it. Just use RegisterImage with the Amazon S3 bucket name and image manifest name you provided to the bundle task.

\n
", - "smithy.waiters#waitable": { - "BundleTaskComplete": { - "acceptors": [ - { - "state": "success", - "matcher": { - "output": { - "path": "BundleTasks[].State", - "expected": "complete", - "comparator": "allStringEquals" - } - } - }, - { - "state": "failure", - "matcher": { - "output": { - "path": "BundleTasks[].State", - "expected": "failed", - "comparator": "anyStringEquals" - } - } - } - ], - "minDelay": 15 - } - } + "smithy.api#documentation": "

Describes the specified attribute of the specified instance. You can specify only one\n attribute at a time. Valid attribute values are: instanceType |\n kernel | ramdisk | userData |\n disableApiTermination | instanceInitiatedShutdownBehavior\n | rootDeviceName | blockDeviceMapping |\n productCodes | sourceDestCheck | groupSet |\n ebsOptimized | sriovNetSupport\n

" } }, - "com.amazonaws.ec2#DescribeBundleTasksRequest": { + "com.amazonaws.ec2#DescribeInstanceAttributeRequest": { "type": "structure", "members": { - "BundleIds": { - "target": "com.amazonaws.ec2#BundleIdStringList", - "traits": { - "smithy.api#documentation": "

The bundle task IDs.

\n

Default: Describes all your bundle tasks.

", - "smithy.api#xmlName": "BundleId" - } - }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "Attribute": { + "target": "com.amazonaws.ec2#InstanceAttributeName", "traits": { - "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n bundle-id - The ID of the bundle task.

    \n
  • \n
  • \n

    \n error-code - If the task failed, the error code returned.

    \n
  • \n
  • \n

    \n error-message - If the task failed, the error message returned.

    \n
  • \n
  • \n

    \n instance-id - The ID of the instance.

    \n
  • \n
  • \n

    \n progress - The level of task completion, as a percentage (for example, 20%).

    \n
  • \n
  • \n

    \n s3-bucket - The Amazon S3 bucket to store the AMI.

    \n
  • \n
  • \n

    \n s3-prefix - The beginning of the AMI name.

    \n
  • \n
  • \n

    \n start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z).

    \n
  • \n
  • \n

    \n state - The state of the task (pending | waiting-for-shutdown | bundling |\n storing | cancelling | complete | failed).

    \n
  • \n
  • \n

    \n update-time - The time of the most recent update for the task.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "aws.protocols#ec2QueryName": "Attribute", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The instance attribute.

\n

Note: The enaSupport attribute is not supported at this time.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "attribute" } }, "DryRun": { @@ -24188,54 +28555,54 @@ "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", "smithy.api#xmlName": "dryRun" } - } - } - }, - "com.amazonaws.ec2#DescribeBundleTasksResult": { - "type": "structure", - "members": { - "BundleTasks": { - "target": "com.amazonaws.ec2#BundleTaskList", + }, + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", "traits": { - "aws.protocols#ec2QueryName": "BundleInstanceTasksSet", - "smithy.api#documentation": "

Information about the bundle tasks.

", - "smithy.api#xmlName": "bundleInstanceTasksSet" + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the instance.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "instanceId" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeByoipCidrs": { + "com.amazonaws.ec2#DescribeInstanceCreditSpecifications": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeByoipCidrsRequest" + "target": "com.amazonaws.ec2#DescribeInstanceCreditSpecificationsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeByoipCidrsResult" + "target": "com.amazonaws.ec2#DescribeInstanceCreditSpecificationsResult" }, "traits": { - "smithy.api#documentation": "

Describes the IP address ranges that were specified in calls to ProvisionByoipCidr.

\n

To describe the address pools that were created when you provisioned the address\n ranges, use DescribePublicIpv4Pools or DescribeIpv6Pools.

", + "smithy.api#documentation": "

Describes the credit option for CPU usage of the specified burstable performance\n instances. The credit options are standard and\n unlimited.

\n

If you do not specify an instance ID, Amazon EC2 returns burstable performance\n instances with the unlimited credit option, as well as instances that were\n previously configured as T2, T3, and T3a with the unlimited credit option.\n For example, if you resize a T2 instance, while it is configured as\n unlimited, to an M4 instance, Amazon EC2 returns the M4\n instance.

\n

If you specify one or more instance IDs, Amazon EC2 returns the credit option\n (standard or unlimited) of those instances. If you specify\n an instance ID that is not valid, such as an instance that is not a burstable\n performance instance, an error is returned.

\n

Recently terminated instances might appear in the returned results. This interval is\n usually less than one hour.

\n

If an Availability Zone is experiencing a service disruption and you specify instance\n IDs in the affected zone, or do not specify any instance IDs at all, the call fails. If\n you specify only instance IDs in an unaffected zone, the call works normally.

\n

For more information, see Burstable\n performance instances in the Amazon EC2 User Guide.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "ByoipCidrs", + "items": "InstanceCreditSpecifications", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeByoipCidrsMaxResults": { + "com.amazonaws.ec2#DescribeInstanceCreditSpecificationsMaxResults": { "type": "integer", "traits": { "smithy.api#default": 0, "smithy.api#range": { - "min": 1, - "max": 100 + "min": 5, + "max": 1000 } } }, - "com.amazonaws.ec2#DescribeByoipCidrsRequest": { + "com.amazonaws.ec2#DescribeInstanceCreditSpecificationsRequest": { "type": "structure", "members": { "DryRun": { @@ -24246,510 +28613,763 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n instance-id - The ID of the instance.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" + } + }, + "InstanceIds": { + "target": "com.amazonaws.ec2#InstanceIdStringList", + "traits": { + "smithy.api#documentation": "

The instance IDs.

\n

Default: Describes all your instances.

\n

Constraints: Maximum 1000 explicitly specified instance IDs.

", + "smithy.api#xmlName": "InstanceId" + } + }, "MaxResults": { - "target": "com.amazonaws.ec2#DescribeByoipCidrsMaxResults", + "target": "com.amazonaws.ec2#DescribeInstanceCreditSpecificationsMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining\n results, make another call with the returned NextToken value. This value\n can be between 5 and 1000. You cannot specify this parameter and the instance IDs\n parameter in the same call.

" } }, "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "smithy.api#documentation": "

The token to retrieve the next page of results.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeByoipCidrsResult": { + "com.amazonaws.ec2#DescribeInstanceCreditSpecificationsResult": { "type": "structure", "members": { - "ByoipCidrs": { - "target": "com.amazonaws.ec2#ByoipCidrSet", + "InstanceCreditSpecifications": { + "target": "com.amazonaws.ec2#InstanceCreditSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "ByoipCidrSet", - "smithy.api#documentation": "

Information about your address ranges.

", - "smithy.api#xmlName": "byoipCidrSet" + "aws.protocols#ec2QueryName": "InstanceCreditSpecificationSet", + "smithy.api#documentation": "

Information about the credit option for CPU usage of an instance.

", + "smithy.api#xmlName": "instanceCreditSpecificationSet" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null\n when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DescribeCapacityReservationFleets": { + "com.amazonaws.ec2#DescribeInstanceEventNotificationAttributes": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeCapacityReservationFleetsRequest" + "target": "com.amazonaws.ec2#DescribeInstanceEventNotificationAttributesRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeCapacityReservationFleetsResult" + "target": "com.amazonaws.ec2#DescribeInstanceEventNotificationAttributesResult" }, "traits": { - "smithy.api#documentation": "

Describes one or more Capacity Reservation Fleets.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "CapacityReservationFleets", - "pageSize": "MaxResults" - } + "smithy.api#documentation": "

Describes the tag keys that are registered to appear in scheduled event notifications for \n \tresources in the current Region.

" } }, - "com.amazonaws.ec2#DescribeCapacityReservationFleetsMaxResults": { - "type": "integer", + "com.amazonaws.ec2#DescribeInstanceEventNotificationAttributesRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + } + }, "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 1, - "max": 100 + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DescribeInstanceEventNotificationAttributesResult": { + "type": "structure", + "members": { + "InstanceTagAttribute": { + "target": "com.amazonaws.ec2#InstanceTagNotificationAttribute", + "traits": { + "aws.protocols#ec2QueryName": "InstanceTagAttribute", + "smithy.api#documentation": "

Information about the registered tag keys.

", + "smithy.api#xmlName": "instanceTagAttribute" + } + } + } + }, + "com.amazonaws.ec2#DescribeInstanceEventWindows": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeInstanceEventWindowsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeInstanceEventWindowsResult" + }, + "traits": { + "smithy.api#documentation": "

Describes the specified event windows or all event windows.

\n

If you specify event window IDs, the output includes information for only the specified\n event windows. If you specify filters, the output includes information for only those event\n windows that meet the filter criteria. If you do not specify event windows IDs or filters,\n the output includes information for all event windows, which can affect performance. We\n recommend that you use pagination to ensure that the operation returns quickly and\n successfully.

\n

For more information, see Define event windows for scheduled\n events in the Amazon EC2 User Guide.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "InstanceEventWindows", + "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeCapacityReservationFleetsRequest": { + "com.amazonaws.ec2#DescribeInstanceEventWindowsRequest": { "type": "structure", "members": { - "CapacityReservationFleetIds": { - "target": "com.amazonaws.ec2#CapacityReservationFleetIdSet", - "traits": { - "smithy.api#documentation": "

The IDs of the Capacity Reservation Fleets to describe.

", - "smithy.api#xmlName": "CapacityReservationFleetId" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The token to use to retrieve the next page of results.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#DescribeCapacityReservationFleetsMaxResults", + "InstanceEventWindowIds": { + "target": "com.amazonaws.ec2#InstanceEventWindowIdSet", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

" + "smithy.api#documentation": "

The IDs of the event windows.

", + "smithy.api#xmlName": "InstanceEventWindowId" } }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters.

\n\t\t
    \n
  • \n\t\t\t\t

    \n state - The state of the Fleet (submitted | modifying | active | \n\t\t\t\t\tpartially_fulfilled | expiring | expired | cancelling | \n\t\t\t\t\tcancelled | failed).

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n instance-match-criteria - The instance matching criteria for the Fleet. Only open is supported.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n tenancy - The tenancy of the Fleet (default | dedicated).

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n allocation-strategy - The allocation strategy used by the Fleet. Only prioritized is supported.

    \n\t\t\t
  • \n
", + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n dedicated-host-id - The event windows associated with the specified\n Dedicated Host ID.

    \n
  • \n
  • \n

    \n event-window-name - The event windows associated with the specified\n names.

    \n
  • \n
  • \n

    \n instance-id - The event windows associated with the specified instance\n ID.

    \n
  • \n
  • \n

    \n instance-tag - The event windows associated with the specified tag and\n value.

    \n
  • \n
  • \n

    \n instance-tag-key - The event windows associated with the specified tag\n key, regardless of the value.

    \n
  • \n
  • \n

    \n instance-tag-value - The event windows associated with the specified tag\n value, regardless of the key.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the\n event window. Use the tag key in the filter name and the tag value as the filter\n value. For example, to find all resources that have a tag with the key\n Owner and the value CMX, specify tag:Owner\n for the filter name and CMX for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the event window. Use this filter\n to find all event windows that have a tag with a specific key, regardless of the tag\n value.

    \n
  • \n
  • \n

    \n tag-value - The value of a tag assigned to the event window. Use this\n filter to find all event windows that have a tag with a specific value, regardless of\n the tag key.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "MaxResults": { + "target": "com.amazonaws.ec2#ResultRange", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining\n results, make another call with the returned NextToken value. This value can\n be between 20 and 500. You cannot specify this parameter and the event window IDs parameter\n in the same call.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token to request the next page of results.

" } } + }, + "traits": { + "smithy.api#documentation": "Describe instance event windows by InstanceEventWindow.", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeCapacityReservationFleetsResult": { + "com.amazonaws.ec2#DescribeInstanceEventWindowsResult": { "type": "structure", "members": { - "CapacityReservationFleets": { - "target": "com.amazonaws.ec2#CapacityReservationFleetSet", + "InstanceEventWindows": { + "target": "com.amazonaws.ec2#InstanceEventWindowSet", "traits": { - "aws.protocols#ec2QueryName": "CapacityReservationFleetSet", - "smithy.api#documentation": "

Information about the Capacity Reservation Fleets.

", - "smithy.api#xmlName": "capacityReservationFleetSet" + "aws.protocols#ec2QueryName": "InstanceEventWindowSet", + "smithy.api#documentation": "

Information about the event windows.

", + "smithy.api#xmlName": "instanceEventWindowSet" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DescribeCapacityReservations": { + "com.amazonaws.ec2#DescribeInstanceStatus": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeCapacityReservationsRequest" + "target": "com.amazonaws.ec2#DescribeInstanceStatusRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeCapacityReservationsResult" + "target": "com.amazonaws.ec2#DescribeInstanceStatusResult" }, "traits": { - "smithy.api#documentation": "

Describes one or more of your Capacity Reservations. The results describe only the Capacity Reservations in the \n\t\t \tAmazon Web Services Region that you're currently using.

", + "smithy.api#documentation": "

Describes the status of the specified instances or all of your instances. By default,\n only running instances are described, unless you specifically indicate to return the\n status of all instances.

\n

Instance status includes the following components:

\n
    \n
  • \n

    \n Status checks - Amazon EC2 performs status\n checks on running EC2 instances to identify hardware and software issues. For\n more information, see Status checks for your instances and Troubleshoot\n instances with failed status checks in the Amazon EC2 User\n Guide.

    \n
  • \n
  • \n

    \n Scheduled events - Amazon EC2 can schedule\n events (such as reboot, stop, or terminate) for your instances related to\n hardware issues, software updates, or system maintenance. For more information,\n see Scheduled events for your instances in the Amazon EC2 User\n Guide.

    \n
  • \n
  • \n

    \n Instance state - You can manage your instances\n from the moment you launch them through their termination. For more information,\n see Instance\n lifecycle in the Amazon EC2 User Guide.

    \n
  • \n
", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "CapacityReservations", + "items": "InstanceStatuses", "pageSize": "MaxResults" + }, + "smithy.api#suppress": [ + "WaitableTraitInvalidErrorType" + ], + "smithy.waiters#waitable": { + "InstanceStatusOk": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "InstanceStatuses[].InstanceStatus.Status", + "expected": "ok", + "comparator": "allStringEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "errorType": "InvalidInstanceID.NotFound" + } + } + ], + "minDelay": 15 + }, + "SystemStatusOk": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "InstanceStatuses[].SystemStatus.Status", + "expected": "ok", + "comparator": "allStringEquals" + } + } + } + ], + "minDelay": 15 + } } } }, - "com.amazonaws.ec2#DescribeCapacityReservationsMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 1, - "max": 1000 - } - } - }, - "com.amazonaws.ec2#DescribeCapacityReservationsRequest": { + "com.amazonaws.ec2#DescribeInstanceStatusRequest": { "type": "structure", "members": { - "CapacityReservationIds": { - "target": "com.amazonaws.ec2#CapacityReservationIdSet", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The ID of the Capacity Reservation.

", - "smithy.api#xmlName": "CapacityReservationId" + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n availability-zone - The Availability Zone of the instance.

    \n
  • \n
  • \n

    \n event.code - The code for the scheduled event\n (instance-reboot | system-reboot |\n system-maintenance | instance-retirement |\n instance-stop).

    \n
  • \n
  • \n

    \n event.description - A description of the event.

    \n
  • \n
  • \n

    \n event.instance-event-id - The ID of the event whose date and time\n you are modifying.

    \n
  • \n
  • \n

    \n event.not-after - The latest end time for the scheduled event\n (for example, 2014-09-15T17:15:20.000Z).

    \n
  • \n
  • \n

    \n event.not-before - The earliest start time for the scheduled\n event (for example, 2014-09-15T17:15:20.000Z).

    \n
  • \n
  • \n

    \n event.not-before-deadline - The deadline for starting the event\n (for example, 2014-09-15T17:15:20.000Z).

    \n
  • \n
  • \n

    \n instance-state-code - The code for the instance state, as a\n 16-bit unsigned integer. The high byte is used for internal purposes and should\n be ignored. The low byte is set based on the state represented. The valid values\n are 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64\n (stopping), and 80 (stopped).

    \n
  • \n
  • \n

    \n instance-state-name - The state of the instance\n (pending | running | shutting-down |\n terminated | stopping |\n stopped).

    \n
  • \n
  • \n

    \n instance-status.reachability - Filters on instance status where\n the name is reachability (passed | failed\n | initializing | insufficient-data).

    \n
  • \n
  • \n

    \n instance-status.status - The status of the instance\n (ok | impaired | initializing |\n insufficient-data | not-applicable).

    \n
  • \n
  • \n

    \n system-status.reachability - Filters on system status where the\n name is reachability (passed | failed |\n initializing | insufficient-data).

    \n
  • \n
  • \n

    \n system-status.status - The system status of the instance\n (ok | impaired | initializing |\n insufficient-data | not-applicable).

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "InstanceIds": { + "target": "com.amazonaws.ec2#InstanceIdStringList", "traits": { - "smithy.api#documentation": "

The token to use to retrieve the next page of results.

" + "smithy.api#documentation": "

The instance IDs.

\n

Default: Describes all your instances.

\n

Constraints: Maximum 100 explicitly specified instance IDs.

", + "smithy.api#xmlName": "InstanceId" } }, "MaxResults": { - "target": "com.amazonaws.ec2#DescribeCapacityReservationsMaxResults", + "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

" + "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining\n results, make another call with the returned NextToken value. This value\n can be between 5 and 1000. You cannot specify this parameter and the instance IDs\n parameter in the same call.

" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

One or more filters.

\n\t \t
    \n
  • \n

    \n instance-type - The type of instance for which the Capacity Reservation reserves capacity.

    \n
  • \n
  • \n

    \n owner-id - The ID of the Amazon Web Services account that owns the Capacity Reservation.

    \n
  • \n
  • \n

    \n instance-platform - The type of operating system for which the Capacity Reservation reserves capacity.

    \n
  • \n
  • \n

    \n availability-zone - The Availability Zone of the Capacity Reservation.

    \n
  • \n
  • \n

    \n tenancy - Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the \n\t \t\t\tfollowing tenancy settings:

    \n\t \t\t\t
      \n
    • \n

      \n default - The Capacity Reservation is created on hardware that is shared with other Amazon Web Services accounts.

      \n
    • \n
    • \n

      \n dedicated - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single Amazon Web Services account.

      \n
    • \n
    \n\t \t\t\t
  • \n
  • \n

    \n outpost-arn - The Amazon Resource Name (ARN) of the Outpost on which the Capacity Reservation was created.

    \n
  • \n
  • \n

    \n state - The current state of the Capacity Reservation. A Capacity Reservation can be in one of the following states:

    \n\t \t\t
      \n
    • \n

      \n active- The Capacity Reservation is active and the capacity is available for your use.

      \n
    • \n
    • \n

      \n expired - The Capacity Reservation expired automatically at the date and time specified in your request. \n\t \t\t\t\tThe reserved capacity is no longer available for your use.

      \n
    • \n
    • \n

      \n cancelled - The Capacity Reservation was cancelled. The reserved capacity is no longer available for your use.

      \n
    • \n
    • \n

      \n pending - The Capacity Reservation request was successful but the capacity provisioning is still pending.

      \n
    • \n
    • \n

      \n failed - The Capacity Reservation request has failed. A request might fail due to invalid request parameters, \n\t \t\t\t\tcapacity constraints, or instance limit constraints. Failed requests are retained for 60 minutes.

      \n\t \t\t
    • \n
    \n\t \t\t
  • \n
  • \n

    \n start-date - The date and time at which the Capacity Reservation was started.

    \n
  • \n
  • \n

    \n end-date - The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is \n\t \t\t\treleased and you can no longer launch instances into it. The Capacity Reservation's state changes to expired when it reaches its end date and time.

    \n
  • \n
  • \n

    \n end-date-type - Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end types:

    \n\t \t\t
      \n
    • \n

      \n unlimited - The Capacity Reservation remains active until you explicitly cancel it.

      \n
    • \n
    • \n

      \n limited - The Capacity Reservation expires automatically at a specified date and time.

      \n
    • \n
    \n\t \t\t
  • \n
  • \n

    \n instance-match-criteria - Indicates the type of instance launches that the Capacity Reservation accepts. The options include:

    \n\t \t\t\t
      \n
    • \n

      \n open - The Capacity Reservation accepts all instances that have matching\n\t\t\t\t\t\t\tattributes (instance type, platform, and Availability Zone). Instances\n\t\t\t\t\t\t\tthat have matching attributes launch into the Capacity Reservation\n\t\t\t\t\t\t\tautomatically without specifying any additional parameters.

      \n
    • \n
    • \n

      \n targeted - The Capacity Reservation only accepts instances that have matching\n\t\t\t\t\t\t\tattributes (instance type, platform, and Availability Zone), and\n\t\t\t\t\t\t\texplicitly target the Capacity Reservation. This ensures that only\n\t\t\t\t\t\t\tpermitted instances can use the reserved capacity.

      \n
    • \n
    \n\t \t\t
  • \n
  • \n\t \t\t\t

    \n placement-group-arn - The ARN of the cluster placement group in which the Capacity Reservation was created.

    \n\t \t\t
  • \n
", - "smithy.api#xmlName": "Filter" + "smithy.api#documentation": "

The token to retrieve the next page of results.

" } }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + }, + "IncludeAllInstances": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "IncludeAllInstances", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

When true, includes the health status for all instances. When\n false, includes the health status for running instances only.

\n

Default: false\n

", + "smithy.api#xmlName": "includeAllInstances" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeCapacityReservationsResult": { + "com.amazonaws.ec2#DescribeInstanceStatusResult": { "type": "structure", "members": { + "InstanceStatuses": { + "target": "com.amazonaws.ec2#InstanceStatusList", + "traits": { + "aws.protocols#ec2QueryName": "InstanceStatusSet", + "smithy.api#documentation": "

Information about the status of the instances.

", + "smithy.api#xmlName": "instanceStatusSet" + } + }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null\n when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } - }, - "CapacityReservations": { - "target": "com.amazonaws.ec2#CapacityReservationSet", - "traits": { - "aws.protocols#ec2QueryName": "CapacityReservationSet", - "smithy.api#documentation": "

Information about the Capacity Reservations.

", - "smithy.api#xmlName": "capacityReservationSet" - } } } }, - "com.amazonaws.ec2#DescribeCarrierGateways": { + "com.amazonaws.ec2#DescribeInstanceTypeOfferings": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeCarrierGatewaysRequest" + "target": "com.amazonaws.ec2#DescribeInstanceTypeOfferingsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeCarrierGatewaysResult" + "target": "com.amazonaws.ec2#DescribeInstanceTypeOfferingsResult" }, "traits": { - "smithy.api#documentation": "

Describes one or more of your carrier gateways.

", + "smithy.api#documentation": "

Returns a list of all instance types offered. The results can be filtered by location (Region or Availability\n Zone). If no location is specified, the instance types offered in the current Region are returned.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "CarrierGateways", + "items": "InstanceTypeOfferings", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeCarrierGatewaysRequest": { + "com.amazonaws.ec2#DescribeInstanceTypeOfferingsRequest": { "type": "structure", "members": { - "CarrierGatewayIds": { - "target": "com.amazonaws.ec2#CarrierGatewayIdSet", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

One or more carrier gateway IDs.

", - "smithy.api#xmlName": "CarrierGatewayId" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request,\n and provides an error response. If you have the required permissions, the error response is\n DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + }, + "LocationType": { + "target": "com.amazonaws.ec2#LocationType", + "traits": { + "smithy.api#documentation": "

The location type.

" } }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n carrier-gateway-id - The ID of the carrier gateway.

    \n
  • \n
  • \n

    \n state - The state of the carrier gateway (pending |\n failed | available | deleting | deleted).

    \n
  • \n
  • \n

    \n owner-id - The Amazon Web Services account ID of the owner of the carrier gateway.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n vpc-id - The ID of the VPC associated with the carrier gateway.

    \n
  • \n
", + "smithy.api#documentation": "

One or more filters. Filter names and values are case-sensitive.

\n
    \n
  • \n

    \n location - This depends on the location type. For example, if the location type is\n region (default), the location is the Region code (for example, us-east-2.)

    \n
  • \n
  • \n

    \n instance-type - The instance type. For example,\n c5.2xlarge.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, "MaxResults": { - "target": "com.amazonaws.ec2#CarrierGatewayMaxResults", + "target": "com.amazonaws.ec2#DITOMaxResults", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining results\n can be seen by sending another request with the next token value.

" } }, "NextToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" - } - }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "target": "com.amazonaws.ec2#NextToken", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The token to retrieve the next page of results.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeCarrierGatewaysResult": { + "com.amazonaws.ec2#DescribeInstanceTypeOfferingsResult": { "type": "structure", "members": { - "CarrierGateways": { - "target": "com.amazonaws.ec2#CarrierGatewaySet", + "InstanceTypeOfferings": { + "target": "com.amazonaws.ec2#InstanceTypeOfferingsList", "traits": { - "aws.protocols#ec2QueryName": "CarrierGatewaySet", - "smithy.api#documentation": "

Information about the carrier gateway.

", - "smithy.api#xmlName": "carrierGatewaySet" + "aws.protocols#ec2QueryName": "InstanceTypeOfferingSet", + "smithy.api#documentation": "

The instance types offered.

", + "smithy.api#xmlName": "instanceTypeOfferingSet" } }, "NextToken": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#NextToken", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there\n are no more results to return.

", "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DescribeClassicLinkInstances": { + "com.amazonaws.ec2#DescribeInstanceTypes": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeClassicLinkInstancesRequest" + "target": "com.amazonaws.ec2#DescribeInstanceTypesRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeClassicLinkInstancesResult" + "target": "com.amazonaws.ec2#DescribeInstanceTypesResult" }, "traits": { - "smithy.api#documentation": "

Describes one or more of your linked EC2-Classic instances. This request only returns\n\t\t\tinformation about EC2-Classic instances linked to a VPC through ClassicLink. You cannot\n\t\t\tuse this request to return information about other instances.

\n\t \n\t

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n\t
", + "smithy.api#documentation": "

Describes the details of the instance types that are offered in a location. The results can be filtered by the\n attributes of the instance types.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "Instances", + "items": "InstanceTypes", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeClassicLinkInstancesMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 1000 - } - } - }, - "com.amazonaws.ec2#DescribeClassicLinkInstancesRequest": { + "com.amazonaws.ec2#DescribeInstanceTypesRequest": { "type": "structure", "members": { - "Filters": { - "target": "com.amazonaws.ec2#FilterList", - "traits": { - "smithy.api#documentation": "

One or more filters.

\n\t\t
    \n
  • \n

    \n group-id - The ID of a VPC security group that's associated with the instance.

    \n
  • \n
  • \n\t\t\t\t

    \n instance-id - The ID of the instance.

    \n\t\t\t
  • \n
  • \n\t\t\t

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n\t\t\t
  • \n
  • \n\n\t\t\t\t

    \n\t\t\t\t\t vpc-id - The ID of the VPC to which the instance is\n\t\t\t\t\tlinked.

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

    \n vpc-id - The ID of the VPC that the instance is linked to.

    \n\n\t\t\t
  • \n
", - "smithy.api#xmlName": "Filter" - } - }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request,\n and provides an error response. If you have the required permissions, the error response is\n DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } }, - "InstanceIds": { - "target": "com.amazonaws.ec2#InstanceIdStringList", + "InstanceTypes": { + "target": "com.amazonaws.ec2#RequestInstanceTypeList", "traits": { - "smithy.api#documentation": "

One or more instance IDs. Must be instances linked to a VPC through ClassicLink.

", - "smithy.api#xmlName": "InstanceId" + "smithy.api#documentation": "

The instance types. For more information, see Instance types in the Amazon EC2 User Guide.

", + "smithy.api#xmlName": "InstanceType" + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters. Filter names and values are case-sensitive.

\n
    \n
  • \n

    \n auto-recovery-supported - Indicates whether auto recovery is supported (true | false).

    \n
  • \n
  • \n

    \n bare-metal - Indicates whether it is a bare metal instance type (true | false).

    \n
  • \n
  • \n

    \n burstable-performance-supported - Indicates whether it is a burstable\n performance instance type (true | false).

    \n
  • \n
  • \n

    \n current-generation - Indicates whether this instance type is the latest\n generation instance type of an instance family (true | false).

    \n
  • \n
  • \n

    \n ebs-info.ebs-optimized-info.baseline-bandwidth-in-mbps - The baseline\n bandwidth performance for an EBS-optimized instance type, in Mbps.

    \n
  • \n
  • \n

    \n ebs-info.ebs-optimized-info.baseline-iops - The baseline input/output storage\n operations per second for an EBS-optimized instance type.

    \n
  • \n
  • \n

    \n ebs-info.ebs-optimized-info.baseline-throughput-in-mbps - The baseline\n throughput performance for an EBS-optimized instance type, in MB/s.

    \n
  • \n
  • \n

    \n ebs-info.ebs-optimized-info.maximum-bandwidth-in-mbps - The maximum bandwidth\n performance for an EBS-optimized instance type, in Mbps.

    \n
  • \n
  • \n

    \n ebs-info.ebs-optimized-info.maximum-iops - The maximum input/output storage\n operations per second for an EBS-optimized instance type.

    \n
  • \n
  • \n

    \n ebs-info.ebs-optimized-info.maximum-throughput-in-mbps - The maximum\n throughput performance for an EBS-optimized instance type, in MB/s.

    \n
  • \n
  • \n

    \n ebs-info.ebs-optimized-support - Indicates whether the instance type is\n EBS-optimized (supported | unsupported |\n default).

    \n
  • \n
  • \n

    \n ebs-info.encryption-support - Indicates whether EBS encryption is supported\n (supported | unsupported).

    \n
  • \n
  • \n

    \n ebs-info.nvme-support - Indicates whether non-volatile memory express (NVMe)\n is supported for EBS volumes (required | supported | unsupported).

    \n
  • \n
  • \n

    \n free-tier-eligible - Indicates whether the instance type is eligible to use\n in the free tier (true | false).

    \n
  • \n
  • \n

    \n hibernation-supported - Indicates whether On-Demand hibernation is supported (true | false).

    \n
  • \n
  • \n

    \n hypervisor - The hypervisor (nitro | xen).

    \n
  • \n
  • \n

    \n instance-storage-info.disk.count - The number of local disks.

    \n
  • \n
  • \n

    \n instance-storage-info.disk.size-in-gb - The storage size of each instance storage disk, in\n GB.

    \n
  • \n
  • \n

    \n instance-storage-info.disk.type - The storage technology for the local\n instance storage disks (hdd | ssd).

    \n
  • \n
  • \n

    \n instance-storage-info.encryption-support - Indicates whether data is encrypted at rest \n (required | supported | unsupported).

    \n
  • \n
  • \n

    \n instance-storage-info.nvme-support - Indicates whether non-volatile memory\n express (NVMe) is supported for instance store (required | supported |\n unsupported).

    \n
  • \n
  • \n

    \n instance-storage-info.total-size-in-gb - The total amount of storage available from all local\n instance storage, in GB.

    \n
  • \n
  • \n

    \n instance-storage-supported - Indicates whether the instance type has local\n instance storage (true | false).

    \n
  • \n
  • \n

    \n instance-type - The instance type (for example c5.2xlarge or\n c5*).

    \n
  • \n
  • \n

    \n memory-info.size-in-mib - The memory size.

    \n
  • \n
  • \n

    \n network-info.efa-info.maximum-efa-interfaces - The maximum number of Elastic \n Fabric Adapters (EFAs) per instance.

    \n
  • \n
  • \n

    \n network-info.efa-supported - Indicates whether the instance type supports\n Elastic Fabric Adapter (EFA) (true | false).

    \n
  • \n
  • \n

    \n network-info.ena-support - Indicates whether Elastic Network Adapter (ENA) is\n supported or required (required | supported |\n unsupported).

    \n
  • \n
  • \n

    \n network-info.encryption-in-transit-supported - Indicates whether the instance type \n automatically encrypts in-transit traffic between instances (true | false).

    \n
  • \n
  • \n

    \n network-info.ipv4-addresses-per-interface - The maximum number of private IPv4 addresses per\n network interface.

    \n
  • \n
  • \n

    \n network-info.ipv6-addresses-per-interface - The maximum number of private IPv6 addresses per\n network interface.

    \n
  • \n
  • \n

    \n network-info.ipv6-supported - Indicates whether the instance type supports IPv6 (true | false).

    \n
  • \n
  • \n

    \n network-info.maximum-network-cards - The maximum number of network cards per\n instance.

    \n
  • \n
  • \n

    \n network-info.maximum-network-interfaces - The maximum number of network interfaces per instance.

    \n
  • \n
  • \n

    \n network-info.network-performance - The network performance (for example, \"25\n Gigabit\").

    \n
  • \n
  • \n

    \n processor-info.supported-architecture - The CPU architecture\n (arm64 | i386 | x86_64).

    \n
  • \n
  • \n

    \n processor-info.sustained-clock-speed-in-ghz - The CPU clock speed, in GHz.

    \n
  • \n
  • \n

    \n supported-boot-mode - The boot mode (legacy-bios |\n uefi).

    \n
  • \n
  • \n

    \n supported-root-device-type - The root device type (ebs |\n instance-store).

    \n
  • \n
  • \n

    \n supported-usage-class - The usage class (on-demand |\n spot).

    \n
  • \n
  • \n

    \n supported-virtualization-type - The virtualization type (hvm |\n paravirtual).

    \n
  • \n
  • \n

    \n vcpu-info.default-cores - The default number of cores for the instance type.

    \n
  • \n
  • \n

    \n vcpu-info.default-threads-per-core - The default number of threads per core for the instance\n type.

    \n
  • \n
  • \n

    \n vcpu-info.default-vcpus - The default number of vCPUs for the instance type.

    \n
  • \n
  • \n

    \n vcpu-info.valid-cores - The number of cores that can be configured for the instance type.

    \n
  • \n
  • \n

    \n vcpu-info.valid-threads-per-core - The number of threads per core that can be configured for the instance type.\n For example, \"1\" or \"1,2\".

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, "MaxResults": { - "target": "com.amazonaws.ec2#DescribeClassicLinkInstancesMaxResults", + "target": "com.amazonaws.ec2#DITMaxResults", "traits": { - "aws.protocols#ec2QueryName": "MaxResults", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

\n\t\t

Constraint: If the value is greater than 1000, we return only 1000 items.

", - "smithy.api#xmlName": "maxResults" + "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining results\n can be seen by sending another request with the next token value.

" } }, "NextToken": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#NextToken", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token for the next page of results.

", - "smithy.api#xmlName": "nextToken" + "smithy.api#documentation": "

The token to retrieve the next page of results.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeClassicLinkInstancesResult": { + "com.amazonaws.ec2#DescribeInstanceTypesResult": { "type": "structure", "members": { - "Instances": { - "target": "com.amazonaws.ec2#ClassicLinkInstanceList", + "InstanceTypes": { + "target": "com.amazonaws.ec2#InstanceTypeInfoList", "traits": { - "aws.protocols#ec2QueryName": "InstancesSet", - "smithy.api#documentation": "

Information about one or more linked EC2-Classic instances.

", - "smithy.api#xmlName": "instancesSet" + "aws.protocols#ec2QueryName": "InstanceTypeSet", + "smithy.api#documentation": "

The instance type. For more information, see Instance types in the Amazon EC2 User Guide.

", + "smithy.api#xmlName": "instanceTypeSet" } }, "NextToken": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#NextToken", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there\n are no more results to return.

", "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DescribeClientVpnAuthorizationRules": { + "com.amazonaws.ec2#DescribeInstances": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeClientVpnAuthorizationRulesRequest" + "target": "com.amazonaws.ec2#DescribeInstancesRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeClientVpnAuthorizationRulesResult" + "target": "com.amazonaws.ec2#DescribeInstancesResult" }, "traits": { - "smithy.api#documentation": "

Describes the authorization rules for a specified Client VPN endpoint.

", + "smithy.api#documentation": "

Describes the specified instances or all instances.

\n

If you specify instance IDs, the output includes information for only the specified\n instances. If you specify filters, the output includes information for only those\n instances that meet the filter criteria. If you do not specify instance IDs or filters,\n the output includes information for all instances, which can affect performance. We\n recommend that you use pagination to ensure that the operation returns quickly and\n successfully.

\n

If you specify an instance ID that is not valid, an error is returned. If you specify\n an instance that you do not own, it is not included in the output.

\n

Recently terminated instances might appear in the returned results. This interval is\n usually less than one hour.

\n

If you describe instances in the rare case where an Availability Zone is experiencing\n a service disruption and you specify instance IDs that are in the affected zone, or do\n not specify any instance IDs at all, the call fails. If you describe instances and\n specify only instance IDs that are in an unaffected zone, the call works\n normally.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "AuthorizationRules", + "items": "Reservations", "pageSize": "MaxResults" + }, + "smithy.api#suppress": [ + "WaitableTraitInvalidErrorType" + ], + "smithy.waiters#waitable": { + "InstanceExists": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "length(Reservations[]) > `0`", + "expected": "true", + "comparator": "booleanEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "errorType": "InvalidInstanceID.NotFound" + } + } + ], + "minDelay": 5 + }, + "InstanceRunning": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "Reservations[].Instances[].State.Name", + "expected": "running", + "comparator": "allStringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "Reservations[].Instances[].State.Name", + "expected": "shutting-down", + "comparator": "anyStringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "Reservations[].Instances[].State.Name", + "expected": "terminated", + "comparator": "anyStringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "Reservations[].Instances[].State.Name", + "expected": "stopping", + "comparator": "anyStringEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "errorType": "InvalidInstanceID.NotFound" + } + } + ], + "minDelay": 15 + }, + "InstanceStopped": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "Reservations[].Instances[].State.Name", + "expected": "stopped", + "comparator": "allStringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "Reservations[].Instances[].State.Name", + "expected": "pending", + "comparator": "anyStringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "Reservations[].Instances[].State.Name", + "expected": "terminated", + "comparator": "anyStringEquals" + } + } + } + ], + "minDelay": 15 + }, + "InstanceTerminated": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "Reservations[].Instances[].State.Name", + "expected": "terminated", + "comparator": "allStringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "Reservations[].Instances[].State.Name", + "expected": "pending", + "comparator": "anyStringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "Reservations[].Instances[].State.Name", + "expected": "stopping", + "comparator": "anyStringEquals" + } + } + } + ], + "minDelay": 15 + } } } }, - "com.amazonaws.ec2#DescribeClientVpnAuthorizationRulesMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 1000 - } - } - }, - "com.amazonaws.ec2#DescribeClientVpnAuthorizationRulesRequest": { + "com.amazonaws.ec2#DescribeInstancesRequest": { "type": "structure", "members": { - "ClientVpnEndpointId": { - "target": "com.amazonaws.ec2#ClientVpnEndpointId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Client VPN endpoint.

", - "smithy.api#required": {} - } - }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n affinity - The affinity setting for an instance running on a\n Dedicated Host (default | host).

    \n
  • \n
  • \n

    \n architecture - The instance architecture (i386 |\n x86_64 | arm64).

    \n
  • \n
  • \n

    \n availability-zone - The Availability Zone of the instance.

    \n
  • \n
  • \n

    \n block-device-mapping.attach-time - The attach time for an EBS\n volume mapped to the instance, for example,\n 2010-09-15T17:15:20.000Z.

    \n
  • \n
  • \n

    \n block-device-mapping.delete-on-termination - A Boolean that\n indicates whether the EBS volume is deleted on instance termination.

    \n
  • \n
  • \n

    \n block-device-mapping.device-name - The device name specified in the\n block device mapping (for example, /dev/sdh or\n xvdh).

    \n
  • \n
  • \n

    \n block-device-mapping.status - The status for the EBS volume\n (attaching | attached | detaching |\n detached).

    \n
  • \n
  • \n

    \n block-device-mapping.volume-id - The volume ID of the EBS\n volume.

    \n
  • \n
  • \n

    \n capacity-reservation-id - The ID of the Capacity Reservation into which the\n instance was launched.

    \n
  • \n
  • \n

    \n client-token - The idempotency token you provided when you launched\n the instance.

    \n
  • \n
  • \n

    \n dns-name - The public DNS name of the instance.

    \n
  • \n
  • \n

    \n group-id - The ID of the security group for the instance.\n EC2-Classic only.

    \n
  • \n
  • \n

    \n group-name - The name of the security group for the instance.\n EC2-Classic only.

    \n
  • \n
  • \n

    \n hibernation-options.configured - A Boolean that indicates whether\n the instance is enabled for hibernation. A value of true means that\n the instance is enabled for hibernation.

    \n
  • \n
  • \n

    \n host-id - The ID of the Dedicated Host on which the instance is\n running, if applicable.

    \n
  • \n
  • \n

    \n hypervisor - The hypervisor type of the instance\n (ovm | xen). The value xen is used\n for both Xen and Nitro hypervisors.

    \n
  • \n
  • \n

    \n iam-instance-profile.arn - The instance profile associated with\n the instance. Specified as an ARN.

    \n
  • \n
  • \n

    \n image-id - The ID of the image used to launch the\n instance.

    \n
  • \n
  • \n

    \n instance-id - The ID of the instance.

    \n
  • \n
  • \n

    \n instance-lifecycle - Indicates whether this is a Spot Instance or\n a Scheduled Instance (spot | scheduled).

    \n
  • \n
  • \n

    \n instance-state-code - The state of the instance, as a 16-bit\n unsigned integer. The high byte is used for internal purposes and should be\n ignored. The low byte is set based on the state represented. The valid values\n are: 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64\n (stopping), and 80 (stopped).

    \n
  • \n
  • \n

    \n instance-state-name - The state of the instance\n (pending | running | shutting-down |\n terminated | stopping |\n stopped).

    \n
  • \n
  • \n

    \n instance-type - The type of instance (for example,\n t2.micro).

    \n
  • \n
  • \n

    \n instance.group-id - The ID of the security group for the\n instance.

    \n
  • \n
  • \n

    \n instance.group-name - The name of the security group for the\n instance.

    \n
  • \n
  • \n

    \n ip-address - The public IPv4 address of the instance.

    \n
  • \n
  • \n

    \n kernel-id - The kernel ID.

    \n
  • \n
  • \n

    \n key-name - The name of the key pair used when the instance was\n launched.

    \n
  • \n
  • \n

    \n launch-index - When launching multiple instances, this is the\n index for the instance in the launch group (for example, 0, 1, 2, and so on).\n

    \n
  • \n
  • \n

    \n launch-time - The time when the instance was launched, in the ISO\n 8601 format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example,\n 2021-09-29T11:04:43.305Z. You can use a wildcard\n (*), for example, 2021-09-29T*, which matches an\n entire day.

    \n
  • \n
  • \n

    \n metadata-options.http-tokens - The metadata request authorization\n state (optional | required)

    \n
  • \n
  • \n

    \n metadata-options.http-put-response-hop-limit - The HTTP metadata\n request put response hop limit (integer, possible values 1 to\n 64)

    \n
  • \n
  • \n

    \n metadata-options.http-endpoint - The status of access to the HTTP\n metadata endpoint on your instance (enabled |\n disabled)

    \n
  • \n
  • \n

    \n metadata-options.instance-metadata-tags - The status of access to\n instance tags from the instance metadata (enabled |\n disabled)

    \n
  • \n
  • \n

    \n monitoring-state - Indicates whether detailed monitoring is\n enabled (disabled | enabled).

    \n
  • \n
  • \n

    \n network-interface.addresses.private-ip-address - The private IPv4\n address associated with the network interface.

    \n
  • \n
  • \n

    \n network-interface.addresses.primary - Specifies whether the IPv4\n address of the network interface is the primary private IPv4 address.

    \n
  • \n
  • \n

    \n network-interface.addresses.association.public-ip - The ID of the\n association of an Elastic IP address (IPv4) with a network interface.

    \n
  • \n
  • \n

    \n network-interface.addresses.association.ip-owner-id - The owner\n ID of the private IPv4 address associated with the network interface.

    \n
  • \n
  • \n

    \n network-interface.association.public-ip - The address of the\n Elastic IP address (IPv4) bound to the network interface.

    \n
  • \n
  • \n

    \n network-interface.association.ip-owner-id - The owner of the\n Elastic IP address (IPv4) associated with the network interface.

    \n
  • \n
  • \n

    \n network-interface.association.allocation-id - The allocation ID\n returned when you allocated the Elastic IP address (IPv4) for your network\n interface.

    \n
  • \n
  • \n

    \n network-interface.association.association-id - The association ID\n returned when the network interface was associated with an IPv4 address.

    \n
  • \n
  • \n

    \n network-interface.attachment.attachment-id - The ID of the\n interface attachment.

    \n
  • \n
  • \n

    \n network-interface.attachment.instance-id - The ID of the instance\n to which the network interface is attached.

    \n
  • \n
  • \n

    \n network-interface.attachment.instance-owner-id - The owner ID of\n the instance to which the network interface is attached.

    \n
  • \n
  • \n

    \n network-interface.attachment.device-index - The device index to\n which the network interface is attached.

    \n
  • \n
  • \n

    \n network-interface.attachment.status - The status of the\n attachment (attaching | attached |\n detaching | detached).

    \n
  • \n
  • \n

    \n network-interface.attachment.attach-time - The time that the\n network interface was attached to an instance.

    \n
  • \n
  • \n

    \n network-interface.attachment.delete-on-termination - Specifies\n whether the attachment is deleted when an instance is terminated.

    \n
  • \n
  • \n

    \n network-interface.availability-zone - The Availability Zone for\n the network interface.

    \n
  • \n
  • \n

    \n network-interface.description - The description of the network\n interface.

    \n
  • \n
  • \n

    \n network-interface.group-id - The ID of a security group\n associated with the network interface.

    \n
  • \n
  • \n

    \n network-interface.group-name - The name of a security group\n associated with the network interface.

    \n
  • \n
  • \n

    \n network-interface.ipv6-addresses.ipv6-address - The IPv6 address\n associated with the network interface.

    \n
  • \n
  • \n

    \n network-interface.mac-address - The MAC address of the network\n interface.

    \n
  • \n
  • \n

    \n network-interface.network-interface-id - The ID of the network\n interface.

    \n
  • \n
  • \n

    \n network-interface.owner-id - The ID of the owner of the network\n interface.

    \n
  • \n
  • \n

    \n network-interface.private-dns-name - The private DNS name of the\n network interface.

    \n
  • \n
  • \n

    \n network-interface.requester-id - The requester ID for the network\n interface.

    \n
  • \n
  • \n

    \n network-interface.requester-managed - Indicates whether the\n network interface is being managed by Amazon Web Services.

    \n
  • \n
  • \n

    \n network-interface.status - The status of the network interface\n (available) | in-use).

    \n
  • \n
  • \n

    \n network-interface.source-dest-check - Whether the network\n interface performs source/destination checking. A value of true\n means that checking is enabled, and false means that checking is\n disabled. The value must be false for the network interface to\n perform network address translation (NAT) in your VPC.

    \n
  • \n
  • \n

    \n network-interface.subnet-id - The ID of the subnet for the\n network interface.

    \n
  • \n
  • \n

    \n network-interface.vpc-id - The ID of the VPC for the network\n interface.

    \n
  • \n
  • \n

    \n outpost-arn - The Amazon Resource Name (ARN) of the\n Outpost.

    \n
  • \n
  • \n

    \n owner-id - The Amazon Web Services account ID of the instance\n owner.

    \n
  • \n
  • \n

    \n placement-group-name - The name of the placement group for the\n instance.

    \n
  • \n
  • \n

    \n placement-partition-number - The partition in which the instance is\n located.

    \n
  • \n
  • \n

    \n platform - The platform. To list only Windows instances, use\n windows.

    \n
  • \n
  • \n

    \n private-dns-name - The private IPv4 DNS name of the\n instance.

    \n
  • \n
  • \n

    \n private-ip-address - The private IPv4 address of the\n instance.

    \n
  • \n
  • \n

    \n product-code - The product code associated with the AMI used to\n launch the instance.

    \n
  • \n
  • \n

    \n product-code.type - The type of product code (devpay |\n marketplace).

    \n
  • \n
  • \n

    \n ramdisk-id - The RAM disk ID.

    \n
  • \n
  • \n

    \n reason - The reason for the current state of the instance (for\n example, shows \"User Initiated [date]\" when you stop or terminate the instance).\n Similar to the state-reason-code filter.

    \n
  • \n
  • \n

    \n requester-id - The ID of the entity that launched the instance on\n your behalf (for example, Amazon Web Services Management Console, Auto Scaling, and so\n on).

    \n
  • \n
  • \n

    \n reservation-id - The ID of the instance's reservation. A\n reservation ID is created any time you launch an instance. A reservation ID has\n a one-to-one relationship with an instance launch request, but can be associated\n with more than one instance if you launch multiple instances using the same\n launch request. For example, if you launch one instance, you get one reservation\n ID. If you launch ten instances using the same launch request, you also get one\n reservation ID.

    \n
  • \n
  • \n

    \n root-device-name - The device name of the root device volume (for\n example, /dev/sda1).

    \n
  • \n
  • \n

    \n root-device-type - The type of the root device volume\n (ebs | instance-store).

    \n
  • \n
  • \n

    \n source-dest-check - Indicates whether the instance performs\n source/destination checking. A value of true means that checking is\n enabled, and false means that checking is disabled. The value must\n be false for the instance to perform network address translation\n (NAT) in your VPC.

    \n
  • \n
  • \n

    \n spot-instance-request-id - The ID of the Spot Instance\n request.

    \n
  • \n
  • \n

    \n state-reason-code - The reason code for the state change.

    \n
  • \n
  • \n

    \n state-reason-message - A message that describes the state\n change.

    \n
  • \n
  • \n

    \n subnet-id - The ID of the subnet for the instance.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n tenancy - The tenancy of an instance (dedicated |\n default | host).

    \n
  • \n
  • \n

    \n virtualization-type - The virtualization type of the instance\n (paravirtual | hvm).

    \n
  • \n
  • \n

    \n vpc-id - The ID of the VPC that the instance is running in.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } - }, - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + }, + "InstanceIds": { + "target": "com.amazonaws.ec2#InstanceIdStringList", "traits": { - "smithy.api#documentation": "

The token to retrieve the next page of results.

" + "smithy.api#documentation": "

The instance IDs.

\n

Default: Describes all your instances.

", + "smithy.api#xmlName": "InstanceId" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

One or more filters. Filter names and values are case-sensitive.

\n\t
    \n
  • \n

    \n description - The description of the authorization rule.

    \n
  • \n
  • \n

    \n destination-cidr - The CIDR of the network to which the authorization rule\n applies.

    \n
  • \n
  • \n

    \n group-id - The ID of the Active Directory group to which the authorization rule grants access.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, "MaxResults": { - "target": "com.amazonaws.ec2#DescribeClientVpnAuthorizationRulesMaxResults", + "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "MaxResults", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

" + "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining\n results, make another call with the returned NextToken value. This value\n can be between 5 and 1000. You cannot specify this parameter and the instance IDs\n parameter in the same call.

", + "smithy.api#xmlName": "maxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to request the next page of results.

", + "smithy.api#xmlName": "nextToken" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeClientVpnAuthorizationRulesResult": { + "com.amazonaws.ec2#DescribeInstancesResult": { "type": "structure", "members": { - "AuthorizationRules": { - "target": "com.amazonaws.ec2#AuthorizationRuleSet", + "Reservations": { + "target": "com.amazonaws.ec2#ReservationList", "traits": { - "aws.protocols#ec2QueryName": "AuthorizationRule", - "smithy.api#documentation": "

Information about the authorization rules.

", - "smithy.api#xmlName": "authorizationRule" + "aws.protocols#ec2QueryName": "ReservationSet", + "smithy.api#documentation": "

Information about the reservations.

", + "smithy.api#xmlName": "reservationSet" } }, "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null\n when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DescribeClientVpnConnections": { + "com.amazonaws.ec2#DescribeInternetGateways": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeClientVpnConnectionsRequest" + "target": "com.amazonaws.ec2#DescribeInternetGatewaysRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeClientVpnConnectionsResult" + "target": "com.amazonaws.ec2#DescribeInternetGatewaysResult" }, "traits": { - "smithy.api#documentation": "

Describes active client connections and connections that have been terminated within the last 60 \n\t\t\tminutes for the specified Client VPN endpoint.

", + "smithy.api#documentation": "

Describes one or more of your internet gateways.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "Connections", + "items": "InternetGateways", "pageSize": "MaxResults" + }, + "smithy.api#suppress": [ + "WaitableTraitInvalidErrorType" + ], + "smithy.waiters#waitable": { + "InternetGatewayExists": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "length(InternetGateways[].InternetGatewayId) > `0`", + "expected": "true", + "comparator": "booleanEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "errorType": "InvalidInternetGateway.NotFound" + } + } + ], + "minDelay": 5 + } } } }, - "com.amazonaws.ec2#DescribeClientVpnConnectionsMaxResults": { + "com.amazonaws.ec2#DescribeInternetGatewaysMaxResults": { "type": "integer", "traits": { "smithy.api#default": 0, @@ -24759,151 +29379,66 @@ } } }, - "com.amazonaws.ec2#DescribeClientVpnConnectionsRequest": { + "com.amazonaws.ec2#DescribeInternetGatewaysRequest": { "type": "structure", "members": { - "ClientVpnEndpointId": { - "target": "com.amazonaws.ec2#ClientVpnEndpointId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Client VPN endpoint.

", - "smithy.api#required": {} - } - }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters. Filter names and values are case-sensitive.

\n\t
    \n
  • \n

    \n connection-id - The ID of the connection.

    \n
  • \n
  • \n

    \n username - For Active Directory client authentication, the user name of the\n client who established the client connection.

    \n
  • \n
", + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n attachment.state - The current state of the attachment between the gateway\n and the VPC (available). Present only if a VPC is attached.

    \n
  • \n
  • \n

    \n attachment.vpc-id - The ID of an attached VPC.

    \n
  • \n
  • \n

    \n internet-gateway-id - The ID of the Internet gateway.

    \n
  • \n
  • \n

    \n owner-id - The ID of the Amazon Web Services account that owns the internet gateway.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", - "traits": { - "smithy.api#documentation": "

The token to retrieve the next page of results.

" - } - }, - "MaxResults": { - "target": "com.amazonaws.ec2#DescribeClientVpnConnectionsMaxResults", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

" - } - }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } - } - } - }, - "com.amazonaws.ec2#DescribeClientVpnConnectionsResult": { - "type": "structure", - "members": { - "Connections": { - "target": "com.amazonaws.ec2#ClientVpnConnectionSet", + }, + "InternetGatewayIds": { + "target": "com.amazonaws.ec2#InternetGatewayIdList", "traits": { - "aws.protocols#ec2QueryName": "Connections", - "smithy.api#documentation": "

Information about the active and terminated client connections.

", - "smithy.api#xmlName": "connections" + "aws.protocols#ec2QueryName": "InternetGatewayId", + "smithy.api#documentation": "

One or more internet gateway IDs.

\n

Default: Describes all your internet gateways.

", + "smithy.api#xmlName": "internetGatewayId" } }, "NextToken": { - "target": "com.amazonaws.ec2#NextToken", - "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" - } - } - } - }, - "com.amazonaws.ec2#DescribeClientVpnEndpointMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 1000 - } - } - }, - "com.amazonaws.ec2#DescribeClientVpnEndpoints": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DescribeClientVpnEndpointsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DescribeClientVpnEndpointsResult" - }, - "traits": { - "smithy.api#documentation": "

Describes one or more Client VPN endpoints in the account.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "ClientVpnEndpoints", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.ec2#DescribeClientVpnEndpointsRequest": { - "type": "structure", - "members": { - "ClientVpnEndpointIds": { - "target": "com.amazonaws.ec2#ClientVpnEndpointIdList", + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The ID of the Client VPN endpoint.

", - "smithy.api#xmlName": "ClientVpnEndpointId" + "smithy.api#documentation": "

The token for the next page of results.

" } }, "MaxResults": { - "target": "com.amazonaws.ec2#DescribeClientVpnEndpointMaxResults", + "target": "com.amazonaws.ec2#DescribeInternetGatewaysMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", - "traits": { - "smithy.api#documentation": "

The token to retrieve the next page of results.

" - } - }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", - "traits": { - "smithy.api#documentation": "

One or more filters. Filter names and values are case-sensitive.

\n\t
    \n
  • \n

    \n endpoint-id - The ID of the Client VPN endpoint.

    \n
  • \n
  • \n

    \n transport-protocol - The transport protocol (tcp |\n udp).

    \n
  • \n
", - "smithy.api#xmlName": "Filter" - } - }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeClientVpnEndpointsResult": { + "com.amazonaws.ec2#DescribeInternetGatewaysResult": { "type": "structure", "members": { - "ClientVpnEndpoints": { - "target": "com.amazonaws.ec2#EndpointSet", + "InternetGateways": { + "target": "com.amazonaws.ec2#InternetGatewayList", "traits": { - "aws.protocols#ec2QueryName": "ClientVpnEndpoint", - "smithy.api#documentation": "

Information about the Client VPN endpoints.

", - "smithy.api#xmlName": "clientVpnEndpoint" + "aws.protocols#ec2QueryName": "InternetGatewaySet", + "smithy.api#documentation": "

Information about one or more internet gateways.

", + "smithy.api#xmlName": "internetGatewaySet" } }, "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", @@ -24912,87 +29447,71 @@ } } }, - "com.amazonaws.ec2#DescribeClientVpnRoutes": { + "com.amazonaws.ec2#DescribeIpamPools": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeClientVpnRoutesRequest" + "target": "com.amazonaws.ec2#DescribeIpamPoolsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeClientVpnRoutesResult" + "target": "com.amazonaws.ec2#DescribeIpamPoolsResult" }, "traits": { - "smithy.api#documentation": "

Describes the routes for the specified Client VPN endpoint.

", + "smithy.api#documentation": "

Get information about your IPAM pools.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "Routes", + "items": "IpamPools", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeClientVpnRoutesMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 1000 - } - } - }, - "com.amazonaws.ec2#DescribeClientVpnRoutesRequest": { + "com.amazonaws.ec2#DescribeIpamPoolsRequest": { "type": "structure", "members": { - "ClientVpnEndpointId": { - "target": "com.amazonaws.ec2#ClientVpnEndpointId", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Client VPN endpoint.

", - "smithy.api#required": {} + "smithy.api#default": false, + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters. Filter names and values are case-sensitive.

\n\t
    \n
  • \n

    \n destination-cidr - The CIDR of the route destination.

    \n
  • \n
  • \n

    \n origin - How the route was associated with the Client VPN endpoint (associate | add-route).

    \n
  • \n
  • \n

    \n target-subnet - The ID of the subnet through which traffic is routed.

    \n
  • \n
", + "smithy.api#documentation": "

One or more filters for the request. For more information about filtering, see Filtering CLI output.

", "smithy.api#xmlName": "Filter" } }, "MaxResults": { - "target": "com.amazonaws.ec2#DescribeClientVpnRoutesMaxResults", + "target": "com.amazonaws.ec2#IpamMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

" + "smithy.api#documentation": "

The maximum number of results to return in the request.

" } }, "NextToken": { "target": "com.amazonaws.ec2#NextToken", "traits": { - "smithy.api#documentation": "

The token to retrieve the next page of results.

" + "smithy.api#documentation": "

The token for the next page of results.

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "IpamPoolIds": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The IDs of the IPAM pools you would like information on.

", + "smithy.api#xmlName": "IpamPoolId" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeClientVpnRoutesResult": { + "com.amazonaws.ec2#DescribeIpamPoolsResult": { "type": "structure", "members": { - "Routes": { - "target": "com.amazonaws.ec2#ClientVpnRouteSet", - "traits": { - "aws.protocols#ec2QueryName": "Routes", - "smithy.api#documentation": "

Information about the Client VPN endpoint routes.

", - "smithy.api#xmlName": "routes" - } - }, "NextToken": { "target": "com.amazonaws.ec2#NextToken", "traits": { @@ -25000,581 +29519,424 @@ "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } + }, + "IpamPools": { + "target": "com.amazonaws.ec2#IpamPoolSet", + "traits": { + "aws.protocols#ec2QueryName": "IpamPoolSet", + "smithy.api#documentation": "

Information about the IPAM pools.

", + "smithy.api#xmlName": "ipamPoolSet" + } } } }, - "com.amazonaws.ec2#DescribeClientVpnTargetNetworks": { + "com.amazonaws.ec2#DescribeIpamResourceDiscoveries": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeClientVpnTargetNetworksRequest" + "target": "com.amazonaws.ec2#DescribeIpamResourceDiscoveriesRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeClientVpnTargetNetworksResult" + "target": "com.amazonaws.ec2#DescribeIpamResourceDiscoveriesResult" }, "traits": { - "smithy.api#documentation": "

Describes the target networks associated with the specified Client VPN endpoint.

", + "smithy.api#documentation": "

Describes IPAM resource discoveries. A resource discovery is an IPAM component that enables IPAM Service to manage and monitor resources that belong to the owning account.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "ClientVpnTargetNetworks", + "items": "IpamResourceDiscoveries", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeClientVpnTargetNetworksMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 1000 - } - } - }, - "com.amazonaws.ec2#DescribeClientVpnTargetNetworksRequest": { + "com.amazonaws.ec2#DescribeIpamResourceDiscoveriesRequest": { "type": "structure", "members": { - "ClientVpnEndpointId": { - "target": "com.amazonaws.ec2#ClientVpnEndpointId", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Client VPN endpoint.

", - "smithy.api#required": {} + "smithy.api#default": false, + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "AssociationIds": { + "IpamResourceDiscoveryIds": { "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "smithy.api#documentation": "

The IDs of the target network associations.

" + "smithy.api#documentation": "

The IPAM resource discovery IDs.

", + "smithy.api#xmlName": "IpamResourceDiscoveryId" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#DescribeClientVpnTargetNetworksMaxResults", + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

" + "smithy.api#documentation": "

Specify the pagination token from a previous request to retrieve the next page of results.

" } }, - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "MaxResults": { + "target": "com.amazonaws.ec2#IpamMaxResults", "traits": { - "smithy.api#documentation": "

The token to retrieve the next page of results.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of resource discoveries to return in one page of results.

" } }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters. Filter names and values are case-sensitive.

\n\t
    \n
  • \n

    \n association-id - The ID of the association.

    \n
  • \n
  • \n

    \n target-network-id - The ID of the subnet specified as the target network.

    \n
  • \n
  • \n

    \n vpc-id - The ID of the VPC in which the target network is located.

    \n
  • \n
", + "smithy.api#documentation": "

The resource discovery filters.

", "smithy.api#xmlName": "Filter" } - }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeClientVpnTargetNetworksResult": { + "com.amazonaws.ec2#DescribeIpamResourceDiscoveriesResult": { "type": "structure", "members": { - "ClientVpnTargetNetworks": { - "target": "com.amazonaws.ec2#TargetNetworkSet", + "IpamResourceDiscoveries": { + "target": "com.amazonaws.ec2#IpamResourceDiscoverySet", "traits": { - "aws.protocols#ec2QueryName": "ClientVpnTargetNetworks", - "smithy.api#documentation": "

Information about the associated target networks.

", - "smithy.api#xmlName": "clientVpnTargetNetworks" + "aws.protocols#ec2QueryName": "IpamResourceDiscoverySet", + "smithy.api#documentation": "

The resource discoveries.

", + "smithy.api#xmlName": "ipamResourceDiscoverySet" } }, "NextToken": { "target": "com.amazonaws.ec2#NextToken", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#documentation": "

Specify the pagination token from a previous request to retrieve the next page of results.

", "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DescribeCoipPools": { + "com.amazonaws.ec2#DescribeIpamResourceDiscoveryAssociations": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeCoipPoolsRequest" + "target": "com.amazonaws.ec2#DescribeIpamResourceDiscoveryAssociationsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeCoipPoolsResult" + "target": "com.amazonaws.ec2#DescribeIpamResourceDiscoveryAssociationsResult" }, "traits": { - "smithy.api#documentation": "

Describes the specified customer-owned address pools or all of your customer-owned address pools.

", + "smithy.api#documentation": "

Describes resource discovery association with an Amazon VPC IPAM. An associated resource discovery is a resource discovery that has been associated with an IPAM..

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "CoipPools", + "items": "IpamResourceDiscoveryAssociations", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeCoipPoolsRequest": { + "com.amazonaws.ec2#DescribeIpamResourceDiscoveryAssociationsRequest": { "type": "structure", "members": { - "PoolIds": { - "target": "com.amazonaws.ec2#CoipPoolIdSet", - "traits": { - "smithy.api#documentation": "

The IDs of the address pools.

", - "smithy.api#xmlName": "PoolId" - } - }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n coip-pool.local-gateway-route-table-id - The ID of the local gateway route table.

    \n
  • \n
  • \n

    \n coip-pool.pool-id - The ID of the address pool.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#CoipPoolMaxResults", + "IpamResourceDiscoveryAssociationIds": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#documentation": "

The resource discovery association IDs.

", + "smithy.api#xmlName": "IpamResourceDiscoveryAssociationId" } }, "NextToken": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#NextToken", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "smithy.api#documentation": "

Specify the pagination token from a previous request to retrieve the next page of results.

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "MaxResults": { + "target": "com.amazonaws.ec2#IpamMaxResults", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - } - } - }, - "com.amazonaws.ec2#DescribeCoipPoolsResult": { - "type": "structure", - "members": { - "CoipPools": { - "target": "com.amazonaws.ec2#CoipPoolSet", - "traits": { - "aws.protocols#ec2QueryName": "CoipPoolSet", - "smithy.api#documentation": "

Information about the address pools.

", - "smithy.api#xmlName": "coipPoolSet" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of resource discovery associations to return in one page of results.

" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "smithy.api#documentation": "

The resource discovery association filters.

", + "smithy.api#xmlName": "Filter" } } - } - }, - "com.amazonaws.ec2#DescribeConversionTaskList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ConversionTask", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#DescribeConversionTasks": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DescribeConversionTasksRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DescribeConversionTasksResult" }, "traits": { - "smithy.api#documentation": "

Describes the specified conversion tasks or all your conversion tasks. For more information, see the\n VM Import/Export User Guide.

\n

For information about the import manifest referenced by this API action, see VM Import Manifest.

", - "smithy.waiters#waitable": { - "ConversionTaskCancelled": { - "acceptors": [ - { - "state": "success", - "matcher": { - "output": { - "path": "ConversionTasks[].State", - "expected": "cancelled", - "comparator": "allStringEquals" - } - } - } - ], - "minDelay": 15 - }, - "ConversionTaskCompleted": { - "acceptors": [ - { - "state": "success", - "matcher": { - "output": { - "path": "ConversionTasks[].State", - "expected": "completed", - "comparator": "allStringEquals" - } - } - }, - { - "state": "failure", - "matcher": { - "output": { - "path": "ConversionTasks[].State", - "expected": "cancelled", - "comparator": "anyStringEquals" - } - } - }, - { - "state": "failure", - "matcher": { - "output": { - "path": "ConversionTasks[].State", - "expected": "cancelling", - "comparator": "anyStringEquals" - } - } - } - ], - "minDelay": 15 - }, - "ConversionTaskDeleted": { - "acceptors": [ - { - "state": "success", - "matcher": { - "output": { - "path": "ConversionTasks[].State", - "expected": "deleted", - "comparator": "allStringEquals" - } - } - } - ], - "minDelay": 15 - } - } - } - }, - "com.amazonaws.ec2#DescribeConversionTasksRequest": { - "type": "structure", - "members": { - "ConversionTaskIds": { - "target": "com.amazonaws.ec2#ConversionIdStringList", - "traits": { - "aws.protocols#ec2QueryName": "ConversionTaskId", - "smithy.api#documentation": "

The conversion task IDs.

", - "smithy.api#xmlName": "conversionTaskId" - } - }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" - } - } + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeConversionTasksResult": { + "com.amazonaws.ec2#DescribeIpamResourceDiscoveryAssociationsResult": { "type": "structure", "members": { - "ConversionTasks": { - "target": "com.amazonaws.ec2#DescribeConversionTaskList", + "IpamResourceDiscoveryAssociations": { + "target": "com.amazonaws.ec2#IpamResourceDiscoveryAssociationSet", "traits": { - "aws.protocols#ec2QueryName": "ConversionTasks", - "smithy.api#documentation": "

Information about the conversion tasks.

", - "smithy.api#xmlName": "conversionTasks" + "aws.protocols#ec2QueryName": "IpamResourceDiscoveryAssociationSet", + "smithy.api#documentation": "

The resource discovery associations.

", + "smithy.api#xmlName": "ipamResourceDiscoveryAssociationSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

Specify the pagination token from a previous request to retrieve the next page of results.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DescribeCustomerGateways": { + "com.amazonaws.ec2#DescribeIpamScopes": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeCustomerGatewaysRequest" + "target": "com.amazonaws.ec2#DescribeIpamScopesRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeCustomerGatewaysResult" + "target": "com.amazonaws.ec2#DescribeIpamScopesResult" }, "traits": { - "smithy.api#documentation": "

Describes one or more of your VPN customer gateways.

\n

For more information, see Amazon Web Services Site-to-Site VPN in the Amazon Web Services Site-to-Site VPN\n User Guide.

", - "smithy.waiters#waitable": { - "CustomerGatewayAvailable": { - "acceptors": [ - { - "state": "success", - "matcher": { - "output": { - "path": "CustomerGateways[].State", - "expected": "available", - "comparator": "allStringEquals" - } - } - }, - { - "state": "failure", - "matcher": { - "output": { - "path": "CustomerGateways[].State", - "expected": "deleted", - "comparator": "anyStringEquals" - } - } - }, - { - "state": "failure", - "matcher": { - "output": { - "path": "CustomerGateways[].State", - "expected": "deleting", - "comparator": "anyStringEquals" - } - } - } - ], - "minDelay": 15 - } + "smithy.api#documentation": "

Get information about your IPAM scopes.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "IpamScopes", + "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeCustomerGatewaysRequest": { + "com.amazonaws.ec2#DescribeIpamScopesRequest": { "type": "structure", "members": { - "CustomerGatewayIds": { - "target": "com.amazonaws.ec2#CustomerGatewayIdStringList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

One or more customer gateway IDs.

\n

Default: Describes all your customer gateways.

", - "smithy.api#xmlName": "CustomerGatewayId" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n bgp-asn - The customer gateway's Border Gateway Protocol (BGP)\n Autonomous System Number (ASN).

    \n
  • \n
  • \n

    \n customer-gateway-id - The ID of the customer gateway.

    \n
  • \n
  • \n

    \n ip-address - The IP address of the customer gateway\n device's external interface.

    \n
  • \n
  • \n

    \n state - The state of the customer gateway (pending |\n available | deleting |\n deleted).

    \n
  • \n
  • \n

    \n type - The type of customer gateway. Currently, the only\n supported type is ipsec.1.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
", + "smithy.api#documentation": "

One or more filters for the request. For more information about filtering, see Filtering CLI output.

", "smithy.api#xmlName": "Filter" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "MaxResults": { + "target": "com.amazonaws.ec2#IpamMaxResults", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return in the request.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" + } + }, + "IpamScopeIds": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "smithy.api#documentation": "

The IDs of the scopes you want information on.

", + "smithy.api#xmlName": "IpamScopeId" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for DescribeCustomerGateways.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeCustomerGatewaysResult": { + "com.amazonaws.ec2#DescribeIpamScopesResult": { "type": "structure", "members": { - "CustomerGateways": { - "target": "com.amazonaws.ec2#CustomerGatewayList", + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", "traits": { - "aws.protocols#ec2QueryName": "CustomerGatewaySet", - "smithy.api#documentation": "

Information about one or more customer gateways.

", - "smithy.api#xmlName": "customerGatewaySet" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" + } + }, + "IpamScopes": { + "target": "com.amazonaws.ec2#IpamScopeSet", + "traits": { + "aws.protocols#ec2QueryName": "IpamScopeSet", + "smithy.api#documentation": "

The scopes you want information on.

", + "smithy.api#xmlName": "ipamScopeSet" } } - }, - "traits": { - "smithy.api#documentation": "

Contains the output of DescribeCustomerGateways.

" } }, - "com.amazonaws.ec2#DescribeDhcpOptions": { + "com.amazonaws.ec2#DescribeIpams": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeDhcpOptionsRequest" + "target": "com.amazonaws.ec2#DescribeIpamsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeDhcpOptionsResult" + "target": "com.amazonaws.ec2#DescribeIpamsResult" }, "traits": { - "smithy.api#documentation": "

Describes one or more of your DHCP options sets.

\n\t\t

For more information, see DHCP options sets in the\n\t\t\t\tAmazon Virtual Private Cloud User Guide.

", + "smithy.api#documentation": "

Get information about your IPAM pools.

\n

For more information, see What is IPAM? in the Amazon VPC IPAM User Guide.\n

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "DhcpOptions", + "items": "Ipams", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeDhcpOptionsMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 1000 - } - } - }, - "com.amazonaws.ec2#DescribeDhcpOptionsRequest": { + "com.amazonaws.ec2#DescribeIpamsRequest": { "type": "structure", "members": { - "DhcpOptionsIds": { - "target": "com.amazonaws.ec2#DhcpOptionsIdStringList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The IDs of one or more DHCP options sets.

\n\t\t

Default: Describes all your DHCP options sets.

", - "smithy.api#xmlName": "DhcpOptionsId" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters.

\n\t\t
    \n
  • \n\t\t

    \n dhcp-options-id - The ID of a DHCP options set.

    \n\t\t
  • \n
  • \n\t\t

    \n key - The key for one of the options (for example, domain-name).

    \n\t\t
  • \n
  • \n\t\t

    \n value - The value for one of the options.

    \n\t\t
  • \n
  • \n\t\t

    \n owner-id - The ID of the Amazon Web Services account that owns the DHCP options set.

    \n\t\t
  • \n
  • \n\t\t

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n\t\t
  • \n
  • \n\t\t

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n\t\t
  • \n
", + "smithy.api#documentation": "

One or more filters for the request. For more information about filtering, see Filtering CLI output.

", "smithy.api#xmlName": "Filter" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "MaxResults": { + "target": "com.amazonaws.ec2#IpamMaxResults", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return in the request.

" } }, "NextToken": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#NextToken", "traits": { "smithy.api#documentation": "

The token for the next page of results.

" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#DescribeDhcpOptionsMaxResults", + "IpamIds": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#documentation": "

The IDs of the IPAMs you want information on.

", + "smithy.api#xmlName": "IpamId" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeDhcpOptionsResult": { + "com.amazonaws.ec2#DescribeIpamsResult": { "type": "structure", "members": { - "DhcpOptions": { - "target": "com.amazonaws.ec2#DhcpOptionsList", - "traits": { - "aws.protocols#ec2QueryName": "DhcpOptionsSet", - "smithy.api#documentation": "

Information about one or more DHCP options sets.

", - "smithy.api#xmlName": "dhcpOptionsSet" - } - }, "NextToken": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#NextToken", "traits": { "aws.protocols#ec2QueryName": "NextToken", "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } + }, + "Ipams": { + "target": "com.amazonaws.ec2#IpamSet", + "traits": { + "aws.protocols#ec2QueryName": "IpamSet", + "smithy.api#documentation": "

Information about the IPAMs.

", + "smithy.api#xmlName": "ipamSet" + } } } }, - "com.amazonaws.ec2#DescribeEgressOnlyInternetGateways": { + "com.amazonaws.ec2#DescribeIpv6Pools": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeEgressOnlyInternetGatewaysRequest" + "target": "com.amazonaws.ec2#DescribeIpv6PoolsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeEgressOnlyInternetGatewaysResult" + "target": "com.amazonaws.ec2#DescribeIpv6PoolsResult" }, "traits": { - "smithy.api#documentation": "

Describes one or more of your egress-only internet gateways.

", + "smithy.api#documentation": "

Describes your IPv6 address pools.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "EgressOnlyInternetGateways", + "items": "Ipv6Pools", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeEgressOnlyInternetGatewaysMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 255 - } - } - }, - "com.amazonaws.ec2#DescribeEgressOnlyInternetGatewaysRequest": { + "com.amazonaws.ec2#DescribeIpv6PoolsRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "PoolIds": { + "target": "com.amazonaws.ec2#Ipv6PoolIdList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The IDs of the IPv6 address pools.

", + "smithy.api#xmlName": "PoolId" } }, - "EgressOnlyInternetGatewayIds": { - "target": "com.amazonaws.ec2#EgressOnlyInternetGatewayIdList", + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", "traits": { - "smithy.api#documentation": "

One or more egress-only internet gateway IDs.

", - "smithy.api#xmlName": "EgressOnlyInternetGatewayId" + "smithy.api#documentation": "

The token for the next page of results.

" } }, "MaxResults": { - "target": "com.amazonaws.ec2#DescribeEgressOnlyInternetGatewaysMaxResults", + "target": "com.amazonaws.ec2#Ipv6PoolMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters.

\n \t
    \n
  • \n \t\t\t

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n \t\t
  • \n
  • \n \t\t\t

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n \t\t
  • \n
", + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeEgressOnlyInternetGatewaysResult": { + "com.amazonaws.ec2#DescribeIpv6PoolsResult": { "type": "structure", "members": { - "EgressOnlyInternetGateways": { - "target": "com.amazonaws.ec2#EgressOnlyInternetGatewayList", + "Ipv6Pools": { + "target": "com.amazonaws.ec2#Ipv6PoolSet", "traits": { - "aws.protocols#ec2QueryName": "EgressOnlyInternetGatewaySet", - "smithy.api#documentation": "

Information about the egress-only internet gateways.

", - "smithy.api#xmlName": "egressOnlyInternetGatewaySet" + "aws.protocols#ec2QueryName": "Ipv6PoolSet", + "smithy.api#documentation": "

Information about the IPv6 address pools.

", + "smithy.api#xmlName": "ipv6PoolSet" } }, "NextToken": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#NextToken", "traits": { "aws.protocols#ec2QueryName": "NextToken", "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", @@ -25583,129 +29945,123 @@ } } }, - "com.amazonaws.ec2#DescribeElasticGpus": { + "com.amazonaws.ec2#DescribeKeyPairs": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeElasticGpusRequest" + "target": "com.amazonaws.ec2#DescribeKeyPairsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeElasticGpusResult" + "target": "com.amazonaws.ec2#DescribeKeyPairsResult" }, "traits": { - "smithy.api#documentation": "

Describes the Elastic Graphics accelerator associated with your instances. For more information\n about Elastic Graphics, see Amazon Elastic Graphics.

" - } - }, - "com.amazonaws.ec2#DescribeElasticGpusMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 10, - "max": 1000 + "smithy.api#documentation": "

Describes the specified key pairs or all of your key pairs.

\n

For more information about key pairs, see Amazon EC2 key pairs \n\t\t\t\tin the Amazon Elastic Compute Cloud User Guide.

", + "smithy.api#suppress": [ + "WaitableTraitInvalidErrorType" + ], + "smithy.waiters#waitable": { + "KeyPairExists": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "length(KeyPairs[].KeyName) > `0`", + "expected": "true", + "comparator": "booleanEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "errorType": "InvalidKeyPair.NotFound" + } + } + ], + "minDelay": 5 + } } } }, - "com.amazonaws.ec2#DescribeElasticGpusRequest": { + "com.amazonaws.ec2#DescribeKeyPairsRequest": { "type": "structure", "members": { - "ElasticGpuIds": { - "target": "com.amazonaws.ec2#ElasticGpuIdSet", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The Elastic Graphics accelerator IDs.

", - "smithy.api#xmlName": "ElasticGpuId" + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n key-pair-id - The ID of the key pair.

    \n
  • \n
  • \n

    \n fingerprint - The fingerprint of the key pair.

    \n
  • \n
  • \n

    \n key-name - The name of the key pair.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "KeyNames": { + "target": "com.amazonaws.ec2#KeyNameStringList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The key pair names.

\n

Default: Describes all of your key pairs.

", + "smithy.api#xmlName": "KeyName" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "KeyPairIds": { + "target": "com.amazonaws.ec2#KeyPairIdStringList", "traits": { - "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n availability-zone - The Availability Zone in which the\n Elastic Graphics accelerator resides.

    \n
  • \n
  • \n

    \n elastic-gpu-health - The status of the Elastic Graphics accelerator\n (OK | IMPAIRED).

    \n
  • \n
  • \n

    \n elastic-gpu-state - The state of the Elastic Graphics accelerator\n (ATTACHED).

    \n
  • \n
  • \n

    \n elastic-gpu-type - The type of Elastic Graphics accelerator; for example,\n eg1.medium.

    \n
  • \n
  • \n

    \n instance-id - The ID of the instance to which the\n Elastic Graphics accelerator is associated.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "smithy.api#documentation": "

The IDs of the key pairs.

", + "smithy.api#xmlName": "KeyPairId" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#DescribeElasticGpusMaxResults", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining\n results, make another call with the returned NextToken value. This value\n can be between 5 and 1000.

" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "IncludePublicKey": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The token to request the next page of results.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

If true, the public key material is included in the response.

\n

Default: false\n

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeElasticGpusResult": { + "com.amazonaws.ec2#DescribeKeyPairsResult": { "type": "structure", "members": { - "ElasticGpuSet": { - "target": "com.amazonaws.ec2#ElasticGpuSet", - "traits": { - "aws.protocols#ec2QueryName": "ElasticGpuSet", - "smithy.api#documentation": "

Information about the Elastic Graphics accelerators.

", - "smithy.api#xmlName": "elasticGpuSet" - } - }, - "MaxResults": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "aws.protocols#ec2QueryName": "MaxResults", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The total number of items to return. If the total number of items available is more\n than the value specified in max-items then a Next-Token will be provided in the output\n that you can use to resume pagination.

", - "smithy.api#xmlName": "maxResults" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "KeyPairs": { + "target": "com.amazonaws.ec2#KeyPairList", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is\n null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "KeySet", + "smithy.api#documentation": "

Information about the key pairs.

", + "smithy.api#xmlName": "keySet" } } } }, - "com.amazonaws.ec2#DescribeExportImageTasks": { + "com.amazonaws.ec2#DescribeLaunchTemplateVersions": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeExportImageTasksRequest" + "target": "com.amazonaws.ec2#DescribeLaunchTemplateVersionsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeExportImageTasksResult" + "target": "com.amazonaws.ec2#DescribeLaunchTemplateVersionsResult" }, "traits": { - "smithy.api#documentation": "

Describes the specified export image tasks or all of your export image tasks.

", + "smithy.api#documentation": "

Describes one or more versions of a specified launch template. You can describe all\n versions, individual versions, or a range of versions. You can also describe all the\n latest versions or all the default versions of all the launch templates in your\n account.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "ExportImageTasks", + "items": "LaunchTemplateVersions", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeExportImageTasksMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 1, - "max": 500 - } - } - }, - "com.amazonaws.ec2#DescribeExportImageTasksRequest": { + "com.amazonaws.ec2#DescribeLaunchTemplateVersionsRequest": { "type": "structure", "members": { "DryRun": { @@ -25713,182 +30069,242 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "LaunchTemplateId": { + "target": "com.amazonaws.ec2#LaunchTemplateId", "traits": { - "smithy.api#documentation": "

Filter tasks using the task-state filter and one of the following values: active,\n completed, deleting, or deleted.

", - "smithy.api#xmlName": "Filter" + "smithy.api#documentation": "

The ID of the launch template.

\n

To describe one or more versions of a specified launch template, you must specify\n either the LaunchTemplateId or the LaunchTemplateName, but not\n both.

\n

To describe all the latest or default launch template versions in your account, you\n must omit this parameter.

" } }, - "ExportImageTaskIds": { - "target": "com.amazonaws.ec2#ExportImageTaskIdList", + "LaunchTemplateName": { + "target": "com.amazonaws.ec2#LaunchTemplateName", "traits": { - "smithy.api#documentation": "

The IDs of the export image tasks.

", - "smithy.api#xmlName": "ExportImageTaskId" + "smithy.api#documentation": "

The name of the launch template.

\n

To describe one or more versions of a specified launch template, you must specify\n either the LaunchTemplateName or the LaunchTemplateId, but not\n both.

\n

To describe all the latest or default launch template versions in your account, you\n must omit this parameter.

" + } + }, + "Versions": { + "target": "com.amazonaws.ec2#VersionStringList", + "traits": { + "smithy.api#documentation": "

One or more versions of the launch template. Valid values depend on whether you are\n describing a specified launch template (by ID or name) or all launch templates in your\n account.

\n

To describe one or more versions of a specified launch template, valid values are\n $Latest, $Default, and numbers.

\n

To describe all launch templates in your account that are defined as the latest\n version, the valid value is $Latest. To describe all launch templates in\n your account that are defined as the default version, the valid value is\n $Default. You can specify $Latest and\n $Default in the same request. You cannot specify numbers.

", + "smithy.api#xmlName": "LaunchTemplateVersion" + } + }, + "MinVersion": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The version number after which to describe launch template versions.

" + } + }, + "MaxVersion": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The version number up to which to describe launch template versions.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token to request the next page of results.

" } }, "MaxResults": { - "target": "com.amazonaws.ec2#DescribeExportImageTasksMaxResults", + "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in a single call.

" + "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining\n results, make another call with the returned NextToken value. This value\n can be between 1 and 200.

" } }, - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

A token that indicates the next page of results.

" + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n create-time - The time the launch template version was\n created.

    \n
  • \n
  • \n

    \n ebs-optimized - A boolean that indicates whether the instance is\n optimized for Amazon EBS I/O.

    \n
  • \n
  • \n

    \n http-endpoint - Indicates whether the HTTP metadata endpoint on\n your instances is enabled (enabled | disabled).

    \n
  • \n
  • \n

    \n http-protocol-ipv4 - Indicates whether the IPv4 endpoint for the\n instance metadata service is enabled (enabled |\n disabled).

    \n
  • \n
  • \n

    \n host-resource-group-arn - The ARN of the host resource group in\n which to launch the instances.

    \n
  • \n
  • \n

    \n http-tokens - The state of token usage for your instance metadata\n requests (optional | required).

    \n
  • \n
  • \n

    \n iam-instance-profile - The ARN of the IAM instance\n profile.

    \n
  • \n
  • \n

    \n image-id - The ID of the AMI.

    \n
  • \n
  • \n

    \n instance-type - The instance type.

    \n
  • \n
  • \n

    \n is-default-version - A boolean that indicates whether the launch\n template version is the default version.

    \n
  • \n
  • \n

    \n kernel-id - The kernel ID.

    \n
  • \n
  • \n

    \n license-configuration-arn - The ARN of the license\n configuration.

    \n
  • \n
  • \n

    \n network-card-index - The index of the network card.

    \n
  • \n
  • \n

    \n ram-disk-id - The RAM disk ID.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" + } + }, + "ResolveAlias": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

If true, and if a Systems Manager parameter is specified for ImageId,\n the AMI ID is displayed in the response for imageId.

\n

If false, and if a Systems Manager parameter is specified for ImageId,\n the parameter is displayed in the response for imageId.

\n

For more information, see Use a Systems \n Manager parameter instead of an AMI ID in the Amazon Elastic Compute Cloud User Guide.

\n

Default: false\n

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeExportImageTasksResult": { + "com.amazonaws.ec2#DescribeLaunchTemplateVersionsResult": { "type": "structure", "members": { - "ExportImageTasks": { - "target": "com.amazonaws.ec2#ExportImageTaskList", + "LaunchTemplateVersions": { + "target": "com.amazonaws.ec2#LaunchTemplateVersionSet", "traits": { - "aws.protocols#ec2QueryName": "ExportImageTaskSet", - "smithy.api#documentation": "

Information about the export image tasks.

", - "smithy.api#xmlName": "exportImageTaskSet" + "aws.protocols#ec2QueryName": "LaunchTemplateVersionSet", + "smithy.api#documentation": "

Information about the launch template versions.

", + "smithy.api#xmlName": "launchTemplateVersionSet" } }, "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to get the next page of results. This value is null when there are no more results\n to return.

", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null\n when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DescribeExportTasks": { + "com.amazonaws.ec2#DescribeLaunchTemplates": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeExportTasksRequest" + "target": "com.amazonaws.ec2#DescribeLaunchTemplatesRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeExportTasksResult" + "target": "com.amazonaws.ec2#DescribeLaunchTemplatesResult" }, "traits": { - "smithy.api#documentation": "

Describes the specified export instance tasks or all of your export instance tasks.

", - "smithy.waiters#waitable": { - "ExportTaskCancelled": { - "acceptors": [ - { - "state": "success", - "matcher": { - "output": { - "path": "ExportTasks[].State", - "expected": "cancelled", - "comparator": "allStringEquals" - } - } - } - ], - "minDelay": 15 - }, - "ExportTaskCompleted": { - "acceptors": [ - { - "state": "success", - "matcher": { - "output": { - "path": "ExportTasks[].State", - "expected": "completed", - "comparator": "allStringEquals" - } - } - } - ], - "minDelay": 15 - } + "smithy.api#documentation": "

Describes one or more launch templates.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "LaunchTemplates", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#DescribeLaunchTemplatesMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 1, + "max": 200 } } }, - "com.amazonaws.ec2#DescribeExportTasksRequest": { + "com.amazonaws.ec2#DescribeLaunchTemplatesRequest": { "type": "structure", "members": { - "ExportTaskIds": { - "target": "com.amazonaws.ec2#ExportTaskIdStringList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "ExportTaskId", - "smithy.api#documentation": "

The export task IDs.

", - "smithy.api#xmlName": "exportTaskId" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" + } + }, + "LaunchTemplateIds": { + "target": "com.amazonaws.ec2#LaunchTemplateIdStringList", + "traits": { + "smithy.api#documentation": "

One or more launch template IDs.

", + "smithy.api#xmlName": "LaunchTemplateId" + } + }, + "LaunchTemplateNames": { + "target": "com.amazonaws.ec2#LaunchTemplateNameStringList", + "traits": { + "smithy.api#documentation": "

One or more launch template names.

", + "smithy.api#xmlName": "LaunchTemplateName" } }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

the filters for the export tasks.

", + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n create-time - The time the launch template was created.

    \n
  • \n
  • \n

    \n launch-template-name - The name of the launch template.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token to request the next page of results.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeLaunchTemplatesMaxResults", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining\n results, make another call with the returned NextToken value. This value\n can be between 1 and 200.

" + } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeExportTasksResult": { + "com.amazonaws.ec2#DescribeLaunchTemplatesResult": { "type": "structure", "members": { - "ExportTasks": { - "target": "com.amazonaws.ec2#ExportTaskList", + "LaunchTemplates": { + "target": "com.amazonaws.ec2#LaunchTemplateSet", "traits": { - "aws.protocols#ec2QueryName": "ExportTaskSet", - "smithy.api#documentation": "

Information about the export tasks.

", - "smithy.api#xmlName": "exportTaskSet" + "aws.protocols#ec2QueryName": "LaunchTemplates", + "smithy.api#documentation": "

Information about the launch templates.

", + "smithy.api#xmlName": "launchTemplates" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null\n when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DescribeFastLaunchImages": { + "com.amazonaws.ec2#DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeFastLaunchImagesRequest" + "target": "com.amazonaws.ec2#DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeFastLaunchImagesResult" + "target": "com.amazonaws.ec2#DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResult" }, "traits": { - "smithy.api#documentation": "

Describe details for Windows AMIs that are configured for faster launching.

", + "smithy.api#documentation": "

Describes the associations between virtual interface groups and local gateway route tables.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "FastLaunchImages", + "items": "LocalGatewayRouteTableVirtualInterfaceGroupAssociations", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeFastLaunchImagesRequest": { + "com.amazonaws.ec2#DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest": { "type": "structure", "members": { - "ImageIds": { - "target": "com.amazonaws.ec2#FastLaunchImageIdList", + "LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds": { + "target": "com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociationIdSet", "traits": { - "smithy.api#documentation": "

Details for one or more Windows AMI image IDs.

", - "smithy.api#xmlName": "ImageId" + "smithy.api#documentation": "

The IDs of the associations.

", + "smithy.api#xmlName": "LocalGatewayRouteTableVirtualInterfaceGroupAssociationId" } }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

Use the following filters to streamline results.

\n\t\t
    \n
  • \n\t\t\t\t

    \n resource-type - The resource type for pre-provisioning.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n launch-template - The launch template that is associated with the pre-provisioned Windows AMI.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n owner-id - The owner ID for the pre-provisioning resource.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n state - The current state of fast launching for the Windows AMI.

    \n\t\t\t
  • \n
", + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n local-gateway-id - The ID of a local gateway.

    \n
  • \n
  • \n

    \n local-gateway-route-table-arn - The Amazon Resource Name (ARN) of the local \n gateway route table for the virtual interface group.

    \n
  • \n
  • \n

    \n local-gateway-route-table-id - The ID of the local gateway route table.

    \n
  • \n
  • \n

    \n local-gateway-route-table-virtual-interface-group-association-id - The ID of the association.

    \n
  • \n
  • \n

    \n local-gateway-route-table-virtual-interface-group-id - The ID of the virtual interface group.

    \n
  • \n
  • \n

    \n owner-id - The ID of the Amazon Web Services account that owns the local gateway virtual \n interface group association.

    \n
  • \n
  • \n

    \n state - The state of the association.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, "MaxResults": { - "target": "com.amazonaws.ec2#DescribeFastLaunchImagesRequestMaxResults", + "target": "com.amazonaws.ec2#LocalGatewayMaxResults", "traits": { - "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining results, \n\t\t\tmake another request with the returned NextToken value. If this parameter is not specified, \n\t\t\tthen all results are returned.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } }, "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The token for the next set of results.

" + "smithy.api#documentation": "

The token for the next page of results.

" } }, "DryRun": { @@ -25896,282 +30312,163 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } - } - }, - "com.amazonaws.ec2#DescribeFastLaunchImagesRequestMaxResults": { - "type": "integer", + }, "traits": { - "smithy.api#range": { - "min": 0, - "max": 200 - } + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeFastLaunchImagesResult": { + "com.amazonaws.ec2#DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResult": { "type": "structure", "members": { - "FastLaunchImages": { - "target": "com.amazonaws.ec2#DescribeFastLaunchImagesSuccessSet", + "LocalGatewayRouteTableVirtualInterfaceGroupAssociations": { + "target": "com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociationSet", "traits": { - "aws.protocols#ec2QueryName": "FastLaunchImageSet", - "smithy.api#documentation": "

A collection of details about the fast-launch enabled Windows images that meet \n\t\t\tthe requested criteria.

", - "smithy.api#xmlName": "fastLaunchImageSet" + "aws.protocols#ec2QueryName": "LocalGatewayRouteTableVirtualInterfaceGroupAssociationSet", + "smithy.api#documentation": "

Information about the associations.

", + "smithy.api#xmlName": "localGatewayRouteTableVirtualInterfaceGroupAssociationSet" } }, "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use for the next set of results. This value is null when there are \n\t\t\tno more results to return.

", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DescribeFastLaunchImagesSuccessItem": { + "com.amazonaws.ec2#DescribeLocalGatewayRouteTableVpcAssociations": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeLocalGatewayRouteTableVpcAssociationsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeLocalGatewayRouteTableVpcAssociationsResult" + }, + "traits": { + "smithy.api#documentation": "

Describes the specified associations between VPCs and local gateway route tables.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "LocalGatewayRouteTableVpcAssociations", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#DescribeLocalGatewayRouteTableVpcAssociationsRequest": { "type": "structure", "members": { - "ImageId": { - "target": "com.amazonaws.ec2#ImageId", - "traits": { - "aws.protocols#ec2QueryName": "ImageId", - "smithy.api#documentation": "

The image ID that identifies the fast-launch enabled Windows image.

", - "smithy.api#xmlName": "imageId" - } - }, - "ResourceType": { - "target": "com.amazonaws.ec2#FastLaunchResourceType", - "traits": { - "aws.protocols#ec2QueryName": "ResourceType", - "smithy.api#documentation": "

The resource type that is used for pre-provisioning the Windows AMI. Supported values \n\t\t\tinclude: snapshot.

", - "smithy.api#xmlName": "resourceType" - } - }, - "SnapshotConfiguration": { - "target": "com.amazonaws.ec2#FastLaunchSnapshotConfigurationResponse", + "LocalGatewayRouteTableVpcAssociationIds": { + "target": "com.amazonaws.ec2#LocalGatewayRouteTableVpcAssociationIdSet", "traits": { - "aws.protocols#ec2QueryName": "SnapshotConfiguration", - "smithy.api#documentation": "

A group of parameters that are used for pre-provisioning the associated \n\t\t\tWindows AMI using snapshots.

", - "smithy.api#xmlName": "snapshotConfiguration" + "smithy.api#documentation": "

The IDs of the associations.

", + "smithy.api#xmlName": "LocalGatewayRouteTableVpcAssociationId" } }, - "LaunchTemplate": { - "target": "com.amazonaws.ec2#FastLaunchLaunchTemplateSpecificationResponse", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "aws.protocols#ec2QueryName": "LaunchTemplate", - "smithy.api#documentation": "

The launch template that the fast-launch enabled Windows AMI uses when it launches \n\t\t\tWindows instances from pre-provisioned snapshots.

", - "smithy.api#xmlName": "launchTemplate" + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n local-gateway-id - The ID of a local gateway.

    \n
  • \n
  • \n

    \n local-gateway-route-table-arn - The Amazon Resource Name (ARN) of the local \n gateway route table for the association.

    \n
  • \n
  • \n

    \n local-gateway-route-table-id - The ID of the local gateway route table.

    \n
  • \n
  • \n

    \n local-gateway-route-table-vpc-association-id - The ID of the association.

    \n
  • \n
  • \n

    \n owner-id - The ID of the Amazon Web Services account that owns the local gateway route table\n for the association.

    \n
  • \n
  • \n

    \n state - The state of the association.

    \n
  • \n
  • \n

    \n vpc-id - The ID of the VPC.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, - "MaxParallelLaunches": { - "target": "com.amazonaws.ec2#Integer", + "MaxResults": { + "target": "com.amazonaws.ec2#LocalGatewayMaxResults", "traits": { - "aws.protocols#ec2QueryName": "MaxParallelLaunches", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of parallel instances that are launched for creating resources.

", - "smithy.api#xmlName": "maxParallelLaunches" - } - }, - "OwnerId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The owner ID for the fast-launch enabled Windows AMI.

", - "smithy.api#xmlName": "ownerId" - } - }, - "State": { - "target": "com.amazonaws.ec2#FastLaunchStateCode", - "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The current state of faster launching for the specified Windows AMI.

", - "smithy.api#xmlName": "state" + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } }, - "StateTransitionReason": { + "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "StateTransitionReason", - "smithy.api#documentation": "

The reason that faster launching for the Windows AMI changed to the current state.

", - "smithy.api#xmlName": "stateTransitionReason" + "smithy.api#documentation": "

The token for the next page of results.

" } }, - "StateTransitionTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "StateTransitionTime", - "smithy.api#documentation": "

The time that faster launching for the Windows AMI changed to the current state.

", - "smithy.api#xmlName": "stateTransitionTime" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Describe details about a fast-launch enabled Windows image that meets the requested \n\t\t\tcriteria. Criteria are defined by the DescribeFastLaunchImages action filters.

" - } - }, - "com.amazonaws.ec2#DescribeFastLaunchImagesSuccessSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#DescribeFastLaunchImagesSuccessItem", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeFastSnapshotRestoreSuccessItem": { + "com.amazonaws.ec2#DescribeLocalGatewayRouteTableVpcAssociationsResult": { "type": "structure", "members": { - "SnapshotId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "SnapshotId", - "smithy.api#documentation": "

The ID of the snapshot.

", - "smithy.api#xmlName": "snapshotId" - } - }, - "AvailabilityZone": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZone", - "smithy.api#documentation": "

The Availability Zone.

", - "smithy.api#xmlName": "availabilityZone" - } - }, - "State": { - "target": "com.amazonaws.ec2#FastSnapshotRestoreStateCode", - "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of fast snapshot restores.

", - "smithy.api#xmlName": "state" - } - }, - "StateTransitionReason": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "StateTransitionReason", - "smithy.api#documentation": "

The reason for the state transition. The possible values are as follows:

\n
    \n
  • \n

    \n Client.UserInitiated - The state successfully transitioned to enabling or\n disabling.

    \n
  • \n
  • \n

    \n Client.UserInitiated - Lifecycle state transition - The state successfully transitioned \n to optimizing, enabled, or disabled.

    \n
  • \n
", - "smithy.api#xmlName": "stateTransitionReason" - } - }, - "OwnerId": { - "target": "com.amazonaws.ec2#String", + "LocalGatewayRouteTableVpcAssociations": { + "target": "com.amazonaws.ec2#LocalGatewayRouteTableVpcAssociationSet", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that enabled fast snapshot restores on the snapshot.

", - "smithy.api#xmlName": "ownerId" + "aws.protocols#ec2QueryName": "LocalGatewayRouteTableVpcAssociationSet", + "smithy.api#documentation": "

Information about the associations.

", + "smithy.api#xmlName": "localGatewayRouteTableVpcAssociationSet" } }, - "OwnerAlias": { + "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "OwnerAlias", - "smithy.api#documentation": "

The Amazon Web Services owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

", - "smithy.api#xmlName": "ownerAlias" - } - }, - "EnablingTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", - "traits": { - "aws.protocols#ec2QueryName": "EnablingTime", - "smithy.api#documentation": "

The time at which fast snapshot restores entered the enabling state.

", - "smithy.api#xmlName": "enablingTime" - } - }, - "OptimizingTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", - "traits": { - "aws.protocols#ec2QueryName": "OptimizingTime", - "smithy.api#documentation": "

The time at which fast snapshot restores entered the optimizing state.

", - "smithy.api#xmlName": "optimizingTime" - } - }, - "EnabledTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", - "traits": { - "aws.protocols#ec2QueryName": "EnabledTime", - "smithy.api#documentation": "

The time at which fast snapshot restores entered the enabled state.

", - "smithy.api#xmlName": "enabledTime" - } - }, - "DisablingTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", - "traits": { - "aws.protocols#ec2QueryName": "DisablingTime", - "smithy.api#documentation": "

The time at which fast snapshot restores entered the disabling state.

", - "smithy.api#xmlName": "disablingTime" - } - }, - "DisabledTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", - "traits": { - "aws.protocols#ec2QueryName": "DisabledTime", - "smithy.api#documentation": "

The time at which fast snapshot restores entered the disabled state.

", - "smithy.api#xmlName": "disabledTime" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } - }, - "traits": { - "smithy.api#documentation": "

Describes fast snapshot restores for a snapshot.

" - } - }, - "com.amazonaws.ec2#DescribeFastSnapshotRestoreSuccessSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#DescribeFastSnapshotRestoreSuccessItem", - "traits": { - "smithy.api#xmlName": "item" - } } }, - "com.amazonaws.ec2#DescribeFastSnapshotRestores": { + "com.amazonaws.ec2#DescribeLocalGatewayRouteTables": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeFastSnapshotRestoresRequest" + "target": "com.amazonaws.ec2#DescribeLocalGatewayRouteTablesRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeFastSnapshotRestoresResult" + "target": "com.amazonaws.ec2#DescribeLocalGatewayRouteTablesResult" }, "traits": { - "smithy.api#documentation": "

Describes the state of fast snapshot restores for your snapshots.

", + "smithy.api#documentation": "

Describes one or more local gateway route tables. By default, all local gateway route tables are described.\n Alternatively, you can filter the results.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "FastSnapshotRestores", + "items": "LocalGatewayRouteTables", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeFastSnapshotRestoresMaxResults": { - "type": "integer", - "traits": { - "smithy.api#range": { - "min": 0, - "max": 200 - } - } - }, - "com.amazonaws.ec2#DescribeFastSnapshotRestoresRequest": { + "com.amazonaws.ec2#DescribeLocalGatewayRouteTablesRequest": { "type": "structure", "members": { + "LocalGatewayRouteTableIds": { + "target": "com.amazonaws.ec2#LocalGatewayRouteTableIdSet", + "traits": { + "smithy.api#documentation": "

The IDs of the local gateway route tables.

", + "smithy.api#xmlName": "LocalGatewayRouteTableId" + } + }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The filters. The possible values are:

\n
    \n
  • \n

    \n availability-zone: The Availability Zone of the snapshot.

    \n
  • \n
  • \n

    \n owner-id: The ID of the Amazon Web Services account that enabled fast snapshot restore on the snapshot.

    \n
  • \n
  • \n

    \n snapshot-id: The ID of the snapshot.

    \n
  • \n
  • \n

    \n state: The state of fast snapshot restores for the snapshot \n (enabling | \n optimizing | \n enabled | \n disabling | \n disabled).

    \n
  • \n
", + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n local-gateway-id - The ID of a local gateway.

    \n
  • \n
  • \n

    \n local-gateway-route-table-arn - The Amazon Resource Name (ARN) of the \n local gateway route table.

    \n
  • \n
  • \n

    \n local-gateway-route-table-id - The ID of a local gateway route table.

    \n
  • \n
  • \n

    \n outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

    \n
  • \n
  • \n

    \n owner-id - The ID of the Amazon Web Services account that owns the local gateway route table.

    \n
  • \n
  • \n

    \n state - The state of the local gateway route table.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, "MaxResults": { - "target": "com.amazonaws.ec2#DescribeFastSnapshotRestoresMaxResults", + "target": "com.amazonaws.ec2#LocalGatewayMaxResults", "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } }, "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "target": "com.amazonaws.ec2#String", "traits": { "smithy.api#documentation": "

The token for the next page of results.

" } @@ -26184,21 +30481,24 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeFastSnapshotRestoresResult": { + "com.amazonaws.ec2#DescribeLocalGatewayRouteTablesResult": { "type": "structure", "members": { - "FastSnapshotRestores": { - "target": "com.amazonaws.ec2#DescribeFastSnapshotRestoreSuccessSet", + "LocalGatewayRouteTables": { + "target": "com.amazonaws.ec2#LocalGatewayRouteTableSet", "traits": { - "aws.protocols#ec2QueryName": "FastSnapshotRestoreSet", - "smithy.api#documentation": "

Information about the state of fast snapshot restores.

", - "smithy.api#xmlName": "fastSnapshotRestoreSet" + "aws.protocols#ec2QueryName": "LocalGatewayRouteTableSet", + "smithy.api#documentation": "

Information about the local gateway route tables.

", + "smithy.api#xmlName": "localGatewayRouteTableSet" } }, "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", @@ -26207,320 +30507,274 @@ } } }, - "com.amazonaws.ec2#DescribeFleetError": { - "type": "structure", - "members": { - "LaunchTemplateAndOverrides": { - "target": "com.amazonaws.ec2#LaunchTemplateAndOverridesResponse", - "traits": { - "aws.protocols#ec2QueryName": "LaunchTemplateAndOverrides", - "smithy.api#documentation": "

The launch templates and overrides that were used for launching the instances. The\n values that you specify in the Overrides replace the values in the launch template.

", - "smithy.api#xmlName": "launchTemplateAndOverrides" - } - }, - "Lifecycle": { - "target": "com.amazonaws.ec2#InstanceLifecycle", - "traits": { - "aws.protocols#ec2QueryName": "Lifecycle", - "smithy.api#documentation": "

Indicates if the instance that could not be launched was a Spot Instance or On-Demand Instance.

", - "smithy.api#xmlName": "lifecycle" - } - }, - "ErrorCode": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "ErrorCode", - "smithy.api#documentation": "

The error code that indicates why the instance could not be launched. For more\n information about error codes, see Error codes.

", - "smithy.api#xmlName": "errorCode" - } - }, - "ErrorMessage": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "ErrorMessage", - "smithy.api#documentation": "

The error message that describes why the instance could not be launched. For more\n information about error messages, see Error codes.

", - "smithy.api#xmlName": "errorMessage" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the instances that could not be launched by the fleet.

" - } - }, - "com.amazonaws.ec2#DescribeFleetHistory": { + "com.amazonaws.ec2#DescribeLocalGatewayVirtualInterfaceGroups": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeFleetHistoryRequest" + "target": "com.amazonaws.ec2#DescribeLocalGatewayVirtualInterfaceGroupsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeFleetHistoryResult" + "target": "com.amazonaws.ec2#DescribeLocalGatewayVirtualInterfaceGroupsResult" }, "traits": { - "smithy.api#documentation": "

Describes the events for the specified EC2 Fleet during the specified time.

\n

EC2 Fleet events are delayed by up to 30 seconds before they can be described. This ensures\n that you can query by the last evaluated time and not miss a recorded event. EC2 Fleet events\n are available for 48 hours.

\n

For more information, see Monitor fleet events using Amazon EventBridge in the\n Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Describes the specified local gateway virtual interface groups.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "LocalGatewayVirtualInterfaceGroups", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DescribeFleetHistoryRequest": { + "com.amazonaws.ec2#DescribeLocalGatewayVirtualInterfaceGroupsRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "LocalGatewayVirtualInterfaceGroupIds": { + "target": "com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroupIdSet", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The IDs of the virtual interface groups.

", + "smithy.api#xmlName": "LocalGatewayVirtualInterfaceGroupId" } }, - "EventType": { - "target": "com.amazonaws.ec2#FleetEventType", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The type of events to describe. By default, all events are described.

" + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n local-gateway-id - The ID of a local gateway.

    \n
  • \n
  • \n

    \n local-gateway-virtual-interface-group-id - The ID of the virtual interface group.

    \n
  • \n
  • \n

    \n local-gateway-virtual-interface-id - The ID of the virtual interface.

    \n
  • \n
  • \n

    \n owner-id - The ID of the Amazon Web Services account that owns the local gateway virtual interface group.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, "MaxResults": { - "target": "com.amazonaws.ec2#Integer", + "target": "com.amazonaws.ec2#LocalGatewayMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in a single call. Specify a value between 1 and\n 1000. The default value is 1000. To retrieve the remaining results, make another call with\n the returned NextToken value.

" + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The token for the next set of results.

" - } - }, - "FleetId": { - "target": "com.amazonaws.ec2#FleetId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the EC2 Fleet.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The token for the next page of results.

" } }, - "StartTime": { - "target": "com.amazonaws.ec2#DateTime", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The start date and time for the events, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).

", - "smithy.api#required": {} + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeFleetHistoryResult": { + "com.amazonaws.ec2#DescribeLocalGatewayVirtualInterfaceGroupsResult": { "type": "structure", "members": { - "HistoryRecords": { - "target": "com.amazonaws.ec2#HistoryRecordSet", - "traits": { - "aws.protocols#ec2QueryName": "HistoryRecordSet", - "smithy.api#documentation": "

Information about the events in the history of the EC2 Fleet.

", - "smithy.api#xmlName": "historyRecordSet" - } - }, - "LastEvaluatedTime": { - "target": "com.amazonaws.ec2#DateTime", - "traits": { - "aws.protocols#ec2QueryName": "LastEvaluatedTime", - "smithy.api#documentation": "

The last date and time for the events, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).\n All records up to this time were retrieved.

\n

If nextToken indicates that there are more results, this value is not\n present.

", - "smithy.api#xmlName": "lastEvaluatedTime" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token for the next set of results.

", - "smithy.api#xmlName": "nextToken" - } - }, - "FleetId": { - "target": "com.amazonaws.ec2#FleetId", + "LocalGatewayVirtualInterfaceGroups": { + "target": "com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroupSet", "traits": { - "aws.protocols#ec2QueryName": "FleetId", - "smithy.api#documentation": "

The ID of the EC Fleet.

", - "smithy.api#xmlName": "fleetId" + "aws.protocols#ec2QueryName": "LocalGatewayVirtualInterfaceGroupSet", + "smithy.api#documentation": "

The virtual interface groups.

", + "smithy.api#xmlName": "localGatewayVirtualInterfaceGroupSet" } }, - "StartTime": { - "target": "com.amazonaws.ec2#DateTime", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "StartTime", - "smithy.api#documentation": "

The start date and time for the events, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).

", - "smithy.api#xmlName": "startTime" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DescribeFleetInstances": { + "com.amazonaws.ec2#DescribeLocalGatewayVirtualInterfaces": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeFleetInstancesRequest" + "target": "com.amazonaws.ec2#DescribeLocalGatewayVirtualInterfacesRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeFleetInstancesResult" + "target": "com.amazonaws.ec2#DescribeLocalGatewayVirtualInterfacesResult" }, "traits": { - "smithy.api#documentation": "

Describes the running instances for the specified EC2 Fleet.

\n

For more information, see Monitor your EC2 Fleet in the Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Describes the specified local gateway virtual interfaces.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "LocalGatewayVirtualInterfaces", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DescribeFleetInstancesRequest": { + "com.amazonaws.ec2#DescribeLocalGatewayVirtualInterfacesRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "LocalGatewayVirtualInterfaceIds": { + "target": "com.amazonaws.ec2#LocalGatewayVirtualInterfaceIdSet", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The IDs of the virtual interfaces.

", + "smithy.api#xmlName": "LocalGatewayVirtualInterfaceId" + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n local-address - The local address.

    \n
  • \n
  • \n

    \n local-bgp-asn - The Border Gateway Protocol (BGP) Autonomous System Number (ASN) \n of the local gateway.

    \n
  • \n
  • \n

    \n local-gateway-id - The ID of the local gateway.

    \n
  • \n
  • \n

    \n local-gateway-virtual-interface-id - The ID of the virtual interface.

    \n
  • \n
  • \n

    \n owner-id - The ID of the Amazon Web Services account that owns the local gateway virtual interface.

    \n
  • \n
  • \n

    \n peer-address - The peer address.

    \n
  • \n
  • \n

    \n peer-bgp-asn - The peer BGP ASN.

    \n
  • \n
  • \n

    \n vlan - The ID of the VLAN.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, "MaxResults": { - "target": "com.amazonaws.ec2#Integer", + "target": "com.amazonaws.ec2#LocalGatewayMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in a single call. Specify a value between 1 and\n 1000. The default value is 1000. To retrieve the remaining results, make another call with\n the returned NextToken value.

" + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The token for the next set of results.

" + "smithy.api#documentation": "

The token for the next page of results.

" } }, - "FleetId": { - "target": "com.amazonaws.ec2#FleetId", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the EC2 Fleet.

", - "smithy.api#required": {} - } - }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", - "traits": { - "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n instance-type - The instance type.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeFleetInstancesResult": { + "com.amazonaws.ec2#DescribeLocalGatewayVirtualInterfacesResult": { "type": "structure", "members": { - "ActiveInstances": { - "target": "com.amazonaws.ec2#ActiveInstanceSet", + "LocalGatewayVirtualInterfaces": { + "target": "com.amazonaws.ec2#LocalGatewayVirtualInterfaceSet", "traits": { - "aws.protocols#ec2QueryName": "ActiveInstanceSet", - "smithy.api#documentation": "

The running instances. This list is refreshed periodically and might be out of\n date.

", - "smithy.api#xmlName": "activeInstanceSet" + "aws.protocols#ec2QueryName": "LocalGatewayVirtualInterfaceSet", + "smithy.api#documentation": "

Information about the virtual interfaces.

", + "smithy.api#xmlName": "localGatewayVirtualInterfaceSet" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token for the next set of results.

", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } - }, - "FleetId": { - "target": "com.amazonaws.ec2#FleetId", - "traits": { - "aws.protocols#ec2QueryName": "FleetId", - "smithy.api#documentation": "

The ID of the EC2 Fleet.

", - "smithy.api#xmlName": "fleetId" - } } } }, - "com.amazonaws.ec2#DescribeFleets": { + "com.amazonaws.ec2#DescribeLocalGateways": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeFleetsRequest" + "target": "com.amazonaws.ec2#DescribeLocalGatewaysRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeFleetsResult" + "target": "com.amazonaws.ec2#DescribeLocalGatewaysResult" }, "traits": { - "smithy.api#documentation": "

Describes the specified EC2 Fleets or all of your EC2 Fleets.

\n

For more information, see Monitor your EC2 Fleet in the Amazon EC2 User Guide.

", + "smithy.api#documentation": "

Describes one or more local gateways. By default, all local gateways are described. \n Alternatively, you can filter the results.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "Fleets", + "items": "LocalGateways", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeFleetsErrorSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#DescribeFleetError", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#DescribeFleetsInstances": { + "com.amazonaws.ec2#DescribeLocalGatewaysRequest": { "type": "structure", "members": { - "LaunchTemplateAndOverrides": { - "target": "com.amazonaws.ec2#LaunchTemplateAndOverridesResponse", + "LocalGatewayIds": { + "target": "com.amazonaws.ec2#LocalGatewayIdSet", "traits": { - "aws.protocols#ec2QueryName": "LaunchTemplateAndOverrides", - "smithy.api#documentation": "

The launch templates and overrides that were used for launching the instances. The\n values that you specify in the Overrides replace the values in the launch template.

", - "smithy.api#xmlName": "launchTemplateAndOverrides" + "smithy.api#documentation": "

The IDs of the local gateways.

", + "smithy.api#xmlName": "LocalGatewayId" } }, - "Lifecycle": { - "target": "com.amazonaws.ec2#InstanceLifecycle", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "aws.protocols#ec2QueryName": "Lifecycle", - "smithy.api#documentation": "

Indicates if the instance that was launched is a Spot Instance or On-Demand Instance.

", - "smithy.api#xmlName": "lifecycle" + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n local-gateway-id - The ID of a local gateway.

    \n
  • \n
  • \n

    \n outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

    \n
  • \n
  • \n

    \n owner-id - The ID of the Amazon Web Services account that owns the local gateway.

    \n
  • \n
  • \n

    \n state - The state of the association.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, - "InstanceIds": { - "target": "com.amazonaws.ec2#InstanceIdsSet", + "MaxResults": { + "target": "com.amazonaws.ec2#LocalGatewayMaxResults", "traits": { - "aws.protocols#ec2QueryName": "InstanceIds", - "smithy.api#documentation": "

The IDs of the instances.

", - "smithy.api#xmlName": "instanceIds" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } }, - "InstanceType": { - "target": "com.amazonaws.ec2#InstanceType", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "InstanceType", - "smithy.api#documentation": "

The instance type.

", - "smithy.api#xmlName": "instanceType" + "smithy.api#documentation": "

The token for the next page of results.

" } }, - "Platform": { - "target": "com.amazonaws.ec2#PlatformValues", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Platform", - "smithy.api#documentation": "

The value is Windows for Windows instances. Otherwise, the value is\n blank.

", - "smithy.api#xmlName": "platform" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Describes the instances that were launched by the fleet.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeFleetsInstancesSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#DescribeFleetsInstances", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#DescribeLocalGatewaysResult": { + "type": "structure", + "members": { + "LocalGateways": { + "target": "com.amazonaws.ec2#LocalGatewaySet", + "traits": { + "aws.protocols#ec2QueryName": "LocalGatewaySet", + "smithy.api#documentation": "

Information about the local gateways.

", + "smithy.api#xmlName": "localGatewaySet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" + } } } }, - "com.amazonaws.ec2#DescribeFleetsRequest": { + "com.amazonaws.ec2#DescribeManagedPrefixLists": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeManagedPrefixListsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeManagedPrefixListsResult" + }, + "traits": { + "smithy.api#documentation": "

Describes your managed prefix lists and any Amazon Web Services-managed prefix lists.

\n

To view the entries for your prefix list, use GetManagedPrefixListEntries.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "PrefixLists", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#DescribeManagedPrefixListsRequest": { "type": "structure", "members": { "DryRun": { @@ -26531,124 +30785,149 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n owner-id - The ID of the prefix list owner.

    \n
  • \n
  • \n

    \n prefix-list-id - The ID of the prefix list.

    \n
  • \n
  • \n

    \n prefix-list-name - The name of the prefix list.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" + } + }, "MaxResults": { - "target": "com.amazonaws.ec2#Integer", + "target": "com.amazonaws.ec2#PrefixListMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in a single call. Specify a value between 1 and\n 1000. The default value is 1000. To retrieve the remaining results, make another call with\n the returned NextToken value.

" + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } }, "NextToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The token for the next set of results.

" - } - }, - "FleetIds": { - "target": "com.amazonaws.ec2#FleetIdSet", + "target": "com.amazonaws.ec2#NextToken", "traits": { - "smithy.api#documentation": "

The IDs of the EC2 Fleets.

\n \n

If a fleet is of type instant, you must specify the fleet ID, otherwise\n it does not appear in the response.

\n
", - "smithy.api#xmlName": "FleetId" + "smithy.api#documentation": "

The token for the next page of results.

" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "PrefixListIds": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n activity-status - The progress of the EC2 Fleet ( error |\n pending-fulfillment | pending-termination |\n fulfilled).

    \n
  • \n
  • \n

    \n excess-capacity-termination-policy - Indicates whether to terminate\n running instances if the target capacity is decreased below the current EC2 Fleet size\n (true | false).

    \n
  • \n
  • \n

    \n fleet-state - The state of the EC2 Fleet (submitted |\n active | deleted | failed |\n deleted-running | deleted-terminating |\n modifying).

    \n
  • \n
  • \n

    \n replace-unhealthy-instances - Indicates whether EC2 Fleet should replace\n unhealthy instances (true | false).

    \n
  • \n
  • \n

    \n type - The type of request (instant |\n request | maintain).

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "smithy.api#documentation": "

One or more prefix list IDs.

", + "smithy.api#xmlName": "PrefixListId" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeFleetsResult": { + "com.amazonaws.ec2#DescribeManagedPrefixListsResult": { "type": "structure", "members": { "NextToken": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#NextToken", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token for the next set of results.

", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } }, - "Fleets": { - "target": "com.amazonaws.ec2#FleetSet", + "PrefixLists": { + "target": "com.amazonaws.ec2#ManagedPrefixListSet", "traits": { - "aws.protocols#ec2QueryName": "FleetSet", - "smithy.api#documentation": "

Information about the EC2 Fleets.

", - "smithy.api#xmlName": "fleetSet" + "aws.protocols#ec2QueryName": "PrefixListSet", + "smithy.api#documentation": "

Information about the prefix lists.

", + "smithy.api#xmlName": "prefixListSet" } } } }, - "com.amazonaws.ec2#DescribeFlowLogs": { + "com.amazonaws.ec2#DescribeMovingAddresses": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeFlowLogsRequest" + "target": "com.amazonaws.ec2#DescribeMovingAddressesRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeFlowLogsResult" + "target": "com.amazonaws.ec2#DescribeMovingAddressesResult" }, "traits": { - "smithy.api#documentation": "

Describes one or more flow logs.

\n

To view the published flow log records, you must view the log destination. For example, \n the CloudWatch Logs log group, the Amazon S3 bucket, or the Kinesis Data Firehose delivery stream.

", + "smithy.api#documentation": "

Describes your Elastic IP addresses that are being moved to the EC2-VPC platform, or that are being restored to the EC2-Classic platform. This request does not return information about any other Elastic IP addresses in your account.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "FlowLogs", + "items": "MovingAddressStatuses", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeFlowLogsRequest": { + "com.amazonaws.ec2#DescribeMovingAddressesMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#DescribeMovingAddressesRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - }, - "Filter": { + "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n deliver-log-status - The status of the logs delivery (SUCCESS |\n FAILED).

    \n
  • \n
  • \n

    \n log-destination-type - The type of destination for the flow log\n data (cloud-watch-logs | s3 |\n kinesis-data-firehose).

    \n
  • \n
  • \n

    \n flow-log-id - The ID of the flow log.

    \n
  • \n
  • \n

    \n log-group-name - The name of the log group.

    \n
  • \n
  • \n

    \n resource-id - The ID of the VPC, subnet, or network interface.

    \n
  • \n
  • \n

    \n traffic-type - The type of traffic (ACCEPT |\n REJECT | ALL).

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
" + "aws.protocols#ec2QueryName": "Filter", + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n moving-status - The status of the Elastic IP address\n (MovingToVpc | RestoringToClassic).

    \n
  • \n
", + "smithy.api#xmlName": "filter" } }, - "FlowLogIds": { - "target": "com.amazonaws.ec2#FlowLogIdList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

One or more flow log IDs.

\n

Constraint: Maximum of 1000 flow log IDs.

", - "smithy.api#xmlName": "FlowLogId" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, "MaxResults": { - "target": "com.amazonaws.ec2#Integer", + "target": "com.amazonaws.ec2#DescribeMovingAddressesMaxResults", "traits": { + "aws.protocols#ec2QueryName": "MaxResults", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining\n results of the initial request can be seen by sending another request with the returned\n NextToken value. This value can be between 5 and 1000; if\n MaxResults is given a value outside of this range, an error is returned.

\n

Default: If no value is provided, the default is 1000.

", + "smithy.api#xmlName": "maxResults" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token for the next page of results.

", + "smithy.api#xmlName": "nextToken" + } + }, + "PublicIps": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "aws.protocols#ec2QueryName": "PublicIp", + "smithy.api#documentation": "

One or more Elastic IP addresses.

", + "smithy.api#xmlName": "publicIp" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeFlowLogsResult": { + "com.amazonaws.ec2#DescribeMovingAddressesResult": { "type": "structure", "members": { - "FlowLogs": { - "target": "com.amazonaws.ec2#FlowLogSet", + "MovingAddressStatuses": { + "target": "com.amazonaws.ec2#MovingAddressStatusSet", "traits": { - "aws.protocols#ec2QueryName": "FlowLogSet", - "smithy.api#documentation": "

Information about the flow logs.

", - "smithy.api#xmlName": "flowLogSet" + "aws.protocols#ec2QueryName": "MovingAddressStatusSet", + "smithy.api#documentation": "

The status for each Elastic IP address.

", + "smithy.api#xmlName": "movingAddressStatusSet" } }, "NextToken": { @@ -26661,19 +30940,112 @@ } } }, - "com.amazonaws.ec2#DescribeFpgaImageAttribute": { + "com.amazonaws.ec2#DescribeNatGateways": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeFpgaImageAttributeRequest" + "target": "com.amazonaws.ec2#DescribeNatGatewaysRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeFpgaImageAttributeResult" + "target": "com.amazonaws.ec2#DescribeNatGatewaysResult" }, "traits": { - "smithy.api#documentation": "

Describes the specified attribute of the specified Amazon FPGA Image (AFI).

" + "smithy.api#documentation": "

Describes one or more of your NAT gateways.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "NatGateways", + "pageSize": "MaxResults" + }, + "smithy.api#suppress": [ + "WaitableTraitInvalidErrorType" + ], + "smithy.waiters#waitable": { + "NatGatewayAvailable": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "NatGateways[].State", + "expected": "available", + "comparator": "allStringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "NatGateways[].State", + "expected": "failed", + "comparator": "anyStringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "NatGateways[].State", + "expected": "deleting", + "comparator": "anyStringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "NatGateways[].State", + "expected": "deleted", + "comparator": "anyStringEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "errorType": "NatGatewayNotFound" + } + } + ], + "minDelay": 15 + }, + "NatGatewayDeleted": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "NatGateways[].State", + "expected": "deleted", + "comparator": "allStringEquals" + } + } + }, + { + "state": "success", + "matcher": { + "errorType": "NatGatewayNotFound" + } + } + ], + "minDelay": 15 + } + } } }, - "com.amazonaws.ec2#DescribeFpgaImageAttributeRequest": { + "com.amazonaws.ec2#DescribeNatGatewaysMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#DescribeNatGatewaysRequest": { "type": "structure", "members": { "DryRun": { @@ -26684,56 +31056,78 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "FpgaImageId": { - "target": "com.amazonaws.ec2#FpgaImageId", + "Filter": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the AFI.

", - "smithy.api#required": {} + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n nat-gateway-id - The ID of the NAT gateway.

    \n
  • \n
  • \n

    \n state - The state of the NAT gateway (pending |\n failed | available | deleting | deleted).

    \n
  • \n
  • \n

    \n subnet-id - The ID of the subnet in which the NAT gateway resides.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n vpc-id - The ID of the VPC in which the NAT gateway resides.

    \n
  • \n
" } }, - "Attribute": { - "target": "com.amazonaws.ec2#FpgaImageAttributeName", + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeNatGatewaysMaxResults", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The AFI attribute.

", - "smithy.api#required": {} + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + } + }, + "NatGatewayIds": { + "target": "com.amazonaws.ec2#NatGatewayIdStringList", + "traits": { + "smithy.api#documentation": "

One or more NAT gateway IDs.

", + "smithy.api#xmlName": "NatGatewayId" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeFpgaImageAttributeResult": { + "com.amazonaws.ec2#DescribeNatGatewaysResult": { "type": "structure", "members": { - "FpgaImageAttribute": { - "target": "com.amazonaws.ec2#FpgaImageAttribute", + "NatGateways": { + "target": "com.amazonaws.ec2#NatGatewayList", "traits": { - "aws.protocols#ec2QueryName": "FpgaImageAttribute", - "smithy.api#documentation": "

Information about the attribute.

", - "smithy.api#xmlName": "fpgaImageAttribute" + "aws.protocols#ec2QueryName": "NatGatewaySet", + "smithy.api#documentation": "

Information about the NAT gateways.

", + "smithy.api#xmlName": "natGatewaySet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DescribeFpgaImages": { + "com.amazonaws.ec2#DescribeNetworkAcls": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeFpgaImagesRequest" + "target": "com.amazonaws.ec2#DescribeNetworkAclsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeFpgaImagesResult" + "target": "com.amazonaws.ec2#DescribeNetworkAclsResult" }, "traits": { - "smithy.api#documentation": "

Describes the Amazon FPGA Images (AFIs) available to you. These include public AFIs,\n\t\t\tprivate AFIs that you own, and AFIs owned by other Amazon Web Services accounts for which you have load\n\t\t\tpermissions.

", + "smithy.api#documentation": "

Describes one or more of your network ACLs.

\n

For more information, see Network ACLs in the\n\t\t\t\tAmazon Virtual Private Cloud User Guide.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "FpgaImages", + "items": "NetworkAcls", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeFpgaImagesMaxResults": { + "com.amazonaws.ec2#DescribeNetworkAclsMaxResults": { "type": "integer", "traits": { "smithy.api#default": 0, @@ -26743,67 +31137,65 @@ } } }, - "com.amazonaws.ec2#DescribeFpgaImagesRequest": { + "com.amazonaws.ec2#DescribeNetworkAclsRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - }, - "FpgaImageIds": { - "target": "com.amazonaws.ec2#FpgaImageIdList", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The AFI IDs.

", - "smithy.api#xmlName": "FpgaImageId" + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n association.association-id - The ID of an association ID for the ACL.

    \n
  • \n
  • \n

    \n association.network-acl-id - The ID of the network ACL involved in the association.

    \n
  • \n
  • \n

    \n association.subnet-id - The ID of the subnet involved in the association.

    \n
  • \n
  • \n

    \n default - Indicates whether the ACL is the default network ACL for the VPC.

    \n
  • \n
  • \n

    \n entry.cidr - The IPv4 CIDR range specified in the entry.

    \n
  • \n
  • \n

    \n entry.icmp.code - The ICMP code specified in the entry, if any.

    \n
  • \n
  • \n

    \n entry.icmp.type - The ICMP type specified in the entry, if any.

    \n
  • \n
  • \n

    \n entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.

    \n
  • \n
  • \n

    \n entry.port-range.from - The start of the port range specified in the entry.

    \n
  • \n
  • \n

    \n entry.port-range.to - The end of the port range specified in the entry.

    \n
  • \n
  • \n

    \n entry.protocol - The protocol specified in the entry (tcp | udp | icmp or a protocol number).

    \n
  • \n
  • \n

    \n entry.rule-action - Allows or denies the matching traffic (allow | deny).

    \n
  • \n
  • \n

    \n entry.egress - A Boolean that indicates the type of rule. Specify true \n\t\t for egress rules, or false for ingress rules.

    \n
  • \n
  • \n

    \n entry.rule-number - The number of an entry (in other words, rule) in\n the set of ACL entries.

    \n
  • \n
  • \n

    \n network-acl-id - The ID of the network ACL.

    \n
  • \n
  • \n

    \n owner-id - The ID of the Amazon Web Services account that owns the network ACL.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n vpc-id - The ID of the VPC for the network ACL.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, - "Owners": { - "target": "com.amazonaws.ec2#OwnerStringList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

Filters the AFI by owner. Specify an Amazon Web Services account ID, self \n\t\t\t(owner is the sender of the request), or an Amazon Web Services owner alias (valid values are \n\t\t\tamazon | aws-marketplace).

", - "smithy.api#xmlName": "Owner" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "NetworkAclIds": { + "target": "com.amazonaws.ec2#NetworkAclIdStringList", "traits": { - "smithy.api#documentation": "

The filters.

\n\t\t
    \n
  • \n

    \n create-time - The creation time of the AFI.

    \n
  • \n
  • \n

    \n fpga-image-id - The FPGA image identifier (AFI ID).

    \n
  • \n
  • \n

    \n fpga-image-global-id - The global FPGA image identifier (AGFI ID).

    \n
  • \n
  • \n

    \n name - The name of the AFI.

    \n
  • \n
  • \n

    \n owner-id - The Amazon Web Services account ID of the AFI owner.

    \n
  • \n
  • \n

    \n product-code - The product code.

    \n
  • \n
  • \n

    \n shell-version - The version of the Amazon Web Services Shell that was used to create the bitstream.

    \n
  • \n
  • \n

    \n state - The state of the AFI (pending | failed | available | unavailable).

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n update-time - The time of the most recent update.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "smithy.api#documentation": "

One or more network ACL IDs.

\n

Default: Describes all your network ACLs.

", + "smithy.api#xmlName": "NetworkAclId" } }, "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The token to retrieve the next page of results.

" + "smithy.api#documentation": "

The token for the next page of results.

" } }, "MaxResults": { - "target": "com.amazonaws.ec2#DescribeFpgaImagesMaxResults", + "target": "com.amazonaws.ec2#DescribeNetworkAclsMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in a single call.

" + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeFpgaImagesResult": { + "com.amazonaws.ec2#DescribeNetworkAclsResult": { "type": "structure", "members": { - "FpgaImages": { - "target": "com.amazonaws.ec2#FpgaImageList", + "NetworkAcls": { + "target": "com.amazonaws.ec2#NetworkAclList", "traits": { - "aws.protocols#ec2QueryName": "FpgaImageSet", - "smithy.api#documentation": "

Information about the FPGA images.

", - "smithy.api#xmlName": "fpgaImageSet" + "aws.protocols#ec2QueryName": "NetworkAclSet", + "smithy.api#documentation": "

Information about one or more network ACLs.

", + "smithy.api#xmlName": "networkAclSet" } }, "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", @@ -26812,74 +31204,97 @@ } } }, - "com.amazonaws.ec2#DescribeHostReservationOfferings": { + "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopeAnalyses": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeHostReservationOfferingsRequest" + "target": "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopeAnalysesRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeHostReservationOfferingsResult" + "target": "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopeAnalysesResult" }, "traits": { - "smithy.api#documentation": "

Describes the Dedicated Host reservations that are available to purchase.

\n

The results describe all of the Dedicated Host reservation offerings, including\n offerings that might not match the instance family and Region of your Dedicated Hosts.\n When purchasing an offering, ensure that the instance family and Region of the offering\n matches that of the Dedicated Hosts with which it is to be associated. For more\n information about supported instance types, see Dedicated Hosts\n in the Amazon EC2 User Guide.

", + "smithy.api#documentation": "

Describes the specified Network Access Scope analyses.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "OfferingSet", + "items": "NetworkInsightsAccessScopeAnalyses", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeHostReservationOfferingsRequest": { + "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopeAnalysesRequest": { "type": "structure", "members": { - "Filter": { - "target": "com.amazonaws.ec2#FilterList", + "NetworkInsightsAccessScopeAnalysisIds": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisIdList", "traits": { - "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n instance-family - The instance family of the offering (for example,\n m4).

    \n
  • \n
  • \n

    \n payment-option - The payment option (NoUpfront |\n PartialUpfront | AllUpfront).

    \n
  • \n
" + "smithy.api#documentation": "

The IDs of the Network Access Scope analyses.

", + "smithy.api#xmlName": "NetworkInsightsAccessScopeAnalysisId" } }, - "MaxDuration": { - "target": "com.amazonaws.ec2#Integer", + "NetworkInsightsAccessScopeId": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeId", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

This is the maximum duration of the reservation to purchase, specified in seconds.\n Reservations are available in one-year and three-year terms. The number of seconds\n specified must be the number of seconds in a year (365x24x60x60) times one of the\n supported durations (1 or 3). For example, specify 94608000 for three years.

" + "smithy.api#documentation": "

The ID of the Network Access Scope.

" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#DescribeHostReservationsMaxResults", + "AnalysisStartTimeBegin": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

" + "smithy.api#documentation": "

Filters the results based on the start time. The analysis must have started on or after this time.

" } }, - "MinDuration": { - "target": "com.amazonaws.ec2#Integer", + "AnalysisStartTimeEnd": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "smithy.api#documentation": "

Filters the results based on the start time. The analysis must have started on or before this time.

" + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

There are no supported filters.

", + "smithy.api#xmlName": "Filter" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#NetworkInsightsMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

This is the minimum duration of the reservation you'd like to purchase, specified in\n seconds. Reservations are available in one-year and three-year terms. The number of\n seconds specified must be the number of seconds in a year (365x24x60x60) times one of\n the supported durations (1 or 3). For example, specify 31536000 for one year.

" + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n To retrieve the remaining results, make another call with the returned nextToken value.

" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The token to use to retrieve the next page of results.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "OfferingId": { - "target": "com.amazonaws.ec2#OfferingId", + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", "traits": { - "smithy.api#documentation": "

The ID of the reservation offering.

" + "smithy.api#documentation": "

The token for the next page of results.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeHostReservationOfferingsResult": { + "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopeAnalysesResult": { "type": "structure", "members": { + "NetworkInsightsAccessScopeAnalyses": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisList", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeAnalysisSet", + "smithy.api#documentation": "

The Network Access Scope analyses.

", + "smithy.api#xmlName": "networkInsightsAccessScopeAnalysisSet" + } + }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { @@ -26887,85 +31302,80 @@ "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } - }, - "OfferingSet": { - "target": "com.amazonaws.ec2#HostOfferingSet", - "traits": { - "aws.protocols#ec2QueryName": "OfferingSet", - "smithy.api#documentation": "

Information about the offerings.

", - "smithy.api#xmlName": "offeringSet" - } } } }, - "com.amazonaws.ec2#DescribeHostReservations": { + "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopes": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeHostReservationsRequest" + "target": "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopesRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeHostReservationsResult" + "target": "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopesResult" }, "traits": { - "smithy.api#documentation": "

Describes reservations that are associated with Dedicated Hosts in your\n account.

", + "smithy.api#documentation": "

Describes the specified Network Access Scopes.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "HostReservationSet", + "items": "NetworkInsightsAccessScopes", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeHostReservationsMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 500 - } - } - }, - "com.amazonaws.ec2#DescribeHostReservationsRequest": { + "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopesRequest": { "type": "structure", "members": { - "Filter": { - "target": "com.amazonaws.ec2#FilterList", + "NetworkInsightsAccessScopeIds": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeIdList", "traits": { - "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n instance-family - The instance family (for example,\n m4).

    \n
  • \n
  • \n

    \n payment-option - The payment option (NoUpfront |\n PartialUpfront | AllUpfront).

    \n
  • \n
  • \n

    \n state - The state of the reservation (payment-pending\n | payment-failed | active |\n retired).

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
" + "smithy.api#documentation": "

The IDs of the Network Access Scopes.

", + "smithy.api#xmlName": "NetworkInsightsAccessScopeId" } }, - "HostReservationIdSet": { - "target": "com.amazonaws.ec2#HostReservationIdSet", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The host reservation IDs.

" + "smithy.api#documentation": "

There are no supported filters.

", + "smithy.api#xmlName": "Filter" } }, "MaxResults": { - "target": "com.amazonaws.ec2#Integer", + "target": "com.amazonaws.ec2#NetworkInsightsMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

" + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n To retrieve the remaining results, make another call with the returned nextToken value.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, "NextToken": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#NextToken", "traits": { - "smithy.api#documentation": "

The token to use to retrieve the next page of results.

" + "smithy.api#documentation": "

The token for the next page of results.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeHostReservationsResult": { + "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopesResult": { "type": "structure", "members": { - "HostReservationSet": { - "target": "com.amazonaws.ec2#HostReservationSet", + "NetworkInsightsAccessScopes": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeList", "traits": { - "aws.protocols#ec2QueryName": "HostReservationSet", - "smithy.api#documentation": "

Details about the reservation's configuration.

", - "smithy.api#xmlName": "hostReservationSet" + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeSet", + "smithy.api#documentation": "

The Network Access Scopes.

", + "smithy.api#xmlName": "networkInsightsAccessScopeSet" } }, "NextToken": { @@ -26978,72 +31388,95 @@ } } }, - "com.amazonaws.ec2#DescribeHosts": { + "com.amazonaws.ec2#DescribeNetworkInsightsAnalyses": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeHostsRequest" + "target": "com.amazonaws.ec2#DescribeNetworkInsightsAnalysesRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeHostsResult" + "target": "com.amazonaws.ec2#DescribeNetworkInsightsAnalysesResult" }, "traits": { - "smithy.api#documentation": "

Describes the specified Dedicated Hosts or all your Dedicated Hosts.

\n

The results describe only the Dedicated Hosts in the Region you're currently using.\n All listed instances consume capacity on your Dedicated Host. Dedicated Hosts that have\n recently been released are listed with the state released.

", + "smithy.api#documentation": "

Describes one or more of your network insights analyses.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "Hosts", + "items": "NetworkInsightsAnalyses", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeHostsRequest": { + "com.amazonaws.ec2#DescribeNetworkInsightsAnalysesRequest": { "type": "structure", "members": { - "Filter": { - "target": "com.amazonaws.ec2#FilterList", + "NetworkInsightsAnalysisIds": { + "target": "com.amazonaws.ec2#NetworkInsightsAnalysisIdList", "traits": { - "aws.protocols#ec2QueryName": "Filter", - "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n auto-placement - Whether auto-placement is enabled or disabled\n (on | off).

    \n
  • \n
  • \n

    \n availability-zone - The Availability Zone of the host.

    \n
  • \n
  • \n

    \n client-token - The idempotency token that you provided when you\n allocated the host.

    \n
  • \n
  • \n

    \n host-reservation-id - The ID of the reservation assigned to this\n host.

    \n
  • \n
  • \n

    \n instance-type - The instance type size that the Dedicated Host is\n configured to support.

    \n
  • \n
  • \n

    \n state - The allocation state of the Dedicated Host\n (available | under-assessment |\n permanent-failure | released |\n released-permanent-failure).

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
", - "smithy.api#xmlName": "filter" + "smithy.api#documentation": "

The ID of the network insights analyses. You must specify either analysis IDs or a path ID.

", + "smithy.api#xmlName": "NetworkInsightsAnalysisId" } }, - "HostIds": { - "target": "com.amazonaws.ec2#RequestHostIdList", + "NetworkInsightsPathId": { + "target": "com.amazonaws.ec2#NetworkInsightsPathId", "traits": { - "aws.protocols#ec2QueryName": "HostId", - "smithy.api#documentation": "

The IDs of the Dedicated Hosts. The IDs are used for targeted instance\n launches.

", - "smithy.api#xmlName": "hostId" + "smithy.api#documentation": "

The ID of the path. You must specify either a path ID or analysis IDs.

" + } + }, + "AnalysisStartTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "smithy.api#documentation": "

The time when the network insights analyses started.

" + } + }, + "AnalysisEndTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "smithy.api#documentation": "

The time when the network insights analyses ended.

" + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

The filters. The following are the possible values:

\n
    \n
  • \n

    path-found - A Boolean value that indicates whether a feasible path is found.

    \n
  • \n
  • \n

    status - The status of the analysis (running | succeeded | failed).

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, "MaxResults": { - "target": "com.amazonaws.ec2#Integer", + "target": "com.amazonaws.ec2#NetworkInsightsMaxResults", "traits": { - "aws.protocols#ec2QueryName": "MaxResults", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

\n

You cannot specify this parameter and the host IDs parameter in the same\n request.

", - "smithy.api#xmlName": "maxResults" + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n To retrieve the remaining results, make another call with the returned nextToken value.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, "NextToken": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#NextToken", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results.

", - "smithy.api#xmlName": "nextToken" + "smithy.api#documentation": "

The token for the next page of results.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeHostsResult": { + "com.amazonaws.ec2#DescribeNetworkInsightsAnalysesResult": { "type": "structure", "members": { - "Hosts": { - "target": "com.amazonaws.ec2#HostList", + "NetworkInsightsAnalyses": { + "target": "com.amazonaws.ec2#NetworkInsightsAnalysisList", "traits": { - "aws.protocols#ec2QueryName": "HostSet", - "smithy.api#documentation": "

Information about the Dedicated Hosts.

", - "smithy.api#xmlName": "hostSet" + "aws.protocols#ec2QueryName": "NetworkInsightsAnalysisSet", + "smithy.api#documentation": "

Information about the network insights analyses.

", + "smithy.api#xmlName": "networkInsightsAnalysisSet" } }, "NextToken": { @@ -27056,80 +31489,81 @@ } } }, - "com.amazonaws.ec2#DescribeIamInstanceProfileAssociations": { + "com.amazonaws.ec2#DescribeNetworkInsightsPaths": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeIamInstanceProfileAssociationsRequest" + "target": "com.amazonaws.ec2#DescribeNetworkInsightsPathsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeIamInstanceProfileAssociationsResult" + "target": "com.amazonaws.ec2#DescribeNetworkInsightsPathsResult" }, "traits": { - "smithy.api#documentation": "

Describes your IAM instance profile associations.

", + "smithy.api#documentation": "

Describes one or more of your paths.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "IamInstanceProfileAssociations", + "items": "NetworkInsightsPaths", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeIamInstanceProfileAssociationsMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 1000 - } - } - }, - "com.amazonaws.ec2#DescribeIamInstanceProfileAssociationsRequest": { + "com.amazonaws.ec2#DescribeNetworkInsightsPathsRequest": { "type": "structure", "members": { - "AssociationIds": { - "target": "com.amazonaws.ec2#AssociationIdList", + "NetworkInsightsPathIds": { + "target": "com.amazonaws.ec2#NetworkInsightsPathIdList", "traits": { - "smithy.api#documentation": "

The IAM instance profile associations.

", - "smithy.api#xmlName": "AssociationId" + "smithy.api#documentation": "

The IDs of the paths.

", + "smithy.api#xmlName": "NetworkInsightsPathId" } }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n instance-id - The ID of the instance.

    \n
  • \n
  • \n

    \n state - The state of the association (associating |\n associated | disassociating).

    \n
  • \n
", + "smithy.api#documentation": "

The filters. The following are the possible values:

\n
    \n
  • \n

    destination - The ID of the resource.

    \n
  • \n
  • \n

    destination-port - The destination port.

    \n
  • \n
  • \n

    protocol - The protocol.

    \n
  • \n
  • \n

    source - The ID of the resource.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, "MaxResults": { - "target": "com.amazonaws.ec2#DescribeIamInstanceProfileAssociationsMaxResults", + "target": "com.amazonaws.ec2#NetworkInsightsMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining\n results, make another call with the returned NextToken value.

" + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n To retrieve the remaining results, make another call with the returned nextToken value.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, "NextToken": { "target": "com.amazonaws.ec2#NextToken", "traits": { - "smithy.api#documentation": "

The token to request the next page of results.

" + "smithy.api#documentation": "

The token for the next page of results.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeIamInstanceProfileAssociationsResult": { + "com.amazonaws.ec2#DescribeNetworkInsightsPathsResult": { "type": "structure", "members": { - "IamInstanceProfileAssociations": { - "target": "com.amazonaws.ec2#IamInstanceProfileAssociationSet", + "NetworkInsightsPaths": { + "target": "com.amazonaws.ec2#NetworkInsightsPathList", "traits": { - "aws.protocols#ec2QueryName": "IamInstanceProfileAssociationSet", - "smithy.api#documentation": "

Information about the IAM instance profile associations.

", - "smithy.api#xmlName": "iamInstanceProfileAssociationSet" + "aws.protocols#ec2QueryName": "NetworkInsightsPathSet", + "smithy.api#documentation": "

Information about the paths.

", + "smithy.api#xmlName": "networkInsightsPathSet" } }, "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", @@ -27138,157 +31572,219 @@ } } }, - "com.amazonaws.ec2#DescribeIdFormat": { + "com.amazonaws.ec2#DescribeNetworkInterfaceAttribute": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeIdFormatRequest" + "target": "com.amazonaws.ec2#DescribeNetworkInterfaceAttributeRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeIdFormatResult" + "target": "com.amazonaws.ec2#DescribeNetworkInterfaceAttributeResult" }, "traits": { - "smithy.api#documentation": "

Describes the ID format settings for your resources on a per-Region basis, for example, to view which resource types are enabled for longer IDs. This request only returns information about resource types whose ID formats can be modified; it does not return information about other resource types.

\n

The following resource types support longer IDs: bundle |\n conversion-task | customer-gateway | dhcp-options |\n elastic-ip-allocation | elastic-ip-association |\n export-task | flow-log | image |\n import-task | instance | internet-gateway |\n network-acl | network-acl-association |\n network-interface | network-interface-attachment |\n prefix-list | reservation | route-table |\n route-table-association | security-group |\n snapshot | subnet |\n subnet-cidr-block-association | volume | vpc\n | vpc-cidr-block-association | vpc-endpoint |\n vpc-peering-connection | vpn-connection | vpn-gateway.

\n

These settings apply to the IAM user who makes the request; they do not apply to the entire\n Amazon Web Services account. By default, an IAM user defaults to the same settings as the root user, unless\n they explicitly override the settings by running the ModifyIdFormat command. Resources\n created with longer IDs are visible to all IAM users, regardless of these settings and\n provided that they have permission to use the relevant Describe command for the\n resource type.

" + "smithy.api#documentation": "

Describes a network interface attribute. You can specify only one attribute at a time.

" } }, - "com.amazonaws.ec2#DescribeIdFormatRequest": { + "com.amazonaws.ec2#DescribeNetworkInterfaceAttributeRequest": { "type": "structure", "members": { - "Resource": { - "target": "com.amazonaws.ec2#String", + "Attribute": { + "target": "com.amazonaws.ec2#NetworkInterfaceAttribute", "traits": { - "smithy.api#documentation": "

The type of resource: bundle |\n conversion-task | customer-gateway | dhcp-options |\n elastic-ip-allocation | elastic-ip-association |\n export-task | flow-log | image |\n import-task | instance | internet-gateway |\n network-acl | network-acl-association |\n network-interface | network-interface-attachment |\n prefix-list | reservation | route-table |\n route-table-association | security-group |\n snapshot | subnet |\n subnet-cidr-block-association | volume | vpc\n | vpc-cidr-block-association | vpc-endpoint |\n vpc-peering-connection | vpn-connection | vpn-gateway\n

" + "aws.protocols#ec2QueryName": "Attribute", + "smithy.api#documentation": "

The attribute of the network interface. This parameter is required.

", + "smithy.api#xmlName": "attribute" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + }, + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#NetworkInterfaceId", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the network interface.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "networkInterfaceId" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for DescribeNetworkInterfaceAttribute.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeIdFormatResult": { + "com.amazonaws.ec2#DescribeNetworkInterfaceAttributeResult": { "type": "structure", "members": { - "Statuses": { - "target": "com.amazonaws.ec2#IdFormatList", + "Attachment": { + "target": "com.amazonaws.ec2#NetworkInterfaceAttachment", "traits": { - "aws.protocols#ec2QueryName": "StatusSet", - "smithy.api#documentation": "

Information about the ID format for the resource.

", - "smithy.api#xmlName": "statusSet" + "aws.protocols#ec2QueryName": "Attachment", + "smithy.api#documentation": "

The attachment (if any) of the network interface.

", + "smithy.api#xmlName": "attachment" + } + }, + "Description": { + "target": "com.amazonaws.ec2#AttributeValue", + "traits": { + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

The description of the network interface.

", + "smithy.api#xmlName": "description" + } + }, + "Groups": { + "target": "com.amazonaws.ec2#GroupIdentifierList", + "traits": { + "aws.protocols#ec2QueryName": "GroupSet", + "smithy.api#documentation": "

The security groups associated with the network interface.

", + "smithy.api#xmlName": "groupSet" + } + }, + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "smithy.api#documentation": "

The ID of the network interface.

", + "smithy.api#xmlName": "networkInterfaceId" + } + }, + "SourceDestCheck": { + "target": "com.amazonaws.ec2#AttributeBooleanValue", + "traits": { + "aws.protocols#ec2QueryName": "SourceDestCheck", + "smithy.api#documentation": "

Indicates whether source/destination checking is enabled.

", + "smithy.api#xmlName": "sourceDestCheck" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of DescribeNetworkInterfaceAttribute.

" } }, - "com.amazonaws.ec2#DescribeIdentityIdFormat": { + "com.amazonaws.ec2#DescribeNetworkInterfacePermissions": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeIdentityIdFormatRequest" + "target": "com.amazonaws.ec2#DescribeNetworkInterfacePermissionsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeIdentityIdFormatResult" + "target": "com.amazonaws.ec2#DescribeNetworkInterfacePermissionsResult" }, "traits": { - "smithy.api#documentation": "

Describes the ID format settings for resources for the specified IAM user, IAM role, or root\n user. For example, you can view the resource types that are enabled for longer IDs. This request only\n returns information about resource types whose ID formats can be modified; it does not return\n information about other resource types. For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide.

\n

The following resource types support longer IDs: bundle |\n conversion-task | customer-gateway | dhcp-options |\n elastic-ip-allocation | elastic-ip-association |\n export-task | flow-log | image |\n import-task | instance | internet-gateway |\n network-acl | network-acl-association |\n network-interface | network-interface-attachment |\n prefix-list | reservation | route-table |\n route-table-association | security-group |\n snapshot | subnet |\n subnet-cidr-block-association | volume | vpc\n | vpc-cidr-block-association | vpc-endpoint |\n vpc-peering-connection | vpn-connection | vpn-gateway.

\n

These settings apply to the principal specified in the request. They do not apply to the\n principal that makes the request.

" + "smithy.api#documentation": "

Describes the permissions for your network interfaces.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "NetworkInterfacePermissions", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DescribeIdentityIdFormatRequest": { + "com.amazonaws.ec2#DescribeNetworkInterfacePermissionsMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 255 + } + } + }, + "com.amazonaws.ec2#DescribeNetworkInterfacePermissionsRequest": { "type": "structure", "members": { - "PrincipalArn": { - "target": "com.amazonaws.ec2#String", + "NetworkInterfacePermissionIds": { + "target": "com.amazonaws.ec2#NetworkInterfacePermissionIdList", "traits": { - "aws.protocols#ec2QueryName": "PrincipalArn", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ARN of the principal, which can be an IAM role, IAM user, or the root user.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "principalArn" + "smithy.api#documentation": "

The network interface permission IDs.

", + "smithy.api#xmlName": "NetworkInterfacePermissionId" } }, - "Resource": { + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n network-interface-permission.network-interface-permission-id - The ID of the\n\t\t\t\tpermission.

    \n
  • \n
  • \n

    \n network-interface-permission.network-interface-id - The ID of\n\t\t\t\t\tthe network interface.

    \n
  • \n
  • \n

    \n network-interface-permission.aws-account-id - The Amazon Web Services account ID.

    \n
  • \n
  • \n

    \n network-interface-permission.aws-service - The Amazon Web Service.

    \n
  • \n
  • \n

    \n network-interface-permission.permission - The type of\n\t\t\t\t\tpermission (INSTANCE-ATTACH |\n\t\t\t\t\tEIP-ASSOCIATE).

    \n
  • \n
", + "smithy.api#xmlName": "Filter" + } + }, + "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Resource", - "smithy.api#documentation": "

The type of resource: bundle |\n conversion-task | customer-gateway | dhcp-options |\n elastic-ip-allocation | elastic-ip-association |\n export-task | flow-log | image |\n import-task | instance | internet-gateway |\n network-acl | network-acl-association |\n network-interface | network-interface-attachment |\n prefix-list | reservation | route-table |\n route-table-association | security-group |\n snapshot | subnet |\n subnet-cidr-block-association | volume | vpc\n | vpc-cidr-block-association | vpc-endpoint |\n vpc-peering-connection | vpn-connection | vpn-gateway\n

", - "smithy.api#xmlName": "resource" + "smithy.api#documentation": "

The token to request the next page of results.

" } - } - } - }, - "com.amazonaws.ec2#DescribeIdentityIdFormatResult": { - "type": "structure", - "members": { - "Statuses": { - "target": "com.amazonaws.ec2#IdFormatList", + }, + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeNetworkInterfacePermissionsMaxResults", "traits": { - "aws.protocols#ec2QueryName": "StatusSet", - "smithy.api#documentation": "

Information about the ID format for the resources.

", - "smithy.api#xmlName": "statusSet" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining results,\n\t\t\tmake another call with the returned NextToken value. If this parameter is not specified, up to 50 results are returned by default.

" } } - } - }, - "com.amazonaws.ec2#DescribeImageAttribute": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DescribeImageAttributeRequest" - }, - "output": { - "target": "com.amazonaws.ec2#ImageAttribute" }, "traits": { - "smithy.api#documentation": "

Describes the specified attribute of the specified AMI. You can specify only one attribute at a time.

" + "smithy.api#documentation": "

Contains the parameters for DescribeNetworkInterfacePermissions.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeImageAttributeRequest": { + "com.amazonaws.ec2#DescribeNetworkInterfacePermissionsResult": { "type": "structure", "members": { - "Attribute": { - "target": "com.amazonaws.ec2#ImageAttributeName", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The AMI attribute.

\n \t

\n Note: The blockDeviceMapping attribute is deprecated. \n \t Using this attribute returns the Client.AuthFailure error. To get information about \n \t the block device mappings for an AMI, use the DescribeImages action.

", - "smithy.api#required": {} - } - }, - "ImageId": { - "target": "com.amazonaws.ec2#ImageId", + "NetworkInterfacePermissions": { + "target": "com.amazonaws.ec2#NetworkInterfacePermissionList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the AMI.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "NetworkInterfacePermissions", + "smithy.api#documentation": "

The network interface permissions.

", + "smithy.api#xmlName": "networkInterfacePermissions" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results.

", + "smithy.api#xmlName": "nextToken" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for DescribeImageAttribute.

" + "smithy.api#documentation": "

Contains the output for DescribeNetworkInterfacePermissions.

" } }, - "com.amazonaws.ec2#DescribeImages": { + "com.amazonaws.ec2#DescribeNetworkInterfaces": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeImagesRequest" + "target": "com.amazonaws.ec2#DescribeNetworkInterfacesRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeImagesResult" + "target": "com.amazonaws.ec2#DescribeNetworkInterfacesResult" }, "traits": { - "smithy.api#documentation": "

Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.

\n

The images available to you include public images, private images that you own, and private images owned by other \n Amazon Web Services accounts for which you have explicit launch permissions.

\n

Recently deregistered images appear in the returned results for a short interval and then\n return empty results. After all instances that reference a deregistered AMI are terminated,\n specifying the ID of the image will eventually return an error indicating that the AMI ID\n cannot be found.

", + "smithy.api#documentation": "

Describes one or more of your network interfaces.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "NetworkInterfaces", + "pageSize": "MaxResults" + }, "smithy.api#suppress": [ "WaitableTraitInvalidErrorType" ], "smithy.waiters#waitable": { - "ImageAvailable": { + "NetworkInterfaceAvailable": { "acceptors": [ { "state": "success", "matcher": { "output": { - "path": "Images[].State", + "path": "NetworkInterfaces[].Status", "expected": "available", "comparator": "allStringEquals" } @@ -27297,77 +31793,117 @@ { "state": "failure", "matcher": { - "output": { - "path": "Images[].State", - "expected": "failed", - "comparator": "anyStringEquals" - } - } - } - ], - "minDelay": 15 - }, - "ImageExists": { - "acceptors": [ - { - "state": "success", - "matcher": { - "output": { - "path": "length(Images[]) > `0`", - "expected": "true", - "comparator": "booleanEquals" - } - } - }, - { - "state": "retry", - "matcher": { - "errorType": "InvalidAMIID.NotFound" + "errorType": "InvalidNetworkInterfaceID.NotFound" } } ], - "minDelay": 15 + "minDelay": 20 } } } }, - "com.amazonaws.ec2#DescribeImagesRequest": { + "com.amazonaws.ec2#DescribeNetworkInterfacesMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#DescribeNetworkInterfacesRequest": { "type": "structure", "members": { - "ExecutableUsers": { - "target": "com.amazonaws.ec2#ExecutableByStringList", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

Scopes the images by users with explicit launch permissions. \n Specify an Amazon Web Services account ID, self (the sender of the request),\n\t\t\t\tor all (public AMIs).

\n
    \n
  • \n

    If you specify an Amazon Web Services account ID that is not your own, only AMIs\n shared with that specific Amazon Web Services account ID are returned. However, AMIs that\n are shared with the account’s organization or organizational unit (OU) are not\n returned.

    \n
  • \n
  • \n

    If you specify self or your own Amazon Web Services account ID, AMIs\n shared with your account are returned. In addition, AMIs that are shared with the\n organization or OU of which you are member are also returned.

    \n
  • \n
  • \n

    If you specify all, all public AMIs are returned.

    \n
  • \n
", - "smithy.api#xmlName": "ExecutableBy" + "aws.protocols#ec2QueryName": "Filter", + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n addresses.private-ip-address - The private IPv4 addresses\n associated with the network interface.

    \n
  • \n
  • \n

    \n addresses.primary - Whether the private IPv4 address is the primary\n IP address associated with the network interface.

    \n
  • \n
  • \n

    \n addresses.association.public-ip - The association ID returned when\n the network interface was associated with the Elastic IP address\n (IPv4).

    \n
  • \n
  • \n

    \n addresses.association.owner-id - The owner ID of the addresses associated with the network interface.

    \n
  • \n
  • \n

    \n association.association-id - The association ID returned when the\n network interface was associated with an IPv4 address.

    \n
  • \n
  • \n

    \n association.allocation-id - The allocation ID returned when you\n allocated the Elastic IP address (IPv4) for your network interface.

    \n
  • \n
  • \n

    \n association.ip-owner-id - The owner of the Elastic IP address\n (IPv4) associated with the network interface.

    \n
  • \n
  • \n

    \n association.public-ip - The address of the Elastic IP address\n (IPv4) bound to the network interface.

    \n
  • \n
  • \n

    \n association.public-dns-name - The public DNS name for the network\n interface (IPv4).

    \n
  • \n
  • \n

    \n attachment.attachment-id - The ID of the interface attachment.

    \n
  • \n
  • \n

    \n attachment.attach-time - The time that the network interface was attached to an instance.

    \n
  • \n
  • \n

    \n attachment.delete-on-termination - Indicates whether the attachment is deleted when an instance is terminated.

    \n
  • \n
  • \n

    \n attachment.device-index - The device index to which the network interface is attached.

    \n
  • \n
  • \n

    \n attachment.instance-id - The ID of the instance to which the network interface is attached.

    \n
  • \n
  • \n

    \n attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

    \n
  • \n
  • \n

    \n attachment.status - The status of the attachment (attaching | attached | detaching | detached).

    \n
  • \n
  • \n

    \n availability-zone - The Availability Zone of the network interface.

    \n
  • \n
  • \n

    \n description - The description of the network interface.

    \n
  • \n
  • \n

    \n group-id - The ID of a security group associated with the network interface.

    \n
  • \n
  • \n

    \n group-name - The name of a security group associated with the network interface.

    \n
  • \n
  • \n

    \n ipv6-addresses.ipv6-address - An IPv6 address associated with\n the network interface.

    \n
  • \n
  • \n

    \n interface-type - The type of network interface (api_gateway_managed | \n\t\t aws_codestar_connections_managed | branch | efa | \n\t\t gateway_load_balancer | gateway_load_balancer_endpoint | global_accelerator_managed | \n\t\t interface | iot_rules_managed | lambda | load_balancer | \n\t\t nat_gateway | network_load_balancer | quicksight | \n\t\t transit_gateway | trunk | vpc_endpoint).

    \n
  • \n
  • \n

    \n mac-address - The MAC address of the network interface.

    \n
  • \n
  • \n

    \n network-interface-id - The ID of the network interface.

    \n
  • \n
  • \n

    \n owner-id - The Amazon Web Services account ID of the network interface owner.

    \n
  • \n
  • \n

    \n private-ip-address - The private IPv4 address or addresses of the\n network interface.

    \n
  • \n
  • \n

    \n private-dns-name - The private DNS name of the network interface (IPv4).

    \n
  • \n
  • \n

    \n requester-id - The alias or Amazon Web Services account ID of the principal or service that created the network interface.

    \n
  • \n
  • \n

    \n requester-managed - Indicates whether the network interface is being managed by an Amazon Web Service \n\t\t (for example, Amazon Web Services Management Console, Auto Scaling, and so on).

    \n
  • \n
  • \n

    \n source-dest-check - Indicates whether the network interface performs source/destination checking. \n\t\t A value of true means checking is enabled, and false means checking is disabled. \n\t\t The value must be false for the network interface to perform network address translation (NAT) in your VPC.

    \n
  • \n
  • \n

    \n status - The status of the network interface. If the network interface is not attached to an instance, the status is available; \n\t\t if a network interface is attached to an instance the status is in-use.

    \n
  • \n
  • \n

    \n subnet-id - The ID of the subnet for the network interface.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n vpc-id - The ID of the VPC for the network interface.

    \n
  • \n
", + "smithy.api#xmlName": "filter" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n architecture - The image architecture (i386 |\n x86_64 | arm64).

    \n
  • \n
  • \n

    \n block-device-mapping.delete-on-termination - A Boolean value that indicates\n \twhether the Amazon EBS volume is deleted on instance termination.

    \n
  • \n
  • \n

    \n block-device-mapping.device-name - The device name specified in the block device mapping (for\n example, /dev/sdh or xvdh).

    \n
  • \n
  • \n

    \n \t block-device-mapping.snapshot-id - The ID of the snapshot used for the Amazon EBS\n volume.

    \n
  • \n
  • \n

    \n \t block-device-mapping.volume-size - The volume size of the Amazon EBS volume, in GiB.

    \n
  • \n
  • \n

    \n block-device-mapping.volume-type - The volume type of the Amazon EBS volume\n (io1 | io2 | gp2 | gp3 | sc1\n | st1 | standard).

    \n
  • \n
  • \n \t\t

    \n \t\t\t block-device-mapping.encrypted - A Boolean that indicates whether the Amazon EBS volume is encrypted.

    \n \t
  • \n
  • \n

    \n creation-date - The time when the image was created, in the ISO 8601\n format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example,\n 2021-09-29T11:04:43.305Z. You can use a wildcard (*), for\n example, 2021-09-29T*, which matches an entire day.

    \n
  • \n
  • \n

    \n description - The description of the image (provided during image\n creation).

    \n
  • \n
  • \n

    \n ena-support - A Boolean that indicates whether enhanced networking\n with ENA is enabled.

    \n
  • \n
  • \n

    \n hypervisor - The hypervisor type (ovm |\n xen).

    \n
  • \n
  • \n

    \n image-id - The ID of the image.

    \n
  • \n
  • \n

    \n image-type - The image type (machine | kernel |\n ramdisk).

    \n
  • \n
  • \n

    \n is-public - A Boolean that indicates whether the image is public.

    \n
  • \n
  • \n

    \n kernel-id - The kernel ID.

    \n
  • \n
  • \n

    \n manifest-location - The location of the image manifest.

    \n
  • \n
  • \n

    \n name - The name of the AMI (provided during image creation).

    \n
  • \n
  • \n

    \n owner-alias - The owner alias (amazon | aws-marketplace). \n The valid aliases are defined in an Amazon-maintained list. This is not the Amazon Web Services account alias that can be \n \tset using the IAM console. We recommend that you use the Owner \n \trequest parameter instead of this filter.

    \n
  • \n
  • \n

    \n owner-id - The Amazon Web Services account ID of the owner. We recommend that you use the \n \t\tOwner request parameter instead of this filter.

    \n
  • \n
  • \n

    \n platform - The platform. To only list Windows-based AMIs, use\n windows.

    \n
  • \n
  • \n

    \n product-code - The product code.

    \n
  • \n
  • \n

    \n product-code.type - The type of the product code (marketplace).

    \n
  • \n
  • \n

    \n ramdisk-id - The RAM disk ID.

    \n
  • \n
  • \n

    \n root-device-name - The device name of the root device volume (for example, /dev/sda1).

    \n
  • \n
  • \n

    \n root-device-type - The type of the root device volume (ebs |\n instance-store).

    \n
  • \n
  • \n

    \n state - The state of the image (available | pending\n | failed).

    \n
  • \n
  • \n

    \n state-reason-code - The reason code for the state change.

    \n
  • \n
  • \n

    \n state-reason-message - The message for the state change.

    \n
  • \n
  • \n

    \n sriov-net-support - A value of simple indicates\n that enhanced networking with the Intel 82599 VF interface is enabled.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n virtualization-type - The virtualization type (paravirtual |\n hvm).

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "ImageIds": { - "target": "com.amazonaws.ec2#ImageIdStringList", + "NetworkInterfaceIds": { + "target": "com.amazonaws.ec2#NetworkInterfaceIdList", "traits": { - "smithy.api#documentation": "

The image IDs.

\n

Default: Describes all images available to you.

", - "smithy.api#xmlName": "ImageId" + "smithy.api#documentation": "

The network interface IDs.

\n

Default: Describes all your network interfaces.

", + "smithy.api#xmlName": "NetworkInterfaceId" } }, - "Owners": { - "target": "com.amazonaws.ec2#OwnerStringList", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

Scopes the results to images with the specified owners. You can specify a combination of \n Amazon Web Services account IDs, self, amazon, and aws-marketplace. \n If you omit this parameter, the results include all images for which you have launch permissions, \n regardless of ownership.

", - "smithy.api#xmlName": "Owner" + "smithy.api#documentation": "

The token to retrieve the next page of results.

" } }, - "IncludeDeprecated": { - "target": "com.amazonaws.ec2#Boolean", + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeNetworkInterfacesMaxResults", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Specifies whether to include deprecated AMIs.

\n

Default: No deprecated AMIs are included in the response.

\n \n

If you are the AMI owner, all deprecated AMIs appear in the response regardless of what\n you specify for this parameter.

\n
" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of items to return for this request. The request returns a token that you\n can specify in a subsequent call to get the next set of results. You cannot specify this\n parameter and the network interface IDs parameter in the same request.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for DescribeNetworkInterfaces.

", + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DescribeNetworkInterfacesResult": { + "type": "structure", + "members": { + "NetworkInterfaces": { + "target": "com.amazonaws.ec2#NetworkInterfaceList", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInterfaceSet", + "smithy.api#documentation": "

Information about one or more network interfaces.

", + "smithy.api#xmlName": "networkInterfaceSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of DescribeNetworkInterfaces.

" + } + }, + "com.amazonaws.ec2#DescribePlacementGroups": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribePlacementGroupsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribePlacementGroupsResult" + }, + "traits": { + "smithy.api#documentation": "

Describes the specified placement groups or all of your placement groups. For more\n information, see Placement groups in the\n Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#DescribePlacementGroupsRequest": { + "type": "structure", + "members": { + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n group-name - The name of the placement group.

    \n
  • \n
  • \n

    \n group-arn - The Amazon Resource Name (ARN) of the placement\n group.

    \n
  • \n
  • \n

    \n spread-level - The spread level for the placement group\n (host | rack).

    \n
  • \n
  • \n

    \n state - The state of the placement group (pending |\n available | deleting |\n deleted).

    \n
  • \n
  • \n

    \n strategy - The strategy of the placement group\n (cluster | spread |\n partition).

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, "DryRun": { @@ -27376,44 +31912,62 @@ "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", "smithy.api#xmlName": "dryRun" } + }, + "GroupNames": { + "target": "com.amazonaws.ec2#PlacementGroupStringList", + "traits": { + "aws.protocols#ec2QueryName": "GroupName", + "smithy.api#documentation": "

The names of the placement groups.

\n

Default: Describes all your placement groups, or only those otherwise\n specified.

", + "smithy.api#xmlName": "groupName" + } + }, + "GroupIds": { + "target": "com.amazonaws.ec2#PlacementGroupIdStringList", + "traits": { + "smithy.api#documentation": "

The IDs of the placement groups.

", + "smithy.api#xmlName": "GroupId" + } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeImagesResult": { + "com.amazonaws.ec2#DescribePlacementGroupsResult": { "type": "structure", "members": { - "Images": { - "target": "com.amazonaws.ec2#ImageList", + "PlacementGroups": { + "target": "com.amazonaws.ec2#PlacementGroupList", "traits": { - "aws.protocols#ec2QueryName": "ImagesSet", - "smithy.api#documentation": "

Information about the images.

", - "smithy.api#xmlName": "imagesSet" + "aws.protocols#ec2QueryName": "PlacementGroupSet", + "smithy.api#documentation": "

Information about the placement groups.

", + "smithy.api#xmlName": "placementGroupSet" } } } }, - "com.amazonaws.ec2#DescribeImportImageTasks": { + "com.amazonaws.ec2#DescribePrefixLists": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeImportImageTasksRequest" + "target": "com.amazonaws.ec2#DescribePrefixListsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeImportImageTasksResult" + "target": "com.amazonaws.ec2#DescribePrefixListsResult" }, "traits": { - "smithy.api#documentation": "

Displays details about an import virtual machine or import snapshot tasks that are already created.

", + "smithy.api#documentation": "

Describes available Amazon Web Services services in a prefix list format, which includes the prefix list\n name and prefix list ID of the service and the IP address range for the service.

\n

We recommend that you use DescribeManagedPrefixLists instead.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "ImportImageTasks", + "items": "PrefixLists", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeImportImageTasksRequest": { + "com.amazonaws.ec2#DescribePrefixListsRequest": { "type": "structure", "members": { "DryRun": { @@ -27427,15 +31981,8 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

Filter tasks using the task-state filter and one of the following values: active,\n completed, deleting, or deleted.

", - "smithy.api#xmlName": "Filters" - } - }, - "ImportTaskIds": { - "target": "com.amazonaws.ec2#ImportTaskIdList", - "traits": { - "smithy.api#documentation": "

The IDs of the import image tasks.

", - "smithy.api#xmlName": "ImportTaskId" + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n prefix-list-id: The ID of a prefix list.

    \n
  • \n
  • \n

    \n prefix-list-name: The name of a prefix list.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, "MaxResults": { @@ -27443,57 +31990,77 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in a single call.

" + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

A token that indicates the next page of results.

" + "smithy.api#documentation": "

The token for the next page of results.

" + } + }, + "PrefixListIds": { + "target": "com.amazonaws.ec2#PrefixListResourceIdStringList", + "traits": { + "smithy.api#documentation": "

One or more prefix list IDs.

", + "smithy.api#xmlName": "PrefixListId" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeImportImageTasksResult": { + "com.amazonaws.ec2#DescribePrefixListsResult": { "type": "structure", "members": { - "ImportImageTasks": { - "target": "com.amazonaws.ec2#ImportImageTaskList", - "traits": { - "aws.protocols#ec2QueryName": "ImportImageTaskSet", - "smithy.api#documentation": "

A list of zero or more import image tasks that are currently active or were completed or canceled in the\n previous 7 days.

", - "smithy.api#xmlName": "importImageTaskSet" - } - }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to get the next page of results. This value is null when there are no more results\n to return.

", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } + }, + "PrefixLists": { + "target": "com.amazonaws.ec2#PrefixListSet", + "traits": { + "aws.protocols#ec2QueryName": "PrefixListSet", + "smithy.api#documentation": "

All available prefix lists.

", + "smithy.api#xmlName": "prefixListSet" + } } } }, - "com.amazonaws.ec2#DescribeImportSnapshotTasks": { + "com.amazonaws.ec2#DescribePrincipalIdFormat": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeImportSnapshotTasksRequest" + "target": "com.amazonaws.ec2#DescribePrincipalIdFormatRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeImportSnapshotTasksResult" + "target": "com.amazonaws.ec2#DescribePrincipalIdFormatResult" }, "traits": { - "smithy.api#documentation": "

Describes your import snapshot tasks.

", + "smithy.api#documentation": "

Describes the ID format settings for the root user and all IAM roles and IAM users\n that have explicitly specified a longer ID (17-character ID) preference.

\n

By default, all IAM roles and IAM users default to the same ID settings as the root user, unless they\n explicitly override the settings. This request is useful for identifying those IAM users and IAM roles\n that have overridden the default ID settings.

\n

The following resource types support longer IDs: bundle |\n conversion-task | customer-gateway | dhcp-options |\n elastic-ip-allocation | elastic-ip-association |\n export-task | flow-log | image |\n import-task | instance | internet-gateway |\n network-acl | network-acl-association |\n network-interface | network-interface-attachment |\n prefix-list | reservation | route-table |\n route-table-association | security-group |\n snapshot | subnet |\n subnet-cidr-block-association | volume | vpc\n | vpc-cidr-block-association | vpc-endpoint |\n vpc-peering-connection | vpn-connection | vpn-gateway.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "ImportSnapshotTasks", + "items": "Principals", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeImportSnapshotTasksRequest": { + "com.amazonaws.ec2#DescribePrincipalIdFormatMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 1, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#DescribePrincipalIdFormatRequest": { "type": "structure", "members": { "DryRun": { @@ -27504,783 +32071,616 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", - "traits": { - "smithy.api#documentation": "

The filters.

", - "smithy.api#xmlName": "Filters" - } - }, - "ImportTaskIds": { - "target": "com.amazonaws.ec2#ImportSnapshotTaskIdList", + "Resources": { + "target": "com.amazonaws.ec2#ResourceList", "traits": { - "smithy.api#documentation": "

A list of import snapshot task IDs.

", - "smithy.api#xmlName": "ImportTaskId" + "smithy.api#documentation": "

The type of resource: bundle |\n conversion-task | customer-gateway | dhcp-options |\n elastic-ip-allocation | elastic-ip-association |\n export-task | flow-log | image |\n import-task | instance | internet-gateway |\n network-acl | network-acl-association |\n network-interface | network-interface-attachment |\n prefix-list | reservation | route-table |\n route-table-association | security-group |\n snapshot | subnet |\n subnet-cidr-block-association | volume | vpc\n | vpc-cidr-block-association | vpc-endpoint |\n vpc-peering-connection | vpn-connection | vpn-gateway\n

", + "smithy.api#xmlName": "Resource" } }, "MaxResults": { - "target": "com.amazonaws.ec2#Integer", + "target": "com.amazonaws.ec2#DescribePrincipalIdFormatMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining results, make another call\n with the returned NextToken value.

" + "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining\n results, make another call with the returned NextToken value.

" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

A token that indicates the next page of results.

" + "smithy.api#documentation": "

The token to request the next page of results.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeImportSnapshotTasksResult": { + "com.amazonaws.ec2#DescribePrincipalIdFormatResult": { "type": "structure", "members": { - "ImportSnapshotTasks": { - "target": "com.amazonaws.ec2#ImportSnapshotTaskList", + "Principals": { + "target": "com.amazonaws.ec2#PrincipalIdFormatList", "traits": { - "aws.protocols#ec2QueryName": "ImportSnapshotTaskSet", - "smithy.api#documentation": "

A list of zero or more import snapshot tasks that are currently active or were completed or canceled in the\n previous 7 days.

", - "smithy.api#xmlName": "importSnapshotTaskSet" + "aws.protocols#ec2QueryName": "PrincipalSet", + "smithy.api#documentation": "

Information about the ID format settings for the ARN.

", + "smithy.api#xmlName": "principalSet" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to get the next page of results. This value is null when there are no more results\n to return.

", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DescribeInstanceAttribute": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DescribeInstanceAttributeRequest" - }, - "output": { - "target": "com.amazonaws.ec2#InstanceAttribute" - }, - "traits": { - "smithy.api#documentation": "

Describes the specified attribute of the specified instance. You can specify only one\n attribute at a time. Valid attribute values are: instanceType |\n kernel | ramdisk | userData |\n disableApiTermination | instanceInitiatedShutdownBehavior\n | rootDeviceName | blockDeviceMapping |\n productCodes | sourceDestCheck | groupSet |\n ebsOptimized | sriovNetSupport\n

" - } - }, - "com.amazonaws.ec2#DescribeInstanceAttributeRequest": { - "type": "structure", - "members": { - "Attribute": { - "target": "com.amazonaws.ec2#InstanceAttributeName", - "traits": { - "aws.protocols#ec2QueryName": "Attribute", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The instance attribute.

\n

Note: The enaSupport attribute is not supported at this time.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "attribute" - } - }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" - } - }, - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", - "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the instance.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "instanceId" - } - } - } - }, - "com.amazonaws.ec2#DescribeInstanceCreditSpecifications": { + "com.amazonaws.ec2#DescribePublicIpv4Pools": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeInstanceCreditSpecificationsRequest" + "target": "com.amazonaws.ec2#DescribePublicIpv4PoolsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeInstanceCreditSpecificationsResult" + "target": "com.amazonaws.ec2#DescribePublicIpv4PoolsResult" }, "traits": { - "smithy.api#documentation": "

Describes the credit option for CPU usage of the specified burstable performance\n instances. The credit options are standard and\n unlimited.

\n

If you do not specify an instance ID, Amazon EC2 returns burstable performance\n instances with the unlimited credit option, as well as instances that were\n previously configured as T2, T3, and T3a with the unlimited credit option.\n For example, if you resize a T2 instance, while it is configured as\n unlimited, to an M4 instance, Amazon EC2 returns the M4\n instance.

\n

If you specify one or more instance IDs, Amazon EC2 returns the credit option\n (standard or unlimited) of those instances. If you specify\n an instance ID that is not valid, such as an instance that is not a burstable\n performance instance, an error is returned.

\n

Recently terminated instances might appear in the returned results. This interval is\n usually less than one hour.

\n

If an Availability Zone is experiencing a service disruption and you specify instance\n IDs in the affected zone, or do not specify any instance IDs at all, the call fails. If\n you specify only instance IDs in an unaffected zone, the call works normally.

\n

For more information, see Burstable\n performance instances in the Amazon EC2 User Guide.

", + "smithy.api#documentation": "

Describes the specified IPv4 address pools.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "InstanceCreditSpecifications", + "items": "PublicIpv4Pools", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeInstanceCreditSpecificationsMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 1000 - } - } - }, - "com.amazonaws.ec2#DescribeInstanceCreditSpecificationsRequest": { + "com.amazonaws.ec2#DescribePublicIpv4PoolsRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "PoolIds": { + "target": "com.amazonaws.ec2#PublicIpv4PoolIdStringList", "traits": { - "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n instance-id - The ID of the instance.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "smithy.api#documentation": "

The IDs of the address pools.

", + "smithy.api#xmlName": "PoolId" } }, - "InstanceIds": { - "target": "com.amazonaws.ec2#InstanceIdStringList", + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", "traits": { - "smithy.api#documentation": "

The instance IDs.

\n

Default: Describes all your instances.

\n

Constraints: Maximum 1000 explicitly specified instance IDs.

", - "smithy.api#xmlName": "InstanceId" + "smithy.api#documentation": "

The token for the next page of results.

" } }, "MaxResults": { - "target": "com.amazonaws.ec2#DescribeInstanceCreditSpecificationsMaxResults", + "target": "com.amazonaws.ec2#PoolMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining\n results, make another call with the returned NextToken value. This value\n can be between 5 and 1000. You cannot specify this parameter and the instance IDs\n parameter in the same call.

" + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The token to retrieve the next page of results.

" + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeInstanceCreditSpecificationsResult": { + "com.amazonaws.ec2#DescribePublicIpv4PoolsResult": { "type": "structure", "members": { - "InstanceCreditSpecifications": { - "target": "com.amazonaws.ec2#InstanceCreditSpecificationList", + "PublicIpv4Pools": { + "target": "com.amazonaws.ec2#PublicIpv4PoolSet", "traits": { - "aws.protocols#ec2QueryName": "InstanceCreditSpecificationSet", - "smithy.api#documentation": "

Information about the credit option for CPU usage of an instance.

", - "smithy.api#xmlName": "instanceCreditSpecificationSet" + "aws.protocols#ec2QueryName": "PublicIpv4PoolSet", + "smithy.api#documentation": "

Information about the address pools.

", + "smithy.api#xmlName": "publicIpv4PoolSet" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null\n when there are no more results to return.

", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DescribeInstanceEventNotificationAttributes": { + "com.amazonaws.ec2#DescribeRegions": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeInstanceEventNotificationAttributesRequest" + "target": "com.amazonaws.ec2#DescribeRegionsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeInstanceEventNotificationAttributesResult" + "target": "com.amazonaws.ec2#DescribeRegionsResult" }, "traits": { - "smithy.api#documentation": "

Describes the tag keys that are registered to appear in scheduled event notifications for \n \tresources in the current Region.

" + "smithy.api#documentation": "

Describes the Regions that are enabled for your account, or all Regions.

\n

For a list of the Regions supported by Amazon EC2, see \n Amazon Elastic Compute Cloud endpoints and quotas.

\n

For information about enabling and disabling Regions for your account, see Managing Amazon Web Services Regions in the Amazon Web Services General Reference.

" } }, - "com.amazonaws.ec2#DescribeInstanceEventNotificationAttributesRequest": { + "com.amazonaws.ec2#DescribeRegionsRequest": { "type": "structure", "members": { + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n endpoint - The endpoint of the Region (for example, ec2.us-east-1.amazonaws.com).

    \n
  • \n
  • \n

    \n opt-in-status - The opt-in status of the Region (opt-in-not-required | opted-in | \n not-opted-in).

    \n
  • \n
  • \n

    \n region-name - The name of the Region (for example, us-east-1).

    \n
  • \n
", + "smithy.api#xmlName": "Filter" + } + }, + "RegionNames": { + "target": "com.amazonaws.ec2#RegionNameStringList", + "traits": { + "smithy.api#documentation": "

The names of the Regions. You can specify any Regions, whether they are enabled and disabled for your account.

", + "smithy.api#xmlName": "RegionName" + } + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + }, + "AllRegions": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to display all Regions, including Regions that are disabled for your account.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeInstanceEventNotificationAttributesResult": { + "com.amazonaws.ec2#DescribeRegionsResult": { "type": "structure", "members": { - "InstanceTagAttribute": { - "target": "com.amazonaws.ec2#InstanceTagNotificationAttribute", + "Regions": { + "target": "com.amazonaws.ec2#RegionList", "traits": { - "aws.protocols#ec2QueryName": "InstanceTagAttribute", - "smithy.api#documentation": "

Information about the registered tag keys.

", - "smithy.api#xmlName": "instanceTagAttribute" + "aws.protocols#ec2QueryName": "RegionInfo", + "smithy.api#documentation": "

Information about the Regions.

", + "smithy.api#xmlName": "regionInfo" } } } }, - "com.amazonaws.ec2#DescribeInstanceEventWindows": { + "com.amazonaws.ec2#DescribeReplaceRootVolumeTasks": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeInstanceEventWindowsRequest" + "target": "com.amazonaws.ec2#DescribeReplaceRootVolumeTasksRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeInstanceEventWindowsResult" + "target": "com.amazonaws.ec2#DescribeReplaceRootVolumeTasksResult" }, "traits": { - "smithy.api#documentation": "

Describes the specified event windows or all event windows.

\n

If you specify event window IDs, the output includes information for only the specified\n event windows. If you specify filters, the output includes information for only those event\n windows that meet the filter criteria. If you do not specify event windows IDs or filters,\n the output includes information for all event windows, which can affect performance. We\n recommend that you use pagination to ensure that the operation returns quickly and\n successfully.

\n

For more information, see Define event windows for scheduled\n events in the Amazon EC2 User Guide.

", + "smithy.api#documentation": "

Describes a root volume replacement task. For more information, see \n Replace a root volume in the Amazon Elastic Compute Cloud User Guide.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "InstanceEventWindows", + "items": "ReplaceRootVolumeTasks", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeInstanceEventWindowsRequest": { + "com.amazonaws.ec2#DescribeReplaceRootVolumeTasksMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 1, + "max": 50 + } + } + }, + "com.amazonaws.ec2#DescribeReplaceRootVolumeTasksRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - }, - "InstanceEventWindowIds": { - "target": "com.amazonaws.ec2#InstanceEventWindowIdSet", + "ReplaceRootVolumeTaskIds": { + "target": "com.amazonaws.ec2#ReplaceRootVolumeTaskIds", "traits": { - "smithy.api#documentation": "

The IDs of the event windows.

", - "smithy.api#xmlName": "InstanceEventWindowId" + "smithy.api#documentation": "

The ID of the root volume replacement task to view.

", + "smithy.api#xmlName": "ReplaceRootVolumeTaskId" } }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n dedicated-host-id - The event windows associated with the specified\n Dedicated Host ID.

    \n
  • \n
  • \n

    \n event-window-name - The event windows associated with the specified\n names.

    \n
  • \n
  • \n

    \n instance-id - The event windows associated with the specified instance\n ID.

    \n
  • \n
  • \n

    \n instance-tag - The event windows associated with the specified tag and\n value.

    \n
  • \n
  • \n

    \n instance-tag-key - The event windows associated with the specified tag\n key, regardless of the value.

    \n
  • \n
  • \n

    \n instance-tag-value - The event windows associated with the specified tag\n value, regardless of the key.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the\n event window. Use the tag key in the filter name and the tag value as the filter\n value. For example, to find all resources that have a tag with the key\n Owner and the value CMX, specify tag:Owner\n for the filter name and CMX for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the event window. Use this filter\n to find all event windows that have a tag with a specific key, regardless of the tag\n value.

    \n
  • \n
  • \n

    \n tag-value - The value of a tag assigned to the event window. Use this\n filter to find all event windows that have a tag with a specific value, regardless of\n the tag key.

    \n
  • \n
", + "smithy.api#documentation": "

Filter to use:

\n
    \n
  • \n

    \n instance-id - The ID of the instance for which the root volume replacement task was created.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, "MaxResults": { - "target": "com.amazonaws.ec2#ResultRange", + "target": "com.amazonaws.ec2#DescribeReplaceRootVolumeTasksMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining\n results, make another call with the returned NextToken value. This value can\n be between 20 and 500. You cannot specify this parameter and the event window IDs parameter\n in the same call.

" + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The token to request the next page of results.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "Describe instance event windows by InstanceEventWindow." + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeInstanceEventWindowsResult": { + "com.amazonaws.ec2#DescribeReplaceRootVolumeTasksResult": { "type": "structure", "members": { - "InstanceEventWindows": { - "target": "com.amazonaws.ec2#InstanceEventWindowSet", + "ReplaceRootVolumeTasks": { + "target": "com.amazonaws.ec2#ReplaceRootVolumeTasks", "traits": { - "aws.protocols#ec2QueryName": "InstanceEventWindowSet", - "smithy.api#documentation": "

Information about the event windows.

", - "smithy.api#xmlName": "instanceEventWindowSet" + "aws.protocols#ec2QueryName": "ReplaceRootVolumeTaskSet", + "smithy.api#documentation": "

Information about the root volume replacement task.

", + "smithy.api#xmlName": "replaceRootVolumeTaskSet" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DescribeInstanceStatus": { + "com.amazonaws.ec2#DescribeReservedInstances": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeInstanceStatusRequest" + "target": "com.amazonaws.ec2#DescribeReservedInstancesRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeInstanceStatusResult" + "target": "com.amazonaws.ec2#DescribeReservedInstancesResult" }, "traits": { - "smithy.api#documentation": "

Describes the status of the specified instances or all of your instances. By default,\n only running instances are described, unless you specifically indicate to return the\n status of all instances.

\n

Instance status includes the following components:

\n
    \n
  • \n

    \n Status checks - Amazon EC2 performs status\n checks on running EC2 instances to identify hardware and software issues. For\n more information, see Status checks for your instances and Troubleshoot\n instances with failed status checks in the Amazon EC2 User\n Guide.

    \n
  • \n
  • \n

    \n Scheduled events - Amazon EC2 can schedule\n events (such as reboot, stop, or terminate) for your instances related to\n hardware issues, software updates, or system maintenance. For more information,\n see Scheduled events for your instances in the Amazon EC2 User\n Guide.

    \n
  • \n
  • \n

    \n Instance state - You can manage your instances\n from the moment you launch them through their termination. For more information,\n see Instance\n lifecycle in the Amazon EC2 User Guide.

    \n
  • \n
", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "InstanceStatuses", - "pageSize": "MaxResults" - }, - "smithy.api#suppress": [ - "WaitableTraitInvalidErrorType" - ], - "smithy.waiters#waitable": { - "InstanceStatusOk": { - "acceptors": [ - { - "state": "success", - "matcher": { - "output": { - "path": "InstanceStatuses[].InstanceStatus.Status", - "expected": "ok", - "comparator": "allStringEquals" - } - } - }, - { - "state": "retry", - "matcher": { - "errorType": "InvalidInstanceID.NotFound" - } - } - ], - "minDelay": 15 - }, - "SystemStatusOk": { - "acceptors": [ - { - "state": "success", - "matcher": { - "output": { - "path": "InstanceStatuses[].SystemStatus.Status", - "expected": "ok", - "comparator": "allStringEquals" - } - } - } - ], - "minDelay": 15 - } - } + "smithy.api#documentation": "

Describes one or more of the Reserved Instances that you purchased.

\n

For more information about Reserved Instances, see Reserved\n\t\t\t\tInstances in the Amazon EC2 User Guide.

" } }, - "com.amazonaws.ec2#DescribeInstanceStatusRequest": { + "com.amazonaws.ec2#DescribeReservedInstancesListings": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeReservedInstancesListingsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeReservedInstancesListingsResult" + }, + "traits": { + "smithy.api#documentation": "

Describes your account's Reserved Instance listings in the Reserved Instance Marketplace.

\n

The Reserved Instance Marketplace matches sellers who want to resell Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances.

\n

As a seller, you choose to list some or all of your Reserved Instances, and you specify the upfront price to receive for them. Your Reserved Instances are then listed in the Reserved Instance Marketplace and are available for purchase.

\n

As a buyer, you specify the configuration of the Reserved Instance to purchase, and the Marketplace matches what you're searching for with what's available. The Marketplace first sells the lowest priced Reserved Instances to you, and continues to sell available Reserved Instance listings to you until your demand is met. You are charged based on the total price of all of the listings that you purchase.

\n

For more information, see Reserved Instance Marketplace \n in the Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#DescribeReservedInstancesListingsRequest": { "type": "structure", "members": { "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n availability-zone - The Availability Zone of the instance.

    \n
  • \n
  • \n

    \n event.code - The code for the scheduled event\n (instance-reboot | system-reboot |\n system-maintenance | instance-retirement |\n instance-stop).

    \n
  • \n
  • \n

    \n event.description - A description of the event.

    \n
  • \n
  • \n

    \n event.instance-event-id - The ID of the event whose date and time\n you are modifying.

    \n
  • \n
  • \n

    \n event.not-after - The latest end time for the scheduled event\n (for example, 2014-09-15T17:15:20.000Z).

    \n
  • \n
  • \n

    \n event.not-before - The earliest start time for the scheduled\n event (for example, 2014-09-15T17:15:20.000Z).

    \n
  • \n
  • \n

    \n event.not-before-deadline - The deadline for starting the event\n (for example, 2014-09-15T17:15:20.000Z).

    \n
  • \n
  • \n

    \n instance-state-code - The code for the instance state, as a\n 16-bit unsigned integer. The high byte is used for internal purposes and should\n be ignored. The low byte is set based on the state represented. The valid values\n are 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64\n (stopping), and 80 (stopped).

    \n
  • \n
  • \n

    \n instance-state-name - The state of the instance\n (pending | running | shutting-down |\n terminated | stopping |\n stopped).

    \n
  • \n
  • \n

    \n instance-status.reachability - Filters on instance status where\n the name is reachability (passed | failed\n | initializing | insufficient-data).

    \n
  • \n
  • \n

    \n instance-status.status - The status of the instance\n (ok | impaired | initializing |\n insufficient-data | not-applicable).

    \n
  • \n
  • \n

    \n system-status.reachability - Filters on system status where the\n name is reachability (passed | failed |\n initializing | insufficient-data).

    \n
  • \n
  • \n

    \n system-status.status - The system status of the instance\n (ok | impaired | initializing |\n insufficient-data | not-applicable).

    \n
  • \n
", + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n reserved-instances-id - The ID of the Reserved Instances.

    \n
  • \n
  • \n

    \n reserved-instances-listing-id - The ID of the Reserved Instances listing.

    \n
  • \n
  • \n

    \n status - The status of the Reserved Instance listing (pending | active |\n cancelled | closed).

    \n
  • \n
  • \n

    \n status-message - The reason for the status.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, - "InstanceIds": { - "target": "com.amazonaws.ec2#InstanceIdStringList", - "traits": { - "smithy.api#documentation": "

The instance IDs.

\n

Default: Describes all your instances.

\n

Constraints: Maximum 100 explicitly specified instance IDs.

", - "smithy.api#xmlName": "InstanceId" - } - }, - "MaxResults": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining\n results, make another call with the returned NextToken value. This value\n can be between 5 and 1000. You cannot specify this parameter and the instance IDs\n parameter in the same call.

" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The token to retrieve the next page of results.

" - } - }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "ReservedInstancesId": { + "target": "com.amazonaws.ec2#ReservationId", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "aws.protocols#ec2QueryName": "ReservedInstancesId", + "smithy.api#documentation": "

One or more Reserved Instance IDs.

", + "smithy.api#xmlName": "reservedInstancesId" } }, - "IncludeAllInstances": { - "target": "com.amazonaws.ec2#Boolean", + "ReservedInstancesListingId": { + "target": "com.amazonaws.ec2#ReservedInstancesListingId", "traits": { - "aws.protocols#ec2QueryName": "IncludeAllInstances", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

When true, includes the health status for all instances. When\n false, includes the health status for running instances only.

\n

Default: false\n

", - "smithy.api#xmlName": "includeAllInstances" + "aws.protocols#ec2QueryName": "ReservedInstancesListingId", + "smithy.api#documentation": "

One or more Reserved Instance listing IDs.

", + "smithy.api#xmlName": "reservedInstancesListingId" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for DescribeReservedInstancesListings.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeInstanceStatusResult": { + "com.amazonaws.ec2#DescribeReservedInstancesListingsResult": { "type": "structure", "members": { - "InstanceStatuses": { - "target": "com.amazonaws.ec2#InstanceStatusList", - "traits": { - "aws.protocols#ec2QueryName": "InstanceStatusSet", - "smithy.api#documentation": "

Information about the status of the instances.

", - "smithy.api#xmlName": "instanceStatusSet" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "ReservedInstancesListings": { + "target": "com.amazonaws.ec2#ReservedInstancesListingList", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null\n when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "ReservedInstancesListingsSet", + "smithy.api#documentation": "

Information about the Reserved Instance listing.

", + "smithy.api#xmlName": "reservedInstancesListingsSet" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of DescribeReservedInstancesListings.

" } }, - "com.amazonaws.ec2#DescribeInstanceTypeOfferings": { + "com.amazonaws.ec2#DescribeReservedInstancesModifications": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeInstanceTypeOfferingsRequest" + "target": "com.amazonaws.ec2#DescribeReservedInstancesModificationsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeInstanceTypeOfferingsResult" + "target": "com.amazonaws.ec2#DescribeReservedInstancesModificationsResult" }, "traits": { - "smithy.api#documentation": "

Returns a list of all instance types offered. The results can be filtered by location (Region or Availability\n Zone). If no location is specified, the instance types offered in the current Region are returned.

", + "smithy.api#documentation": "

Describes the modifications made to your Reserved Instances. If no parameter is specified, information about all your Reserved Instances modification requests is returned. If a modification ID is specified, only information about the specific modification is returned.

\n

For more information, see Modifying Reserved Instances in the Amazon EC2 User Guide.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "InstanceTypeOfferings", - "pageSize": "MaxResults" + "items": "ReservedInstancesModifications" } } }, - "com.amazonaws.ec2#DescribeInstanceTypeOfferingsRequest": { + "com.amazonaws.ec2#DescribeReservedInstancesModificationsRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request,\n and provides an error response. If you have the required permissions, the error response is\n DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - } - }, - "LocationType": { - "target": "com.amazonaws.ec2#LocationType", - "traits": { - "smithy.api#documentation": "

The location type.

" - } - }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters. Filter names and values are case-sensitive.

\n
    \n
  • \n

    \n location - This depends on the location type. For example, if the location type is\n region (default), the location is the Region code (for example, us-east-2.)

    \n
  • \n
  • \n

    \n instance-type - The instance type. For example,\n c5.2xlarge.

    \n
  • \n
", + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n client-token - The idempotency token for the modification request.

    \n
  • \n
  • \n

    \n create-date - The time when the modification request was created.

    \n
  • \n
  • \n

    \n effective-date - The time when the modification becomes effective.

    \n
  • \n
  • \n

    \n modification-result.reserved-instances-id - The ID for the Reserved Instances created as part of the modification request. This ID is only available when the status of the modification is fulfilled.

    \n
  • \n
  • \n

    \n modification-result.target-configuration.availability-zone - The Availability Zone for the new Reserved Instances.

    \n
  • \n
  • \n

    \n modification-result.target-configuration.instance-count - The number of new Reserved Instances.

    \n
  • \n
  • \n

    \n modification-result.target-configuration.instance-type - The instance type of the new Reserved Instances.

    \n
  • \n
  • \n

    \n modification-result.target-configuration.platform - The network platform of the new Reserved Instances (EC2-Classic | EC2-VPC).

    \n
  • \n
  • \n

    \n reserved-instances-id - The ID of the Reserved Instances modified.

    \n
  • \n
  • \n

    \n reserved-instances-modification-id - The ID of the modification request.

    \n
  • \n
  • \n

    \n status - The status of the Reserved Instances modification request\n (processing | fulfilled | failed).

    \n
  • \n
  • \n

    \n status-message - The reason for the status.

    \n
  • \n
  • \n

    \n update-date - The time when the modification request was last updated.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#DITOMaxResults", + "ReservedInstancesModificationIds": { + "target": "com.amazonaws.ec2#ReservedInstancesModificationIdStringList", "traits": { - "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining results\n can be seen by sending another request with the next token value.

" + "smithy.api#documentation": "

IDs for the submitted modification request.

", + "smithy.api#xmlName": "ReservedInstancesModificationId" } }, "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The token to retrieve the next page of results.

" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to retrieve the next page of results.

", + "smithy.api#xmlName": "nextToken" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for DescribeReservedInstancesModifications.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeInstanceTypeOfferingsResult": { + "com.amazonaws.ec2#DescribeReservedInstancesModificationsResult": { "type": "structure", "members": { - "InstanceTypeOfferings": { - "target": "com.amazonaws.ec2#InstanceTypeOfferingsList", - "traits": { - "aws.protocols#ec2QueryName": "InstanceTypeOfferingSet", - "smithy.api#documentation": "

The instance types offered.

", - "smithy.api#xmlName": "instanceTypeOfferingSet" - } - }, "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there\n are no more results to return.

", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when\n\t\t\tthere are no more results to return.

", "smithy.api#xmlName": "nextToken" } + }, + "ReservedInstancesModifications": { + "target": "com.amazonaws.ec2#ReservedInstancesModificationList", + "traits": { + "aws.protocols#ec2QueryName": "ReservedInstancesModificationsSet", + "smithy.api#documentation": "

The Reserved Instance modification information.

", + "smithy.api#xmlName": "reservedInstancesModificationsSet" + } } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of DescribeReservedInstancesModifications.

" } }, - "com.amazonaws.ec2#DescribeInstanceTypes": { + "com.amazonaws.ec2#DescribeReservedInstancesOfferings": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeInstanceTypesRequest" + "target": "com.amazonaws.ec2#DescribeReservedInstancesOfferingsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeInstanceTypesResult" + "target": "com.amazonaws.ec2#DescribeReservedInstancesOfferingsResult" }, "traits": { - "smithy.api#documentation": "

Describes the details of the instance types that are offered in a location. The results can be filtered by the\n attributes of the instance types.

", + "smithy.api#documentation": "

Describes Reserved Instance offerings that are available for purchase. With Reserved Instances, you purchase the right to launch instances for a period of time. During that time period, you do not receive insufficient capacity errors, and you pay a lower usage rate than the rate charged for On-Demand instances for the actual time used.

\n

If you have listed your own Reserved Instances for sale in the Reserved Instance Marketplace, they will be excluded from these results. This is to ensure that you do not purchase your own Reserved Instances.

\n

For more information, see Reserved Instance Marketplace\n\t\t\t\tin the Amazon EC2 User Guide.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "InstanceTypes", + "items": "ReservedInstancesOfferings", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeInstanceTypesRequest": { + "com.amazonaws.ec2#DescribeReservedInstancesOfferingsRequest": { "type": "structure", "members": { - "DryRun": { + "AvailabilityZone": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The Availability Zone in which the Reserved Instance can be used.

" + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n availability-zone - The Availability Zone where the Reserved Instance can be\n used.

    \n
  • \n
  • \n

    \n duration - The duration of the Reserved Instance (for example, one year or\n three years), in seconds (31536000 | 94608000).

    \n
  • \n
  • \n

    \n fixed-price - The purchase price of the Reserved Instance (for example,\n 9800.0).

    \n
  • \n
  • \n

    \n instance-type - The instance type that is covered by the\n reservation.

    \n
  • \n
  • \n

    \n marketplace - Set to true to show only Reserved Instance\n Marketplace offerings. When this filter is not used, which is the default behavior, all\n offerings from both Amazon Web Services and the Reserved Instance Marketplace are listed.

    \n
  • \n
  • \n

    \n product-description - The Reserved Instance product platform description.\n Instances that include (Amazon VPC) in the product platform description will\n only be displayed to EC2-Classic account holders and are for use with Amazon VPC.\n (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE\n Linux | SUSE Linux (Amazon VPC) | Red Hat Enterprise\n Linux | Red Hat Enterprise Linux (Amazon VPC) | Red Hat\n Enterprise Linux with HA (Amazon VPC) | Windows | Windows\n (Amazon VPC) | Windows with SQL Server Standard | Windows with\n SQL Server Standard (Amazon VPC) | Windows with SQL Server Web |\n Windows with SQL Server Web (Amazon VPC) | Windows with SQL Server\n Enterprise | Windows with SQL Server Enterprise (Amazon VPC))

    \n
  • \n
  • \n

    \n reserved-instances-offering-id - The Reserved Instances offering\n ID.

    \n
  • \n
  • \n

    \n scope - The scope of the Reserved Instance (Availability Zone or\n Region).

    \n
  • \n
  • \n

    \n usage-price - The usage price of the Reserved Instance, per hour (for\n example, 0.84).

    \n
  • \n
", + "smithy.api#xmlName": "Filter" + } + }, + "IncludeMarketplace": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request,\n and provides an error response. If you have the required permissions, the error response is\n DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Include Reserved Instance Marketplace offerings in the response.

" } }, - "InstanceTypes": { - "target": "com.amazonaws.ec2#RequestInstanceTypeList", + "InstanceType": { + "target": "com.amazonaws.ec2#InstanceType", "traits": { - "smithy.api#documentation": "

The instance types. For more information, see Instance types in the Amazon EC2 User Guide.

", - "smithy.api#xmlName": "InstanceType" + "smithy.api#documentation": "

The instance type that the reservation will cover (for example, m1.small). For more information, see \n Instance types in the\n Amazon EC2 User Guide.

" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "MaxDuration": { + "target": "com.amazonaws.ec2#Long", "traits": { - "smithy.api#documentation": "

One or more filters. Filter names and values are case-sensitive.

\n
    \n
  • \n

    \n auto-recovery-supported - Indicates whether auto recovery is supported (true | false).

    \n
  • \n
  • \n

    \n bare-metal - Indicates whether it is a bare metal instance type (true | false).

    \n
  • \n
  • \n

    \n burstable-performance-supported - Indicates whether it is a burstable\n performance instance type (true | false).

    \n
  • \n
  • \n

    \n current-generation - Indicates whether this instance type is the latest\n generation instance type of an instance family (true | false).

    \n
  • \n
  • \n

    \n ebs-info.ebs-optimized-info.baseline-bandwidth-in-mbps - The baseline\n bandwidth performance for an EBS-optimized instance type, in Mbps.

    \n
  • \n
  • \n

    \n ebs-info.ebs-optimized-info.baseline-iops - The baseline input/output storage\n operations per second for an EBS-optimized instance type.

    \n
  • \n
  • \n

    \n ebs-info.ebs-optimized-info.baseline-throughput-in-mbps - The baseline\n throughput performance for an EBS-optimized instance type, in MB/s.

    \n
  • \n
  • \n

    \n ebs-info.ebs-optimized-info.maximum-bandwidth-in-mbps - The maximum bandwidth\n performance for an EBS-optimized instance type, in Mbps.

    \n
  • \n
  • \n

    \n ebs-info.ebs-optimized-info.maximum-iops - The maximum input/output storage\n operations per second for an EBS-optimized instance type.

    \n
  • \n
  • \n

    \n ebs-info.ebs-optimized-info.maximum-throughput-in-mbps - The maximum\n throughput performance for an EBS-optimized instance type, in MB/s.

    \n
  • \n
  • \n

    \n ebs-info.ebs-optimized-support - Indicates whether the instance type is\n EBS-optimized (supported | unsupported |\n default).

    \n
  • \n
  • \n

    \n ebs-info.encryption-support - Indicates whether EBS encryption is supported\n (supported | unsupported).

    \n
  • \n
  • \n

    \n ebs-info.nvme-support - Indicates whether non-volatile memory express (NVMe)\n is supported for EBS volumes (required | supported | unsupported).

    \n
  • \n
  • \n

    \n free-tier-eligible - Indicates whether the instance type is eligible to use\n in the free tier (true | false).

    \n
  • \n
  • \n

    \n hibernation-supported - Indicates whether On-Demand hibernation is supported (true | false).

    \n
  • \n
  • \n

    \n hypervisor - The hypervisor (nitro | xen).

    \n
  • \n
  • \n

    \n instance-storage-info.disk.count - The number of local disks.

    \n
  • \n
  • \n

    \n instance-storage-info.disk.size-in-gb - The storage size of each instance storage disk, in\n GB.

    \n
  • \n
  • \n

    \n instance-storage-info.disk.type - The storage technology for the local\n instance storage disks (hdd | ssd).

    \n
  • \n
  • \n

    \n instance-storage-info.encryption-support - Indicates whether data is encrypted at rest \n (required | supported | unsupported).

    \n
  • \n
  • \n

    \n instance-storage-info.nvme-support - Indicates whether non-volatile memory\n express (NVMe) is supported for instance store (required | supported |\n unsupported).

    \n
  • \n
  • \n

    \n instance-storage-info.total-size-in-gb - The total amount of storage available from all local\n instance storage, in GB.

    \n
  • \n
  • \n

    \n instance-storage-supported - Indicates whether the instance type has local\n instance storage (true | false).

    \n
  • \n
  • \n

    \n instance-type - The instance type (for example c5.2xlarge or\n c5*).

    \n
  • \n
  • \n

    \n memory-info.size-in-mib - The memory size.

    \n
  • \n
  • \n

    \n network-info.efa-info.maximum-efa-interfaces - The maximum number of Elastic \n Fabric Adapters (EFAs) per instance.

    \n
  • \n
  • \n

    \n network-info.efa-supported - Indicates whether the instance type supports\n Elastic Fabric Adapter (EFA) (true | false).

    \n
  • \n
  • \n

    \n network-info.ena-support - Indicates whether Elastic Network Adapter (ENA) is\n supported or required (required | supported |\n unsupported).

    \n
  • \n
  • \n

    \n network-info.encryption-in-transit-supported - Indicates whether the instance type \n automatically encrypts in-transit traffic between instances (true | false).

    \n
  • \n
  • \n

    \n network-info.ipv4-addresses-per-interface - The maximum number of private IPv4 addresses per\n network interface.

    \n
  • \n
  • \n

    \n network-info.ipv6-addresses-per-interface - The maximum number of private IPv6 addresses per\n network interface.

    \n
  • \n
  • \n

    \n network-info.ipv6-supported - Indicates whether the instance type supports IPv6 (true | false).

    \n
  • \n
  • \n

    \n network-info.maximum-network-cards - The maximum number of network cards per\n instance.

    \n
  • \n
  • \n

    \n network-info.maximum-network-interfaces - The maximum number of network interfaces per instance.

    \n
  • \n
  • \n

    \n network-info.network-performance - The network performance (for example, \"25\n Gigabit\").

    \n
  • \n
  • \n

    \n processor-info.supported-architecture - The CPU architecture\n (arm64 | i386 | x86_64).

    \n
  • \n
  • \n

    \n processor-info.sustained-clock-speed-in-ghz - The CPU clock speed, in GHz.

    \n
  • \n
  • \n

    \n supported-boot-mode - The boot mode (legacy-bios |\n uefi).

    \n
  • \n
  • \n

    \n supported-root-device-type - The root device type (ebs |\n instance-store).

    \n
  • \n
  • \n

    \n supported-usage-class - The usage class (on-demand |\n spot).

    \n
  • \n
  • \n

    \n supported-virtualization-type - The virtualization type (hvm |\n paravirtual).

    \n
  • \n
  • \n

    \n vcpu-info.default-cores - The default number of cores for the instance type.

    \n
  • \n
  • \n

    \n vcpu-info.default-threads-per-core - The default number of threads per core for the instance\n type.

    \n
  • \n
  • \n

    \n vcpu-info.default-vcpus - The default number of vCPUs for the instance type.

    \n
  • \n
  • \n

    \n vcpu-info.valid-cores - The number of cores that can be configured for the instance type.

    \n
  • \n
  • \n

    \n vcpu-info.valid-threads-per-core - The number of threads per core that can be configured for the instance type.\n For example, \"1\" or \"1,2\".

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum duration (in seconds) to filter when searching for offerings.

\n

Default: 94608000 (3 years)

" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#DITMaxResults", + "MaxInstanceCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining results\n can be seen by sending another request with the next token value.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of instances to filter when searching for offerings.

\n

Default: 20

" } }, - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "MinDuration": { + "target": "com.amazonaws.ec2#Long", "traits": { - "smithy.api#documentation": "

The token to retrieve the next page of results.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The minimum duration (in seconds) to filter when searching for offerings.

\n

Default: 2592000 (1 month)

" } - } - } - }, - "com.amazonaws.ec2#DescribeInstanceTypesResult": { - "type": "structure", - "members": { - "InstanceTypes": { - "target": "com.amazonaws.ec2#InstanceTypeInfoList", + }, + "OfferingClass": { + "target": "com.amazonaws.ec2#OfferingClassType", "traits": { - "aws.protocols#ec2QueryName": "InstanceTypeSet", - "smithy.api#documentation": "

The instance type. For more information, see Instance types in the Amazon EC2 User Guide.

", - "smithy.api#xmlName": "instanceTypeSet" + "smithy.api#documentation": "

The offering class of the Reserved Instance. Can be standard or convertible.

" + } + }, + "ProductDescription": { + "target": "com.amazonaws.ec2#RIProductDescription", + "traits": { + "smithy.api#documentation": "

The Reserved Instance product platform description. Instances that include (Amazon\n VPC) in the description are for use with Amazon VPC.

" + } + }, + "ReservedInstancesOfferingIds": { + "target": "com.amazonaws.ec2#ReservedInstancesOfferingIdStringList", + "traits": { + "smithy.api#documentation": "

One or more Reserved Instances offering IDs.

", + "smithy.api#xmlName": "ReservedInstancesOfferingId" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + }, + "InstanceTenancy": { + "target": "com.amazonaws.ec2#Tenancy", + "traits": { + "aws.protocols#ec2QueryName": "InstanceTenancy", + "smithy.api#documentation": "

The tenancy of the instances covered by the reservation. A Reserved Instance with a tenancy\n of dedicated is applied to instances that run in a VPC on single-tenant hardware\n (i.e., Dedicated Instances).

\n

\n Important: The host value cannot be used with this parameter. Use the default or dedicated values only.

\n

Default: default\n

", + "smithy.api#xmlName": "instanceTenancy" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "MaxResults", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining\n\t\t\tresults of the initial request can be seen by sending another request with the returned\n\t\t\t\tNextToken value. The maximum is 100.

\n

Default: 100

", + "smithy.api#xmlName": "maxResults" } }, "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there\n are no more results to return.

", + "smithy.api#documentation": "

The token to retrieve the next page of results.

", "smithy.api#xmlName": "nextToken" } + }, + "OfferingType": { + "target": "com.amazonaws.ec2#OfferingTypeValues", + "traits": { + "aws.protocols#ec2QueryName": "OfferingType", + "smithy.api#documentation": "

The Reserved Instance offering type. If you are using tools that predate the 2011-11-01 API\n\t\t\tversion, you only have access to the Medium Utilization Reserved Instance\n\t\t\toffering type.

", + "smithy.api#xmlName": "offeringType" + } } - } - }, - "com.amazonaws.ec2#DescribeInstances": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DescribeInstancesRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DescribeInstancesResult" }, - "traits": { - "smithy.api#documentation": "

Describes the specified instances or all instances.

\n

If you specify instance IDs, the output includes information for only the specified\n instances. If you specify filters, the output includes information for only those\n instances that meet the filter criteria. If you do not specify instance IDs or filters,\n the output includes information for all instances, which can affect performance. We\n recommend that you use pagination to ensure that the operation returns quickly and\n successfully.

\n

If you specify an instance ID that is not valid, an error is returned. If you specify\n an instance that you do not own, it is not included in the output.

\n

Recently terminated instances might appear in the returned results. This interval is\n usually less than one hour.

\n

If you describe instances in the rare case where an Availability Zone is experiencing\n a service disruption and you specify instance IDs that are in the affected zone, or do\n not specify any instance IDs at all, the call fails. If you describe instances and\n specify only instance IDs that are in an unaffected zone, the call works\n normally.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "Reservations", - "pageSize": "MaxResults" - }, - "smithy.api#suppress": [ - "WaitableTraitInvalidErrorType" - ], - "smithy.waiters#waitable": { - "InstanceExists": { - "acceptors": [ - { - "state": "success", - "matcher": { - "output": { - "path": "length(Reservations[]) > `0`", - "expected": "true", - "comparator": "booleanEquals" - } - } - }, - { - "state": "retry", - "matcher": { - "errorType": "InvalidInstanceID.NotFound" - } - } - ], - "minDelay": 5 - }, - "InstanceRunning": { - "acceptors": [ - { - "state": "success", - "matcher": { - "output": { - "path": "Reservations[].Instances[].State.Name", - "expected": "running", - "comparator": "allStringEquals" - } - } - }, - { - "state": "failure", - "matcher": { - "output": { - "path": "Reservations[].Instances[].State.Name", - "expected": "shutting-down", - "comparator": "anyStringEquals" - } - } - }, - { - "state": "failure", - "matcher": { - "output": { - "path": "Reservations[].Instances[].State.Name", - "expected": "terminated", - "comparator": "anyStringEquals" - } - } - }, - { - "state": "failure", - "matcher": { - "output": { - "path": "Reservations[].Instances[].State.Name", - "expected": "stopping", - "comparator": "anyStringEquals" - } - } - }, - { - "state": "retry", - "matcher": { - "errorType": "InvalidInstanceID.NotFound" - } - } - ], - "minDelay": 15 - }, - "InstanceStopped": { - "acceptors": [ - { - "state": "success", - "matcher": { - "output": { - "path": "Reservations[].Instances[].State.Name", - "expected": "stopped", - "comparator": "allStringEquals" - } - } - }, - { - "state": "failure", - "matcher": { - "output": { - "path": "Reservations[].Instances[].State.Name", - "expected": "pending", - "comparator": "anyStringEquals" - } - } - }, - { - "state": "failure", - "matcher": { - "output": { - "path": "Reservations[].Instances[].State.Name", - "expected": "terminated", - "comparator": "anyStringEquals" - } - } - } - ], - "minDelay": 15 - }, - "InstanceTerminated": { - "acceptors": [ - { - "state": "success", - "matcher": { - "output": { - "path": "Reservations[].Instances[].State.Name", - "expected": "terminated", - "comparator": "allStringEquals" - } - } - }, - { - "state": "failure", - "matcher": { - "output": { - "path": "Reservations[].Instances[].State.Name", - "expected": "pending", - "comparator": "anyStringEquals" - } - } - }, - { - "state": "failure", - "matcher": { - "output": { - "path": "Reservations[].Instances[].State.Name", - "expected": "stopping", - "comparator": "anyStringEquals" - } - } - } - ], - "minDelay": 15 + "traits": { + "smithy.api#documentation": "

Contains the parameters for DescribeReservedInstancesOfferings.

", + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DescribeReservedInstancesOfferingsResult": { + "type": "structure", + "members": { + "ReservedInstancesOfferings": { + "target": "com.amazonaws.ec2#ReservedInstancesOfferingList", + "traits": { + "aws.protocols#ec2QueryName": "ReservedInstancesOfferingsSet", + "smithy.api#documentation": "

A list of Reserved Instances offerings.

", + "smithy.api#xmlName": "reservedInstancesOfferingsSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when\n\t\t\tthere are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of DescribeReservedInstancesOfferings.

" } }, - "com.amazonaws.ec2#DescribeInstancesRequest": { + "com.amazonaws.ec2#DescribeReservedInstancesRequest": { "type": "structure", "members": { "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n affinity - The affinity setting for an instance running on a\n Dedicated Host (default | host).

    \n
  • \n
  • \n

    \n architecture - The instance architecture (i386 |\n x86_64 | arm64).

    \n
  • \n
  • \n

    \n availability-zone - The Availability Zone of the instance.

    \n
  • \n
  • \n

    \n block-device-mapping.attach-time - The attach time for an EBS\n volume mapped to the instance, for example,\n 2010-09-15T17:15:20.000Z.

    \n
  • \n
  • \n

    \n block-device-mapping.delete-on-termination - A Boolean that\n indicates whether the EBS volume is deleted on instance termination.

    \n
  • \n
  • \n

    \n block-device-mapping.device-name - The device name specified in the\n block device mapping (for example, /dev/sdh or\n xvdh).

    \n
  • \n
  • \n

    \n block-device-mapping.status - The status for the EBS volume\n (attaching | attached | detaching |\n detached).

    \n
  • \n
  • \n

    \n block-device-mapping.volume-id - The volume ID of the EBS\n volume.

    \n
  • \n
  • \n

    \n capacity-reservation-id - The ID of the Capacity Reservation into which the\n instance was launched.

    \n
  • \n
  • \n

    \n client-token - The idempotency token you provided when you launched\n the instance.

    \n
  • \n
  • \n

    \n dns-name - The public DNS name of the instance.

    \n
  • \n
  • \n

    \n group-id - The ID of the security group for the instance.\n EC2-Classic only.

    \n
  • \n
  • \n

    \n group-name - The name of the security group for the instance.\n EC2-Classic only.

    \n
  • \n
  • \n

    \n hibernation-options.configured - A Boolean that indicates whether\n the instance is enabled for hibernation. A value of true means that\n the instance is enabled for hibernation.

    \n
  • \n
  • \n

    \n host-id - The ID of the Dedicated Host on which the instance is\n running, if applicable.

    \n
  • \n
  • \n

    \n hypervisor - The hypervisor type of the instance\n (ovm | xen). The value xen is used\n for both Xen and Nitro hypervisors.

    \n
  • \n
  • \n

    \n iam-instance-profile.arn - The instance profile associated with\n the instance. Specified as an ARN.

    \n
  • \n
  • \n

    \n image-id - The ID of the image used to launch the\n instance.

    \n
  • \n
  • \n

    \n instance-id - The ID of the instance.

    \n
  • \n
  • \n

    \n instance-lifecycle - Indicates whether this is a Spot Instance or\n a Scheduled Instance (spot | scheduled).

    \n
  • \n
  • \n

    \n instance-state-code - The state of the instance, as a 16-bit\n unsigned integer. The high byte is used for internal purposes and should be\n ignored. The low byte is set based on the state represented. The valid values\n are: 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64\n (stopping), and 80 (stopped).

    \n
  • \n
  • \n

    \n instance-state-name - The state of the instance\n (pending | running | shutting-down |\n terminated | stopping |\n stopped).

    \n
  • \n
  • \n

    \n instance-type - The type of instance (for example,\n t2.micro).

    \n
  • \n
  • \n

    \n instance.group-id - The ID of the security group for the\n instance.

    \n
  • \n
  • \n

    \n instance.group-name - The name of the security group for the\n instance.

    \n
  • \n
  • \n

    \n ip-address - The public IPv4 address of the instance.

    \n
  • \n
  • \n

    \n kernel-id - The kernel ID.

    \n
  • \n
  • \n

    \n key-name - The name of the key pair used when the instance was\n launched.

    \n
  • \n
  • \n

    \n launch-index - When launching multiple instances, this is the\n index for the instance in the launch group (for example, 0, 1, 2, and so on).\n

    \n
  • \n
  • \n

    \n launch-time - The time when the instance was launched, in the ISO\n 8601 format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example,\n 2021-09-29T11:04:43.305Z. You can use a wildcard\n (*), for example, 2021-09-29T*, which matches an\n entire day.

    \n
  • \n
  • \n

    \n metadata-options.http-tokens - The metadata request authorization\n state (optional | required)

    \n
  • \n
  • \n

    \n metadata-options.http-put-response-hop-limit - The http metadata\n request put response hop limit (integer, possible values 1 to\n 64)

    \n
  • \n
  • \n

    \n metadata-options.http-endpoint - Enable or disable metadata\n access on http endpoint (enabled | disabled)

    \n
  • \n
  • \n

    \n monitoring-state - Indicates whether detailed monitoring is\n enabled (disabled | enabled).

    \n
  • \n
  • \n

    \n network-interface.addresses.private-ip-address - The private IPv4\n address associated with the network interface.

    \n
  • \n
  • \n

    \n network-interface.addresses.primary - Specifies whether the IPv4\n address of the network interface is the primary private IPv4 address.

    \n
  • \n
  • \n

    \n network-interface.addresses.association.public-ip - The ID of the\n association of an Elastic IP address (IPv4) with a network interface.

    \n
  • \n
  • \n

    \n network-interface.addresses.association.ip-owner-id - The owner\n ID of the private IPv4 address associated with the network interface.

    \n
  • \n
  • \n

    \n network-interface.association.public-ip - The address of the\n Elastic IP address (IPv4) bound to the network interface.

    \n
  • \n
  • \n

    \n network-interface.association.ip-owner-id - The owner of the\n Elastic IP address (IPv4) associated with the network interface.

    \n
  • \n
  • \n

    \n network-interface.association.allocation-id - The allocation ID\n returned when you allocated the Elastic IP address (IPv4) for your network\n interface.

    \n
  • \n
  • \n

    \n network-interface.association.association-id - The association ID\n returned when the network interface was associated with an IPv4 address.

    \n
  • \n
  • \n

    \n network-interface.attachment.attachment-id - The ID of the\n interface attachment.

    \n
  • \n
  • \n

    \n network-interface.attachment.instance-id - The ID of the instance\n to which the network interface is attached.

    \n
  • \n
  • \n

    \n network-interface.attachment.instance-owner-id - The owner ID of\n the instance to which the network interface is attached.

    \n
  • \n
  • \n

    \n network-interface.attachment.device-index - The device index to\n which the network interface is attached.

    \n
  • \n
  • \n

    \n network-interface.attachment.status - The status of the\n attachment (attaching | attached |\n detaching | detached).

    \n
  • \n
  • \n

    \n network-interface.attachment.attach-time - The time that the\n network interface was attached to an instance.

    \n
  • \n
  • \n

    \n network-interface.attachment.delete-on-termination - Specifies\n whether the attachment is deleted when an instance is terminated.

    \n
  • \n
  • \n

    \n network-interface.availability-zone - The Availability Zone for\n the network interface.

    \n
  • \n
  • \n

    \n network-interface.description - The description of the network\n interface.

    \n
  • \n
  • \n

    \n network-interface.group-id - The ID of a security group\n associated with the network interface.

    \n
  • \n
  • \n

    \n network-interface.group-name - The name of a security group\n associated with the network interface.

    \n
  • \n
  • \n

    \n network-interface.ipv6-addresses.ipv6-address - The IPv6 address\n associated with the network interface.

    \n
  • \n
  • \n

    \n network-interface.mac-address - The MAC address of the network\n interface.

    \n
  • \n
  • \n

    \n network-interface.network-interface-id - The ID of the network\n interface.

    \n
  • \n
  • \n

    \n network-interface.owner-id - The ID of the owner of the network\n interface.

    \n
  • \n
  • \n

    \n network-interface.private-dns-name - The private DNS name of the\n network interface.

    \n
  • \n
  • \n

    \n network-interface.requester-id - The requester ID for the network\n interface.

    \n
  • \n
  • \n

    \n network-interface.requester-managed - Indicates whether the\n network interface is being managed by Amazon Web Services.

    \n
  • \n
  • \n

    \n network-interface.status - The status of the network interface\n (available) | in-use).

    \n
  • \n
  • \n

    \n network-interface.source-dest-check - Whether the network\n interface performs source/destination checking. A value of true\n means that checking is enabled, and false means that checking is\n disabled. The value must be false for the network interface to\n perform network address translation (NAT) in your VPC.

    \n
  • \n
  • \n

    \n network-interface.subnet-id - The ID of the subnet for the\n network interface.

    \n
  • \n
  • \n

    \n network-interface.vpc-id - The ID of the VPC for the network\n interface.

    \n
  • \n
  • \n

    \n outpost-arn - The Amazon Resource Name (ARN) of the\n Outpost.

    \n
  • \n
  • \n

    \n owner-id - The Amazon Web Services account ID of the instance\n owner.

    \n
  • \n
  • \n

    \n placement-group-name - The name of the placement group for the\n instance.

    \n
  • \n
  • \n

    \n placement-partition-number - The partition in which the instance is\n located.

    \n
  • \n
  • \n

    \n platform - The platform. To list only Windows instances, use\n windows.

    \n
  • \n
  • \n

    \n private-dns-name - The private IPv4 DNS name of the\n instance.

    \n
  • \n
  • \n

    \n private-ip-address - The private IPv4 address of the\n instance.

    \n
  • \n
  • \n

    \n product-code - The product code associated with the AMI used to\n launch the instance.

    \n
  • \n
  • \n

    \n product-code.type - The type of product code (devpay |\n marketplace).

    \n
  • \n
  • \n

    \n ramdisk-id - The RAM disk ID.

    \n
  • \n
  • \n

    \n reason - The reason for the current state of the instance (for\n example, shows \"User Initiated [date]\" when you stop or terminate the instance).\n Similar to the state-reason-code filter.

    \n
  • \n
  • \n

    \n requester-id - The ID of the entity that launched the instance on\n your behalf (for example, Amazon Web Services Management Console, Auto Scaling, and so\n on).

    \n
  • \n
  • \n

    \n reservation-id - The ID of the instance's reservation. A\n reservation ID is created any time you launch an instance. A reservation ID has\n a one-to-one relationship with an instance launch request, but can be associated\n with more than one instance if you launch multiple instances using the same\n launch request. For example, if you launch one instance, you get one reservation\n ID. If you launch ten instances using the same launch request, you also get one\n reservation ID.

    \n
  • \n
  • \n

    \n root-device-name - The device name of the root device volume (for\n example, /dev/sda1).

    \n
  • \n
  • \n

    \n root-device-type - The type of the root device volume\n (ebs | instance-store).

    \n
  • \n
  • \n

    \n source-dest-check - Indicates whether the instance performs\n source/destination checking. A value of true means that checking is\n enabled, and false means that checking is disabled. The value must\n be false for the instance to perform network address translation\n (NAT) in your VPC.

    \n
  • \n
  • \n

    \n spot-instance-request-id - The ID of the Spot Instance\n request.

    \n
  • \n
  • \n

    \n state-reason-code - The reason code for the state change.

    \n
  • \n
  • \n

    \n state-reason-message - A message that describes the state\n change.

    \n
  • \n
  • \n

    \n subnet-id - The ID of the subnet for the instance.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n tenancy - The tenancy of an instance (dedicated |\n default | host).

    \n
  • \n
  • \n

    \n virtualization-type - The virtualization type of the instance\n (paravirtual | hvm).

    \n
  • \n
  • \n

    \n vpc-id - The ID of the VPC that the instance is running in.

    \n
  • \n
", + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n availability-zone - The Availability Zone where the Reserved Instance can be used.

    \n
  • \n
  • \n

    \n duration - The duration of the Reserved Instance (one year or three years), in seconds (31536000 | 94608000).

    \n
  • \n
  • \n

    \n end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).

    \n
  • \n
  • \n

    \n fixed-price - The purchase price of the Reserved Instance (for example, 9800.0).

    \n
  • \n
  • \n

    \n instance-type - The instance type that is covered by the reservation.

    \n
  • \n
  • \n

    \n scope - The scope of the Reserved Instance (Region or Availability Zone).

    \n
  • \n
  • \n

    \n product-description - The Reserved Instance product platform\n description. Instances that include (Amazon VPC) in the product platform\n description will only be displayed to EC2-Classic account holders and are for use with\n Amazon VPC (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE\n Linux | SUSE Linux (Amazon VPC) | Red Hat Enterprise\n Linux | Red Hat Enterprise Linux (Amazon VPC) | Red Hat\n Enterprise Linux with HA (Amazon VPC) | Windows | Windows\n (Amazon VPC) | Windows with SQL Server Standard | Windows with\n SQL Server Standard (Amazon VPC) | Windows with SQL Server Web |\n Windows with SQL Server Web (Amazon VPC) | Windows with SQL Server\n Enterprise | Windows with SQL Server Enterprise (Amazon\n VPC)).

    \n
  • \n
  • \n

    \n reserved-instances-id - The ID of the Reserved Instance.

    \n
  • \n
  • \n

    \n start - The time at which the Reserved Instance purchase request was placed (for example, 2014-08-07T11:54:42.000Z).

    \n
  • \n
  • \n

    \n state - The state of the Reserved Instance (payment-pending | active | payment-failed | retired).

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n usage-price - The usage price of the Reserved Instance, per hour (for example, 0.84).

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, - "InstanceIds": { - "target": "com.amazonaws.ec2#InstanceIdStringList", + "OfferingClass": { + "target": "com.amazonaws.ec2#OfferingClassType", "traits": { - "smithy.api#documentation": "

The instance IDs.

\n

Default: Describes all your instances.

", - "smithy.api#xmlName": "InstanceId" + "smithy.api#documentation": "

Describes whether the Reserved Instance is Standard or Convertible.

" + } + }, + "ReservedInstancesIds": { + "target": "com.amazonaws.ec2#ReservedInstancesIdStringList", + "traits": { + "smithy.api#documentation": "

One or more Reserved Instance IDs.

\n

Default: Describes all your Reserved Instances, or only those otherwise specified.

", + "smithy.api#xmlName": "ReservedInstancesId" } }, "DryRun": { @@ -28289,112 +32689,75 @@ "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", "smithy.api#xmlName": "dryRun" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "aws.protocols#ec2QueryName": "MaxResults", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining\n results, make another call with the returned NextToken value. This value\n can be between 5 and 1000. You cannot specify this parameter and the instance IDs\n parameter in the same call.

", - "smithy.api#xmlName": "maxResults" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "OfferingType": { + "target": "com.amazonaws.ec2#OfferingTypeValues", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to request the next page of results.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "OfferingType", + "smithy.api#documentation": "

The Reserved Instance offering type. If you are using tools that predate the 2011-11-01 API\n\t\t\tversion, you only have access to the Medium Utilization Reserved Instance\n\t\t\toffering type.

", + "smithy.api#xmlName": "offeringType" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for DescribeReservedInstances.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeInstancesResult": { + "com.amazonaws.ec2#DescribeReservedInstancesResult": { "type": "structure", "members": { - "Reservations": { - "target": "com.amazonaws.ec2#ReservationList", - "traits": { - "aws.protocols#ec2QueryName": "ReservationSet", - "smithy.api#documentation": "

Information about the reservations.

", - "smithy.api#xmlName": "reservationSet" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "ReservedInstances": { + "target": "com.amazonaws.ec2#ReservedInstancesList", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null\n when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "ReservedInstancesSet", + "smithy.api#documentation": "

A list of Reserved Instances.

", + "smithy.api#xmlName": "reservedInstancesSet" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the output for DescribeReservedInstances.

" } }, - "com.amazonaws.ec2#DescribeInternetGateways": { + "com.amazonaws.ec2#DescribeRouteTables": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeInternetGatewaysRequest" + "target": "com.amazonaws.ec2#DescribeRouteTablesRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeInternetGatewaysResult" + "target": "com.amazonaws.ec2#DescribeRouteTablesResult" }, "traits": { - "smithy.api#documentation": "

Describes one or more of your internet gateways.

", + "smithy.api#documentation": "

Describes one or more of your route tables.

\n

Each subnet in your VPC must be associated with a route table. If a subnet is not explicitly associated with any route table, it is implicitly associated with the main route table. This command does not return the subnet ID for implicit associations.

\n

For more information, see Route tables in the\n\t\t\t\tAmazon Virtual Private Cloud User Guide.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "InternetGateways", + "items": "RouteTables", "pageSize": "MaxResults" - }, - "smithy.api#suppress": [ - "WaitableTraitInvalidErrorType" - ], - "smithy.waiters#waitable": { - "InternetGatewayExists": { - "acceptors": [ - { - "state": "success", - "matcher": { - "output": { - "path": "length(InternetGateways[].InternetGatewayId) > `0`", - "expected": "true", - "comparator": "booleanEquals" - } - } - }, - { - "state": "retry", - "matcher": { - "errorType": "InvalidInternetGateway.NotFound" - } - } - ], - "minDelay": 5 - } } } }, - "com.amazonaws.ec2#DescribeInternetGatewaysMaxResults": { + "com.amazonaws.ec2#DescribeRouteTablesMaxResults": { "type": "integer", "traits": { "smithy.api#default": 0, "smithy.api#range": { "min": 5, - "max": 1000 + "max": 100 } } }, - "com.amazonaws.ec2#DescribeInternetGatewaysRequest": { + "com.amazonaws.ec2#DescribeRouteTablesRequest": { "type": "structure", "members": { "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n attachment.state - The current state of the attachment between the gateway\n and the VPC (available). Present only if a VPC is attached.

    \n
  • \n
  • \n

    \n attachment.vpc-id - The ID of an attached VPC.

    \n
  • \n
  • \n

    \n internet-gateway-id - The ID of the Internet gateway.

    \n
  • \n
  • \n

    \n owner-id - The ID of the Amazon Web Services account that owns the internet gateway.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
", + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n association.route-table-association-id - The ID of an association\n ID for the route table.

    \n
  • \n
  • \n

    \n association.route-table-id - The ID of the route table involved in\n the association.

    \n
  • \n
  • \n

    \n association.subnet-id - The ID of the subnet involved in the\n association.

    \n
  • \n
  • \n

    \n association.main - Indicates whether the route table is the main\n route table for the VPC (true | false). Route tables\n that do not have an association ID are not returned in the response.

    \n
  • \n
  • \n

    \n owner-id - The ID of the Amazon Web Services account that owns the route table.

    \n
  • \n
  • \n

    \n route-table-id - The ID of the route table.

    \n
  • \n
  • \n

    \n route.destination-cidr-block - The IPv4 CIDR range specified in a\n route in the table.

    \n
  • \n
  • \n

    \n route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in a route in the route table.

    \n
  • \n
  • \n

    \n route.destination-prefix-list-id - The ID (prefix) of the Amazon Web Service\n specified in a route in the table.

    \n
  • \n
  • \n

    \n route.egress-only-internet-gateway-id - The ID of an\n egress-only Internet gateway specified in a route in the route table.

    \n
  • \n
  • \n

    \n route.gateway-id - The ID of a gateway specified in a route in the table.

    \n
  • \n
  • \n

    \n route.instance-id - The ID of an instance specified in a route in the table.

    \n
  • \n
  • \n

    \n route.nat-gateway-id - The ID of a NAT gateway.

    \n
  • \n
  • \n

    \n route.transit-gateway-id - The ID of a transit gateway.

    \n
  • \n
  • \n

    \n route.origin - Describes how the route was created. \n CreateRouteTable indicates that the route was automatically\n created when the route table was created; CreateRoute indicates\n that the route was manually added to the route table;\n EnableVgwRoutePropagation indicates that the route was\n propagated by route propagation.

    \n
  • \n
  • \n

    \n route.state - The state of a route in the route table\n (active | blackhole). The blackhole state\n indicates that the route's target isn't available (for example, the specified\n gateway isn't attached to the VPC, the specified NAT instance has been\n terminated, and so on).

    \n
  • \n
  • \n

    \n route.vpc-peering-connection-id - The ID of a VPC peering\n\t\t connection specified in a route in the table.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n vpc-id - The ID of the VPC for the route table.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, @@ -28408,12 +32771,11 @@ "smithy.api#xmlName": "dryRun" } }, - "InternetGatewayIds": { - "target": "com.amazonaws.ec2#InternetGatewayIdList", + "RouteTableIds": { + "target": "com.amazonaws.ec2#RouteTableIdStringList", "traits": { - "aws.protocols#ec2QueryName": "InternetGatewayId", - "smithy.api#documentation": "

One or more internet gateway IDs.

\n

Default: Describes all your internet gateways.

", - "smithy.api#xmlName": "internetGatewayId" + "smithy.api#documentation": "

One or more route table IDs.

\n

Default: Describes all your route tables.

", + "smithy.api#xmlName": "RouteTableId" } }, "NextToken": { @@ -28423,24 +32785,27 @@ } }, "MaxResults": { - "target": "com.amazonaws.ec2#DescribeInternetGatewaysMaxResults", + "target": "com.amazonaws.ec2#DescribeRouteTablesMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeInternetGatewaysResult": { + "com.amazonaws.ec2#DescribeRouteTablesResult": { "type": "structure", "members": { - "InternetGateways": { - "target": "com.amazonaws.ec2#InternetGatewayList", + "RouteTables": { + "target": "com.amazonaws.ec2#RouteTableList", "traits": { - "aws.protocols#ec2QueryName": "InternetGatewaySet", - "smithy.api#documentation": "

Information about one or more internet gateways.

", - "smithy.api#xmlName": "internetGatewaySet" + "aws.protocols#ec2QueryName": "RouteTableSet", + "smithy.api#documentation": "

Information about one or more route tables.

", + "smithy.api#xmlName": "routeTableSet" } }, "NextToken": { @@ -28451,27 +32816,40 @@ "smithy.api#xmlName": "nextToken" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of DescribeRouteTables.

" } }, - "com.amazonaws.ec2#DescribeIpamPools": { + "com.amazonaws.ec2#DescribeScheduledInstanceAvailability": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeIpamPoolsRequest" + "target": "com.amazonaws.ec2#DescribeScheduledInstanceAvailabilityRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeIpamPoolsResult" + "target": "com.amazonaws.ec2#DescribeScheduledInstanceAvailabilityResult" }, "traits": { - "smithy.api#documentation": "

Get information about your IPAM pools.

", + "smithy.api#documentation": "

Finds available schedules that meet the specified criteria.

\n

You can search for an available schedule no more than 3 months in advance. You must meet the minimum required duration of 1,200 hours per year. For example, the minimum daily schedule is 4 hours, the minimum weekly schedule is 24 hours, and the minimum monthly schedule is 100 hours.

\n

After you find a schedule that meets your needs, call PurchaseScheduledInstances\n to purchase Scheduled Instances with that schedule.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "IpamPools", + "items": "ScheduledInstanceAvailabilitySet", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeIpamPoolsRequest": { + "com.amazonaws.ec2#DescribeScheduledInstanceAvailabilityMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 300 + } + } + }, + "com.amazonaws.ec2#DescribeScheduledInstanceAvailabilityRequest": { "type": "structure", "members": { "DryRun": { @@ -28479,260 +32857,559 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters for the request. For more information about filtering, see Filtering CLI output.

", + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n availability-zone - The Availability Zone (for example, us-west-2a).

    \n
  • \n
  • \n

    \n instance-type - The instance type (for example, c4.large).

    \n
  • \n
  • \n

    \n network-platform - The network platform (EC2-Classic or EC2-VPC).

    \n
  • \n
  • \n

    \n platform - The platform (Linux/UNIX or Windows).

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, + "FirstSlotStartTimeRange": { + "target": "com.amazonaws.ec2#SlotDateTimeRangeRequest", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The time period for the first schedule to start.

", + "smithy.api#required": {} + } + }, "MaxResults": { - "target": "com.amazonaws.ec2#IpamMaxResults", + "target": "com.amazonaws.ec2#DescribeScheduledInstanceAvailabilityMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in the request.

" + "smithy.api#documentation": "

The maximum number of results to return in a single call. \n This value can be between 5 and 300. The default value is 300.\n To retrieve the remaining results, make another call with the returned\n NextToken value.

" + } + }, + "MaxSlotDurationInHours": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum available duration, in hours. This value must be greater than MinSlotDurationInHours\n and less than 1,720.

" + } + }, + "MinSlotDurationInHours": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The minimum available duration, in hours. The minimum required duration is 1,200 hours per year. For example, the minimum daily schedule is 4 hours, the minimum weekly schedule is 24 hours, and the minimum monthly schedule is 100 hours.

" } }, "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "smithy.api#documentation": "

The token for the next set of results.

" } }, - "IpamPoolIds": { - "target": "com.amazonaws.ec2#ValueStringList", + "Recurrence": { + "target": "com.amazonaws.ec2#ScheduledInstanceRecurrenceRequest", "traits": { - "smithy.api#documentation": "

The IDs of the IPAM pools you would like information on.

", - "smithy.api#xmlName": "IpamPoolId" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The schedule recurrence.

", + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for DescribeScheduledInstanceAvailability.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeIpamPoolsResult": { + "com.amazonaws.ec2#DescribeScheduledInstanceAvailabilityResult": { "type": "structure", "members": { "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#documentation": "

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } }, - "IpamPools": { - "target": "com.amazonaws.ec2#IpamPoolSet", + "ScheduledInstanceAvailabilitySet": { + "target": "com.amazonaws.ec2#ScheduledInstanceAvailabilitySet", "traits": { - "aws.protocols#ec2QueryName": "IpamPoolSet", - "smithy.api#documentation": "

Information about the IPAM pools.

", - "smithy.api#xmlName": "ipamPoolSet" + "aws.protocols#ec2QueryName": "ScheduledInstanceAvailabilitySet", + "smithy.api#documentation": "

Information about the available Scheduled Instances.

", + "smithy.api#xmlName": "scheduledInstanceAvailabilitySet" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of DescribeScheduledInstanceAvailability.

" } }, - "com.amazonaws.ec2#DescribeIpamScopes": { + "com.amazonaws.ec2#DescribeScheduledInstances": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeIpamScopesRequest" + "target": "com.amazonaws.ec2#DescribeScheduledInstancesRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeIpamScopesResult" + "target": "com.amazonaws.ec2#DescribeScheduledInstancesResult" }, "traits": { - "smithy.api#documentation": "

Get information about your IPAM scopes.

", + "smithy.api#documentation": "

Describes the specified Scheduled Instances or all your Scheduled Instances.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "IpamScopes", + "items": "ScheduledInstanceSet", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#DescribeScheduledInstancesRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n availability-zone - The Availability Zone (for example, us-west-2a).

    \n
  • \n
  • \n

    \n instance-type - The instance type (for example, c4.large).

    \n
  • \n
  • \n

    \n network-platform - The network platform (EC2-Classic or EC2-VPC).

    \n
  • \n
  • \n

    \n platform - The platform (Linux/UNIX or Windows).

    \n
  • \n
", + "smithy.api#xmlName": "Filter" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return in a single call. \n This value can be between 5 and 300. The default value is 100.\n To retrieve the remaining results, make another call with the returned\n NextToken value.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token for the next set of results.

" + } + }, + "ScheduledInstanceIds": { + "target": "com.amazonaws.ec2#ScheduledInstanceIdRequestSet", + "traits": { + "smithy.api#documentation": "

The Scheduled Instance IDs.

", + "smithy.api#xmlName": "ScheduledInstanceId" + } + }, + "SlotStartTimeRange": { + "target": "com.amazonaws.ec2#SlotStartTimeRangeRequest", + "traits": { + "smithy.api#documentation": "

The time period for the first schedule to start.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for DescribeScheduledInstances.

", + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DescribeScheduledInstancesResult": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" + } + }, + "ScheduledInstanceSet": { + "target": "com.amazonaws.ec2#ScheduledInstanceSet", + "traits": { + "aws.protocols#ec2QueryName": "ScheduledInstanceSet", + "smithy.api#documentation": "

Information about the Scheduled Instances.

", + "smithy.api#xmlName": "scheduledInstanceSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of DescribeScheduledInstances.

" + } + }, + "com.amazonaws.ec2#DescribeSecurityGroupReferences": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeSecurityGroupReferencesRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeSecurityGroupReferencesResult" + }, + "traits": { + "smithy.api#documentation": "

[VPC only] Describes the VPCs on the other side of a VPC peering connection that are referencing the security groups you've specified in this request.

" + } + }, + "com.amazonaws.ec2#DescribeSecurityGroupReferencesRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "GroupId": { + "target": "com.amazonaws.ec2#GroupIds", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The IDs of the security groups in your account.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DescribeSecurityGroupReferencesResult": { + "type": "structure", + "members": { + "SecurityGroupReferenceSet": { + "target": "com.amazonaws.ec2#SecurityGroupReferences", + "traits": { + "aws.protocols#ec2QueryName": "SecurityGroupReferenceSet", + "smithy.api#documentation": "

Information about the VPCs with the referencing security groups.

", + "smithy.api#xmlName": "securityGroupReferenceSet" + } + } + } + }, + "com.amazonaws.ec2#DescribeSecurityGroupRules": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeSecurityGroupRulesRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeSecurityGroupRulesResult" + }, + "traits": { + "smithy.api#documentation": "

Describes one or more of your security group rules.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "SecurityGroupRules", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#DescribeSecurityGroupRulesMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#DescribeSecurityGroupRulesRequest": { + "type": "structure", + "members": { + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n group-id - The ID of the security group.

    \n
  • \n
  • \n

    \n security-group-rule-id - The ID of the security group rule.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" + } + }, + "SecurityGroupRuleIds": { + "target": "com.amazonaws.ec2#SecurityGroupRuleIdList", + "traits": { + "smithy.api#documentation": "

The IDs of the security group rules.

", + "smithy.api#xmlName": "SecurityGroupRuleId" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeSecurityGroupRulesMaxResults", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining\n results, make another request with the returned NextToken value. This value\n can be between 5 and 1000. If this parameter is not specified, then all results are\n returned.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DescribeSecurityGroupRulesResult": { + "type": "structure", + "members": { + "SecurityGroupRules": { + "target": "com.amazonaws.ec2#SecurityGroupRuleList", + "traits": { + "aws.protocols#ec2QueryName": "SecurityGroupRuleSet", + "smithy.api#documentation": "

Information about security group rules.

", + "smithy.api#xmlName": "securityGroupRuleSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" + } + } + } + }, + "com.amazonaws.ec2#DescribeSecurityGroups": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeSecurityGroupsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeSecurityGroupsResult" + }, + "traits": { + "smithy.api#documentation": "

Describes the specified security groups or all of your security groups.

\n

A security group is for use with instances either in the EC2-Classic platform \n\t\t\t\tor in a specific VPC. For more information, see\n\t\t\t\tAmazon EC2 security groups in \n\t\t\t\tthe Amazon Elastic Compute Cloud User Guide and \n\t\t\t\tSecurity groups for your VPC in the\n\t\t\t\tAmazon Virtual Private Cloud User Guide.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "SecurityGroups", "pageSize": "MaxResults" + }, + "smithy.api#suppress": [ + "WaitableTraitInvalidErrorType" + ], + "smithy.waiters#waitable": { + "SecurityGroupExists": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "length(SecurityGroups[].GroupId) > `0`", + "expected": "true", + "comparator": "booleanEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "errorType": "InvalidGroup.NotFound" + } + } + ], + "minDelay": 5 + } + } + } + }, + "com.amazonaws.ec2#DescribeSecurityGroupsMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 1000 } } }, - "com.amazonaws.ec2#DescribeIpamScopesRequest": { + "com.amazonaws.ec2#DescribeSecurityGroupsRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters for the request. For more information about filtering, see Filtering CLI output.

", + "smithy.api#documentation": "

The filters. If using multiple filters for rules, the results include security groups for which any combination of rules - not necessarily a single rule - match all filters.

\n
    \n
  • \n

    \n description - The description of the security group.

    \n
  • \n
  • \n

    \n egress.ip-permission.cidr - An IPv4 CIDR block for an outbound\n security group rule.

    \n
  • \n
  • \n

    \n egress.ip-permission.from-port - For an outbound rule, the\n start of port range for the TCP and UDP protocols, or an ICMP type\n number.

    \n
  • \n
  • \n

    \n egress.ip-permission.group-id - The ID of a security group\n that has been referenced in an outbound security group rule.

    \n
  • \n
  • \n

    \n egress.ip-permission.group-name - The name of a security group\n that is referenced in an outbound security group rule.

    \n
  • \n
  • \n

    \n egress.ip-permission.ipv6-cidr - An IPv6 CIDR block for an\n outbound security group rule.

    \n
  • \n
  • \n

    \n egress.ip-permission.prefix-list-id - The ID of a prefix list to which a security group rule allows outbound access.

    \n
  • \n
  • \n

    \n egress.ip-permission.protocol - The IP protocol for an\n outbound security group rule (tcp | udp |\n icmp, a protocol number, or -1 for all protocols).

    \n
  • \n
  • \n

    \n egress.ip-permission.to-port - For an outbound rule, the end\n of port range for the TCP and UDP protocols, or an ICMP code.

    \n
  • \n
  • \n

    \n egress.ip-permission.user-id - The ID of an Amazon Web Services account that\n has been referenced in an outbound security group rule.

    \n
  • \n
  • \n

    \n group-id - The ID of the security group.

    \n
  • \n
  • \n

    \n group-name - The name of the security group.

    \n
  • \n
  • \n

    \n ip-permission.cidr - An IPv4 CIDR block for an inbound security\n group rule.

    \n
  • \n
  • \n

    \n ip-permission.from-port - For an inbound rule, the start of port\n range for the TCP and UDP protocols, or an ICMP type number.

    \n
  • \n
  • \n

    \n ip-permission.group-id - The ID of a security group that has been\n referenced in an inbound security group rule.

    \n
  • \n
  • \n

    \n ip-permission.group-name - The name of a security group that is\n referenced in an inbound security group rule.

    \n
  • \n
  • \n

    \n ip-permission.ipv6-cidr - An IPv6 CIDR block for an inbound security\n group rule.

    \n
  • \n
  • \n

    \n ip-permission.prefix-list-id - The ID of a prefix list from which a security group rule allows inbound access.

    \n
  • \n
  • \n

    \n ip-permission.protocol - The IP protocol for an inbound security\n group rule (tcp | udp | icmp, a\n protocol number, or -1 for all protocols).

    \n
  • \n
  • \n

    \n ip-permission.to-port - For an inbound rule, the end of port range\n for the TCP and UDP protocols, or an ICMP code.

    \n
  • \n
  • \n

    \n ip-permission.user-id - The ID of an Amazon Web Services account that has been\n referenced in an inbound security group rule.

    \n
  • \n
  • \n

    \n owner-id - The Amazon Web Services account ID of the owner of the security group.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n vpc-id - The ID of the VPC specified when the security group was created.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#IpamMaxResults", + "GroupIds": { + "target": "com.amazonaws.ec2#GroupIdStringList", + "traits": { + "smithy.api#documentation": "

The IDs of the security groups. Required for security groups in a nondefault VPC.

\n

Default: Describes all of your security groups.

", + "smithy.api#xmlName": "GroupId" + } + }, + "GroupNames": { + "target": "com.amazonaws.ec2#GroupNameStringList", + "traits": { + "smithy.api#documentation": "

[EC2-Classic and default VPC only] The names of the security groups. You can specify either\n\t\t\tthe security group name or the security group ID. For security groups in a nondefault VPC, use\n\t\t\tthe group-name filter to describe security groups by name.

\n

Default: Describes all of your security groups.

", + "smithy.api#xmlName": "GroupName" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in the request.

" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "smithy.api#documentation": "

The token to request the next page of results.

" } }, - "IpamScopeIds": { - "target": "com.amazonaws.ec2#ValueStringList", + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeSecurityGroupsMaxResults", "traits": { - "smithy.api#documentation": "

The IDs of the scopes you want information on.

", - "smithy.api#xmlName": "IpamScopeId" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining\n results, make another request with the returned NextToken value. This value\n can be between 5 and 1000. If this parameter is not specified, then all results are\n returned.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeIpamScopesResult": { + "com.amazonaws.ec2#DescribeSecurityGroupsResult": { "type": "structure", "members": { + "SecurityGroups": { + "target": "com.amazonaws.ec2#SecurityGroupList", + "traits": { + "aws.protocols#ec2QueryName": "SecurityGroupInfo", + "smithy.api#documentation": "

Information about the security groups.

", + "smithy.api#xmlName": "securityGroupInfo" + } + }, "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } - }, - "IpamScopes": { - "target": "com.amazonaws.ec2#IpamScopeSet", - "traits": { - "aws.protocols#ec2QueryName": "IpamScopeSet", - "smithy.api#documentation": "

The scopes you want information on.

", - "smithy.api#xmlName": "ipamScopeSet" - } } } }, - "com.amazonaws.ec2#DescribeIpams": { + "com.amazonaws.ec2#DescribeSnapshotAttribute": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeIpamsRequest" + "target": "com.amazonaws.ec2#DescribeSnapshotAttributeRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeIpamsResult" + "target": "com.amazonaws.ec2#DescribeSnapshotAttributeResult" }, "traits": { - "smithy.api#documentation": "

Get information about your IPAM pools.

\n

For more information, see What is IPAM? in the Amazon VPC IPAM User Guide.\n

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "Ipams", - "pageSize": "MaxResults" - } + "smithy.api#documentation": "

Describes the specified attribute of the specified snapshot. You can specify only one\n attribute at a time.

\n

For more information about EBS snapshots, see Amazon EBS snapshots in the Amazon Elastic Compute Cloud User Guide.

" } }, - "com.amazonaws.ec2#DescribeIpamsRequest": { + "com.amazonaws.ec2#DescribeSnapshotAttributeRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Attribute": { + "target": "com.amazonaws.ec2#SnapshotAttributeName", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", - "traits": { - "smithy.api#documentation": "

One or more filters for the request. For more information about filtering, see Filtering CLI output.

", - "smithy.api#xmlName": "Filter" + "smithy.api#documentation": "

The snapshot attribute you would like to view.

", + "smithy.api#required": {} } }, - "MaxResults": { - "target": "com.amazonaws.ec2#IpamMaxResults", + "SnapshotId": { + "target": "com.amazonaws.ec2#SnapshotId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in the request.

" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", - "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "smithy.api#documentation": "

The ID of the EBS snapshot.

", + "smithy.api#required": {} } }, - "IpamIds": { - "target": "com.amazonaws.ec2#ValueStringList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The IDs of the IPAMs you want information on.

", - "smithy.api#xmlName": "IpamId" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeIpamsResult": { + "com.amazonaws.ec2#DescribeSnapshotAttributeResult": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "CreateVolumePermissions": { + "target": "com.amazonaws.ec2#CreateVolumePermissionList", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "CreateVolumePermission", + "smithy.api#documentation": "

The users and groups that have the permissions for creating volumes from the\n snapshot.

", + "smithy.api#xmlName": "createVolumePermission" } }, - "Ipams": { - "target": "com.amazonaws.ec2#IpamSet", + "ProductCodes": { + "target": "com.amazonaws.ec2#ProductCodeList", "traits": { - "aws.protocols#ec2QueryName": "IpamSet", - "smithy.api#documentation": "

Information about the IPAMs.

", - "smithy.api#xmlName": "ipamSet" + "aws.protocols#ec2QueryName": "ProductCodes", + "smithy.api#documentation": "

The product codes.

", + "smithy.api#xmlName": "productCodes" + } + }, + "SnapshotId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "SnapshotId", + "smithy.api#documentation": "

The ID of the EBS snapshot.

", + "smithy.api#xmlName": "snapshotId" } } } }, - "com.amazonaws.ec2#DescribeIpv6Pools": { + "com.amazonaws.ec2#DescribeSnapshotTierStatus": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeIpv6PoolsRequest" + "target": "com.amazonaws.ec2#DescribeSnapshotTierStatusRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeIpv6PoolsResult" + "target": "com.amazonaws.ec2#DescribeSnapshotTierStatusResult" }, "traits": { - "smithy.api#documentation": "

Describes your IPv6 address pools.

", + "smithy.api#documentation": "

Describes the storage tier status of one or more Amazon EBS snapshots.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "Ipv6Pools", + "items": "SnapshotTierStatuses", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeIpv6PoolsRequest": { + "com.amazonaws.ec2#DescribeSnapshotTierStatusMaxResults": { + "type": "integer" + }, + "com.amazonaws.ec2#DescribeSnapshotTierStatusRequest": { "type": "structure", "members": { - "PoolIds": { - "target": "com.amazonaws.ec2#Ipv6PoolIdList", - "traits": { - "smithy.api#documentation": "

The IDs of the IPv6 address pools.

", - "smithy.api#xmlName": "PoolId" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", - "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" - } - }, - "MaxResults": { - "target": "com.amazonaws.ec2#Ipv6PoolMaxResults", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n snapshot-id - The snapshot ID.

    \n
  • \n
  • \n

    \n volume-id - The ID of the volume the snapshot is for.

    \n
  • \n
  • \n

    \n last-tiering-operation - The state of the last archive or restore action. (archival-in-progress | archival-completed |\n archival-failed | permanent-restore-in-progress | permanent-restore-completed | permanent-restore-failed | \n\t\ttemporary-restore-in-progress | temporary-restore-completed | temporary-restore-failed)

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, "DryRun": { @@ -28743,28 +33420,36 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "smithy.api#documentation": "

The token for the next page of results.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeSnapshotTierStatusMaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeIpv6PoolsResult": { + "com.amazonaws.ec2#DescribeSnapshotTierStatusResult": { "type": "structure", "members": { - "Ipv6Pools": { - "target": "com.amazonaws.ec2#Ipv6PoolSet", + "SnapshotTierStatuses": { + "target": "com.amazonaws.ec2#snapshotTierStatusSet", "traits": { - "aws.protocols#ec2QueryName": "Ipv6PoolSet", - "smithy.api#documentation": "

Information about the IPv6 address pools.

", - "smithy.api#xmlName": "ipv6PoolSet" + "aws.protocols#ec2QueryName": "SnapshotTierStatusSet", + "smithy.api#documentation": "

Information about the snapshot's storage tier.

", + "smithy.api#xmlName": "snapshotTierStatusSet" } }, "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", @@ -28773,66 +33458,94 @@ } } }, - "com.amazonaws.ec2#DescribeKeyPairs": { + "com.amazonaws.ec2#DescribeSnapshots": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeKeyPairsRequest" + "target": "com.amazonaws.ec2#DescribeSnapshotsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeKeyPairsResult" + "target": "com.amazonaws.ec2#DescribeSnapshotsResult" }, "traits": { - "smithy.api#documentation": "

Describes the specified key pairs or all of your key pairs.

\n

For more information about key pairs, see Amazon EC2 key pairs \n\t\t\t\tin the Amazon Elastic Compute Cloud User Guide.

", - "smithy.api#suppress": [ - "WaitableTraitInvalidErrorType" - ], + "smithy.api#documentation": "

Describes the specified EBS snapshots available to you or all of the EBS snapshots\n available to you.

\n

The snapshots available to you include public snapshots, private snapshots that you own,\n and private snapshots owned by other Amazon Web Services accounts for which you have explicit create volume\n permissions.

\n

The create volume permissions fall into the following categories:

\n
    \n
  • \n

    \n public: The owner of the snapshot granted create volume\n permissions for the snapshot to the all group. All Amazon Web Services accounts have create\n volume permissions for these snapshots.

    \n
  • \n
  • \n

    \n explicit: The owner of the snapshot granted create volume\n permissions to a specific Amazon Web Services account.

    \n
  • \n
  • \n

    \n implicit: An Amazon Web Services account has implicit create volume permissions\n for all snapshots it owns.

    \n
  • \n
\n

The list of snapshots returned can be filtered by specifying snapshot IDs, snapshot\n owners, or Amazon Web Services accounts with create volume permissions. If no options are specified, \n Amazon EC2 returns all snapshots for which you have create volume permissions.

\n

If you specify one or more snapshot IDs, only snapshots that have the specified IDs are\n returned. If you specify an invalid snapshot ID, an error is returned. If you specify a\n snapshot ID for which you do not have access, it is not included in the returned\n results.

\n

If you specify one or more snapshot owners using the OwnerIds option, only\n snapshots from the specified owners and for which you have access are returned. The results\n can include the Amazon Web Services account IDs of the specified owners, amazon for snapshots\n owned by Amazon, or self for snapshots that you own.

\n

If you specify a list of restorable users, only snapshots with create snapshot permissions\n for those users are returned. You can specify Amazon Web Services account IDs (if you own the snapshots),\n self for snapshots for which you own or have explicit permissions, or\n all for public snapshots.

\n

If you are describing a long list of snapshots, we recommend that you paginate the output to make the\n list more manageable. The MaxResults parameter sets the maximum number of results\n returned in a single page. If the list of results exceeds your MaxResults value,\n then that number of results is returned along with a NextToken value that can be\n passed to a subsequent DescribeSnapshots request to retrieve the remaining\n results.

\n

To get the state of fast snapshot restores for a snapshot, use DescribeFastSnapshotRestores.

\n

For more information about EBS snapshots, see Amazon EBS snapshots in the Amazon Elastic Compute Cloud User Guide.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Snapshots", + "pageSize": "MaxResults" + }, "smithy.waiters#waitable": { - "KeyPairExists": { + "SnapshotCompleted": { "acceptors": [ { "state": "success", "matcher": { "output": { - "path": "length(KeyPairs[].KeyName) > `0`", - "expected": "true", - "comparator": "booleanEquals" + "path": "Snapshots[].State", + "expected": "completed", + "comparator": "allStringEquals" } } }, { - "state": "retry", + "state": "failure", "matcher": { - "errorType": "InvalidKeyPair.NotFound" + "output": { + "path": "Snapshots[].State", + "expected": "error", + "comparator": "anyStringEquals" + } } } ], - "minDelay": 5 + "minDelay": 15 } } } }, - "com.amazonaws.ec2#DescribeKeyPairsRequest": { + "com.amazonaws.ec2#DescribeSnapshotsRequest": { "type": "structure", "members": { "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The filters.

\n
    \n
  • \n \t\t

    \n \t\t\t key-pair-id - The ID of the key pair.

    \n \t
  • \n
  • \n

    \n fingerprint - The fingerprint of the key pair.

    \n
  • \n
  • \n

    \n key-name - The name of the key pair.

    \n
  • \n
  • \n \t\t

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n \t
  • \n
  • \n \t\t

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n \t
  • \n
", + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n description - A description of the snapshot.

    \n
  • \n
  • \n

    \n encrypted - Indicates whether the snapshot is encrypted\n (true | false)

    \n
  • \n
  • \n

    \n owner-alias - The owner alias, from an Amazon-maintained list \n (amazon). \n This is not the user-configured Amazon Web Services account alias set using the IAM console.\n We recommend that you use the related parameter instead of this filter.

    \n
  • \n
  • \n

    \n owner-id - The Amazon Web Services account ID of the owner. We recommend that \n you use the related parameter instead of this filter.

    \n
  • \n
  • \n

    \n progress - The progress of the snapshot, as a percentage (for example,\n 80%).

    \n
  • \n
  • \n

    \n snapshot-id - The snapshot ID.

    \n
  • \n
  • \n

    \n start-time - The time stamp when the snapshot was initiated.

    \n
  • \n
  • \n

    \n status - The status of the snapshot (pending |\n completed | error).

    \n
  • \n
  • \n

    \n storage-tier - The storage tier of the snapshot (archive |\n standard).

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n volume-id - The ID of the volume the snapshot is for.

    \n
  • \n
  • \n

    \n volume-size - The size of the volume, in GiB.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, - "KeyNames": { - "target": "com.amazonaws.ec2#KeyNameStringList", + "MaxResults": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#documentation": "

The key pair names.

\n

Default: Describes all of your key pairs.

", - "smithy.api#xmlName": "KeyName" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of snapshot results returned by DescribeSnapshots in\n paginated output. When this parameter is used, DescribeSnapshots only returns\n MaxResults results in a single page along with a NextToken\n response element. The remaining results of the initial request can be seen by sending another\n DescribeSnapshots request with the returned NextToken value. This\n value can be between 5 and 1,000; if MaxResults is given a value larger than 1,000,\n only 1,000 results are returned. If this parameter is not used, then\n DescribeSnapshots returns all results. You cannot specify this parameter and\n the snapshot IDs parameter in the same request.

" } }, - "KeyPairIds": { - "target": "com.amazonaws.ec2#KeyPairIdStringList", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The IDs of the key pairs.

", - "smithy.api#xmlName": "KeyPairId" + "smithy.api#documentation": "

The NextToken value returned from a previous paginated\n DescribeSnapshots request where MaxResults was used and the\n results exceeded the value of that parameter. Pagination continues from the end of the\n previous results that returned the NextToken value. This value is\n null when there are no more results to return.

" + } + }, + "OwnerIds": { + "target": "com.amazonaws.ec2#OwnerStringList", + "traits": { + "smithy.api#documentation": "

Scopes the results to snapshots with the specified owners. You can specify a combination of\n Amazon Web Services account IDs, self, and amazon.

", + "smithy.api#xmlName": "Owner" + } + }, + "RestorableByUserIds": { + "target": "com.amazonaws.ec2#RestorableByStringList", + "traits": { + "smithy.api#documentation": "

The IDs of the Amazon Web Services accounts that can create volumes from the snapshot.

", + "smithy.api#xmlName": "RestorableBy" + } + }, + "SnapshotIds": { + "target": "com.amazonaws.ec2#SnapshotIdStringList", + "traits": { + "smithy.api#documentation": "

The snapshot IDs.

\n

Default: Describes the snapshots for which you have create volume permissions.

", + "smithy.api#xmlName": "SnapshotId" } }, "DryRun": { @@ -28844,512 +33557,832 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", "smithy.api#xmlName": "dryRun" } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DescribeSnapshotsResult": { + "type": "structure", + "members": { + "Snapshots": { + "target": "com.amazonaws.ec2#SnapshotList", + "traits": { + "aws.protocols#ec2QueryName": "SnapshotSet", + "smithy.api#documentation": "

Information about the snapshots.

", + "smithy.api#xmlName": "snapshotSet" + } }, - "IncludePublicKey": { + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The NextToken value to include in a future DescribeSnapshots\n request. When the results of a DescribeSnapshots request exceed\n MaxResults, this value can be used to retrieve the next page of results. This\n value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" + } + } + } + }, + "com.amazonaws.ec2#DescribeSpotDatafeedSubscription": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeSpotDatafeedSubscriptionRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeSpotDatafeedSubscriptionResult" + }, + "traits": { + "smithy.api#documentation": "

Describes the data feed for Spot Instances. For more information, see Spot\n Instance data feed in the Amazon EC2 User Guide for Linux Instances.

" + } + }, + "com.amazonaws.ec2#DescribeSpotDatafeedSubscriptionRequest": { + "type": "structure", + "members": { + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

If true, the public key material is included in the response.

\n

Default: false\n

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for DescribeSpotDatafeedSubscription.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeKeyPairsResult": { + "com.amazonaws.ec2#DescribeSpotDatafeedSubscriptionResult": { "type": "structure", "members": { - "KeyPairs": { - "target": "com.amazonaws.ec2#KeyPairList", + "SpotDatafeedSubscription": { + "target": "com.amazonaws.ec2#SpotDatafeedSubscription", "traits": { - "aws.protocols#ec2QueryName": "KeySet", - "smithy.api#documentation": "

Information about the key pairs.

", - "smithy.api#xmlName": "keySet" + "aws.protocols#ec2QueryName": "SpotDatafeedSubscription", + "smithy.api#documentation": "

The Spot Instance data feed subscription.

", + "smithy.api#xmlName": "spotDatafeedSubscription" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of DescribeSpotDatafeedSubscription.

" } }, - "com.amazonaws.ec2#DescribeLaunchTemplateVersions": { + "com.amazonaws.ec2#DescribeSpotFleetInstances": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeLaunchTemplateVersionsRequest" + "target": "com.amazonaws.ec2#DescribeSpotFleetInstancesRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeLaunchTemplateVersionsResult" + "target": "com.amazonaws.ec2#DescribeSpotFleetInstancesResponse" }, "traits": { - "smithy.api#documentation": "

Describes one or more versions of a specified launch template. You can describe all\n versions, individual versions, or a range of versions. You can also describe all the\n latest versions or all the default versions of all the launch templates in your\n account.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "LaunchTemplateVersions", - "pageSize": "MaxResults" + "smithy.api#documentation": "

Describes the running instances for the specified Spot Fleet.

" + } + }, + "com.amazonaws.ec2#DescribeSpotFleetInstancesMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 1, + "max": 1000 } } }, - "com.amazonaws.ec2#DescribeLaunchTemplateVersionsRequest": { + "com.amazonaws.ec2#DescribeSpotFleetInstancesRequest": { "type": "structure", "members": { "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "LaunchTemplateId": { - "target": "com.amazonaws.ec2#LaunchTemplateId", + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeSpotFleetInstancesMaxResults", "traits": { - "smithy.api#documentation": "

The ID of the launch template.

\n

To describe one or more versions of a specified launch template, you must specify\n either the LaunchTemplateId or the LaunchTemplateName, but not\n both.

\n

To describe all the latest or default launch template versions in your account, you\n must omit this parameter.

" + "aws.protocols#ec2QueryName": "MaxResults", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return in a single call. Specify a value between 1\n and 1000. The default value is 1000. To retrieve the remaining results, make another\n call with the returned NextToken value.

", + "smithy.api#xmlName": "maxResults" } }, - "LaunchTemplateName": { - "target": "com.amazonaws.ec2#LaunchTemplateName", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The name of the launch template.

\n

To describe one or more versions of a specified launch template, you must specify\n either the LaunchTemplateName or the LaunchTemplateId, but not\n both.

\n

To describe all the latest or default launch template versions in your account, you\n must omit this parameter.

" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token for the next set of results.

", + "smithy.api#xmlName": "nextToken" } }, - "Versions": { - "target": "com.amazonaws.ec2#VersionStringList", + "SpotFleetRequestId": { + "target": "com.amazonaws.ec2#SpotFleetRequestId", "traits": { - "smithy.api#documentation": "

One or more versions of the launch template. Valid values depend on whether you are\n describing a specified launch template (by ID or name) or all launch templates in your\n account.

\n

To describe one or more versions of a specified launch template, valid values are\n $Latest, $Default, and numbers.

\n

To describe all launch templates in your account that are defined as the latest\n version, the valid value is $Latest. To describe all launch templates in\n your account that are defined as the default version, the valid value is\n $Default. You can specify $Latest and\n $Default in the same request. You cannot specify numbers.

", - "smithy.api#xmlName": "LaunchTemplateVersion" + "aws.protocols#ec2QueryName": "SpotFleetRequestId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Spot Fleet request.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "spotFleetRequestId" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for DescribeSpotFleetInstances.

", + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DescribeSpotFleetInstancesResponse": { + "type": "structure", + "members": { + "ActiveInstances": { + "target": "com.amazonaws.ec2#ActiveInstanceSet", + "traits": { + "aws.protocols#ec2QueryName": "ActiveInstanceSet", + "smithy.api#documentation": "

The running instances. This list is refreshed periodically and might be out of\n date.

", + "smithy.api#xmlName": "activeInstanceSet" } }, - "MinVersion": { + "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The version number after which to describe launch template versions.

" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token required to retrieve the next set of results. This value is\n null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } }, - "MaxVersion": { + "SpotFleetRequestId": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The version number up to which to describe launch template versions.

" + "aws.protocols#ec2QueryName": "SpotFleetRequestId", + "smithy.api#documentation": "

The ID of the Spot Fleet request.

", + "smithy.api#xmlName": "spotFleetRequestId" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of DescribeSpotFleetInstances.

", + "smithy.api#output": {} + } + }, + "com.amazonaws.ec2#DescribeSpotFleetRequestHistory": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeSpotFleetRequestHistoryRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeSpotFleetRequestHistoryResponse" + }, + "traits": { + "smithy.api#documentation": "

Describes the events for the specified Spot Fleet request during the specified\n time.

\n

Spot Fleet events are delayed by up to 30 seconds before they can be described. This\n ensures that you can query by the last evaluated time and not miss a recorded event.\n Spot Fleet events are available for 48 hours.

\n

For more information, see Monitor fleet events using Amazon\n EventBridge in the Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#DescribeSpotFleetRequestHistoryMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 1, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#DescribeSpotFleetRequestHistoryRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "EventType": { + "target": "com.amazonaws.ec2#EventType", "traits": { - "smithy.api#documentation": "

The token to request the next page of results.

" + "aws.protocols#ec2QueryName": "EventType", + "smithy.api#documentation": "

The type of events to describe. By default, all events are described.

", + "smithy.api#xmlName": "eventType" } }, "MaxResults": { - "target": "com.amazonaws.ec2#Integer", + "target": "com.amazonaws.ec2#DescribeSpotFleetRequestHistoryMaxResults", "traits": { + "aws.protocols#ec2QueryName": "MaxResults", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining\n results, make another call with the returned NextToken value. This value\n can be between 1 and 200.

" + "smithy.api#documentation": "

The maximum number of results to return in a single call. Specify a value between 1\n and 1000. The default value is 1000. To retrieve the remaining results, make another\n call with the returned NextToken value.

", + "smithy.api#xmlName": "maxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token for the next set of results.

", + "smithy.api#xmlName": "nextToken" + } + }, + "SpotFleetRequestId": { + "target": "com.amazonaws.ec2#SpotFleetRequestId", + "traits": { + "aws.protocols#ec2QueryName": "SpotFleetRequestId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Spot Fleet request.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "spotFleetRequestId" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "StartTime": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n create-time - The time the launch template version was\n created.

    \n
  • \n
  • \n

    \n ebs-optimized - A boolean that indicates whether the instance is\n optimized for Amazon EBS I/O.

    \n
  • \n
  • \n

    \n http-endpoint - Indicates whether the HTTP metadata endpoint on\n your instances is enabled (enabled | disabled).

    \n
  • \n
  • \n

    \n http-protocol-ipv4 - Indicates whether the IPv4 endpoint for the\n instance metadata service is enabled (enabled |\n disabled).

    \n
  • \n
  • \n

    \n host-resource-group-arn - The ARN of the host resource group in\n which to launch the instances.

    \n
  • \n
  • \n

    \n http-tokens - The state of token usage for your instance metadata\n requests (optional | required).

    \n
  • \n
  • \n

    \n iam-instance-profile - The ARN of the IAM instance\n profile.

    \n
  • \n
  • \n

    \n image-id - The ID of the AMI.

    \n
  • \n
  • \n

    \n instance-type - The instance type.

    \n
  • \n
  • \n

    \n is-default-version - A boolean that indicates whether the launch\n template version is the default version.

    \n
  • \n
  • \n

    \n kernel-id - The kernel ID.

    \n
  • \n
  • \n

    \n license-configuration-arn - The ARN of the license\n configuration.

    \n
  • \n
  • \n

    \n network-card-index - The index of the network card.

    \n
  • \n
  • \n

    \n ram-disk-id - The RAM disk ID.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "aws.protocols#ec2QueryName": "StartTime", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The starting date and time for the events, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).

", + "smithy.api#required": {}, + "smithy.api#xmlName": "startTime" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for DescribeSpotFleetRequestHistory.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeLaunchTemplateVersionsResult": { + "com.amazonaws.ec2#DescribeSpotFleetRequestHistoryResponse": { "type": "structure", "members": { - "LaunchTemplateVersions": { - "target": "com.amazonaws.ec2#LaunchTemplateVersionSet", + "HistoryRecords": { + "target": "com.amazonaws.ec2#HistoryRecords", "traits": { - "aws.protocols#ec2QueryName": "LaunchTemplateVersionSet", - "smithy.api#documentation": "

Information about the launch template versions.

", - "smithy.api#xmlName": "launchTemplateVersionSet" + "aws.protocols#ec2QueryName": "HistoryRecordSet", + "smithy.api#documentation": "

Information about the events in the history of the Spot Fleet request.

", + "smithy.api#xmlName": "historyRecordSet" + } + }, + "LastEvaluatedTime": { + "target": "com.amazonaws.ec2#DateTime", + "traits": { + "aws.protocols#ec2QueryName": "LastEvaluatedTime", + "smithy.api#documentation": "

The last date and time for the events, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).\n All records up to this time were retrieved.

\n

If nextToken indicates that there are more results, this value is not\n present.

", + "smithy.api#xmlName": "lastEvaluatedTime" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null\n when there are no more results to return.

", + "smithy.api#documentation": "

The token required to retrieve the next set of results. This value is\n null when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } + }, + "SpotFleetRequestId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "SpotFleetRequestId", + "smithy.api#documentation": "

The ID of the Spot Fleet request.

", + "smithy.api#xmlName": "spotFleetRequestId" + } + }, + "StartTime": { + "target": "com.amazonaws.ec2#DateTime", + "traits": { + "aws.protocols#ec2QueryName": "StartTime", + "smithy.api#documentation": "

The starting date and time for the events, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).

", + "smithy.api#xmlName": "startTime" + } } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of DescribeSpotFleetRequestHistory.

", + "smithy.api#output": {} } }, - "com.amazonaws.ec2#DescribeLaunchTemplates": { + "com.amazonaws.ec2#DescribeSpotFleetRequests": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeLaunchTemplatesRequest" + "target": "com.amazonaws.ec2#DescribeSpotFleetRequestsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeLaunchTemplatesResult" + "target": "com.amazonaws.ec2#DescribeSpotFleetRequestsResponse" }, "traits": { - "smithy.api#documentation": "

Describes one or more launch templates.

", + "smithy.api#documentation": "

Describes your Spot Fleet requests.

\n

Spot Fleet requests are deleted 48 hours after they are canceled and their instances\n are terminated.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "LaunchTemplates", + "items": "SpotFleetRequestConfigs", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeLaunchTemplatesMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 1, - "max": 200 - } - } - }, - "com.amazonaws.ec2#DescribeLaunchTemplatesRequest": { + "com.amazonaws.ec2#DescribeSpotFleetRequestsRequest": { "type": "structure", "members": { "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" - } - }, - "LaunchTemplateIds": { - "target": "com.amazonaws.ec2#LaunchTemplateIdStringList", - "traits": { - "smithy.api#documentation": "

One or more launch template IDs.

", - "smithy.api#xmlName": "LaunchTemplateId" - } - }, - "LaunchTemplateNames": { - "target": "com.amazonaws.ec2#LaunchTemplateNameStringList", - "traits": { - "smithy.api#documentation": "

One or more launch template names.

", - "smithy.api#xmlName": "LaunchTemplateName" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "MaxResults": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n create-time - The time the launch template was created.

    \n
  • \n
  • \n

    \n launch-template-name - The name of the launch template.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "aws.protocols#ec2QueryName": "MaxResults", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return in a single call. Specify a value between 1\n and 1000. The default value is 1000. To retrieve the remaining results, make another\n call with the returned NextToken value.

", + "smithy.api#xmlName": "maxResults" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The token to request the next page of results.

" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token for the next set of results.

", + "smithy.api#xmlName": "nextToken" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#DescribeLaunchTemplatesMaxResults", + "SpotFleetRequestIds": { + "target": "com.amazonaws.ec2#SpotFleetRequestIdList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining\n results, make another call with the returned NextToken value. This value\n can be between 1 and 200.

" + "aws.protocols#ec2QueryName": "SpotFleetRequestId", + "smithy.api#documentation": "

The IDs of the Spot Fleet requests.

", + "smithy.api#xmlName": "spotFleetRequestId" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for DescribeSpotFleetRequests.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeLaunchTemplatesResult": { + "com.amazonaws.ec2#DescribeSpotFleetRequestsResponse": { "type": "structure", "members": { - "LaunchTemplates": { - "target": "com.amazonaws.ec2#LaunchTemplateSet", - "traits": { - "aws.protocols#ec2QueryName": "LaunchTemplates", - "smithy.api#documentation": "

Information about the launch templates.

", - "smithy.api#xmlName": "launchTemplates" - } - }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null\n when there are no more results to return.

", + "smithy.api#documentation": "

The token required to retrieve the next set of results. This value is\n null when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } + }, + "SpotFleetRequestConfigs": { + "target": "com.amazonaws.ec2#SpotFleetRequestConfigSet", + "traits": { + "aws.protocols#ec2QueryName": "SpotFleetRequestConfigSet", + "smithy.api#documentation": "

Information about the configuration of your Spot Fleet.

", + "smithy.api#xmlName": "spotFleetRequestConfigSet" + } } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of DescribeSpotFleetRequests.

", + "smithy.api#output": {} } }, - "com.amazonaws.ec2#DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations": { + "com.amazonaws.ec2#DescribeSpotInstanceRequests": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest" + "target": "com.amazonaws.ec2#DescribeSpotInstanceRequestsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResult" + "target": "com.amazonaws.ec2#DescribeSpotInstanceRequestsResult" }, "traits": { - "smithy.api#documentation": "

Describes the associations between virtual interface groups and local gateway route tables.

", + "smithy.api#documentation": "

Describes the specified Spot Instance requests.

\n

You can use DescribeSpotInstanceRequests to find a running Spot Instance by\n examining the response. If the status of the Spot Instance is fulfilled, the\n instance ID appears in the response and contains the identifier of the instance.\n Alternatively, you can use DescribeInstances\n with a filter to look for instances where the instance lifecycle is\n spot.

\n

We recommend that you set MaxResults to a value between 5 and 1000 to\n limit the number of results returned. This paginates the output, which makes the list\n more manageable and returns the results faster. If the list of results exceeds your\n MaxResults value, then that number of results is returned along with a\n NextToken value that can be passed to a subsequent\n DescribeSpotInstanceRequests request to retrieve the remaining\n results.

\n

Spot Instance requests are deleted four hours after they are canceled and their instances are\n terminated.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "LocalGatewayRouteTableVirtualInterfaceGroupAssociations", + "items": "SpotInstanceRequests", "pageSize": "MaxResults" + }, + "smithy.api#suppress": [ + "WaitableTraitInvalidErrorType" + ], + "smithy.waiters#waitable": { + "SpotInstanceRequestFulfilled": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "SpotInstanceRequests[].Status.Code", + "expected": "fulfilled", + "comparator": "allStringEquals" + } + } + }, + { + "state": "success", + "matcher": { + "output": { + "path": "SpotInstanceRequests[].Status.Code", + "expected": "request-canceled-and-instance-running", + "comparator": "allStringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "SpotInstanceRequests[].Status.Code", + "expected": "schedule-expired", + "comparator": "anyStringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "SpotInstanceRequests[].Status.Code", + "expected": "canceled-before-fulfillment", + "comparator": "anyStringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "SpotInstanceRequests[].Status.Code", + "expected": "bad-parameters", + "comparator": "anyStringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "SpotInstanceRequests[].Status.Code", + "expected": "system-error", + "comparator": "anyStringEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "errorType": "InvalidSpotInstanceRequestID.NotFound" + } + } + ], + "minDelay": 15 + } } } }, - "com.amazonaws.ec2#DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest": { + "com.amazonaws.ec2#DescribeSpotInstanceRequestsRequest": { "type": "structure", "members": { - "LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds": { - "target": "com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociationIdSet", - "traits": { - "smithy.api#documentation": "

The IDs of the associations.

", - "smithy.api#xmlName": "LocalGatewayRouteTableVirtualInterfaceGroupAssociationId" - } - }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n local-gateway-id - The ID of a local gateway.

    \n
  • \n
  • \n

    \n local-gateway-route-table-arn - The Amazon Resource Name (ARN) of the local \n gateway route table for the virtual interface group.

    \n
  • \n
  • \n

    \n local-gateway-route-table-id - The ID of the local gateway route table.

    \n
  • \n
  • \n

    \n local-gateway-route-table-virtual-interface-group-association-id - The ID of the association.

    \n
  • \n
  • \n

    \n local-gateway-route-table-virtual-interface-group-id - The ID of the virtual interface group.

    \n
  • \n
  • \n

    \n owner-id - The ID of the Amazon Web Services account that owns the local gateway virtual \n interface group association.

    \n
  • \n
  • \n

    \n state - The state of the association.

    \n
  • \n
", + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n availability-zone-group - The Availability Zone group.

    \n
  • \n
  • \n

    \n create-time - The time stamp when the Spot Instance request was\n created.

    \n
  • \n
  • \n

    \n fault-code - The fault code related to the request.

    \n
  • \n
  • \n

    \n fault-message - The fault message related to the request.

    \n
  • \n
  • \n

    \n instance-id - The ID of the instance that fulfilled the\n request.

    \n
  • \n
  • \n

    \n launch-group - The Spot Instance launch group.

    \n
  • \n
  • \n

    \n launch.block-device-mapping.delete-on-termination - Indicates\n whether the EBS volume is deleted on instance termination.

    \n
  • \n
  • \n

    \n launch.block-device-mapping.device-name - The device name for the\n volume in the block device mapping (for example, /dev/sdh or\n xvdh).

    \n
  • \n
  • \n

    \n launch.block-device-mapping.snapshot-id - The ID of the snapshot\n for the EBS volume.

    \n
  • \n
  • \n

    \n launch.block-device-mapping.volume-size - The size of the EBS\n volume, in GiB.

    \n
  • \n
  • \n

    \n launch.block-device-mapping.volume-type - The type of EBS volume:\n gp2 for General Purpose SSD, io1 or\n io2 for Provisioned IOPS SSD, st1 for Throughput\n Optimized HDD, sc1for Cold HDD, or standard for\n Magnetic.

    \n
  • \n
  • \n

    \n launch.group-id - The ID of the security group for the\n instance.

    \n
  • \n
  • \n

    \n launch.group-name - The name of the security group for the\n instance.

    \n
  • \n
  • \n

    \n launch.image-id - The ID of the AMI.

    \n
  • \n
  • \n

    \n launch.instance-type - The type of instance (for example,\n m3.medium).

    \n
  • \n
  • \n

    \n launch.kernel-id - The kernel ID.

    \n
  • \n
  • \n

    \n launch.key-name - The name of the key pair the instance launched\n with.

    \n
  • \n
  • \n

    \n launch.monitoring-enabled - Whether detailed monitoring is\n enabled for the Spot Instance.

    \n
  • \n
  • \n

    \n launch.ramdisk-id - The RAM disk ID.

    \n
  • \n
  • \n

    \n launched-availability-zone - The Availability Zone in which the\n request is launched.

    \n
  • \n
  • \n

    \n network-interface.addresses.primary - Indicates whether the IP\n address is the primary private IP address.

    \n
  • \n
  • \n

    \n network-interface.delete-on-termination - Indicates whether the\n network interface is deleted when the instance is terminated.

    \n
  • \n
  • \n

    \n network-interface.description - A description of the network\n interface.

    \n
  • \n
  • \n

    \n network-interface.device-index - The index of the device for the\n network interface attachment on the instance.

    \n
  • \n
  • \n

    \n network-interface.group-id - The ID of the security group\n associated with the network interface.

    \n
  • \n
  • \n

    \n network-interface.network-interface-id - The ID of the network\n interface.

    \n
  • \n
  • \n

    \n network-interface.private-ip-address - The primary private IP\n address of the network interface.

    \n
  • \n
  • \n

    \n network-interface.subnet-id - The ID of the subnet for the\n instance.

    \n
  • \n
  • \n

    \n product-description - The product description associated with the\n instance (Linux/UNIX | Windows).

    \n
  • \n
  • \n

    \n spot-instance-request-id - The Spot Instance request ID.

    \n
  • \n
  • \n

    \n spot-price - The maximum hourly price for any Spot Instance\n launched to fulfill the request.

    \n
  • \n
  • \n

    \n state - The state of the Spot Instance request (open\n | active | closed | cancelled |\n failed). Spot request status information can help you track\n your Amazon EC2 Spot Instance requests. For more information, see Spot\n request status in the Amazon EC2 User Guide for Linux Instances.

    \n
  • \n
  • \n

    \n status-code - The short code describing the most recent\n evaluation of your Spot Instance request.

    \n
  • \n
  • \n

    \n status-message - The message explaining the status of the Spot\n Instance request.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n type - The type of Spot Instance request (one-time |\n persistent).

    \n
  • \n
  • \n

    \n valid-from - The start date of the request.

    \n
  • \n
  • \n

    \n valid-until - The end date of the request.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#LocalGatewayMaxResults", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + }, + "SpotInstanceRequestIds": { + "target": "com.amazonaws.ec2#SpotInstanceRequestIdList", + "traits": { + "smithy.api#documentation": "

One or more Spot Instance request IDs.

", + "smithy.api#xmlName": "SpotInstanceRequestId" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "smithy.api#documentation": "

The token to request the next set of results. This value is null when\n there are no more results to return.

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "MaxResults": { + "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return in a single call. Specify a value between 5\n and 1000. To retrieve the remaining results, make another call with the returned\n NextToken value.

" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for DescribeSpotInstanceRequests.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResult": { + "com.amazonaws.ec2#DescribeSpotInstanceRequestsResult": { "type": "structure", "members": { - "LocalGatewayRouteTableVirtualInterfaceGroupAssociations": { - "target": "com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociationSet", + "SpotInstanceRequests": { + "target": "com.amazonaws.ec2#SpotInstanceRequestList", "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayRouteTableVirtualInterfaceGroupAssociationSet", - "smithy.api#documentation": "

Information about the associations.

", - "smithy.api#xmlName": "localGatewayRouteTableVirtualInterfaceGroupAssociationSet" + "aws.protocols#ec2QueryName": "SpotInstanceRequestSet", + "smithy.api#documentation": "

One or more Spot Instance requests.

", + "smithy.api#xmlName": "spotInstanceRequestSet" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#documentation": "

The token to use to retrieve the next set of results. This value is null\n when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of DescribeSpotInstanceRequests.

" } }, - "com.amazonaws.ec2#DescribeLocalGatewayRouteTableVpcAssociations": { + "com.amazonaws.ec2#DescribeSpotPriceHistory": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeLocalGatewayRouteTableVpcAssociationsRequest" + "target": "com.amazonaws.ec2#DescribeSpotPriceHistoryRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeLocalGatewayRouteTableVpcAssociationsResult" + "target": "com.amazonaws.ec2#DescribeSpotPriceHistoryResult" }, "traits": { - "smithy.api#documentation": "

Describes the specified associations between VPCs and local gateway route tables.

", + "smithy.api#documentation": "

Describes the Spot price history. For more information, see Spot Instance pricing history in the\n Amazon EC2 User Guide for Linux Instances.

\n

When you specify a start and end time, the operation returns the prices of the\n instance types within that time range. It also returns the last price change before the\n start time, which is the effective price as of the start time.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "LocalGatewayRouteTableVpcAssociations", + "items": "SpotPriceHistory", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeLocalGatewayRouteTableVpcAssociationsRequest": { + "com.amazonaws.ec2#DescribeSpotPriceHistoryRequest": { "type": "structure", "members": { - "LocalGatewayRouteTableVpcAssociationIds": { - "target": "com.amazonaws.ec2#LocalGatewayRouteTableVpcAssociationIdSet", - "traits": { - "smithy.api#documentation": "

The IDs of the associations.

", - "smithy.api#xmlName": "LocalGatewayRouteTableVpcAssociationId" - } - }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n local-gateway-id - The ID of a local gateway.

    \n
  • \n
  • \n

    \n local-gateway-route-table-arn - The Amazon Resource Name (ARN) of the local \n gateway route table for the association.

    \n
  • \n
  • \n

    \n local-gateway-route-table-id - The ID of the local gateway route table.

    \n
  • \n
  • \n

    \n local-gateway-route-table-vpc-association-id - The ID of the association.

    \n
  • \n
  • \n

    \n owner-id - The ID of the Amazon Web Services account that owns the local gateway route table\n for the association.

    \n
  • \n
  • \n

    \n state - The state of the association.

    \n
  • \n
  • \n

    \n vpc-id - The ID of the VPC.

    \n
  • \n
", + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n availability-zone - The Availability Zone for which prices should\n be returned.

    \n
  • \n
  • \n

    \n instance-type - The type of instance (for example,\n m3.medium).

    \n
  • \n
  • \n

    \n product-description - The product description for the Spot price\n (Linux/UNIX | Red Hat Enterprise Linux |\n SUSE Linux | Windows | Linux/UNIX (Amazon\n VPC) | Red Hat Enterprise Linux (Amazon VPC) |\n SUSE Linux (Amazon VPC) | Windows (Amazon\n VPC)).

    \n
  • \n
  • \n

    \n spot-price - The Spot price. The value must match exactly (or use\n wildcards; greater than or less than comparison is not supported).

    \n
  • \n
  • \n

    \n timestamp - The time stamp of the Spot price history, in UTC format\n (for example,\n YYYY-MM-DDTHH:MM:SSZ).\n You can use wildcards (* and ?). Greater than or less than comparison is not\n supported.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, + "AvailabilityZone": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AvailabilityZone", + "smithy.api#documentation": "

Filters the results by the specified Availability Zone.

", + "smithy.api#xmlName": "availabilityZone" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + }, + "EndTime": { + "target": "com.amazonaws.ec2#DateTime", + "traits": { + "aws.protocols#ec2QueryName": "EndTime", + "smithy.api#documentation": "

The date and time, up to the current date, from which to stop retrieving the price\n history data, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).

", + "smithy.api#xmlName": "endTime" + } + }, + "InstanceTypes": { + "target": "com.amazonaws.ec2#InstanceTypeList", + "traits": { + "smithy.api#documentation": "

Filters the results by the specified instance types.

", + "smithy.api#xmlName": "InstanceType" + } + }, "MaxResults": { - "target": "com.amazonaws.ec2#LocalGatewayMaxResults", + "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "MaxResults", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#documentation": "

The maximum number of results to return in a single call. Specify a value between 1\n and 1000. The default value is 1000. To retrieve the remaining results, make another\n call with the returned NextToken value.

", + "smithy.api#xmlName": "maxResults" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token for the next set of results.

", + "smithy.api#xmlName": "nextToken" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "ProductDescriptions": { + "target": "com.amazonaws.ec2#ProductDescriptionList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Filters the results by the specified basic product descriptions.

", + "smithy.api#xmlName": "ProductDescription" + } + }, + "StartTime": { + "target": "com.amazonaws.ec2#DateTime", + "traits": { + "aws.protocols#ec2QueryName": "StartTime", + "smithy.api#documentation": "

The date and time, up to the past 90 days, from which to start retrieving the price\n history data, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).

", + "smithy.api#xmlName": "startTime" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for DescribeSpotPriceHistory.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeLocalGatewayRouteTableVpcAssociationsResult": { + "com.amazonaws.ec2#DescribeSpotPriceHistoryResult": { "type": "structure", "members": { - "LocalGatewayRouteTableVpcAssociations": { - "target": "com.amazonaws.ec2#LocalGatewayRouteTableVpcAssociationSet", - "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayRouteTableVpcAssociationSet", - "smithy.api#documentation": "

Information about the associations.

", - "smithy.api#xmlName": "localGatewayRouteTableVpcAssociationSet" - } - }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#documentation": "

The token required to retrieve the next set of results. This value is null or an empty\n string when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } + }, + "SpotPriceHistory": { + "target": "com.amazonaws.ec2#SpotPriceHistoryList", + "traits": { + "aws.protocols#ec2QueryName": "SpotPriceHistorySet", + "smithy.api#documentation": "

The historical Spot prices.

", + "smithy.api#xmlName": "spotPriceHistorySet" + } } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of DescribeSpotPriceHistory.

" } }, - "com.amazonaws.ec2#DescribeLocalGatewayRouteTables": { + "com.amazonaws.ec2#DescribeStaleSecurityGroups": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeLocalGatewayRouteTablesRequest" + "target": "com.amazonaws.ec2#DescribeStaleSecurityGroupsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeLocalGatewayRouteTablesResult" + "target": "com.amazonaws.ec2#DescribeStaleSecurityGroupsResult" }, "traits": { - "smithy.api#documentation": "

Describes one or more local gateway route tables. By default, all local gateway route tables are described.\n Alternatively, you can filter the results.

", + "smithy.api#documentation": "

[VPC only] Describes the stale security group rules for security groups in a specified VPC. \n Rules are stale when they reference a deleted security group in the same VPC or in a peer VPC, \n or if they reference a security group in a peer VPC for which the VPC peering connection has \n been deleted.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "LocalGatewayRouteTables", + "items": "StaleSecurityGroupSet", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeLocalGatewayRouteTablesRequest": { + "com.amazonaws.ec2#DescribeStaleSecurityGroupsMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 255 + } + } + }, + "com.amazonaws.ec2#DescribeStaleSecurityGroupsNextToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + } + } + }, + "com.amazonaws.ec2#DescribeStaleSecurityGroupsRequest": { "type": "structure", "members": { - "LocalGatewayRouteTableIds": { - "target": "com.amazonaws.ec2#LocalGatewayRouteTableIdSet", - "traits": { - "smithy.api#documentation": "

The IDs of the local gateway route tables.

", - "smithy.api#xmlName": "LocalGatewayRouteTableId" - } - }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n local-gateway-id - The ID of a local gateway.

    \n
  • \n
  • \n

    \n local-gateway-route-table-arn - The Amazon Resource Name (ARN) of the \n local gateway route table.

    \n
  • \n
  • \n

    \n local-gateway-route-table-id - The ID of a local gateway route table.

    \n
  • \n
  • \n

    \n outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

    \n
  • \n
  • \n

    \n owner-id - The ID of the Amazon Web Services account that owns the local gateway route table.

    \n
  • \n
  • \n

    \n state - The state of the local gateway route table.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, "MaxResults": { - "target": "com.amazonaws.ec2#LocalGatewayMaxResults", + "target": "com.amazonaws.ec2#DescribeStaleSecurityGroupsMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#documentation": "

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

" } }, "NextToken": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#DescribeStaleSecurityGroupsNextToken", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "smithy.api#documentation": "

The token for the next set of items to return. (You received this token from a prior call.)

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "VpcId": { + "target": "com.amazonaws.ec2#VpcId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The ID of the VPC.

", + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeLocalGatewayRouteTablesResult": { + "com.amazonaws.ec2#DescribeStaleSecurityGroupsResult": { "type": "structure", "members": { - "LocalGatewayRouteTables": { - "target": "com.amazonaws.ec2#LocalGatewayRouteTableSet", - "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayRouteTableSet", - "smithy.api#documentation": "

Information about the local gateway route tables.

", - "smithy.api#xmlName": "localGatewayRouteTableSet" - } - }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#documentation": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", "smithy.api#xmlName": "nextToken" } + }, + "StaleSecurityGroupSet": { + "target": "com.amazonaws.ec2#StaleSecurityGroupSet", + "traits": { + "aws.protocols#ec2QueryName": "StaleSecurityGroupSet", + "smithy.api#documentation": "

Information about the stale security groups.

", + "smithy.api#xmlName": "staleSecurityGroupSet" + } } } }, - "com.amazonaws.ec2#DescribeLocalGatewayVirtualInterfaceGroups": { + "com.amazonaws.ec2#DescribeStoreImageTasks": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeLocalGatewayVirtualInterfaceGroupsRequest" + "target": "com.amazonaws.ec2#DescribeStoreImageTasksRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeLocalGatewayVirtualInterfaceGroupsResult" + "target": "com.amazonaws.ec2#DescribeStoreImageTasksResult" }, "traits": { - "smithy.api#documentation": "

Describes the specified local gateway virtual interface groups.

", + "smithy.api#documentation": "

Describes the progress of the AMI store tasks. You can describe the store tasks for\n specified AMIs. If you don't specify the AMIs, you get a paginated list of store tasks from\n the last 31 days.

\n

For each AMI task, the response indicates if the task is InProgress,\n Completed, or Failed. For tasks InProgress, the\n response shows the estimated progress as a percentage.

\n

Tasks are listed in reverse chronological order. Currently, only tasks from the past 31\n days can be viewed.

\n

To use this API, you must have the required permissions. For more information, see Permissions for storing and restoring AMIs using Amazon S3 in the\n Amazon EC2 User Guide.

\n

For more information, see Store and restore an AMI using\n \tAmazon S3 in the Amazon EC2 User Guide.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "LocalGatewayVirtualInterfaceGroups", + "items": "StoreImageTaskResults", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeLocalGatewayVirtualInterfaceGroupsRequest": { + "com.amazonaws.ec2#DescribeStoreImageTasksRequest": { "type": "structure", "members": { - "LocalGatewayVirtualInterfaceGroupIds": { - "target": "com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroupIdSet", + "ImageIds": { + "target": "com.amazonaws.ec2#ImageIdList", "traits": { - "smithy.api#documentation": "

The IDs of the virtual interface groups.

", - "smithy.api#xmlName": "LocalGatewayVirtualInterfaceGroupId" + "smithy.api#documentation": "

The AMI IDs for which to show progress. Up to 20 AMI IDs can be included in a request.

", + "smithy.api#xmlName": "ImageId" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n local-gateway-id - The ID of a local gateway.

    \n
  • \n
  • \n

    \n local-gateway-virtual-interface-group-id - The ID of the virtual interface group.

    \n
  • \n
  • \n

    \n local-gateway-virtual-interface-id - The ID of the virtual interface.

    \n
  • \n
  • \n

    \n owner-id - The ID of the Amazon Web Services account that owns the local gateway virtual interface group.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#LocalGatewayMaxResults", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n task-state - Returns tasks in a certain state (InProgress |\n Completed | Failed)

    \n
  • \n
  • \n

    \n bucket - Returns task information for tasks that targeted a specific\n bucket. For the filter value, specify the bucket name.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, "NextToken": { @@ -29358,78 +34391,120 @@ "smithy.api#documentation": "

The token for the next page of results.

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeStoreImageTasksRequestMaxResults", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining\n results, make another call with the returned NextToken value. This value can be\n between 1 and 200. You cannot specify this parameter and the ImageIDs parameter\n in the same call.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeLocalGatewayVirtualInterfaceGroupsResult": { + "com.amazonaws.ec2#DescribeStoreImageTasksRequestMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 1, + "max": 200 + } + } + }, + "com.amazonaws.ec2#DescribeStoreImageTasksResult": { "type": "structure", "members": { - "LocalGatewayVirtualInterfaceGroups": { - "target": "com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroupSet", + "StoreImageTaskResults": { + "target": "com.amazonaws.ec2#StoreImageTaskResultSet", "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayVirtualInterfaceGroupSet", - "smithy.api#documentation": "

The virtual interface groups.

", - "smithy.api#xmlName": "localGatewayVirtualInterfaceGroupSet" + "aws.protocols#ec2QueryName": "StoreImageTaskResultSet", + "smithy.api#documentation": "

The information about the AMI store tasks.

", + "smithy.api#xmlName": "storeImageTaskResultSet" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null\n when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DescribeLocalGatewayVirtualInterfaces": { + "com.amazonaws.ec2#DescribeSubnets": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeLocalGatewayVirtualInterfacesRequest" + "target": "com.amazonaws.ec2#DescribeSubnetsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeLocalGatewayVirtualInterfacesResult" + "target": "com.amazonaws.ec2#DescribeSubnetsResult" }, "traits": { - "smithy.api#documentation": "

Describes the specified local gateway virtual interfaces.

", + "smithy.api#documentation": "

Describes one or more of your subnets.

\n

For more information, see Your VPC and subnets in the\n\t\t\t\tAmazon Virtual Private Cloud User Guide.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "LocalGatewayVirtualInterfaces", + "items": "Subnets", "pageSize": "MaxResults" + }, + "smithy.waiters#waitable": { + "SubnetAvailable": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "Subnets[].State", + "expected": "available", + "comparator": "allStringEquals" + } + } + } + ], + "minDelay": 15 + } } } }, - "com.amazonaws.ec2#DescribeLocalGatewayVirtualInterfacesRequest": { + "com.amazonaws.ec2#DescribeSubnetsMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#DescribeSubnetsRequest": { "type": "structure", "members": { - "LocalGatewayVirtualInterfaceIds": { - "target": "com.amazonaws.ec2#LocalGatewayVirtualInterfaceIdSet", - "traits": { - "smithy.api#documentation": "

The IDs of the virtual interfaces.

", - "smithy.api#xmlName": "LocalGatewayVirtualInterfaceId" - } - }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n local-address - The local address.

    \n
  • \n
  • \n

    \n local-bgp-asn - The Border Gateway Protocol (BGP) Autonomous System Number (ASN) \n of the local gateway.

    \n
  • \n
  • \n

    \n local-gateway-id - The ID of the local gateway.

    \n
  • \n
  • \n

    \n local-gateway-virtual-interface-id - The ID of the virtual interface.

    \n
  • \n
  • \n

    \n owner-id - The ID of the Amazon Web Services account that owns the local gateway virtual interface.

    \n
  • \n
  • \n

    \n peer-address - The peer address.

    \n
  • \n
  • \n

    \n peer-bgp-asn - The peer BGP ASN.

    \n
  • \n
  • \n

    \n vlan - The ID of the VLAN.

    \n
  • \n
", + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n availability-zone - The Availability Zone for the subnet. You can also use\n availabilityZone as the filter name.

    \n
  • \n
  • \n

    \n availability-zone-id - The ID of the Availability Zone for the subnet.\n You can also use availabilityZoneId as the filter name.

    \n
  • \n
  • \n

    \n available-ip-address-count - The number of IPv4 addresses in the\n subnet that are available.

    \n
  • \n
  • \n

    \n cidr-block - The IPv4 CIDR block of the subnet. The CIDR block\n you specify must exactly match the subnet's CIDR block for information to be\n returned for the subnet. You can also use cidr or\n cidrBlock as the filter names.

    \n
  • \n
  • \n

    \n customer-owned-ipv4-pool - The customer-owned IPv4 address pool\n associated with the subnet.

    \n
  • \n
  • \n

    \n default-for-az - Indicates whether this is the default subnet for\n the Availability Zone (true | false). You can also use\n defaultForAz as the filter name.

    \n
  • \n
  • \n

    \n enable-dns64 - Indicates whether DNS queries made to the\n Amazon-provided DNS Resolver in this subnet should return synthetic IPv6\n addresses for IPv4-only destinations.

    \n
  • \n
  • \n

    \n enable-lni-at-device-index - Indicates the device position for\n local network interfaces in this subnet. For example, 1 indicates\n local network interfaces in this subnet are the secondary network interface\n (eth1).

    \n
  • \n
  • \n

    \n ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR\n block associated with the subnet.

    \n
  • \n
  • \n

    \n ipv6-cidr-block-association.association-id - An association ID\n for an IPv6 CIDR block associated with the subnet.

    \n
  • \n
  • \n

    \n ipv6-cidr-block-association.state - The state of an IPv6 CIDR\n block associated with the subnet.

    \n
  • \n
  • \n

    \n ipv6-native - Indicates whether this is an IPv6 only subnet\n (true | false).

    \n
  • \n
  • \n

    \n map-customer-owned-ip-on-launch - Indicates whether a network\n interface created in this subnet (including a network interface created by RunInstances) receives a customer-owned IPv4 address.

    \n
  • \n
  • \n

    \n map-public-ip-on-launch - Indicates whether instances launched in\n this subnet receive a public IPv4 address.

    \n
  • \n
  • \n

    \n outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

    \n
  • \n
  • \n

    \n owner-id - The ID of the Amazon Web Services account that owns the\n subnet.

    \n
  • \n
  • \n

    \n private-dns-name-options-on-launch.hostname-type - The type of\n hostname to assign to instances in the subnet at launch. For IPv4-only and\n dual-stack (IPv4 and IPv6) subnets, an instance DNS name can be based on the\n instance IPv4 address (ip-name) or the instance ID (resource-name). For IPv6\n only subnets, an instance DNS name must be based on the instance ID\n (resource-name).

    \n
  • \n
  • \n

    \n private-dns-name-options-on-launch.enable-resource-name-dns-a-record\n - Indicates whether to respond to DNS queries for instance hostnames with DNS A\n records.

    \n
  • \n
  • \n

    \n private-dns-name-options-on-launch.enable-resource-name-dns-aaaa-record\n - Indicates whether to respond to DNS queries for instance hostnames with DNS\n AAAA records.

    \n
  • \n
  • \n

    \n state - The state of the subnet (pending | available).

    \n
  • \n
  • \n

    \n subnet-arn - The Amazon Resource Name (ARN) of the subnet.

    \n
  • \n
  • \n

    \n subnet-id - The ID of the subnet.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n vpc-id - The ID of the VPC for the subnet.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#LocalGatewayMaxResults", + "SubnetIds": { + "target": "com.amazonaws.ec2#SubnetIdStringList", + "traits": { + "smithy.api#documentation": "

One or more subnet IDs.

\n

Default: Describes all your subnets.

", + "smithy.api#xmlName": "SubnetId" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, "NextToken": { @@ -29438,25 +34513,28 @@ "smithy.api#documentation": "

The token for the next page of results.

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeSubnetsMaxResults", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeLocalGatewayVirtualInterfacesResult": { + "com.amazonaws.ec2#DescribeSubnetsResult": { "type": "structure", "members": { - "LocalGatewayVirtualInterfaces": { - "target": "com.amazonaws.ec2#LocalGatewayVirtualInterfaceSet", + "Subnets": { + "target": "com.amazonaws.ec2#SubnetList", "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayVirtualInterfaceSet", - "smithy.api#documentation": "

Information about the virtual interfaces.

", - "smithy.api#xmlName": "localGatewayVirtualInterfaceSet" + "aws.protocols#ec2QueryName": "SubnetSet", + "smithy.api#documentation": "

Information about one or more subnets.

", + "smithy.api#xmlName": "subnetSet" } }, "NextToken": { @@ -29469,107 +34547,116 @@ } } }, - "com.amazonaws.ec2#DescribeLocalGateways": { + "com.amazonaws.ec2#DescribeTags": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeLocalGatewaysRequest" + "target": "com.amazonaws.ec2#DescribeTagsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeLocalGatewaysResult" + "target": "com.amazonaws.ec2#DescribeTagsResult" }, "traits": { - "smithy.api#documentation": "

Describes one or more local gateways. By default, all local gateways are described. \n Alternatively, you can filter the results.

", + "smithy.api#documentation": "

Describes the specified tags for your EC2 resources.

\n

For more information about tags, see Tag your Amazon EC2 resources in the\n Amazon Elastic Compute Cloud User Guide.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "LocalGateways", + "items": "Tags", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeLocalGatewaysRequest": { + "com.amazonaws.ec2#DescribeTagsRequest": { "type": "structure", "members": { - "LocalGatewayIds": { - "target": "com.amazonaws.ec2#LocalGatewayIdSet", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The IDs of the local gateways.

", - "smithy.api#xmlName": "LocalGatewayId" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n local-gateway-id - The ID of a local gateway.

    \n
  • \n
  • \n

    \n outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

    \n
  • \n
  • \n

    \n owner-id - The ID of the Amazon Web Services account that owns the local gateway.

    \n
  • \n
  • \n

    \n state - The state of the association.

    \n
  • \n
", + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n key - The tag key.

    \n
  • \n
  • \n

    \n resource-id - The ID of the resource.

    \n
  • \n
  • \n

    \n resource-type - The resource type (customer-gateway | dedicated-host | dhcp-options | elastic-ip | fleet | fpga-image | host-reservation | image | instance | internet-gateway | key-pair | launch-template | natgateway | network-acl | network-interface | placement-group | reserved-instances | route-table | security-group | snapshot | spot-instances-request | subnet | volume | vpc | vpc-endpoint | vpc-endpoint-service | vpc-peering-connection | vpn-connection | vpn-gateway).

    \n
  • \n
  • \n

    \n tag: - The key/value combination of the tag. For example,\n specify \"tag:Owner\" for the filter name and \"TeamA\" for the filter value to find\n resources with the tag \"Owner=TeamA\".

    \n
  • \n
  • \n

    \n value - The tag value.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, "MaxResults": { - "target": "com.amazonaws.ec2#LocalGatewayMaxResults", + "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "MaxResults", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#documentation": "

The maximum number of results to return in a single call.\n This value can be between 5 and 1000. \n\t\t\tTo retrieve the remaining results, make another call with the returned NextToken value.

", + "smithy.api#xmlName": "maxResults" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" - } - }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to retrieve the next page of results.

", + "smithy.api#xmlName": "nextToken" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeLocalGatewaysResult": { + "com.amazonaws.ec2#DescribeTagsResult": { "type": "structure", "members": { - "LocalGateways": { - "target": "com.amazonaws.ec2#LocalGatewaySet", - "traits": { - "aws.protocols#ec2QueryName": "LocalGatewaySet", - "smithy.api#documentation": "

Information about the local gateways.

", - "smithy.api#xmlName": "localGatewaySet" - } - }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is\n null when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagDescriptionList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags.

", + "smithy.api#xmlName": "tagSet" + } } } }, - "com.amazonaws.ec2#DescribeManagedPrefixLists": { + "com.amazonaws.ec2#DescribeTrafficMirrorFilters": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeManagedPrefixListsRequest" + "target": "com.amazonaws.ec2#DescribeTrafficMirrorFiltersRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeManagedPrefixListsResult" + "target": "com.amazonaws.ec2#DescribeTrafficMirrorFiltersResult" }, "traits": { - "smithy.api#documentation": "

Describes your managed prefix lists and any Amazon Web Services-managed prefix lists.

\n

To view the entries for your prefix list, use GetManagedPrefixListEntries.

", + "smithy.api#documentation": "

Describes one or more Traffic Mirror filters.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "PrefixLists", + "items": "TrafficMirrorFilters", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeManagedPrefixListsRequest": { + "com.amazonaws.ec2#DescribeTrafficMirrorFiltersRequest": { "type": "structure", "members": { + "TrafficMirrorFilterIds": { + "target": "com.amazonaws.ec2#TrafficMirrorFilterIdList", + "traits": { + "smithy.api#documentation": "

The ID of the Traffic Mirror filter.

", + "smithy.api#xmlName": "TrafficMirrorFilterId" + } + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -29581,12 +34668,12 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n owner-id - The ID of the prefix list owner.

    \n
  • \n
  • \n

    \n prefix-list-id - The ID of the prefix list.

    \n
  • \n
  • \n

    \n prefix-list-name - The name of the prefix list.

    \n
  • \n
", + "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n description: The Traffic Mirror filter description.

    \n
  • \n
  • \n

    \n traffic-mirror-filter-id: The ID of the Traffic Mirror filter.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, "MaxResults": { - "target": "com.amazonaws.ec2#PrefixListMaxResults", + "target": "com.amazonaws.ec2#TrafficMirroringMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, @@ -29598,243 +34685,144 @@ "traits": { "smithy.api#documentation": "

The token for the next page of results.

" } - }, - "PrefixListIds": { - "target": "com.amazonaws.ec2#ValueStringList", - "traits": { - "smithy.api#documentation": "

One or more prefix list IDs.

", - "smithy.api#xmlName": "PrefixListId" - } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeManagedPrefixListsResult": { + "com.amazonaws.ec2#DescribeTrafficMirrorFiltersResult": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "TrafficMirrorFilters": { + "target": "com.amazonaws.ec2#TrafficMirrorFilterSet", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "TrafficMirrorFilterSet", + "smithy.api#documentation": "

Information about one or more Traffic Mirror filters.

", + "smithy.api#xmlName": "trafficMirrorFilterSet" } }, - "PrefixLists": { - "target": "com.amazonaws.ec2#ManagedPrefixListSet", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PrefixListSet", - "smithy.api#documentation": "

Information about the prefix lists.

", - "smithy.api#xmlName": "prefixListSet" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. The value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DescribeMovingAddresses": { + "com.amazonaws.ec2#DescribeTrafficMirrorSessions": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeMovingAddressesRequest" + "target": "com.amazonaws.ec2#DescribeTrafficMirrorSessionsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeMovingAddressesResult" + "target": "com.amazonaws.ec2#DescribeTrafficMirrorSessionsResult" }, "traits": { - "smithy.api#documentation": "

Describes your Elastic IP addresses that are being moved to the EC2-VPC platform, or that are being restored to the EC2-Classic platform. This request does not return information about any other Elastic IP addresses in your account.

", + "smithy.api#documentation": "

Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror sessions are described. Alternatively, you can filter the results.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "MovingAddressStatuses", + "items": "TrafficMirrorSessions", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeMovingAddressesMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 1000 - } - } - }, - "com.amazonaws.ec2#DescribeMovingAddressesRequest": { + "com.amazonaws.ec2#DescribeTrafficMirrorSessionsRequest": { "type": "structure", "members": { - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "TrafficMirrorSessionIds": { + "target": "com.amazonaws.ec2#TrafficMirrorSessionIdList", "traits": { - "aws.protocols#ec2QueryName": "Filter", - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n moving-status - The status of the Elastic IP address\n (MovingToVpc | RestoringToClassic).

    \n
  • \n
", - "smithy.api#xmlName": "filter" + "smithy.api#documentation": "

The ID of the Traffic Mirror session.

", + "smithy.api#xmlName": "TrafficMirrorSessionId" } }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n description: The Traffic Mirror session description.

    \n
  • \n
  • \n

    \n network-interface-id: The ID of the Traffic Mirror session network interface.

    \n
  • \n
  • \n

    \n owner-id: The ID of the account that owns the Traffic Mirror session.

    \n
  • \n
  • \n

    \n packet-length: The assigned number of packets to mirror.

    \n
  • \n
  • \n

    \n session-number: The assigned session number.

    \n
  • \n
  • \n

    \n traffic-mirror-filter-id: The ID of the Traffic Mirror filter.

    \n
  • \n
  • \n

    \n traffic-mirror-session-id: The ID of the Traffic Mirror session.

    \n
  • \n
  • \n

    \n traffic-mirror-target-id: The ID of the Traffic Mirror target.

    \n
  • \n
  • \n

    \n virtual-network-id: The virtual network ID of the Traffic Mirror session.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, "MaxResults": { - "target": "com.amazonaws.ec2#DescribeMovingAddressesMaxResults", + "target": "com.amazonaws.ec2#TrafficMirroringMaxResults", "traits": { - "aws.protocols#ec2QueryName": "MaxResults", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining\n results of the initial request can be seen by sending another request with the returned\n NextToken value. This value can be between 5 and 1000; if\n MaxResults is given a value outside of this range, an error is returned.

\n

Default: If no value is provided, the default is 1000.

", - "smithy.api#xmlName": "maxResults" + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } }, "NextToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token for the next page of results.

", - "smithy.api#xmlName": "nextToken" - } - }, - "PublicIps": { - "target": "com.amazonaws.ec2#ValueStringList", + "target": "com.amazonaws.ec2#NextToken", "traits": { - "aws.protocols#ec2QueryName": "PublicIp", - "smithy.api#documentation": "

One or more Elastic IP addresses.

", - "smithy.api#xmlName": "publicIp" + "smithy.api#documentation": "

The token for the next page of results.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeMovingAddressesResult": { + "com.amazonaws.ec2#DescribeTrafficMirrorSessionsResult": { "type": "structure", "members": { - "MovingAddressStatuses": { - "target": "com.amazonaws.ec2#MovingAddressStatusSet", + "TrafficMirrorSessions": { + "target": "com.amazonaws.ec2#TrafficMirrorSessionSet", "traits": { - "aws.protocols#ec2QueryName": "MovingAddressStatusSet", - "smithy.api#documentation": "

The status for each Elastic IP address.

", - "smithy.api#xmlName": "movingAddressStatusSet" + "aws.protocols#ec2QueryName": "TrafficMirrorSessionSet", + "smithy.api#documentation": "

Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror sessions are described. Alternatively, you can filter the results.

", + "smithy.api#xmlName": "trafficMirrorSessionSet" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. The value is null when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DescribeNatGateways": { + "com.amazonaws.ec2#DescribeTrafficMirrorTargets": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeNatGatewaysRequest" + "target": "com.amazonaws.ec2#DescribeTrafficMirrorTargetsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeNatGatewaysResult" + "target": "com.amazonaws.ec2#DescribeTrafficMirrorTargetsResult" }, "traits": { - "smithy.api#documentation": "

Describes one or more of your NAT gateways.

", + "smithy.api#documentation": "

Information about one or more Traffic Mirror targets.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "NatGateways", + "items": "TrafficMirrorTargets", "pageSize": "MaxResults" - }, - "smithy.api#suppress": [ - "WaitableTraitInvalidErrorType" - ], - "smithy.waiters#waitable": { - "NatGatewayAvailable": { - "acceptors": [ - { - "state": "success", - "matcher": { - "output": { - "path": "NatGateways[].State", - "expected": "available", - "comparator": "allStringEquals" - } - } - }, - { - "state": "failure", - "matcher": { - "output": { - "path": "NatGateways[].State", - "expected": "failed", - "comparator": "anyStringEquals" - } - } - }, - { - "state": "failure", - "matcher": { - "output": { - "path": "NatGateways[].State", - "expected": "deleting", - "comparator": "anyStringEquals" - } - } - }, - { - "state": "failure", - "matcher": { - "output": { - "path": "NatGateways[].State", - "expected": "deleted", - "comparator": "anyStringEquals" - } - } - }, - { - "state": "retry", - "matcher": { - "errorType": "NatGatewayNotFound" - } - } - ], - "minDelay": 15 - }, - "NatGatewayDeleted": { - "acceptors": [ - { - "state": "success", - "matcher": { - "output": { - "path": "NatGateways[].State", - "expected": "deleted", - "comparator": "allStringEquals" - } - } - }, - { - "state": "success", - "matcher": { - "errorType": "NatGatewayNotFound" - } - } - ], - "minDelay": 15 - } - } - } - }, - "com.amazonaws.ec2#DescribeNatGatewaysMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 1000 } } }, - "com.amazonaws.ec2#DescribeNatGatewaysRequest": { + "com.amazonaws.ec2#DescribeTrafficMirrorTargetsRequest": { "type": "structure", "members": { + "TrafficMirrorTargetIds": { + "target": "com.amazonaws.ec2#TrafficMirrorTargetIdList", + "traits": { + "smithy.api#documentation": "

The ID of the Traffic Mirror targets.

", + "smithy.api#xmlName": "TrafficMirrorTargetId" + } + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -29843,109 +34831,93 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "Filter": { + "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n nat-gateway-id - The ID of the NAT gateway.

    \n
  • \n
  • \n

    \n state - The state of the NAT gateway (pending |\n failed | available | deleting | deleted).

    \n
  • \n
  • \n

    \n subnet-id - The ID of the subnet in which the NAT gateway resides.

    \n
  • \n
  • \n\t\t

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n\t\t
  • \n
  • \n\t\t\t

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n\t\t
  • \n
  • \n

    \n vpc-id - The ID of the VPC in which the NAT gateway resides.

    \n
  • \n
" + "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n description: The Traffic Mirror target description.

    \n
  • \n
  • \n

    \n network-interface-id: The ID of the Traffic Mirror session network interface.

    \n
  • \n
  • \n

    \n network-load-balancer-arn: The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the session.

    \n
  • \n
  • \n

    \n owner-id: The ID of the account that owns the Traffic Mirror session.

    \n
  • \n
  • \n

    \n traffic-mirror-target-id: The ID of the Traffic Mirror target.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, "MaxResults": { - "target": "com.amazonaws.ec2#DescribeNatGatewaysMaxResults", + "target": "com.amazonaws.ec2#TrafficMirroringMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } }, - "NatGatewayIds": { - "target": "com.amazonaws.ec2#NatGatewayIdStringList", - "traits": { - "smithy.api#documentation": "

One or more NAT gateway IDs.

", - "smithy.api#xmlName": "NatGatewayId" - } - }, "NextToken": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#NextToken", "traits": { "smithy.api#documentation": "

The token for the next page of results.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeNatGatewaysResult": { + "com.amazonaws.ec2#DescribeTrafficMirrorTargetsResult": { "type": "structure", "members": { - "NatGateways": { - "target": "com.amazonaws.ec2#NatGatewayList", + "TrafficMirrorTargets": { + "target": "com.amazonaws.ec2#TrafficMirrorTargetSet", "traits": { - "aws.protocols#ec2QueryName": "NatGatewaySet", - "smithy.api#documentation": "

Information about the NAT gateways.

", - "smithy.api#xmlName": "natGatewaySet" + "aws.protocols#ec2QueryName": "TrafficMirrorTargetSet", + "smithy.api#documentation": "

Information about one or more Traffic Mirror targets.

", + "smithy.api#xmlName": "trafficMirrorTargetSet" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. The value is null when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DescribeNetworkAcls": { + "com.amazonaws.ec2#DescribeTransitGatewayAttachments": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeNetworkAclsRequest" + "target": "com.amazonaws.ec2#DescribeTransitGatewayAttachmentsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeNetworkAclsResult" + "target": "com.amazonaws.ec2#DescribeTransitGatewayAttachmentsResult" }, "traits": { - "smithy.api#documentation": "

Describes one or more of your network ACLs.

\n\t\t

For more information, see Network ACLs in the\n\t\t\t\tAmazon Virtual Private Cloud User Guide.

", + "smithy.api#documentation": "

Describes one or more attachments between resources and transit gateways. By default, all attachments are described.\n Alternatively, you can filter the results by attachment ID, attachment state, resource ID, or resource owner.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "NetworkAcls", + "items": "TransitGatewayAttachments", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeNetworkAclsMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 1000 - } - } - }, - "com.amazonaws.ec2#DescribeNetworkAclsRequest": { + "com.amazonaws.ec2#DescribeTransitGatewayAttachmentsRequest": { "type": "structure", "members": { + "TransitGatewayAttachmentIds": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentIdStringList", + "traits": { + "smithy.api#documentation": "

The IDs of the attachments.

" + } + }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters.

\n\t\t
    \n
  • \n\t\t

    \n association.association-id - The ID of an association ID for the ACL.

    \n\t\t
  • \n
  • \n\t\t

    \n association.network-acl-id - The ID of the network ACL involved in the association.

    \n\t\t
  • \n
  • \n\t\t

    \n association.subnet-id - The ID of the subnet involved in the association.

    \n\t\t
  • \n
  • \n\t\t

    \n default - Indicates whether the ACL is the default network ACL for the VPC.

    \n\t\t
  • \n
  • \n\t\t

    \n entry.cidr - The IPv4 CIDR range specified in the entry.

    \n\t\t
  • \n
  • \n\t\t

    \n entry.icmp.code - The ICMP code specified in the entry, if any.

    \n\t\t
  • \n
  • \n\t\t

    \n entry.icmp.type - The ICMP type specified in the entry, if any.

    \n\t\t
  • \n
  • \n

    \n entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.

    \n
  • \n
  • \n\t\t

    \n entry.port-range.from - The start of the port range specified in the entry.

    \n\t\t
  • \n
  • \n\t\t

    \n entry.port-range.to - The end of the port range specified in the entry.

    \n\t\t
  • \n
  • \n\t\t

    \n entry.protocol - The protocol specified in the entry (tcp | udp | icmp or a protocol number).

    \n\t\t
  • \n
  • \n\t\t

    \n entry.rule-action - Allows or denies the matching traffic (allow | deny).

    \n\t\t
  • \n
  • \n\t\t

    \n entry.egress - A Boolean that indicates the type of rule. Specify true \n\t\t for egress rules, or false for ingress rules.

    \n\t\t
  • \n
  • \n\t\t

    \n entry.rule-number - The number of an entry (in other words, rule) in\n the set of ACL entries.

    \n\t\t
  • \n
  • \n\t\t

    \n network-acl-id - The ID of the network ACL.

    \n\t\t
  • \n
  • \n\t\t

    \n owner-id - The ID of the Amazon Web Services account that owns the network ACL.

    \n\t\t
  • \n
  • \n\t\t

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n\t\t
  • \n
  • \n\t\t

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n\t\t
  • \n
  • \n\t\t

    \n vpc-id - The ID of the VPC for the network ACL.

    \n\t\t
  • \n
", + "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n association.state - The state of the association (associating | associated |\n disassociating).

    \n
  • \n
  • \n

    \n association.transit-gateway-route-table-id - The ID of the route table for the transit gateway.

    \n
  • \n
  • \n

    \n resource-id - The ID of the resource.

    \n
  • \n
  • \n

    \n resource-owner-id - The ID of the Amazon Web Services account that owns the resource.

    \n
  • \n
  • \n

    \n resource-type - The resource type. Valid values are vpc\n | vpn | direct-connect-gateway | peering\n | connect.

    \n
  • \n
  • \n

    \n state - The state of the attachment. Valid values are available | deleted | deleting | failed | failing | initiatingRequest | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting.

    \n
  • \n
  • \n

    \n transit-gateway-attachment-id - The ID of the attachment.

    \n
  • \n
  • \n

    \n transit-gateway-id - The ID of the transit gateway.

    \n
  • \n
  • \n

    \n transit-gateway-owner-id - The ID of the Amazon Web Services account that owns the transit gateway.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "MaxResults": { + "target": "com.amazonaws.ec2#TransitGatewayMaxResults", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" - } - }, - "NetworkAclIds": { - "target": "com.amazonaws.ec2#NetworkAclIdStringList", - "traits": { - "smithy.api#documentation": "

One or more network ACL IDs.

\n\t\t

Default: Describes all your network ACLs.

", - "smithy.api#xmlName": "NetworkAclId" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } }, "NextToken": { @@ -29954,25 +34926,28 @@ "smithy.api#documentation": "

The token for the next page of results.

" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#DescribeNetworkAclsMaxResults", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeNetworkAclsResult": { + "com.amazonaws.ec2#DescribeTransitGatewayAttachmentsResult": { "type": "structure", "members": { - "NetworkAcls": { - "target": "com.amazonaws.ec2#NetworkAclList", + "TransitGatewayAttachments": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentList", "traits": { - "aws.protocols#ec2QueryName": "NetworkAclSet", - "smithy.api#documentation": "

Information about one or more network ACLs.

", - "smithy.api#xmlName": "networkAclSet" + "aws.protocols#ec2QueryName": "TransitGatewayAttachments", + "smithy.api#documentation": "

Information about the attachments.

", + "smithy.api#xmlName": "transitGatewayAttachments" } }, "NextToken": { @@ -29985,65 +34960,52 @@ } } }, - "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopeAnalyses": { + "com.amazonaws.ec2#DescribeTransitGatewayConnectPeers": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopeAnalysesRequest" + "target": "com.amazonaws.ec2#DescribeTransitGatewayConnectPeersRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopeAnalysesResult" + "target": "com.amazonaws.ec2#DescribeTransitGatewayConnectPeersResult" }, "traits": { - "smithy.api#documentation": "

Describes the specified Network Access Scope analyses.

", + "smithy.api#documentation": "

Describes one or more Connect peers.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "NetworkInsightsAccessScopeAnalyses", + "items": "TransitGatewayConnectPeers", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopeAnalysesRequest": { + "com.amazonaws.ec2#DescribeTransitGatewayConnectPeersRequest": { "type": "structure", "members": { - "NetworkInsightsAccessScopeAnalysisIds": { - "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisIdList", - "traits": { - "smithy.api#documentation": "

The IDs of the Network Access Scope analyses.

", - "smithy.api#xmlName": "NetworkInsightsAccessScopeAnalysisId" - } - }, - "NetworkInsightsAccessScopeId": { - "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeId", - "traits": { - "smithy.api#documentation": "

The ID of the Network Access Scope.

" - } - }, - "AnalysisStartTimeBegin": { - "target": "com.amazonaws.ec2#MillisecondDateTime", - "traits": { - "smithy.api#documentation": "

Filters the results based on the start time. The analysis must have started on or after this time.

" - } - }, - "AnalysisStartTimeEnd": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "TransitGatewayConnectPeerIds": { + "target": "com.amazonaws.ec2#TransitGatewayConnectPeerIdStringList", "traits": { - "smithy.api#documentation": "

Filters the results based on the start time. The analysis must have started on or before this time.

" + "smithy.api#documentation": "

The IDs of the Connect peers.

" } }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

There are no supported filters.

", + "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n state - The state of the Connect peer (pending |\n available | deleting |\n deleted).

    \n
  • \n
  • \n

    \n transit-gateway-attachment-id - The ID of the attachment.

    \n
  • \n
  • \n

    \n transit-gateway-connect-peer-id - The ID of the Connect peer.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, "MaxResults": { - "target": "com.amazonaws.ec2#NetworkInsightsMaxResults", + "target": "com.amazonaws.ec2#TransitGatewayMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n To retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" } }, "DryRun": { @@ -30053,24 +35015,21 @@ "smithy.api#default": false, "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - }, - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", - "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" - } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopeAnalysesResult": { + "com.amazonaws.ec2#DescribeTransitGatewayConnectPeersResult": { "type": "structure", "members": { - "NetworkInsightsAccessScopeAnalyses": { - "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisList", + "TransitGatewayConnectPeers": { + "target": "com.amazonaws.ec2#TransitGatewayConnectPeerList", "traits": { - "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeAnalysisSet", - "smithy.api#documentation": "

The Network Access Scope analyses.

", - "smithy.api#xmlName": "networkInsightsAccessScopeAnalysisSet" + "aws.protocols#ec2QueryName": "TransitGatewayConnectPeerSet", + "smithy.api#documentation": "

Information about the Connect peers.

", + "smithy.api#xmlName": "transitGatewayConnectPeerSet" } }, "NextToken": { @@ -30083,47 +35042,52 @@ } } }, - "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopes": { + "com.amazonaws.ec2#DescribeTransitGatewayConnects": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopesRequest" + "target": "com.amazonaws.ec2#DescribeTransitGatewayConnectsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopesResult" + "target": "com.amazonaws.ec2#DescribeTransitGatewayConnectsResult" }, "traits": { - "smithy.api#documentation": "

Describes the specified Network Access Scopes.

", + "smithy.api#documentation": "

Describes one or more Connect attachments.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "NetworkInsightsAccessScopes", + "items": "TransitGatewayConnects", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopesRequest": { + "com.amazonaws.ec2#DescribeTransitGatewayConnectsRequest": { "type": "structure", "members": { - "NetworkInsightsAccessScopeIds": { - "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeIdList", + "TransitGatewayAttachmentIds": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentIdStringList", "traits": { - "smithy.api#documentation": "

The IDs of the Network Access Scopes.

", - "smithy.api#xmlName": "NetworkInsightsAccessScopeId" + "smithy.api#documentation": "

The IDs of the attachments.

" } }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

There are no supported filters.

", + "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n options.protocol - The tunnel protocol (gre).

    \n
  • \n
  • \n

    \n state - The state of the attachment (initiating |\n initiatingRequest | pendingAcceptance |\n rollingBack | pending | available |\n modifying | deleting | deleted |\n failed | rejected | rejecting |\n failing).

    \n
  • \n
  • \n

    \n transit-gateway-attachment-id - The ID of the\n Connect attachment.

    \n
  • \n
  • \n

    \n transit-gateway-id - The ID of the transit gateway.

    \n
  • \n
  • \n

    \n transport-transit-gateway-attachment-id - The ID of the transit gateway attachment from which the Connect attachment was created.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, "MaxResults": { - "target": "com.amazonaws.ec2#NetworkInsightsMaxResults", + "target": "com.amazonaws.ec2#TransitGatewayMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n To retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" } }, "DryRun": { @@ -30133,24 +35097,21 @@ "smithy.api#default": false, "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - }, - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", - "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" - } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeNetworkInsightsAccessScopesResult": { + "com.amazonaws.ec2#DescribeTransitGatewayConnectsResult": { "type": "structure", "members": { - "NetworkInsightsAccessScopes": { - "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeList", + "TransitGatewayConnects": { + "target": "com.amazonaws.ec2#TransitGatewayConnectList", "traits": { - "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeSet", - "smithy.api#documentation": "

The Network Access Scopes.

", - "smithy.api#xmlName": "networkInsightsAccessScopeSet" + "aws.protocols#ec2QueryName": "TransitGatewayConnectSet", + "smithy.api#documentation": "

Information about the Connect attachments.

", + "smithy.api#xmlName": "transitGatewayConnectSet" } }, "NextToken": { @@ -30163,65 +35124,52 @@ } } }, - "com.amazonaws.ec2#DescribeNetworkInsightsAnalyses": { + "com.amazonaws.ec2#DescribeTransitGatewayMulticastDomains": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeNetworkInsightsAnalysesRequest" + "target": "com.amazonaws.ec2#DescribeTransitGatewayMulticastDomainsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeNetworkInsightsAnalysesResult" + "target": "com.amazonaws.ec2#DescribeTransitGatewayMulticastDomainsResult" }, "traits": { - "smithy.api#documentation": "

Describes one or more of your network insights analyses.

", + "smithy.api#documentation": "

Describes one or more transit gateway multicast domains.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "NetworkInsightsAnalyses", + "items": "TransitGatewayMulticastDomains", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeNetworkInsightsAnalysesRequest": { + "com.amazonaws.ec2#DescribeTransitGatewayMulticastDomainsRequest": { "type": "structure", "members": { - "NetworkInsightsAnalysisIds": { - "target": "com.amazonaws.ec2#NetworkInsightsAnalysisIdList", - "traits": { - "smithy.api#documentation": "

The ID of the network insights analyses. You must specify either analysis IDs or a path ID.

", - "smithy.api#xmlName": "NetworkInsightsAnalysisId" - } - }, - "NetworkInsightsPathId": { - "target": "com.amazonaws.ec2#NetworkInsightsPathId", - "traits": { - "smithy.api#documentation": "

The ID of the path. You must specify either a path ID or analysis IDs.

" - } - }, - "AnalysisStartTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", - "traits": { - "smithy.api#documentation": "

The time when the network insights analyses started.

" - } - }, - "AnalysisEndTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "TransitGatewayMulticastDomainIds": { + "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainIdStringList", "traits": { - "smithy.api#documentation": "

The time when the network insights analyses ended.

" + "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

" } }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The filters. The following are the possible values:

\n
    \n
  • \n

    path-found - A Boolean value that indicates whether a feasible path is found.

    \n
  • \n
  • \n

    status - The status of the analysis (running | succeeded | failed).

    \n
  • \n
", + "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n state - The state of the transit gateway multicast domain. Valid values are pending | available | deleting | deleted.

    \n
  • \n
  • \n

    \n transit-gateway-id - The ID of the transit gateway.

    \n
  • \n
  • \n

    \n transit-gateway-multicast-domain-id - The ID of the transit gateway multicast domain.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, "MaxResults": { - "target": "com.amazonaws.ec2#NetworkInsightsMaxResults", + "target": "com.amazonaws.ec2#TransitGatewayMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n To retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" } }, "DryRun": { @@ -30231,24 +35179,21 @@ "smithy.api#default": false, "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - }, - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", - "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" - } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeNetworkInsightsAnalysesResult": { + "com.amazonaws.ec2#DescribeTransitGatewayMulticastDomainsResult": { "type": "structure", "members": { - "NetworkInsightsAnalyses": { - "target": "com.amazonaws.ec2#NetworkInsightsAnalysisList", + "TransitGatewayMulticastDomains": { + "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainList", "traits": { - "aws.protocols#ec2QueryName": "NetworkInsightsAnalysisSet", - "smithy.api#documentation": "

Information about the network insights analyses.

", - "smithy.api#xmlName": "networkInsightsAnalysisSet" + "aws.protocols#ec2QueryName": "TransitGatewayMulticastDomains", + "smithy.api#documentation": "

Information about the transit gateway multicast domains.

", + "smithy.api#xmlName": "transitGatewayMulticastDomains" } }, "NextToken": { @@ -30261,47 +35206,52 @@ } } }, - "com.amazonaws.ec2#DescribeNetworkInsightsPaths": { + "com.amazonaws.ec2#DescribeTransitGatewayPeeringAttachments": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeNetworkInsightsPathsRequest" + "target": "com.amazonaws.ec2#DescribeTransitGatewayPeeringAttachmentsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeNetworkInsightsPathsResult" + "target": "com.amazonaws.ec2#DescribeTransitGatewayPeeringAttachmentsResult" }, "traits": { - "smithy.api#documentation": "

Describes one or more of your paths.

", + "smithy.api#documentation": "

Describes your transit gateway peering attachments.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "NetworkInsightsPaths", + "items": "TransitGatewayPeeringAttachments", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeNetworkInsightsPathsRequest": { + "com.amazonaws.ec2#DescribeTransitGatewayPeeringAttachmentsRequest": { "type": "structure", "members": { - "NetworkInsightsPathIds": { - "target": "com.amazonaws.ec2#NetworkInsightsPathIdList", + "TransitGatewayAttachmentIds": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentIdStringList", "traits": { - "smithy.api#documentation": "

The IDs of the paths.

", - "smithy.api#xmlName": "NetworkInsightsPathId" + "smithy.api#documentation": "

One or more IDs of the transit gateway peering attachments.

" } }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The filters. The following are the possible values:

\n
    \n
  • \n

    destination - The ID of the resource.

    \n
  • \n
  • \n

    destination-port - The destination port.

    \n
  • \n
  • \n

    protocol - The protocol.

    \n
  • \n
  • \n

    source - The ID of the resource.

    \n
  • \n
", + "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n transit-gateway-attachment-id - The ID of the transit gateway attachment.

    \n
  • \n
  • \n

    \n local-owner-id - The ID of your Amazon Web Services account.

    \n
  • \n
  • \n

    \n remote-owner-id - The ID of the Amazon Web Services account in the remote Region that owns the transit gateway.

    \n
  • \n
  • \n

    \n state - The state of the peering attachment. Valid values are available | deleted | deleting | failed | failing | initiatingRequest | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting).

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n transit-gateway-id - The ID of the transit gateway.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, "MaxResults": { - "target": "com.amazonaws.ec2#NetworkInsightsMaxResults", + "target": "com.amazonaws.ec2#TransitGatewayMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n To retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" } }, "DryRun": { @@ -30311,24 +35261,21 @@ "smithy.api#default": false, "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - }, - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", - "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" - } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeNetworkInsightsPathsResult": { + "com.amazonaws.ec2#DescribeTransitGatewayPeeringAttachmentsResult": { "type": "structure", "members": { - "NetworkInsightsPaths": { - "target": "com.amazonaws.ec2#NetworkInsightsPathList", + "TransitGatewayPeeringAttachments": { + "target": "com.amazonaws.ec2#TransitGatewayPeeringAttachmentList", "traits": { - "aws.protocols#ec2QueryName": "NetworkInsightsPathSet", - "smithy.api#documentation": "

Information about the paths.

", - "smithy.api#xmlName": "networkInsightsPathSet" + "aws.protocols#ec2QueryName": "TransitGatewayPeeringAttachments", + "smithy.api#documentation": "

The transit gateway peering attachments.

", + "smithy.api#xmlName": "transitGatewayPeeringAttachments" } }, "NextToken": { @@ -30341,300 +35288,240 @@ } } }, - "com.amazonaws.ec2#DescribeNetworkInterfaceAttribute": { + "com.amazonaws.ec2#DescribeTransitGatewayPolicyTables": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeNetworkInterfaceAttributeRequest" + "target": "com.amazonaws.ec2#DescribeTransitGatewayPolicyTablesRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeNetworkInterfaceAttributeResult" + "target": "com.amazonaws.ec2#DescribeTransitGatewayPolicyTablesResult" }, "traits": { - "smithy.api#documentation": "

Describes a network interface attribute. You can specify only one attribute at a time.

" + "smithy.api#documentation": "

Describes one or more transit gateway route policy tables.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "TransitGatewayPolicyTables", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DescribeNetworkInterfaceAttributeRequest": { + "com.amazonaws.ec2#DescribeTransitGatewayPolicyTablesRequest": { "type": "structure", "members": { - "Attribute": { - "target": "com.amazonaws.ec2#NetworkInterfaceAttribute", + "TransitGatewayPolicyTableIds": { + "target": "com.amazonaws.ec2#TransitGatewayPolicyTableIdStringList", "traits": { - "aws.protocols#ec2QueryName": "Attribute", - "smithy.api#documentation": "

The attribute of the network interface. This parameter is required.

", - "smithy.api#xmlName": "attribute" + "smithy.api#documentation": "

The IDs of the transit gateway policy tables.

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

The filters associated with the transit gateway policy table.

", + "smithy.api#xmlName": "Filter" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#TransitGatewayMaxResults", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } }, - "NetworkInterfaceId": { - "target": "com.amazonaws.ec2#NetworkInterfaceId", + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceId", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the network interface.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "networkInterfaceId" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for DescribeNetworkInterfaceAttribute.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeNetworkInterfaceAttributeResult": { + "com.amazonaws.ec2#DescribeTransitGatewayPolicyTablesResult": { "type": "structure", "members": { - "Attachment": { - "target": "com.amazonaws.ec2#NetworkInterfaceAttachment", - "traits": { - "aws.protocols#ec2QueryName": "Attachment", - "smithy.api#documentation": "

The attachment (if any) of the network interface.

", - "smithy.api#xmlName": "attachment" - } - }, - "Description": { - "target": "com.amazonaws.ec2#AttributeValue", - "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

The description of the network interface.

", - "smithy.api#xmlName": "description" - } - }, - "Groups": { - "target": "com.amazonaws.ec2#GroupIdentifierList", + "TransitGatewayPolicyTables": { + "target": "com.amazonaws.ec2#TransitGatewayPolicyTableList", "traits": { - "aws.protocols#ec2QueryName": "GroupSet", - "smithy.api#documentation": "

The security groups associated with the network interface.

", - "smithy.api#xmlName": "groupSet" + "aws.protocols#ec2QueryName": "TransitGatewayPolicyTables", + "smithy.api#documentation": "

Describes the transit gateway policy tables.

", + "smithy.api#xmlName": "transitGatewayPolicyTables" } }, - "NetworkInterfaceId": { + "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceId", - "smithy.api#documentation": "

The ID of the network interface.

", - "smithy.api#xmlName": "networkInterfaceId" - } - }, - "SourceDestCheck": { - "target": "com.amazonaws.ec2#AttributeBooleanValue", - "traits": { - "aws.protocols#ec2QueryName": "SourceDestCheck", - "smithy.api#documentation": "

Indicates whether source/destination checking is enabled.

", - "smithy.api#xmlName": "sourceDestCheck" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token for the next page of results.

", + "smithy.api#xmlName": "nextToken" } } - }, - "traits": { - "smithy.api#documentation": "

Contains the output of DescribeNetworkInterfaceAttribute.

" } }, - "com.amazonaws.ec2#DescribeNetworkInterfacePermissions": { + "com.amazonaws.ec2#DescribeTransitGatewayRouteTableAnnouncements": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeNetworkInterfacePermissionsRequest" + "target": "com.amazonaws.ec2#DescribeTransitGatewayRouteTableAnnouncementsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeNetworkInterfacePermissionsResult" + "target": "com.amazonaws.ec2#DescribeTransitGatewayRouteTableAnnouncementsResult" }, "traits": { - "smithy.api#documentation": "

Describes the permissions for your network interfaces.

", + "smithy.api#documentation": "

Describes one or more transit gateway route table advertisements.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "NetworkInterfacePermissions", + "items": "TransitGatewayRouteTableAnnouncements", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeNetworkInterfacePermissionsMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 255 - } - } - }, - "com.amazonaws.ec2#DescribeNetworkInterfacePermissionsRequest": { + "com.amazonaws.ec2#DescribeTransitGatewayRouteTableAnnouncementsRequest": { "type": "structure", "members": { - "NetworkInterfacePermissionIds": { - "target": "com.amazonaws.ec2#NetworkInterfacePermissionIdList", + "TransitGatewayRouteTableAnnouncementIds": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementIdStringList", "traits": { - "smithy.api#documentation": "

The network interface permission IDs.

", - "smithy.api#xmlName": "NetworkInterfacePermissionId" + "smithy.api#documentation": "

The IDs of the transit gateway route tables that are being advertised.

" } }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters.

\n\t\t
    \n
  • \n

    \n network-interface-permission.network-interface-permission-id - The ID of the\n\t\t\t\tpermission.

    \n
  • \n
  • \n\t\t\t\t

    \n network-interface-permission.network-interface-id - The ID of\n\t\t\t\t\tthe network interface.

    \n\t\t\t
  • \n
  • \n\t\t\t

    \n network-interface-permission.aws-account-id - The Amazon Web Services account ID.

    \n\t\t\t
  • \n
  • \n\t\t\t

    \n network-interface-permission.aws-service - The Amazon Web Service.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n network-interface-permission.permission - The type of\n\t\t\t\t\tpermission (INSTANCE-ATTACH |\n\t\t\t\t\tEIP-ASSOCIATE).

    \n\t\t\t
  • \n
", + "smithy.api#documentation": "

The filters associated with the transit gateway policy table.

", "smithy.api#xmlName": "Filter" } }, + "MaxResults": { + "target": "com.amazonaws.ec2#TransitGatewayMaxResults", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + } + }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The token to request the next page of results.

" + "smithy.api#documentation": "

The token for the next page of results.

" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#DescribeNetworkInterfacePermissionsMaxResults", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining results,\n\t\t\tmake another call with the returned NextToken value. If this parameter is not specified, up to 50 results are returned by default.

" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for DescribeNetworkInterfacePermissions.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeNetworkInterfacePermissionsResult": { + "com.amazonaws.ec2#DescribeTransitGatewayRouteTableAnnouncementsResult": { "type": "structure", "members": { - "NetworkInterfacePermissions": { - "target": "com.amazonaws.ec2#NetworkInterfacePermissionList", + "TransitGatewayRouteTableAnnouncements": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementList", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfacePermissions", - "smithy.api#documentation": "

The network interface permissions.

", - "smithy.api#xmlName": "networkInterfacePermissions" + "aws.protocols#ec2QueryName": "TransitGatewayRouteTableAnnouncements", + "smithy.api#documentation": "

Describes the transit gateway route table announcement.

", + "smithy.api#xmlName": "transitGatewayRouteTableAnnouncements" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results.

", + "smithy.api#documentation": "

The token for the next page of results.

", "smithy.api#xmlName": "nextToken" } } - }, - "traits": { - "smithy.api#documentation": "

Contains the output for DescribeNetworkInterfacePermissions.

" } }, - "com.amazonaws.ec2#DescribeNetworkInterfaces": { + "com.amazonaws.ec2#DescribeTransitGatewayRouteTables": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeNetworkInterfacesRequest" + "target": "com.amazonaws.ec2#DescribeTransitGatewayRouteTablesRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeNetworkInterfacesResult" + "target": "com.amazonaws.ec2#DescribeTransitGatewayRouteTablesResult" }, "traits": { - "smithy.api#documentation": "

Describes one or more of your network interfaces.

", + "smithy.api#documentation": "

Describes one or more transit gateway route tables. By default, all transit gateway route tables are described.\n Alternatively, you can filter the results.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "NetworkInterfaces", + "items": "TransitGatewayRouteTables", "pageSize": "MaxResults" - }, - "smithy.api#suppress": [ - "WaitableTraitInvalidErrorType" - ], - "smithy.waiters#waitable": { - "NetworkInterfaceAvailable": { - "acceptors": [ - { - "state": "success", - "matcher": { - "output": { - "path": "NetworkInterfaces[].Status", - "expected": "available", - "comparator": "allStringEquals" - } - } - }, - { - "state": "failure", - "matcher": { - "errorType": "InvalidNetworkInterfaceID.NotFound" - } - } - ], - "minDelay": 20 - } - } - } - }, - "com.amazonaws.ec2#DescribeNetworkInterfacesMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 1000 } } }, - "com.amazonaws.ec2#DescribeNetworkInterfacesRequest": { + "com.amazonaws.ec2#DescribeTransitGatewayRouteTablesRequest": { "type": "structure", "members": { - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "TransitGatewayRouteTableIds": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableIdStringList", "traits": { - "aws.protocols#ec2QueryName": "Filter", - "smithy.api#documentation": "

One or more filters.

\n\t\t
    \n
  • \n\t\t

    \n addresses.private-ip-address - The private IPv4 addresses\n associated with the network interface.

    \n\t\t
  • \n
  • \n\t\t

    \n addresses.primary - Whether the private IPv4 address is the primary\n IP address associated with the network interface.

    \n\t\t
  • \n
  • \n\t\t

    \n addresses.association.public-ip - The association ID returned when\n the network interface was associated with the Elastic IP address\n (IPv4).

    \n\t\t
  • \n
  • \n\t\t

    \n addresses.association.owner-id - The owner ID of the addresses associated with the network interface.

    \n\t\t
  • \n
  • \n\t\t

    \n association.association-id - The association ID returned when the\n network interface was associated with an IPv4 address.

    \n\t\t
  • \n
  • \n\t\t

    \n association.allocation-id - The allocation ID returned when you\n allocated the Elastic IP address (IPv4) for your network interface.

    \n\t\t
  • \n
  • \n\t\t

    \n association.ip-owner-id - The owner of the Elastic IP address\n (IPv4) associated with the network interface.

    \n\t\t
  • \n
  • \n\t\t

    \n association.public-ip - The address of the Elastic IP address\n (IPv4) bound to the network interface.

    \n\t\t
  • \n
  • \n\t\t \t\t

    \n association.public-dns-name - The public DNS name for the network\n interface (IPv4).

    \n\t\t \t
  • \n
  • \n\t\t

    \n attachment.attachment-id - The ID of the interface attachment.

    \n\t\t
  • \n
  • \n\t\t

    \n attachment.attach-time - The time that the network interface was attached to an instance.

    \n\t\t
  • \n
  • \n\t\t

    \n attachment.delete-on-termination - Indicates whether the attachment is deleted when an instance is terminated.

    \n\t\t
  • \n
  • \n\t\t

    \n attachment.device-index - The device index to which the network interface is attached.

    \n\t\t
  • \n
  • \n\t\t

    \n attachment.instance-id - The ID of the instance to which the network interface is attached.

    \n\t\t
  • \n
  • \n\t\t

    \n attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

    \n\t\t
  • \n
  • \n\t\t

    \n attachment.status - The status of the attachment (attaching | attached | detaching | detached).

    \n\t\t
  • \n
  • \n\t\t

    \n availability-zone - The Availability Zone of the network interface.

    \n\t\t
  • \n
  • \n\t\t

    \n description - The description of the network interface.

    \n\t\t
  • \n
  • \n\t\t

    \n group-id - The ID of a security group associated with the network interface.

    \n\t\t
  • \n
  • \n\t\t

    \n group-name - The name of a security group associated with the network interface.

    \n\t\t
  • \n
  • \n

    \n ipv6-addresses.ipv6-address - An IPv6 address associated with\n the network interface.

    \n
  • \n
  • \n\t\t

    \n interface-type - The type of network interface (api_gateway_managed | \n\t\t aws_codestar_connections_managed | branch | efa | \n\t\t gateway_load_balancer | gateway_load_balancer_endpoint | global_accelerator_managed | \n\t\t interface | iot_rules_managed | lambda | load_balancer | \n\t\t nat_gateway | network_load_balancer | quicksight | \n\t\t transit_gateway | trunk | vpc_endpoint).

    \n\t\t
  • \n
  • \n\t\t

    \n mac-address - The MAC address of the network interface.

    \n\t\t
  • \n
  • \n\t\t

    \n network-interface-id - The ID of the network interface.

    \n\t\t
  • \n
  • \n\t\t

    \n owner-id - The Amazon Web Services account ID of the network interface owner.

    \n\t\t
  • \n
  • \n\t\t

    \n private-ip-address - The private IPv4 address or addresses of the\n network interface.

    \n\t\t
  • \n
  • \n\t\t

    \n private-dns-name - The private DNS name of the network interface (IPv4).

    \n\t\t
  • \n
  • \n\t\t

    \n requester-id - The alias or Amazon Web Services account ID of the principal or service that created the network interface.

    \n\t\t
  • \n
  • \n\t\t

    \n requester-managed - Indicates whether the network interface is being managed by an Amazon Web Service \n\t\t (for example, Amazon Web Services Management Console, Auto Scaling, and so on).

    \n\t\t
  • \n
  • \n\t\t

    \n source-dest-check - Indicates whether the network interface performs source/destination checking. \n\t\t A value of true means checking is enabled, and false means checking is disabled. \n\t\t The value must be false for the network interface to perform network address translation (NAT) in your VPC.

    \n\t\t
  • \n
  • \n\t\t

    \n status - The status of the network interface. If the network interface is not attached to an instance, the status is available; \n\t\t if a network interface is attached to an instance the status is in-use.

    \n\t\t
  • \n
  • \n\t\t

    \n subnet-id - The ID of the subnet for the network interface.

    \n\t\t
  • \n
  • \n\t\t

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n\t\t
  • \n
  • \n\t\t

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n\t\t
  • \n
  • \n\t\t

    \n vpc-id - The ID of the VPC for the network interface.

    \n\t\t
  • \n
", - "smithy.api#xmlName": "filter" + "smithy.api#documentation": "

The IDs of the transit gateway route tables.

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n default-association-route-table - Indicates whether this is the default\n association route table for the transit gateway (true | false).

    \n
  • \n
  • \n

    \n default-propagation-route-table - Indicates whether this is the default\n propagation route table for the transit gateway (true | false).

    \n
  • \n
  • \n

    \n state - The state of the route table (available | deleting | deleted | pending).

    \n
  • \n
  • \n

    \n transit-gateway-id - The ID of the transit gateway.

    \n
  • \n
  • \n

    \n transit-gateway-route-table-id - The ID of the transit gateway route table.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, - "NetworkInterfaceIds": { - "target": "com.amazonaws.ec2#NetworkInterfaceIdList", + "MaxResults": { + "target": "com.amazonaws.ec2#TransitGatewayMaxResults", "traits": { - "smithy.api#documentation": "

The network interface IDs.

\n\t\t

Default: Describes all your network interfaces.

", - "smithy.api#xmlName": "NetworkInterfaceId" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The token to retrieve the next page of results.

" + "smithy.api#documentation": "

The token for the next page of results.

" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#DescribeNetworkInterfacesMaxResults", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of items to return for this request. The request returns a token that you\n can specify in a subsequent call to get the next set of results. You cannot specify this\n parameter and the network interface IDs parameter in the same request.

" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for DescribeNetworkInterfaces.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeNetworkInterfacesResult": { + "com.amazonaws.ec2#DescribeTransitGatewayRouteTablesResult": { "type": "structure", "members": { - "NetworkInterfaces": { - "target": "com.amazonaws.ec2#NetworkInterfaceList", + "TransitGatewayRouteTables": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableList", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceSet", - "smithy.api#documentation": "

Information about one or more network interfaces.

", - "smithy.api#xmlName": "networkInterfaceSet" + "aws.protocols#ec2QueryName": "TransitGatewayRouteTables", + "smithy.api#documentation": "

Information about the transit gateway route tables.

", + "smithy.api#xmlName": "transitGatewayRouteTables" } }, "NextToken": { @@ -30645,111 +35532,126 @@ "smithy.api#xmlName": "nextToken" } } - }, - "traits": { - "smithy.api#documentation": "

Contains the output of DescribeNetworkInterfaces.

" } }, - "com.amazonaws.ec2#DescribePlacementGroups": { + "com.amazonaws.ec2#DescribeTransitGatewayVpcAttachments": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribePlacementGroupsRequest" + "target": "com.amazonaws.ec2#DescribeTransitGatewayVpcAttachmentsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribePlacementGroupsResult" + "target": "com.amazonaws.ec2#DescribeTransitGatewayVpcAttachmentsResult" }, "traits": { - "smithy.api#documentation": "

Describes the specified placement groups or all of your placement groups. For more\n information, see Placement groups in the\n Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Describes one or more VPC attachments. By default, all VPC attachments are described.\n Alternatively, you can filter the results.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "TransitGatewayVpcAttachments", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DescribePlacementGroupsRequest": { + "com.amazonaws.ec2#DescribeTransitGatewayVpcAttachmentsRequest": { "type": "structure", "members": { + "TransitGatewayAttachmentIds": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentIdStringList", + "traits": { + "smithy.api#documentation": "

The IDs of the attachments.

" + } + }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n group-name - The name of the placement group.

    \n
  • \n
  • \n

    \n group-arn - The Amazon Resource Name (ARN) of the placement\n group.

    \n
  • \n
  • \n

    \n spread-level - The spread level for the placement group\n (host | rack).

    \n
  • \n
  • \n

    \n state - The state of the placement group (pending |\n available | deleting |\n deleted).

    \n
  • \n
  • \n

    \n strategy - The strategy of the placement group\n (cluster | spread |\n partition).

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.

    \n
  • \n
", + "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n state - The state of the attachment. Valid values are available | deleted | deleting | failed | failing | initiatingRequest | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting.

    \n
  • \n
  • \n

    \n transit-gateway-attachment-id - The ID of the attachment.

    \n
  • \n
  • \n

    \n transit-gateway-id - The ID of the transit gateway.

    \n
  • \n
  • \n

    \n vpc-id - The ID of the VPC.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "MaxResults": { + "target": "com.amazonaws.ec2#TransitGatewayMaxResults", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } }, - "GroupNames": { - "target": "com.amazonaws.ec2#PlacementGroupStringList", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "GroupName", - "smithy.api#documentation": "

The names of the placement groups.

\n

Default: Describes all your placement groups, or only those otherwise\n specified.

", - "smithy.api#xmlName": "groupName" + "smithy.api#documentation": "

The token for the next page of results.

" } }, - "GroupIds": { - "target": "com.amazonaws.ec2#PlacementGroupIdStringList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The IDs of the placement groups.

", - "smithy.api#xmlName": "GroupId" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribePlacementGroupsResult": { + "com.amazonaws.ec2#DescribeTransitGatewayVpcAttachmentsResult": { "type": "structure", "members": { - "PlacementGroups": { - "target": "com.amazonaws.ec2#PlacementGroupList", + "TransitGatewayVpcAttachments": { + "target": "com.amazonaws.ec2#TransitGatewayVpcAttachmentList", "traits": { - "aws.protocols#ec2QueryName": "PlacementGroupSet", - "smithy.api#documentation": "

Information about the placement groups.

", - "smithy.api#xmlName": "placementGroupSet" + "aws.protocols#ec2QueryName": "TransitGatewayVpcAttachments", + "smithy.api#documentation": "

Information about the VPC attachments.

", + "smithy.api#xmlName": "transitGatewayVpcAttachments" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DescribePrefixLists": { + "com.amazonaws.ec2#DescribeTransitGateways": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribePrefixListsRequest" + "target": "com.amazonaws.ec2#DescribeTransitGatewaysRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribePrefixListsResult" + "target": "com.amazonaws.ec2#DescribeTransitGatewaysResult" }, "traits": { - "smithy.api#documentation": "

Describes available Amazon Web Services services in a prefix list format, which includes the prefix list\n name and prefix list ID of the service and the IP address range for the service.

\n

We recommend that you use DescribeManagedPrefixLists instead.

", + "smithy.api#documentation": "

Describes one or more transit gateways. By default, all transit gateways are described. Alternatively, you can\n filter the results.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "PrefixLists", + "items": "TransitGateways", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribePrefixListsRequest": { + "com.amazonaws.ec2#DescribeTransitGatewaysRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "TransitGatewayIds": { + "target": "com.amazonaws.ec2#TransitGatewayIdStringList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The IDs of the transit gateways.

" } }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n prefix-list-id: The ID of a prefix list.

    \n
  • \n
  • \n

    \n prefix-list-name: The name of a prefix list.

    \n
  • \n
", + "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n options.propagation-default-route-table-id - The ID of the default propagation route table.

    \n
  • \n
  • \n

    \n options.amazon-side-asn - The private ASN for the Amazon side of a BGP session.

    \n
  • \n
  • \n

    \n options.association-default-route-table-id - The ID of the default association route table.

    \n
  • \n
  • \n

    \n options.auto-accept-shared-attachments - Indicates whether there is automatic acceptance of attachment requests (enable | disable).

    \n
  • \n
  • \n

    \n options.default-route-table-association - Indicates whether resource attachments are automatically \n associated with the default association route table (enable | disable).

    \n
  • \n
  • \n

    \n options.default-route-table-propagation - Indicates whether resource attachments automatically propagate \n routes to the default propagation route table (enable | disable).

    \n
  • \n
  • \n

    \n options.dns-support - Indicates whether DNS support is enabled (enable | disable).

    \n
  • \n
  • \n

    \n options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol support is enabled (enable | disable).

    \n
  • \n
  • \n

    \n owner-id - The ID of the Amazon Web Services account that owns the transit gateway.

    \n
  • \n
  • \n

    \n state - The state of the transit gateway (available | deleted | deleting | modifying | pending).

    \n
  • \n
  • \n

    \n transit-gateway-id - The ID of the transit gateway.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, "MaxResults": { - "target": "com.amazonaws.ec2#Integer", + "target": "com.amazonaws.ec2#TransitGatewayMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, @@ -30762,18 +35664,30 @@ "smithy.api#documentation": "

The token for the next page of results.

" } }, - "PrefixListIds": { - "target": "com.amazonaws.ec2#PrefixListResourceIdStringList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

One or more prefix list IDs.

", - "smithy.api#xmlName": "PrefixListId" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribePrefixListsResult": { + "com.amazonaws.ec2#DescribeTransitGatewaysResult": { "type": "structure", "members": { + "TransitGateways": { + "target": "com.amazonaws.ec2#TransitGatewayList", + "traits": { + "aws.protocols#ec2QueryName": "TransitGatewaySet", + "smithy.api#documentation": "

Information about the transit gateways.

", + "smithy.api#xmlName": "transitGatewaySet" + } + }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { @@ -30781,48 +35695,47 @@ "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } - }, - "PrefixLists": { - "target": "com.amazonaws.ec2#PrefixListSet", - "traits": { - "aws.protocols#ec2QueryName": "PrefixListSet", - "smithy.api#documentation": "

All available prefix lists.

", - "smithy.api#xmlName": "prefixListSet" - } } } }, - "com.amazonaws.ec2#DescribePrincipalIdFormat": { + "com.amazonaws.ec2#DescribeTrunkInterfaceAssociations": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribePrincipalIdFormatRequest" + "target": "com.amazonaws.ec2#DescribeTrunkInterfaceAssociationsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribePrincipalIdFormatResult" + "target": "com.amazonaws.ec2#DescribeTrunkInterfaceAssociationsResult" }, "traits": { - "smithy.api#documentation": "

Describes the ID format settings for the root user and all IAM roles and IAM users\n that have explicitly specified a longer ID (17-character ID) preference.

\n

By default, all IAM roles and IAM users default to the same ID settings as the root user, unless they\n explicitly override the settings. This request is useful for identifying those IAM users and IAM roles\n that have overridden the default ID settings.

\n

The following resource types support longer IDs: bundle |\n conversion-task | customer-gateway | dhcp-options |\n elastic-ip-allocation | elastic-ip-association |\n export-task | flow-log | image |\n import-task | instance | internet-gateway |\n network-acl | network-acl-association |\n network-interface | network-interface-attachment |\n prefix-list | reservation | route-table |\n route-table-association | security-group |\n snapshot | subnet |\n subnet-cidr-block-association | volume | vpc\n | vpc-cidr-block-association | vpc-endpoint |\n vpc-peering-connection | vpn-connection | vpn-gateway.

", + "smithy.api#documentation": "\n

This API action is currently in limited preview only. \n If you are interested in using this feature, contact your account manager.

\n
\n

Describes one or more network interface trunk associations.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "Principals", + "items": "InterfaceAssociations", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribePrincipalIdFormatMaxResults": { + "com.amazonaws.ec2#DescribeTrunkInterfaceAssociationsMaxResults": { "type": "integer", "traits": { "smithy.api#default": 0, "smithy.api#range": { - "min": 1, - "max": 1000 + "min": 5, + "max": 255 } } }, - "com.amazonaws.ec2#DescribePrincipalIdFormatRequest": { + "com.amazonaws.ec2#DescribeTrunkInterfaceAssociationsRequest": { "type": "structure", "members": { + "AssociationIds": { + "target": "com.amazonaws.ec2#TrunkInterfaceAssociationIdList", + "traits": { + "smithy.api#documentation": "

The IDs of the associations.

", + "smithy.api#xmlName": "AssociationId" + } + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -30831,114 +35744,150 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "Resources": { - "target": "com.amazonaws.ec2#ResourceList", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The type of resource: bundle |\n conversion-task | customer-gateway | dhcp-options |\n elastic-ip-allocation | elastic-ip-association |\n export-task | flow-log | image |\n import-task | instance | internet-gateway |\n network-acl | network-acl-association |\n network-interface | network-interface-attachment |\n prefix-list | reservation | route-table |\n route-table-association | security-group |\n snapshot | subnet |\n subnet-cidr-block-association | volume | vpc\n | vpc-cidr-block-association | vpc-endpoint |\n vpc-peering-connection | vpn-connection | vpn-gateway\n

", - "smithy.api#xmlName": "Resource" + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n gre-key - The ID of a trunk interface association.

    \n
  • \n
  • \n

    \n interface-protocol - The interface protocol. Valid values are VLAN and GRE.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#DescribePrincipalIdFormatMaxResults", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining\n results, make another call with the returned NextToken value.

" + "smithy.api#documentation": "

The token for the next page of results.

" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeTrunkInterfaceAssociationsMaxResults", "traits": { - "smithy.api#documentation": "

The token to request the next page of results.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n To retrieve the remaining results, make another call with the returned nextToken value.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribePrincipalIdFormatResult": { + "com.amazonaws.ec2#DescribeTrunkInterfaceAssociationsResult": { "type": "structure", "members": { - "Principals": { - "target": "com.amazonaws.ec2#PrincipalIdFormatList", + "InterfaceAssociations": { + "target": "com.amazonaws.ec2#TrunkInterfaceAssociationList", "traits": { - "aws.protocols#ec2QueryName": "PrincipalSet", - "smithy.api#documentation": "

Information about the ID format settings for the ARN.

", - "smithy.api#xmlName": "principalSet" + "aws.protocols#ec2QueryName": "InterfaceAssociationSet", + "smithy.api#documentation": "

Information about the trunk associations.

", + "smithy.api#xmlName": "interfaceAssociationSet" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DescribePublicIpv4Pools": { + "com.amazonaws.ec2#DescribeVerifiedAccessEndpoints": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribePublicIpv4PoolsRequest" + "target": "com.amazonaws.ec2#DescribeVerifiedAccessEndpointsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribePublicIpv4PoolsResult" + "target": "com.amazonaws.ec2#DescribeVerifiedAccessEndpointsResult" }, "traits": { - "smithy.api#documentation": "

Describes the specified IPv4 address pools.

", + "smithy.api#documentation": "

Describe Amazon Web Services Verified Access endpoints.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "PublicIpv4Pools", + "items": "VerifiedAccessEndpoints", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribePublicIpv4PoolsRequest": { + "com.amazonaws.ec2#DescribeVerifiedAccessEndpointsMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#DescribeVerifiedAccessEndpointsRequest": { "type": "structure", "members": { - "PoolIds": { - "target": "com.amazonaws.ec2#PublicIpv4PoolIdStringList", + "VerifiedAccessEndpointIds": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointIdList", "traits": { - "smithy.api#documentation": "

The IDs of the address pools.

", - "smithy.api#xmlName": "PoolId" + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access endpoint.

", + "smithy.api#xmlName": "VerifiedAccessEndpointId" } }, - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "VerifiedAccessInstanceId": { + "target": "com.amazonaws.ec2#VerifiedAccessInstanceId", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access instance.

" + } + }, + "VerifiedAccessGroupId": { + "target": "com.amazonaws.ec2#VerifiedAccessGroupId", + "traits": { + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access group.

" } }, "MaxResults": { - "target": "com.amazonaws.ec2#PoolMaxResults", + "target": "com.amazonaws.ec2#DescribeVerifiedAccessEndpointsMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" + } + }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
", + "smithy.api#documentation": "

One or more filters. Filter names and values are case-sensitive.

", "smithy.api#xmlName": "Filter" } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribePublicIpv4PoolsResult": { + "com.amazonaws.ec2#DescribeVerifiedAccessEndpointsResult": { "type": "structure", "members": { - "PublicIpv4Pools": { - "target": "com.amazonaws.ec2#PublicIpv4PoolSet", + "VerifiedAccessEndpoints": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointList", "traits": { - "aws.protocols#ec2QueryName": "PublicIpv4PoolSet", - "smithy.api#documentation": "

Information about the address pools.

", - "smithy.api#xmlName": "publicIpv4PoolSet" + "aws.protocols#ec2QueryName": "VerifiedAccessEndpointSet", + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access endpoint.

", + "smithy.api#xmlName": "verifiedAccessEndpointSet" } }, "NextToken": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#NextToken", "traits": { "aws.protocols#ec2QueryName": "NextToken", "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", @@ -30947,115 +35896,145 @@ } } }, - "com.amazonaws.ec2#DescribeRegions": { + "com.amazonaws.ec2#DescribeVerifiedAccessGroupMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#DescribeVerifiedAccessGroups": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeRegionsRequest" + "target": "com.amazonaws.ec2#DescribeVerifiedAccessGroupsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeRegionsResult" + "target": "com.amazonaws.ec2#DescribeVerifiedAccessGroupsResult" }, "traits": { - "smithy.api#documentation": "

Describes the Regions that are enabled for your account, or all Regions.

\n

For a list of the Regions supported by Amazon EC2, see \n Amazon Elastic Compute Cloud endpoints and quotas.

\n

For information about enabling and disabling Regions for your account, see Managing Amazon Web Services Regions in the Amazon Web Services General Reference.

" + "smithy.api#documentation": "

Describe details of existing Verified Access groups.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "VerifiedAccessGroups", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DescribeRegionsRequest": { + "com.amazonaws.ec2#DescribeVerifiedAccessGroupsRequest": { "type": "structure", "members": { - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "VerifiedAccessGroupIds": { + "target": "com.amazonaws.ec2#VerifiedAccessGroupIdList", "traits": { - "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n endpoint - The endpoint of the Region (for example, ec2.us-east-1.amazonaws.com).

    \n
  • \n
  • \n

    \n opt-in-status - The opt-in status of the Region (opt-in-not-required | opted-in | \n not-opted-in).

    \n
  • \n
  • \n

    \n region-name - The name of the Region (for example, us-east-1).

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access groups.

", + "smithy.api#xmlName": "VerifiedAccessGroupId" } }, - "RegionNames": { - "target": "com.amazonaws.ec2#RegionNameStringList", + "VerifiedAccessInstanceId": { + "target": "com.amazonaws.ec2#VerifiedAccessInstanceId", "traits": { - "smithy.api#documentation": "

The names of the Regions. You can specify any Regions, whether they are enabled and disabled for your account.

", - "smithy.api#xmlName": "RegionName" + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access instance.

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeVerifiedAccessGroupMaxResults", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } }, - "AllRegions": { + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters. Filter names and values are case-sensitive.

", + "smithy.api#xmlName": "Filter" + } + }, + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to display all Regions, including Regions that are disabled for your account.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeRegionsResult": { + "com.amazonaws.ec2#DescribeVerifiedAccessGroupsResult": { "type": "structure", "members": { - "Regions": { - "target": "com.amazonaws.ec2#RegionList", + "VerifiedAccessGroups": { + "target": "com.amazonaws.ec2#VerifiedAccessGroupList", "traits": { - "aws.protocols#ec2QueryName": "RegionInfo", - "smithy.api#documentation": "

Information about the Regions.

", - "smithy.api#xmlName": "regionInfo" + "aws.protocols#ec2QueryName": "VerifiedAccessGroupSet", + "smithy.api#documentation": "

The ID of the Verified Access group.

", + "smithy.api#xmlName": "verifiedAccessGroupSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DescribeReplaceRootVolumeTasks": { + "com.amazonaws.ec2#DescribeVerifiedAccessInstanceLoggingConfigurations": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeReplaceRootVolumeTasksRequest" + "target": "com.amazonaws.ec2#DescribeVerifiedAccessInstanceLoggingConfigurationsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeReplaceRootVolumeTasksResult" + "target": "com.amazonaws.ec2#DescribeVerifiedAccessInstanceLoggingConfigurationsResult" }, "traits": { - "smithy.api#documentation": "

Describes a root volume replacement task. For more information, see \n Replace a root volume in the Amazon Elastic Compute Cloud User Guide.

", + "smithy.api#documentation": "

Describes the current logging configuration for the Amazon Web Services Verified Access instances.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "ReplaceRootVolumeTasks", + "items": "LoggingConfigurations", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeReplaceRootVolumeTasksMaxResults": { + "com.amazonaws.ec2#DescribeVerifiedAccessInstanceLoggingConfigurationsMaxResults": { "type": "integer", "traits": { "smithy.api#default": 0, "smithy.api#range": { "min": 1, - "max": 50 + "max": 10 } } }, - "com.amazonaws.ec2#DescribeReplaceRootVolumeTasksRequest": { + "com.amazonaws.ec2#DescribeVerifiedAccessInstanceLoggingConfigurationsRequest": { "type": "structure", "members": { - "ReplaceRootVolumeTaskIds": { - "target": "com.amazonaws.ec2#ReplaceRootVolumeTaskIds", - "traits": { - "smithy.api#documentation": "

The ID of the root volume replacement task to view.

", - "smithy.api#xmlName": "ReplaceRootVolumeTaskId" - } - }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "VerifiedAccessInstanceIds": { + "target": "com.amazonaws.ec2#VerifiedAccessInstanceIdList", "traits": { - "smithy.api#documentation": "

Filter to use:

\n
    \n
  • \n

    \n instance-id - The ID of the instance for which the root volume replacement task was created.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "smithy.api#documentation": "

The IDs of the Amazon Web Services Verified Access instances.

", + "smithy.api#xmlName": "VerifiedAccessInstanceId" } }, "MaxResults": { - "target": "com.amazonaws.ec2#DescribeReplaceRootVolumeTasksMaxResults", + "target": "com.amazonaws.ec2#DescribeVerifiedAccessInstanceLoggingConfigurationsMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, @@ -31068,6 +36047,13 @@ "smithy.api#documentation": "

The token for the next page of results.

" } }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters. Filter names and values are case-sensitive.

", + "smithy.api#xmlName": "Filter" + } + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -31076,21 +36062,24 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeReplaceRootVolumeTasksResult": { + "com.amazonaws.ec2#DescribeVerifiedAccessInstanceLoggingConfigurationsResult": { "type": "structure", "members": { - "ReplaceRootVolumeTasks": { - "target": "com.amazonaws.ec2#ReplaceRootVolumeTasks", + "LoggingConfigurations": { + "target": "com.amazonaws.ec2#VerifiedAccessInstanceLoggingConfigurationList", "traits": { - "aws.protocols#ec2QueryName": "ReplaceRootVolumeTaskSet", - "smithy.api#documentation": "

Information about the root volume replacement task.

", - "smithy.api#xmlName": "replaceRootVolumeTaskSet" + "aws.protocols#ec2QueryName": "LoggingConfigurationSet", + "smithy.api#documentation": "

The current logging configuration for the Amazon Web Services Verified Access instances.

", + "smithy.api#xmlName": "loggingConfigurationSet" } }, "NextToken": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#NextToken", "traits": { "aws.protocols#ec2QueryName": "NextToken", "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", @@ -31099,333 +36088,221 @@ } } }, - "com.amazonaws.ec2#DescribeReservedInstances": { + "com.amazonaws.ec2#DescribeVerifiedAccessInstances": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeReservedInstancesRequest" + "target": "com.amazonaws.ec2#DescribeVerifiedAccessInstancesRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeReservedInstancesResult" + "target": "com.amazonaws.ec2#DescribeVerifiedAccessInstancesResult" }, "traits": { - "smithy.api#documentation": "

Describes one or more of the Reserved Instances that you purchased.

\n

For more information about Reserved Instances, see Reserved\n\t\t\t\tInstances in the Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Describe Verified Access instances.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "VerifiedAccessInstances", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DescribeReservedInstancesListings": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DescribeReservedInstancesListingsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DescribeReservedInstancesListingsResult" - }, + "com.amazonaws.ec2#DescribeVerifiedAccessInstancesMaxResults": { + "type": "integer", "traits": { - "smithy.api#documentation": "

Describes your account's Reserved Instance listings in the Reserved Instance Marketplace.

\n\t\t

The Reserved Instance Marketplace matches sellers who want to resell Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances.

\n\t\t

As a seller, you choose to list some or all of your Reserved Instances, and you specify the upfront price to receive for them. Your Reserved Instances are then listed in the Reserved Instance Marketplace and are available for purchase.

\n\t\t

As a buyer, you specify the configuration of the Reserved Instance to purchase, and the Marketplace matches what you're searching for with what's available. The Marketplace first sells the lowest priced Reserved Instances to you, and continues to sell available Reserved Instance listings to you until your demand is met. You are charged based on the total price of all of the listings that you purchase.

\n

For more information, see Reserved Instance Marketplace \n in the Amazon EC2 User Guide.

" + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 200 + } } }, - "com.amazonaws.ec2#DescribeReservedInstancesListingsRequest": { + "com.amazonaws.ec2#DescribeVerifiedAccessInstancesRequest": { "type": "structure", "members": { - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "VerifiedAccessInstanceIds": { + "target": "com.amazonaws.ec2#VerifiedAccessInstanceIdList", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n reserved-instances-id - The ID of the Reserved Instances.

    \n
  • \n
  • \n

    \n reserved-instances-listing-id - The ID of the Reserved Instances listing.

    \n
  • \n
  • \n

    \n status - The status of the Reserved Instance listing (pending | active |\n cancelled | closed).

    \n
  • \n
  • \n

    \n status-message - The reason for the status.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "smithy.api#documentation": "

The IDs of the Amazon Web Services Verified Access instances.

", + "smithy.api#xmlName": "VerifiedAccessInstanceId" } }, - "ReservedInstancesId": { - "target": "com.amazonaws.ec2#ReservationId", + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeVerifiedAccessInstancesMaxResults", "traits": { - "aws.protocols#ec2QueryName": "ReservedInstancesId", - "smithy.api#documentation": "

One or more Reserved Instance IDs.

", - "smithy.api#xmlName": "reservedInstancesId" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } }, - "ReservedInstancesListingId": { - "target": "com.amazonaws.ec2#ReservedInstancesListingId", - "traits": { - "aws.protocols#ec2QueryName": "ReservedInstancesListingId", - "smithy.api#documentation": "

One or more Reserved Instance listing IDs.

", - "smithy.api#xmlName": "reservedInstancesListingId" - } - } - }, - "traits": { - "smithy.api#documentation": "

Contains the parameters for DescribeReservedInstancesListings.

" - } - }, - "com.amazonaws.ec2#DescribeReservedInstancesListingsResult": { - "type": "structure", - "members": { - "ReservedInstancesListings": { - "target": "com.amazonaws.ec2#ReservedInstancesListingList", + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", "traits": { - "aws.protocols#ec2QueryName": "ReservedInstancesListingsSet", - "smithy.api#documentation": "

Information about the Reserved Instance listing.

", - "smithy.api#xmlName": "reservedInstancesListingsSet" + "smithy.api#documentation": "

The token for the next page of results.

" } - } - }, - "traits": { - "smithy.api#documentation": "

Contains the output of DescribeReservedInstancesListings.

" - } - }, - "com.amazonaws.ec2#DescribeReservedInstancesModifications": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DescribeReservedInstancesModificationsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DescribeReservedInstancesModificationsResult" - }, - "traits": { - "smithy.api#documentation": "

Describes the modifications made to your Reserved Instances. If no parameter is specified, information about all your Reserved Instances modification requests is returned. If a modification ID is specified, only information about the specific modification is returned.

\n \t

For more information, see Modifying Reserved Instances in the Amazon EC2 User Guide.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "ReservedInstancesModifications" - } - } - }, - "com.amazonaws.ec2#DescribeReservedInstancesModificationsRequest": { - "type": "structure", - "members": { + }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n client-token - The idempotency token for the modification request.

    \n
  • \n
  • \n

    \n create-date - The time when the modification request was created.

    \n
  • \n
  • \n

    \n effective-date - The time when the modification becomes effective.

    \n
  • \n
  • \n

    \n modification-result.reserved-instances-id - The ID for the Reserved Instances created as part of the modification request. This ID is only available when the status of the modification is fulfilled.

    \n
  • \n
  • \n

    \n modification-result.target-configuration.availability-zone - The Availability Zone for the new Reserved Instances.

    \n
  • \n
  • \n

    \n modification-result.target-configuration.instance-count - The number of new Reserved Instances.

    \n
  • \n
  • \n

    \n modification-result.target-configuration.instance-type - The instance type of the new Reserved Instances.

    \n
  • \n
  • \n

    \n modification-result.target-configuration.platform - The network platform of the new Reserved Instances (EC2-Classic | EC2-VPC).

    \n
  • \n
  • \n

    \n reserved-instances-id - The ID of the Reserved Instances modified.

    \n
  • \n
  • \n

    \n reserved-instances-modification-id - The ID of the modification request.

    \n
  • \n
  • \n

    \n status - The status of the Reserved Instances modification request\n (processing | fulfilled | failed).

    \n
  • \n
  • \n

    \n status-message - The reason for the status.

    \n
  • \n
  • \n

    \n update-date - The time when the modification request was last updated.

    \n
  • \n
", + "smithy.api#documentation": "

One or more filters. Filter names and values are case-sensitive.

", "smithy.api#xmlName": "Filter" } }, - "ReservedInstancesModificationIds": { - "target": "com.amazonaws.ec2#ReservedInstancesModificationIdStringList", - "traits": { - "smithy.api#documentation": "

IDs for the submitted modification request.

", - "smithy.api#xmlName": "ReservedInstancesModificationId" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to retrieve the next page of results.

", - "smithy.api#xmlName": "nextToken" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for DescribeReservedInstancesModifications.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeReservedInstancesModificationsResult": { + "com.amazonaws.ec2#DescribeVerifiedAccessInstancesResult": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.ec2#String", + "VerifiedAccessInstances": { + "target": "com.amazonaws.ec2#VerifiedAccessInstanceList", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when\n\t\t\tthere are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "VerifiedAccessInstanceSet", + "smithy.api#documentation": "

The IDs of the Amazon Web Services Verified Access instances.

", + "smithy.api#xmlName": "verifiedAccessInstanceSet" } }, - "ReservedInstancesModifications": { - "target": "com.amazonaws.ec2#ReservedInstancesModificationList", + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", "traits": { - "aws.protocols#ec2QueryName": "ReservedInstancesModificationsSet", - "smithy.api#documentation": "

The Reserved Instance modification information.

", - "smithy.api#xmlName": "reservedInstancesModificationsSet" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } - }, - "traits": { - "smithy.api#documentation": "

Contains the output of DescribeReservedInstancesModifications.

" } }, - "com.amazonaws.ec2#DescribeReservedInstancesOfferings": { + "com.amazonaws.ec2#DescribeVerifiedAccessTrustProviders": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeReservedInstancesOfferingsRequest" + "target": "com.amazonaws.ec2#DescribeVerifiedAccessTrustProvidersRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeReservedInstancesOfferingsResult" + "target": "com.amazonaws.ec2#DescribeVerifiedAccessTrustProvidersResult" }, "traits": { - "smithy.api#documentation": "

Describes Reserved Instance offerings that are available for purchase. With Reserved Instances, you purchase the right to launch instances for a period of time. During that time period, you do not receive insufficient capacity errors, and you pay a lower usage rate than the rate charged for On-Demand instances for the actual time used.

\n

If you have listed your own Reserved Instances for sale in the Reserved Instance Marketplace, they will be excluded from these results. This is to ensure that you do not purchase your own Reserved Instances.

\n

For more information, see Reserved Instance Marketplace\n\t\t\t\tin the Amazon EC2 User Guide.

", + "smithy.api#documentation": "

Describe details of existing Verified Access trust providers.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "ReservedInstancesOfferings", + "items": "VerifiedAccessTrustProviders", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeReservedInstancesOfferingsRequest": { + "com.amazonaws.ec2#DescribeVerifiedAccessTrustProvidersMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 200 + } + } + }, + "com.amazonaws.ec2#DescribeVerifiedAccessTrustProvidersRequest": { "type": "structure", "members": { - "AvailabilityZone": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The Availability Zone in which the Reserved Instance can be used.

" - } - }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", - "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n availability-zone - The Availability Zone where the Reserved Instance can be\n used.

    \n
  • \n
  • \n

    \n duration - The duration of the Reserved Instance (for example, one year or\n three years), in seconds (31536000 | 94608000).

    \n
  • \n
  • \n

    \n fixed-price - The purchase price of the Reserved Instance (for example,\n 9800.0).

    \n
  • \n
  • \n

    \n instance-type - The instance type that is covered by the\n reservation.

    \n
  • \n
  • \n

    \n marketplace - Set to true to show only Reserved Instance\n Marketplace offerings. When this filter is not used, which is the default behavior, all\n offerings from both Amazon Web Services and the Reserved Instance Marketplace are listed.

    \n
  • \n
  • \n

    \n product-description - The Reserved Instance product platform description.\n Instances that include (Amazon VPC) in the product platform description will\n only be displayed to EC2-Classic account holders and are for use with Amazon VPC.\n (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE\n Linux | SUSE Linux (Amazon VPC) | Red Hat Enterprise\n Linux | Red Hat Enterprise Linux (Amazon VPC) | Red Hat\n Enterprise Linux with HA (Amazon VPC) | Windows | Windows\n (Amazon VPC) | Windows with SQL Server Standard | Windows with\n SQL Server Standard (Amazon VPC) | Windows with SQL Server Web |\n Windows with SQL Server Web (Amazon VPC) | Windows with SQL Server\n Enterprise | Windows with SQL Server Enterprise (Amazon VPC))

    \n
  • \n
  • \n

    \n reserved-instances-offering-id - The Reserved Instances offering\n ID.

    \n
  • \n
  • \n

    \n scope - The scope of the Reserved Instance (Availability Zone or\n Region).

    \n
  • \n
  • \n

    \n usage-price - The usage price of the Reserved Instance, per hour (for\n example, 0.84).

    \n
  • \n
", - "smithy.api#xmlName": "Filter" - } - }, - "IncludeMarketplace": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Include Reserved Instance Marketplace offerings in the response.

" - } - }, - "InstanceType": { - "target": "com.amazonaws.ec2#InstanceType", - "traits": { - "smithy.api#documentation": "

The instance type that the reservation will cover (for example, m1.small). For more information, see \n Instance types in the\n Amazon EC2 User Guide.

" - } - }, - "MaxDuration": { - "target": "com.amazonaws.ec2#Long", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum duration (in seconds) to filter when searching for offerings.

\n\t\t

Default: 94608000 (3 years)

" - } - }, - "MaxInstanceCount": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of instances to filter when searching for offerings.

\n\t\t

Default: 20

" - } - }, - "MinDuration": { - "target": "com.amazonaws.ec2#Long", + "VerifiedAccessTrustProviderIds": { + "target": "com.amazonaws.ec2#VerifiedAccessTrustProviderIdList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The minimum duration (in seconds) to filter when searching for offerings.

\n\t\t

Default: 2592000 (1 month)

" + "smithy.api#documentation": "

The IDs of the Amazon Web Services Verified Access trust providers.

", + "smithy.api#xmlName": "VerifiedAccessTrustProviderId" } }, - "OfferingClass": { - "target": "com.amazonaws.ec2#OfferingClassType", + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeVerifiedAccessTrustProvidersMaxResults", "traits": { - "smithy.api#documentation": "

The offering class of the Reserved Instance. Can be standard or convertible.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } }, - "ProductDescription": { - "target": "com.amazonaws.ec2#RIProductDescription", + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", "traits": { - "smithy.api#documentation": "

The Reserved Instance product platform description. Instances that include (Amazon\n VPC) in the description are for use with Amazon VPC.

" + "smithy.api#documentation": "

The token for the next page of results.

" } }, - "ReservedInstancesOfferingIds": { - "target": "com.amazonaws.ec2#ReservedInstancesOfferingIdStringList", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more Reserved Instances offering IDs.

", - "smithy.api#xmlName": "ReservedInstancesOfferingId" + "smithy.api#documentation": "

One or more filters. Filter names and values are case-sensitive.

", + "smithy.api#xmlName": "Filter" } }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" - } - }, - "InstanceTenancy": { - "target": "com.amazonaws.ec2#Tenancy", - "traits": { - "aws.protocols#ec2QueryName": "InstanceTenancy", - "smithy.api#documentation": "

The tenancy of the instances covered by the reservation. A Reserved Instance with a tenancy\n of dedicated is applied to instances that run in a VPC on single-tenant hardware\n (i.e., Dedicated Instances).

\n

\n Important: The host value cannot be used with this parameter. Use the default or dedicated values only.

\n

Default: default\n

", - "smithy.api#xmlName": "instanceTenancy" - } - }, - "MaxResults": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "aws.protocols#ec2QueryName": "MaxResults", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining\n\t\t\tresults of the initial request can be seen by sending another request with the returned\n\t\t\t\tNextToken value. The maximum is 100.

\n\t\t

Default: 100

", - "smithy.api#xmlName": "maxResults" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to retrieve the next page of results.

", - "smithy.api#xmlName": "nextToken" - } - }, - "OfferingType": { - "target": "com.amazonaws.ec2#OfferingTypeValues", - "traits": { - "aws.protocols#ec2QueryName": "OfferingType", - "smithy.api#documentation": "

The Reserved Instance offering type. If you are using tools that predate the 2011-11-01 API\n\t\t\tversion, you only have access to the Medium Utilization Reserved Instance\n\t\t\toffering type.

", - "smithy.api#xmlName": "offeringType" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for DescribeReservedInstancesOfferings.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeReservedInstancesOfferingsResult": { + "com.amazonaws.ec2#DescribeVerifiedAccessTrustProvidersResult": { "type": "structure", "members": { - "ReservedInstancesOfferings": { - "target": "com.amazonaws.ec2#ReservedInstancesOfferingList", + "VerifiedAccessTrustProviders": { + "target": "com.amazonaws.ec2#VerifiedAccessTrustProviderList", "traits": { - "aws.protocols#ec2QueryName": "ReservedInstancesOfferingsSet", - "smithy.api#documentation": "

A list of Reserved Instances offerings.

", - "smithy.api#xmlName": "reservedInstancesOfferingsSet" + "aws.protocols#ec2QueryName": "VerifiedAccessTrustProviderSet", + "smithy.api#documentation": "

The IDs of the Amazon Web Services Verified Access trust providers.

", + "smithy.api#xmlName": "verifiedAccessTrustProviderSet" } }, "NextToken": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#NextToken", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when\n\t\t\tthere are no more results to return.

", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } } + } + }, + "com.amazonaws.ec2#DescribeVolumeAttribute": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeVolumeAttributeRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeVolumeAttributeResult" }, "traits": { - "smithy.api#documentation": "

Contains the output of DescribeReservedInstancesOfferings.

" + "smithy.api#documentation": "

Describes the specified attribute of the specified volume. You can specify only one\n attribute at a time.

\n

For more information about EBS volumes, see Amazon EBS volumes in the Amazon Elastic Compute Cloud User Guide.

" } }, - "com.amazonaws.ec2#DescribeReservedInstancesRequest": { + "com.amazonaws.ec2#DescribeVolumeAttributeRequest": { "type": "structure", "members": { - "Filters": { - "target": "com.amazonaws.ec2#FilterList", - "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n availability-zone - The Availability Zone where the Reserved Instance can be used.

    \n
  • \n
  • \n

    \n duration - The duration of the Reserved Instance (one year or three years), in seconds (31536000 | 94608000).

    \n
  • \n
  • \n

    \n end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).

    \n
  • \n
  • \n

    \n fixed-price - The purchase price of the Reserved Instance (for example, 9800.0).

    \n
  • \n
  • \n

    \n instance-type - The instance type that is covered by the reservation.

    \n
  • \n
  • \n

    \n scope - The scope of the Reserved Instance (Region or Availability Zone).

    \n
  • \n
  • \n

    \n product-description - The Reserved Instance product platform\n description. Instances that include (Amazon VPC) in the product platform\n description will only be displayed to EC2-Classic account holders and are for use with\n Amazon VPC (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE\n Linux | SUSE Linux (Amazon VPC) | Red Hat Enterprise\n Linux | Red Hat Enterprise Linux (Amazon VPC) | Red Hat\n Enterprise Linux with HA (Amazon VPC) | Windows | Windows\n (Amazon VPC) | Windows with SQL Server Standard | Windows with\n SQL Server Standard (Amazon VPC) | Windows with SQL Server Web |\n Windows with SQL Server Web (Amazon VPC) | Windows with SQL Server\n Enterprise | Windows with SQL Server Enterprise (Amazon\n VPC)).

    \n
  • \n
  • \n

    \n reserved-instances-id - The ID of the Reserved Instance.

    \n
  • \n
  • \n

    \n start - The time at which the Reserved Instance purchase request was placed (for example, 2014-08-07T11:54:42.000Z).

    \n
  • \n
  • \n

    \n state - The state of the Reserved Instance (payment-pending | active | payment-failed | retired).

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n usage-price - The usage price of the Reserved Instance, per hour (for example, 0.84).

    \n
  • \n
", - "smithy.api#xmlName": "Filter" - } - }, - "OfferingClass": { - "target": "com.amazonaws.ec2#OfferingClassType", + "Attribute": { + "target": "com.amazonaws.ec2#VolumeAttributeName", "traits": { - "smithy.api#documentation": "

Describes whether the Reserved Instance is Standard or Convertible.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The attribute of the volume. This parameter is required.

", + "smithy.api#required": {} } }, - "ReservedInstancesIds": { - "target": "com.amazonaws.ec2#ReservedInstancesIdStringList", + "VolumeId": { + "target": "com.amazonaws.ec2#VolumeId", "traits": { - "smithy.api#documentation": "

One or more Reserved Instance IDs.

\n

Default: Describes all your Reserved Instances, or only those otherwise specified.

", - "smithy.api#xmlName": "ReservedInstancesId" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the volume.

", + "smithy.api#required": {} } }, "DryRun": { @@ -31434,163 +36311,242 @@ "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", "smithy.api#xmlName": "dryRun" } - }, - "OfferingType": { - "target": "com.amazonaws.ec2#OfferingTypeValues", - "traits": { - "aws.protocols#ec2QueryName": "OfferingType", - "smithy.api#documentation": "

The Reserved Instance offering type. If you are using tools that predate the 2011-11-01 API\n\t\t\tversion, you only have access to the Medium Utilization Reserved Instance\n\t\t\toffering type.

", - "smithy.api#xmlName": "offeringType" - } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for DescribeReservedInstances.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeReservedInstancesResult": { + "com.amazonaws.ec2#DescribeVolumeAttributeResult": { "type": "structure", "members": { - "ReservedInstances": { - "target": "com.amazonaws.ec2#ReservedInstancesList", + "AutoEnableIO": { + "target": "com.amazonaws.ec2#AttributeBooleanValue", "traits": { - "aws.protocols#ec2QueryName": "ReservedInstancesSet", - "smithy.api#documentation": "

A list of Reserved Instances.

", - "smithy.api#xmlName": "reservedInstancesSet" + "aws.protocols#ec2QueryName": "AutoEnableIO", + "smithy.api#documentation": "

The state of autoEnableIO attribute.

", + "smithy.api#xmlName": "autoEnableIO" + } + }, + "ProductCodes": { + "target": "com.amazonaws.ec2#ProductCodeList", + "traits": { + "aws.protocols#ec2QueryName": "ProductCodes", + "smithy.api#documentation": "

A list of product codes.

", + "smithy.api#xmlName": "productCodes" + } + }, + "VolumeId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "VolumeId", + "smithy.api#documentation": "

The ID of the volume.

", + "smithy.api#xmlName": "volumeId" } } - }, - "traits": { - "smithy.api#documentation": "

Contains the output for DescribeReservedInstances.

" } }, - "com.amazonaws.ec2#DescribeRouteTables": { + "com.amazonaws.ec2#DescribeVolumeStatus": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeRouteTablesRequest" + "target": "com.amazonaws.ec2#DescribeVolumeStatusRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeRouteTablesResult" + "target": "com.amazonaws.ec2#DescribeVolumeStatusResult" }, "traits": { - "smithy.api#documentation": "

Describes one or more of your route tables.

\n

Each subnet in your VPC must be associated with a route table. If a subnet is not explicitly associated with any route table, it is implicitly associated with the main route table. This command does not return the subnet ID for implicit associations.

\n\t\t

For more information, see Route tables in the\n\t\t\t\tAmazon Virtual Private Cloud User Guide.

", + "smithy.api#documentation": "

Describes the status of the specified volumes. Volume status provides the result of the\n checks performed on your volumes to determine events that can impair the performance of your\n volumes. The performance of a volume can be affected if an issue occurs on the volume's\n underlying host. If the volume's underlying host experiences a power outage or system issue,\n after the system is restored, there could be data inconsistencies on the volume. Volume events\n notify you if this occurs. Volume actions notify you if any action needs to be taken in\n response to the event.

\n

The DescribeVolumeStatus operation provides the following information about\n the specified volumes:

\n

\n Status: Reflects the current status of the volume. The possible\n values are ok, impaired , warning, or\n insufficient-data. If all checks pass, the overall status of the volume is\n ok. If the check fails, the overall status is impaired. If the\n status is insufficient-data, then the checks might still be taking place on your\n volume at the time. We recommend that you retry the request. For more information about volume\n status, see Monitor the status of your volumes in the\n Amazon Elastic Compute Cloud User Guide.

\n

\n Events: Reflect the cause of a volume status and might require you to\n take action. For example, if your volume returns an impaired status, then the\n volume event might be potential-data-inconsistency. This means that your volume\n has been affected by an issue with the underlying host, has all I/O operations disabled, and\n might have inconsistent data.

\n

\n Actions: Reflect the actions you might have to take in response to an\n event. For example, if the status of the volume is impaired and the volume event\n shows potential-data-inconsistency, then the action shows\n enable-volume-io. This means that you may want to enable the I/O operations for\n the volume by calling the EnableVolumeIO action and then check the volume\n for data consistency.

\n

Volume status is based on the volume status checks, and does not reflect the volume state.\n Therefore, volume status does not indicate volumes in the error state (for\n example, when a volume is incapable of accepting I/O.)

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "RouteTables", + "items": "VolumeStatuses", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeRouteTablesMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 100 - } - } - }, - "com.amazonaws.ec2#DescribeRouteTablesRequest": { + "com.amazonaws.ec2#DescribeVolumeStatusRequest": { "type": "structure", "members": { "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters.

\n\t\t
    \n
  • \n\t\t

    \n association.route-table-association-id - The ID of an association\n ID for the route table.

    \n\t\t
  • \n
  • \n\t\t

    \n association.route-table-id - The ID of the route table involved in\n the association.

    \n\t\t
  • \n
  • \n\t\t

    \n association.subnet-id - The ID of the subnet involved in the\n association.

    \n\t\t
  • \n
  • \n\t\t

    \n association.main - Indicates whether the route table is the main\n route table for the VPC (true | false). Route tables\n that do not have an association ID are not returned in the response.

    \n\t\t
  • \n
  • \n\t\t

    \n owner-id - The ID of the Amazon Web Services account that owns the route table.

    \n\t\t
  • \n
  • \n\t\t

    \n route-table-id - The ID of the route table.

    \n\t\t
  • \n
  • \n\t\t\t\t

    \n route.destination-cidr-block - The IPv4 CIDR range specified in a\n route in the table.

    \n\t\t\t
  • \n
  • \n

    \n route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in a route in the route table.

    \n
  • \n
  • \n\t\t\t\t

    \n route.destination-prefix-list-id - The ID (prefix) of the Amazon Web Service\n specified in a route in the table.

    \n\t\t\t
  • \n
  • \n

    \n route.egress-only-internet-gateway-id - The ID of an\n egress-only Internet gateway specified in a route in the route table.

    \n
  • \n
  • \n\t\t

    \n route.gateway-id - The ID of a gateway specified in a route in the table.

    \n\t\t
  • \n
  • \n

    \n route.instance-id - The ID of an instance specified in a route in the table.

    \n
  • \n
  • \n

    \n route.nat-gateway-id - The ID of a NAT gateway.

    \n
  • \n
  • \n\t\t

    \n route.transit-gateway-id - The ID of a transit gateway.

    \n\t\t
  • \n
  • \n\t\t

    \n route.origin - Describes how the route was created. \n CreateRouteTable indicates that the route was automatically\n created when the route table was created; CreateRoute indicates\n that the route was manually added to the route table;\n EnableVgwRoutePropagation indicates that the route was\n propagated by route propagation.

    \n\t\t
  • \n
  • \n

    \n route.state - The state of a route in the route table\n (active | blackhole). The blackhole state\n indicates that the route's target isn't available (for example, the specified\n gateway isn't attached to the VPC, the specified NAT instance has been\n terminated, and so on).

    \n
  • \n
  • \n\t\t

    \n route.vpc-peering-connection-id - The ID of a VPC peering\n\t\t connection specified in a route in the table.

    \n\t\t
  • \n
  • \n\t\t

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n\t\t
  • \n
  • \n\t\t

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n\t\t
  • \n
  • \n\t\t

    \n vpc-id - The ID of the VPC for the route table.

    \n\t\t
  • \n
", + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n action.code - The action code for the event (for example,\n enable-volume-io).

    \n
  • \n
  • \n

    \n action.description - A description of the action.

    \n
  • \n
  • \n

    \n action.event-id - The event ID associated with the action.

    \n
  • \n
  • \n

    \n availability-zone - The Availability Zone of the instance.

    \n
  • \n
  • \n

    \n event.description - A description of the event.

    \n
  • \n
  • \n

    \n event.event-id - The event ID.

    \n
  • \n
  • \n

    \n event.event-type - The event type (for io-enabled:\n passed | failed; for io-performance:\n io-performance:degraded | io-performance:severely-degraded |\n io-performance:stalled).

    \n
  • \n
  • \n

    \n event.not-after - The latest end time for the event.

    \n
  • \n
  • \n

    \n event.not-before - The earliest start time for the event.

    \n
  • \n
  • \n

    \n volume-status.details-name - The cause for\n volume-status.status (io-enabled |\n io-performance).

    \n
  • \n
  • \n

    \n volume-status.details-status - The status of\n volume-status.details-name (for io-enabled:\n passed | failed; for io-performance:\n normal | degraded | severely-degraded |\n stalled).

    \n
  • \n
  • \n

    \n volume-status.status - The status of the volume (ok |\n impaired | warning | insufficient-data).

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "MaxResults": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of volume results returned by DescribeVolumeStatus in\n paginated output. When this parameter is used, the request only returns\n MaxResults results in a single page along with a NextToken\n response element. The remaining results of the initial request can be seen by sending another\n request with the returned NextToken value. This value can be between 5 and 1,000;\n if MaxResults is given a value larger than 1,000, only 1,000 results are returned.\n If this parameter is not used, then DescribeVolumeStatus returns all results. You\n cannot specify this parameter and the volume IDs parameter in the same request.

" } }, - "RouteTableIds": { - "target": "com.amazonaws.ec2#RouteTableIdStringList", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

One or more route table IDs.

\n\t\t

Default: Describes all your route tables.

", - "smithy.api#xmlName": "RouteTableId" + "smithy.api#documentation": "

The NextToken value to include in a future DescribeVolumeStatus\n request. When the results of the request exceed MaxResults, this value can be\n used to retrieve the next page of results. This value is null when there are no\n more results to return.

" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "VolumeIds": { + "target": "com.amazonaws.ec2#VolumeIdStringList", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "smithy.api#documentation": "

The IDs of the volumes.

\n

Default: Describes all your volumes.

", + "smithy.api#xmlName": "VolumeId" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#DescribeRouteTablesMaxResults", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeRouteTablesResult": { + "com.amazonaws.ec2#DescribeVolumeStatusResult": { "type": "structure", "members": { - "RouteTables": { - "target": "com.amazonaws.ec2#RouteTableList", - "traits": { - "aws.protocols#ec2QueryName": "RouteTableSet", - "smithy.api#documentation": "

Information about one or more route tables.

", - "smithy.api#xmlName": "routeTableSet" - } - }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null\n when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } + }, + "VolumeStatuses": { + "target": "com.amazonaws.ec2#VolumeStatusList", + "traits": { + "aws.protocols#ec2QueryName": "VolumeStatusSet", + "smithy.api#documentation": "

Information about the status of the volumes.

", + "smithy.api#xmlName": "volumeStatusSet" + } } - }, - "traits": { - "smithy.api#documentation": "

Contains the output of DescribeRouteTables.

" } }, - "com.amazonaws.ec2#DescribeScheduledInstanceAvailability": { + "com.amazonaws.ec2#DescribeVolumes": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeScheduledInstanceAvailabilityRequest" + "target": "com.amazonaws.ec2#DescribeVolumesRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeScheduledInstanceAvailabilityResult" + "target": "com.amazonaws.ec2#DescribeVolumesResult" }, "traits": { - "smithy.api#documentation": "

Finds available schedules that meet the specified criteria.

\n

You can search for an available schedule no more than 3 months in advance. You must meet the minimum required duration of 1,200 hours per year. For example, the minimum daily schedule is 4 hours, the minimum weekly schedule is 24 hours, and the minimum monthly schedule is 100 hours.

\n

After you find a schedule that meets your needs, call PurchaseScheduledInstances\n to purchase Scheduled Instances with that schedule.

", + "smithy.api#documentation": "

Describes the specified EBS volumes or all of your EBS volumes.

\n

If you are describing a long list of volumes, we recommend that you paginate the output to make the list\n more manageable. The MaxResults parameter sets the maximum number of results\n returned in a single page. If the list of results exceeds your MaxResults value,\n then that number of results is returned along with a NextToken value that can be\n passed to a subsequent DescribeVolumes request to retrieve the remaining\n results.

\n

For more information about EBS volumes, see Amazon EBS volumes in the Amazon Elastic Compute Cloud User Guide.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "ScheduledInstanceAvailabilitySet", + "items": "Volumes", "pageSize": "MaxResults" + }, + "smithy.api#suppress": [ + "WaitableTraitInvalidErrorType" + ], + "smithy.waiters#waitable": { + "VolumeAvailable": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "Volumes[].State", + "expected": "available", + "comparator": "allStringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "Volumes[].State", + "expected": "deleted", + "comparator": "anyStringEquals" + } + } + } + ], + "minDelay": 15 + }, + "VolumeDeleted": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "Volumes[].State", + "expected": "deleted", + "comparator": "allStringEquals" + } + } + }, + { + "state": "success", + "matcher": { + "errorType": "InvalidVolume.NotFound" + } + } + ], + "minDelay": 15 + }, + "VolumeInUse": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "Volumes[].State", + "expected": "in-use", + "comparator": "allStringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "Volumes[].State", + "expected": "deleted", + "comparator": "anyStringEquals" + } + } + } + ], + "minDelay": 15 + } } } }, - "com.amazonaws.ec2#DescribeScheduledInstanceAvailabilityMaxResults": { - "type": "integer", + "com.amazonaws.ec2#DescribeVolumesModifications": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeVolumesModificationsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeVolumesModificationsResult" + }, "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 300 + "smithy.api#documentation": "

Describes the most recent volume modification request for the specified EBS volumes.

\n

If a volume has never been modified, some information in the output will be null.\n If a volume has been modified more than once, the output includes only the most \n recent modification request.

\n

You can also use CloudWatch Events to check the status of a modification to an EBS\n volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. For more information, see\n Monitor the progress of volume modifications in the Amazon Elastic Compute Cloud User Guide.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "VolumesModifications", + "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeScheduledInstanceAvailabilityRequest": { + "com.amazonaws.ec2#DescribeVolumesModificationsRequest": { "type": "structure", "members": { "DryRun": { @@ -31601,271 +36557,383 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, + "VolumeIds": { + "target": "com.amazonaws.ec2#VolumeIdStringList", + "traits": { + "smithy.api#documentation": "

The IDs of the volumes.

", + "smithy.api#xmlName": "VolumeId" + } + }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n availability-zone - The Availability Zone (for example, us-west-2a).

    \n
  • \n
  • \n

    \n instance-type - The instance type (for example, c4.large).

    \n
  • \n
  • \n

    \n network-platform - The network platform (EC2-Classic or EC2-VPC).

    \n
  • \n
  • \n

    \n platform - The platform (Linux/UNIX or Windows).

    \n
  • \n
", + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n modification-state - The current modification state (modifying | \n optimizing | completed | failed).

    \n
  • \n
  • \n

    \n original-iops - The original IOPS rate of the volume.

    \n
  • \n
  • \n

    \n original-size - The original size of the volume, in GiB.

    \n
  • \n
  • \n

    \n original-volume-type - The original volume type of the volume (standard | \n io1 | io2 | gp2 | sc1 | st1).

    \n
  • \n
  • \n

    \n originalMultiAttachEnabled - Indicates whether Multi-Attach support was enabled (true | false).

    \n
  • \n
  • \n

    \n start-time - The modification start time.

    \n
  • \n
  • \n

    \n target-iops - The target IOPS rate of the volume.

    \n
  • \n
  • \n

    \n target-size - The target size of the volume, in GiB.

    \n
  • \n
  • \n

    \n target-volume-type - The target volume type of the volume (standard | \n io1 | io2 | gp2 | sc1 | st1).

    \n
  • \n
  • \n

    \n targetMultiAttachEnabled - Indicates whether Multi-Attach support is to be enabled (true | false).

    \n
  • \n
  • \n

    \n volume-id - The ID of the volume.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, - "FirstSlotStartTimeRange": { - "target": "com.amazonaws.ec2#SlotDateTimeRangeRequest", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The time period for the first schedule to start.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The nextToken value returned by a previous paginated request.

" } }, "MaxResults": { - "target": "com.amazonaws.ec2#DescribeScheduledInstanceAvailabilityMaxResults", + "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in a single call. \n This value can be between 5 and 300. The default value is 300.\n To retrieve the remaining results, make another call with the returned\n NextToken value.

" + "smithy.api#documentation": "

The maximum number of results (up to a limit of 500) to be returned in a paginated\n request.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DescribeVolumesModificationsResult": { + "type": "structure", + "members": { + "VolumesModifications": { + "target": "com.amazonaws.ec2#VolumeModificationList", + "traits": { + "aws.protocols#ec2QueryName": "VolumeModificationSet", + "smithy.api#documentation": "

Information about the volume modifications.

", + "smithy.api#xmlName": "volumeModificationSet" } }, - "MaxSlotDurationInHours": { - "target": "com.amazonaws.ec2#Integer", + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

Token for pagination, null if there are no more results

", + "smithy.api#xmlName": "nextToken" + } + } + } + }, + "com.amazonaws.ec2#DescribeVolumesRequest": { + "type": "structure", + "members": { + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n attachment.attach-time - The time stamp when the attachment\n initiated.

    \n
  • \n
  • \n

    \n attachment.delete-on-termination - Whether the volume is deleted on\n instance termination.

    \n
  • \n
  • \n

    \n attachment.device - The device name specified in the block device mapping\n (for example, /dev/sda1).

    \n
  • \n
  • \n

    \n attachment.instance-id - The ID of the instance the volume is attached\n to.

    \n
  • \n
  • \n

    \n attachment.status - The attachment state (attaching |\n attached | detaching).

    \n
  • \n
  • \n

    \n availability-zone - The Availability Zone in which the volume was\n created.

    \n
  • \n
  • \n

    \n create-time - The time stamp when the volume was created.

    \n
  • \n
  • \n

    \n encrypted - Indicates whether the volume is encrypted (true\n | false)

    \n
  • \n
  • \n

    \n multi-attach-enabled - Indicates whether the volume is enabled for Multi-Attach (true\n \t\t\t| false)

    \n
  • \n
  • \n

    \n fast-restored - Indicates whether the volume was created from a \n snapshot that is enabled for fast snapshot restore (true | \n false).

    \n
  • \n
  • \n

    \n size - The size of the volume, in GiB.

    \n
  • \n
  • \n

    \n snapshot-id - The snapshot from which the volume was created.

    \n
  • \n
  • \n

    \n status - The state of the volume (creating |\n available | in-use | deleting |\n deleted | error).

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n volume-id - The volume ID.

    \n
  • \n
  • \n

    \n volume-type - The Amazon EBS volume type (gp2 | gp3 | io1 | io2 | \n st1 | sc1| standard)

    \n
  • \n
", + "smithy.api#xmlName": "Filter" + } + }, + "VolumeIds": { + "target": "com.amazonaws.ec2#VolumeIdStringList", + "traits": { + "smithy.api#documentation": "

The volume IDs.

", + "smithy.api#xmlName": "VolumeId" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum available duration, in hours. This value must be greater than MinSlotDurationInHours\n and less than 1,720.

" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "MinSlotDurationInHours": { + "MaxResults": { "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "MaxResults", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The minimum available duration, in hours. The minimum required duration is 1,200 hours per year. For example, the minimum daily schedule is 4 hours, the minimum weekly schedule is 24 hours, and the minimum monthly schedule is 100 hours.

" + "smithy.api#documentation": "

The maximum number of volume results returned by DescribeVolumes in paginated\n output. When this parameter is used, DescribeVolumes only returns\n MaxResults results in a single page along with a NextToken\n response element. The remaining results of the initial request can be seen by sending another\n DescribeVolumes request with the returned NextToken value. This\n value can be between 5 and 500; if MaxResults is given a value larger than 500,\n only 500 results are returned. If this parameter is not used, then\n DescribeVolumes returns all results. You cannot specify this parameter and the\n volume IDs parameter in the same request.

", + "smithy.api#xmlName": "maxResults" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The token for the next set of results.

" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The NextToken value returned from a previous paginated\n DescribeVolumes request where MaxResults was used and the results\n exceeded the value of that parameter. Pagination continues from the end of the previous\n results that returned the NextToken value. This value is null when\n there are no more results to return.

", + "smithy.api#xmlName": "nextToken" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DescribeVolumesResult": { + "type": "structure", + "members": { + "Volumes": { + "target": "com.amazonaws.ec2#VolumeList", + "traits": { + "aws.protocols#ec2QueryName": "VolumeSet", + "smithy.api#documentation": "

Information about the volumes.

", + "smithy.api#xmlName": "volumeSet" } }, - "Recurrence": { - "target": "com.amazonaws.ec2#ScheduledInstanceRecurrenceRequest", + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The NextToken value to include in a future DescribeVolumes\n request. When the results of a DescribeVolumes request exceed\n MaxResults, this value can be used to retrieve the next page of results. This\n value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" + } + } + } + }, + "com.amazonaws.ec2#DescribeVpcAttribute": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeVpcAttributeRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeVpcAttributeResult" + }, + "traits": { + "smithy.api#documentation": "

Describes the specified attribute of the specified VPC. You can specify only one attribute at a time.

" + } + }, + "com.amazonaws.ec2#DescribeVpcAttributeRequest": { + "type": "structure", + "members": { + "Attribute": { + "target": "com.amazonaws.ec2#VpcAttributeName", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The schedule recurrence.

", + "smithy.api#documentation": "

The VPC attribute.

", + "smithy.api#required": {} + } + }, + "VpcId": { + "target": "com.amazonaws.ec2#VpcId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the VPC.

", "smithy.api#required": {} } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for DescribeScheduledInstanceAvailability.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeScheduledInstanceAvailabilityResult": { + "com.amazonaws.ec2#DescribeVpcAttributeResult": { "type": "structure", "members": { - "NextToken": { + "VpcId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#documentation": "

The ID of the VPC.

", + "smithy.api#xmlName": "vpcId" } }, - "ScheduledInstanceAvailabilitySet": { - "target": "com.amazonaws.ec2#ScheduledInstanceAvailabilitySet", + "EnableDnsHostnames": { + "target": "com.amazonaws.ec2#AttributeBooleanValue", "traits": { - "aws.protocols#ec2QueryName": "ScheduledInstanceAvailabilitySet", - "smithy.api#documentation": "

Information about the available Scheduled Instances.

", - "smithy.api#xmlName": "scheduledInstanceAvailabilitySet" + "aws.protocols#ec2QueryName": "EnableDnsHostnames", + "smithy.api#documentation": "

Indicates whether the instances launched in the VPC get DNS hostnames.\n\t\t\t\tIf this attribute is true, instances in the VPC get DNS hostnames;\n\t\t\t\totherwise, they do not.

", + "smithy.api#xmlName": "enableDnsHostnames" + } + }, + "EnableDnsSupport": { + "target": "com.amazonaws.ec2#AttributeBooleanValue", + "traits": { + "aws.protocols#ec2QueryName": "EnableDnsSupport", + "smithy.api#documentation": "

Indicates whether DNS resolution is enabled for\n\t\t\t\tthe VPC. If this attribute is true, the Amazon DNS server\n\t\t\t\tresolves DNS hostnames for your instances to their corresponding\n\t\t\t\tIP addresses; otherwise, it does not.

", + "smithy.api#xmlName": "enableDnsSupport" + } + }, + "EnableNetworkAddressUsageMetrics": { + "target": "com.amazonaws.ec2#AttributeBooleanValue", + "traits": { + "aws.protocols#ec2QueryName": "EnableNetworkAddressUsageMetrics", + "smithy.api#documentation": "

Indicates whether Network Address Usage metrics are enabled for your VPC.

", + "smithy.api#xmlName": "enableNetworkAddressUsageMetrics" } } + } + }, + "com.amazonaws.ec2#DescribeVpcClassicLink": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeVpcClassicLinkRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeVpcClassicLinkResult" }, "traits": { - "smithy.api#documentation": "

Contains the output of DescribeScheduledInstanceAvailability.

" + "smithy.api#documentation": "

Describes the ClassicLink status of one or more VPCs.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" } }, - "com.amazonaws.ec2#DescribeScheduledInstances": { + "com.amazonaws.ec2#DescribeVpcClassicLinkDnsSupport": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeScheduledInstancesRequest" + "target": "com.amazonaws.ec2#DescribeVpcClassicLinkDnsSupportRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeScheduledInstancesResult" + "target": "com.amazonaws.ec2#DescribeVpcClassicLinkDnsSupportResult" }, "traits": { - "smithy.api#documentation": "

Describes the specified Scheduled Instances or all your Scheduled Instances.

", + "smithy.api#documentation": "\n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
\n

Describes the ClassicLink DNS support status of one or more VPCs. If enabled, the DNS\n hostname of a linked EC2-Classic instance resolves to its private IP address when\n addressed from an instance in the VPC to which it's linked. Similarly, the DNS hostname\n of an instance in a VPC resolves to its private IP address when addressed from a linked\n EC2-Classic instance. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "ScheduledInstanceSet", + "items": "Vpcs", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeScheduledInstancesRequest": { + "com.amazonaws.ec2#DescribeVpcClassicLinkDnsSupportMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 255 + } + } + }, + "com.amazonaws.ec2#DescribeVpcClassicLinkDnsSupportNextToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + } + } + }, + "com.amazonaws.ec2#DescribeVpcClassicLinkDnsSupportRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", - "traits": { - "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n availability-zone - The Availability Zone (for example, us-west-2a).

    \n
  • \n
  • \n

    \n instance-type - The instance type (for example, c4.large).

    \n
  • \n
  • \n

    \n network-platform - The network platform (EC2-Classic or EC2-VPC).

    \n
  • \n
  • \n

    \n platform - The platform (Linux/UNIX or Windows).

    \n
  • \n
", - "smithy.api#xmlName": "Filter" - } - }, "MaxResults": { - "target": "com.amazonaws.ec2#Integer", + "target": "com.amazonaws.ec2#DescribeVpcClassicLinkDnsSupportMaxResults", "traits": { + "aws.protocols#ec2QueryName": "MaxResults", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in a single call. \n This value can be between 5 and 300. The default value is 100.\n To retrieve the remaining results, make another call with the returned\n NextToken value.

" + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

", + "smithy.api#xmlName": "maxResults" } }, "NextToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The token for the next set of results.

" - } - }, - "ScheduledInstanceIds": { - "target": "com.amazonaws.ec2#ScheduledInstanceIdRequestSet", + "target": "com.amazonaws.ec2#DescribeVpcClassicLinkDnsSupportNextToken", "traits": { - "smithy.api#documentation": "

The Scheduled Instance IDs.

", - "smithy.api#xmlName": "ScheduledInstanceId" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token for the next page of results.

", + "smithy.api#xmlName": "nextToken" } }, - "SlotStartTimeRange": { - "target": "com.amazonaws.ec2#SlotStartTimeRangeRequest", + "VpcIds": { + "target": "com.amazonaws.ec2#VpcClassicLinkIdList", "traits": { - "smithy.api#documentation": "

The time period for the first schedule to start.

" + "smithy.api#documentation": "

One or more VPC IDs.

", + "smithy.api#xmlName": "VpcIds" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for DescribeScheduledInstances.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeScheduledInstancesResult": { + "com.amazonaws.ec2#DescribeVpcClassicLinkDnsSupportResult": { "type": "structure", "members": { "NextToken": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#DescribeVpcClassicLinkDnsSupportNextToken", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } }, - "ScheduledInstanceSet": { - "target": "com.amazonaws.ec2#ScheduledInstanceSet", + "Vpcs": { + "target": "com.amazonaws.ec2#ClassicLinkDnsSupportList", "traits": { - "aws.protocols#ec2QueryName": "ScheduledInstanceSet", - "smithy.api#documentation": "

Information about the Scheduled Instances.

", - "smithy.api#xmlName": "scheduledInstanceSet" + "aws.protocols#ec2QueryName": "Vpcs", + "smithy.api#documentation": "

Information about the ClassicLink DNS support status of the VPCs.

", + "smithy.api#xmlName": "vpcs" } } - }, - "traits": { - "smithy.api#documentation": "

Contains the output of DescribeScheduledInstances.

" - } - }, - "com.amazonaws.ec2#DescribeSecurityGroupReferences": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DescribeSecurityGroupReferencesRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DescribeSecurityGroupReferencesResult" - }, - "traits": { - "smithy.api#documentation": "

[VPC only] Describes the VPCs on the other side of a VPC peering connection that are referencing the security groups you've specified in this request.

" } }, - "com.amazonaws.ec2#DescribeSecurityGroupReferencesRequest": { + "com.amazonaws.ec2#DescribeVpcClassicLinkRequest": { "type": "structure", "members": { + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n is-classic-link-enabled - Whether the VPC is enabled for ClassicLink\n\t\t\t\t\t (true | false).

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" + } + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "GroupId": { - "target": "com.amazonaws.ec2#GroupIds", + "VpcIds": { + "target": "com.amazonaws.ec2#VpcClassicLinkIdList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IDs of the security groups in your account.

", - "smithy.api#required": {} + "smithy.api#documentation": "

One or more VPCs for which you want to describe the ClassicLink status.

", + "smithy.api#xmlName": "VpcId" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeSecurityGroupReferencesResult": { + "com.amazonaws.ec2#DescribeVpcClassicLinkResult": { "type": "structure", "members": { - "SecurityGroupReferenceSet": { - "target": "com.amazonaws.ec2#SecurityGroupReferences", + "Vpcs": { + "target": "com.amazonaws.ec2#VpcClassicLinkList", "traits": { - "aws.protocols#ec2QueryName": "SecurityGroupReferenceSet", - "smithy.api#documentation": "

Information about the VPCs with the referencing security groups.

", - "smithy.api#xmlName": "securityGroupReferenceSet" + "aws.protocols#ec2QueryName": "VpcSet", + "smithy.api#documentation": "

The ClassicLink status of one or more VPCs.

", + "smithy.api#xmlName": "vpcSet" } } } }, - "com.amazonaws.ec2#DescribeSecurityGroupRules": { + "com.amazonaws.ec2#DescribeVpcEndpointConnectionNotifications": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeSecurityGroupRulesRequest" + "target": "com.amazonaws.ec2#DescribeVpcEndpointConnectionNotificationsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeSecurityGroupRulesResult" + "target": "com.amazonaws.ec2#DescribeVpcEndpointConnectionNotificationsResult" }, "traits": { - "smithy.api#documentation": "

Describes one or more of your security group rules.

", + "smithy.api#documentation": "

Describes the connection notifications for VPC endpoints and VPC endpoint\n services.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "SecurityGroupRules", + "items": "ConnectionNotificationSet", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeSecurityGroupRulesMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 1000 - } - } - }, - "com.amazonaws.ec2#DescribeSecurityGroupRulesRequest": { + "com.amazonaws.ec2#DescribeVpcEndpointConnectionNotificationsRequest": { "type": "structure", "members": { - "Filters": { - "target": "com.amazonaws.ec2#FilterList", - "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n group-id - The ID of the security group.

    \n
  • \n
  • \n

    \n security-group-rule-id - The ID of the security group rule.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" - } - }, - "SecurityGroupRuleIds": { - "target": "com.amazonaws.ec2#SecurityGroupRuleIdList", - "traits": { - "smithy.api#documentation": "

The IDs of the security group rules.

", - "smithy.api#xmlName": "SecurityGroupRuleId" - } - }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -31874,156 +36942,123 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "ConnectionNotificationId": { + "target": "com.amazonaws.ec2#ConnectionNotificationId", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "smithy.api#documentation": "

The ID of the notification.

" + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n connection-notification-arn - The ARN of the SNS topic for the\n notification.

    \n
  • \n
  • \n

    \n connection-notification-id - The ID of the\n notification.

    \n
  • \n
  • \n

    \n connection-notification-state - The state of the notification\n (Enabled | Disabled).

    \n
  • \n
  • \n

    \n connection-notification-type - The type of notification\n (Topic).

    \n
  • \n
  • \n

    \n service-id - The ID of the endpoint service.

    \n
  • \n
  • \n

    \n vpc-endpoint-id - The ID of the VPC endpoint.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, "MaxResults": { - "target": "com.amazonaws.ec2#DescribeSecurityGroupRulesMaxResults", + "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining\n results, make another request with the returned NextToken value. This value\n can be between 5 and 1000. If this parameter is not specified, then all results are\n returned.

" + "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining\n results, make another request with the returned NextToken value.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token to request the next page of results.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeSecurityGroupRulesResult": { + "com.amazonaws.ec2#DescribeVpcEndpointConnectionNotificationsResult": { "type": "structure", "members": { - "SecurityGroupRules": { - "target": "com.amazonaws.ec2#SecurityGroupRuleList", + "ConnectionNotificationSet": { + "target": "com.amazonaws.ec2#ConnectionNotificationSet", "traits": { - "aws.protocols#ec2QueryName": "SecurityGroupRuleSet", - "smithy.api#documentation": "

Information about security group rules.

", - "smithy.api#xmlName": "securityGroupRuleSet" + "aws.protocols#ec2QueryName": "ConnectionNotificationSet", + "smithy.api#documentation": "

The notifications.

", + "smithy.api#xmlName": "connectionNotificationSet" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is\n null when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DescribeSecurityGroups": { + "com.amazonaws.ec2#DescribeVpcEndpointConnections": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeSecurityGroupsRequest" + "target": "com.amazonaws.ec2#DescribeVpcEndpointConnectionsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeSecurityGroupsResult" + "target": "com.amazonaws.ec2#DescribeVpcEndpointConnectionsResult" }, "traits": { - "smithy.api#documentation": "

Describes the specified security groups or all of your security groups.

\n

A security group is for use with instances either in the EC2-Classic platform \n\t\t\t\tor in a specific VPC. For more information, see\n\t\t\t\tAmazon EC2 security groups in \n\t\t\t\tthe Amazon Elastic Compute Cloud User Guide and \n\t\t\t\tSecurity groups for your VPC in the\n\t\t\t\tAmazon Virtual Private Cloud User Guide.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
", + "smithy.api#documentation": "

Describes the VPC endpoint connections to your VPC endpoint services, including any\n endpoints that are pending your acceptance.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "SecurityGroups", + "items": "VpcEndpointConnections", "pageSize": "MaxResults" - }, - "smithy.api#suppress": [ - "WaitableTraitInvalidErrorType" - ], - "smithy.waiters#waitable": { - "SecurityGroupExists": { - "acceptors": [ - { - "state": "success", - "matcher": { - "output": { - "path": "length(SecurityGroups[].GroupId) > `0`", - "expected": "true", - "comparator": "booleanEquals" - } - } - }, - { - "state": "retry", - "matcher": { - "errorType": "InvalidGroup.NotFound" - } - } - ], - "minDelay": 5 - } - } - } - }, - "com.amazonaws.ec2#DescribeSecurityGroupsMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 1000 } } }, - "com.amazonaws.ec2#DescribeSecurityGroupsRequest": { + "com.amazonaws.ec2#DescribeVpcEndpointConnectionsRequest": { "type": "structure", "members": { - "Filters": { - "target": "com.amazonaws.ec2#FilterList", - "traits": { - "smithy.api#documentation": "

The filters. If using multiple filters for rules, the results include security groups for which any combination of rules - not necessarily a single rule - match all filters.

\n
    \n
  • \n

    \n description - The description of the security group.

    \n
  • \n
  • \n

    \n egress.ip-permission.cidr - An IPv4 CIDR block for an outbound\n security group rule.

    \n
  • \n
  • \n

    \n egress.ip-permission.from-port - For an outbound rule, the\n start of port range for the TCP and UDP protocols, or an ICMP type\n number.

    \n
  • \n
  • \n

    \n egress.ip-permission.group-id - The ID of a security group\n that has been referenced in an outbound security group rule.

    \n
  • \n
  • \n

    \n egress.ip-permission.group-name - The name of a security group\n that is referenced in an outbound security group rule.

    \n
  • \n
  • \n

    \n egress.ip-permission.ipv6-cidr - An IPv6 CIDR block for an\n outbound security group rule.

    \n
  • \n
  • \n \t\t

    \n egress.ip-permission.prefix-list-id - The ID of a prefix list to which a security group rule allows outbound access.

    \n \t
  • \n
  • \n

    \n egress.ip-permission.protocol - The IP protocol for an\n outbound security group rule (tcp | udp |\n icmp, a protocol number, or -1 for all protocols).

    \n
  • \n
  • \n

    \n egress.ip-permission.to-port - For an outbound rule, the end\n of port range for the TCP and UDP protocols, or an ICMP code.

    \n
  • \n
  • \n

    \n egress.ip-permission.user-id - The ID of an Amazon Web Services account that\n has been referenced in an outbound security group rule.

    \n
  • \n
  • \n

    \n group-id - The ID of the security group.

    \n
  • \n
  • \n

    \n group-name - The name of the security group.

    \n
  • \n
  • \n

    \n ip-permission.cidr - An IPv4 CIDR block for an inbound security\n group rule.

    \n
  • \n
  • \n

    \n ip-permission.from-port - For an inbound rule, the start of port\n range for the TCP and UDP protocols, or an ICMP type number.

    \n
  • \n
  • \n

    \n ip-permission.group-id - The ID of a security group that has been\n referenced in an inbound security group rule.

    \n
  • \n
  • \n\t\t\t

    \n ip-permission.group-name - The name of a security group that is\n referenced in an inbound security group rule.

    \n\t
  • \n
  • \n

    \n ip-permission.ipv6-cidr - An IPv6 CIDR block for an inbound security\n group rule.

    \n
  • \n
  • \n

    \n ip-permission.prefix-list-id - The ID of a prefix list from which a security group rule allows inbound access.

    \n
  • \n
  • \n

    \n ip-permission.protocol - The IP protocol for an inbound security\n group rule (tcp | udp | icmp, a\n protocol number, or -1 for all protocols).

    \n
  • \n
  • \n

    \n ip-permission.to-port - For an inbound rule, the end of port range\n for the TCP and UDP protocols, or an ICMP code.

    \n
  • \n
  • \n

    \n ip-permission.user-id - The ID of an Amazon Web Services account that has been\n referenced in an inbound security group rule.

    \n
  • \n
  • \n

    \n owner-id - The Amazon Web Services account ID of the owner of the security group.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n vpc-id - The ID of the VPC specified when the security group was created.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" - } - }, - "GroupIds": { - "target": "com.amazonaws.ec2#GroupIdStringList", - "traits": { - "smithy.api#documentation": "

The IDs of the security groups. Required for security groups in a nondefault VPC.

\n

Default: Describes all of your security groups.

", - "smithy.api#xmlName": "GroupId" - } - }, - "GroupNames": { - "target": "com.amazonaws.ec2#GroupNameStringList", - "traits": { - "smithy.api#documentation": "

[EC2-Classic and default VPC only] The names of the security groups. You can specify either\n\t\t\tthe security group name or the security group ID. For security groups in a nondefault VPC, use\n\t\t\tthe group-name filter to describe security groups by name.

\n

Default: Describes all of your security groups.

", - "smithy.api#xmlName": "GroupName" - } - }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The token to request the next page of results.

" + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n ip-address-type - The IP address type (ipv4 | ipv6).

    \n
  • \n
  • \n

    \n service-id - The ID of the service.

    \n
  • \n
  • \n

    \n vpc-endpoint-owner - The ID of the Amazon Web Services account ID \n\t\t that owns the endpoint.

    \n
  • \n
  • \n

    \n vpc-endpoint-state - The state of the endpoint\n\t\t\t (pendingAcceptance | pending |\n\t\t\t available | deleting | deleted |\n\t\t\t rejected | failed).

    \n
  • \n
  • \n

    \n vpc-endpoint-id - The ID of the endpoint.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, "MaxResults": { - "target": "com.amazonaws.ec2#DescribeSecurityGroupsMaxResults", + "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining\n results, make another request with the returned NextToken value. This value\n can be between 5 and 1000. If this parameter is not specified, then all results are\n returned.

" + "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining\n results of the initial request can be seen by sending another request with the returned\n NextToken value. This value can be between 5 and 1,000; if\n MaxResults is given a value larger than 1,000, only 1,000 results are\n returned.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token to retrieve the next page of results.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeSecurityGroupsResult": { + "com.amazonaws.ec2#DescribeVpcEndpointConnectionsResult": { "type": "structure", "members": { - "SecurityGroups": { - "target": "com.amazonaws.ec2#SecurityGroupList", + "VpcEndpointConnections": { + "target": "com.amazonaws.ec2#VpcEndpointConnectionSet", "traits": { - "aws.protocols#ec2QueryName": "SecurityGroupInfo", - "smithy.api#documentation": "

Information about the security groups.

", - "smithy.api#xmlName": "securityGroupInfo" + "aws.protocols#ec2QueryName": "VpcEndpointConnectionSet", + "smithy.api#documentation": "

Information about the VPC endpoint connections.

", + "smithy.api#xmlName": "vpcEndpointConnectionSet" } }, "NextToken": { @@ -32036,140 +37071,77 @@ } } }, - "com.amazonaws.ec2#DescribeSnapshotAttribute": { + "com.amazonaws.ec2#DescribeVpcEndpointServiceConfigurations": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeSnapshotAttributeRequest" + "target": "com.amazonaws.ec2#DescribeVpcEndpointServiceConfigurationsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeSnapshotAttributeResult" + "target": "com.amazonaws.ec2#DescribeVpcEndpointServiceConfigurationsResult" }, "traits": { - "smithy.api#documentation": "

Describes the specified attribute of the specified snapshot. You can specify only one\n attribute at a time.

\n

For more information about EBS snapshots, see Amazon EBS snapshots in the Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Describes the VPC endpoint service configurations in your account (your services).

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "ServiceConfigurations", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#DescribeSnapshotAttributeRequest": { + "com.amazonaws.ec2#DescribeVpcEndpointServiceConfigurationsRequest": { "type": "structure", "members": { - "Attribute": { - "target": "com.amazonaws.ec2#SnapshotAttributeName", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The snapshot attribute you would like to view.

", - "smithy.api#required": {} - } - }, - "SnapshotId": { - "target": "com.amazonaws.ec2#SnapshotId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the EBS snapshot.

", - "smithy.api#required": {} - } - }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" - } - } - } - }, - "com.amazonaws.ec2#DescribeSnapshotAttributeResult": { - "type": "structure", - "members": { - "CreateVolumePermissions": { - "target": "com.amazonaws.ec2#CreateVolumePermissionList", - "traits": { - "aws.protocols#ec2QueryName": "CreateVolumePermission", - "smithy.api#documentation": "

The users and groups that have the permissions for creating volumes from the\n snapshot.

", - "smithy.api#xmlName": "createVolumePermission" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "ProductCodes": { - "target": "com.amazonaws.ec2#ProductCodeList", + "ServiceIds": { + "target": "com.amazonaws.ec2#VpcEndpointServiceIdList", "traits": { - "aws.protocols#ec2QueryName": "ProductCodes", - "smithy.api#documentation": "

The product codes.

", - "smithy.api#xmlName": "productCodes" + "smithy.api#documentation": "

The IDs of the endpoint services.

", + "smithy.api#xmlName": "ServiceId" } }, - "SnapshotId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "SnapshotId", - "smithy.api#documentation": "

The ID of the EBS snapshot.

", - "smithy.api#xmlName": "snapshotId" - } - } - } - }, - "com.amazonaws.ec2#DescribeSnapshotTierStatus": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DescribeSnapshotTierStatusRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DescribeSnapshotTierStatusResult" - }, - "traits": { - "smithy.api#documentation": "

Describes the storage tier status of one or more Amazon EBS snapshots.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "SnapshotTierStatuses", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.ec2#DescribeSnapshotTierStatusMaxResults": { - "type": "integer" - }, - "com.amazonaws.ec2#DescribeSnapshotTierStatusRequest": { - "type": "structure", - "members": { "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n snapshot-id - The snapshot ID.

    \n
  • \n
  • \n

    \n volume-id - The ID of the volume the snapshot is for.

    \n
  • \n
  • \n

    \n last-tiering-operation - The state of the last archive or restore action. (archival-in-progress | archival-completed |\n archival-failed | permanent-restore-in-progress | permanent-restore-completed | permanent-restore-failed | \n\t\ttemporary-restore-in-progress | temporary-restore-completed | temporary-restore-failed)

    \n
  • \n
", + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n service-name - The name of the service.

    \n
  • \n
  • \n

    \n service-id - The ID of the service.

    \n
  • \n
  • \n

    \n service-state - The state of the service (Pending |\n Available | Deleting | Deleted |\n Failed).

    \n
  • \n
  • \n

    \n supported-ip-address-types - The IP address type (ipv4 | ipv6).

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "MaxResults": { + "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining\n results of the initial request can be seen by sending another request with the returned\n NextToken value. This value can be between 5 and 1,000; if\n MaxResults is given a value larger than 1,000, only 1,000 results are\n returned.

" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" - } - }, - "MaxResults": { - "target": "com.amazonaws.ec2#DescribeSnapshotTierStatusMaxResults", - "traits": { - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#documentation": "

The token to retrieve the next page of results.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeSnapshotTierStatusResult": { + "com.amazonaws.ec2#DescribeVpcEndpointServiceConfigurationsResult": { "type": "structure", "members": { - "SnapshotTierStatuses": { - "target": "com.amazonaws.ec2#snapshotTierStatusSet", + "ServiceConfigurations": { + "target": "com.amazonaws.ec2#ServiceConfigurationSet", "traits": { - "aws.protocols#ec2QueryName": "SnapshotTierStatusSet", - "smithy.api#documentation": "

Information about the snapshot's storage tier.

", - "smithy.api#xmlName": "snapshotTierStatusSet" + "aws.protocols#ec2QueryName": "ServiceConfigurationSet", + "smithy.api#documentation": "

Information about the services.

", + "smithy.api#xmlName": "serviceConfigurationSet" } }, "NextToken": { @@ -32182,533 +37154,547 @@ } } }, - "com.amazonaws.ec2#DescribeSnapshots": { + "com.amazonaws.ec2#DescribeVpcEndpointServicePermissions": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeSnapshotsRequest" + "target": "com.amazonaws.ec2#DescribeVpcEndpointServicePermissionsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeSnapshotsResult" + "target": "com.amazonaws.ec2#DescribeVpcEndpointServicePermissionsResult" }, "traits": { - "smithy.api#documentation": "

Describes the specified EBS snapshots available to you or all of the EBS snapshots\n available to you.

\n

The snapshots available to you include public snapshots, private snapshots that you own,\n and private snapshots owned by other Amazon Web Services accounts for which you have explicit create volume\n permissions.

\n

The create volume permissions fall into the following categories:

\n
    \n
  • \n

    \n public: The owner of the snapshot granted create volume\n permissions for the snapshot to the all group. All Amazon Web Services accounts have create\n volume permissions for these snapshots.

    \n
  • \n
  • \n

    \n explicit: The owner of the snapshot granted create volume\n permissions to a specific Amazon Web Services account.

    \n
  • \n
  • \n

    \n implicit: An Amazon Web Services account has implicit create volume permissions\n for all snapshots it owns.

    \n
  • \n
\n

The list of snapshots returned can be filtered by specifying snapshot IDs, snapshot\n owners, or Amazon Web Services accounts with create volume permissions. If no options are specified, \n Amazon EC2 returns all snapshots for which you have create volume permissions.

\n

If you specify one or more snapshot IDs, only snapshots that have the specified IDs are\n returned. If you specify an invalid snapshot ID, an error is returned. If you specify a\n snapshot ID for which you do not have access, it is not included in the returned\n results.

\n

If you specify one or more snapshot owners using the OwnerIds option, only\n snapshots from the specified owners and for which you have access are returned. The results\n can include the Amazon Web Services account IDs of the specified owners, amazon for snapshots\n owned by Amazon, or self for snapshots that you own.

\n

If you specify a list of restorable users, only snapshots with create snapshot permissions\n for those users are returned. You can specify Amazon Web Services account IDs (if you own the snapshots),\n self for snapshots for which you own or have explicit permissions, or\n all for public snapshots.

\n

If you are describing a long list of snapshots, we recommend that you paginate the output to make the\n list more manageable. The MaxResults parameter sets the maximum number of results\n returned in a single page. If the list of results exceeds your MaxResults value,\n then that number of results is returned along with a NextToken value that can be\n passed to a subsequent DescribeSnapshots request to retrieve the remaining\n results.

\n

To get the state of fast snapshot restores for a snapshot, use DescribeFastSnapshotRestores.

\n

For more information about EBS snapshots, see Amazon EBS snapshots in the Amazon Elastic Compute Cloud User Guide.

", + "smithy.api#documentation": "

Describes the principals (service consumers) that are permitted to discover your VPC\n endpoint service.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "Snapshots", + "items": "AllowedPrincipals", "pageSize": "MaxResults" - }, - "smithy.waiters#waitable": { - "SnapshotCompleted": { - "acceptors": [ - { - "state": "success", - "matcher": { - "output": { - "path": "Snapshots[].State", - "expected": "completed", - "comparator": "allStringEquals" - } - } - }, - { - "state": "failure", - "matcher": { - "output": { - "path": "Snapshots[].State", - "expected": "error", - "comparator": "anyStringEquals" - } - } - } - ], - "minDelay": 15 - } } } }, - "com.amazonaws.ec2#DescribeSnapshotsRequest": { + "com.amazonaws.ec2#DescribeVpcEndpointServicePermissionsRequest": { "type": "structure", "members": { - "Filters": { - "target": "com.amazonaws.ec2#FilterList", - "traits": { - "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n description - A description of the snapshot.

    \n
  • \n
  • \n

    \n encrypted - Indicates whether the snapshot is encrypted\n (true | false)

    \n
  • \n
  • \n

    \n owner-alias - The owner alias, from an Amazon-maintained list \n (amazon). \n This is not the user-configured Amazon Web Services account alias set using the IAM console.\n We recommend that you use the related parameter instead of this filter.

    \n
  • \n
  • \n

    \n owner-id - The Amazon Web Services account ID of the owner. We recommend that \n you use the related parameter instead of this filter.

    \n
  • \n
  • \n

    \n progress - The progress of the snapshot, as a percentage (for example,\n 80%).

    \n
  • \n
  • \n

    \n snapshot-id - The snapshot ID.

    \n
  • \n
  • \n

    \n start-time - The time stamp when the snapshot was initiated.

    \n
  • \n
  • \n

    \n status - The status of the snapshot (pending |\n completed | error).

    \n
  • \n
  • \n

    \n storage-tier - The storage tier of the snapshot (archive |\n standard).

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n volume-id - The ID of the volume the snapshot is for.

    \n
  • \n
  • \n

    \n volume-size - The size of the volume, in GiB.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" - } - }, - "MaxResults": { - "target": "com.amazonaws.ec2#Integer", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of snapshot results returned by DescribeSnapshots in\n paginated output. When this parameter is used, DescribeSnapshots only returns\n MaxResults results in a single page along with a NextToken\n response element. The remaining results of the initial request can be seen by sending another\n DescribeSnapshots request with the returned NextToken value. This\n value can be between 5 and 1,000; if MaxResults is given a value larger than 1,000,\n only 1,000 results are returned. If this parameter is not used, then\n DescribeSnapshots returns all results. You cannot specify this parameter and\n the snapshot IDs parameter in the same request.

" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The NextToken value returned from a previous paginated\n DescribeSnapshots request where MaxResults was used and the\n results exceeded the value of that parameter. Pagination continues from the end of the\n previous results that returned the NextToken value. This value is\n null when there are no more results to return.

" - } - }, - "OwnerIds": { - "target": "com.amazonaws.ec2#OwnerStringList", - "traits": { - "smithy.api#documentation": "

Scopes the results to snapshots with the specified owners. You can specify a combination of\n Amazon Web Services account IDs, self, and amazon.

", - "smithy.api#xmlName": "Owner" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "RestorableByUserIds": { - "target": "com.amazonaws.ec2#RestorableByStringList", + "ServiceId": { + "target": "com.amazonaws.ec2#VpcEndpointServiceId", "traits": { - "smithy.api#documentation": "

The IDs of the Amazon Web Services accounts that can create volumes from the snapshot.

", - "smithy.api#xmlName": "RestorableBy" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the service.

", + "smithy.api#required": {} } }, - "SnapshotIds": { - "target": "com.amazonaws.ec2#SnapshotIdStringList", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The snapshot IDs.

\n

Default: Describes the snapshots for which you have create volume permissions.

", - "smithy.api#xmlName": "SnapshotId" + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n principal - The ARN of the principal.

    \n
  • \n
  • \n

    \n principal-type - The principal type (All |\n\t\t\t\t\t\tService | OrganizationUnit | Account\n\t\t\t\t\t| User | Role).

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "MaxResults": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining\n results of the initial request can be seen by sending another request with the returned\n NextToken value. This value can be between 5 and 1,000; if\n MaxResults is given a value larger than 1,000, only 1,000 results are\n returned.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token to retrieve the next page of results.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeSnapshotsResult": { + "com.amazonaws.ec2#DescribeVpcEndpointServicePermissionsResult": { "type": "structure", "members": { - "Snapshots": { - "target": "com.amazonaws.ec2#SnapshotList", + "AllowedPrincipals": { + "target": "com.amazonaws.ec2#AllowedPrincipalSet", "traits": { - "aws.protocols#ec2QueryName": "SnapshotSet", - "smithy.api#documentation": "

Information about the snapshots.

", - "smithy.api#xmlName": "snapshotSet" + "aws.protocols#ec2QueryName": "AllowedPrincipals", + "smithy.api#documentation": "

Information about the allowed principals.

", + "smithy.api#xmlName": "allowedPrincipals" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The NextToken value to include in a future DescribeSnapshots\n request. When the results of a DescribeSnapshots request exceed\n MaxResults, this value can be used to retrieve the next page of results. This\n value is null when there are no more results to return.

", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#DescribeSpotDatafeedSubscription": { + "com.amazonaws.ec2#DescribeVpcEndpointServices": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeSpotDatafeedSubscriptionRequest" + "target": "com.amazonaws.ec2#DescribeVpcEndpointServicesRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeSpotDatafeedSubscriptionResult" + "target": "com.amazonaws.ec2#DescribeVpcEndpointServicesResult" }, "traits": { - "smithy.api#documentation": "

Describes the data feed for Spot Instances. For more information, see Spot\n Instance data feed in the Amazon EC2 User Guide for Linux Instances.

" + "smithy.api#documentation": "

Describes available services to which you can create a VPC endpoint.

\n

When the service provider and the consumer have different accounts in multiple\n Availability Zones, and the consumer views the VPC endpoint service information, the\n response only includes the common Availability Zones. For example, when the service\n provider account uses us-east-1a and us-east-1c and the\n consumer uses us-east-1a and us-east-1b, the response includes\n the VPC endpoint services in the common Availability Zone,\n us-east-1a.

" } }, - "com.amazonaws.ec2#DescribeSpotDatafeedSubscriptionRequest": { + "com.amazonaws.ec2#DescribeVpcEndpointServicesRequest": { "type": "structure", "members": { "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "ServiceNames": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "smithy.api#documentation": "

The service names.

", + "smithy.api#xmlName": "ServiceName" + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n owner - The ID or alias of the Amazon Web Services account that owns \n the service.

    \n
  • \n
  • \n

    \n service-name - The name of the service.

    \n
  • \n
  • \n

    \n service-type - The type of service (Interface |\n Gateway | GatewayLoadBalancer).

    \n
  • \n
  • \n

    \n supported-ip-address-types - The IP address type (ipv4 | ipv6).

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

\n

Constraint: If the value is greater than 1,000, we return only 1,000 items.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token for the next set of items to return. (You received this token from a prior call.)

" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for DescribeSpotDatafeedSubscription.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeSpotDatafeedSubscriptionResult": { + "com.amazonaws.ec2#DescribeVpcEndpointServicesResult": { "type": "structure", "members": { - "SpotDatafeedSubscription": { - "target": "com.amazonaws.ec2#SpotDatafeedSubscription", + "ServiceNames": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "aws.protocols#ec2QueryName": "SpotDatafeedSubscription", - "smithy.api#documentation": "

The Spot Instance data feed subscription.

", - "smithy.api#xmlName": "spotDatafeedSubscription" + "aws.protocols#ec2QueryName": "ServiceNameSet", + "smithy.api#documentation": "

The supported services.

", + "smithy.api#xmlName": "serviceNameSet" + } + }, + "ServiceDetails": { + "target": "com.amazonaws.ec2#ServiceDetailSet", + "traits": { + "aws.protocols#ec2QueryName": "ServiceDetailSet", + "smithy.api#documentation": "

Information about the service.

", + "smithy.api#xmlName": "serviceDetailSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", + "smithy.api#xmlName": "nextToken" } } - }, - "traits": { - "smithy.api#documentation": "

Contains the output of DescribeSpotDatafeedSubscription.

" } }, - "com.amazonaws.ec2#DescribeSpotFleetInstances": { + "com.amazonaws.ec2#DescribeVpcEndpoints": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeSpotFleetInstancesRequest" + "target": "com.amazonaws.ec2#DescribeVpcEndpointsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeSpotFleetInstancesResponse" + "target": "com.amazonaws.ec2#DescribeVpcEndpointsResult" }, "traits": { - "smithy.api#documentation": "

Describes the running instances for the specified Spot Fleet.

" - } - }, - "com.amazonaws.ec2#DescribeSpotFleetInstancesMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 1, - "max": 1000 + "smithy.api#documentation": "

Describes your VPC endpoints.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "VpcEndpoints", + "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#DescribeSpotFleetInstancesRequest": { + "com.amazonaws.ec2#DescribeVpcEndpointsRequest": { "type": "structure", "members": { "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "VpcEndpointIds": { + "target": "com.amazonaws.ec2#VpcEndpointIdList", + "traits": { + "smithy.api#documentation": "

The IDs of the VPC endpoints.

", + "smithy.api#xmlName": "VpcEndpointId" + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n ip-address-type - The IP address type (ipv4 | ipv6).

    \n
  • \n
  • \n

    \n service-name - The name of the service.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n vpc-id - The ID of the VPC in which the endpoint resides.

    \n
  • \n
  • \n

    \n vpc-endpoint-id - The ID of the endpoint.

    \n
  • \n
  • \n

    \n vpc-endpoint-state - The state of the endpoint\n (pendingAcceptance | pending |\n available | deleting | deleted |\n rejected | failed).

    \n
  • \n
  • \n

    \n vpc-endpoint-type - The type of VPC endpoint (Interface | Gateway | GatewayLoadBalancer).

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, "MaxResults": { - "target": "com.amazonaws.ec2#DescribeSpotFleetInstancesMaxResults", + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "MaxResults", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in a single call. Specify a value between 1\n and 1000. The default value is 1000. To retrieve the remaining results, make another\n call with the returned NextToken value.

", - "smithy.api#xmlName": "maxResults" + "smithy.api#documentation": "

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

\n

Constraint: If the value is greater than 1,000, we return only 1,000 items.

" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token for the next set of results.

", - "smithy.api#xmlName": "nextToken" - } - }, - "SpotFleetRequestId": { - "target": "com.amazonaws.ec2#SpotFleetRequestId", - "traits": { - "aws.protocols#ec2QueryName": "SpotFleetRequestId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Spot Fleet request.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "spotFleetRequestId" + "smithy.api#documentation": "

The token for the next set of items to return. (You received this token from a prior call.)

" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for DescribeSpotFleetInstances.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeSpotFleetInstancesResponse": { + "com.amazonaws.ec2#DescribeVpcEndpointsResult": { "type": "structure", "members": { - "ActiveInstances": { - "target": "com.amazonaws.ec2#ActiveInstanceSet", + "VpcEndpoints": { + "target": "com.amazonaws.ec2#VpcEndpointSet", "traits": { - "aws.protocols#ec2QueryName": "ActiveInstanceSet", - "smithy.api#documentation": "

The running instances. This list is refreshed periodically and might be out of\n date.

", - "smithy.api#xmlName": "activeInstanceSet" + "aws.protocols#ec2QueryName": "VpcEndpointSet", + "smithy.api#documentation": "

Information about the endpoints.

", + "smithy.api#xmlName": "vpcEndpointSet" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token required to retrieve the next set of results. This value is\n null when there are no more results to return.

", + "smithy.api#documentation": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", "smithy.api#xmlName": "nextToken" } - }, - "SpotFleetRequestId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "SpotFleetRequestId", - "smithy.api#documentation": "

The ID of the Spot Fleet request.

", - "smithy.api#xmlName": "spotFleetRequestId" - } } - }, - "traits": { - "smithy.api#documentation": "

Contains the output of DescribeSpotFleetInstances.

" } }, - "com.amazonaws.ec2#DescribeSpotFleetRequestHistory": { + "com.amazonaws.ec2#DescribeVpcPeeringConnections": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeSpotFleetRequestHistoryRequest" + "target": "com.amazonaws.ec2#DescribeVpcPeeringConnectionsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeSpotFleetRequestHistoryResponse" + "target": "com.amazonaws.ec2#DescribeVpcPeeringConnectionsResult" }, "traits": { - "smithy.api#documentation": "

Describes the events for the specified Spot Fleet request during the specified\n time.

\n

Spot Fleet events are delayed by up to 30 seconds before they can be described. This\n ensures that you can query by the last evaluated time and not miss a recorded event.\n Spot Fleet events are available for 48 hours.

\n

For more information, see Monitor fleet events using Amazon\n EventBridge in the Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Describes one or more of your VPC peering connections.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "VpcPeeringConnections", + "pageSize": "MaxResults" + }, + "smithy.api#suppress": [ + "WaitableTraitInvalidErrorType" + ], + "smithy.waiters#waitable": { + "VpcPeeringConnectionDeleted": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "VpcPeeringConnections[].Status.Code", + "expected": "deleted", + "comparator": "allStringEquals" + } + } + }, + { + "state": "success", + "matcher": { + "errorType": "InvalidVpcPeeringConnectionID.NotFound" + } + } + ], + "minDelay": 15 + }, + "VpcPeeringConnectionExists": { + "acceptors": [ + { + "state": "success", + "matcher": { + "success": true + } + }, + { + "state": "retry", + "matcher": { + "errorType": "InvalidVpcPeeringConnectionID.NotFound" + } + } + ], + "minDelay": 15 + } + } } }, - "com.amazonaws.ec2#DescribeSpotFleetRequestHistoryMaxResults": { + "com.amazonaws.ec2#DescribeVpcPeeringConnectionsMaxResults": { "type": "integer", "traits": { "smithy.api#default": 0, "smithy.api#range": { - "min": 1, + "min": 5, "max": 1000 } } }, - "com.amazonaws.ec2#DescribeSpotFleetRequestHistoryRequest": { + "com.amazonaws.ec2#DescribeVpcPeeringConnectionsRequest": { "type": "structure", "members": { + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n accepter-vpc-info.cidr-block - The IPv4 CIDR block of the accepter\n VPC.

    \n
  • \n
  • \n

    \n accepter-vpc-info.owner-id - The ID of the Amazon Web Services account that owns the\n accepter VPC.

    \n
  • \n
  • \n

    \n accepter-vpc-info.vpc-id - The ID of the accepter VPC.

    \n
  • \n
  • \n

    \n expiration-time - The expiration date and time for the VPC peering\n connection.

    \n
  • \n
  • \n

    \n requester-vpc-info.cidr-block - The IPv4 CIDR block of the\n requester's VPC.

    \n
  • \n
  • \n

    \n requester-vpc-info.owner-id - The ID of the Amazon Web Services account that owns the\n requester VPC.

    \n
  • \n
  • \n

    \n requester-vpc-info.vpc-id - The ID of the requester VPC.

    \n
  • \n
  • \n

    \n status-code - The status of the VPC peering connection\n (pending-acceptance | failed |\n expired | provisioning | active |\n deleting | deleted |\n rejected).

    \n
  • \n
  • \n

    \n status-message - A message that provides more information about the status\n of the VPC peering connection, if applicable.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n vpc-peering-connection-id - The ID of the VPC peering connection.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" + } + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", "smithy.api#xmlName": "dryRun" } }, - "EventType": { - "target": "com.amazonaws.ec2#EventType", - "traits": { - "aws.protocols#ec2QueryName": "EventType", - "smithy.api#documentation": "

The type of events to describe. By default, all events are described.

", - "smithy.api#xmlName": "eventType" - } - }, - "MaxResults": { - "target": "com.amazonaws.ec2#DescribeSpotFleetRequestHistoryMaxResults", + "VpcPeeringConnectionIds": { + "target": "com.amazonaws.ec2#VpcPeeringConnectionIdList", "traits": { - "aws.protocols#ec2QueryName": "MaxResults", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in a single call. Specify a value between 1\n and 1000. The default value is 1000. To retrieve the remaining results, make another\n call with the returned NextToken value.

", - "smithy.api#xmlName": "maxResults" + "smithy.api#documentation": "

One or more VPC peering connection IDs.

\n

Default: Describes all your VPC peering connections.

", + "smithy.api#xmlName": "VpcPeeringConnectionId" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token for the next set of results.

", - "smithy.api#xmlName": "nextToken" - } - }, - "SpotFleetRequestId": { - "target": "com.amazonaws.ec2#SpotFleetRequestId", - "traits": { - "aws.protocols#ec2QueryName": "SpotFleetRequestId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Spot Fleet request.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "spotFleetRequestId" + "smithy.api#documentation": "

The token for the next page of results.

" } }, - "StartTime": { - "target": "com.amazonaws.ec2#DateTime", + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeVpcPeeringConnectionsMaxResults", "traits": { - "aws.protocols#ec2QueryName": "StartTime", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The starting date and time for the events, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).

", - "smithy.api#required": {}, - "smithy.api#xmlName": "startTime" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for DescribeSpotFleetRequestHistory.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeSpotFleetRequestHistoryResponse": { + "com.amazonaws.ec2#DescribeVpcPeeringConnectionsResult": { "type": "structure", "members": { - "HistoryRecords": { - "target": "com.amazonaws.ec2#HistoryRecords", - "traits": { - "aws.protocols#ec2QueryName": "HistoryRecordSet", - "smithy.api#documentation": "

Information about the events in the history of the Spot Fleet request.

", - "smithy.api#xmlName": "historyRecordSet" - } - }, - "LastEvaluatedTime": { - "target": "com.amazonaws.ec2#DateTime", + "VpcPeeringConnections": { + "target": "com.amazonaws.ec2#VpcPeeringConnectionList", "traits": { - "aws.protocols#ec2QueryName": "LastEvaluatedTime", - "smithy.api#documentation": "

The last date and time for the events, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).\n All records up to this time were retrieved.

\n

If nextToken indicates that there are more results, this value is not\n present.

", - "smithy.api#xmlName": "lastEvaluatedTime" + "aws.protocols#ec2QueryName": "VpcPeeringConnectionSet", + "smithy.api#documentation": "

Information about the VPC peering connections.

", + "smithy.api#xmlName": "vpcPeeringConnectionSet" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token required to retrieve the next set of results. This value is\n null when there are no more results to return.

", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } - }, - "SpotFleetRequestId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "SpotFleetRequestId", - "smithy.api#documentation": "

The ID of the Spot Fleet request.

", - "smithy.api#xmlName": "spotFleetRequestId" - } - }, - "StartTime": { - "target": "com.amazonaws.ec2#DateTime", - "traits": { - "aws.protocols#ec2QueryName": "StartTime", - "smithy.api#documentation": "

The starting date and time for the events, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).

", - "smithy.api#xmlName": "startTime" - } } - }, - "traits": { - "smithy.api#documentation": "

Contains the output of DescribeSpotFleetRequestHistory.

" } }, - "com.amazonaws.ec2#DescribeSpotFleetRequests": { + "com.amazonaws.ec2#DescribeVpcs": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeSpotFleetRequestsRequest" + "target": "com.amazonaws.ec2#DescribeVpcsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeSpotFleetRequestsResponse" + "target": "com.amazonaws.ec2#DescribeVpcsResult" }, "traits": { - "smithy.api#documentation": "

Describes your Spot Fleet requests.

\n

Spot Fleet requests are deleted 48 hours after they are canceled and their instances\n are terminated.

", + "smithy.api#documentation": "

Describes one or more of your VPCs.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "SpotFleetRequestConfigs", + "items": "Vpcs", "pageSize": "MaxResults" + }, + "smithy.api#suppress": [ + "WaitableTraitInvalidErrorType" + ], + "smithy.waiters#waitable": { + "VpcAvailable": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "Vpcs[].State", + "expected": "available", + "comparator": "allStringEquals" + } + } + } + ], + "minDelay": 15 + }, + "VpcExists": { + "acceptors": [ + { + "state": "success", + "matcher": { + "success": true + } + }, + { + "state": "retry", + "matcher": { + "errorType": "InvalidVpcID.NotFound" + } + } + ], + "minDelay": 1 + } } } }, - "com.amazonaws.ec2#DescribeSpotFleetRequestsRequest": { + "com.amazonaws.ec2#DescribeVpcsMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#DescribeVpcsRequest": { "type": "structure", "members": { + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n cidr - The primary IPv4 CIDR block of the VPC. The CIDR block you\n specify must exactly match the VPC's CIDR block for information to be returned\n for the VPC. Must contain the slash followed by one or two digits (for example,\n /28).

    \n
  • \n
  • \n

    \n cidr-block-association.cidr-block - An IPv4 CIDR block associated with the\n VPC.

    \n
  • \n
  • \n

    \n cidr-block-association.association-id - The association ID for\n an IPv4 CIDR block associated with the VPC.

    \n
  • \n
  • \n

    \n cidr-block-association.state - The state of an IPv4 CIDR block\n associated with the VPC.

    \n
  • \n
  • \n

    \n dhcp-options-id - The ID of a set of DHCP options.

    \n
  • \n
  • \n

    \n ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR\n block associated with the VPC.

    \n
  • \n
  • \n

    \n ipv6-cidr-block-association.ipv6-pool - The ID of the IPv6 address pool from which the IPv6 CIDR block is allocated.

    \n
  • \n
  • \n

    \n ipv6-cidr-block-association.association-id - The association\n ID for an IPv6 CIDR block associated with the VPC.

    \n
  • \n
  • \n

    \n ipv6-cidr-block-association.state - The state of an IPv6 CIDR\n block associated with the VPC.

    \n
  • \n
  • \n

    \n is-default - Indicates whether the VPC is the default VPC.

    \n
  • \n
  • \n

    \n owner-id - The ID of the Amazon Web Services account that owns the VPC.

    \n
  • \n
  • \n

    \n state - The state of the VPC (pending | available).

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n vpc-id - The ID of the VPC.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" + } + }, + "VpcIds": { + "target": "com.amazonaws.ec2#VpcIdStringList", + "traits": { + "smithy.api#documentation": "

One or more VPC IDs.

\n

Default: Describes all your VPCs.

", + "smithy.api#xmlName": "VpcId" + } + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", "smithy.api#xmlName": "dryRun" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "aws.protocols#ec2QueryName": "MaxResults", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in a single call. Specify a value between 1\n and 1000. The default value is 1000. To retrieve the remaining results, make another\n call with the returned NextToken value.

", - "smithy.api#xmlName": "maxResults" - } - }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token for the next set of results.

", - "smithy.api#xmlName": "nextToken" + "smithy.api#documentation": "

The token for the next page of results.

" } }, - "SpotFleetRequestIds": { - "target": "com.amazonaws.ec2#SpotFleetRequestIdList", + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeVpcsMaxResults", "traits": { - "aws.protocols#ec2QueryName": "SpotFleetRequestId", - "smithy.api#documentation": "

The IDs of the Spot Fleet requests.

", - "smithy.api#xmlName": "spotFleetRequestId" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for DescribeSpotFleetRequests.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeSpotFleetRequestsResponse": { + "com.amazonaws.ec2#DescribeVpcsResult": { "type": "structure", "members": { + "Vpcs": { + "target": "com.amazonaws.ec2#VpcList", + "traits": { + "aws.protocols#ec2QueryName": "VpcSet", + "smithy.api#documentation": "

Information about one or more VPCs.

", + "smithy.api#xmlName": "vpcSet" + } + }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token required to retrieve the next set of results. This value is\n null when there are no more results to return.

", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "smithy.api#xmlName": "nextToken" } - }, - "SpotFleetRequestConfigs": { - "target": "com.amazonaws.ec2#SpotFleetRequestConfigSet", - "traits": { - "aws.protocols#ec2QueryName": "SpotFleetRequestConfigSet", - "smithy.api#documentation": "

Information about the configuration of your Spot Fleet.

", - "smithy.api#xmlName": "spotFleetRequestConfigSet" - } } - }, - "traits": { - "smithy.api#documentation": "

Contains the output of DescribeSpotFleetRequests.

" } }, - "com.amazonaws.ec2#DescribeSpotInstanceRequests": { + "com.amazonaws.ec2#DescribeVpnConnections": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeSpotInstanceRequestsRequest" + "target": "com.amazonaws.ec2#DescribeVpnConnectionsRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeSpotInstanceRequestsResult" + "target": "com.amazonaws.ec2#DescribeVpnConnectionsResult" }, "traits": { - "smithy.api#documentation": "

Describes the specified Spot Instance requests.

\n

You can use DescribeSpotInstanceRequests to find a running Spot Instance by\n examining the response. If the status of the Spot Instance is fulfilled, the\n instance ID appears in the response and contains the identifier of the instance.\n Alternatively, you can use DescribeInstances\n with a filter to look for instances where the instance lifecycle is\n spot.

\n

We recommend that you set MaxResults to a value between 5 and 1000 to\n limit the number of results returned. This paginates the output, which makes the list\n more manageable and returns the results faster. If the list of results exceeds your\n MaxResults value, then that number of results is returned along with a\n NextToken value that can be passed to a subsequent\n DescribeSpotInstanceRequests request to retrieve the remaining\n results.

\n

Spot Instance requests are deleted four hours after they are canceled and their instances are\n terminated.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "SpotInstanceRequests", - "pageSize": "MaxResults" - }, - "smithy.api#suppress": [ - "WaitableTraitInvalidErrorType" - ], + "smithy.api#documentation": "

Describes one or more of your VPN connections.

\n

For more information, see Amazon Web Services Site-to-Site VPN in the Amazon Web Services Site-to-Site VPN\n User Guide.

", "smithy.waiters#waitable": { - "SpotInstanceRequestFulfilled": { + "VpnConnectionAvailable": { "acceptors": [ { "state": "success", "matcher": { "output": { - "path": "SpotInstanceRequests[].Status.Code", - "expected": "fulfilled", - "comparator": "allStringEquals" - } - } - }, - { - "state": "success", - "matcher": { - "output": { - "path": "SpotInstanceRequests[].Status.Code", - "expected": "request-canceled-and-instance-running", + "path": "VpnConnections[].State", + "expected": "available", "comparator": "allStringEquals" } } @@ -32717,18 +37703,8 @@ "state": "failure", "matcher": { "output": { - "path": "SpotInstanceRequests[].Status.Code", - "expected": "schedule-expired", - "comparator": "anyStringEquals" - } - } - }, - { - "state": "failure", - "matcher": { - "output": { - "path": "SpotInstanceRequests[].Status.Code", - "expected": "canceled-before-fulfillment", + "path": "VpnConnections[].State", + "expected": "deleting", "comparator": "anyStringEquals" } } @@ -32737,26 +37713,35 @@ "state": "failure", "matcher": { "output": { - "path": "SpotInstanceRequests[].Status.Code", - "expected": "bad-parameters", + "path": "VpnConnections[].State", + "expected": "deleted", "comparator": "anyStringEquals" } } - }, + } + ], + "minDelay": 15 + }, + "VpnConnectionDeleted": { + "acceptors": [ { - "state": "failure", + "state": "success", "matcher": { "output": { - "path": "SpotInstanceRequests[].Status.Code", - "expected": "system-error", - "comparator": "anyStringEquals" + "path": "VpnConnections[].State", + "expected": "deleted", + "comparator": "allStringEquals" } } }, { - "state": "retry", + "state": "failure", "matcher": { - "errorType": "InvalidSpotInstanceRequestID.NotFound" + "output": { + "path": "VpnConnections[].State", + "expected": "pending", + "comparator": "anyStringEquals" + } } } ], @@ -32765,16 +37750,23 @@ } } }, - "com.amazonaws.ec2#DescribeSpotInstanceRequestsRequest": { + "com.amazonaws.ec2#DescribeVpnConnectionsRequest": { "type": "structure", "members": { "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n availability-zone-group - The Availability Zone group.

    \n
  • \n
  • \n

    \n create-time - The time stamp when the Spot Instance request was\n created.

    \n
  • \n
  • \n

    \n fault-code - The fault code related to the request.

    \n
  • \n
  • \n

    \n fault-message - The fault message related to the request.

    \n
  • \n
  • \n

    \n instance-id - The ID of the instance that fulfilled the\n request.

    \n
  • \n
  • \n

    \n launch-group - The Spot Instance launch group.

    \n
  • \n
  • \n

    \n launch.block-device-mapping.delete-on-termination - Indicates\n whether the EBS volume is deleted on instance termination.

    \n
  • \n
  • \n

    \n launch.block-device-mapping.device-name - The device name for the\n volume in the block device mapping (for example, /dev/sdh or\n xvdh).

    \n
  • \n
  • \n

    \n launch.block-device-mapping.snapshot-id - The ID of the snapshot\n for the EBS volume.

    \n
  • \n
  • \n

    \n launch.block-device-mapping.volume-size - The size of the EBS\n volume, in GiB.

    \n
  • \n
  • \n

    \n launch.block-device-mapping.volume-type - The type of EBS volume:\n gp2 for General Purpose SSD, io1 or\n io2 for Provisioned IOPS SSD, st1 for Throughput\n Optimized HDD, sc1for Cold HDD, or standard for\n Magnetic.

    \n
  • \n
  • \n

    \n launch.group-id - The ID of the security group for the\n instance.

    \n
  • \n
  • \n

    \n launch.group-name - The name of the security group for the\n instance.

    \n
  • \n
  • \n

    \n launch.image-id - The ID of the AMI.

    \n
  • \n
  • \n

    \n launch.instance-type - The type of instance (for example,\n m3.medium).

    \n
  • \n
  • \n

    \n launch.kernel-id - The kernel ID.

    \n
  • \n
  • \n

    \n launch.key-name - The name of the key pair the instance launched\n with.

    \n
  • \n
  • \n

    \n launch.monitoring-enabled - Whether detailed monitoring is\n enabled for the Spot Instance.

    \n
  • \n
  • \n

    \n launch.ramdisk-id - The RAM disk ID.

    \n
  • \n
  • \n

    \n launched-availability-zone - The Availability Zone in which the\n request is launched.

    \n
  • \n
  • \n

    \n network-interface.addresses.primary - Indicates whether the IP\n address is the primary private IP address.

    \n
  • \n
  • \n

    \n network-interface.delete-on-termination - Indicates whether the\n network interface is deleted when the instance is terminated.

    \n
  • \n
  • \n

    \n network-interface.description - A description of the network\n interface.

    \n
  • \n
  • \n

    \n network-interface.device-index - The index of the device for the\n network interface attachment on the instance.

    \n
  • \n
  • \n

    \n network-interface.group-id - The ID of the security group\n associated with the network interface.

    \n
  • \n
  • \n

    \n network-interface.network-interface-id - The ID of the network\n interface.

    \n
  • \n
  • \n

    \n network-interface.private-ip-address - The primary private IP\n address of the network interface.

    \n
  • \n
  • \n

    \n network-interface.subnet-id - The ID of the subnet for the\n instance.

    \n
  • \n
  • \n

    \n product-description - The product description associated with the\n instance (Linux/UNIX | Windows).

    \n
  • \n
  • \n

    \n spot-instance-request-id - The Spot Instance request ID.

    \n
  • \n
  • \n

    \n spot-price - The maximum hourly price for any Spot Instance\n launched to fulfill the request.

    \n
  • \n
  • \n

    \n state - The state of the Spot Instance request (open\n | active | closed | cancelled |\n failed). Spot request status information can help you track\n your Amazon EC2 Spot Instance requests. For more information, see Spot\n request status in the Amazon EC2 User Guide for Linux Instances.

    \n
  • \n
  • \n

    \n status-code - The short code describing the most recent\n evaluation of your Spot Instance request.

    \n
  • \n
  • \n

    \n status-message - The message explaining the status of the Spot\n Instance request.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n type - The type of Spot Instance request (one-time |\n persistent).

    \n
  • \n
  • \n

    \n valid-from - The start date of the request.

    \n
  • \n
  • \n

    \n valid-until - The end date of the request.

    \n
  • \n
", + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n customer-gateway-configuration - The configuration information\n for the customer gateway.

    \n
  • \n
  • \n

    \n customer-gateway-id - The ID of a customer gateway associated\n with the VPN connection.

    \n
  • \n
  • \n

    \n state - The state of the VPN connection (pending |\n available | deleting |\n deleted).

    \n
  • \n
  • \n

    \n option.static-routes-only - Indicates whether the connection has\n static routes only. Used for devices that do not support Border Gateway Protocol\n (BGP).

    \n
  • \n
  • \n

    \n route.destination-cidr-block - The destination CIDR block. This\n corresponds to the subnet used in a customer data center.

    \n
  • \n
  • \n

    \n bgp-asn - The BGP Autonomous System Number (ASN) associated with\n a BGP device.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n type - The type of VPN connection. Currently the only supported\n type is ipsec.1.

    \n
  • \n
  • \n

    \n vpn-connection-id - The ID of the VPN connection.

    \n
  • \n
  • \n

    \n vpn-gateway-id - The ID of a virtual private gateway associated\n with the VPN connection.

    \n
  • \n
  • \n

    \n transit-gateway-id - The ID of a transit gateway associated with\n the VPN connection.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, + "VpnConnectionIds": { + "target": "com.amazonaws.ec2#VpnConnectionIdStringList", + "traits": { + "smithy.api#documentation": "

One or more VPN connection IDs.

\n

Default: Describes your VPN connections.

", + "smithy.api#xmlName": "VpnConnectionId" + } + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -32784,91 +37776,56 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", "smithy.api#xmlName": "dryRun" } - }, - "SpotInstanceRequestIds": { - "target": "com.amazonaws.ec2#SpotInstanceRequestIdList", - "traits": { - "smithy.api#documentation": "

One or more Spot Instance request IDs.

", - "smithy.api#xmlName": "SpotInstanceRequestId" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The token to request the next set of results. This value is null when\n there are no more results to return.

" - } - }, - "MaxResults": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in a single call. Specify a value between 5\n and 1000. To retrieve the remaining results, make another call with the returned\n NextToken value.

" - } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for DescribeSpotInstanceRequests.

" + "smithy.api#documentation": "

Contains the parameters for DescribeVpnConnections.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeSpotInstanceRequestsResult": { + "com.amazonaws.ec2#DescribeVpnConnectionsResult": { "type": "structure", "members": { - "SpotInstanceRequests": { - "target": "com.amazonaws.ec2#SpotInstanceRequestList", - "traits": { - "aws.protocols#ec2QueryName": "SpotInstanceRequestSet", - "smithy.api#documentation": "

One or more Spot Instance requests.

", - "smithy.api#xmlName": "spotInstanceRequestSet" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "VpnConnections": { + "target": "com.amazonaws.ec2#VpnConnectionList", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next set of results. This value is null\n when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "VpnConnectionSet", + "smithy.api#documentation": "

Information about one or more VPN connections.

", + "smithy.api#xmlName": "vpnConnectionSet" } } }, "traits": { - "smithy.api#documentation": "

Contains the output of DescribeSpotInstanceRequests.

" + "smithy.api#documentation": "

Contains the output of DescribeVpnConnections.

" } }, - "com.amazonaws.ec2#DescribeSpotPriceHistory": { + "com.amazonaws.ec2#DescribeVpnGateways": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeSpotPriceHistoryRequest" + "target": "com.amazonaws.ec2#DescribeVpnGatewaysRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeSpotPriceHistoryResult" + "target": "com.amazonaws.ec2#DescribeVpnGatewaysResult" }, "traits": { - "smithy.api#documentation": "

Describes the Spot price history. For more information, see Spot Instance pricing history in the\n Amazon EC2 User Guide for Linux Instances.

\n

When you specify a start and end time, the operation returns the prices of the\n instance types within that time range. It also returns the last price change before the\n start time, which is the effective price as of the start time.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "SpotPriceHistory", - "pageSize": "MaxResults" - } + "smithy.api#documentation": "

Describes one or more of your virtual private gateways.

\n

For more information, see Amazon Web Services Site-to-Site VPN in the Amazon Web Services Site-to-Site VPN\n User Guide.

" } }, - "com.amazonaws.ec2#DescribeSpotPriceHistoryRequest": { + "com.amazonaws.ec2#DescribeVpnGatewaysRequest": { "type": "structure", "members": { "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n availability-zone - The Availability Zone for which prices should\n be returned.

    \n
  • \n
  • \n

    \n instance-type - The type of instance (for example,\n m3.medium).

    \n
  • \n
  • \n

    \n product-description - The product description for the Spot price\n (Linux/UNIX | Red Hat Enterprise Linux |\n SUSE Linux | Windows | Linux/UNIX (Amazon\n VPC) | Red Hat Enterprise Linux (Amazon VPC) |\n SUSE Linux (Amazon VPC) | Windows (Amazon\n VPC)).

    \n
  • \n
  • \n

    \n spot-price - The Spot price. The value must match exactly (or use\n wildcards; greater than or less than comparison is not supported).

    \n
  • \n
  • \n

    \n timestamp - The time stamp of the Spot price history, in UTC format\n (for example,\n YYYY-MM-DDTHH:MM:SSZ).\n You can use wildcards (* and ?). Greater than or less than comparison is not\n supported.

    \n
  • \n
", + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n amazon-side-asn - The Autonomous System Number (ASN) for the\n Amazon side of the gateway.

    \n
  • \n
  • \n

    \n attachment.state - The current state of the attachment between\n the gateway and the VPC (attaching | attached |\n detaching | detached).

    \n
  • \n
  • \n

    \n attachment.vpc-id - The ID of an attached VPC.

    \n
  • \n
  • \n

    \n availability-zone - The Availability Zone for the virtual private\n gateway (if applicable).

    \n
  • \n
  • \n

    \n state - The state of the virtual private gateway\n (pending | available | deleting |\n deleted).

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n type - The type of virtual private gateway. Currently the only\n supported type is ipsec.1.

    \n
  • \n
  • \n

    \n vpn-gateway-id - The ID of the virtual private gateway.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, - "AvailabilityZone": { - "target": "com.amazonaws.ec2#String", + "VpnGatewayIds": { + "target": "com.amazonaws.ec2#VpnGatewayIdStringList", "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZone", - "smithy.api#documentation": "

Filters the results by the specified Availability Zone.

", - "smithy.api#xmlName": "availabilityZone" + "smithy.api#documentation": "

One or more virtual private gateway IDs.

\n

Default: Describes all your virtual private gateways.

", + "smithy.api#xmlName": "VpnGatewayId" } }, "DryRun": { @@ -32877,330 +37834,253 @@ "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", "smithy.api#xmlName": "dryRun" } - }, - "EndTime": { - "target": "com.amazonaws.ec2#DateTime", + } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for DescribeVpnGateways.

", + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DescribeVpnGatewaysResult": { + "type": "structure", + "members": { + "VpnGateways": { + "target": "com.amazonaws.ec2#VpnGatewayList", "traits": { - "aws.protocols#ec2QueryName": "EndTime", - "smithy.api#documentation": "

The date and time, up to the current date, from which to stop retrieving the price\n history data, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).

", - "smithy.api#xmlName": "endTime" + "aws.protocols#ec2QueryName": "VpnGatewaySet", + "smithy.api#documentation": "

Information about one or more virtual private gateways.

", + "smithy.api#xmlName": "vpnGatewaySet" } - }, - "InstanceTypes": { - "target": "com.amazonaws.ec2#InstanceTypeList", + } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of DescribeVpnGateways.

" + } + }, + "com.amazonaws.ec2#DestinationFileFormat": { + "type": "enum", + "members": { + "plain_text": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Filters the results by the specified instance types.

", - "smithy.api#xmlName": "InstanceType" + "smithy.api#enumValue": "plain-text" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#Integer", + "parquet": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "MaxResults", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in a single call. Specify a value between 1\n and 1000. The default value is 1000. To retrieve the remaining results, make another\n call with the returned NextToken value.

", - "smithy.api#xmlName": "maxResults" + "smithy.api#enumValue": "parquet" } - }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + } + } + }, + "com.amazonaws.ec2#DestinationOptionsRequest": { + "type": "structure", + "members": { + "FileFormat": { + "target": "com.amazonaws.ec2#DestinationFileFormat", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token for the next set of results.

", - "smithy.api#xmlName": "nextToken" + "smithy.api#documentation": "

The format for the flow log. The default is plain-text.

" } }, - "ProductDescriptions": { - "target": "com.amazonaws.ec2#ProductDescriptionList", + "HiveCompatiblePartitions": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

Filters the results by the specified basic product descriptions.

", - "smithy.api#xmlName": "ProductDescription" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3.\n The default is false.

" } }, - "StartTime": { - "target": "com.amazonaws.ec2#DateTime", + "PerHourPartition": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "StartTime", - "smithy.api#documentation": "

The date and time, up to the past 90 days, from which to start retrieving the price\n history data, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).

", - "smithy.api#xmlName": "startTime" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to partition the flow log per hour. This reduces the cost and response \n time for queries. The default is false.

" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for DescribeSpotPriceHistory.

" + "smithy.api#documentation": "

Describes the destination options for a flow log.

" } }, - "com.amazonaws.ec2#DescribeSpotPriceHistoryResult": { + "com.amazonaws.ec2#DestinationOptionsResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.ec2#String", + "FileFormat": { + "target": "com.amazonaws.ec2#DestinationFileFormat", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token required to retrieve the next set of results. This value is null or an empty\n string when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "FileFormat", + "smithy.api#documentation": "

The format for the flow log.

", + "smithy.api#xmlName": "fileFormat" } }, - "SpotPriceHistory": { - "target": "com.amazonaws.ec2#SpotPriceHistoryList", + "HiveCompatiblePartitions": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "SpotPriceHistorySet", - "smithy.api#documentation": "

The historical Spot prices.

", - "smithy.api#xmlName": "spotPriceHistorySet" + "aws.protocols#ec2QueryName": "HiveCompatiblePartitions", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3.

", + "smithy.api#xmlName": "hiveCompatiblePartitions" + } + }, + "PerHourPartition": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "PerHourPartition", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to partition the flow log per hour.

", + "smithy.api#xmlName": "perHourPartition" } } }, "traits": { - "smithy.api#documentation": "

Contains the output of DescribeSpotPriceHistory.

" + "smithy.api#documentation": "

Describes the destination options for a flow log.

" } }, - "com.amazonaws.ec2#DescribeStaleSecurityGroups": { + "com.amazonaws.ec2#DetachClassicLinkVpc": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeStaleSecurityGroupsRequest" + "target": "com.amazonaws.ec2#DetachClassicLinkVpcRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeStaleSecurityGroupsResult" + "target": "com.amazonaws.ec2#DetachClassicLinkVpcResult" }, "traits": { - "smithy.api#documentation": "

[VPC only] Describes the stale security group rules for security groups in a specified VPC. \n Rules are stale when they reference a deleted security group in the same VPC or in a peer VPC, \n or if they reference a security group in a peer VPC for which the VPC peering connection has \n been deleted.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "StaleSecurityGroupSet", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.ec2#DescribeStaleSecurityGroupsMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 255 - } - } - }, - "com.amazonaws.ec2#DescribeStaleSecurityGroupsNextToken": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1024 - } + "smithy.api#documentation": "\n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
\n

Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance has been unlinked, the VPC security groups are no longer associated with it. An instance is automatically unlinked from a VPC when it's stopped.

" } }, - "com.amazonaws.ec2#DescribeStaleSecurityGroupsRequest": { + "com.amazonaws.ec2#DetachClassicLinkVpcRequest": { "type": "structure", "members": { "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#DescribeStaleSecurityGroupsMaxResults", + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", "traits": { + "aws.protocols#ec2QueryName": "InstanceId", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#DescribeStaleSecurityGroupsNextToken", - "traits": { - "smithy.api#documentation": "

The token for the next set of items to return. (You received this token from a prior call.)

" + "smithy.api#documentation": "

The ID of the instance to unlink from the VPC.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "instanceId" } }, "VpcId": { "target": "com.amazonaws.ec2#VpcId", "traits": { + "aws.protocols#ec2QueryName": "VpcId", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the VPC.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The ID of the VPC to which the instance is linked.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "vpcId" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeStaleSecurityGroupsResult": { + "com.amazonaws.ec2#DetachClassicLinkVpcResult": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", - "smithy.api#xmlName": "nextToken" - } - }, - "StaleSecurityGroupSet": { - "target": "com.amazonaws.ec2#StaleSecurityGroupSet", + "Return": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "StaleSecurityGroupSet", - "smithy.api#documentation": "

Information about the stale security groups.

", - "smithy.api#xmlName": "staleSecurityGroupSet" + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "smithy.api#xmlName": "return" } } } }, - "com.amazonaws.ec2#DescribeStoreImageTasks": { + "com.amazonaws.ec2#DetachInternetGateway": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeStoreImageTasksRequest" + "target": "com.amazonaws.ec2#DetachInternetGatewayRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeStoreImageTasksResult" + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Describes the progress of the AMI store tasks. You can describe the store tasks for\n specified AMIs. If you don't specify the AMIs, you get a paginated list of store tasks from\n the last 31 days.

\n

For each AMI task, the response indicates if the task is InProgress,\n Completed, or Failed. For tasks InProgress, the\n response shows the estimated progress as a percentage.

\n

Tasks are listed in reverse chronological order. Currently, only tasks from the past 31\n days can be viewed.

\n

To use this API, you must have the required permissions. For more information, see Permissions for storing and restoring AMIs using Amazon S3 in the\n Amazon Elastic Compute Cloud User Guide.

\n

For more information, see Store and restore an AMI using\n \tAmazon S3 in the Amazon Elastic Compute Cloud User Guide.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "StoreImageTaskResults", - "pageSize": "MaxResults" - } + "smithy.api#documentation": "

Detaches an internet gateway from a VPC, disabling connectivity between the internet\n\t\t\tand the VPC. The VPC must not contain any running instances with Elastic IP addresses or\n\t\t\tpublic IPv4 addresses.

" } }, - "com.amazonaws.ec2#DescribeStoreImageTasksRequest": { + "com.amazonaws.ec2#DetachInternetGatewayRequest": { "type": "structure", "members": { - "ImageIds": { - "target": "com.amazonaws.ec2#ImageIdList", - "traits": { - "smithy.api#documentation": "

The AMI IDs for which to show progress. Up to 20 AMI IDs can be included in a request.

", - "smithy.api#xmlName": "ImageId" - } - }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

" - } - }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", - "traits": { - "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n task-state - Returns tasks in a certain state (InProgress |\n Completed | Failed)

    \n
  • \n
  • \n

    \n bucket - Returns task information for tasks that targeted a specific\n bucket. For the filter value, specify the bucket name.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "InternetGatewayId": { + "target": "com.amazonaws.ec2#InternetGatewayId", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "aws.protocols#ec2QueryName": "InternetGatewayId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the internet gateway.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "internetGatewayId" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#DescribeStoreImageTasksRequestMaxResults", + "VpcId": { + "target": "com.amazonaws.ec2#VpcId", "traits": { + "aws.protocols#ec2QueryName": "VpcId", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining\n results, make another call with the returned NextToken value. This value can be\n between 1 and 200. You cannot specify this parameter and the ImageIDs parameter\n in the same call.

" + "smithy.api#documentation": "

The ID of the VPC.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "vpcId" } } - } - }, - "com.amazonaws.ec2#DescribeStoreImageTasksRequestMaxResults": { - "type": "integer", + }, "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 1, - "max": 200 - } - } - }, - "com.amazonaws.ec2#DescribeStoreImageTasksResult": { - "type": "structure", - "members": { - "StoreImageTaskResults": { - "target": "com.amazonaws.ec2#StoreImageTaskResultSet", - "traits": { - "aws.protocols#ec2QueryName": "StoreImageTaskResultSet", - "smithy.api#documentation": "

The information about the AMI store tasks.

", - "smithy.api#xmlName": "storeImageTaskResultSet" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null\n when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" - } - } + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeSubnets": { + "com.amazonaws.ec2#DetachNetworkInterface": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeSubnetsRequest" + "target": "com.amazonaws.ec2#DetachNetworkInterfaceRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeSubnetsResult" + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Describes one or more of your subnets.

\n

For more information, see Your VPC and subnets in the\n\t\t\t\tAmazon Virtual Private Cloud User Guide.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "Subnets", - "pageSize": "MaxResults" - }, - "smithy.waiters#waitable": { - "SubnetAvailable": { - "acceptors": [ - { - "state": "success", - "matcher": { - "output": { - "path": "Subnets[].State", - "expected": "available", - "comparator": "allStringEquals" - } - } - } - ], - "minDelay": 15 - } - } - } - }, - "com.amazonaws.ec2#DescribeSubnetsMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 1000 - } + "smithy.api#documentation": "

Detaches a network interface from an instance.

" } }, - "com.amazonaws.ec2#DescribeSubnetsRequest": { + "com.amazonaws.ec2#DetachNetworkInterfaceRequest": { "type": "structure", "members": { - "Filters": { - "target": "com.amazonaws.ec2#FilterList", - "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n availability-zone - The Availability Zone for the subnet. You can also use\n availabilityZone as the filter name.

    \n
  • \n
  • \n

    \n availability-zone-id - The ID of the Availability Zone for the subnet.\n You can also use availabilityZoneId as the filter name.

    \n
  • \n
  • \n

    \n available-ip-address-count - The number of IPv4 addresses in the\n subnet that are available.

    \n
  • \n
  • \n

    \n cidr-block - The IPv4 CIDR block of the subnet. The CIDR block\n you specify must exactly match the subnet's CIDR block for information to be\n returned for the subnet. You can also use cidr or\n cidrBlock as the filter names.

    \n
  • \n
  • \n

    \n customer-owned-ipv4-pool - The customer-owned IPv4 address pool\n associated with the subnet.

    \n
  • \n
  • \n

    \n default-for-az - Indicates whether this is the default subnet for\n the Availability Zone (true | false). You can also use\n defaultForAz as the filter name.

    \n
  • \n
  • \n

    \n enable-dns64 - Indicates whether DNS queries made to the\n Amazon-provided DNS Resolver in this subnet should return synthetic IPv6\n addresses for IPv4-only destinations.

    \n
  • \n
  • \n

    \n enable-lni-at-device-index - Indicates the device position for\n local network interfaces in this subnet. For example, 1 indicates\n local network interfaces in this subnet are the secondary network interface\n (eth1).

    \n
  • \n
  • \n

    \n ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR\n block associated with the subnet.

    \n
  • \n
  • \n

    \n ipv6-cidr-block-association.association-id - An association ID\n for an IPv6 CIDR block associated with the subnet.

    \n
  • \n
  • \n

    \n ipv6-cidr-block-association.state - The state of an IPv6 CIDR\n block associated with the subnet.

    \n
  • \n
  • \n

    \n ipv6-native - Indicates whether this is an IPv6 only subnet\n (true | false).

    \n
  • \n
  • \n

    \n map-customer-owned-ip-on-launch - Indicates whether a network\n interface created in this subnet (including a network interface created by RunInstances) receives a customer-owned IPv4 address.

    \n
  • \n
  • \n

    \n map-public-ip-on-launch - Indicates whether instances launched in\n this subnet receive a public IPv4 address.

    \n
  • \n
  • \n

    \n outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

    \n
  • \n
  • \n

    \n owner-id - The ID of the Amazon Web Services account that owns the\n subnet.

    \n
  • \n
  • \n

    \n private-dns-name-options-on-launch.hostname-type - The type of\n hostname to assign to instances in the subnet at launch. For IPv4-only and\n dual-stack (IPv4 and IPv6) subnets, an instance DNS name can be based on the\n instance IPv4 address (ip-name) or the instance ID (resource-name). For IPv6\n only subnets, an instance DNS name must be based on the instance ID\n (resource-name).

    \n
  • \n
  • \n

    \n private-dns-name-options-on-launch.enable-resource-name-dns-a-record\n - Indicates whether to respond to DNS queries for instance hostnames with DNS A\n records.

    \n
  • \n
  • \n

    \n private-dns-name-options-on-launch.enable-resource-name-dns-aaaa-record\n - Indicates whether to respond to DNS queries for instance hostnames with DNS\n AAAA records.

    \n
  • \n
  • \n

    \n state - The state of the subnet (pending | available).

    \n
  • \n
  • \n

    \n subnet-arn - The Amazon Resource Name (ARN) of the subnet.

    \n
  • \n
  • \n

    \n subnet-id - The ID of the subnet.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n vpc-id - The ID of the VPC for the subnet.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" - } - }, - "SubnetIds": { - "target": "com.amazonaws.ec2#SubnetIdStringList", + "AttachmentId": { + "target": "com.amazonaws.ec2#NetworkInterfaceAttachmentId", "traits": { - "smithy.api#documentation": "

One or more subnet IDs.

\n\t\t

Default: Describes all your subnets.

", - "smithy.api#xmlName": "SubnetId" + "aws.protocols#ec2QueryName": "AttachmentId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the attachment.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "attachmentId" } }, "DryRun": { @@ -33209,412 +38089,407 @@ "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", "smithy.api#xmlName": "dryRun" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" - } - }, - "MaxResults": { - "target": "com.amazonaws.ec2#DescribeSubnetsMaxResults", + "Force": { + "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "Force", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" - } - } - } - }, - "com.amazonaws.ec2#DescribeSubnetsResult": { - "type": "structure", - "members": { - "Subnets": { - "target": "com.amazonaws.ec2#SubnetList", - "traits": { - "aws.protocols#ec2QueryName": "SubnetSet", - "smithy.api#documentation": "

Information about one or more subnets.

", - "smithy.api#xmlName": "subnetSet" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "smithy.api#default": false, + "smithy.api#documentation": "

Specifies whether to force a detachment.

\n \n
    \n
  • \n

    Use the Force parameter only as a last resort to detach a network interface from a failed instance.

    \n
  • \n
  • \n

    If you use the Force parameter to detach a network interface, you might not be able to attach a different network interface to the same index on the instance without first stopping and starting the instance.

    \n
  • \n
  • \n

    If you force the detachment of a network interface, the instance metadata\n might not get updated. This means that the attributes associated\n with the detached network interface might still be visible. The\n instance metadata will get updated when you stop and start the\n instance.

    \n
  • \n
\n
", + "smithy.api#xmlName": "force" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for DetachNetworkInterface.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeTags": { + "com.amazonaws.ec2#DetachVerifiedAccessTrustProvider": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeTagsRequest" + "target": "com.amazonaws.ec2#DetachVerifiedAccessTrustProviderRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeTagsResult" + "target": "com.amazonaws.ec2#DetachVerifiedAccessTrustProviderResult" }, "traits": { - "smithy.api#documentation": "

Describes the specified tags for your EC2 resources.

\n

For more information about tags, see Tag your Amazon EC2 resources in the\n Amazon Elastic Compute Cloud User Guide.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "Tags", - "pageSize": "MaxResults" - } + "smithy.api#documentation": "

Detach a trust provider from an Amazon Web Services Verified Access instance.

" } }, - "com.amazonaws.ec2#DescribeTagsRequest": { + "com.amazonaws.ec2#DetachVerifiedAccessTrustProviderRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "VerifiedAccessInstanceId": { + "target": "com.amazonaws.ec2#VerifiedAccessInstanceId", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" - } - }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", - "traits": { - "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n key - The tag key.

    \n
  • \n
  • \n

    \n resource-id - The ID of the resource.

    \n
  • \n
  • \n

    \n resource-type - The resource type (customer-gateway | dedicated-host | dhcp-options | elastic-ip | fleet | fpga-image | host-reservation | image | instance | internet-gateway | key-pair | launch-template | natgateway | network-acl | network-interface | placement-group | reserved-instances | route-table | security-group | snapshot | spot-instances-request | subnet | volume | vpc | vpc-endpoint | vpc-endpoint-service | vpc-peering-connection | vpn-connection | vpn-gateway).

    \n
  • \n
  • \n

    \n tag: - The key/value combination of the tag. For example,\n specify \"tag:Owner\" for the filter name and \"TeamA\" for the filter value to find\n resources with the tag \"Owner=TeamA\".

    \n
  • \n
  • \n

    \n value - The tag value.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access instance.

", + "smithy.api#required": {} } }, - "MaxResults": { - "target": "com.amazonaws.ec2#Integer", + "VerifiedAccessTrustProviderId": { + "target": "com.amazonaws.ec2#VerifiedAccessTrustProviderId", "traits": { - "aws.protocols#ec2QueryName": "MaxResults", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in a single call.\n This value can be between 5 and 1000. \n\t\t\tTo retrieve the remaining results, make another call with the returned NextToken value.

", - "smithy.api#xmlName": "maxResults" + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access trust provider.

", + "smithy.api#required": {} } }, - "NextToken": { + "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to retrieve the next page of results.

", - "smithy.api#xmlName": "nextToken" + "smithy.api#documentation": "

A unique, case-sensitive token that you provide to ensure idempotency of your\n modification request. For more information, see Ensuring Idempotency.

", + "smithy.api#idempotencyToken": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeTagsResult": { + "com.amazonaws.ec2#DetachVerifiedAccessTrustProviderResult": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.ec2#String", + "VerifiedAccessTrustProvider": { + "target": "com.amazonaws.ec2#VerifiedAccessTrustProvider", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is\n null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "VerifiedAccessTrustProvider", + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access trust provider.

", + "smithy.api#xmlName": "verifiedAccessTrustProvider" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagDescriptionList", + "VerifiedAccessInstance": { + "target": "com.amazonaws.ec2#VerifiedAccessInstance", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "VerifiedAccessInstance", + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access instance.

", + "smithy.api#xmlName": "verifiedAccessInstance" } } } }, - "com.amazonaws.ec2#DescribeTrafficMirrorFilters": { + "com.amazonaws.ec2#DetachVolume": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeTrafficMirrorFiltersRequest" + "target": "com.amazonaws.ec2#DetachVolumeRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeTrafficMirrorFiltersResult" + "target": "com.amazonaws.ec2#VolumeAttachment" }, "traits": { - "smithy.api#documentation": "

Describes one or more Traffic Mirror filters.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "TrafficMirrorFilters", - "pageSize": "MaxResults" - } + "smithy.api#documentation": "

Detaches an EBS volume from an instance. Make sure to unmount any file systems on the\n device within your operating system before detaching the volume. Failure to do so can result\n in the volume becoming stuck in the busy state while detaching. If this happens,\n detachment can be delayed indefinitely until you unmount the volume, force detachment, reboot\n the instance, or all three. If an EBS volume is the root device of an instance, it can't be\n detached while the instance is running. To detach the root volume, stop the instance\n first.

\n

When a volume with an Amazon Web Services Marketplace product code is detached from an instance, the\n product code is no longer associated with the instance.

\n

For more information, see Detach an Amazon EBS volume in the\n Amazon Elastic Compute Cloud User Guide.

" } }, - "com.amazonaws.ec2#DescribeTrafficMirrorFiltersRequest": { + "com.amazonaws.ec2#DetachVolumeRequest": { "type": "structure", "members": { - "TrafficMirrorFilterIds": { - "target": "com.amazonaws.ec2#TrafficMirrorFilterIdList", + "Device": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The ID of the Traffic Mirror filter.

", - "smithy.api#xmlName": "TrafficMirrorFilterId" + "smithy.api#documentation": "

The device name.

" } }, - "DryRun": { + "Force": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Forces detachment if the previous detachment attempt did not occur cleanly (for example,\n logging into an instance, unmounting the volume, and detaching normally). This option can lead\n to data loss or a corrupted file system. Use this option only as a last resort to detach a\n volume from a failed instance. The instance won't have an opportunity to flush file system\n caches or file system metadata. If you use this option, you must perform file system check and\n repair procedures.

" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceIdForResolver", "traits": { - "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n description: The Traffic Mirror filter description.

    \n
  • \n
  • \n

    \n traffic-mirror-filter-id: The ID of the Traffic Mirror filter.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "smithy.api#documentation": "

The ID of the instance. If you are detaching a Multi-Attach enabled volume, you must specify an instance ID.

" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#TrafficMirroringMaxResults", + "VolumeId": { + "target": "com.amazonaws.ec2#VolumeIdWithResolver", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", - "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" - } - } - } - }, - "com.amazonaws.ec2#DescribeTrafficMirrorFiltersResult": { - "type": "structure", - "members": { - "TrafficMirrorFilters": { - "target": "com.amazonaws.ec2#TrafficMirrorFilterSet", - "traits": { - "aws.protocols#ec2QueryName": "TrafficMirrorFilterSet", - "smithy.api#documentation": "

Information about one or more Traffic Mirror filters.

", - "smithy.api#xmlName": "trafficMirrorFilterSet" + "smithy.api#documentation": "

The ID of the volume.

", + "smithy.api#required": {} } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. The value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeTrafficMirrorSessions": { + "com.amazonaws.ec2#DetachVpnGateway": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeTrafficMirrorSessionsRequest" + "target": "com.amazonaws.ec2#DetachVpnGatewayRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeTrafficMirrorSessionsResult" + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror sessions are described. Alternatively, you can filter the results.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "TrafficMirrorSessions", - "pageSize": "MaxResults" - } + "smithy.api#documentation": "

Detaches a virtual private gateway from a VPC. You do this if you're planning to turn\n off the VPC and not use it anymore. You can confirm a virtual private gateway has been\n completely detached from a VPC by describing the virtual private gateway (any\n attachments to the virtual private gateway are also described).

\n

You must wait for the attachment's state to switch to detached before you\n can delete the VPC or attach a different VPC to the virtual private gateway.

" } }, - "com.amazonaws.ec2#DescribeTrafficMirrorSessionsRequest": { + "com.amazonaws.ec2#DetachVpnGatewayRequest": { "type": "structure", "members": { - "TrafficMirrorSessionIds": { - "target": "com.amazonaws.ec2#TrafficMirrorSessionIdList", + "VpcId": { + "target": "com.amazonaws.ec2#VpcId", "traits": { - "smithy.api#documentation": "

The ID of the Traffic Mirror session.

", - "smithy.api#xmlName": "TrafficMirrorSessionId" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the VPC.

", + "smithy.api#required": {} + } + }, + "VpnGatewayId": { + "target": "com.amazonaws.ec2#VpnGatewayId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the virtual private gateway.

", + "smithy.api#required": {} } }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } - }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for DetachVpnGateway.

", + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DeviceOptions": { + "type": "structure", + "members": { + "TenantId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n description: The Traffic Mirror session description.

    \n
  • \n
  • \n

    \n network-interface-id: The ID of the Traffic Mirror session network interface.

    \n
  • \n
  • \n

    \n owner-id: The ID of the account that owns the Traffic Mirror session.

    \n
  • \n
  • \n

    \n packet-length: The assigned number of packets to mirror.

    \n
  • \n
  • \n

    \n session-number: The assigned session number.

    \n
  • \n
  • \n

    \n traffic-mirror-filter-id: The ID of the Traffic Mirror filter.

    \n
  • \n
  • \n

    \n traffic-mirror-session-id: The ID of the Traffic Mirror session.

    \n
  • \n
  • \n

    \n traffic-mirror-target-id: The ID of the Traffic Mirror target.

    \n
  • \n
  • \n

    \n virtual-network-id: The virtual network ID of the Traffic Mirror session.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "aws.protocols#ec2QueryName": "TenantId", + "smithy.api#documentation": "

The ID of the tenant application with the device-identity provider.

", + "smithy.api#xmlName": "tenantId" } - }, - "MaxResults": { - "target": "com.amazonaws.ec2#TrafficMirroringMaxResults", + } + }, + "traits": { + "smithy.api#documentation": "

Options for an Amazon Web Services Verified Access device-identity based trust provider.

" + } + }, + "com.amazonaws.ec2#DeviceTrustProviderType": { + "type": "enum", + "members": { + "jamf": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#enumValue": "jamf" } }, - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "crowdstrike": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "smithy.api#enumValue": "crowdstrike" } } } }, - "com.amazonaws.ec2#DescribeTrafficMirrorSessionsResult": { - "type": "structure", + "com.amazonaws.ec2#DeviceType": { + "type": "enum", "members": { - "TrafficMirrorSessions": { - "target": "com.amazonaws.ec2#TrafficMirrorSessionSet", + "ebs": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "TrafficMirrorSessionSet", - "smithy.api#documentation": "

Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror sessions are described. Alternatively, you can filter the results.

", - "smithy.api#xmlName": "trafficMirrorSessionSet" + "smithy.api#enumValue": "ebs" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "instance_store": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. The value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "smithy.api#enumValue": "instance-store" } } } }, - "com.amazonaws.ec2#DescribeTrafficMirrorTargets": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DescribeTrafficMirrorTargetsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DescribeTrafficMirrorTargetsResult" + "com.amazonaws.ec2#DhcpConfiguration": { + "type": "structure", + "members": { + "Key": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Key", + "smithy.api#documentation": "

The name of a DHCP option.

", + "smithy.api#xmlName": "key" + } + }, + "Values": { + "target": "com.amazonaws.ec2#DhcpConfigurationValueList", + "traits": { + "aws.protocols#ec2QueryName": "ValueSet", + "smithy.api#documentation": "

One or more values for the DHCP option.

", + "smithy.api#xmlName": "valueSet" + } + } }, "traits": { - "smithy.api#documentation": "

Information about one or more Traffic Mirror targets.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "TrafficMirrorTargets", - "pageSize": "MaxResults" + "smithy.api#documentation": "

Describes a DHCP configuration option.

" + } + }, + "com.amazonaws.ec2#DhcpConfigurationList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#DhcpConfiguration", + "traits": { + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#DescribeTrafficMirrorTargetsRequest": { + "com.amazonaws.ec2#DhcpConfigurationValueList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#AttributeValue", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#DhcpOptions": { "type": "structure", "members": { - "TrafficMirrorTargetIds": { - "target": "com.amazonaws.ec2#TrafficMirrorTargetIdList", - "traits": { - "smithy.api#documentation": "

The ID of the Traffic Mirror targets.

", - "smithy.api#xmlName": "TrafficMirrorTargetId" - } - }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "DhcpConfigurations": { + "target": "com.amazonaws.ec2#DhcpConfigurationList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "DhcpConfigurationSet", + "smithy.api#documentation": "

One or more DHCP options in the set.

", + "smithy.api#xmlName": "dhcpConfigurationSet" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "DhcpOptionsId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n description: The Traffic Mirror target description.

    \n
  • \n
  • \n

    \n network-interface-id: The ID of the Traffic Mirror session network interface.

    \n
  • \n
  • \n

    \n network-load-balancer-arn: The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the session.

    \n
  • \n
  • \n

    \n owner-id: The ID of the account that owns the Traffic Mirror session.

    \n
  • \n
  • \n

    \n traffic-mirror-target-id: The ID of the Traffic Mirror target.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "aws.protocols#ec2QueryName": "DhcpOptionsId", + "smithy.api#documentation": "

The ID of the set of DHCP options.

", + "smithy.api#xmlName": "dhcpOptionsId" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#TrafficMirroringMaxResults", + "OwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the DHCP options set.

", + "smithy.api#xmlName": "ownerId" } }, - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Any tags assigned to the DHCP options set.

", + "smithy.api#xmlName": "tagSet" } } + }, + "traits": { + "smithy.api#documentation": "

Describes a set of DHCP options.

" } }, - "com.amazonaws.ec2#DescribeTrafficMirrorTargetsResult": { + "com.amazonaws.ec2#DhcpOptionsId": { + "type": "string" + }, + "com.amazonaws.ec2#DhcpOptionsIdStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#DhcpOptionsId", + "traits": { + "smithy.api#xmlName": "DhcpOptionsId" + } + } + }, + "com.amazonaws.ec2#DhcpOptionsList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#DhcpOptions", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#DirectoryServiceAuthentication": { "type": "structure", "members": { - "TrafficMirrorTargets": { - "target": "com.amazonaws.ec2#TrafficMirrorTargetSet", + "DirectoryId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TrafficMirrorTargetSet", - "smithy.api#documentation": "

Information about one or more Traffic Mirror targets.

", - "smithy.api#xmlName": "trafficMirrorTargetSet" + "aws.protocols#ec2QueryName": "DirectoryId", + "smithy.api#documentation": "

The ID of the Active Directory used for authentication.

", + "smithy.api#xmlName": "directoryId" } - }, - "NextToken": { + } + }, + "traits": { + "smithy.api#documentation": "

Describes an Active Directory.

" + } + }, + "com.amazonaws.ec2#DirectoryServiceAuthenticationRequest": { + "type": "structure", + "members": { + "DirectoryId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. The value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "smithy.api#documentation": "

The ID of the Active Directory to be used for authentication.

" } } + }, + "traits": { + "smithy.api#documentation": "

Describes the Active Directory to be used for client authentication.

" } }, - "com.amazonaws.ec2#DescribeTransitGatewayAttachments": { + "com.amazonaws.ec2#DisableAddressTransfer": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeTransitGatewayAttachmentsRequest" + "target": "com.amazonaws.ec2#DisableAddressTransferRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeTransitGatewayAttachmentsResult" + "target": "com.amazonaws.ec2#DisableAddressTransferResult" }, "traits": { - "smithy.api#documentation": "

Describes one or more attachments between resources and transit gateways. By default, all attachments are described.\n Alternatively, you can filter the results by attachment ID, attachment state, resource ID, or resource owner.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "TransitGatewayAttachments", - "pageSize": "MaxResults" - } + "smithy.api#documentation": "

Disables Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon Virtual Private Cloud User Guide.

" } }, - "com.amazonaws.ec2#DescribeTransitGatewayAttachmentsRequest": { + "com.amazonaws.ec2#DisableAddressTransferRequest": { "type": "structure", "members": { - "TransitGatewayAttachmentIds": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentIdStringList", - "traits": { - "smithy.api#documentation": "

The IDs of the attachments.

" - } - }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", - "traits": { - "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n association.state - The state of the association (associating | associated |\n disassociating).

    \n
  • \n
  • \n

    \n association.transit-gateway-route-table-id - The ID of the route table for the transit gateway.

    \n
  • \n
  • \n

    \n resource-id - The ID of the resource.

    \n
  • \n
  • \n

    \n resource-owner-id - The ID of the Amazon Web Services account that owns the resource.

    \n
  • \n
  • \n

    \n resource-type - The resource type. Valid values are vpc\n | vpn | direct-connect-gateway | peering\n | connect.

    \n
  • \n
  • \n

    \n state - The state of the attachment. Valid values are available | deleted | deleting | failed | failing | initiatingRequest | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting.

    \n
  • \n
  • \n

    \n transit-gateway-attachment-id - The ID of the attachment.

    \n
  • \n
  • \n

    \n transit-gateway-id - The ID of the transit gateway.

    \n
  • \n
  • \n

    \n transit-gateway-owner-id - The ID of the Amazon Web Services account that owns the transit gateway.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" - } - }, - "MaxResults": { - "target": "com.amazonaws.ec2#TransitGatewayMaxResults", + "AllocationId": { + "target": "com.amazonaws.ec2#AllocationId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "smithy.api#documentation": "

The allocation ID of an Elastic IP address.

", + "smithy.api#required": {} } }, "DryRun": { @@ -33625,75 +38500,61 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeTransitGatewayAttachmentsResult": { + "com.amazonaws.ec2#DisableAddressTransferResult": { "type": "structure", "members": { - "TransitGatewayAttachments": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentList", - "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayAttachments", - "smithy.api#documentation": "

Information about the attachments.

", - "smithy.api#xmlName": "transitGatewayAttachments" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "AddressTransfer": { + "target": "com.amazonaws.ec2#AddressTransfer", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "AddressTransfer", + "smithy.api#documentation": "

An Elastic IP address transfer.

", + "smithy.api#xmlName": "addressTransfer" } } } }, - "com.amazonaws.ec2#DescribeTransitGatewayConnectPeers": { + "com.amazonaws.ec2#DisableAwsNetworkPerformanceMetricSubscription": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeTransitGatewayConnectPeersRequest" + "target": "com.amazonaws.ec2#DisableAwsNetworkPerformanceMetricSubscriptionRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeTransitGatewayConnectPeersResult" + "target": "com.amazonaws.ec2#DisableAwsNetworkPerformanceMetricSubscriptionResult" }, "traits": { - "smithy.api#documentation": "

Describes one or more Connect peers.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "TransitGatewayConnectPeers", - "pageSize": "MaxResults" - } + "smithy.api#documentation": "

Disables Infrastructure Performance metric subscriptions.

" } }, - "com.amazonaws.ec2#DescribeTransitGatewayConnectPeersRequest": { + "com.amazonaws.ec2#DisableAwsNetworkPerformanceMetricSubscriptionRequest": { "type": "structure", "members": { - "TransitGatewayConnectPeerIds": { - "target": "com.amazonaws.ec2#TransitGatewayConnectPeerIdStringList", + "Source": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The IDs of the Connect peers.

" + "smithy.api#documentation": "

The source Region or Availability Zone that the metric subscription is disabled for. For example, us-east-1.

" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "Destination": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n state - The state of the Connect peer (pending |\n available | deleting |\n deleted).

    \n
  • \n
  • \n

    \n transit-gateway-attachment-id - The ID of the attachment.

    \n
  • \n
  • \n

    \n transit-gateway-connect-peer-id - The ID of the Connect peer.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "smithy.api#documentation": "

The target Region or Availability Zone that the metric subscription is disabled for. For example, eu-north-1.

" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#TransitGatewayMaxResults", + "Metric": { + "target": "com.amazonaws.ec2#MetricType", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#documentation": "

The metric used for the disabled subscription.

" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "Statistic": { + "target": "com.amazonaws.ec2#StatisticType", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "smithy.api#documentation": "

The statistic used for the disabled subscription.

" } }, "DryRun": { @@ -33704,75 +38565,98 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeTransitGatewayConnectPeersResult": { + "com.amazonaws.ec2#DisableAwsNetworkPerformanceMetricSubscriptionResult": { "type": "structure", "members": { - "TransitGatewayConnectPeers": { - "target": "com.amazonaws.ec2#TransitGatewayConnectPeerList", - "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayConnectPeerSet", - "smithy.api#documentation": "

Information about the Connect peers.

", - "smithy.api#xmlName": "transitGatewayConnectPeerSet" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "Output": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "Output", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the unsubscribe action was successful.

", + "smithy.api#xmlName": "output" } } } }, - "com.amazonaws.ec2#DescribeTransitGatewayConnects": { + "com.amazonaws.ec2#DisableEbsEncryptionByDefault": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeTransitGatewayConnectsRequest" + "target": "com.amazonaws.ec2#DisableEbsEncryptionByDefaultRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeTransitGatewayConnectsResult" + "target": "com.amazonaws.ec2#DisableEbsEncryptionByDefaultResult" }, "traits": { - "smithy.api#documentation": "

Describes one or more Connect attachments.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "TransitGatewayConnects", - "pageSize": "MaxResults" - } + "smithy.api#documentation": "

Disables EBS encryption by default for your account in the current Region.

\n

After you disable encryption by default, you can still create encrypted volumes by \n enabling encryption when you create each volume.

\n

Disabling encryption by default does not change the encryption status of your\n existing volumes.

\n

For more information, see Amazon EBS encryption in the\n Amazon Elastic Compute Cloud User Guide.

" } }, - "com.amazonaws.ec2#DescribeTransitGatewayConnectsRequest": { + "com.amazonaws.ec2#DisableEbsEncryptionByDefaultRequest": { "type": "structure", "members": { - "TransitGatewayAttachmentIds": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentIdStringList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The IDs of the attachments.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DisableEbsEncryptionByDefaultResult": { + "type": "structure", + "members": { + "EbsEncryptionByDefault": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n options.protocol - The tunnel protocol (gre).

    \n
  • \n
  • \n

    \n state - The state of the attachment (initiating |\n initiatingRequest | pendingAcceptance |\n rollingBack | pending | available |\n modifying | deleting | deleted |\n failed | rejected | rejecting |\n failing).

    \n
  • \n
  • \n

    \n transit-gateway-attachment-id - The ID of the\n Connect attachment.

    \n
  • \n
  • \n

    \n transit-gateway-id - The ID of the transit gateway.

    \n
  • \n
  • \n

    \n transport-transit-gateway-attachment-id - The ID of the transit gateway attachment from which the Connect attachment was created.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "aws.protocols#ec2QueryName": "EbsEncryptionByDefault", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

The updated status of encryption by default.

", + "smithy.api#xmlName": "ebsEncryptionByDefault" } - }, - "MaxResults": { - "target": "com.amazonaws.ec2#TransitGatewayMaxResults", + } + } + }, + "com.amazonaws.ec2#DisableFastLaunch": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DisableFastLaunchRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DisableFastLaunchResult" + }, + "traits": { + "smithy.api#documentation": "

Discontinue faster launching for a Windows AMI, and clean up existing pre-provisioned snapshots. \n\t\t\tWhen you disable faster launching, the AMI uses the standard launch process for each \n\t\t\tinstance. All pre-provisioned snapshots must be removed before you can enable faster launching again.

\n \n

To change these settings, you must own the AMI.

\n
" + } + }, + "com.amazonaws.ec2#DisableFastLaunchRequest": { + "type": "structure", + "members": { + "ImageId": { + "target": "com.amazonaws.ec2#ImageId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#documentation": "

The ID of the image for which you’re turning off faster launching, and removing pre-provisioned snapshots.

", + "smithy.api#required": {} } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "Force": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Forces the image settings to turn off faster launching for your Windows AMI. This parameter overrides \n\t\t\tany errors that are encountered while cleaning up resources in your account.

" } }, "DryRun": { @@ -33780,315 +38664,319 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeTransitGatewayConnectsResult": { + "com.amazonaws.ec2#DisableFastLaunchResult": { "type": "structure", "members": { - "TransitGatewayConnects": { - "target": "com.amazonaws.ec2#TransitGatewayConnectList", + "ImageId": { + "target": "com.amazonaws.ec2#ImageId", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayConnectSet", - "smithy.api#documentation": "

Information about the Connect attachments.

", - "smithy.api#xmlName": "transitGatewayConnectSet" + "aws.protocols#ec2QueryName": "ImageId", + "smithy.api#documentation": "

The ID of the image for which faster-launching has been turned off.

", + "smithy.api#xmlName": "imageId" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "ResourceType": { + "target": "com.amazonaws.ec2#FastLaunchResourceType", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "ResourceType", + "smithy.api#documentation": "

The pre-provisioning resource type that must be cleaned after turning off faster launching \n\t\t\tfor the Windows AMI. Supported values include: snapshot.

", + "smithy.api#xmlName": "resourceType" } - } - } - }, - "com.amazonaws.ec2#DescribeTransitGatewayMulticastDomains": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DescribeTransitGatewayMulticastDomainsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DescribeTransitGatewayMulticastDomainsResult" - }, - "traits": { - "smithy.api#documentation": "

Describes one or more transit gateway multicast domains.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "TransitGatewayMulticastDomains", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.ec2#DescribeTransitGatewayMulticastDomainsRequest": { - "type": "structure", - "members": { - "TransitGatewayMulticastDomainIds": { - "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainIdStringList", + }, + "SnapshotConfiguration": { + "target": "com.amazonaws.ec2#FastLaunchSnapshotConfigurationResponse", "traits": { - "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

" + "aws.protocols#ec2QueryName": "SnapshotConfiguration", + "smithy.api#documentation": "

Parameters that were used for faster launching for the Windows AMI before \n\t\t\tfaster launching was turned off. This informs the clean-up process.

", + "smithy.api#xmlName": "snapshotConfiguration" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "LaunchTemplate": { + "target": "com.amazonaws.ec2#FastLaunchLaunchTemplateSpecificationResponse", "traits": { - "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n state - The state of the transit gateway multicast domain. Valid values are pending | available | deleting | deleted.

    \n
  • \n
  • \n

    \n transit-gateway-id - The ID of the transit gateway.

    \n
  • \n
  • \n

    \n transit-gateway-multicast-domain-id - The ID of the transit gateway multicast domain.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "aws.protocols#ec2QueryName": "LaunchTemplate", + "smithy.api#documentation": "

The launch template that was used to launch Windows instances from pre-provisioned snapshots.

", + "smithy.api#xmlName": "launchTemplate" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#TransitGatewayMaxResults", + "MaxParallelLaunches": { + "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "MaxParallelLaunches", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#documentation": "

The maximum number of parallel instances to launch for creating resources.

", + "smithy.api#xmlName": "maxParallelLaunches" } }, - "NextToken": { + "OwnerId": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The owner of the Windows AMI for which faster launching was turned off.

", + "smithy.api#xmlName": "ownerId" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "State": { + "target": "com.amazonaws.ec2#FastLaunchStateCode", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The current state of faster launching for the specified Windows AMI.

", + "smithy.api#xmlName": "state" + } + }, + "StateTransitionReason": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "StateTransitionReason", + "smithy.api#documentation": "

The reason that the state changed for faster launching for the Windows AMI.

", + "smithy.api#xmlName": "stateTransitionReason" + } + }, + "StateTransitionTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "StateTransitionTime", + "smithy.api#documentation": "

The time that the state changed for faster launching for the Windows AMI.

", + "smithy.api#xmlName": "stateTransitionTime" } } } }, - "com.amazonaws.ec2#DescribeTransitGatewayMulticastDomainsResult": { + "com.amazonaws.ec2#DisableFastSnapshotRestoreErrorItem": { "type": "structure", "members": { - "TransitGatewayMulticastDomains": { - "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainList", + "SnapshotId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayMulticastDomains", - "smithy.api#documentation": "

Information about the transit gateway multicast domains.

", - "smithy.api#xmlName": "transitGatewayMulticastDomains" + "aws.protocols#ec2QueryName": "SnapshotId", + "smithy.api#documentation": "

The ID of the snapshot.

", + "smithy.api#xmlName": "snapshotId" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "FastSnapshotRestoreStateErrors": { + "target": "com.amazonaws.ec2#DisableFastSnapshotRestoreStateErrorSet", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "FastSnapshotRestoreStateErrorSet", + "smithy.api#documentation": "

The errors.

", + "smithy.api#xmlName": "fastSnapshotRestoreStateErrorSet" } } - } - }, - "com.amazonaws.ec2#DescribeTransitGatewayPeeringAttachments": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DescribeTransitGatewayPeeringAttachmentsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DescribeTransitGatewayPeeringAttachmentsResult" }, "traits": { - "smithy.api#documentation": "

Describes your transit gateway peering attachments.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "TransitGatewayPeeringAttachments", - "pageSize": "MaxResults" + "smithy.api#documentation": "

Contains information about the errors that occurred when disabling fast snapshot restores.

" + } + }, + "com.amazonaws.ec2#DisableFastSnapshotRestoreErrorSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#DisableFastSnapshotRestoreErrorItem", + "traits": { + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#DescribeTransitGatewayPeeringAttachmentsRequest": { + "com.amazonaws.ec2#DisableFastSnapshotRestoreStateError": { "type": "structure", "members": { - "TransitGatewayAttachmentIds": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentIdStringList", - "traits": { - "smithy.api#documentation": "

One or more IDs of the transit gateway peering attachments.

" - } - }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", - "traits": { - "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n transit-gateway-attachment-id - The ID of the transit gateway attachment.

    \n
  • \n
  • \n

    \n local-owner-id - The ID of your Amazon Web Services account.

    \n
  • \n
  • \n

    \n remote-owner-id - The ID of the Amazon Web Services account in the remote Region that owns the transit gateway.

    \n
  • \n
  • \n

    \n state - The state of the peering attachment. Valid values are available | deleted | deleting | failed | failing | initiatingRequest | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting).

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n transit-gateway-id - The ID of the transit gateway.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" - } - }, - "MaxResults": { - "target": "com.amazonaws.ec2#TransitGatewayMaxResults", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" - } - }, - "NextToken": { + "Code": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "aws.protocols#ec2QueryName": "Code", + "smithy.api#documentation": "

The error code.

", + "smithy.api#xmlName": "code" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Message": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "Message", + "smithy.api#documentation": "

The error message.

", + "smithy.api#xmlName": "message" } } + }, + "traits": { + "smithy.api#documentation": "

Describes an error that occurred when disabling fast snapshot restores.

" } }, - "com.amazonaws.ec2#DescribeTransitGatewayPeeringAttachmentsResult": { + "com.amazonaws.ec2#DisableFastSnapshotRestoreStateErrorItem": { "type": "structure", "members": { - "TransitGatewayPeeringAttachments": { - "target": "com.amazonaws.ec2#TransitGatewayPeeringAttachmentList", + "AvailabilityZone": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayPeeringAttachments", - "smithy.api#documentation": "

The transit gateway peering attachments.

", - "smithy.api#xmlName": "transitGatewayPeeringAttachments" + "aws.protocols#ec2QueryName": "AvailabilityZone", + "smithy.api#documentation": "

The Availability Zone.

", + "smithy.api#xmlName": "availabilityZone" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "Error": { + "target": "com.amazonaws.ec2#DisableFastSnapshotRestoreStateError", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "Error", + "smithy.api#documentation": "

The error.

", + "smithy.api#xmlName": "error" } } - } - }, - "com.amazonaws.ec2#DescribeTransitGatewayPolicyTables": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DescribeTransitGatewayPolicyTablesRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DescribeTransitGatewayPolicyTablesResult" }, "traits": { - "smithy.api#documentation": "

Describes one or more transit gateway route policy tables.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "TransitGatewayPolicyTables", - "pageSize": "MaxResults" + "smithy.api#documentation": "

Contains information about an error that occurred when disabling fast snapshot restores.

" + } + }, + "com.amazonaws.ec2#DisableFastSnapshotRestoreStateErrorSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#DisableFastSnapshotRestoreStateErrorItem", + "traits": { + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#DescribeTransitGatewayPolicyTablesRequest": { + "com.amazonaws.ec2#DisableFastSnapshotRestoreSuccessItem": { "type": "structure", "members": { - "TransitGatewayPolicyTableIds": { - "target": "com.amazonaws.ec2#TransitGatewayPolicyTableIdStringList", + "SnapshotId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The IDs of the transit gateway policy tables.

" + "aws.protocols#ec2QueryName": "SnapshotId", + "smithy.api#documentation": "

The ID of the snapshot.

", + "smithy.api#xmlName": "snapshotId" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "AvailabilityZone": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The filters associated with the transit gateway policy table.

", - "smithy.api#xmlName": "Filter" + "aws.protocols#ec2QueryName": "AvailabilityZone", + "smithy.api#documentation": "

The Availability Zone.

", + "smithy.api#xmlName": "availabilityZone" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#TransitGatewayMaxResults", + "State": { + "target": "com.amazonaws.ec2#FastSnapshotRestoreStateCode", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of fast snapshot restores for the snapshot.

", + "smithy.api#xmlName": "state" } }, - "NextToken": { + "StateTransitionReason": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "aws.protocols#ec2QueryName": "StateTransitionReason", + "smithy.api#documentation": "

The reason for the state transition. The possible values are as follows:

\n
    \n
  • \n

    \n Client.UserInitiated - The state successfully transitioned to enabling or\n disabling.

    \n
  • \n
  • \n

    \n Client.UserInitiated - Lifecycle state transition - The state successfully transitioned \n to optimizing, enabled, or disabled.

    \n
  • \n
", + "smithy.api#xmlName": "stateTransitionReason" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "OwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that enabled fast snapshot restores on the snapshot.

", + "smithy.api#xmlName": "ownerId" } - } - } - }, - "com.amazonaws.ec2#DescribeTransitGatewayPolicyTablesResult": { - "type": "structure", - "members": { - "TransitGatewayPolicyTables": { - "target": "com.amazonaws.ec2#TransitGatewayPolicyTableList", + }, + "OwnerAlias": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayPolicyTables", - "smithy.api#documentation": "

Describes the transit gateway policy tables.

", - "smithy.api#xmlName": "transitGatewayPolicyTables" + "aws.protocols#ec2QueryName": "OwnerAlias", + "smithy.api#documentation": "

The Amazon Web Services owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

", + "smithy.api#xmlName": "ownerAlias" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "EnablingTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token for the next page of results.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "EnablingTime", + "smithy.api#documentation": "

The time at which fast snapshot restores entered the enabling state.

", + "smithy.api#xmlName": "enablingTime" + } + }, + "OptimizingTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "OptimizingTime", + "smithy.api#documentation": "

The time at which fast snapshot restores entered the optimizing state.

", + "smithy.api#xmlName": "optimizingTime" + } + }, + "EnabledTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "EnabledTime", + "smithy.api#documentation": "

The time at which fast snapshot restores entered the enabled state.

", + "smithy.api#xmlName": "enabledTime" + } + }, + "DisablingTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "DisablingTime", + "smithy.api#documentation": "

The time at which fast snapshot restores entered the disabling state.

", + "smithy.api#xmlName": "disablingTime" + } + }, + "DisabledTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "DisabledTime", + "smithy.api#documentation": "

The time at which fast snapshot restores entered the disabled state.

", + "smithy.api#xmlName": "disabledTime" } } + }, + "traits": { + "smithy.api#documentation": "

Describes fast snapshot restores that were successfully disabled.

" } }, - "com.amazonaws.ec2#DescribeTransitGatewayRouteTableAnnouncements": { + "com.amazonaws.ec2#DisableFastSnapshotRestoreSuccessSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#DisableFastSnapshotRestoreSuccessItem", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#DisableFastSnapshotRestores": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeTransitGatewayRouteTableAnnouncementsRequest" + "target": "com.amazonaws.ec2#DisableFastSnapshotRestoresRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeTransitGatewayRouteTableAnnouncementsResult" + "target": "com.amazonaws.ec2#DisableFastSnapshotRestoresResult" }, "traits": { - "smithy.api#documentation": "

Describes one or more transit gateway route table advertisements.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "TransitGatewayRouteTableAnnouncements", - "pageSize": "MaxResults" - } + "smithy.api#documentation": "

Disables fast snapshot restores for the specified snapshots in the specified Availability Zones.

" } }, - "com.amazonaws.ec2#DescribeTransitGatewayRouteTableAnnouncementsRequest": { + "com.amazonaws.ec2#DisableFastSnapshotRestoresRequest": { "type": "structure", "members": { - "TransitGatewayRouteTableAnnouncementIds": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementIdStringList", - "traits": { - "smithy.api#documentation": "

The IDs of the transit gateway route tables that are being advertised.

" - } - }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", - "traits": { - "smithy.api#documentation": "

The filters associated with the transit gateway policy table.

", - "smithy.api#xmlName": "Filter" - } - }, - "MaxResults": { - "target": "com.amazonaws.ec2#TransitGatewayMaxResults", + "AvailabilityZones": { + "target": "com.amazonaws.ec2#AvailabilityZoneStringList", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#documentation": "

One or more Availability Zones. For example, us-east-2a.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "AvailabilityZone" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "SourceSnapshotIds": { + "target": "com.amazonaws.ec2#SnapshotIdStringList", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The IDs of one or more snapshots. For example, snap-1234567890abcdef0.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "SourceSnapshotId" } }, "DryRun": { @@ -34099,75 +38987,53 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeTransitGatewayRouteTableAnnouncementsResult": { + "com.amazonaws.ec2#DisableFastSnapshotRestoresResult": { "type": "structure", "members": { - "TransitGatewayRouteTableAnnouncements": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementList", + "Successful": { + "target": "com.amazonaws.ec2#DisableFastSnapshotRestoreSuccessSet", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayRouteTableAnnouncements", - "smithy.api#documentation": "

Describes the transit gateway route table announcement.

", - "smithy.api#xmlName": "transitGatewayRouteTableAnnouncements" + "aws.protocols#ec2QueryName": "Successful", + "smithy.api#documentation": "

Information about the snapshots for which fast snapshot restores were successfully disabled.

", + "smithy.api#xmlName": "successful" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "Unsuccessful": { + "target": "com.amazonaws.ec2#DisableFastSnapshotRestoreErrorSet", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token for the next page of results.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "Unsuccessful", + "smithy.api#documentation": "

Information about the snapshots for which fast snapshot restores could not be disabled.

", + "smithy.api#xmlName": "unsuccessful" } } } }, - "com.amazonaws.ec2#DescribeTransitGatewayRouteTables": { + "com.amazonaws.ec2#DisableImageDeprecation": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeTransitGatewayRouteTablesRequest" + "target": "com.amazonaws.ec2#DisableImageDeprecationRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeTransitGatewayRouteTablesResult" + "target": "com.amazonaws.ec2#DisableImageDeprecationResult" }, "traits": { - "smithy.api#documentation": "

Describes one or more transit gateway route tables. By default, all transit gateway route tables are described.\n Alternatively, you can filter the results.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "TransitGatewayRouteTables", - "pageSize": "MaxResults" - } + "smithy.api#documentation": "

Cancels the deprecation of the specified AMI.

\n

For more information, see Deprecate an AMI in the\n Amazon EC2 User Guide.

" } }, - "com.amazonaws.ec2#DescribeTransitGatewayRouteTablesRequest": { + "com.amazonaws.ec2#DisableImageDeprecationRequest": { "type": "structure", "members": { - "TransitGatewayRouteTableIds": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableIdStringList", - "traits": { - "smithy.api#documentation": "

The IDs of the transit gateway route tables.

" - } - }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", - "traits": { - "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n default-association-route-table - Indicates whether this is the default\n association route table for the transit gateway (true | false).

    \n
  • \n
  • \n

    \n default-propagation-route-table - Indicates whether this is the default\n propagation route table for the transit gateway (true | false).

    \n
  • \n
  • \n

    \n state - The state of the route table (available | deleting | deleted | pending).

    \n
  • \n
  • \n

    \n transit-gateway-id - The ID of the transit gateway.

    \n
  • \n
  • \n

    \n transit-gateway-route-table-id - The ID of the transit gateway route table.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" - } - }, - "MaxResults": { - "target": "com.amazonaws.ec2#TransitGatewayMaxResults", + "ImageId": { + "target": "com.amazonaws.ec2#ImageId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "smithy.api#documentation": "

The ID of the AMI.

", + "smithy.api#required": {} } }, "DryRun": { @@ -34175,226 +39041,150 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeTransitGatewayRouteTablesResult": { - "type": "structure", - "members": { - "TransitGatewayRouteTables": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableList", - "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayRouteTables", - "smithy.api#documentation": "

Information about the transit gateway route tables.

", - "smithy.api#xmlName": "transitGatewayRouteTables" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "com.amazonaws.ec2#DisableImageDeprecationResult": { + "type": "structure", + "members": { + "Return": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "smithy.api#xmlName": "return" } } } }, - "com.amazonaws.ec2#DescribeTransitGatewayVpcAttachments": { + "com.amazonaws.ec2#DisableIpamOrganizationAdminAccount": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeTransitGatewayVpcAttachmentsRequest" + "target": "com.amazonaws.ec2#DisableIpamOrganizationAdminAccountRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeTransitGatewayVpcAttachmentsResult" + "target": "com.amazonaws.ec2#DisableIpamOrganizationAdminAccountResult" }, "traits": { - "smithy.api#documentation": "

Describes one or more VPC attachments. By default, all VPC attachments are described.\n Alternatively, you can filter the results.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "TransitGatewayVpcAttachments", - "pageSize": "MaxResults" - } + "smithy.api#documentation": "

Disable the IPAM account. For more information, see Enable integration with Organizations in the Amazon VPC IPAM User Guide.\n

" } }, - "com.amazonaws.ec2#DescribeTransitGatewayVpcAttachmentsRequest": { + "com.amazonaws.ec2#DisableIpamOrganizationAdminAccountRequest": { "type": "structure", "members": { - "TransitGatewayAttachmentIds": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentIdStringList", - "traits": { - "smithy.api#documentation": "

The IDs of the attachments.

" - } - }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", - "traits": { - "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n state - The state of the attachment. Valid values are available | deleted | deleting | failed | failing | initiatingRequest | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting.

    \n
  • \n
  • \n

    \n transit-gateway-attachment-id - The ID of the attachment.

    \n
  • \n
  • \n

    \n transit-gateway-id - The ID of the transit gateway.

    \n
  • \n
  • \n

    \n vpc-id - The ID of the VPC.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" - } - }, - "MaxResults": { - "target": "com.amazonaws.ec2#TransitGatewayMaxResults", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#default": false, + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "NextToken": { + "DelegatedAdminAccountId": { "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" - } - }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The Organizations member account ID that you want to disable as IPAM account.

", + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeTransitGatewayVpcAttachmentsResult": { + "com.amazonaws.ec2#DisableIpamOrganizationAdminAccountResult": { "type": "structure", "members": { - "TransitGatewayVpcAttachments": { - "target": "com.amazonaws.ec2#TransitGatewayVpcAttachmentList", - "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayVpcAttachments", - "smithy.api#documentation": "

Information about the VPC attachments.

", - "smithy.api#xmlName": "transitGatewayVpcAttachments" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "Success": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "Success", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

The result of disabling the IPAM account.

", + "smithy.api#xmlName": "success" } } } }, - "com.amazonaws.ec2#DescribeTransitGateways": { + "com.amazonaws.ec2#DisableSerialConsoleAccess": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeTransitGatewaysRequest" + "target": "com.amazonaws.ec2#DisableSerialConsoleAccessRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeTransitGatewaysResult" + "target": "com.amazonaws.ec2#DisableSerialConsoleAccessResult" }, "traits": { - "smithy.api#documentation": "

Describes one or more transit gateways. By default, all transit gateways are described. Alternatively, you can\n filter the results.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "TransitGateways", - "pageSize": "MaxResults" - } + "smithy.api#documentation": "

Disables access to the EC2 serial console of all instances for your account. By default,\n\t\t\taccess to the EC2 serial console is disabled for your account. For more information, see\n\t\t\t\tManage account access to the EC2 serial console in the Amazon EC2\n\t\t\t\tUser Guide.

" } }, - "com.amazonaws.ec2#DescribeTransitGatewaysRequest": { + "com.amazonaws.ec2#DisableSerialConsoleAccessRequest": { "type": "structure", "members": { - "TransitGatewayIds": { - "target": "com.amazonaws.ec2#TransitGatewayIdStringList", - "traits": { - "smithy.api#documentation": "

The IDs of the transit gateways.

" - } - }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", - "traits": { - "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n options.propagation-default-route-table-id - The ID of the default propagation route table.

    \n
  • \n
  • \n

    \n options.amazon-side-asn - The private ASN for the Amazon side of a BGP session.

    \n
  • \n
  • \n

    \n options.association-default-route-table-id - The ID of the default association route table.

    \n
  • \n
  • \n

    \n options.auto-accept-shared-attachments - Indicates whether there is automatic acceptance of attachment requests (enable | disable).

    \n
  • \n
  • \n

    \n options.default-route-table-association - Indicates whether resource attachments are automatically \n associated with the default association route table (enable | disable).

    \n
  • \n
  • \n

    \n options.default-route-table-propagation - Indicates whether resource attachments automatically propagate \n routes to the default propagation route table (enable | disable).

    \n
  • \n
  • \n

    \n options.dns-support - Indicates whether DNS support is enabled (enable | disable).

    \n
  • \n
  • \n

    \n options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol support is enabled (enable | disable).

    \n
  • \n
  • \n

    \n owner-id - The ID of the Amazon Web Services account that owns the transit gateway.

    \n
  • \n
  • \n

    \n state - The state of the transit gateway (available | deleted | deleting | modifying | pending).

    \n
  • \n
  • \n

    \n transit-gateway-id - The ID of the transit gateway.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" - } - }, - "MaxResults": { - "target": "com.amazonaws.ec2#TransitGatewayMaxResults", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" - } - }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeTransitGatewaysResult": { + "com.amazonaws.ec2#DisableSerialConsoleAccessResult": { "type": "structure", "members": { - "TransitGateways": { - "target": "com.amazonaws.ec2#TransitGatewayList", - "traits": { - "aws.protocols#ec2QueryName": "TransitGatewaySet", - "smithy.api#documentation": "

Information about the transit gateways.

", - "smithy.api#xmlName": "transitGatewaySet" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "SerialConsoleAccessEnabled": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "SerialConsoleAccessEnabled", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

If true, access to the EC2 serial console of all instances is enabled for\n\t\t\tyour account. If false, access to the EC2 serial console of all instances\n\t\t\tis disabled for your account.

", + "smithy.api#xmlName": "serialConsoleAccessEnabled" } } } }, - "com.amazonaws.ec2#DescribeTrunkInterfaceAssociations": { + "com.amazonaws.ec2#DisableTransitGatewayRouteTablePropagation": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeTrunkInterfaceAssociationsRequest" + "target": "com.amazonaws.ec2#DisableTransitGatewayRouteTablePropagationRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeTrunkInterfaceAssociationsResult" + "target": "com.amazonaws.ec2#DisableTransitGatewayRouteTablePropagationResult" }, "traits": { - "smithy.api#documentation": "\n

This API action is currently in limited preview only. \n If you are interested in using this feature, contact your account manager.

\n
\n

Describes one or more network interface trunk associations.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "InterfaceAssociations", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.ec2#DescribeTrunkInterfaceAssociationsMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 255 - } + "smithy.api#documentation": "

Disables the specified resource attachment from propagating routes to the specified\n propagation route table.

" } }, - "com.amazonaws.ec2#DescribeTrunkInterfaceAssociationsRequest": { + "com.amazonaws.ec2#DisableTransitGatewayRouteTablePropagationRequest": { "type": "structure", "members": { - "AssociationIds": { - "target": "com.amazonaws.ec2#TrunkInterfaceAssociationIdList", + "TransitGatewayRouteTableId": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", "traits": { - "smithy.api#documentation": "

The IDs of the associations.

", - "smithy.api#xmlName": "AssociationId" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the propagation route table.

", + "smithy.api#required": {} + } + }, + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", + "traits": { + "smithy.api#documentation": "

The ID of the attachment.

" } }, "DryRun": { @@ -34405,171 +39195,132 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", - "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n gre-key - The ID of a trunk interface association.

    \n
  • \n
  • \n

    \n interface-protocol - The interface protocol. Valid values are VLAN and GRE.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" - } - }, - "MaxResults": { - "target": "com.amazonaws.ec2#DescribeTrunkInterfaceAssociationsMaxResults", + "TransitGatewayRouteTableAnnouncementId": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementId", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n To retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#documentation": "

The ID of the route table announcement.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeTrunkInterfaceAssociationsResult": { + "com.amazonaws.ec2#DisableTransitGatewayRouteTablePropagationResult": { "type": "structure", "members": { - "InterfaceAssociations": { - "target": "com.amazonaws.ec2#TrunkInterfaceAssociationList", - "traits": { - "aws.protocols#ec2QueryName": "InterfaceAssociationSet", - "smithy.api#documentation": "

Information about the trunk associations.

", - "smithy.api#xmlName": "interfaceAssociationSet" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "Propagation": { + "target": "com.amazonaws.ec2#TransitGatewayPropagation", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "Propagation", + "smithy.api#documentation": "

Information about route propagation.

", + "smithy.api#xmlName": "propagation" } } } }, - "com.amazonaws.ec2#DescribeVolumeAttribute": { + "com.amazonaws.ec2#DisableVgwRoutePropagation": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeVolumeAttributeRequest" + "target": "com.amazonaws.ec2#DisableVgwRoutePropagationRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeVolumeAttributeResult" + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Describes the specified attribute of the specified volume. You can specify only one\n attribute at a time.

\n

For more information about EBS volumes, see Amazon EBS volumes in the Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Disables a virtual private gateway (VGW) from propagating routes to a specified route\n table of a VPC.

" } }, - "com.amazonaws.ec2#DescribeVolumeAttributeRequest": { + "com.amazonaws.ec2#DisableVgwRoutePropagationRequest": { "type": "structure", "members": { - "Attribute": { - "target": "com.amazonaws.ec2#VolumeAttributeName", + "GatewayId": { + "target": "com.amazonaws.ec2#VpnGatewayId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The attribute of the volume. This parameter is required.

", + "smithy.api#documentation": "

The ID of the virtual private gateway.

", "smithy.api#required": {} } }, - "VolumeId": { - "target": "com.amazonaws.ec2#VolumeId", + "RouteTableId": { + "target": "com.amazonaws.ec2#RouteTableId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the volume.

", + "smithy.api#documentation": "

The ID of the route table.

", "smithy.api#required": {} } }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for DisableVgwRoutePropagation.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeVolumeAttributeResult": { - "type": "structure", - "members": { - "AutoEnableIO": { - "target": "com.amazonaws.ec2#AttributeBooleanValue", - "traits": { - "aws.protocols#ec2QueryName": "AutoEnableIO", - "smithy.api#documentation": "

The state of autoEnableIO attribute.

", - "smithy.api#xmlName": "autoEnableIO" - } - }, - "ProductCodes": { - "target": "com.amazonaws.ec2#ProductCodeList", - "traits": { - "aws.protocols#ec2QueryName": "ProductCodes", - "smithy.api#documentation": "

A list of product codes.

", - "smithy.api#xmlName": "productCodes" - } - }, - "VolumeId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "VolumeId", - "smithy.api#documentation": "

The ID of the volume.

", - "smithy.api#xmlName": "volumeId" - } - } + "com.amazonaws.ec2#DisableVpcClassicLink": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DisableVpcClassicLinkRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DisableVpcClassicLinkResult" + }, + "traits": { + "smithy.api#documentation": "

Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC that has EC2-Classic instances linked to it.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" } }, - "com.amazonaws.ec2#DescribeVolumeStatus": { + "com.amazonaws.ec2#DisableVpcClassicLinkDnsSupport": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeVolumeStatusRequest" + "target": "com.amazonaws.ec2#DisableVpcClassicLinkDnsSupportRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeVolumeStatusResult" + "target": "com.amazonaws.ec2#DisableVpcClassicLinkDnsSupportResult" }, "traits": { - "smithy.api#documentation": "

Describes the status of the specified volumes. Volume status provides the result of the\n checks performed on your volumes to determine events that can impair the performance of your\n volumes. The performance of a volume can be affected if an issue occurs on the volume's\n underlying host. If the volume's underlying host experiences a power outage or system issue,\n after the system is restored, there could be data inconsistencies on the volume. Volume events\n notify you if this occurs. Volume actions notify you if any action needs to be taken in\n response to the event.

\n

The DescribeVolumeStatus operation provides the following information about\n the specified volumes:

\n

\n Status: Reflects the current status of the volume. The possible\n values are ok, impaired , warning, or\n insufficient-data. If all checks pass, the overall status of the volume is\n ok. If the check fails, the overall status is impaired. If the\n status is insufficient-data, then the checks might still be taking place on your\n volume at the time. We recommend that you retry the request. For more information about volume\n status, see Monitor the status of your volumes in the\n Amazon Elastic Compute Cloud User Guide.

\n

\n Events: Reflect the cause of a volume status and might require you to\n take action. For example, if your volume returns an impaired status, then the\n volume event might be potential-data-inconsistency. This means that your volume\n has been affected by an issue with the underlying host, has all I/O operations disabled, and\n might have inconsistent data.

\n

\n Actions: Reflect the actions you might have to take in response to an\n event. For example, if the status of the volume is impaired and the volume event\n shows potential-data-inconsistency, then the action shows\n enable-volume-io. This means that you may want to enable the I/O operations for\n the volume by calling the EnableVolumeIO action and then check the volume\n for data consistency.

\n

Volume status is based on the volume status checks, and does not reflect the volume state.\n Therefore, volume status does not indicate volumes in the error state (for\n example, when a volume is incapable of accepting I/O.)

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "VolumeStatuses", - "pageSize": "MaxResults" - } + "smithy.api#documentation": "

Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames resolve to\n\t\t\tpublic IP addresses when addressed between a linked EC2-Classic instance and instances\n\t\t\tin the VPC to which it's linked. For more information, see ClassicLink in the\n\t\t\t\tAmazon Elastic Compute Cloud User Guide.

\n

You must specify a VPC ID in the request.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" } }, - "com.amazonaws.ec2#DescribeVolumeStatusRequest": { + "com.amazonaws.ec2#DisableVpcClassicLinkDnsSupportRequest": { "type": "structure", "members": { - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "VpcId": { + "target": "com.amazonaws.ec2#VpcId", "traits": { - "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n action.code - The action code for the event (for example,\n enable-volume-io).

    \n
  • \n
  • \n

    \n action.description - A description of the action.

    \n
  • \n
  • \n

    \n action.event-id - The event ID associated with the action.

    \n
  • \n
  • \n

    \n availability-zone - The Availability Zone of the instance.

    \n
  • \n
  • \n

    \n event.description - A description of the event.

    \n
  • \n
  • \n

    \n event.event-id - The event ID.

    \n
  • \n
  • \n

    \n event.event-type - The event type (for io-enabled:\n passed | failed; for io-performance:\n io-performance:degraded | io-performance:severely-degraded |\n io-performance:stalled).

    \n
  • \n
  • \n

    \n event.not-after - The latest end time for the event.

    \n
  • \n
  • \n

    \n event.not-before - The earliest start time for the event.

    \n
  • \n
  • \n

    \n volume-status.details-name - The cause for\n volume-status.status (io-enabled |\n io-performance).

    \n
  • \n
  • \n

    \n volume-status.details-status - The status of\n volume-status.details-name (for io-enabled:\n passed | failed; for io-performance:\n normal | degraded | severely-degraded |\n stalled).

    \n
  • \n
  • \n

    \n volume-status.status - The status of the volume (ok |\n impaired | warning | insufficient-data).

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "smithy.api#documentation": "

The ID of the VPC.

", + "smithy.api#xmlName": "VpcId" } - }, - "MaxResults": { - "target": "com.amazonaws.ec2#Integer", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DisableVpcClassicLinkDnsSupportResult": { + "type": "structure", + "members": { + "Return": { + "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "Return", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of volume results returned by DescribeVolumeStatus in\n paginated output. When this parameter is used, the request only returns\n MaxResults results in a single page along with a NextToken\n response element. The remaining results of the initial request can be seen by sending another\n request with the returned NextToken value. This value can be between 5 and 1,000;\n if MaxResults is given a value larger than 1,000, only 1,000 results are returned.\n If this parameter is not used, then DescribeVolumeStatus returns all results. You\n cannot specify this parameter and the volume IDs parameter in the same request.

" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The NextToken value to include in a future DescribeVolumeStatus\n request. When the results of the request exceed MaxResults, this value can be\n used to retrieve the next page of results. This value is null when there are no\n more results to return.

" - } - }, - "VolumeIds": { - "target": "com.amazonaws.ec2#VolumeIdStringList", - "traits": { - "smithy.api#documentation": "

The IDs of the volumes.

\n

Default: Describes all your volumes.

", - "smithy.api#xmlName": "VolumeId" + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "smithy.api#xmlName": "return" } - }, + } + } + }, + "com.amazonaws.ec2#DisableVpcClassicLinkRequest": { + "type": "structure", + "members": { "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -34579,302 +39330,370 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", "smithy.api#xmlName": "dryRun" } + }, + "VpcId": { + "target": "com.amazonaws.ec2#VpcId", + "traits": { + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the VPC.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "vpcId" + } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeVolumeStatusResult": { + "com.amazonaws.ec2#DisableVpcClassicLinkResult": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null\n when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" - } - }, - "VolumeStatuses": { - "target": "com.amazonaws.ec2#VolumeStatusList", + "Return": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "VolumeStatusSet", - "smithy.api#documentation": "

Information about the status of the volumes.

", - "smithy.api#xmlName": "volumeStatusSet" + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "smithy.api#xmlName": "return" } } } }, - "com.amazonaws.ec2#DescribeVolumes": { + "com.amazonaws.ec2#DisassociateAddress": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeVolumesRequest" + "target": "com.amazonaws.ec2#DisassociateAddressRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeVolumesResult" + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Describes the specified EBS volumes or all of your EBS volumes.

\n

If you are describing a long list of volumes, we recommend that you paginate the output to make the list\n more manageable. The MaxResults parameter sets the maximum number of results\n returned in a single page. If the list of results exceeds your MaxResults value,\n then that number of results is returned along with a NextToken value that can be\n passed to a subsequent DescribeVolumes request to retrieve the remaining\n results.

\n

For more information about EBS volumes, see Amazon EBS volumes in the Amazon Elastic Compute Cloud User Guide.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "Volumes", - "pageSize": "MaxResults" + "smithy.api#documentation": "

Disassociates an Elastic IP address from the instance or network interface it's associated with.

\n

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more\n\t\t\tinformation, see Elastic IP\n\t\t\t\tAddresses in the Amazon Elastic Compute Cloud User Guide.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
\n

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.

" + } + }, + "com.amazonaws.ec2#DisassociateAddressRequest": { + "type": "structure", + "members": { + "AssociationId": { + "target": "com.amazonaws.ec2#ElasticIpAssociationId", + "traits": { + "smithy.api#documentation": "

[EC2-VPC] The association ID. Required for EC2-VPC.

" + } }, - "smithy.api#suppress": [ - "WaitableTraitInvalidErrorType" - ], - "smithy.waiters#waitable": { - "VolumeAvailable": { - "acceptors": [ - { - "state": "success", - "matcher": { - "output": { - "path": "Volumes[].State", - "expected": "available", - "comparator": "allStringEquals" - } - } - }, - { - "state": "failure", - "matcher": { - "output": { - "path": "Volumes[].State", - "expected": "deleted", - "comparator": "anyStringEquals" - } - } - } - ], - "minDelay": 15 - }, - "VolumeDeleted": { - "acceptors": [ - { - "state": "success", - "matcher": { - "output": { - "path": "Volumes[].State", - "expected": "deleted", - "comparator": "allStringEquals" - } - } - }, - { - "state": "success", - "matcher": { - "errorType": "InvalidVolume.NotFound" - } - } - ], - "minDelay": 15 - }, - "VolumeInUse": { - "acceptors": [ - { - "state": "success", - "matcher": { - "output": { - "path": "Volumes[].State", - "expected": "in-use", - "comparator": "allStringEquals" - } - } - }, - { - "state": "failure", - "matcher": { - "output": { - "path": "Volumes[].State", - "expected": "deleted", - "comparator": "anyStringEquals" - } - } - } - ], - "minDelay": 15 + "PublicIp": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

[EC2-Classic] The Elastic IP address. Required for EC2-Classic.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeVolumesModifications": { + "com.amazonaws.ec2#DisassociateClientVpnTargetNetwork": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeVolumesModificationsRequest" + "target": "com.amazonaws.ec2#DisassociateClientVpnTargetNetworkRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeVolumesModificationsResult" + "target": "com.amazonaws.ec2#DisassociateClientVpnTargetNetworkResult" }, "traits": { - "smithy.api#documentation": "

Describes the most recent volume modification request for the specified EBS volumes.

\n

If a volume has never been modified, some information in the output will be null.\n If a volume has been modified more than once, the output includes only the most \n recent modification request.

\n

You can also use CloudWatch Events to check the status of a modification to an EBS\n volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. For more information, see\n Monitor the progress of volume modifications in the Amazon Elastic Compute Cloud User Guide.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "VolumesModifications", - "pageSize": "MaxResults" - } + "smithy.api#documentation": "

Disassociates a target network from the specified Client VPN endpoint. When you disassociate the \n\t\t\tlast target network from a Client VPN, the following happens:

\n
    \n
  • \n

    The route that was automatically added for the VPC is deleted

    \n
  • \n
  • \n

    All active client connections are terminated

    \n
  • \n
  • \n

    New client connections are disallowed

    \n
  • \n
  • \n

    The Client VPN endpoint's status changes to pending-associate\n

    \n
  • \n
" } }, - "com.amazonaws.ec2#DescribeVolumesModificationsRequest": { + "com.amazonaws.ec2#DisassociateClientVpnTargetNetworkRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "ClientVpnEndpointId": { + "target": "com.amazonaws.ec2#ClientVpnEndpointId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The ID of the Client VPN endpoint from which to disassociate the target network.

", + "smithy.api#required": {} } }, - "VolumeIds": { - "target": "com.amazonaws.ec2#VolumeIdStringList", + "AssociationId": { + "target": "com.amazonaws.ec2#ClientVpnAssociationId", "traits": { - "smithy.api#documentation": "

The IDs of the volumes.

", - "smithy.api#xmlName": "VolumeId" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the target network association.

", + "smithy.api#required": {} } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n modification-state - The current modification state (modifying | \n optimizing | completed | failed).

    \n
  • \n
  • \n

    \n original-iops - The original IOPS rate of the volume.

    \n
  • \n
  • \n

    \n original-size - The original size of the volume, in GiB.

    \n
  • \n
  • \n

    \n original-volume-type - The original volume type of the volume (standard | \n io1 | io2 | gp2 | sc1 | st1).

    \n
  • \n
  • \n

    \n originalMultiAttachEnabled - Indicates whether Multi-Attach support was enabled (true | false).

    \n
  • \n
  • \n

    \n start-time - The modification start time.

    \n
  • \n
  • \n

    \n target-iops - The target IOPS rate of the volume.

    \n
  • \n
  • \n

    \n target-size - The target size of the volume, in GiB.

    \n
  • \n
  • \n

    \n target-volume-type - The target volume type of the volume (standard | \n io1 | io2 | gp2 | sc1 | st1).

    \n
  • \n
  • \n

    \n targetMultiAttachEnabled - Indicates whether Multi-Attach support is to be enabled (true | false).

    \n
  • \n
  • \n

    \n volume-id - The ID of the volume.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } - }, - "NextToken": { + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DisassociateClientVpnTargetNetworkResult": { + "type": "structure", + "members": { + "AssociationId": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The nextToken value returned by a previous paginated request.

" + "aws.protocols#ec2QueryName": "AssociationId", + "smithy.api#documentation": "

The ID of the target network association.

", + "smithy.api#xmlName": "associationId" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#Integer", + "Status": { + "target": "com.amazonaws.ec2#AssociationStatus", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results (up to a limit of 500) to be returned in a paginated\n request.

" + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The current state of the target network association.

", + "smithy.api#xmlName": "status" } } } }, - "com.amazonaws.ec2#DescribeVolumesModificationsResult": { + "com.amazonaws.ec2#DisassociateEnclaveCertificateIamRole": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DisassociateEnclaveCertificateIamRoleRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DisassociateEnclaveCertificateIamRoleResult" + }, + "traits": { + "smithy.api#documentation": "

Disassociates an IAM role from an Certificate Manager (ACM) certificate. Disassociating an IAM role \n\t\t\tfrom an ACM certificate removes the Amazon S3 object that contains the certificate, certificate chain, and \n\t\t\tencrypted private key from the Amazon S3 bucket. It also revokes the IAM role's permission to use the\n\t\t\tKMS key used to encrypt the private key. This effectively revokes the role's permission \n\t\t\tto use the certificate.

" + } + }, + "com.amazonaws.ec2#DisassociateEnclaveCertificateIamRoleRequest": { "type": "structure", "members": { - "VolumesModifications": { - "target": "com.amazonaws.ec2#VolumeModificationList", + "CertificateArn": { + "target": "com.amazonaws.ec2#ResourceArn", "traits": { - "aws.protocols#ec2QueryName": "VolumeModificationSet", - "smithy.api#documentation": "

Information about the volume modifications.

", - "smithy.api#xmlName": "volumeModificationSet" + "smithy.api#documentation": "

The ARN of the ACM certificate from which to disassociate the IAM role.

" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "RoleArn": { + "target": "com.amazonaws.ec2#ResourceArn", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

Token for pagination, null if there are no more results

", - "smithy.api#xmlName": "nextToken" + "smithy.api#documentation": "

The ARN of the IAM role to disassociate.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeVolumesRequest": { + "com.amazonaws.ec2#DisassociateEnclaveCertificateIamRoleResult": { "type": "structure", "members": { - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "Return": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n attachment.attach-time - The time stamp when the attachment\n initiated.

    \n
  • \n
  • \n

    \n attachment.delete-on-termination - Whether the volume is deleted on\n instance termination.

    \n
  • \n
  • \n

    \n attachment.device - The device name specified in the block device mapping\n (for example, /dev/sda1).

    \n
  • \n
  • \n

    \n attachment.instance-id - The ID of the instance the volume is attached\n to.

    \n
  • \n
  • \n

    \n attachment.status - The attachment state (attaching |\n attached | detaching).

    \n
  • \n
  • \n

    \n availability-zone - The Availability Zone in which the volume was\n created.

    \n
  • \n
  • \n

    \n create-time - The time stamp when the volume was created.

    \n
  • \n
  • \n

    \n encrypted - Indicates whether the volume is encrypted (true\n | false)

    \n
  • \n
  • \n \t\t

    \n multi-attach-enabled - Indicates whether the volume is enabled for Multi-Attach (true\n \t\t\t| false)

    \n \t
  • \n
  • \n

    \n fast-restored - Indicates whether the volume was created from a \n snapshot that is enabled for fast snapshot restore (true | \n false).

    \n
  • \n
  • \n

    \n size - The size of the volume, in GiB.

    \n
  • \n
  • \n

    \n snapshot-id - The snapshot from which the volume was created.

    \n
  • \n
  • \n

    \n status - The state of the volume (creating |\n available | in-use | deleting |\n deleted | error).

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n volume-id - The volume ID.

    \n
  • \n
  • \n

    \n volume-type - The Amazon EBS volume type (gp2 | gp3 | io1 | io2 | \n st1 | sc1| standard)

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "smithy.api#xmlName": "return" } - }, - "VolumeIds": { - "target": "com.amazonaws.ec2#VolumeIdStringList", + } + } + }, + "com.amazonaws.ec2#DisassociateIamInstanceProfile": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DisassociateIamInstanceProfileRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DisassociateIamInstanceProfileResult" + }, + "traits": { + "smithy.api#documentation": "

Disassociates an IAM instance profile from a running or stopped instance.

\n

Use DescribeIamInstanceProfileAssociations to get the association\n ID.

" + } + }, + "com.amazonaws.ec2#DisassociateIamInstanceProfileRequest": { + "type": "structure", + "members": { + "AssociationId": { + "target": "com.amazonaws.ec2#IamInstanceProfileAssociationId", "traits": { - "smithy.api#documentation": "

The volume IDs.

", - "smithy.api#xmlName": "VolumeId" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the IAM instance profile association.

", + "smithy.api#required": {} } - }, + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DisassociateIamInstanceProfileResult": { + "type": "structure", + "members": { + "IamInstanceProfileAssociation": { + "target": "com.amazonaws.ec2#IamInstanceProfileAssociation", + "traits": { + "aws.protocols#ec2QueryName": "IamInstanceProfileAssociation", + "smithy.api#documentation": "

Information about the IAM instance profile association.

", + "smithy.api#xmlName": "iamInstanceProfileAssociation" + } + } + } + }, + "com.amazonaws.ec2#DisassociateInstanceEventWindow": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DisassociateInstanceEventWindowRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DisassociateInstanceEventWindowResult" + }, + "traits": { + "smithy.api#documentation": "

Disassociates one or more targets from an event window.

\n

For more information, see Define event windows for scheduled\n events in the Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#DisassociateInstanceEventWindowRequest": { + "type": "structure", + "members": { "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#Integer", + "InstanceEventWindowId": { + "target": "com.amazonaws.ec2#InstanceEventWindowId", "traits": { - "aws.protocols#ec2QueryName": "MaxResults", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of volume results returned by DescribeVolumes in paginated\n output. When this parameter is used, DescribeVolumes only returns\n MaxResults results in a single page along with a NextToken\n response element. The remaining results of the initial request can be seen by sending another\n DescribeVolumes request with the returned NextToken value. This\n value can be between 5 and 500; if MaxResults is given a value larger than 500,\n only 500 results are returned. If this parameter is not used, then\n DescribeVolumes returns all results. You cannot specify this parameter and the\n volume IDs parameter in the same request.

", - "smithy.api#xmlName": "maxResults" + "smithy.api#documentation": "

The ID of the event window.

", + "smithy.api#required": {} } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "AssociationTarget": { + "target": "com.amazonaws.ec2#InstanceEventWindowDisassociationRequest", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The NextToken value returned from a previous paginated\n DescribeVolumes request where MaxResults was used and the results\n exceeded the value of that parameter. Pagination continues from the end of the previous\n results that returned the NextToken value. This value is null when\n there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

One or more targets to disassociate from the specified event window.

", + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeVolumesResult": { + "com.amazonaws.ec2#DisassociateInstanceEventWindowResult": { "type": "structure", "members": { - "Volumes": { - "target": "com.amazonaws.ec2#VolumeList", - "traits": { - "aws.protocols#ec2QueryName": "VolumeSet", - "smithy.api#documentation": "

Information about the volumes.

", - "smithy.api#xmlName": "volumeSet" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "InstanceEventWindow": { + "target": "com.amazonaws.ec2#InstanceEventWindow", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The NextToken value to include in a future DescribeVolumes\n request. When the results of a DescribeVolumes request exceed\n MaxResults, this value can be used to retrieve the next page of results. This\n value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "InstanceEventWindow", + "smithy.api#documentation": "

Information about the event window.

", + "smithy.api#xmlName": "instanceEventWindow" } } } }, - "com.amazonaws.ec2#DescribeVpcAttribute": { + "com.amazonaws.ec2#DisassociateIpamResourceDiscovery": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeVpcAttributeRequest" + "target": "com.amazonaws.ec2#DisassociateIpamResourceDiscoveryRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeVpcAttributeResult" + "target": "com.amazonaws.ec2#DisassociateIpamResourceDiscoveryResult" }, "traits": { - "smithy.api#documentation": "

Describes the specified attribute of the specified VPC. You can specify only one attribute at a time.

" + "smithy.api#documentation": "

Disassociates a resource discovery from an Amazon VPC IPAM. A resource discovery is an IPAM component that enables IPAM Service to manage and monitor resources that belong to the owning account.

" } }, - "com.amazonaws.ec2#DescribeVpcAttributeRequest": { + "com.amazonaws.ec2#DisassociateIpamResourceDiscoveryRequest": { "type": "structure", "members": { - "Attribute": { - "target": "com.amazonaws.ec2#VpcAttributeName", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The VPC attribute.

", - "smithy.api#required": {} + "smithy.api#default": false, + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "VpcId": { - "target": "com.amazonaws.ec2#VpcId", + "IpamResourceDiscoveryAssociationId": { + "target": "com.amazonaws.ec2#IpamResourceDiscoveryAssociationId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the VPC.

", + "smithy.api#documentation": "

A resource discovery association ID.

", "smithy.api#required": {} } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DisassociateIpamResourceDiscoveryResult": { + "type": "structure", + "members": { + "IpamResourceDiscoveryAssociation": { + "target": "com.amazonaws.ec2#IpamResourceDiscoveryAssociation", + "traits": { + "aws.protocols#ec2QueryName": "IpamResourceDiscoveryAssociation", + "smithy.api#documentation": "

A resource discovery association.

", + "smithy.api#xmlName": "ipamResourceDiscoveryAssociation" + } + } + } + }, + "com.amazonaws.ec2#DisassociateRouteTable": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DisassociateRouteTableRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "

Disassociates a subnet or gateway from a route table.

\n

After you perform this action, the subnet no longer uses the routes in the route table.\n\t\t\t\tInstead, it uses the routes in the VPC's main route table. For more information\n\t\t\t\tabout route tables, see Route\n\t\t\t\ttables in the Amazon Virtual Private Cloud User Guide.

" + } + }, + "com.amazonaws.ec2#DisassociateRouteTableRequest": { + "type": "structure", + "members": { + "AssociationId": { + "target": "com.amazonaws.ec2#RouteTableAssociationId", + "traits": { + "aws.protocols#ec2QueryName": "AssociationId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The association ID representing the current association between the route table and subnet or gateway.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "associationId" + } }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", @@ -34886,1626 +39705,1586 @@ "smithy.api#xmlName": "dryRun" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeVpcAttributeResult": { + "com.amazonaws.ec2#DisassociateSubnetCidrBlock": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DisassociateSubnetCidrBlockRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DisassociateSubnetCidrBlockResult" + }, + "traits": { + "smithy.api#documentation": "

Disassociates a CIDR block from a subnet. Currently, you can disassociate an IPv6 CIDR block only. You must detach or delete all gateways and resources that are associated with the CIDR block before you can disassociate it.

" + } + }, + "com.amazonaws.ec2#DisassociateSubnetCidrBlockRequest": { "type": "structure", "members": { - "VpcId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "VpcId", - "smithy.api#documentation": "

The ID of the VPC.

", - "smithy.api#xmlName": "vpcId" - } - }, - "EnableDnsHostnames": { - "target": "com.amazonaws.ec2#AttributeBooleanValue", + "AssociationId": { + "target": "com.amazonaws.ec2#SubnetCidrAssociationId", "traits": { - "aws.protocols#ec2QueryName": "EnableDnsHostnames", - "smithy.api#documentation": "

Indicates whether the instances launched in the VPC get DNS hostnames.\n\t\t\t\tIf this attribute is true, instances in the VPC get DNS hostnames;\n\t\t\t\totherwise, they do not.

", - "smithy.api#xmlName": "enableDnsHostnames" + "aws.protocols#ec2QueryName": "AssociationId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The association ID for the CIDR block.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "associationId" } - }, - "EnableDnsSupport": { - "target": "com.amazonaws.ec2#AttributeBooleanValue", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DisassociateSubnetCidrBlockResult": { + "type": "structure", + "members": { + "Ipv6CidrBlockAssociation": { + "target": "com.amazonaws.ec2#SubnetIpv6CidrBlockAssociation", "traits": { - "aws.protocols#ec2QueryName": "EnableDnsSupport", - "smithy.api#documentation": "

Indicates whether DNS resolution is enabled for\n\t\t\t\tthe VPC. If this attribute is true, the Amazon DNS server\n\t\t\t\tresolves DNS hostnames for your instances to their corresponding\n\t\t\t\tIP addresses; otherwise, it does not.

", - "smithy.api#xmlName": "enableDnsSupport" + "aws.protocols#ec2QueryName": "Ipv6CidrBlockAssociation", + "smithy.api#documentation": "

Information about the IPv6 CIDR block association.

", + "smithy.api#xmlName": "ipv6CidrBlockAssociation" } }, - "EnableNetworkAddressUsageMetrics": { - "target": "com.amazonaws.ec2#AttributeBooleanValue", + "SubnetId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "EnableNetworkAddressUsageMetrics", - "smithy.api#documentation": "

Indicates whether Network Address Usage metrics are enabled for your VPC.

", - "smithy.api#xmlName": "enableNetworkAddressUsageMetrics" + "aws.protocols#ec2QueryName": "SubnetId", + "smithy.api#documentation": "

The ID of the subnet.

", + "smithy.api#xmlName": "subnetId" } } } }, - "com.amazonaws.ec2#DescribeVpcClassicLink": { + "com.amazonaws.ec2#DisassociateTransitGatewayMulticastDomain": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeVpcClassicLinkRequest" + "target": "com.amazonaws.ec2#DisassociateTransitGatewayMulticastDomainRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeVpcClassicLinkResult" + "target": "com.amazonaws.ec2#DisassociateTransitGatewayMulticastDomainResult" }, "traits": { - "smithy.api#documentation": "

Describes the ClassicLink status of one or more VPCs.

\n\t \n\t

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n\t
" + "smithy.api#documentation": "

Disassociates the specified subnets from the transit gateway multicast domain.

" } }, - "com.amazonaws.ec2#DescribeVpcClassicLinkDnsSupport": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DescribeVpcClassicLinkDnsSupportRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DescribeVpcClassicLinkDnsSupportResult" + "com.amazonaws.ec2#DisassociateTransitGatewayMulticastDomainRequest": { + "type": "structure", + "members": { + "TransitGatewayMulticastDomainId": { + "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainId", + "traits": { + "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

" + } + }, + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", + "traits": { + "smithy.api#documentation": "

The ID of the attachment.

" + } + }, + "SubnetIds": { + "target": "com.amazonaws.ec2#TransitGatewaySubnetIdList", + "traits": { + "smithy.api#documentation": "

The IDs of the subnets;

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + } }, "traits": { - "smithy.api#documentation": "\n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
\n

Describes the ClassicLink DNS support status of one or more VPCs. If enabled, the DNS\n hostname of a linked EC2-Classic instance resolves to its private IP address when\n addressed from an instance in the VPC to which it's linked. Similarly, the DNS hostname\n of an instance in a VPC resolves to its private IP address when addressed from a linked\n EC2-Classic instance. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "Vpcs", - "pageSize": "MaxResults" - } + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeVpcClassicLinkDnsSupportMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 255 + "com.amazonaws.ec2#DisassociateTransitGatewayMulticastDomainResult": { + "type": "structure", + "members": { + "Associations": { + "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainAssociations", + "traits": { + "aws.protocols#ec2QueryName": "Associations", + "smithy.api#documentation": "

Information about the association.

", + "smithy.api#xmlName": "associations" + } } } }, - "com.amazonaws.ec2#DescribeVpcClassicLinkDnsSupportNextToken": { - "type": "string", + "com.amazonaws.ec2#DisassociateTransitGatewayPolicyTable": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DisassociateTransitGatewayPolicyTableRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DisassociateTransitGatewayPolicyTableResult" + }, "traits": { - "smithy.api#length": { - "min": 1, - "max": 1024 - } + "smithy.api#documentation": "

Removes the association between an an attachment and a policy table.

" } }, - "com.amazonaws.ec2#DescribeVpcClassicLinkDnsSupportRequest": { + "com.amazonaws.ec2#DisassociateTransitGatewayPolicyTableRequest": { "type": "structure", "members": { - "MaxResults": { - "target": "com.amazonaws.ec2#DescribeVpcClassicLinkDnsSupportMaxResults", + "TransitGatewayPolicyTableId": { + "target": "com.amazonaws.ec2#TransitGatewayPolicyTableId", "traits": { - "aws.protocols#ec2QueryName": "MaxResults", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

", - "smithy.api#xmlName": "maxResults" + "smithy.api#documentation": "

The ID of the disassociated policy table.

", + "smithy.api#required": {} } }, - "NextToken": { - "target": "com.amazonaws.ec2#DescribeVpcClassicLinkDnsSupportNextToken", + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token for the next page of results.

", - "smithy.api#xmlName": "nextToken" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the transit gateway attachment to disassociate from the policy table.

", + "smithy.api#required": {} } }, - "VpcIds": { - "target": "com.amazonaws.ec2#VpcClassicLinkIdList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

One or more VPC IDs.

", - "smithy.api#xmlName": "VpcIds" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeVpcClassicLinkDnsSupportResult": { + "com.amazonaws.ec2#DisassociateTransitGatewayPolicyTableResult": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.ec2#DescribeVpcClassicLinkDnsSupportNextToken", - "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" - } - }, - "Vpcs": { - "target": "com.amazonaws.ec2#ClassicLinkDnsSupportList", + "Association": { + "target": "com.amazonaws.ec2#TransitGatewayPolicyTableAssociation", "traits": { - "aws.protocols#ec2QueryName": "Vpcs", - "smithy.api#documentation": "

Information about the ClassicLink DNS support status of the VPCs.

", - "smithy.api#xmlName": "vpcs" + "aws.protocols#ec2QueryName": "Association", + "smithy.api#documentation": "

Returns details about the transit gateway policy table disassociation.

", + "smithy.api#xmlName": "association" } } } }, - "com.amazonaws.ec2#DescribeVpcClassicLinkRequest": { + "com.amazonaws.ec2#DisassociateTransitGatewayRouteTable": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DisassociateTransitGatewayRouteTableRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DisassociateTransitGatewayRouteTableResult" + }, + "traits": { + "smithy.api#documentation": "

Disassociates a resource attachment from a transit gateway route table.

" + } + }, + "com.amazonaws.ec2#DisassociateTransitGatewayRouteTableRequest": { "type": "structure", "members": { - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "TransitGatewayRouteTableId": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", "traits": { - "smithy.api#documentation": "

One or more filters.

\n\t\t
    \n
  • \n\t\t\t\t

    \n is-classic-link-enabled - Whether the VPC is enabled for ClassicLink\n\t\t\t\t\t (true | false).

    \n\t\t\t
  • \n
  • \n\t\t\t

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n\t\t\t
  • \n
  • \n \t\t\t

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n\t\t\t
  • \n
", - "smithy.api#xmlName": "Filter" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the transit gateway route table.

", + "smithy.api#required": {} } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

The ID of the attachment.

", + "smithy.api#required": {} } }, - "VpcIds": { - "target": "com.amazonaws.ec2#VpcClassicLinkIdList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

One or more VPCs for which you want to describe the ClassicLink status.

", - "smithy.api#xmlName": "VpcId" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeVpcClassicLinkResult": { + "com.amazonaws.ec2#DisassociateTransitGatewayRouteTableResult": { "type": "structure", "members": { - "Vpcs": { - "target": "com.amazonaws.ec2#VpcClassicLinkList", + "Association": { + "target": "com.amazonaws.ec2#TransitGatewayAssociation", "traits": { - "aws.protocols#ec2QueryName": "VpcSet", - "smithy.api#documentation": "

The ClassicLink status of one or more VPCs.

", - "smithy.api#xmlName": "vpcSet" + "aws.protocols#ec2QueryName": "Association", + "smithy.api#documentation": "

Information about the association.

", + "smithy.api#xmlName": "association" } } } }, - "com.amazonaws.ec2#DescribeVpcEndpointConnectionNotifications": { + "com.amazonaws.ec2#DisassociateTrunkInterface": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeVpcEndpointConnectionNotificationsRequest" + "target": "com.amazonaws.ec2#DisassociateTrunkInterfaceRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeVpcEndpointConnectionNotificationsResult" + "target": "com.amazonaws.ec2#DisassociateTrunkInterfaceResult" }, "traits": { - "smithy.api#documentation": "

Describes the connection notifications for VPC endpoints and VPC endpoint\n services.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "ConnectionNotificationSet", - "pageSize": "MaxResults" - } + "smithy.api#documentation": "\n

This API action is currently in limited preview only. \n If you are interested in using this feature, contact your account manager.

\n
\n

Removes an association between a branch network interface with a trunk network interface.

" } }, - "com.amazonaws.ec2#DescribeVpcEndpointConnectionNotificationsRequest": { + "com.amazonaws.ec2#DisassociateTrunkInterfaceRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "AssociationId": { + "target": "com.amazonaws.ec2#TrunkInterfaceAssociationId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - }, - "ConnectionNotificationId": { - "target": "com.amazonaws.ec2#ConnectionNotificationId", - "traits": { - "smithy.api#documentation": "

The ID of the notification.

" + "smithy.api#documentation": "

The ID of the association

", + "smithy.api#required": {} } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n connection-notification-arn - The ARN of the SNS topic for the\n notification.

    \n
  • \n
  • \n

    \n connection-notification-id - The ID of the\n notification.

    \n
  • \n
  • \n

    \n connection-notification-state - The state of the notification\n (Enabled | Disabled).

    \n
  • \n
  • \n

    \n connection-notification-type - The type of notification\n (Topic).

    \n
  • \n
  • \n

    \n service-id - The ID of the endpoint service.

    \n
  • \n
  • \n

    \n vpc-endpoint-id - The ID of the VPC endpoint.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. For more information, see How to Ensure\n Idempotency.

", + "smithy.api#idempotencyToken": {} } }, - "MaxResults": { - "target": "com.amazonaws.ec2#Integer", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining\n results, make another request with the returned NextToken value.

" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The token to request the next page of results.

" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DescribeVpcEndpointConnectionNotificationsResult": { + "com.amazonaws.ec2#DisassociateTrunkInterfaceResult": { "type": "structure", "members": { - "ConnectionNotificationSet": { - "target": "com.amazonaws.ec2#ConnectionNotificationSet", + "Return": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "ConnectionNotificationSet", - "smithy.api#documentation": "

One or more notifications.

", - "smithy.api#xmlName": "connectionNotificationSet" + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "smithy.api#xmlName": "return" } }, - "NextToken": { + "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is\n null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "ClientToken", + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. For more information, see How to Ensure\n Idempotency.

", + "smithy.api#xmlName": "clientToken" } } } }, - "com.amazonaws.ec2#DescribeVpcEndpointConnections": { + "com.amazonaws.ec2#DisassociateVpcCidrBlock": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DescribeVpcEndpointConnectionsRequest" + "target": "com.amazonaws.ec2#DisassociateVpcCidrBlockRequest" }, "output": { - "target": "com.amazonaws.ec2#DescribeVpcEndpointConnectionsResult" + "target": "com.amazonaws.ec2#DisassociateVpcCidrBlockResult" }, "traits": { - "smithy.api#documentation": "

Describes the VPC endpoint connections to your VPC endpoint services, including any\n endpoints that are pending your acceptance.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "VpcEndpointConnections", - "pageSize": "MaxResults" - } + "smithy.api#documentation": "

Disassociates a CIDR block from a VPC. To disassociate the CIDR block, you must\n specify its association ID. You can get the association ID by using\n DescribeVpcs. You must detach or delete all gateways and resources that\n are associated with the CIDR block before you can disassociate it.

\n

You cannot disassociate the CIDR block with which you originally created the VPC (the\n\t\t\tprimary CIDR block).

" } }, - "com.amazonaws.ec2#DescribeVpcEndpointConnectionsRequest": { + "com.amazonaws.ec2#DisassociateVpcCidrBlockRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "AssociationId": { + "target": "com.amazonaws.ec2#VpcCidrAssociationId", "traits": { + "aws.protocols#ec2QueryName": "AssociationId", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The association ID for the CIDR block.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "associationId" } - }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DisassociateVpcCidrBlockResult": { + "type": "structure", + "members": { + "Ipv6CidrBlockAssociation": { + "target": "com.amazonaws.ec2#VpcIpv6CidrBlockAssociation", "traits": { - "smithy.api#documentation": "

One or more filters.

\n\t\t
    \n
  • \n\t\t

    \n ip-address-type - The IP address type (ipv4 | ipv6).

    \n\t\t
  • \n
  • \n

    \n service-id - The ID of the service.

    \n
  • \n
  • \n

    \n vpc-endpoint-owner - The ID of the Amazon Web Services account ID \n\t\t that owns the endpoint.

    \n
  • \n
  • \n\t\t\t

    \n vpc-endpoint-state - The state of the endpoint\n\t\t\t (pendingAcceptance | pending |\n\t\t\t available | deleting | deleted |\n\t\t\t rejected | failed).

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n vpc-endpoint-id - The ID of the endpoint.

    \n\t\t\t
  • \n
", - "smithy.api#xmlName": "Filter" + "aws.protocols#ec2QueryName": "Ipv6CidrBlockAssociation", + "smithy.api#documentation": "

Information about the IPv6 CIDR block association.

", + "smithy.api#xmlName": "ipv6CidrBlockAssociation" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#Integer", + "CidrBlockAssociation": { + "target": "com.amazonaws.ec2#VpcCidrBlockAssociation", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining\n results of the initial request can be seen by sending another request with the returned\n NextToken value. This value can be between 5 and 1,000; if\n MaxResults is given a value larger than 1,000, only 1,000 results are\n returned.

" + "aws.protocols#ec2QueryName": "CidrBlockAssociation", + "smithy.api#documentation": "

Information about the IPv4 CIDR block association.

", + "smithy.api#xmlName": "cidrBlockAssociation" } }, - "NextToken": { + "VpcId": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The token to retrieve the next page of results.

" + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#documentation": "

The ID of the VPC.

", + "smithy.api#xmlName": "vpcId" } } } }, - "com.amazonaws.ec2#DescribeVpcEndpointConnectionsResult": { + "com.amazonaws.ec2#DiskCount": { + "type": "integer" + }, + "com.amazonaws.ec2#DiskImage": { "type": "structure", "members": { - "VpcEndpointConnections": { - "target": "com.amazonaws.ec2#VpcEndpointConnectionSet", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "VpcEndpointConnectionSet", - "smithy.api#documentation": "

Information about one or more VPC endpoint connections.

", - "smithy.api#xmlName": "vpcEndpointConnectionSet" + "smithy.api#documentation": "

A description of the disk image.

" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "Image": { + "target": "com.amazonaws.ec2#DiskImageDetail", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "smithy.api#documentation": "

Information about the disk image.

" + } + }, + "Volume": { + "target": "com.amazonaws.ec2#VolumeDetail", + "traits": { + "smithy.api#documentation": "

Information about the volume.

" } } - } - }, - "com.amazonaws.ec2#DescribeVpcEndpointServiceConfigurations": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DescribeVpcEndpointServiceConfigurationsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DescribeVpcEndpointServiceConfigurationsResult" }, "traits": { - "smithy.api#documentation": "

Describes the VPC endpoint service configurations in your account (your services).

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "ServiceConfigurations", - "pageSize": "MaxResults" - } + "smithy.api#documentation": "

Describes a disk image.

" } }, - "com.amazonaws.ec2#DescribeVpcEndpointServiceConfigurationsRequest": { + "com.amazonaws.ec2#DiskImageDescription": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Checksum": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "Checksum", + "smithy.api#documentation": "

The checksum computed for the disk image.

", + "smithy.api#xmlName": "checksum" } }, - "ServiceIds": { - "target": "com.amazonaws.ec2#VpcEndpointServiceIdList", + "Format": { + "target": "com.amazonaws.ec2#DiskImageFormat", "traits": { - "smithy.api#documentation": "

The IDs of one or more services.

", - "smithy.api#xmlName": "ServiceId" + "aws.protocols#ec2QueryName": "Format", + "smithy.api#documentation": "

The disk image format.

", + "smithy.api#xmlName": "format" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "ImportManifestUrl": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

One or more filters.

\n\t\t
    \n
  • \n\t\t\t\t

    \n service-name - The name of the service.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n service-id - The ID of the service.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n service-state - The state of the service (Pending |\n Available | Deleting | Deleted |\n Failed).

    \n\t\t\t
  • \n
  • \n\t\t

    \n supported-ip-address-types - The IP address type (ipv4 | ipv6).

    \n\t\t
  • \n
  • \n\t\t\t\t

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n\t\t\t
  • \n
", - "smithy.api#xmlName": "Filter" + "aws.protocols#ec2QueryName": "ImportManifestUrl", + "smithy.api#documentation": "

A presigned URL for the import manifest stored in Amazon S3. For information about creating a presigned URL for\n an Amazon S3 object, read the \"Query String Request Authentication Alternative\" section of the Authenticating REST Requests topic in\n the Amazon Simple Storage Service Developer Guide.

\n

For information about the import manifest referenced by this API action, see VM Import Manifest.

", + "smithy.api#xmlName": "importManifestUrl" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#Integer", + "Size": { + "target": "com.amazonaws.ec2#Long", "traits": { + "aws.protocols#ec2QueryName": "Size", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining\n results of the initial request can be seen by sending another request with the returned\n NextToken value. This value can be between 5 and 1,000; if\n MaxResults is given a value larger than 1,000, only 1,000 results are\n returned.

" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The token to retrieve the next page of results.

" + "smithy.api#documentation": "

The size of the disk image, in GiB.

", + "smithy.api#xmlName": "size" } } + }, + "traits": { + "smithy.api#documentation": "

Describes a disk image.

" } }, - "com.amazonaws.ec2#DescribeVpcEndpointServiceConfigurationsResult": { + "com.amazonaws.ec2#DiskImageDetail": { "type": "structure", "members": { - "ServiceConfigurations": { - "target": "com.amazonaws.ec2#ServiceConfigurationSet", + "Bytes": { + "target": "com.amazonaws.ec2#Long", "traits": { - "aws.protocols#ec2QueryName": "ServiceConfigurationSet", - "smithy.api#documentation": "

Information about one or more services.

", - "smithy.api#xmlName": "serviceConfigurationSet" + "aws.protocols#ec2QueryName": "Bytes", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The size of the disk image, in GiB.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "bytes" } }, - "NextToken": { + "Format": { + "target": "com.amazonaws.ec2#DiskImageFormat", + "traits": { + "aws.protocols#ec2QueryName": "Format", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The disk image format.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "format" + } + }, + "ImportManifestUrl": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "ImportManifestUrl", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

A presigned URL for the import manifest stored in Amazon S3 and presented here as an Amazon S3 presigned URL.\n For information about creating a presigned URL for an Amazon S3 object, read the \"Query String Request Authentication\n Alternative\" section of the Authenticating REST Requests topic in the Amazon Simple Storage Service Developer\n Guide.

\n

For information about the import manifest referenced by this API action, see VM Import Manifest.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "importManifestUrl" } } - } - }, - "com.amazonaws.ec2#DescribeVpcEndpointServicePermissions": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DescribeVpcEndpointServicePermissionsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DescribeVpcEndpointServicePermissionsResult" }, "traits": { - "smithy.api#documentation": "

Describes the principals (service consumers) that are permitted to discover your VPC\n endpoint service.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "AllowedPrincipals", - "pageSize": "MaxResults" - } + "smithy.api#documentation": "

Describes a disk image.

" } }, - "com.amazonaws.ec2#DescribeVpcEndpointServicePermissionsRequest": { - "type": "structure", + "com.amazonaws.ec2#DiskImageFormat": { + "type": "enum", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - }, - "ServiceId": { - "target": "com.amazonaws.ec2#VpcEndpointServiceId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the service.

", - "smithy.api#required": {} - } - }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "VMDK": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

One or more filters.

\n\t\t
    \n
  • \n\t\t\t\t

    \n principal - The ARN of the principal.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n principal-type - The principal type (All |\n\t\t\t\t\t\tService | OrganizationUnit | Account\n\t\t\t\t\t| User | Role).

    \n\t\t\t
  • \n
", - "smithy.api#xmlName": "Filter" + "smithy.api#enumValue": "VMDK" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#Integer", + "RAW": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining\n results of the initial request can be seen by sending another request with the returned\n NextToken value. This value can be between 5 and 1,000; if\n MaxResults is given a value larger than 1,000, only 1,000 results are\n returned.

" + "smithy.api#enumValue": "RAW" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "VHD": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The token to retrieve the next page of results.

" + "smithy.api#enumValue": "VHD" } } } }, - "com.amazonaws.ec2#DescribeVpcEndpointServicePermissionsResult": { + "com.amazonaws.ec2#DiskImageList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#DiskImage" + } + }, + "com.amazonaws.ec2#DiskImageVolumeDescription": { "type": "structure", "members": { - "AllowedPrincipals": { - "target": "com.amazonaws.ec2#AllowedPrincipalSet", + "Id": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AllowedPrincipals", - "smithy.api#documentation": "

Information about one or more allowed principals.

", - "smithy.api#xmlName": "allowedPrincipals" + "aws.protocols#ec2QueryName": "Id", + "smithy.api#documentation": "

The volume identifier.

", + "smithy.api#xmlName": "id" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "Size": { + "target": "com.amazonaws.ec2#Long", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "Size", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The size of the volume, in GiB.

", + "smithy.api#xmlName": "size" } } - } - }, - "com.amazonaws.ec2#DescribeVpcEndpointServices": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DescribeVpcEndpointServicesRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DescribeVpcEndpointServicesResult" }, "traits": { - "smithy.api#documentation": "

Describes available services to which you can create a VPC endpoint.

\n

When the service provider and the consumer have different accounts in multiple\n Availability Zones, and the consumer views the VPC endpoint service information, the\n response only includes the common Availability Zones. For example, when the service\n provider account uses us-east-1a and us-east-1c and the\n consumer uses us-east-1a and us-east-1b, the response includes\n the VPC endpoint services in the common Availability Zone,\n us-east-1a.

" + "smithy.api#documentation": "

Describes a disk image volume.

" } }, - "com.amazonaws.ec2#DescribeVpcEndpointServicesRequest": { + "com.amazonaws.ec2#DiskInfo": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "SizeInGB": { + "target": "com.amazonaws.ec2#DiskSize", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "SizeInGB", + "smithy.api#documentation": "

The size of the disk in GB.

", + "smithy.api#xmlName": "sizeInGB" } }, - "ServiceNames": { - "target": "com.amazonaws.ec2#ValueStringList", + "Count": { + "target": "com.amazonaws.ec2#DiskCount", "traits": { - "smithy.api#documentation": "

One or more service names.

", - "smithy.api#xmlName": "ServiceName" + "aws.protocols#ec2QueryName": "Count", + "smithy.api#documentation": "

The number of disks with this configuration.

", + "smithy.api#xmlName": "count" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "Type": { + "target": "com.amazonaws.ec2#DiskType", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n service-name - The name of the service.

    \n
  • \n
  • \n

    \n service-type - The type of service (Interface |\n Gateway).

    \n
  • \n
  • \n

    \n supported-ip-address-types - The IP address type (ipv4 | ipv6).

    \n
  • \n
  • \n \t\t

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n \t
  • \n
  • \n \t\t

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n \t
  • \n
", - "smithy.api#xmlName": "Filter" + "aws.protocols#ec2QueryName": "Type", + "smithy.api#documentation": "

The type of disk.

", + "smithy.api#xmlName": "type" } - }, - "MaxResults": { - "target": "com.amazonaws.ec2#Integer", + } + }, + "traits": { + "smithy.api#documentation": "

Describes a disk.

" + } + }, + "com.amazonaws.ec2#DiskInfoList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#DiskInfo", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#DiskSize": { + "type": "long" + }, + "com.amazonaws.ec2#DiskType": { + "type": "enum", + "members": { + "hdd": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

\n

Constraint: If the value is greater than 1,000, we return only 1,000 items.

" + "smithy.api#enumValue": "hdd" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "ssd": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The token for the next set of items to return. (You received this token from a prior call.)

" + "smithy.api#enumValue": "ssd" } } - }, - "traits": { - "smithy.api#documentation": "

Contains the parameters for DescribeVpcEndpointServices.

" } }, - "com.amazonaws.ec2#DescribeVpcEndpointServicesResult": { + "com.amazonaws.ec2#DnsEntry": { "type": "structure", "members": { - "ServiceNames": { - "target": "com.amazonaws.ec2#ValueStringList", - "traits": { - "aws.protocols#ec2QueryName": "ServiceNameSet", - "smithy.api#documentation": "

A list of supported services.

", - "smithy.api#xmlName": "serviceNameSet" - } - }, - "ServiceDetails": { - "target": "com.amazonaws.ec2#ServiceDetailSet", + "DnsName": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ServiceDetailSet", - "smithy.api#documentation": "

Information about the service.

", - "smithy.api#xmlName": "serviceDetailSet" + "aws.protocols#ec2QueryName": "DnsName", + "smithy.api#documentation": "

The DNS name.

", + "smithy.api#xmlName": "dnsName" } }, - "NextToken": { + "HostedZoneId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "HostedZoneId", + "smithy.api#documentation": "

The ID of the private hosted zone.

", + "smithy.api#xmlName": "hostedZoneId" } } }, "traits": { - "smithy.api#documentation": "

Contains the output of DescribeVpcEndpointServices.

" + "smithy.api#documentation": "

Describes a DNS entry.

" } }, - "com.amazonaws.ec2#DescribeVpcEndpoints": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DescribeVpcEndpointsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DescribeVpcEndpointsResult" - }, - "traits": { - "smithy.api#documentation": "

Describes one or more of your VPC endpoints.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "VpcEndpoints", - "pageSize": "MaxResults" + "com.amazonaws.ec2#DnsEntrySet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#DnsEntry", + "traits": { + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#DescribeVpcEndpointsRequest": { - "type": "structure", + "com.amazonaws.ec2#DnsNameState": { + "type": "enum", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - }, - "VpcEndpointIds": { - "target": "com.amazonaws.ec2#VpcEndpointIdList", - "traits": { - "smithy.api#documentation": "

One or more endpoint IDs.

", - "smithy.api#xmlName": "VpcEndpointId" - } - }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "PendingVerification": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n ip-address-type - The IP address type (ipv4 | ipv6).

    \n
  • \n
  • \n

    \n service-name - The name of the service.

    \n
  • \n
  • \n

    \n vpc-id - The ID of the VPC in which the endpoint resides.

    \n
  • \n
  • \n

    \n vpc-endpoint-id - The ID of the endpoint.

    \n
  • \n
  • \n

    \n vpc-endpoint-state - The state of the endpoint\n (pendingAcceptance | pending |\n available | deleting | deleted |\n rejected | failed).

    \n
  • \n
  • \n

    \n vpc-endpoint-type - The type of VPC endpoint (Interface | Gateway | GatewayLoadBalancer).

    \n
  • \n
  • \n \t\t

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n \t
  • \n
  • \n \t\t

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n \t
  • \n
", - "smithy.api#xmlName": "Filter" + "smithy.api#enumValue": "pendingVerification" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#Integer", + "Verified": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

\n

Constraint: If the value is greater than 1,000, we return only 1,000 items.

" + "smithy.api#enumValue": "verified" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "Failed": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The token for the next set of items to return. (You received this token from a prior call.)

" + "smithy.api#enumValue": "failed" } } - }, - "traits": { - "smithy.api#documentation": "

Contains the parameters for DescribeVpcEndpoints.

" } }, - "com.amazonaws.ec2#DescribeVpcEndpointsResult": { + "com.amazonaws.ec2#DnsOptions": { "type": "structure", "members": { - "VpcEndpoints": { - "target": "com.amazonaws.ec2#VpcEndpointSet", - "traits": { - "aws.protocols#ec2QueryName": "VpcEndpointSet", - "smithy.api#documentation": "

Information about the endpoints.

", - "smithy.api#xmlName": "vpcEndpointSet" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "DnsRecordIpType": { + "target": "com.amazonaws.ec2#DnsRecordIpType", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "DnsRecordIpType", + "smithy.api#documentation": "

The DNS records created for the endpoint.

", + "smithy.api#xmlName": "dnsRecordIpType" } } }, "traits": { - "smithy.api#documentation": "

Contains the output of DescribeVpcEndpoints.

" + "smithy.api#documentation": "

Describes the DNS options for an endpoint.

" } }, - "com.amazonaws.ec2#DescribeVpcPeeringConnections": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DescribeVpcPeeringConnectionsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DescribeVpcPeeringConnectionsResult" - }, - "traits": { - "smithy.api#documentation": "

Describes one or more of your VPC peering connections.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "VpcPeeringConnections", - "pageSize": "MaxResults" - }, - "smithy.api#suppress": [ - "WaitableTraitInvalidErrorType" - ], - "smithy.waiters#waitable": { - "VpcPeeringConnectionDeleted": { - "acceptors": [ - { - "state": "success", - "matcher": { - "output": { - "path": "VpcPeeringConnections[].Status.Code", - "expected": "deleted", - "comparator": "allStringEquals" - } - } - }, - { - "state": "success", - "matcher": { - "errorType": "InvalidVpcPeeringConnectionID.NotFound" - } - } - ], - "minDelay": 15 - }, - "VpcPeeringConnectionExists": { - "acceptors": [ - { - "state": "success", - "matcher": { - "success": true - } - }, - { - "state": "retry", - "matcher": { - "errorType": "InvalidVpcPeeringConnectionID.NotFound" - } - } - ], - "minDelay": 15 + "com.amazonaws.ec2#DnsOptionsSpecification": { + "type": "structure", + "members": { + "DnsRecordIpType": { + "target": "com.amazonaws.ec2#DnsRecordIpType", + "traits": { + "smithy.api#documentation": "

The DNS records created for the endpoint.

" } } - } - }, - "com.amazonaws.ec2#DescribeVpcPeeringConnectionsMaxResults": { - "type": "integer", + }, "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 1000 - } + "smithy.api#documentation": "

Describes the DNS options for an endpoint.

" } }, - "com.amazonaws.ec2#DescribeVpcPeeringConnectionsRequest": { - "type": "structure", + "com.amazonaws.ec2#DnsRecordIpType": { + "type": "enum", "members": { - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "ipv4": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n accepter-vpc-info.cidr-block - The IPv4 CIDR block of the accepter\n VPC.

    \n
  • \n
  • \n

    \n accepter-vpc-info.owner-id - The ID of the Amazon Web Services account that owns the\n accepter VPC.

    \n
  • \n
  • \n

    \n accepter-vpc-info.vpc-id - The ID of the accepter VPC.

    \n
  • \n
  • \n

    \n expiration-time - The expiration date and time for the VPC peering\n connection.

    \n
  • \n
  • \n

    \n requester-vpc-info.cidr-block - The IPv4 CIDR block of the\n requester's VPC.

    \n
  • \n
  • \n

    \n requester-vpc-info.owner-id - The ID of the Amazon Web Services account that owns the\n requester VPC.

    \n
  • \n
  • \n

    \n requester-vpc-info.vpc-id - The ID of the requester VPC.

    \n
  • \n
  • \n

    \n status-code - The status of the VPC peering connection\n (pending-acceptance | failed |\n expired | provisioning | active |\n deleting | deleted |\n rejected).

    \n
  • \n
  • \n

    \n status-message - A message that provides more information about the status\n of the VPC peering connection, if applicable.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n vpc-peering-connection-id - The ID of the VPC peering connection.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "smithy.api#enumValue": "ipv4" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "dualstack": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#enumValue": "dualstack" } }, - "VpcPeeringConnectionIds": { - "target": "com.amazonaws.ec2#VpcPeeringConnectionIdList", + "ipv6": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

One or more VPC peering connection IDs.

\n

Default: Describes all your VPC peering connections.

", - "smithy.api#xmlName": "VpcPeeringConnectionId" + "smithy.api#enumValue": "ipv6" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "service_defined": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "smithy.api#enumValue": "service-defined" + } + } + } + }, + "com.amazonaws.ec2#DnsServersOptionsModifyStructure": { + "type": "structure", + "members": { + "CustomDnsServers": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "smithy.api#documentation": "

The IPv4 address range, in CIDR notation, of the DNS servers to be used. You can specify up to \n\t\t\ttwo DNS servers. Ensure that the DNS servers can be reached by the clients. The specified values \n\t\t\toverwrite the existing values.

" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#DescribeVpcPeeringConnectionsMaxResults", + "Enabled": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether DNS servers should be used. Specify False to delete the existing DNS \n\t\t\tservers.

" } } + }, + "traits": { + "smithy.api#documentation": "

Information about the DNS server to be used.

" } }, - "com.amazonaws.ec2#DescribeVpcPeeringConnectionsResult": { - "type": "structure", + "com.amazonaws.ec2#DnsSupportValue": { + "type": "enum", "members": { - "VpcPeeringConnections": { - "target": "com.amazonaws.ec2#VpcPeeringConnectionList", + "enable": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "VpcPeeringConnectionSet", - "smithy.api#documentation": "

Information about the VPC peering connections.

", - "smithy.api#xmlName": "vpcPeeringConnectionSet" + "smithy.api#enumValue": "enable" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "disable": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "smithy.api#enumValue": "disable" } } } }, - "com.amazonaws.ec2#DescribeVpcs": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DescribeVpcsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DescribeVpcsResult" - }, - "traits": { - "smithy.api#documentation": "

Describes one or more of your VPCs.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "Vpcs", - "pageSize": "MaxResults" + "com.amazonaws.ec2#DomainType": { + "type": "enum", + "members": { + "vpc": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "vpc" + } }, - "smithy.api#suppress": [ - "WaitableTraitInvalidErrorType" - ], - "smithy.waiters#waitable": { - "VpcAvailable": { - "acceptors": [ - { - "state": "success", - "matcher": { - "output": { - "path": "Vpcs[].State", - "expected": "available", - "comparator": "allStringEquals" - } - } - } - ], - "minDelay": 15 - }, - "VpcExists": { - "acceptors": [ - { - "state": "success", - "matcher": { - "success": true - } - }, - { - "state": "retry", - "matcher": { - "errorType": "InvalidVpcID.NotFound" - } - } - ], - "minDelay": 1 + "standard": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "standard" } } } }, - "com.amazonaws.ec2#DescribeVpcsMaxResults": { - "type": "integer", + "com.amazonaws.ec2#Double": { + "type": "double", + "traits": { + "smithy.api#default": 0 + } + }, + "com.amazonaws.ec2#DoubleWithConstraints": { + "type": "double", "traits": { - "smithy.api#default": 0, "smithy.api#range": { - "min": 5, - "max": 1000 + "min": 0.001, + "max": 99.999 } } }, - "com.amazonaws.ec2#DescribeVpcsRequest": { - "type": "structure", + "com.amazonaws.ec2#DynamicRoutingValue": { + "type": "enum", "members": { - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "enable": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n cidr - The primary IPv4 CIDR block of the VPC. The CIDR block you\n specify must exactly match the VPC's CIDR block for information to be returned\n for the VPC. Must contain the slash followed by one or two digits (for example,\n /28).

    \n
  • \n
  • \n

    \n cidr-block-association.cidr-block - An IPv4 CIDR block associated with the\n VPC.

    \n
  • \n
  • \n

    \n cidr-block-association.association-id - The association ID for\n an IPv4 CIDR block associated with the VPC.

    \n
  • \n
  • \n

    \n cidr-block-association.state - The state of an IPv4 CIDR block\n associated with the VPC.

    \n
  • \n
  • \n

    \n dhcp-options-id - The ID of a set of DHCP options.

    \n
  • \n
  • \n

    \n ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR\n block associated with the VPC.

    \n
  • \n
  • \n

    \n ipv6-cidr-block-association.ipv6-pool - The ID of the IPv6 address pool from which the IPv6 CIDR block is allocated.

    \n
  • \n
  • \n

    \n ipv6-cidr-block-association.association-id - The association\n ID for an IPv6 CIDR block associated with the VPC.

    \n
  • \n
  • \n

    \n ipv6-cidr-block-association.state - The state of an IPv6 CIDR\n block associated with the VPC.

    \n
  • \n
  • \n

    \n is-default - Indicates whether the VPC is the default VPC.

    \n
  • \n
  • \n

    \n owner-id - The ID of the Amazon Web Services account that owns the VPC.

    \n
  • \n
  • \n

    \n state - The state of the VPC (pending | available).

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n vpc-id - The ID of the VPC.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "smithy.api#enumValue": "enable" } }, - "VpcIds": { - "target": "com.amazonaws.ec2#VpcIdStringList", + "disable": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

One or more VPC IDs.

\n\t\t

Default: Describes all your VPCs.

", - "smithy.api#xmlName": "VpcId" + "smithy.api#enumValue": "disable" } - }, - "DryRun": { + } + } + }, + "com.amazonaws.ec2#EbsBlockDevice": { + "type": "structure", + "members": { + "DeleteOnTermination": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", + "aws.protocols#ec2QueryName": "DeleteOnTermination", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Indicates whether the EBS volume is deleted on instance termination. For more\n information, see Preserving Amazon EBS volumes on instance termination in the\n Amazon EC2 User Guide.

", + "smithy.api#xmlName": "deleteOnTermination" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "Iops": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "aws.protocols#ec2QueryName": "Iops", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes,\n this represents the number of IOPS that are provisioned for the volume. For gp2\n volumes, this represents the baseline performance of the volume and the rate at which\n the volume accumulates I/O credits for bursting.

\n

The following are the supported values for each volume type:

\n
    \n
  • \n

    \n gp3: 3,000-16,000 IOPS

    \n
  • \n
  • \n

    \n io1: 100-64,000 IOPS

    \n
  • \n
  • \n

    \n io2: 100-64,000 IOPS

    \n
  • \n
\n

For io1 and io2 volumes, we guarantee 64,000 IOPS only for\n Instances built on the\n Nitro System. Other instance families guarantee performance up to\n 32,000 IOPS.

\n

This parameter is required for io1 and io2 volumes. The default for gp3 volumes\n is 3,000 IOPS. This parameter is not supported for gp2, st1, sc1, or standard\n volumes.

", + "smithy.api#xmlName": "iops" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#DescribeVpcsMaxResults", + "SnapshotId": { + "target": "com.amazonaws.ec2#SnapshotId", + "traits": { + "aws.protocols#ec2QueryName": "SnapshotId", + "smithy.api#documentation": "

The ID of the snapshot.

", + "smithy.api#xmlName": "snapshotId" + } + }, + "VolumeSize": { + "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "VolumeSize", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#documentation": "

The size of the volume, in GiBs. You must specify either a snapshot ID or a volume\n size. If you specify a snapshot, the default is the snapshot size. You can specify a\n volume size that is equal to or larger than the snapshot size.

\n

The following are the supported volumes sizes for each volume type:

\n
    \n
  • \n

    \n gp2 and gp3:1-16,384

    \n
  • \n
  • \n

    \n io1 and io2: 4-16,384

    \n
  • \n
  • \n

    \n st1 and sc1: 125-16,384

    \n
  • \n
  • \n

    \n standard: 1-1,024

    \n
  • \n
", + "smithy.api#xmlName": "volumeSize" } - } - } - }, - "com.amazonaws.ec2#DescribeVpcsResult": { - "type": "structure", - "members": { - "Vpcs": { - "target": "com.amazonaws.ec2#VpcList", + }, + "VolumeType": { + "target": "com.amazonaws.ec2#VolumeType", "traits": { - "aws.protocols#ec2QueryName": "VpcSet", - "smithy.api#documentation": "

Information about one or more VPCs.

", - "smithy.api#xmlName": "vpcSet" + "aws.protocols#ec2QueryName": "VolumeType", + "smithy.api#documentation": "

The volume type. For more information, see Amazon EBS volume types in the\n Amazon EC2 User Guide. If the volume type is io1 or\n io2, you must specify the IOPS that the volume supports.

", + "smithy.api#xmlName": "volumeType" } }, - "NextToken": { + "KmsKeyId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" - } - } - } - }, - "com.amazonaws.ec2#DescribeVpnConnections": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DescribeVpnConnectionsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DescribeVpnConnectionsResult" - }, - "traits": { - "smithy.api#documentation": "

Describes one or more of your VPN connections.

\n

For more information, see Amazon Web Services Site-to-Site VPN in the Amazon Web Services Site-to-Site VPN\n User Guide.

", - "smithy.waiters#waitable": { - "VpnConnectionAvailable": { - "acceptors": [ - { - "state": "success", - "matcher": { - "output": { - "path": "VpnConnections[].State", - "expected": "available", - "comparator": "allStringEquals" - } - } - }, - { - "state": "failure", - "matcher": { - "output": { - "path": "VpnConnections[].State", - "expected": "deleting", - "comparator": "anyStringEquals" - } - } - }, - { - "state": "failure", - "matcher": { - "output": { - "path": "VpnConnections[].State", - "expected": "deleted", - "comparator": "anyStringEquals" - } - } - } - ], - "minDelay": 15 - }, - "VpnConnectionDeleted": { - "acceptors": [ - { - "state": "success", - "matcher": { - "output": { - "path": "VpnConnections[].State", - "expected": "deleted", - "comparator": "allStringEquals" - } - } - }, - { - "state": "failure", - "matcher": { - "output": { - "path": "VpnConnections[].State", - "expected": "pending", - "comparator": "anyStringEquals" - } - } - } - ], - "minDelay": 15 + "aws.protocols#ec2QueryName": "KmsKeyId", + "smithy.api#documentation": "

Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under\n which the EBS volume is encrypted.

\n

This parameter is only supported on BlockDeviceMapping objects called by\n RunInstances, RequestSpotFleet,\n and RequestSpotInstances.

", + "smithy.api#xmlName": "kmsKeyId" } - } - } - }, - "com.amazonaws.ec2#DescribeVpnConnectionsRequest": { - "type": "structure", - "members": { - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + }, + "Throughput": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n customer-gateway-configuration - The configuration information\n for the customer gateway.

    \n
  • \n
  • \n

    \n customer-gateway-id - The ID of a customer gateway associated\n with the VPN connection.

    \n
  • \n
  • \n

    \n state - The state of the VPN connection (pending |\n available | deleting |\n deleted).

    \n
  • \n
  • \n

    \n option.static-routes-only - Indicates whether the connection has\n static routes only. Used for devices that do not support Border Gateway Protocol\n (BGP).

    \n
  • \n
  • \n

    \n route.destination-cidr-block - The destination CIDR block. This\n corresponds to the subnet used in a customer data center.

    \n
  • \n
  • \n

    \n bgp-asn - The BGP Autonomous System Number (ASN) associated with\n a BGP device.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n type - The type of VPN connection. Currently the only supported\n type is ipsec.1.

    \n
  • \n
  • \n

    \n vpn-connection-id - The ID of the VPN connection.

    \n
  • \n
  • \n

    \n vpn-gateway-id - The ID of a virtual private gateway associated\n with the VPN connection.

    \n
  • \n
  • \n

    \n transit-gateway-id - The ID of a transit gateway associated with\n the VPN connection.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "aws.protocols#ec2QueryName": "Throughput", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The throughput that the volume supports, in MiB/s.

\n

This parameter is valid only for gp3 volumes.

\n

Valid Range: Minimum value of 125. Maximum value of 1000.

", + "smithy.api#xmlName": "throughput" } }, - "VpnConnectionIds": { - "target": "com.amazonaws.ec2#VpnConnectionIdStringList", + "OutpostArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

One or more VPN connection IDs.

\n

Default: Describes your VPN connections.

", - "smithy.api#xmlName": "VpnConnectionId" + "aws.protocols#ec2QueryName": "OutpostArn", + "smithy.api#documentation": "

The ARN of the Outpost on which the snapshot is stored.

\n

This parameter is only supported on BlockDeviceMapping objects called by\n \n CreateImage.

", + "smithy.api#xmlName": "outpostArn" } }, - "DryRun": { + "Encrypted": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", + "aws.protocols#ec2QueryName": "Encrypted", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Indicates whether the encryption state of an EBS volume is changed while being\n restored from a backing snapshot. The effect of setting the encryption state to true depends on \nthe volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see Amazon EBS encryption in the Amazon EC2 User Guide.

\n

In no case can you remove encryption from an encrypted volume.

\n

Encrypted volumes can only be attached to instances that support Amazon EBS encryption. For\n more information, see Supported instance types.

\n

This parameter is not returned by DescribeImageAttribute.

", + "smithy.api#xmlName": "encrypted" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for DescribeVpnConnections.

" + "smithy.api#documentation": "

Describes a block device for an EBS volume.

" } }, - "com.amazonaws.ec2#DescribeVpnConnectionsResult": { - "type": "structure", + "com.amazonaws.ec2#EbsEncryptionSupport": { + "type": "enum", "members": { - "VpnConnections": { - "target": "com.amazonaws.ec2#VpnConnectionList", + "unsupported": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "VpnConnectionSet", - "smithy.api#documentation": "

Information about one or more VPN connections.

", - "smithy.api#xmlName": "vpnConnectionSet" + "smithy.api#enumValue": "unsupported" + } + }, + "supported": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "supported" } } - }, - "traits": { - "smithy.api#documentation": "

Contains the output of DescribeVpnConnections.

" } }, - "com.amazonaws.ec2#DescribeVpnGateways": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DescribeVpnGatewaysRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DescribeVpnGatewaysResult" + "com.amazonaws.ec2#EbsInfo": { + "type": "structure", + "members": { + "EbsOptimizedSupport": { + "target": "com.amazonaws.ec2#EbsOptimizedSupport", + "traits": { + "aws.protocols#ec2QueryName": "EbsOptimizedSupport", + "smithy.api#documentation": "

Indicates whether the instance type is Amazon EBS-optimized. For more information, see Amazon EBS-optimized\n instances in Amazon EC2 User Guide.

", + "smithy.api#xmlName": "ebsOptimizedSupport" + } + }, + "EncryptionSupport": { + "target": "com.amazonaws.ec2#EbsEncryptionSupport", + "traits": { + "aws.protocols#ec2QueryName": "EncryptionSupport", + "smithy.api#documentation": "

Indicates whether Amazon EBS encryption is supported.

", + "smithy.api#xmlName": "encryptionSupport" + } + }, + "EbsOptimizedInfo": { + "target": "com.amazonaws.ec2#EbsOptimizedInfo", + "traits": { + "aws.protocols#ec2QueryName": "EbsOptimizedInfo", + "smithy.api#documentation": "

Describes the optimized EBS performance for the instance type.

", + "smithy.api#xmlName": "ebsOptimizedInfo" + } + }, + "NvmeSupport": { + "target": "com.amazonaws.ec2#EbsNvmeSupport", + "traits": { + "aws.protocols#ec2QueryName": "NvmeSupport", + "smithy.api#documentation": "

Indicates whether non-volatile memory express (NVMe) is supported.

", + "smithy.api#xmlName": "nvmeSupport" + } + } }, "traits": { - "smithy.api#documentation": "

Describes one or more of your virtual private gateways.

\n

For more information, see Amazon Web Services Site-to-Site VPN in the Amazon Web Services Site-to-Site VPN\n User Guide.

" + "smithy.api#documentation": "

Describes the Amazon EBS features supported by the instance type.

" } }, - "com.amazonaws.ec2#DescribeVpnGatewaysRequest": { + "com.amazonaws.ec2#EbsInstanceBlockDevice": { "type": "structure", "members": { - "Filters": { - "target": "com.amazonaws.ec2#FilterList", - "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n amazon-side-asn - The Autonomous System Number (ASN) for the\n Amazon side of the gateway.

    \n
  • \n
  • \n

    \n attachment.state - The current state of the attachment between\n the gateway and the VPC (attaching | attached |\n detaching | detached).

    \n
  • \n
  • \n

    \n attachment.vpc-id - The ID of an attached VPC.

    \n
  • \n
  • \n

    \n availability-zone - The Availability Zone for the virtual private\n gateway (if applicable).

    \n
  • \n
  • \n

    \n state - The state of the virtual private gateway\n (pending | available | deleting |\n deleted).

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n type - The type of virtual private gateway. Currently the only\n supported type is ipsec.1.

    \n
  • \n
  • \n

    \n vpn-gateway-id - The ID of the virtual private gateway.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" - } - }, - "VpnGatewayIds": { - "target": "com.amazonaws.ec2#VpnGatewayIdStringList", + "AttachTime": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "smithy.api#documentation": "

One or more virtual private gateway IDs.

\n

Default: Describes all your virtual private gateways.

", - "smithy.api#xmlName": "VpnGatewayId" + "aws.protocols#ec2QueryName": "AttachTime", + "smithy.api#documentation": "

The time stamp when the attachment initiated.

", + "smithy.api#xmlName": "attachTime" } }, - "DryRun": { + "DeleteOnTermination": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", + "aws.protocols#ec2QueryName": "DeleteOnTermination", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Indicates whether the volume is deleted on instance termination.

", + "smithy.api#xmlName": "deleteOnTermination" + } + }, + "Status": { + "target": "com.amazonaws.ec2#AttachmentStatus", + "traits": { + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The attachment state.

", + "smithy.api#xmlName": "status" + } + }, + "VolumeId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "VolumeId", + "smithy.api#documentation": "

The ID of the EBS volume.

", + "smithy.api#xmlName": "volumeId" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for DescribeVpnGateways.

" + "smithy.api#documentation": "

Describes a parameter used to set up an EBS volume in a block device mapping.

" } }, - "com.amazonaws.ec2#DescribeVpnGatewaysResult": { + "com.amazonaws.ec2#EbsInstanceBlockDeviceSpecification": { "type": "structure", "members": { - "VpnGateways": { - "target": "com.amazonaws.ec2#VpnGatewayList", + "DeleteOnTermination": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "VpnGatewaySet", - "smithy.api#documentation": "

Information about one or more virtual private gateways.

", - "smithy.api#xmlName": "vpnGatewaySet" + "aws.protocols#ec2QueryName": "DeleteOnTermination", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the volume is deleted on instance termination.

", + "smithy.api#xmlName": "deleteOnTermination" + } + }, + "VolumeId": { + "target": "com.amazonaws.ec2#VolumeId", + "traits": { + "aws.protocols#ec2QueryName": "VolumeId", + "smithy.api#documentation": "

The ID of the EBS volume.

", + "smithy.api#xmlName": "volumeId" } } }, "traits": { - "smithy.api#documentation": "

Contains the output of DescribeVpnGateways.

" + "smithy.api#documentation": "

Describes information used to set up an EBS volume specified in a block device\n mapping.

" } }, - "com.amazonaws.ec2#DestinationFileFormat": { + "com.amazonaws.ec2#EbsNvmeSupport": { "type": "enum", "members": { - "plain_text": { + "UNSUPPORTED": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "plain-text" + "smithy.api#enumValue": "unsupported" } }, - "parquet": { + "SUPPORTED": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "parquet" + "smithy.api#enumValue": "supported" + } + }, + "REQUIRED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "required" } } } }, - "com.amazonaws.ec2#DestinationOptionsRequest": { + "com.amazonaws.ec2#EbsOptimizedInfo": { "type": "structure", "members": { - "FileFormat": { - "target": "com.amazonaws.ec2#DestinationFileFormat", + "BaselineBandwidthInMbps": { + "target": "com.amazonaws.ec2#BaselineBandwidthInMbps", "traits": { - "smithy.api#documentation": "

The format for the flow log. The default is plain-text.

" + "aws.protocols#ec2QueryName": "BaselineBandwidthInMbps", + "smithy.api#documentation": "

The baseline bandwidth performance for an EBS-optimized instance type, in Mbps.

", + "smithy.api#xmlName": "baselineBandwidthInMbps" } }, - "HiveCompatiblePartitions": { - "target": "com.amazonaws.ec2#Boolean", + "BaselineThroughputInMBps": { + "target": "com.amazonaws.ec2#BaselineThroughputInMBps", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3.\n The default is false.

" + "aws.protocols#ec2QueryName": "BaselineThroughputInMBps", + "smithy.api#documentation": "

The baseline throughput performance for an EBS-optimized instance type, in MB/s.

", + "smithy.api#xmlName": "baselineThroughputInMBps" } }, - "PerHourPartition": { - "target": "com.amazonaws.ec2#Boolean", + "BaselineIops": { + "target": "com.amazonaws.ec2#BaselineIops", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to partition the flow log per hour. This reduces the cost and response \n time for queries. The default is false.

" + "aws.protocols#ec2QueryName": "BaselineIops", + "smithy.api#documentation": "

The baseline input/output storage operations per seconds for an EBS-optimized instance type.

", + "smithy.api#xmlName": "baselineIops" + } + }, + "MaximumBandwidthInMbps": { + "target": "com.amazonaws.ec2#MaximumBandwidthInMbps", + "traits": { + "aws.protocols#ec2QueryName": "MaximumBandwidthInMbps", + "smithy.api#documentation": "

The maximum bandwidth performance for an EBS-optimized instance type, in Mbps.

", + "smithy.api#xmlName": "maximumBandwidthInMbps" + } + }, + "MaximumThroughputInMBps": { + "target": "com.amazonaws.ec2#MaximumThroughputInMBps", + "traits": { + "aws.protocols#ec2QueryName": "MaximumThroughputInMBps", + "smithy.api#documentation": "

The maximum throughput performance for an EBS-optimized instance type, in MB/s.

", + "smithy.api#xmlName": "maximumThroughputInMBps" + } + }, + "MaximumIops": { + "target": "com.amazonaws.ec2#MaximumIops", + "traits": { + "aws.protocols#ec2QueryName": "MaximumIops", + "smithy.api#documentation": "

The maximum input/output storage operations per second for an EBS-optimized instance type.

", + "smithy.api#xmlName": "maximumIops" } } }, "traits": { - "smithy.api#documentation": "

Describes the destination options for a flow log.

" + "smithy.api#documentation": "

Describes the optimized EBS performance for supported instance types.

" } }, - "com.amazonaws.ec2#DestinationOptionsResponse": { - "type": "structure", + "com.amazonaws.ec2#EbsOptimizedSupport": { + "type": "enum", "members": { - "FileFormat": { - "target": "com.amazonaws.ec2#DestinationFileFormat", + "unsupported": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "FileFormat", - "smithy.api#documentation": "

The format for the flow log.

", - "smithy.api#xmlName": "fileFormat" + "smithy.api#enumValue": "unsupported" } }, - "HiveCompatiblePartitions": { - "target": "com.amazonaws.ec2#Boolean", + "supported": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "HiveCompatiblePartitions", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3.

", - "smithy.api#xmlName": "hiveCompatiblePartitions" + "smithy.api#enumValue": "supported" } }, - "PerHourPartition": { - "target": "com.amazonaws.ec2#Boolean", + "default": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "PerHourPartition", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to partition the flow log per hour.

", - "smithy.api#xmlName": "perHourPartition" + "smithy.api#enumValue": "default" } } - }, - "traits": { - "smithy.api#documentation": "

Describes the destination options for a flow log.

" } }, - "com.amazonaws.ec2#DetachClassicLinkVpc": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DetachClassicLinkVpcRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DetachClassicLinkVpcResult" + "com.amazonaws.ec2#EfaInfo": { + "type": "structure", + "members": { + "MaximumEfaInterfaces": { + "target": "com.amazonaws.ec2#MaximumEfaInterfaces", + "traits": { + "aws.protocols#ec2QueryName": "MaximumEfaInterfaces", + "smithy.api#documentation": "

The maximum number of Elastic Fabric Adapters for the instance type.

", + "smithy.api#xmlName": "maximumEfaInterfaces" + } + } }, "traits": { - "smithy.api#documentation": "\n\t

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n\t
\n\t\t

Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance has been unlinked, the VPC security groups are no longer associated with it. An instance is automatically unlinked from a VPC when it's stopped.

" + "smithy.api#documentation": "

Describes the Elastic Fabric Adapters for the instance type.

" } }, - "com.amazonaws.ec2#DetachClassicLinkVpcRequest": { + "com.amazonaws.ec2#EfaSupportedFlag": { + "type": "boolean" + }, + "com.amazonaws.ec2#EgressOnlyInternetGateway": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Attachments": { + "target": "com.amazonaws.ec2#InternetGatewayAttachmentList", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "aws.protocols#ec2QueryName": "AttachmentSet", + "smithy.api#documentation": "

Information about the attachment of the egress-only internet gateway.

", + "smithy.api#xmlName": "attachmentSet" } }, - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", + "EgressOnlyInternetGatewayId": { + "target": "com.amazonaws.ec2#EgressOnlyInternetGatewayId", "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the instance to unlink from the VPC.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "instanceId" + "aws.protocols#ec2QueryName": "EgressOnlyInternetGatewayId", + "smithy.api#documentation": "

The ID of the egress-only internet gateway.

", + "smithy.api#xmlName": "egressOnlyInternetGatewayId" } }, - "VpcId": { - "target": "com.amazonaws.ec2#VpcId", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "VpcId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the VPC to which the instance is linked.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "vpcId" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags assigned to the egress-only internet gateway.

", + "smithy.api#xmlName": "tagSet" } } + }, + "traits": { + "smithy.api#documentation": "

Describes an egress-only internet gateway.

" } }, - "com.amazonaws.ec2#DetachClassicLinkVpcResult": { - "type": "structure", - "members": { - "Return": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "Return", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "smithy.api#xmlName": "return" - } + "com.amazonaws.ec2#EgressOnlyInternetGatewayId": { + "type": "string" + }, + "com.amazonaws.ec2#EgressOnlyInternetGatewayIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#EgressOnlyInternetGatewayId", + "traits": { + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#DetachInternetGateway": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DetachInternetGatewayRequest" - }, - "output": { - "target": "smithy.api#Unit" - }, - "traits": { - "smithy.api#documentation": "

Detaches an internet gateway from a VPC, disabling connectivity between the internet\n\t\t\tand the VPC. The VPC must not contain any running instances with Elastic IP addresses or\n\t\t\tpublic IPv4 addresses.

" + "com.amazonaws.ec2#EgressOnlyInternetGatewayList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#EgressOnlyInternetGateway", + "traits": { + "smithy.api#xmlName": "item" + } } }, - "com.amazonaws.ec2#DetachInternetGatewayRequest": { + "com.amazonaws.ec2#ElasticGpuAssociation": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "ElasticGpuId": { + "target": "com.amazonaws.ec2#ElasticGpuId", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "aws.protocols#ec2QueryName": "ElasticGpuId", + "smithy.api#documentation": "

The ID of the Elastic Graphics accelerator.

", + "smithy.api#xmlName": "elasticGpuId" } }, - "InternetGatewayId": { - "target": "com.amazonaws.ec2#InternetGatewayId", + "ElasticGpuAssociationId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "InternetGatewayId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the internet gateway.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "internetGatewayId" + "aws.protocols#ec2QueryName": "ElasticGpuAssociationId", + "smithy.api#documentation": "

The ID of the association.

", + "smithy.api#xmlName": "elasticGpuAssociationId" } }, - "VpcId": { - "target": "com.amazonaws.ec2#VpcId", + "ElasticGpuAssociationState": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "VpcId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the VPC.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "vpcId" + "aws.protocols#ec2QueryName": "ElasticGpuAssociationState", + "smithy.api#documentation": "

The state of the association between the instance and the\n Elastic Graphics accelerator.

", + "smithy.api#xmlName": "elasticGpuAssociationState" + } + }, + "ElasticGpuAssociationTime": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ElasticGpuAssociationTime", + "smithy.api#documentation": "

The time the Elastic Graphics accelerator was associated with the instance.

", + "smithy.api#xmlName": "elasticGpuAssociationTime" } } - } - }, - "com.amazonaws.ec2#DetachNetworkInterface": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DetachNetworkInterfaceRequest" - }, - "output": { - "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Detaches a network interface from an instance.

" + "smithy.api#documentation": "

Describes the association between an instance and an Elastic Graphics accelerator.

" } }, - "com.amazonaws.ec2#DetachNetworkInterfaceRequest": { + "com.amazonaws.ec2#ElasticGpuAssociationList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ElasticGpuAssociation", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ElasticGpuHealth": { "type": "structure", "members": { - "AttachmentId": { - "target": "com.amazonaws.ec2#NetworkInterfaceAttachmentId", - "traits": { - "aws.protocols#ec2QueryName": "AttachmentId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the attachment.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "attachmentId" - } - }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Status": { + "target": "com.amazonaws.ec2#ElasticGpuStatus", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The health status.

", + "smithy.api#xmlName": "status" } - }, - "Force": { - "target": "com.amazonaws.ec2#Boolean", + } + }, + "traits": { + "smithy.api#documentation": "

Describes the status of an Elastic Graphics accelerator.

" + } + }, + "com.amazonaws.ec2#ElasticGpuId": { + "type": "string" + }, + "com.amazonaws.ec2#ElasticGpuIdSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ElasticGpuId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ElasticGpuSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ElasticGpus", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ElasticGpuSpecification": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Force", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Specifies whether to force a detachment.

\n \n
    \n
  • \n

    Use the Force parameter only as a last resort to detach a network interface from a failed instance.

    \n
  • \n
  • \n

    If you use the Force parameter to detach a network interface, you might not be able to attach a different network interface to the same index on the instance without first stopping and starting the instance.

    \n
  • \n
  • \n

    If you force the detachment of a network interface, the instance metadata\n might not get updated. This means that the attributes associated\n with the detached network interface might still be visible. The\n instance metadata will get updated when you stop and start the\n instance.

    \n
  • \n
\n
", - "smithy.api#xmlName": "force" + "smithy.api#documentation": "

The type of Elastic Graphics accelerator. For more information about the values to specify for\n Type, see Elastic Graphics Basics, specifically the Elastic Graphics accelerator column, in the \n Amazon Elastic Compute Cloud User Guide for Windows Instances.

", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for DetachNetworkInterface.

" + "smithy.api#documentation": "

A specification for an Elastic Graphics accelerator.

" } }, - "com.amazonaws.ec2#DetachVolume": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DetachVolumeRequest" - }, - "output": { - "target": "com.amazonaws.ec2#VolumeAttachment" + "com.amazonaws.ec2#ElasticGpuSpecificationList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ElasticGpuSpecification", + "traits": { + "smithy.api#xmlName": "ElasticGpuSpecification" + } + } + }, + "com.amazonaws.ec2#ElasticGpuSpecificationResponse": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Type", + "smithy.api#documentation": "

The elastic GPU type.

", + "smithy.api#xmlName": "type" + } + } }, "traits": { - "smithy.api#documentation": "

Detaches an EBS volume from an instance. Make sure to unmount any file systems on the\n device within your operating system before detaching the volume. Failure to do so can result\n in the volume becoming stuck in the busy state while detaching. If this happens,\n detachment can be delayed indefinitely until you unmount the volume, force detachment, reboot\n the instance, or all three. If an EBS volume is the root device of an instance, it can't be\n detached while the instance is running. To detach the root volume, stop the instance\n first.

\n

When a volume with an Amazon Web Services Marketplace product code is detached from an instance, the\n product code is no longer associated with the instance.

\n

For more information, see Detach an Amazon EBS volume in the\n Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Describes an elastic GPU.

" } }, - "com.amazonaws.ec2#DetachVolumeRequest": { + "com.amazonaws.ec2#ElasticGpuSpecificationResponseList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ElasticGpuSpecificationResponse", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ElasticGpuSpecifications": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ElasticGpuSpecification", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ElasticGpuState": { + "type": "enum", + "members": { + "Attached": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ATTACHED" + } + } + } + }, + "com.amazonaws.ec2#ElasticGpuStatus": { + "type": "enum", + "members": { + "Ok": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "OK" + } + }, + "Impaired": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IMPAIRED" + } + } + } + }, + "com.amazonaws.ec2#ElasticGpus": { "type": "structure", "members": { - "Device": { + "ElasticGpuId": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The device name.

" + "aws.protocols#ec2QueryName": "ElasticGpuId", + "smithy.api#documentation": "

The ID of the Elastic Graphics accelerator.

", + "smithy.api#xmlName": "elasticGpuId" } }, - "Force": { - "target": "com.amazonaws.ec2#Boolean", + "AvailabilityZone": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Forces detachment if the previous detachment attempt did not occur cleanly (for example,\n logging into an instance, unmounting the volume, and detaching normally). This option can lead\n to data loss or a corrupted file system. Use this option only as a last resort to detach a\n volume from a failed instance. The instance won't have an opportunity to flush file system\n caches or file system metadata. If you use this option, you must perform file system check and\n repair procedures.

" + "aws.protocols#ec2QueryName": "AvailabilityZone", + "smithy.api#documentation": "

The Availability Zone in the which the Elastic Graphics accelerator resides.

", + "smithy.api#xmlName": "availabilityZone" } }, - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", + "ElasticGpuType": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The ID of the instance. If you are detaching a Multi-Attach enabled volume, you must specify an instance ID.

" + "aws.protocols#ec2QueryName": "ElasticGpuType", + "smithy.api#documentation": "

The type of Elastic Graphics accelerator.

", + "smithy.api#xmlName": "elasticGpuType" } }, - "VolumeId": { - "target": "com.amazonaws.ec2#VolumeId", + "ElasticGpuHealth": { + "target": "com.amazonaws.ec2#ElasticGpuHealth", + "traits": { + "aws.protocols#ec2QueryName": "ElasticGpuHealth", + "smithy.api#documentation": "

The status of the Elastic Graphics accelerator.

", + "smithy.api#xmlName": "elasticGpuHealth" + } + }, + "ElasticGpuState": { + "target": "com.amazonaws.ec2#ElasticGpuState", + "traits": { + "aws.protocols#ec2QueryName": "ElasticGpuState", + "smithy.api#documentation": "

The state of the Elastic Graphics accelerator.

", + "smithy.api#xmlName": "elasticGpuState" + } + }, + "InstanceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the volume.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#documentation": "

The ID of the instance to which the Elastic Graphics accelerator is attached.

", + "smithy.api#xmlName": "instanceId" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags assigned to the Elastic Graphics accelerator.

", + "smithy.api#xmlName": "tagSet" } } - } - }, - "com.amazonaws.ec2#DetachVpnGateway": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DetachVpnGatewayRequest" - }, - "output": { - "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Detaches a virtual private gateway from a VPC. You do this if you're planning to turn\n off the VPC and not use it anymore. You can confirm a virtual private gateway has been\n completely detached from a VPC by describing the virtual private gateway (any\n attachments to the virtual private gateway are also described).

\n

You must wait for the attachment's state to switch to detached before you\n can delete the VPC or attach a different VPC to the virtual private gateway.

" + "smithy.api#documentation": "

Describes an Elastic Graphics accelerator.

" } }, - "com.amazonaws.ec2#DetachVpnGatewayRequest": { + "com.amazonaws.ec2#ElasticInferenceAccelerator": { "type": "structure", "members": { - "VpcId": { - "target": "com.amazonaws.ec2#VpcId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the VPC.

", - "smithy.api#required": {} - } - }, - "VpnGatewayId": { - "target": "com.amazonaws.ec2#VpnGatewayId", + "Type": { + "target": "com.amazonaws.ec2#String", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the virtual private gateway.

", + "smithy.api#documentation": "

\n \tThe type of elastic inference accelerator. The possible values are eia1.medium, eia1.large, eia1.xlarge, eia2.medium, eia2.large, and eia2.xlarge.\n

", "smithy.api#required": {} } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Count": { + "target": "com.amazonaws.ec2#ElasticInferenceAcceleratorCount", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#default": 0, + "smithy.api#documentation": "

\n The number of elastic inference accelerators to attach to the instance. \n

\n

Default: 1

" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for DetachVpnGateway.

" + "smithy.api#documentation": "

\n Describes an elastic inference accelerator. \n

" } }, - "com.amazonaws.ec2#DeviceType": { - "type": "enum", + "com.amazonaws.ec2#ElasticInferenceAcceleratorAssociation": { + "type": "structure", "members": { - "ebs": { - "target": "smithy.api#Unit", + "ElasticInferenceAcceleratorArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "ebs" + "aws.protocols#ec2QueryName": "ElasticInferenceAcceleratorArn", + "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the elastic inference accelerator. \n

", + "smithy.api#xmlName": "elasticInferenceAcceleratorArn" } }, - "instance_store": { - "target": "smithy.api#Unit", + "ElasticInferenceAcceleratorAssociationId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "instance-store" + "aws.protocols#ec2QueryName": "ElasticInferenceAcceleratorAssociationId", + "smithy.api#documentation": "

\n The ID of the association. \n

", + "smithy.api#xmlName": "elasticInferenceAcceleratorAssociationId" } - } - } - }, - "com.amazonaws.ec2#DhcpConfiguration": { - "type": "structure", - "members": { - "Key": { + }, + "ElasticInferenceAcceleratorAssociationState": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Key", - "smithy.api#documentation": "

The name of a DHCP option.

", - "smithy.api#xmlName": "key" + "aws.protocols#ec2QueryName": "ElasticInferenceAcceleratorAssociationState", + "smithy.api#documentation": "

\n The state of the elastic inference accelerator.\n

", + "smithy.api#xmlName": "elasticInferenceAcceleratorAssociationState" } }, - "Values": { - "target": "com.amazonaws.ec2#DhcpConfigurationValueList", + "ElasticInferenceAcceleratorAssociationTime": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "ValueSet", - "smithy.api#documentation": "

One or more values for the DHCP option.

", - "smithy.api#xmlName": "valueSet" + "aws.protocols#ec2QueryName": "ElasticInferenceAcceleratorAssociationTime", + "smithy.api#documentation": "

\n The time at which the elastic inference accelerator is associated with an instance.\n

", + "smithy.api#xmlName": "elasticInferenceAcceleratorAssociationTime" } } }, "traits": { - "smithy.api#documentation": "

Describes a DHCP configuration option.

" + "smithy.api#documentation": "

\n Describes the association between an instance and an elastic inference accelerator. \n

" } }, - "com.amazonaws.ec2#DhcpConfigurationList": { + "com.amazonaws.ec2#ElasticInferenceAcceleratorAssociationList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#DhcpConfiguration", + "target": "com.amazonaws.ec2#ElasticInferenceAcceleratorAssociation", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#DhcpConfigurationValueList": { + "com.amazonaws.ec2#ElasticInferenceAcceleratorCount": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 1 + } + } + }, + "com.amazonaws.ec2#ElasticInferenceAccelerators": { "type": "list", "member": { - "target": "com.amazonaws.ec2#AttributeValue", + "target": "com.amazonaws.ec2#ElasticInferenceAccelerator", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#DhcpOptions": { + "com.amazonaws.ec2#ElasticIpAssociationId": { + "type": "string" + }, + "com.amazonaws.ec2#EnaSrdSpecification": { "type": "structure", "members": { - "DhcpConfigurations": { - "target": "com.amazonaws.ec2#DhcpConfigurationList", - "traits": { - "aws.protocols#ec2QueryName": "DhcpConfigurationSet", - "smithy.api#documentation": "

One or more DHCP options in the set.

", - "smithy.api#xmlName": "dhcpConfigurationSet" - } - }, - "DhcpOptionsId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "DhcpOptionsId", - "smithy.api#documentation": "

The ID of the set of DHCP options.

", - "smithy.api#xmlName": "dhcpOptionsId" - } - }, - "OwnerId": { - "target": "com.amazonaws.ec2#String", + "EnaSrdEnabled": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the DHCP options set.

", - "smithy.api#xmlName": "ownerId" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether ENA Express is enabled for the network interface.

" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "EnaSrdUdpSpecification": { + "target": "com.amazonaws.ec2#EnaSrdUdpSpecification", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags assigned to the DHCP options set.

", - "smithy.api#xmlName": "tagSet" + "smithy.api#documentation": "

Configures ENA Express for UDP network traffic.

" } } }, "traits": { - "smithy.api#documentation": "

Describes a set of DHCP options.

" - } - }, - "com.amazonaws.ec2#DhcpOptionsId": { - "type": "string" - }, - "com.amazonaws.ec2#DhcpOptionsIdStringList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#DhcpOptionsId", - "traits": { - "smithy.api#xmlName": "DhcpOptionsId" - } + "smithy.api#documentation": "

ENA Express uses Amazon Web Services Scalable Reliable Datagram (SRD) technology to increase the \n\t\t\tmaximum bandwidth used per stream and minimize tail latency of network traffic between EC2 instances. \n\t\t\tWith ENA Express, you can communicate between two EC2 instances in the same subnet within the same \n\t\t\taccount, or in different accounts. Both sending and receiving instances must have ENA Express enabled.

\n

To improve the reliability of network packet delivery, ENA Express reorders network packets on the \n\t\t\treceiving end by default. However, some UDP-based applications are designed to handle network packets \n\t\t\tthat are out of order to reduce the overhead for packet delivery at the network layer. When ENA Express \n\t\t\tis enabled, you can specify whether UDP network traffic uses it.

" } }, - "com.amazonaws.ec2#DhcpOptionsList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#DhcpOptions", - "traits": { - "smithy.api#xmlName": "item" - } - } + "com.amazonaws.ec2#EnaSrdSupported": { + "type": "boolean" }, - "com.amazonaws.ec2#DirectoryServiceAuthentication": { + "com.amazonaws.ec2#EnaSrdUdpSpecification": { "type": "structure", "members": { - "DirectoryId": { - "target": "com.amazonaws.ec2#String", + "EnaSrdUdpEnabled": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DirectoryId", - "smithy.api#documentation": "

The ID of the Active Directory used for authentication.

", - "smithy.api#xmlName": "directoryId" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether UDP traffic uses ENA Express. To specify this setting, you must first enable ENA Express.

" } } }, "traits": { - "smithy.api#documentation": "

Describes an Active Directory.

" + "smithy.api#documentation": "

ENA Express is compatible with both TCP and UDP transport protocols. When it’s enabled, TCP traffic \n\t\t\tautomatically uses it. However, some UDP-based applications are designed to handle network packets that are \n\t\t\tout of order, without a need for retransmission, such as live video broadcasting or other near-real-time \n\t\t\tapplications. For UDP traffic, you can specify whether to use ENA Express, based on your application \n\t\t\tenvironment needs.

" } }, - "com.amazonaws.ec2#DirectoryServiceAuthenticationRequest": { - "type": "structure", + "com.amazonaws.ec2#EnaSupport": { + "type": "enum", "members": { - "DirectoryId": { - "target": "com.amazonaws.ec2#String", + "unsupported": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The ID of the Active Directory to be used for authentication.

" + "smithy.api#enumValue": "unsupported" + } + }, + "supported": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "supported" + } + }, + "required": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "required" } } - }, - "traits": { - "smithy.api#documentation": "

Describes the Active Directory to be used for client authentication.

" } }, - "com.amazonaws.ec2#DisableAddressTransfer": { + "com.amazonaws.ec2#EnableAddressTransfer": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DisableAddressTransferRequest" + "target": "com.amazonaws.ec2#EnableAddressTransferRequest" }, "output": { - "target": "com.amazonaws.ec2#DisableAddressTransferResult" + "target": "com.amazonaws.ec2#EnableAddressTransferResult" }, "traits": { - "smithy.api#documentation": "

Disables Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon Virtual Private Cloud User Guide.

" + "smithy.api#documentation": "

Enables Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon Virtual Private Cloud User Guide.

" } }, - "com.amazonaws.ec2#DisableAddressTransferRequest": { + "com.amazonaws.ec2#EnableAddressTransferRequest": { "type": "structure", "members": { "AllocationId": { @@ -36516,6 +41295,14 @@ "smithy.api#required": {} } }, + "TransferAccountId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the account that you want to transfer the Elastic IP address to.

", + "smithy.api#required": {} + } + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -36524,9 +41311,12 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DisableAddressTransferResult": { + "com.amazonaws.ec2#EnableAddressTransferResult": { "type": "structure", "members": { "AddressTransfer": { @@ -36539,19 +41329,86 @@ } } }, - "com.amazonaws.ec2#DisableEbsEncryptionByDefault": { + "com.amazonaws.ec2#EnableAwsNetworkPerformanceMetricSubscription": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DisableEbsEncryptionByDefaultRequest" + "target": "com.amazonaws.ec2#EnableAwsNetworkPerformanceMetricSubscriptionRequest" }, "output": { - "target": "com.amazonaws.ec2#DisableEbsEncryptionByDefaultResult" + "target": "com.amazonaws.ec2#EnableAwsNetworkPerformanceMetricSubscriptionResult" }, "traits": { - "smithy.api#documentation": "

Disables EBS encryption by default for your account in the current Region.

\n

After you disable encryption by default, you can still create encrypted volumes by \n enabling encryption when you create each volume.

\n

Disabling encryption by default does not change the encryption status of your\n existing volumes.

\n

For more information, see Amazon EBS encryption in the\n Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Enables Infrastructure Performance subscriptions.

" } }, - "com.amazonaws.ec2#DisableEbsEncryptionByDefaultRequest": { + "com.amazonaws.ec2#EnableAwsNetworkPerformanceMetricSubscriptionRequest": { + "type": "structure", + "members": { + "Source": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The source Region or Availability Zone that the metric subscription is enabled for. For example, us-east-1.

" + } + }, + "Destination": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The target Region or Availability Zone that the metric subscription is enabled for. For example, eu-west-1.

" + } + }, + "Metric": { + "target": "com.amazonaws.ec2#MetricType", + "traits": { + "smithy.api#documentation": "

The metric used for the enabled subscription.

" + } + }, + "Statistic": { + "target": "com.amazonaws.ec2#StatisticType", + "traits": { + "smithy.api#documentation": "

The statistic used for the enabled subscription.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#EnableAwsNetworkPerformanceMetricSubscriptionResult": { + "type": "structure", + "members": { + "Output": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "Output", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the subscribe action was successful.

", + "smithy.api#xmlName": "output" + } + } + } + }, + "com.amazonaws.ec2#EnableEbsEncryptionByDefault": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#EnableEbsEncryptionByDefaultRequest" + }, + "output": { + "target": "com.amazonaws.ec2#EnableEbsEncryptionByDefaultResult" + }, + "traits": { + "smithy.api#documentation": "

Enables EBS encryption by default for your account in the current Region.

\n

After you enable encryption by default, the EBS volumes that you create are\n \talways encrypted, either using the default KMS key or the KMS key that you specified\n when you created each volume. For more information, see Amazon EBS encryption in the\n Amazon Elastic Compute Cloud User Guide.

\n

You can specify the default KMS key for encryption by default using ModifyEbsDefaultKmsKeyId\n or ResetEbsDefaultKmsKeyId.

\n

Enabling encryption by default has no effect on the encryption status of your \n existing volumes.

\n

After you enable encryption by default, you can no longer launch instances\n using instance types that do not support encryption. For more information, see Supported\n instance types.

" + } + }, + "com.amazonaws.ec2#EnableEbsEncryptionByDefaultRequest": { "type": "structure", "members": { "DryRun": { @@ -36562,9 +41419,12 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DisableEbsEncryptionByDefaultResult": { + "com.amazonaws.ec2#EnableEbsEncryptionByDefaultResult": { "type": "structure", "members": { "EbsEncryptionByDefault": { @@ -36579,35 +41439,53 @@ } } }, - "com.amazonaws.ec2#DisableFastLaunch": { + "com.amazonaws.ec2#EnableFastLaunch": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DisableFastLaunchRequest" + "target": "com.amazonaws.ec2#EnableFastLaunchRequest" }, "output": { - "target": "com.amazonaws.ec2#DisableFastLaunchResult" + "target": "com.amazonaws.ec2#EnableFastLaunchResult" }, "traits": { - "smithy.api#documentation": "

Discontinue faster launching for a Windows AMI, and clean up existing pre-provisioned snapshots. \n\t\t\tWhen you disable faster launching, the AMI uses the standard launch process for each \n\t\t\tinstance. All pre-provisioned snapshots must be removed before you can enable faster launching again.

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

To change these settings, you must own the AMI.

\n\t\t
" + "smithy.api#documentation": "

When you enable faster launching for a Windows AMI, images are pre-provisioned, \n\t\t\tusing snapshots to launch instances up to 65% faster. To create the optimized Windows \n\t\t\timage, Amazon EC2 launches an instance and runs through Sysprep steps, rebooting as required. \n\t\t\tThen it creates a set of reserved snapshots that are used for subsequent launches. The \n\t\t\treserved snapshots are automatically replenished as they are used, depending on your \n\t\t\tsettings for launch frequency.

\n \n

To change these settings, you must own the AMI.

\n
" } }, - "com.amazonaws.ec2#DisableFastLaunchRequest": { + "com.amazonaws.ec2#EnableFastLaunchRequest": { "type": "structure", "members": { "ImageId": { "target": "com.amazonaws.ec2#ImageId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the image for which you’re turning off faster launching, and removing pre-provisioned snapshots.

", + "smithy.api#documentation": "

The ID of the image for which you’re enabling faster launching.

", "smithy.api#required": {} } }, - "Force": { - "target": "com.amazonaws.ec2#Boolean", + "ResourceType": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The type of resource to use for pre-provisioning the Windows AMI for faster launching. \n\t\t\tSupported values include: snapshot, which is the default value.

" + } + }, + "SnapshotConfiguration": { + "target": "com.amazonaws.ec2#FastLaunchSnapshotConfigurationRequest", + "traits": { + "smithy.api#documentation": "

Configuration settings for creating and managing the snapshots that are used for \n\t\t\tpre-provisioning the Windows AMI for faster launching. The associated ResourceType \n\t\t\tmust be snapshot.

" + } + }, + "LaunchTemplate": { + "target": "com.amazonaws.ec2#FastLaunchLaunchTemplateSpecificationRequest", + "traits": { + "smithy.api#documentation": "

The launch template to use when launching Windows instances from pre-provisioned \n\t\t\tsnapshots. Launch template parameters can include either the name or ID of the launch \n\t\t\ttemplate, but not both.

" + } + }, + "MaxParallelLaunches": { + "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Forces the image settings to turn off faster launching for your Windows AMI. This parameter overrides \n\t\t\tany errors that are encountered while cleaning up resources in your account.

" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of parallel instances to launch for creating resources. Value must be 6 or greater.

" } }, "DryRun": { @@ -36618,16 +41496,19 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DisableFastLaunchResult": { + "com.amazonaws.ec2#EnableFastLaunchResult": { "type": "structure", "members": { "ImageId": { "target": "com.amazonaws.ec2#ImageId", "traits": { "aws.protocols#ec2QueryName": "ImageId", - "smithy.api#documentation": "

The ID of the image for which faster-launching has been turned off.

", + "smithy.api#documentation": "

The image ID that identifies the Windows AMI for which faster launching was enabled.

", "smithy.api#xmlName": "imageId" } }, @@ -36635,7 +41516,7 @@ "target": "com.amazonaws.ec2#FastLaunchResourceType", "traits": { "aws.protocols#ec2QueryName": "ResourceType", - "smithy.api#documentation": "

The pre-provisioning resource type that must be cleaned after turning off faster launching \n\t\t\tfor the Windows AMI. Supported values include: snapshot.

", + "smithy.api#documentation": "

The type of resource that was defined for pre-provisioning the Windows AMI for faster launching.

", "smithy.api#xmlName": "resourceType" } }, @@ -36643,7 +41524,7 @@ "target": "com.amazonaws.ec2#FastLaunchSnapshotConfigurationResponse", "traits": { "aws.protocols#ec2QueryName": "SnapshotConfiguration", - "smithy.api#documentation": "

Parameters that were used for faster launching for the Windows AMI before \n\t\t\tfaster launching was turned off. This informs the clean-up process.

", + "smithy.api#documentation": "

The configuration settings that were defined for creating and managing the pre-provisioned snapshots \n\t\t\tfor faster launching of the Windows AMI. This property is returned when the associated \n\t\t\tresourceType is snapshot.

", "smithy.api#xmlName": "snapshotConfiguration" } }, @@ -36651,7 +41532,7 @@ "target": "com.amazonaws.ec2#FastLaunchLaunchTemplateSpecificationResponse", "traits": { "aws.protocols#ec2QueryName": "LaunchTemplate", - "smithy.api#documentation": "

The launch template that was used to launch Windows instances from pre-provisioned snapshots.

", + "smithy.api#documentation": "

The launch template that is used when launching Windows instances from pre-provisioned snapshots.

", "smithy.api#xmlName": "launchTemplate" } }, @@ -36669,7 +41550,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The owner of the Windows AMI for which faster launching was turned off.

", + "smithy.api#documentation": "

The owner ID for the Windows AMI for which faster launching was enabled.

", "smithy.api#xmlName": "ownerId" } }, @@ -36699,7 +41580,7 @@ } } }, - "com.amazonaws.ec2#DisableFastSnapshotRestoreErrorItem": { + "com.amazonaws.ec2#EnableFastSnapshotRestoreErrorItem": { "type": "structure", "members": { "SnapshotId": { @@ -36711,7 +41592,7 @@ } }, "FastSnapshotRestoreStateErrors": { - "target": "com.amazonaws.ec2#DisableFastSnapshotRestoreStateErrorSet", + "target": "com.amazonaws.ec2#EnableFastSnapshotRestoreStateErrorSet", "traits": { "aws.protocols#ec2QueryName": "FastSnapshotRestoreStateErrorSet", "smithy.api#documentation": "

The errors.

", @@ -36720,19 +41601,19 @@ } }, "traits": { - "smithy.api#documentation": "

Contains information about the errors that occurred when disabling fast snapshot restores.

" + "smithy.api#documentation": "

Contains information about the errors that occurred when enabling fast snapshot restores.

" } }, - "com.amazonaws.ec2#DisableFastSnapshotRestoreErrorSet": { + "com.amazonaws.ec2#EnableFastSnapshotRestoreErrorSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#DisableFastSnapshotRestoreErrorItem", + "target": "com.amazonaws.ec2#EnableFastSnapshotRestoreErrorItem", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#DisableFastSnapshotRestoreStateError": { + "com.amazonaws.ec2#EnableFastSnapshotRestoreStateError": { "type": "structure", "members": { "Code": { @@ -36753,10 +41634,10 @@ } }, "traits": { - "smithy.api#documentation": "

Describes an error that occurred when disabling fast snapshot restores.

" + "smithy.api#documentation": "

Describes an error that occurred when enabling fast snapshot restores.

" } }, - "com.amazonaws.ec2#DisableFastSnapshotRestoreStateErrorItem": { + "com.amazonaws.ec2#EnableFastSnapshotRestoreStateErrorItem": { "type": "structure", "members": { "AvailabilityZone": { @@ -36768,7 +41649,7 @@ } }, "Error": { - "target": "com.amazonaws.ec2#DisableFastSnapshotRestoreStateError", + "target": "com.amazonaws.ec2#EnableFastSnapshotRestoreStateError", "traits": { "aws.protocols#ec2QueryName": "Error", "smithy.api#documentation": "

The error.

", @@ -36777,19 +41658,19 @@ } }, "traits": { - "smithy.api#documentation": "

Contains information about an error that occurred when disabling fast snapshot restores.

" + "smithy.api#documentation": "

Contains information about an error that occurred when enabling fast snapshot restores.

" } }, - "com.amazonaws.ec2#DisableFastSnapshotRestoreStateErrorSet": { + "com.amazonaws.ec2#EnableFastSnapshotRestoreStateErrorSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#DisableFastSnapshotRestoreStateErrorItem", + "target": "com.amazonaws.ec2#EnableFastSnapshotRestoreStateErrorItem", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#DisableFastSnapshotRestoreSuccessItem": { + "com.amazonaws.ec2#EnableFastSnapshotRestoreSuccessItem": { "type": "structure", "members": { "SnapshotId": { @@ -36812,7 +41693,7 @@ "target": "com.amazonaws.ec2#FastSnapshotRestoreStateCode", "traits": { "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of fast snapshot restores for the snapshot.

", + "smithy.api#documentation": "

The state of fast snapshot restores.

", "smithy.api#xmlName": "state" } }, @@ -36882,31 +41763,31 @@ } }, "traits": { - "smithy.api#documentation": "

Describes fast snapshot restores that were successfully disabled.

" + "smithy.api#documentation": "

Describes fast snapshot restores that were successfully enabled.

" } }, - "com.amazonaws.ec2#DisableFastSnapshotRestoreSuccessSet": { + "com.amazonaws.ec2#EnableFastSnapshotRestoreSuccessSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#DisableFastSnapshotRestoreSuccessItem", + "target": "com.amazonaws.ec2#EnableFastSnapshotRestoreSuccessItem", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#DisableFastSnapshotRestores": { + "com.amazonaws.ec2#EnableFastSnapshotRestores": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DisableFastSnapshotRestoresRequest" + "target": "com.amazonaws.ec2#EnableFastSnapshotRestoresRequest" }, "output": { - "target": "com.amazonaws.ec2#DisableFastSnapshotRestoresResult" + "target": "com.amazonaws.ec2#EnableFastSnapshotRestoresResult" }, "traits": { - "smithy.api#documentation": "

Disables fast snapshot restores for the specified snapshots in the specified Availability Zones.

" + "smithy.api#documentation": "

Enables fast snapshot restores for the specified snapshots in the specified Availability Zones.

\n

You get the full benefit of fast snapshot restores after they enter the enabled state.\n To get the current state of fast snapshot restores, use DescribeFastSnapshotRestores.\n To disable fast snapshot restores, use DisableFastSnapshotRestores.

\n

For more information, see Amazon EBS fast snapshot\n restore in the Amazon Elastic Compute Cloud User Guide.

" } }, - "com.amazonaws.ec2#DisableFastSnapshotRestoresRequest": { + "com.amazonaws.ec2#EnableFastSnapshotRestoresRequest": { "type": "structure", "members": { "AvailabilityZones": { @@ -36922,7 +41803,7 @@ "target": "com.amazonaws.ec2#SnapshotIdStringList", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IDs of one or more snapshots. For example, snap-1234567890abcdef0.

", + "smithy.api#documentation": "

The IDs of one or more snapshots. For example, snap-1234567890abcdef0. You can specify\n a snapshot that was shared with you from another Amazon Web Services account.

", "smithy.api#required": {}, "smithy.api#xmlName": "SourceSnapshotId" } @@ -36935,42 +41816,45 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DisableFastSnapshotRestoresResult": { + "com.amazonaws.ec2#EnableFastSnapshotRestoresResult": { "type": "structure", "members": { "Successful": { - "target": "com.amazonaws.ec2#DisableFastSnapshotRestoreSuccessSet", + "target": "com.amazonaws.ec2#EnableFastSnapshotRestoreSuccessSet", "traits": { "aws.protocols#ec2QueryName": "Successful", - "smithy.api#documentation": "

Information about the snapshots for which fast snapshot restores were successfully disabled.

", + "smithy.api#documentation": "

Information about the snapshots for which fast snapshot restores were successfully enabled.

", "smithy.api#xmlName": "successful" } }, "Unsuccessful": { - "target": "com.amazonaws.ec2#DisableFastSnapshotRestoreErrorSet", + "target": "com.amazonaws.ec2#EnableFastSnapshotRestoreErrorSet", "traits": { "aws.protocols#ec2QueryName": "Unsuccessful", - "smithy.api#documentation": "

Information about the snapshots for which fast snapshot restores could not be disabled.

", + "smithy.api#documentation": "

Information about the snapshots for which fast snapshot restores could not be enabled.

", "smithy.api#xmlName": "unsuccessful" } } } }, - "com.amazonaws.ec2#DisableImageDeprecation": { + "com.amazonaws.ec2#EnableImageDeprecation": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DisableImageDeprecationRequest" + "target": "com.amazonaws.ec2#EnableImageDeprecationRequest" }, "output": { - "target": "com.amazonaws.ec2#DisableImageDeprecationResult" + "target": "com.amazonaws.ec2#EnableImageDeprecationResult" }, "traits": { - "smithy.api#documentation": "

Cancels the deprecation of the specified AMI.

\n

For more information, see Deprecate an AMI in the\n Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Enables deprecation of the specified AMI at the specified date and time.

\n

For more information, see Deprecate an AMI in the Amazon EC2 User Guide.

" } }, - "com.amazonaws.ec2#DisableImageDeprecationRequest": { + "com.amazonaws.ec2#EnableImageDeprecationRequest": { "type": "structure", "members": { "ImageId": { @@ -36981,6 +41865,14 @@ "smithy.api#required": {} } }, + "DeprecateAt": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The date and time to deprecate the AMI, in UTC, in the following format:\n YYYY-MM-DDTHH:MM:SSZ.\n If you specify a value for seconds, Amazon EC2 rounds the seconds to the\n nearest minute.

\n

You can’t specify a date in the past. The upper limit for DeprecateAt is 10\n years from now, except for public AMIs, where the upper limit is 2 years from the creation date.

", + "smithy.api#required": {} + } + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -36989,9 +41881,12 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DisableImageDeprecationResult": { + "com.amazonaws.ec2#EnableImageDeprecationResult": { "type": "structure", "members": { "Return": { @@ -37006,19 +41901,19 @@ } } }, - "com.amazonaws.ec2#DisableIpamOrganizationAdminAccount": { + "com.amazonaws.ec2#EnableIpamOrganizationAdminAccount": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DisableIpamOrganizationAdminAccountRequest" + "target": "com.amazonaws.ec2#EnableIpamOrganizationAdminAccountRequest" }, "output": { - "target": "com.amazonaws.ec2#DisableIpamOrganizationAdminAccountResult" + "target": "com.amazonaws.ec2#EnableIpamOrganizationAdminAccountResult" }, "traits": { - "smithy.api#documentation": "

Disable the IPAM account. For more information, see Enable integration with Organizations in the Amazon VPC IPAM User Guide.\n

" + "smithy.api#documentation": "

Enable an Organizations member account as the IPAM admin account. You cannot select the Organizations management account as the IPAM admin account. For more information, see Enable integration with Organizations in the Amazon VPC IPAM User Guide.\n

" } }, - "com.amazonaws.ec2#DisableIpamOrganizationAdminAccountRequest": { + "com.amazonaws.ec2#EnableIpamOrganizationAdminAccountRequest": { "type": "structure", "members": { "DryRun": { @@ -37033,13 +41928,16 @@ "target": "com.amazonaws.ec2#String", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The Organizations member account ID that you want to disable as IPAM account.

", + "smithy.api#documentation": "

The Organizations member account ID that you want to enable as the IPAM account.

", "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DisableIpamOrganizationAdminAccountResult": { + "com.amazonaws.ec2#EnableIpamOrganizationAdminAccountResult": { "type": "structure", "members": { "Success": { @@ -37048,25 +41946,68 @@ "aws.protocols#ec2QueryName": "Success", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

The result of disabling the IPAM account.

", + "smithy.api#documentation": "

The result of enabling the IPAM account.

", "smithy.api#xmlName": "success" } } } }, - "com.amazonaws.ec2#DisableSerialConsoleAccess": { + "com.amazonaws.ec2#EnableReachabilityAnalyzerOrganizationSharing": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DisableSerialConsoleAccessRequest" + "target": "com.amazonaws.ec2#EnableReachabilityAnalyzerOrganizationSharingRequest" }, "output": { - "target": "com.amazonaws.ec2#DisableSerialConsoleAccessResult" + "target": "com.amazonaws.ec2#EnableReachabilityAnalyzerOrganizationSharingResult" }, "traits": { - "smithy.api#documentation": "

Disables access to the EC2 serial console of all instances for your account. By default,\n\t\t\taccess to the EC2 serial console is disabled for your account. For more information, see\n\t\t\t\tManage account access to the EC2 serial console in the Amazon EC2\n\t\t\t\tUser Guide.

" + "smithy.api#documentation": "

Establishes a trust relationship between Reachability Analyzer and Organizations.\n This operation must be performed by the management account for the organization.

\n

After you establish a trust relationship, a user in the management account or \n a delegated administrator account can run a cross-account analysis using resources \n from the member accounts.

" } }, - "com.amazonaws.ec2#DisableSerialConsoleAccessRequest": { + "com.amazonaws.ec2#EnableReachabilityAnalyzerOrganizationSharingRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#EnableReachabilityAnalyzerOrganizationSharingResult": { + "type": "structure", + "members": { + "ReturnValue": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "ReturnValue", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, returns an error.

", + "smithy.api#xmlName": "returnValue" + } + } + } + }, + "com.amazonaws.ec2#EnableSerialConsoleAccess": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#EnableSerialConsoleAccessRequest" + }, + "output": { + "target": "com.amazonaws.ec2#EnableSerialConsoleAccessResult" + }, + "traits": { + "smithy.api#documentation": "

Enables access to the EC2 serial console of all instances for your account. By default,\n\t\t\taccess to the EC2 serial console is disabled for your account. For more information, see Manage account access to the EC2 serial console\n\t\t\tin the Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#EnableSerialConsoleAccessRequest": { "type": "structure", "members": { "DryRun": { @@ -37077,9 +42018,12 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DisableSerialConsoleAccessResult": { + "com.amazonaws.ec2#EnableSerialConsoleAccessResult": { "type": "structure", "members": { "SerialConsoleAccessEnabled": { @@ -37094,19 +42038,19 @@ } } }, - "com.amazonaws.ec2#DisableTransitGatewayRouteTablePropagation": { + "com.amazonaws.ec2#EnableTransitGatewayRouteTablePropagation": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DisableTransitGatewayRouteTablePropagationRequest" + "target": "com.amazonaws.ec2#EnableTransitGatewayRouteTablePropagationRequest" }, "output": { - "target": "com.amazonaws.ec2#DisableTransitGatewayRouteTablePropagationResult" + "target": "com.amazonaws.ec2#EnableTransitGatewayRouteTablePropagationResult" }, "traits": { - "smithy.api#documentation": "

Disables the specified resource attachment from propagating routes to the specified\n propagation route table.

" + "smithy.api#documentation": "

Enables the specified attachment to propagate routes to the specified\n propagation route table.

" } }, - "com.amazonaws.ec2#DisableTransitGatewayRouteTablePropagationRequest": { + "com.amazonaws.ec2#EnableTransitGatewayRouteTablePropagationRequest": { "type": "structure", "members": { "TransitGatewayRouteTableId": { @@ -37134,12 +42078,15 @@ "TransitGatewayRouteTableAnnouncementId": { "target": "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementId", "traits": { - "smithy.api#documentation": "

The ID of the route table announcement.

" + "smithy.api#documentation": "

The ID of the transit gateway route table announcement.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DisableTransitGatewayRouteTablePropagationResult": { + "com.amazonaws.ec2#EnableTransitGatewayRouteTablePropagationResult": { "type": "structure", "members": { "Propagation": { @@ -37152,26 +42099,26 @@ } } }, - "com.amazonaws.ec2#DisableVgwRoutePropagation": { + "com.amazonaws.ec2#EnableVgwRoutePropagation": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DisableVgwRoutePropagationRequest" + "target": "com.amazonaws.ec2#EnableVgwRoutePropagationRequest" }, "output": { "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Disables a virtual private gateway (VGW) from propagating routes to a specified route\n table of a VPC.

" + "smithy.api#documentation": "

Enables a virtual private gateway (VGW) to propagate routes to the specified route\n table of a VPC.

" } }, - "com.amazonaws.ec2#DisableVgwRoutePropagationRequest": { + "com.amazonaws.ec2#EnableVgwRoutePropagationRequest": { "type": "structure", "members": { "GatewayId": { "target": "com.amazonaws.ec2#VpnGatewayId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the virtual private gateway.

", + "smithy.api#documentation": "

The ID of the virtual private gateway that is attached to a VPC. The virtual private\n gateway must be attached to the same VPC that the routing tables are associated with.\n

", "smithy.api#required": {} } }, @@ -37179,7 +42126,7 @@ "target": "com.amazonaws.ec2#RouteTableId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the route table.

", + "smithy.api#documentation": "

The ID of the route table. The routing table must be associated with the same VPC that\n the virtual private gateway is attached to.

", "smithy.api#required": {} } }, @@ -37193,34 +42140,75 @@ } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for DisableVgwRoutePropagation.

" + "smithy.api#documentation": "

Contains the parameters for EnableVgwRoutePropagation.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DisableVpcClassicLink": { + "com.amazonaws.ec2#EnableVolumeIO": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DisableVpcClassicLinkRequest" + "target": "com.amazonaws.ec2#EnableVolumeIORequest" }, "output": { - "target": "com.amazonaws.ec2#DisableVpcClassicLinkResult" + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC that has EC2-Classic instances linked to it.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" + "smithy.api#documentation": "

Enables I/O operations for a volume that had I/O operations disabled because the data on\n the volume was potentially inconsistent.

" } }, - "com.amazonaws.ec2#DisableVpcClassicLinkDnsSupport": { + "com.amazonaws.ec2#EnableVolumeIORequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + }, + "VolumeId": { + "target": "com.amazonaws.ec2#VolumeId", + "traits": { + "aws.protocols#ec2QueryName": "VolumeId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the volume.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "volumeId" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#EnableVpcClassicLink": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#DisableVpcClassicLinkDnsSupportRequest" + "target": "com.amazonaws.ec2#EnableVpcClassicLinkRequest" }, "output": { - "target": "com.amazonaws.ec2#DisableVpcClassicLinkDnsSupportResult" + "target": "com.amazonaws.ec2#EnableVpcClassicLinkResult" }, "traits": { - "smithy.api#documentation": "

Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames resolve to\n\t\t\tpublic IP addresses when addressed between a linked EC2-Classic instance and instances\n\t\t\tin the VPC to which it's linked. For more information, see ClassicLink in the\n\t\t\t\tAmazon Elastic Compute Cloud User Guide.

\n

You must specify a VPC ID in the request.

\n \n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" + "smithy.api#documentation": "\n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
\n

Enables a VPC for ClassicLink. You can then link EC2-Classic instances to your\n\t\t\tClassicLink-enabled VPC to allow communication over private IP addresses. You cannot\n\t\t\tenable your VPC for ClassicLink if any of your VPC route tables have existing routes for\n\t\t\taddress ranges within the 10.0.0.0/8 IP address range, excluding local\n\t\t\troutes for VPCs in the 10.0.0.0/16 and 10.1.0.0/16 IP address\n\t\t\tranges. For more information, see ClassicLink in the\n\t\t\t\tAmazon Elastic Compute Cloud User Guide.

" } }, - "com.amazonaws.ec2#DisableVpcClassicLinkDnsSupportRequest": { + "com.amazonaws.ec2#EnableVpcClassicLinkDnsSupport": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#EnableVpcClassicLinkDnsSupportRequest" + }, + "output": { + "target": "com.amazonaws.ec2#EnableVpcClassicLinkDnsSupportResult" + }, + "traits": { + "smithy.api#documentation": "\n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
\n

Enables a VPC to support DNS hostname resolution for ClassicLink. If enabled, the DNS\n\t\t\thostname of a linked EC2-Classic instance resolves to its private IP address when\n\t\t\taddressed from an instance in the VPC to which it's linked. Similarly, the DNS hostname\n\t\t\tof an instance in a VPC resolves to its private IP address when addressed from a linked\n\t\t\tEC2-Classic instance. For more information, see ClassicLink in the\n\t\t\t\tAmazon Elastic Compute Cloud User Guide.

\n

You must specify a VPC ID in the request.

" + } + }, + "com.amazonaws.ec2#EnableVpcClassicLinkDnsSupportRequest": { "type": "structure", "members": { "VpcId": { @@ -37230,9 +42218,12 @@ "smithy.api#xmlName": "VpcId" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DisableVpcClassicLinkDnsSupportResult": { + "com.amazonaws.ec2#EnableVpcClassicLinkDnsSupportResult": { "type": "structure", "members": { "Return": { @@ -37247,7 +42238,7 @@ } } }, - "com.amazonaws.ec2#DisableVpcClassicLinkRequest": { + "com.amazonaws.ec2#EnableVpcClassicLinkRequest": { "type": "structure", "members": { "DryRun": { @@ -37270,9 +42261,12 @@ "smithy.api#xmlName": "vpcId" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DisableVpcClassicLinkResult": { + "com.amazonaws.ec2#EnableVpcClassicLinkResult": { "type": "structure", "members": { "Return": { @@ -37287,3981 +42281,3356 @@ } } }, - "com.amazonaws.ec2#DisassociateAddress": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DisassociateAddressRequest" - }, - "output": { - "target": "smithy.api#Unit" - }, - "traits": { - "smithy.api#documentation": "

Disassociates an Elastic IP address from the instance or network interface it's associated with.

\n\t\t\t

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more\n\t\t\tinformation, see Elastic IP\n\t\t\t\tAddresses in the Amazon Elastic Compute Cloud User Guide.

\n \n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
\n

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.

" - } - }, - "com.amazonaws.ec2#DisassociateAddressRequest": { + "com.amazonaws.ec2#EnclaveOptions": { "type": "structure", "members": { - "AssociationId": { - "target": "com.amazonaws.ec2#ElasticIpAssociationId", - "traits": { - "smithy.api#documentation": "

[EC2-VPC] The association ID. Required for EC2-VPC.

" - } - }, - "PublicIp": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

[EC2-Classic] The Elastic IP address. Required for EC2-Classic.

" - } - }, - "DryRun": { + "Enabled": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", + "aws.protocols#ec2QueryName": "Enabled", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

If this parameter is set to true, the instance is enabled for Amazon Web Services Nitro Enclaves; otherwise, it is not enabled for Amazon Web Services Nitro\n Enclaves.

", + "smithy.api#xmlName": "enabled" } } - } - }, - "com.amazonaws.ec2#DisassociateClientVpnTargetNetwork": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DisassociateClientVpnTargetNetworkRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DisassociateClientVpnTargetNetworkResult" }, "traits": { - "smithy.api#documentation": "

Disassociates a target network from the specified Client VPN endpoint. When you disassociate the \n\t\t\tlast target network from a Client VPN, the following happens:

\n\t\t
    \n
  • \n\t\t\t\t

    The route that was automatically added for the VPC is deleted

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    All active client connections are terminated

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    New client connections are disallowed

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    The Client VPN endpoint's status changes to pending-associate\n

    \n\t\t\t
  • \n
" + "smithy.api#documentation": "

Indicates whether the instance is enabled for Amazon Web Services Nitro\n Enclaves.

" } }, - "com.amazonaws.ec2#DisassociateClientVpnTargetNetworkRequest": { + "com.amazonaws.ec2#EnclaveOptionsRequest": { "type": "structure", "members": { - "ClientVpnEndpointId": { - "target": "com.amazonaws.ec2#ClientVpnEndpointId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Client VPN endpoint from which to disassociate the target network.

", - "smithy.api#required": {} - } - }, - "AssociationId": { - "target": "com.amazonaws.ec2#ClientVpnAssociationId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the target network association.

", - "smithy.api#required": {} - } - }, - "DryRun": { + "Enabled": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

To enable the instance for Amazon Web Services Nitro Enclaves, set this parameter to\n true.

" } } + }, + "traits": { + "smithy.api#documentation": "

Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For\n more information, see What is Amazon Web Services Nitro\n Enclaves? in the Amazon Web Services Nitro Enclaves User\n Guide.

" } }, - "com.amazonaws.ec2#DisassociateClientVpnTargetNetworkResult": { - "type": "structure", + "com.amazonaws.ec2#EncryptionInTransitSupported": { + "type": "boolean" + }, + "com.amazonaws.ec2#EndDateType": { + "type": "enum", "members": { - "AssociationId": { - "target": "com.amazonaws.ec2#String", + "unlimited": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AssociationId", - "smithy.api#documentation": "

The ID of the target network association.

", - "smithy.api#xmlName": "associationId" + "smithy.api#enumValue": "unlimited" } }, - "Status": { - "target": "com.amazonaws.ec2#AssociationStatus", + "limited": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The current state of the target network association.

", - "smithy.api#xmlName": "status" + "smithy.api#enumValue": "limited" } } } }, - "com.amazonaws.ec2#DisassociateEnclaveCertificateIamRole": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DisassociateEnclaveCertificateIamRoleRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DisassociateEnclaveCertificateIamRoleResult" - }, - "traits": { - "smithy.api#documentation": "

Disassociates an IAM role from an Certificate Manager (ACM) certificate. Disassociating an IAM role \n\t\t\tfrom an ACM certificate removes the Amazon S3 object that contains the certificate, certificate chain, and \n\t\t\tencrypted private key from the Amazon S3 bucket. It also revokes the IAM role's permission to use the\n\t\t\tKMS key used to encrypt the private key. This effectively revokes the role's permission \n\t\t\tto use the certificate.

" + "com.amazonaws.ec2#EndpointSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ClientVpnEndpoint", + "traits": { + "smithy.api#xmlName": "item" + } } }, - "com.amazonaws.ec2#DisassociateEnclaveCertificateIamRoleRequest": { - "type": "structure", + "com.amazonaws.ec2#EphemeralNvmeSupport": { + "type": "enum", "members": { - "CertificateArn": { - "target": "com.amazonaws.ec2#ResourceArn", + "UNSUPPORTED": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The ARN of the ACM certificate from which to disassociate the IAM role.

" + "smithy.api#enumValue": "unsupported" } }, - "RoleArn": { - "target": "com.amazonaws.ec2#ResourceArn", + "SUPPORTED": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The ARN of the IAM role to disassociate.

" + "smithy.api#enumValue": "supported" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "REQUIRED": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "smithy.api#enumValue": "required" } } } }, - "com.amazonaws.ec2#DisassociateEnclaveCertificateIamRoleResult": { - "type": "structure", - "members": { - "Return": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "Return", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "smithy.api#xmlName": "return" - } + "com.amazonaws.ec2#ErrorSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ValidationError", + "traits": { + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#DisassociateIamInstanceProfile": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DisassociateIamInstanceProfileRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DisassociateIamInstanceProfileResult" - }, - "traits": { - "smithy.api#documentation": "

Disassociates an IAM instance profile from a running or stopped instance.

\n

Use DescribeIamInstanceProfileAssociations to get the association\n ID.

" - } - }, - "com.amazonaws.ec2#DisassociateIamInstanceProfileRequest": { - "type": "structure", + "com.amazonaws.ec2#EventCode": { + "type": "enum", "members": { - "AssociationId": { - "target": "com.amazonaws.ec2#IamInstanceProfileAssociationId", + "instance_reboot": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the IAM instance profile association.

", - "smithy.api#required": {} + "smithy.api#enumValue": "instance-reboot" + } + }, + "system_reboot": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "system-reboot" + } + }, + "system_maintenance": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "system-maintenance" + } + }, + "instance_retirement": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "instance-retirement" + } + }, + "instance_stop": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "instance-stop" } } } }, - "com.amazonaws.ec2#DisassociateIamInstanceProfileResult": { + "com.amazonaws.ec2#EventInformation": { "type": "structure", "members": { - "IamInstanceProfileAssociation": { - "target": "com.amazonaws.ec2#IamInstanceProfileAssociation", + "EventDescription": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "IamInstanceProfileAssociation", - "smithy.api#documentation": "

Information about the IAM instance profile association.

", - "smithy.api#xmlName": "iamInstanceProfileAssociation" + "aws.protocols#ec2QueryName": "EventDescription", + "smithy.api#documentation": "

The description of the event.

", + "smithy.api#xmlName": "eventDescription" + } + }, + "EventSubType": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "EventSubType", + "smithy.api#documentation": "

The event.

\n

\n error events:

\n
    \n
  • \n

    \n iamFleetRoleInvalid - The EC2 Fleet or Spot Fleet does not have the required\n permissions either to launch or terminate an instance.

    \n
  • \n
  • \n

    \n allLaunchSpecsTemporarilyBlacklisted - None of the configurations\n are valid, and several attempts to launch instances have failed. For more\n information, see the description of the event.

    \n
  • \n
  • \n

    \n spotInstanceCountLimitExceeded - You've reached the limit on the\n number of Spot Instances that you can launch.

    \n
  • \n
  • \n

    \n spotFleetRequestConfigurationInvalid - The configuration is not\n valid. For more information, see the description of the event.

    \n
  • \n
\n

\n fleetRequestChange events:

\n
    \n
  • \n

    \n active - The EC2 Fleet or Spot Fleet request has been validated and Amazon EC2 is\n attempting to maintain the target number of running instances.

    \n
  • \n
  • \n

    \n deleted (EC2 Fleet) / cancelled (Spot Fleet) - The EC2 Fleet is deleted or the Spot Fleet request is canceled and has no running\n instances. The EC2 Fleet or Spot Fleet will be deleted two days after its instances are\n terminated.

    \n
  • \n
  • \n

    \n deleted_running (EC2 Fleet) / cancelled_running (Spot Fleet) - The EC2 Fleet is deleted or the Spot Fleet request is canceled and does\n not launch additional instances. Its existing instances continue to run until\n they are interrupted or terminated. The request remains in this state until all\n instances are interrupted or terminated.

    \n
  • \n
  • \n

    \n deleted_terminating (EC2 Fleet) / cancelled_terminating (Spot Fleet) - The EC2 Fleet is deleted or the Spot Fleet request is canceled and\n its instances are terminating. The request remains in this state until all\n instances are terminated.

    \n
  • \n
  • \n

    \n expired - The EC2 Fleet or Spot Fleet request has expired. If the request was\n created with TerminateInstancesWithExpiration set, a subsequent\n terminated event indicates that the instances are\n terminated.

    \n
  • \n
  • \n

    \n modify_in_progress - The EC2 Fleet or Spot Fleet request is being modified.\n The request remains in this state until the modification is fully\n processed.

    \n
  • \n
  • \n

    \n modify_succeeded - The EC2 Fleet or Spot Fleet request was modified.

    \n
  • \n
  • \n

    \n submitted - The EC2 Fleet or Spot Fleet request is being evaluated and Amazon EC2\n is preparing to launch the target number of instances.

    \n
  • \n
  • \n

    \n progress - The EC2 Fleet or Spot Fleet request is in the process of being fulfilled.

    \n
  • \n
\n

\n instanceChange events:

\n
    \n
  • \n

    \n launched - A new instance was launched.

    \n
  • \n
  • \n

    \n terminated - An instance was terminated by the user.

    \n
  • \n
  • \n

    \n termination_notified - An instance termination notification was\n sent when a Spot Instance was terminated by Amazon EC2 during scale-down, when the target\n capacity of the fleet was modified down, for example, from a target capacity of\n 4 to a target capacity of 3.

    \n
  • \n
\n

\n Information events:

\n
    \n
  • \n

    \n fleetProgressHalted - The price in every launch specification is\n not valid because it is below the Spot price (all the launch specifications have\n produced launchSpecUnusable events). A launch specification might\n become valid if the Spot price changes.

    \n
  • \n
  • \n

    \n launchSpecTemporarilyBlacklisted - The configuration is not valid\n and several attempts to launch instances have failed. For more information, see\n the description of the event.

    \n
  • \n
  • \n

    \n launchSpecUnusable - The price in a launch specification is not\n valid because it is below the Spot price.

    \n
  • \n
  • \n

    \n registerWithLoadBalancersFailed - An attempt to register\n instances with load balancers failed. For more information, see the description\n of the event.

    \n
  • \n
", + "smithy.api#xmlName": "eventSubType" + } + }, + "InstanceId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#documentation": "

The ID of the instance. This information is available only for\n instanceChange events.

", + "smithy.api#xmlName": "instanceId" } } - } - }, - "com.amazonaws.ec2#DisassociateInstanceEventWindow": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DisassociateInstanceEventWindowRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DisassociateInstanceEventWindowResult" }, "traits": { - "smithy.api#documentation": "

Disassociates one or more targets from an event window.

\n

For more information, see Define event windows for scheduled\n events in the Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Describes an EC2 Fleet or Spot Fleet event.

" } }, - "com.amazonaws.ec2#DisassociateInstanceEventWindowRequest": { - "type": "structure", + "com.amazonaws.ec2#EventType": { + "type": "enum", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "INSTANCE_CHANGE": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#enumValue": "instanceChange" } }, - "InstanceEventWindowId": { - "target": "com.amazonaws.ec2#InstanceEventWindowId", + "BATCH_CHANGE": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the event window.

", - "smithy.api#required": {} + "smithy.api#enumValue": "fleetRequestChange" } }, - "AssociationTarget": { - "target": "com.amazonaws.ec2#InstanceEventWindowDisassociationRequest", + "ERROR": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

One or more targets to disassociate from the specified event window.

", - "smithy.api#required": {} + "smithy.api#enumValue": "error" } - } - } - }, - "com.amazonaws.ec2#DisassociateInstanceEventWindowResult": { - "type": "structure", - "members": { - "InstanceEventWindow": { - "target": "com.amazonaws.ec2#InstanceEventWindow", + }, + "INFORMATION": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InstanceEventWindow", - "smithy.api#documentation": "

Information about the event window.

", - "smithy.api#xmlName": "instanceEventWindow" + "smithy.api#enumValue": "information" } } } }, - "com.amazonaws.ec2#DisassociateRouteTable": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DisassociateRouteTableRequest" - }, - "output": { - "target": "smithy.api#Unit" - }, - "traits": { - "smithy.api#documentation": "

Disassociates a subnet or gateway from a route table.

\n\t\t

After you perform this action, the subnet no longer uses the routes in the route table.\n\t\t\t\tInstead, it uses the routes in the VPC's main route table. For more information\n\t\t\t\tabout route tables, see Route\n\t\t\t\ttables in the Amazon Virtual Private Cloud User Guide.

" - } - }, - "com.amazonaws.ec2#DisassociateRouteTableRequest": { - "type": "structure", + "com.amazonaws.ec2#ExcessCapacityTerminationPolicy": { + "type": "enum", "members": { - "AssociationId": { - "target": "com.amazonaws.ec2#RouteTableAssociationId", + "NO_TERMINATION": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AssociationId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The association ID representing the current association between the route table and subnet or gateway.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "associationId" + "smithy.api#enumValue": "noTermination" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "DEFAULT": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#enumValue": "default" } } } }, - "com.amazonaws.ec2#DisassociateSubnetCidrBlock": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DisassociateSubnetCidrBlockRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DisassociateSubnetCidrBlockResult" + "com.amazonaws.ec2#ExcludedInstanceType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 30 + }, + "smithy.api#pattern": "^[a-zA-Z0-9\\.\\*]+$" + } + }, + "com.amazonaws.ec2#ExcludedInstanceTypeSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ExcludedInstanceType", + "traits": { + "smithy.api#xmlName": "item" + } }, "traits": { - "smithy.api#documentation": "

Disassociates a CIDR block from a subnet. Currently, you can disassociate an IPv6 CIDR block only. You must detach or delete all gateways and resources that are associated with the CIDR block before you can disassociate it.

" + "smithy.api#length": { + "min": 0, + "max": 400 + } } }, - "com.amazonaws.ec2#DisassociateSubnetCidrBlockRequest": { - "type": "structure", - "members": { - "AssociationId": { - "target": "com.amazonaws.ec2#SubnetCidrAssociationId", - "traits": { - "aws.protocols#ec2QueryName": "AssociationId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The association ID for the CIDR block.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "associationId" - } + "com.amazonaws.ec2#ExecutableByStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#xmlName": "ExecutableBy" } } }, - "com.amazonaws.ec2#DisassociateSubnetCidrBlockResult": { + "com.amazonaws.ec2#Explanation": { "type": "structure", "members": { - "Ipv6CidrBlockAssociation": { - "target": "com.amazonaws.ec2#SubnetIpv6CidrBlockAssociation", + "Acl": { + "target": "com.amazonaws.ec2#AnalysisComponent", "traits": { - "aws.protocols#ec2QueryName": "Ipv6CidrBlockAssociation", - "smithy.api#documentation": "

Information about the IPv6 CIDR block association.

", - "smithy.api#xmlName": "ipv6CidrBlockAssociation" + "aws.protocols#ec2QueryName": "Acl", + "smithy.api#documentation": "

The network ACL.

", + "smithy.api#xmlName": "acl" } }, - "SubnetId": { - "target": "com.amazonaws.ec2#String", + "AclRule": { + "target": "com.amazonaws.ec2#AnalysisAclRule", "traits": { - "aws.protocols#ec2QueryName": "SubnetId", - "smithy.api#documentation": "

The ID of the subnet.

", - "smithy.api#xmlName": "subnetId" + "aws.protocols#ec2QueryName": "AclRule", + "smithy.api#documentation": "

The network ACL rule.

", + "smithy.api#xmlName": "aclRule" } - } - } - }, - "com.amazonaws.ec2#DisassociateTransitGatewayMulticastDomain": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DisassociateTransitGatewayMulticastDomainRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DisassociateTransitGatewayMulticastDomainResult" - }, - "traits": { - "smithy.api#documentation": "

Disassociates the specified subnets from the transit gateway multicast domain.

" - } - }, - "com.amazonaws.ec2#DisassociateTransitGatewayMulticastDomainRequest": { - "type": "structure", - "members": { - "TransitGatewayMulticastDomainId": { - "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainId", + }, + "Address": { + "target": "com.amazonaws.ec2#IpAddress", + "traits": { + "aws.protocols#ec2QueryName": "Address", + "smithy.api#documentation": "

The IPv4 address, in CIDR notation.

", + "smithy.api#xmlName": "address" + } + }, + "Addresses": { + "target": "com.amazonaws.ec2#IpAddressList", + "traits": { + "aws.protocols#ec2QueryName": "AddressSet", + "smithy.api#documentation": "

The IPv4 addresses, in CIDR notation.

", + "smithy.api#xmlName": "addressSet" + } + }, + "AttachedTo": { + "target": "com.amazonaws.ec2#AnalysisComponent", + "traits": { + "aws.protocols#ec2QueryName": "AttachedTo", + "smithy.api#documentation": "

The resource to which the component is attached.

", + "smithy.api#xmlName": "attachedTo" + } + }, + "AvailabilityZones": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "aws.protocols#ec2QueryName": "AvailabilityZoneSet", + "smithy.api#documentation": "

The Availability Zones.

", + "smithy.api#xmlName": "availabilityZoneSet" + } + }, + "Cidrs": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

" + "aws.protocols#ec2QueryName": "CidrSet", + "smithy.api#documentation": "

The CIDR ranges.

", + "smithy.api#xmlName": "cidrSet" } }, - "TransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", + "Component": { + "target": "com.amazonaws.ec2#AnalysisComponent", "traits": { - "smithy.api#documentation": "

The ID of the attachment.

" + "aws.protocols#ec2QueryName": "Component", + "smithy.api#documentation": "

The component.

", + "smithy.api#xmlName": "component" } }, - "SubnetIds": { - "target": "com.amazonaws.ec2#TransitGatewaySubnetIdList", + "CustomerGateway": { + "target": "com.amazonaws.ec2#AnalysisComponent", "traits": { - "smithy.api#documentation": "

The IDs of the subnets;

" + "aws.protocols#ec2QueryName": "CustomerGateway", + "smithy.api#documentation": "

The customer gateway.

", + "smithy.api#xmlName": "customerGateway" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Destination": { + "target": "com.amazonaws.ec2#AnalysisComponent", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "Destination", + "smithy.api#documentation": "

The destination.

", + "smithy.api#xmlName": "destination" } - } - } - }, - "com.amazonaws.ec2#DisassociateTransitGatewayMulticastDomainResult": { - "type": "structure", - "members": { - "Associations": { - "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainAssociations", + }, + "DestinationVpc": { + "target": "com.amazonaws.ec2#AnalysisComponent", "traits": { - "aws.protocols#ec2QueryName": "Associations", - "smithy.api#documentation": "

Information about the association.

", - "smithy.api#xmlName": "associations" + "aws.protocols#ec2QueryName": "DestinationVpc", + "smithy.api#documentation": "

The destination VPC.

", + "smithy.api#xmlName": "destinationVpc" } - } - } - }, - "com.amazonaws.ec2#DisassociateTransitGatewayPolicyTable": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DisassociateTransitGatewayPolicyTableRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DisassociateTransitGatewayPolicyTableResult" - }, - "traits": { - "smithy.api#documentation": "

Removes the association between an an attachment and a policy table.

" - } - }, - "com.amazonaws.ec2#DisassociateTransitGatewayPolicyTableRequest": { - "type": "structure", - "members": { - "TransitGatewayPolicyTableId": { - "target": "com.amazonaws.ec2#TransitGatewayPolicyTableId", + }, + "Direction": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the disassociated policy table.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "Direction", + "smithy.api#documentation": "

The direction. The following are the possible values:

\n
    \n
  • \n

    egress

    \n
  • \n
  • \n

    ingress

    \n
  • \n
", + "smithy.api#xmlName": "direction" } }, - "TransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", + "ExplanationCode": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the transit gateway attachment to disassociate from the policy table.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "ExplanationCode", + "smithy.api#documentation": "

The explanation code.

", + "smithy.api#xmlName": "explanationCode" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "IngressRouteTable": { + "target": "com.amazonaws.ec2#AnalysisComponent", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "IngressRouteTable", + "smithy.api#documentation": "

The route table.

", + "smithy.api#xmlName": "ingressRouteTable" } - } - } - }, - "com.amazonaws.ec2#DisassociateTransitGatewayPolicyTableResult": { - "type": "structure", - "members": { - "Association": { - "target": "com.amazonaws.ec2#TransitGatewayPolicyTableAssociation", + }, + "InternetGateway": { + "target": "com.amazonaws.ec2#AnalysisComponent", "traits": { - "aws.protocols#ec2QueryName": "Association", - "smithy.api#documentation": "

Returns details about the transit gateway policy table disassociation.

", - "smithy.api#xmlName": "association" + "aws.protocols#ec2QueryName": "InternetGateway", + "smithy.api#documentation": "

The internet gateway.

", + "smithy.api#xmlName": "internetGateway" } - } - } - }, - "com.amazonaws.ec2#DisassociateTransitGatewayRouteTable": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DisassociateTransitGatewayRouteTableRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DisassociateTransitGatewayRouteTableResult" - }, - "traits": { - "smithy.api#documentation": "

Disassociates a resource attachment from a transit gateway route table.

" - } - }, - "com.amazonaws.ec2#DisassociateTransitGatewayRouteTableRequest": { - "type": "structure", - "members": { - "TransitGatewayRouteTableId": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", + }, + "LoadBalancerArn": { + "target": "com.amazonaws.ec2#ResourceArn", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the transit gateway route table.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "LoadBalancerArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the load balancer.

", + "smithy.api#xmlName": "loadBalancerArn" } }, - "TransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", + "ClassicLoadBalancerListener": { + "target": "com.amazonaws.ec2#AnalysisLoadBalancerListener", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the attachment.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "ClassicLoadBalancerListener", + "smithy.api#documentation": "

The listener for a Classic Load Balancer.

", + "smithy.api#xmlName": "classicLoadBalancerListener" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "LoadBalancerListenerPort": { + "target": "com.amazonaws.ec2#Port", "traits": { + "aws.protocols#ec2QueryName": "LoadBalancerListenerPort", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#default": 0, + "smithy.api#documentation": "

The listener port of the load balancer.

", + "smithy.api#xmlName": "loadBalancerListenerPort" } - } - } - }, - "com.amazonaws.ec2#DisassociateTransitGatewayRouteTableResult": { - "type": "structure", - "members": { - "Association": { - "target": "com.amazonaws.ec2#TransitGatewayAssociation", + }, + "LoadBalancerTarget": { + "target": "com.amazonaws.ec2#AnalysisLoadBalancerTarget", "traits": { - "aws.protocols#ec2QueryName": "Association", - "smithy.api#documentation": "

Information about the association.

", - "smithy.api#xmlName": "association" + "aws.protocols#ec2QueryName": "LoadBalancerTarget", + "smithy.api#documentation": "

The target.

", + "smithy.api#xmlName": "loadBalancerTarget" } - } - } - }, - "com.amazonaws.ec2#DisassociateTrunkInterface": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DisassociateTrunkInterfaceRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DisassociateTrunkInterfaceResult" - }, - "traits": { - "smithy.api#documentation": "\n

This API action is currently in limited preview only. \n If you are interested in using this feature, contact your account manager.

\n
\n

Removes an association between a branch network interface with a trunk network interface.

" - } - }, - "com.amazonaws.ec2#DisassociateTrunkInterfaceRequest": { - "type": "structure", - "members": { - "AssociationId": { - "target": "com.amazonaws.ec2#TrunkInterfaceAssociationId", + }, + "LoadBalancerTargetGroup": { + "target": "com.amazonaws.ec2#AnalysisComponent", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the association

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "LoadBalancerTargetGroup", + "smithy.api#documentation": "

The target group.

", + "smithy.api#xmlName": "loadBalancerTargetGroup" } }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", + "LoadBalancerTargetGroups": { + "target": "com.amazonaws.ec2#AnalysisComponentList", "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. For more information, see How to Ensure\n Idempotency.

", - "smithy.api#idempotencyToken": {} + "aws.protocols#ec2QueryName": "LoadBalancerTargetGroupSet", + "smithy.api#documentation": "

The target groups.

", + "smithy.api#xmlName": "loadBalancerTargetGroupSet" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "LoadBalancerTargetPort": { + "target": "com.amazonaws.ec2#Port", "traits": { + "aws.protocols#ec2QueryName": "LoadBalancerTargetPort", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#default": 0, + "smithy.api#documentation": "

The target port.

", + "smithy.api#xmlName": "loadBalancerTargetPort" } - } - } - }, - "com.amazonaws.ec2#DisassociateTrunkInterfaceResult": { - "type": "structure", - "members": { - "Return": { - "target": "com.amazonaws.ec2#Boolean", + }, + "ElasticLoadBalancerListener": { + "target": "com.amazonaws.ec2#AnalysisComponent", "traits": { - "aws.protocols#ec2QueryName": "Return", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "smithy.api#xmlName": "return" + "aws.protocols#ec2QueryName": "ElasticLoadBalancerListener", + "smithy.api#documentation": "

The load balancer listener.

", + "smithy.api#xmlName": "elasticLoadBalancerListener" } }, - "ClientToken": { + "MissingComponent": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ClientToken", - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. For more information, see How to Ensure\n Idempotency.

", - "smithy.api#xmlName": "clientToken" + "aws.protocols#ec2QueryName": "MissingComponent", + "smithy.api#documentation": "

The missing component.

", + "smithy.api#xmlName": "missingComponent" } - } - } - }, - "com.amazonaws.ec2#DisassociateVpcCidrBlock": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#DisassociateVpcCidrBlockRequest" - }, - "output": { - "target": "com.amazonaws.ec2#DisassociateVpcCidrBlockResult" - }, - "traits": { - "smithy.api#documentation": "

Disassociates a CIDR block from a VPC. To disassociate the CIDR block, you must\n specify its association ID. You can get the association ID by using\n DescribeVpcs. You must detach or delete all gateways and resources that\n are associated with the CIDR block before you can disassociate it.

\n\t\t

You cannot disassociate the CIDR block with which you originally created the VPC (the\n\t\t\tprimary CIDR block).

" - } - }, - "com.amazonaws.ec2#DisassociateVpcCidrBlockRequest": { - "type": "structure", - "members": { - "AssociationId": { - "target": "com.amazonaws.ec2#VpcCidrAssociationId", + }, + "NatGateway": { + "target": "com.amazonaws.ec2#AnalysisComponent", "traits": { - "aws.protocols#ec2QueryName": "AssociationId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The association ID for the CIDR block.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "associationId" + "aws.protocols#ec2QueryName": "NatGateway", + "smithy.api#documentation": "

The NAT gateway.

", + "smithy.api#xmlName": "natGateway" } - } - } - }, - "com.amazonaws.ec2#DisassociateVpcCidrBlockResult": { - "type": "structure", - "members": { - "Ipv6CidrBlockAssociation": { - "target": "com.amazonaws.ec2#VpcIpv6CidrBlockAssociation", + }, + "NetworkInterface": { + "target": "com.amazonaws.ec2#AnalysisComponent", "traits": { - "aws.protocols#ec2QueryName": "Ipv6CidrBlockAssociation", - "smithy.api#documentation": "

Information about the IPv6 CIDR block association.

", - "smithy.api#xmlName": "ipv6CidrBlockAssociation" + "aws.protocols#ec2QueryName": "NetworkInterface", + "smithy.api#documentation": "

The network interface.

", + "smithy.api#xmlName": "networkInterface" } }, - "CidrBlockAssociation": { - "target": "com.amazonaws.ec2#VpcCidrBlockAssociation", + "PacketField": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CidrBlockAssociation", - "smithy.api#documentation": "

Information about the IPv4 CIDR block association.

", - "smithy.api#xmlName": "cidrBlockAssociation" + "aws.protocols#ec2QueryName": "PacketField", + "smithy.api#documentation": "

The packet field.

", + "smithy.api#xmlName": "packetField" } }, - "VpcId": { - "target": "com.amazonaws.ec2#String", + "VpcPeeringConnection": { + "target": "com.amazonaws.ec2#AnalysisComponent", "traits": { - "aws.protocols#ec2QueryName": "VpcId", - "smithy.api#documentation": "

The ID of the VPC.

", - "smithy.api#xmlName": "vpcId" + "aws.protocols#ec2QueryName": "VpcPeeringConnection", + "smithy.api#documentation": "

The VPC peering connection.

", + "smithy.api#xmlName": "vpcPeeringConnection" } - } - } - }, - "com.amazonaws.ec2#DiskCount": { - "type": "integer" - }, - "com.amazonaws.ec2#DiskImage": { - "type": "structure", - "members": { - "Description": { - "target": "com.amazonaws.ec2#String", + }, + "Port": { + "target": "com.amazonaws.ec2#Port", "traits": { - "smithy.api#documentation": "

A description of the disk image.

" + "aws.protocols#ec2QueryName": "Port", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The port.

", + "smithy.api#xmlName": "port" } }, - "Image": { - "target": "com.amazonaws.ec2#DiskImageDetail", + "PortRanges": { + "target": "com.amazonaws.ec2#PortRangeList", "traits": { - "smithy.api#documentation": "

Information about the disk image.

" + "aws.protocols#ec2QueryName": "PortRangeSet", + "smithy.api#documentation": "

The port ranges.

", + "smithy.api#xmlName": "portRangeSet" } }, - "Volume": { - "target": "com.amazonaws.ec2#VolumeDetail", + "PrefixList": { + "target": "com.amazonaws.ec2#AnalysisComponent", "traits": { - "smithy.api#documentation": "

Information about the volume.

" + "aws.protocols#ec2QueryName": "PrefixList", + "smithy.api#documentation": "

The prefix list.

", + "smithy.api#xmlName": "prefixList" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a disk image.

" - } - }, - "com.amazonaws.ec2#DiskImageDescription": { - "type": "structure", - "members": { - "Checksum": { - "target": "com.amazonaws.ec2#String", + }, + "Protocols": { + "target": "com.amazonaws.ec2#StringList", "traits": { - "aws.protocols#ec2QueryName": "Checksum", - "smithy.api#documentation": "

The checksum computed for the disk image.

", - "smithy.api#xmlName": "checksum" + "aws.protocols#ec2QueryName": "ProtocolSet", + "smithy.api#documentation": "

The protocols.

", + "smithy.api#xmlName": "protocolSet" } }, - "Format": { - "target": "com.amazonaws.ec2#DiskImageFormat", + "RouteTableRoute": { + "target": "com.amazonaws.ec2#AnalysisRouteTableRoute", "traits": { - "aws.protocols#ec2QueryName": "Format", - "smithy.api#documentation": "

The disk image format.

", - "smithy.api#xmlName": "format" + "aws.protocols#ec2QueryName": "RouteTableRoute", + "smithy.api#documentation": "

The route table route.

", + "smithy.api#xmlName": "routeTableRoute" } }, - "ImportManifestUrl": { - "target": "com.amazonaws.ec2#String", + "RouteTable": { + "target": "com.amazonaws.ec2#AnalysisComponent", "traits": { - "aws.protocols#ec2QueryName": "ImportManifestUrl", - "smithy.api#documentation": "

A presigned URL for the import manifest stored in Amazon S3. For information about creating a presigned URL for\n an Amazon S3 object, read the \"Query String Request Authentication Alternative\" section of the Authenticating REST Requests topic in\n the Amazon Simple Storage Service Developer Guide.

\n

For information about the import manifest referenced by this API action, see VM Import Manifest.

", - "smithy.api#xmlName": "importManifestUrl" + "aws.protocols#ec2QueryName": "RouteTable", + "smithy.api#documentation": "

The route table.

", + "smithy.api#xmlName": "routeTable" } }, - "Size": { - "target": "com.amazonaws.ec2#Long", + "SecurityGroup": { + "target": "com.amazonaws.ec2#AnalysisComponent", "traits": { - "aws.protocols#ec2QueryName": "Size", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The size of the disk image, in GiB.

", - "smithy.api#xmlName": "size" + "aws.protocols#ec2QueryName": "SecurityGroup", + "smithy.api#documentation": "

The security group.

", + "smithy.api#xmlName": "securityGroup" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a disk image.

" - } - }, - "com.amazonaws.ec2#DiskImageDetail": { - "type": "structure", - "members": { - "Bytes": { - "target": "com.amazonaws.ec2#Long", + }, + "SecurityGroupRule": { + "target": "com.amazonaws.ec2#AnalysisSecurityGroupRule", "traits": { - "aws.protocols#ec2QueryName": "Bytes", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The size of the disk image, in GiB.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "bytes" + "aws.protocols#ec2QueryName": "SecurityGroupRule", + "smithy.api#documentation": "

The security group rule.

", + "smithy.api#xmlName": "securityGroupRule" } }, - "Format": { - "target": "com.amazonaws.ec2#DiskImageFormat", + "SecurityGroups": { + "target": "com.amazonaws.ec2#AnalysisComponentList", "traits": { - "aws.protocols#ec2QueryName": "Format", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The disk image format.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "format" + "aws.protocols#ec2QueryName": "SecurityGroupSet", + "smithy.api#documentation": "

The security groups.

", + "smithy.api#xmlName": "securityGroupSet" } }, - "ImportManifestUrl": { + "SourceVpc": { + "target": "com.amazonaws.ec2#AnalysisComponent", + "traits": { + "aws.protocols#ec2QueryName": "SourceVpc", + "smithy.api#documentation": "

The source VPC.

", + "smithy.api#xmlName": "sourceVpc" + } + }, + "State": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ImportManifestUrl", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

A presigned URL for the import manifest stored in Amazon S3 and presented here as an Amazon S3 presigned URL.\n For information about creating a presigned URL for an Amazon S3 object, read the \"Query String Request Authentication\n Alternative\" section of the Authenticating REST Requests topic in the Amazon Simple Storage Service Developer\n Guide.

\n

For information about the import manifest referenced by this API action, see VM Import Manifest.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "importManifestUrl" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state.

", + "smithy.api#xmlName": "state" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a disk image.

" - } - }, - "com.amazonaws.ec2#DiskImageFormat": { - "type": "enum", - "members": { - "VMDK": { - "target": "smithy.api#Unit", + }, + "Subnet": { + "target": "com.amazonaws.ec2#AnalysisComponent", "traits": { - "smithy.api#enumValue": "VMDK" + "aws.protocols#ec2QueryName": "Subnet", + "smithy.api#documentation": "

The subnet.

", + "smithy.api#xmlName": "subnet" } }, - "RAW": { - "target": "smithy.api#Unit", + "SubnetRouteTable": { + "target": "com.amazonaws.ec2#AnalysisComponent", "traits": { - "smithy.api#enumValue": "RAW" + "aws.protocols#ec2QueryName": "SubnetRouteTable", + "smithy.api#documentation": "

The route table for the subnet.

", + "smithy.api#xmlName": "subnetRouteTable" } }, - "VHD": { - "target": "smithy.api#Unit", + "Vpc": { + "target": "com.amazonaws.ec2#AnalysisComponent", "traits": { - "smithy.api#enumValue": "VHD" + "aws.protocols#ec2QueryName": "Vpc", + "smithy.api#documentation": "

The component VPC.

", + "smithy.api#xmlName": "vpc" } - } - } - }, - "com.amazonaws.ec2#DiskImageList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#DiskImage" - } - }, - "com.amazonaws.ec2#DiskImageVolumeDescription": { - "type": "structure", - "members": { - "Id": { - "target": "com.amazonaws.ec2#String", + }, + "VpcEndpoint": { + "target": "com.amazonaws.ec2#AnalysisComponent", "traits": { - "aws.protocols#ec2QueryName": "Id", - "smithy.api#documentation": "

The volume identifier.

", - "smithy.api#xmlName": "id" + "aws.protocols#ec2QueryName": "VpcEndpoint", + "smithy.api#documentation": "

The VPC endpoint.

", + "smithy.api#xmlName": "vpcEndpoint" } }, - "Size": { - "target": "com.amazonaws.ec2#Long", + "VpnConnection": { + "target": "com.amazonaws.ec2#AnalysisComponent", "traits": { - "aws.protocols#ec2QueryName": "Size", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The size of the volume, in GiB.

", - "smithy.api#xmlName": "size" + "aws.protocols#ec2QueryName": "VpnConnection", + "smithy.api#documentation": "

The VPN connection.

", + "smithy.api#xmlName": "vpnConnection" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a disk image volume.

" - } - }, - "com.amazonaws.ec2#DiskInfo": { - "type": "structure", - "members": { - "SizeInGB": { - "target": "com.amazonaws.ec2#DiskSize", + }, + "VpnGateway": { + "target": "com.amazonaws.ec2#AnalysisComponent", "traits": { - "aws.protocols#ec2QueryName": "SizeInGB", - "smithy.api#documentation": "

The size of the disk in GB.

", - "smithy.api#xmlName": "sizeInGB" + "aws.protocols#ec2QueryName": "VpnGateway", + "smithy.api#documentation": "

The VPN gateway.

", + "smithy.api#xmlName": "vpnGateway" } }, - "Count": { - "target": "com.amazonaws.ec2#DiskCount", + "TransitGateway": { + "target": "com.amazonaws.ec2#AnalysisComponent", "traits": { - "aws.protocols#ec2QueryName": "Count", - "smithy.api#documentation": "

The number of disks with this configuration.

", - "smithy.api#xmlName": "count" + "aws.protocols#ec2QueryName": "TransitGateway", + "smithy.api#documentation": "

The transit gateway.

", + "smithy.api#xmlName": "transitGateway" } }, - "Type": { - "target": "com.amazonaws.ec2#DiskType", + "TransitGatewayRouteTable": { + "target": "com.amazonaws.ec2#AnalysisComponent", "traits": { - "aws.protocols#ec2QueryName": "Type", - "smithy.api#documentation": "

The type of disk.

", - "smithy.api#xmlName": "type" + "aws.protocols#ec2QueryName": "TransitGatewayRouteTable", + "smithy.api#documentation": "

The transit gateway route table.

", + "smithy.api#xmlName": "transitGatewayRouteTable" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a disk.

" - } - }, - "com.amazonaws.ec2#DiskInfoList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#DiskInfo", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#DiskSize": { - "type": "long" - }, - "com.amazonaws.ec2#DiskType": { - "type": "enum", - "members": { - "hdd": { - "target": "smithy.api#Unit", + }, + "TransitGatewayRouteTableRoute": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableRoute", "traits": { - "smithy.api#enumValue": "hdd" + "aws.protocols#ec2QueryName": "TransitGatewayRouteTableRoute", + "smithy.api#documentation": "

The transit gateway route table route.

", + "smithy.api#xmlName": "transitGatewayRouteTableRoute" } }, - "ssd": { - "target": "smithy.api#Unit", + "TransitGatewayAttachment": { + "target": "com.amazonaws.ec2#AnalysisComponent", "traits": { - "smithy.api#enumValue": "ssd" + "aws.protocols#ec2QueryName": "TransitGatewayAttachment", + "smithy.api#documentation": "

The transit gateway attachment.

", + "smithy.api#xmlName": "transitGatewayAttachment" } - } - } - }, - "com.amazonaws.ec2#DnsEntry": { - "type": "structure", - "members": { - "DnsName": { - "target": "com.amazonaws.ec2#String", + }, + "ComponentAccount": { + "target": "com.amazonaws.ec2#ComponentAccount", "traits": { - "aws.protocols#ec2QueryName": "DnsName", - "smithy.api#documentation": "

The DNS name.

", - "smithy.api#xmlName": "dnsName" + "aws.protocols#ec2QueryName": "ComponentAccount", + "smithy.api#documentation": "

The Amazon Web Services account for the component.

", + "smithy.api#xmlName": "componentAccount" } }, - "HostedZoneId": { - "target": "com.amazonaws.ec2#String", + "ComponentRegion": { + "target": "com.amazonaws.ec2#ComponentRegion", "traits": { - "aws.protocols#ec2QueryName": "HostedZoneId", - "smithy.api#documentation": "

The ID of the private hosted zone.

", - "smithy.api#xmlName": "hostedZoneId" + "aws.protocols#ec2QueryName": "ComponentRegion", + "smithy.api#documentation": "

The Region for the component.

", + "smithy.api#xmlName": "componentRegion" } } }, "traits": { - "smithy.api#documentation": "

Describes a DNS entry.

" + "smithy.api#documentation": "

Describes an explanation code for an unreachable path. For more information, see Reachability Analyzer explanation codes.

" } }, - "com.amazonaws.ec2#DnsEntrySet": { + "com.amazonaws.ec2#ExplanationList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#DnsEntry", + "target": "com.amazonaws.ec2#Explanation", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#DnsNameState": { - "type": "enum", - "members": { - "PendingVerification": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "pendingVerification" - } - }, - "Verified": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "verified" - } - }, - "Failed": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "failed" - } - } - } - }, - "com.amazonaws.ec2#DnsOptions": { - "type": "structure", - "members": { - "DnsRecordIpType": { - "target": "com.amazonaws.ec2#DnsRecordIpType", - "traits": { - "aws.protocols#ec2QueryName": "DnsRecordIpType", - "smithy.api#documentation": "

The DNS records created for the endpoint.

", - "smithy.api#xmlName": "dnsRecordIpType" - } - } + "com.amazonaws.ec2#ExportClientVpnClientCertificateRevocationList": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ExportClientVpnClientCertificateRevocationListRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ExportClientVpnClientCertificateRevocationListResult" }, "traits": { - "smithy.api#documentation": "

Describes the DNS options for an endpoint.

" + "smithy.api#documentation": "

Downloads the client certificate revocation list for the specified Client VPN endpoint.

" } }, - "com.amazonaws.ec2#DnsOptionsSpecification": { + "com.amazonaws.ec2#ExportClientVpnClientCertificateRevocationListRequest": { "type": "structure", "members": { - "DnsRecordIpType": { - "target": "com.amazonaws.ec2#DnsRecordIpType", + "ClientVpnEndpointId": { + "target": "com.amazonaws.ec2#ClientVpnEndpointId", "traits": { - "smithy.api#documentation": "

The DNS records created for the endpoint.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Client VPN endpoint.

", + "smithy.api#required": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Describes the DNS options for an endpoint.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DnsRecordIpType": { - "type": "enum", + "com.amazonaws.ec2#ExportClientVpnClientCertificateRevocationListResult": { + "type": "structure", "members": { - "ipv4": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ipv4" - } - }, - "dualstack": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "dualstack" - } - }, - "ipv6": { - "target": "smithy.api#Unit", + "CertificateRevocationList": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "ipv6" + "aws.protocols#ec2QueryName": "CertificateRevocationList", + "smithy.api#documentation": "

Information about the client certificate revocation list.

", + "smithy.api#xmlName": "certificateRevocationList" } }, - "service_defined": { - "target": "smithy.api#Unit", + "Status": { + "target": "com.amazonaws.ec2#ClientCertificateRevocationListStatus", "traits": { - "smithy.api#enumValue": "service-defined" + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The current state of the client certificate revocation list.

", + "smithy.api#xmlName": "status" } } } }, - "com.amazonaws.ec2#DnsServersOptionsModifyStructure": { + "com.amazonaws.ec2#ExportClientVpnClientConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ExportClientVpnClientConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ExportClientVpnClientConfigurationResult" + }, + "traits": { + "smithy.api#documentation": "

Downloads the contents of the Client VPN endpoint configuration file for the specified Client VPN endpoint. The Client VPN endpoint configuration \n\t\t\tfile includes the Client VPN endpoint and certificate information clients need to establish a connection \n\t\t\twith the Client VPN endpoint.

" + } + }, + "com.amazonaws.ec2#ExportClientVpnClientConfigurationRequest": { "type": "structure", "members": { - "CustomDnsServers": { - "target": "com.amazonaws.ec2#ValueStringList", + "ClientVpnEndpointId": { + "target": "com.amazonaws.ec2#ClientVpnEndpointId", "traits": { - "smithy.api#documentation": "

The IPv4 address range, in CIDR notation, of the DNS servers to be used. You can specify up to \n\t\t\ttwo DNS servers. Ensure that the DNS servers can be reached by the clients. The specified values \n\t\t\toverwrite the existing values.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Client VPN endpoint.

", + "smithy.api#required": {} } }, - "Enabled": { + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether DNS servers should be used. Specify False to delete the existing DNS \n\t\t\tservers.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Information about the DNS server to be used.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#DnsSupportValue": { - "type": "enum", + "com.amazonaws.ec2#ExportClientVpnClientConfigurationResult": { + "type": "structure", "members": { - "enable": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "enable" - } - }, - "disable": { - "target": "smithy.api#Unit", + "ClientConfiguration": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "disable" + "aws.protocols#ec2QueryName": "ClientConfiguration", + "smithy.api#documentation": "

The contents of the Client VPN endpoint configuration file.

", + "smithy.api#xmlName": "clientConfiguration" } } } }, - "com.amazonaws.ec2#DomainType": { + "com.amazonaws.ec2#ExportEnvironment": { "type": "enum", "members": { - "vpc": { + "citrix": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "vpc" + "smithy.api#enumValue": "citrix" } }, - "standard": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "standard" - } - } - } - }, - "com.amazonaws.ec2#Double": { - "type": "double", - "traits": { - "smithy.api#default": 0 - } - }, - "com.amazonaws.ec2#DoubleWithConstraints": { - "type": "double", - "traits": { - "smithy.api#range": { - "min": 0.001, - "max": 99.999 - } - } - }, - "com.amazonaws.ec2#DynamicRoutingValue": { - "type": "enum", - "members": { - "enable": { + "vmware": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "enable" + "smithy.api#enumValue": "vmware" } }, - "disable": { + "microsoft": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "disable" + "smithy.api#enumValue": "microsoft" } } } }, - "com.amazonaws.ec2#EbsBlockDevice": { + "com.amazonaws.ec2#ExportImage": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ExportImageRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ExportImageResult" + }, + "traits": { + "smithy.api#documentation": "

Exports an Amazon Machine Image (AMI) to a VM file. For more information, see Exporting a VM\n directly from an Amazon Machine Image (AMI) in the\n VM Import/Export User Guide.

" + } + }, + "com.amazonaws.ec2#ExportImageRequest": { "type": "structure", "members": { - "DeleteOnTermination": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "DeleteOnTermination", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the EBS volume is deleted on instance termination. For more\n information, see Preserving Amazon EBS volumes on instance termination in the\n Amazon EC2 User Guide.

", - "smithy.api#xmlName": "deleteOnTermination" - } - }, - "Iops": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "aws.protocols#ec2QueryName": "Iops", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes,\n this represents the number of IOPS that are provisioned for the volume. For gp2\n volumes, this represents the baseline performance of the volume and the rate at which\n the volume accumulates I/O credits for bursting.

\n

The following are the supported values for each volume type:

\n
    \n
  • \n

    \n gp3: 3,000-16,000 IOPS

    \n
  • \n
  • \n

    \n io1: 100-64,000 IOPS

    \n
  • \n
  • \n

    \n io2: 100-64,000 IOPS

    \n
  • \n
\n

For io1 and io2 volumes, we guarantee 64,000 IOPS only for\n Instances built on the\n Nitro System. Other instance families guarantee performance up to\n 32,000 IOPS.

\n

This parameter is required for io1 and io2 volumes. The default for gp3 volumes\n is 3,000 IOPS. This parameter is not supported for gp2, st1, sc1, or standard\n volumes.

", - "smithy.api#xmlName": "iops" - } - }, - "SnapshotId": { - "target": "com.amazonaws.ec2#SnapshotId", - "traits": { - "aws.protocols#ec2QueryName": "SnapshotId", - "smithy.api#documentation": "

The ID of the snapshot.

", - "smithy.api#xmlName": "snapshotId" - } - }, - "VolumeSize": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "aws.protocols#ec2QueryName": "VolumeSize", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The size of the volume, in GiBs. You must specify either a snapshot ID or a volume\n size. If you specify a snapshot, the default is the snapshot size. You can specify a\n volume size that is equal to or larger than the snapshot size.

\n

The following are the supported volumes sizes for each volume type:

\n
    \n
  • \n

    \n gp2 and gp3:1-16,384

    \n
  • \n
  • \n

    \n io1 and io2: 4-16,384

    \n
  • \n
  • \n

    \n st1 and sc1: 125-16,384

    \n
  • \n
  • \n

    \n standard: 1-1,024

    \n
  • \n
", - "smithy.api#xmlName": "volumeSize" - } - }, - "VolumeType": { - "target": "com.amazonaws.ec2#VolumeType", + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "VolumeType", - "smithy.api#documentation": "

The volume type. For more information, see Amazon EBS volume types in the\n Amazon EC2 User Guide. If the volume type is io1 or\n io2, you must specify the IOPS that the volume supports.

", - "smithy.api#xmlName": "volumeType" + "smithy.api#documentation": "

Token to enable idempotency for export image requests.

", + "smithy.api#idempotencyToken": {} } }, - "KmsKeyId": { + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "KmsKeyId", - "smithy.api#documentation": "

Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under\n which the EBS volume is encrypted.

\n

This parameter is only supported on BlockDeviceMapping objects called by\n RunInstances, RequestSpotFleet,\n and RequestSpotInstances.

", - "smithy.api#xmlName": "kmsKeyId" + "smithy.api#documentation": "

A description of the image being exported. The maximum length is 255 characters.

" } }, - "Throughput": { - "target": "com.amazonaws.ec2#Integer", + "DiskImageFormat": { + "target": "com.amazonaws.ec2#DiskImageFormat", "traits": { - "aws.protocols#ec2QueryName": "Throughput", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The throughput that the volume supports, in MiB/s.

\n

This parameter is valid only for gp3 volumes.

\n

Valid Range: Minimum value of 125. Maximum value of 1000.

", - "smithy.api#xmlName": "throughput" - } - }, - "OutpostArn": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "OutpostArn", - "smithy.api#documentation": "

The ARN of the Outpost on which the snapshot is stored.

\n

This parameter is only supported on BlockDeviceMapping objects called by\n \n CreateImage.

", - "smithy.api#xmlName": "outpostArn" + "smithy.api#documentation": "

The disk image format.

", + "smithy.api#required": {} } }, - "Encrypted": { + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Encrypted", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the encryption state of an EBS volume is changed while being\n restored from a backing snapshot. The effect of setting the encryption state to true depends on \nthe volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see Amazon EBS encryption in the Amazon EC2 User Guide.

\n

In no case can you remove encryption from an encrypted volume.

\n

Encrypted volumes can only be attached to instances that support Amazon EBS encryption. For\n more information, see Supported instance types.

\n

This parameter is not returned by DescribeImageAttribute.

", - "smithy.api#xmlName": "encrypted" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a block device for an EBS volume.

" - } - }, - "com.amazonaws.ec2#EbsEncryptionSupport": { - "type": "enum", - "members": { - "unsupported": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "unsupported" - } - }, - "supported": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "supported" - } - } - } - }, - "com.amazonaws.ec2#EbsInfo": { - "type": "structure", - "members": { - "EbsOptimizedSupport": { - "target": "com.amazonaws.ec2#EbsOptimizedSupport", - "traits": { - "aws.protocols#ec2QueryName": "EbsOptimizedSupport", - "smithy.api#documentation": "

Indicates whether the instance type is Amazon EBS-optimized. For more information, see Amazon EBS-optimized\n instances in Amazon EC2 User Guide.

", - "smithy.api#xmlName": "ebsOptimizedSupport" - } - }, - "EncryptionSupport": { - "target": "com.amazonaws.ec2#EbsEncryptionSupport", - "traits": { - "aws.protocols#ec2QueryName": "EncryptionSupport", - "smithy.api#documentation": "

Indicates whether Amazon EBS encryption is supported.

", - "smithy.api#xmlName": "encryptionSupport" - } - }, - "EbsOptimizedInfo": { - "target": "com.amazonaws.ec2#EbsOptimizedInfo", - "traits": { - "aws.protocols#ec2QueryName": "EbsOptimizedInfo", - "smithy.api#documentation": "

Describes the optimized EBS performance for the instance type.

", - "smithy.api#xmlName": "ebsOptimizedInfo" - } - }, - "NvmeSupport": { - "target": "com.amazonaws.ec2#EbsNvmeSupport", - "traits": { - "aws.protocols#ec2QueryName": "NvmeSupport", - "smithy.api#documentation": "

Indicates whether non-volatile memory express (NVMe) is supported.

", - "smithy.api#xmlName": "nvmeSupport" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the Amazon EBS features supported by the instance type.

" - } - }, - "com.amazonaws.ec2#EbsInstanceBlockDevice": { - "type": "structure", - "members": { - "AttachTime": { - "target": "com.amazonaws.ec2#DateTime", - "traits": { - "aws.protocols#ec2QueryName": "AttachTime", - "smithy.api#documentation": "

The time stamp when the attachment initiated.

", - "smithy.api#xmlName": "attachTime" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "DeleteOnTermination": { - "target": "com.amazonaws.ec2#Boolean", + "ImageId": { + "target": "com.amazonaws.ec2#ImageId", "traits": { - "aws.protocols#ec2QueryName": "DeleteOnTermination", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the volume is deleted on instance termination.

", - "smithy.api#xmlName": "deleteOnTermination" + "smithy.api#documentation": "

The ID of the image.

", + "smithy.api#required": {} } }, - "Status": { - "target": "com.amazonaws.ec2#AttachmentStatus", + "S3ExportLocation": { + "target": "com.amazonaws.ec2#ExportTaskS3LocationRequest", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The attachment state.

", - "smithy.api#xmlName": "status" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Amazon S3 bucket for the destination image. The destination bucket must exist.

", + "smithy.api#required": {} } }, - "VolumeId": { + "RoleName": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "VolumeId", - "smithy.api#documentation": "

The ID of the EBS volume.

", - "smithy.api#xmlName": "volumeId" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a parameter used to set up an EBS volume in a block device mapping.

" - } - }, - "com.amazonaws.ec2#EbsInstanceBlockDeviceSpecification": { - "type": "structure", - "members": { - "DeleteOnTermination": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "DeleteOnTermination", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the volume is deleted on instance termination.

", - "smithy.api#xmlName": "deleteOnTermination" + "smithy.api#documentation": "

The name of the role that grants VM Import/Export permission to export images to your Amazon\n S3 bucket. If this parameter is not specified, the default role is named 'vmimport'.

" } }, - "VolumeId": { - "target": "com.amazonaws.ec2#VolumeId", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "VolumeId", - "smithy.api#documentation": "

The ID of the EBS volume.

", - "smithy.api#xmlName": "volumeId" + "smithy.api#documentation": "

The tags to apply to the export image task during creation.

", + "smithy.api#xmlName": "TagSpecification" } } }, "traits": { - "smithy.api#documentation": "

Describes information used to set up an EBS volume specified in a block device\n mapping.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#EbsNvmeSupport": { - "type": "enum", + "com.amazonaws.ec2#ExportImageResult": { + "type": "structure", "members": { - "UNSUPPORTED": { - "target": "smithy.api#Unit", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "unsupported" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A description of the image being exported.

", + "smithy.api#xmlName": "description" } }, - "SUPPORTED": { - "target": "smithy.api#Unit", + "DiskImageFormat": { + "target": "com.amazonaws.ec2#DiskImageFormat", "traits": { - "smithy.api#enumValue": "supported" + "aws.protocols#ec2QueryName": "DiskImageFormat", + "smithy.api#documentation": "

The disk image format for the exported image.

", + "smithy.api#xmlName": "diskImageFormat" } }, - "REQUIRED": { - "target": "smithy.api#Unit", + "ExportImageTaskId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "required" + "aws.protocols#ec2QueryName": "ExportImageTaskId", + "smithy.api#documentation": "

The ID of the export image task.

", + "smithy.api#xmlName": "exportImageTaskId" } - } - } - }, - "com.amazonaws.ec2#EbsOptimizedInfo": { - "type": "structure", - "members": { - "BaselineBandwidthInMbps": { - "target": "com.amazonaws.ec2#BaselineBandwidthInMbps", + }, + "ImageId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "BaselineBandwidthInMbps", - "smithy.api#documentation": "

The baseline bandwidth performance for an EBS-optimized instance type, in Mbps.

", - "smithy.api#xmlName": "baselineBandwidthInMbps" + "aws.protocols#ec2QueryName": "ImageId", + "smithy.api#documentation": "

The ID of the image.

", + "smithy.api#xmlName": "imageId" } }, - "BaselineThroughputInMBps": { - "target": "com.amazonaws.ec2#BaselineThroughputInMBps", + "RoleName": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "BaselineThroughputInMBps", - "smithy.api#documentation": "

The baseline throughput performance for an EBS-optimized instance type, in MB/s.

", - "smithy.api#xmlName": "baselineThroughputInMBps" + "aws.protocols#ec2QueryName": "RoleName", + "smithy.api#documentation": "

The name of the role that grants VM Import/Export permission to export images to your Amazon\n S3 bucket.

", + "smithy.api#xmlName": "roleName" } }, - "BaselineIops": { - "target": "com.amazonaws.ec2#BaselineIops", + "Progress": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "BaselineIops", - "smithy.api#documentation": "

The baseline input/output storage operations per seconds for an EBS-optimized instance type.

", - "smithy.api#xmlName": "baselineIops" + "aws.protocols#ec2QueryName": "Progress", + "smithy.api#documentation": "

The percent complete of the export image task.

", + "smithy.api#xmlName": "progress" } }, - "MaximumBandwidthInMbps": { - "target": "com.amazonaws.ec2#MaximumBandwidthInMbps", + "S3ExportLocation": { + "target": "com.amazonaws.ec2#ExportTaskS3Location", "traits": { - "aws.protocols#ec2QueryName": "MaximumBandwidthInMbps", - "smithy.api#documentation": "

The maximum bandwidth performance for an EBS-optimized instance type, in Mbps.

", - "smithy.api#xmlName": "maximumBandwidthInMbps" + "aws.protocols#ec2QueryName": "S3ExportLocation", + "smithy.api#documentation": "

Information about the destination Amazon S3 bucket.

", + "smithy.api#xmlName": "s3ExportLocation" } }, - "MaximumThroughputInMBps": { - "target": "com.amazonaws.ec2#MaximumThroughputInMBps", + "Status": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "MaximumThroughputInMBps", - "smithy.api#documentation": "

The maximum throughput performance for an EBS-optimized instance type, in MB/s.

", - "smithy.api#xmlName": "maximumThroughputInMBps" + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The status of the export image task. The possible values are active, completed,\n deleting, and deleted.

", + "smithy.api#xmlName": "status" } }, - "MaximumIops": { - "target": "com.amazonaws.ec2#MaximumIops", + "StatusMessage": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "MaximumIops", - "smithy.api#documentation": "

The maximum input/output storage operations per second for an EBS-optimized instance type.

", - "smithy.api#xmlName": "maximumIops" + "aws.protocols#ec2QueryName": "StatusMessage", + "smithy.api#documentation": "

The status message for the export image task.

", + "smithy.api#xmlName": "statusMessage" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Any tags assigned to the export image task.

", + "smithy.api#xmlName": "tagSet" } } - }, - "traits": { - "smithy.api#documentation": "

Describes the optimized EBS performance for supported instance types.

" } }, - "com.amazonaws.ec2#EbsOptimizedSupport": { - "type": "enum", + "com.amazonaws.ec2#ExportImageTask": { + "type": "structure", "members": { - "unsupported": { - "target": "smithy.api#Unit", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "unsupported" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A description of the image being exported.

", + "smithy.api#xmlName": "description" } }, - "supported": { - "target": "smithy.api#Unit", + "ExportImageTaskId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "supported" + "aws.protocols#ec2QueryName": "ExportImageTaskId", + "smithy.api#documentation": "

The ID of the export image task.

", + "smithy.api#xmlName": "exportImageTaskId" } }, - "default": { - "target": "smithy.api#Unit", + "ImageId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "default" + "aws.protocols#ec2QueryName": "ImageId", + "smithy.api#documentation": "

The ID of the image.

", + "smithy.api#xmlName": "imageId" } - } - } - }, - "com.amazonaws.ec2#EfaInfo": { - "type": "structure", - "members": { - "MaximumEfaInterfaces": { - "target": "com.amazonaws.ec2#MaximumEfaInterfaces", + }, + "Progress": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "MaximumEfaInterfaces", - "smithy.api#documentation": "

The maximum number of Elastic Fabric Adapters for the instance type.

", - "smithy.api#xmlName": "maximumEfaInterfaces" + "aws.protocols#ec2QueryName": "Progress", + "smithy.api#documentation": "

The percent complete of the export image task.

", + "smithy.api#xmlName": "progress" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the Elastic Fabric Adapters for the instance type.

" - } - }, - "com.amazonaws.ec2#EfaSupportedFlag": { - "type": "boolean" - }, - "com.amazonaws.ec2#EgressOnlyInternetGateway": { - "type": "structure", - "members": { - "Attachments": { - "target": "com.amazonaws.ec2#InternetGatewayAttachmentList", + }, + "S3ExportLocation": { + "target": "com.amazonaws.ec2#ExportTaskS3Location", "traits": { - "aws.protocols#ec2QueryName": "AttachmentSet", - "smithy.api#documentation": "

Information about the attachment of the egress-only internet gateway.

", - "smithy.api#xmlName": "attachmentSet" + "aws.protocols#ec2QueryName": "S3ExportLocation", + "smithy.api#documentation": "

Information about the destination Amazon S3 bucket.

", + "smithy.api#xmlName": "s3ExportLocation" } }, - "EgressOnlyInternetGatewayId": { - "target": "com.amazonaws.ec2#EgressOnlyInternetGatewayId", + "Status": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "EgressOnlyInternetGatewayId", - "smithy.api#documentation": "

The ID of the egress-only internet gateway.

", - "smithy.api#xmlName": "egressOnlyInternetGatewayId" + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The status of the export image task. The possible values are active, completed,\n deleting, and deleted.

", + "smithy.api#xmlName": "status" + } + }, + "StatusMessage": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "StatusMessage", + "smithy.api#documentation": "

The status message for the export image task.

", + "smithy.api#xmlName": "statusMessage" } }, "Tags": { "target": "com.amazonaws.ec2#TagList", "traits": { "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags assigned to the egress-only internet gateway.

", + "smithy.api#documentation": "

Any tags assigned to the export image task.

", "smithy.api#xmlName": "tagSet" } } }, "traits": { - "smithy.api#documentation": "

Describes an egress-only internet gateway.

" + "smithy.api#documentation": "

Describes an export image task.

" } }, - "com.amazonaws.ec2#EgressOnlyInternetGatewayId": { + "com.amazonaws.ec2#ExportImageTaskId": { "type": "string" }, - "com.amazonaws.ec2#EgressOnlyInternetGatewayIdList": { + "com.amazonaws.ec2#ExportImageTaskIdList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#EgressOnlyInternetGatewayId", + "target": "com.amazonaws.ec2#ExportImageTaskId", "traits": { - "smithy.api#xmlName": "item" + "smithy.api#xmlName": "ExportImageTaskId" } } }, - "com.amazonaws.ec2#EgressOnlyInternetGatewayList": { + "com.amazonaws.ec2#ExportImageTaskList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#EgressOnlyInternetGateway", + "target": "com.amazonaws.ec2#ExportImageTask", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#ElasticGpuAssociation": { + "com.amazonaws.ec2#ExportTask": { "type": "structure", "members": { - "ElasticGpuId": { - "target": "com.amazonaws.ec2#ElasticGpuId", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ElasticGpuId", - "smithy.api#documentation": "

The ID of the Elastic Graphics accelerator.

", - "smithy.api#xmlName": "elasticGpuId" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A description of the resource being exported.

", + "smithy.api#xmlName": "description" } }, - "ElasticGpuAssociationId": { + "ExportTaskId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ElasticGpuAssociationId", - "smithy.api#documentation": "

The ID of the association.

", - "smithy.api#xmlName": "elasticGpuAssociationId" + "aws.protocols#ec2QueryName": "ExportTaskId", + "smithy.api#documentation": "

The ID of the export task.

", + "smithy.api#xmlName": "exportTaskId" } }, - "ElasticGpuAssociationState": { - "target": "com.amazonaws.ec2#String", + "ExportToS3Task": { + "target": "com.amazonaws.ec2#ExportToS3Task", "traits": { - "aws.protocols#ec2QueryName": "ElasticGpuAssociationState", - "smithy.api#documentation": "

The state of the association between the instance and the\n Elastic Graphics accelerator.

", - "smithy.api#xmlName": "elasticGpuAssociationState" + "aws.protocols#ec2QueryName": "ExportToS3", + "smithy.api#documentation": "

Information about the export task.

", + "smithy.api#xmlName": "exportToS3" } }, - "ElasticGpuAssociationTime": { + "InstanceExportDetails": { + "target": "com.amazonaws.ec2#InstanceExportDetails", + "traits": { + "aws.protocols#ec2QueryName": "InstanceExport", + "smithy.api#documentation": "

Information about the instance to export.

", + "smithy.api#xmlName": "instanceExport" + } + }, + "State": { + "target": "com.amazonaws.ec2#ExportTaskState", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the export task.

", + "smithy.api#xmlName": "state" + } + }, + "StatusMessage": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ElasticGpuAssociationTime", - "smithy.api#documentation": "

The time the Elastic Graphics accelerator was associated with the instance.

", - "smithy.api#xmlName": "elasticGpuAssociationTime" + "aws.protocols#ec2QueryName": "StatusMessage", + "smithy.api#documentation": "

The status message related to the export task.

", + "smithy.api#xmlName": "statusMessage" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the association between an instance and an Elastic Graphics accelerator.

" - } - }, - "com.amazonaws.ec2#ElasticGpuAssociationList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ElasticGpuAssociation", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#ElasticGpuHealth": { - "type": "structure", - "members": { - "Status": { - "target": "com.amazonaws.ec2#ElasticGpuStatus", + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The health status.

", - "smithy.api#xmlName": "status" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags for the export task.

", + "smithy.api#xmlName": "tagSet" } } }, "traits": { - "smithy.api#documentation": "

Describes the status of an Elastic Graphics accelerator.

" + "smithy.api#documentation": "

Describes an export instance task.

" } }, - "com.amazonaws.ec2#ElasticGpuId": { + "com.amazonaws.ec2#ExportTaskId": { "type": "string" }, - "com.amazonaws.ec2#ElasticGpuIdSet": { + "com.amazonaws.ec2#ExportTaskIdStringList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#ElasticGpuId", + "target": "com.amazonaws.ec2#ExportTaskId", "traits": { - "smithy.api#xmlName": "item" + "smithy.api#xmlName": "ExportTaskId" } } }, - "com.amazonaws.ec2#ElasticGpuSet": { + "com.amazonaws.ec2#ExportTaskList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#ElasticGpus", + "target": "com.amazonaws.ec2#ExportTask", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#ElasticGpuSpecification": { + "com.amazonaws.ec2#ExportTaskS3Location": { "type": "structure", "members": { - "Type": { + "S3Bucket": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The type of Elastic Graphics accelerator. For more information about the values to specify for\n Type, see Elastic Graphics Basics, specifically the Elastic Graphics accelerator column, in the \n Amazon Elastic Compute Cloud User Guide for Windows Instances.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "S3Bucket", + "smithy.api#documentation": "

The destination Amazon S3 bucket.

", + "smithy.api#xmlName": "s3Bucket" + } + }, + "S3Prefix": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "S3Prefix", + "smithy.api#documentation": "

The prefix (logical hierarchy) in the bucket.

", + "smithy.api#xmlName": "s3Prefix" } } }, "traits": { - "smithy.api#documentation": "

A specification for an Elastic Graphics accelerator.

" - } - }, - "com.amazonaws.ec2#ElasticGpuSpecificationList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ElasticGpuSpecification", - "traits": { - "smithy.api#xmlName": "ElasticGpuSpecification" - } + "smithy.api#documentation": "

Describes the destination for an export image task.

" } }, - "com.amazonaws.ec2#ElasticGpuSpecificationResponse": { + "com.amazonaws.ec2#ExportTaskS3LocationRequest": { "type": "structure", "members": { - "Type": { + "S3Bucket": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Type", - "smithy.api#documentation": "

The elastic GPU type.

", - "smithy.api#xmlName": "type" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The destination Amazon S3 bucket.

", + "smithy.api#required": {} + } + }, + "S3Prefix": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The prefix (logical hierarchy) in the bucket.

" } } }, "traits": { - "smithy.api#documentation": "

Describes an elastic GPU.

" - } - }, - "com.amazonaws.ec2#ElasticGpuSpecificationResponseList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ElasticGpuSpecificationResponse", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#ElasticGpuSpecifications": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ElasticGpuSpecification", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

Describes the destination for an export image task.

" } }, - "com.amazonaws.ec2#ElasticGpuState": { + "com.amazonaws.ec2#ExportTaskState": { "type": "enum", "members": { - "Attached": { + "active": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "ATTACHED" + "smithy.api#enumValue": "active" } - } - } - }, - "com.amazonaws.ec2#ElasticGpuStatus": { - "type": "enum", - "members": { - "Ok": { + }, + "cancelling": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "OK" + "smithy.api#enumValue": "cancelling" } }, - "Impaired": { + "cancelled": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "IMPAIRED" + "smithy.api#enumValue": "cancelled" + } + }, + "completed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "completed" } } } }, - "com.amazonaws.ec2#ElasticGpus": { + "com.amazonaws.ec2#ExportToS3Task": { "type": "structure", "members": { - "ElasticGpuId": { - "target": "com.amazonaws.ec2#String", + "ContainerFormat": { + "target": "com.amazonaws.ec2#ContainerFormat", "traits": { - "aws.protocols#ec2QueryName": "ElasticGpuId", - "smithy.api#documentation": "

The ID of the Elastic Graphics accelerator.

", - "smithy.api#xmlName": "elasticGpuId" + "aws.protocols#ec2QueryName": "ContainerFormat", + "smithy.api#documentation": "

The container format used to combine disk images with metadata (such as OVF). If absent, only the disk image is\n exported.

", + "smithy.api#xmlName": "containerFormat" } }, - "AvailabilityZone": { - "target": "com.amazonaws.ec2#String", + "DiskImageFormat": { + "target": "com.amazonaws.ec2#DiskImageFormat", "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZone", - "smithy.api#documentation": "

The Availability Zone in the which the Elastic Graphics accelerator resides.

", - "smithy.api#xmlName": "availabilityZone" + "aws.protocols#ec2QueryName": "DiskImageFormat", + "smithy.api#documentation": "

The format for the exported image.

", + "smithy.api#xmlName": "diskImageFormat" } }, - "ElasticGpuType": { + "S3Bucket": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ElasticGpuType", - "smithy.api#documentation": "

The type of Elastic Graphics accelerator.

", - "smithy.api#xmlName": "elasticGpuType" + "aws.protocols#ec2QueryName": "S3Bucket", + "smithy.api#documentation": "

The Amazon S3 bucket for the destination image. The destination bucket must exist and have\n an access control list (ACL) attached that specifies the Region-specific canonical account ID for\n the Grantee. For more information about the ACL to your S3 bucket, see Prerequisites in the VM Import/Export User Guide.

", + "smithy.api#xmlName": "s3Bucket" } }, - "ElasticGpuHealth": { - "target": "com.amazonaws.ec2#ElasticGpuHealth", + "S3Key": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ElasticGpuHealth", - "smithy.api#documentation": "

The status of the Elastic Graphics accelerator.

", - "smithy.api#xmlName": "elasticGpuHealth" + "aws.protocols#ec2QueryName": "S3Key", + "smithy.api#documentation": "

The encryption key for your S3 bucket.

", + "smithy.api#xmlName": "s3Key" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the format and location for the export task.

" + } + }, + "com.amazonaws.ec2#ExportToS3TaskSpecification": { + "type": "structure", + "members": { + "ContainerFormat": { + "target": "com.amazonaws.ec2#ContainerFormat", + "traits": { + "aws.protocols#ec2QueryName": "ContainerFormat", + "smithy.api#documentation": "

The container format used to combine disk images with metadata (such as OVF). If absent, only the disk image is\n exported.

", + "smithy.api#xmlName": "containerFormat" } }, - "ElasticGpuState": { - "target": "com.amazonaws.ec2#ElasticGpuState", + "DiskImageFormat": { + "target": "com.amazonaws.ec2#DiskImageFormat", "traits": { - "aws.protocols#ec2QueryName": "ElasticGpuState", - "smithy.api#documentation": "

The state of the Elastic Graphics accelerator.

", - "smithy.api#xmlName": "elasticGpuState" + "aws.protocols#ec2QueryName": "DiskImageFormat", + "smithy.api#documentation": "

The format for the exported image.

", + "smithy.api#xmlName": "diskImageFormat" } }, - "InstanceId": { + "S3Bucket": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#documentation": "

The ID of the instance to which the Elastic Graphics accelerator is attached.

", - "smithy.api#xmlName": "instanceId" + "aws.protocols#ec2QueryName": "S3Bucket", + "smithy.api#documentation": "

The Amazon S3 bucket for the destination image. The destination bucket must exist and have\n an access control list (ACL) attached that specifies the Region-specific canonical account ID for\n the Grantee. For more information about the ACL to your S3 bucket, see Prerequisites in the VM Import/Export User Guide.

", + "smithy.api#xmlName": "s3Bucket" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "S3Prefix": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags assigned to the Elastic Graphics accelerator.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "S3Prefix", + "smithy.api#documentation": "

The image is written to a single object in the Amazon S3 bucket at the S3 key s3prefix +\n exportTaskId + '.' + diskImageFormat.

", + "smithy.api#xmlName": "s3Prefix" } } }, "traits": { - "smithy.api#documentation": "

Describes an Elastic Graphics accelerator.

" + "smithy.api#documentation": "

Describes an export instance task.

" } }, - "com.amazonaws.ec2#ElasticInferenceAccelerator": { + "com.amazonaws.ec2#ExportTransitGatewayRoutes": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ExportTransitGatewayRoutesRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ExportTransitGatewayRoutesResult" + }, + "traits": { + "smithy.api#documentation": "

Exports routes from the specified transit gateway route table to the specified S3 bucket.\n By default, all routes are exported. Alternatively, you can filter by CIDR range.

\n

The routes are saved to the specified bucket in a JSON file. For more information, see\n Export Route Tables\n to Amazon S3 in Transit Gateways.

" + } + }, + "com.amazonaws.ec2#ExportTransitGatewayRoutesRequest": { "type": "structure", "members": { - "Type": { + "TransitGatewayRouteTableId": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the route table.

", + "smithy.api#required": {} + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n attachment.transit-gateway-attachment-id - The id of the transit gateway attachment.

    \n
  • \n
  • \n

    \n attachment.resource-id - The resource id of the transit gateway attachment.

    \n
  • \n
  • \n

    \n route-search.exact-match - The exact match of the specified filter.

    \n
  • \n
  • \n

    \n route-search.longest-prefix-match - The longest prefix that matches the route.

    \n
  • \n
  • \n

    \n route-search.subnet-of-match - The routes with a subnet that match the specified CIDR filter.

    \n
  • \n
  • \n

    \n route-search.supernet-of-match - The routes with a CIDR that encompass the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31 routes in your route table and you specify supernet-of-match as 10.0.1.0/30, then the result returns 10.0.1.0/29.

    \n
  • \n
  • \n

    \n state - The state of the route (active | blackhole).

    \n
  • \n
  • \n

    \n transit-gateway-route-destination-cidr-block - The CIDR range.

    \n
  • \n
  • \n

    \n type - The type of route (propagated |\n static).

    \n
  • \n
", + "smithy.api#xmlName": "Filter" + } + }, + "S3Bucket": { "target": "com.amazonaws.ec2#String", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

\n \tThe type of elastic inference accelerator. The possible values are eia1.medium, eia1.large, eia1.xlarge, eia2.medium, eia2.large, and eia2.xlarge.\n

", + "smithy.api#documentation": "

The name of the S3 bucket.

", "smithy.api#required": {} } }, - "Count": { - "target": "com.amazonaws.ec2#ElasticInferenceAcceleratorCount", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

\n The number of elastic inference accelerators to attach to the instance. \n

\n

Default: 1

" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

\n Describes an elastic inference accelerator. \n

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ElasticInferenceAcceleratorAssociation": { + "com.amazonaws.ec2#ExportTransitGatewayRoutesResult": { "type": "structure", "members": { - "ElasticInferenceAcceleratorArn": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "ElasticInferenceAcceleratorArn", - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the elastic inference accelerator. \n

", - "smithy.api#xmlName": "elasticInferenceAcceleratorArn" - } - }, - "ElasticInferenceAcceleratorAssociationId": { + "S3Location": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ElasticInferenceAcceleratorAssociationId", - "smithy.api#documentation": "

\n The ID of the association. \n

", - "smithy.api#xmlName": "elasticInferenceAcceleratorAssociationId" + "aws.protocols#ec2QueryName": "S3Location", + "smithy.api#documentation": "

The URL of the exported file in Amazon S3. For example, \n s3://bucket_name/VPCTransitGateway/TransitGatewayRouteTables/file_name.

", + "smithy.api#xmlName": "s3Location" } - }, - "ElasticInferenceAcceleratorAssociationState": { - "target": "com.amazonaws.ec2#String", + } + } + }, + "com.amazonaws.ec2#ExportVmTaskId": { + "type": "string" + }, + "com.amazonaws.ec2#FailedCapacityReservationFleetCancellationResult": { + "type": "structure", + "members": { + "CapacityReservationFleetId": { + "target": "com.amazonaws.ec2#CapacityReservationFleetId", "traits": { - "aws.protocols#ec2QueryName": "ElasticInferenceAcceleratorAssociationState", - "smithy.api#documentation": "

\n The state of the elastic inference accelerator.\n

", - "smithy.api#xmlName": "elasticInferenceAcceleratorAssociationState" + "aws.protocols#ec2QueryName": "CapacityReservationFleetId", + "smithy.api#documentation": "

The ID of the Capacity Reservation Fleet that could not be cancelled.

", + "smithy.api#xmlName": "capacityReservationFleetId" } }, - "ElasticInferenceAcceleratorAssociationTime": { - "target": "com.amazonaws.ec2#DateTime", + "CancelCapacityReservationFleetError": { + "target": "com.amazonaws.ec2#CancelCapacityReservationFleetError", "traits": { - "aws.protocols#ec2QueryName": "ElasticInferenceAcceleratorAssociationTime", - "smithy.api#documentation": "

\n The time at which the elastic inference accelerator is associated with an instance.\n

", - "smithy.api#xmlName": "elasticInferenceAcceleratorAssociationTime" + "aws.protocols#ec2QueryName": "CancelCapacityReservationFleetError", + "smithy.api#documentation": "

Information about the Capacity Reservation Fleet cancellation error.

", + "smithy.api#xmlName": "cancelCapacityReservationFleetError" } } }, "traits": { - "smithy.api#documentation": "

\n Describes the association between an instance and an elastic inference accelerator. \n

" + "smithy.api#documentation": "

Describes a Capacity Reservation Fleet that could not be cancelled.

" } }, - "com.amazonaws.ec2#ElasticInferenceAcceleratorAssociationList": { + "com.amazonaws.ec2#FailedCapacityReservationFleetCancellationResultSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#ElasticInferenceAcceleratorAssociation", + "target": "com.amazonaws.ec2#FailedCapacityReservationFleetCancellationResult", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#ElasticInferenceAcceleratorCount": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 1 + "com.amazonaws.ec2#FailedQueuedPurchaseDeletion": { + "type": "structure", + "members": { + "Error": { + "target": "com.amazonaws.ec2#DeleteQueuedReservedInstancesError", + "traits": { + "aws.protocols#ec2QueryName": "Error", + "smithy.api#documentation": "

The error.

", + "smithy.api#xmlName": "error" + } + }, + "ReservedInstancesId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ReservedInstancesId", + "smithy.api#documentation": "

The ID of the Reserved Instance.

", + "smithy.api#xmlName": "reservedInstancesId" + } } + }, + "traits": { + "smithy.api#documentation": "

Describes a Reserved Instance whose queued purchase was not deleted.

" } }, - "com.amazonaws.ec2#ElasticInferenceAccelerators": { + "com.amazonaws.ec2#FailedQueuedPurchaseDeletionSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#ElasticInferenceAccelerator", + "target": "com.amazonaws.ec2#FailedQueuedPurchaseDeletion", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#ElasticIpAssociationId": { - "type": "string" + "com.amazonaws.ec2#FastLaunchImageIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ImageId", + "traits": { + "smithy.api#xmlName": "ImageId" + } + } }, - "com.amazonaws.ec2#EnaSupport": { - "type": "enum", + "com.amazonaws.ec2#FastLaunchLaunchTemplateSpecificationRequest": { + "type": "structure", "members": { - "unsupported": { - "target": "smithy.api#Unit", + "LaunchTemplateId": { + "target": "com.amazonaws.ec2#LaunchTemplateId", "traits": { - "smithy.api#enumValue": "unsupported" + "smithy.api#documentation": "

The ID of the launch template to use for faster launching for a Windows AMI.

" } }, - "supported": { - "target": "smithy.api#Unit", + "LaunchTemplateName": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "supported" + "smithy.api#documentation": "

The name of the launch template to use for faster launching for a Windows AMI.

" } }, - "required": { - "target": "smithy.api#Unit", + "Version": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "required" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The version of the launch template to use for faster launching for a Windows AMI.

", + "smithy.api#required": {} } } - } - }, - "com.amazonaws.ec2#EnableAddressTransfer": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#EnableAddressTransferRequest" - }, - "output": { - "target": "com.amazonaws.ec2#EnableAddressTransferResult" }, "traits": { - "smithy.api#documentation": "

Enables Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon Virtual Private Cloud User Guide.

" + "smithy.api#documentation": "

Request to create a launch template for a fast-launch enabled Windows AMI.

\n \n

Note - You can specify either the LaunchTemplateName or the \n\t\t\t\tLaunchTemplateId, but not both.

\n
" } }, - "com.amazonaws.ec2#EnableAddressTransferRequest": { + "com.amazonaws.ec2#FastLaunchLaunchTemplateSpecificationResponse": { "type": "structure", "members": { - "AllocationId": { - "target": "com.amazonaws.ec2#AllocationId", + "LaunchTemplateId": { + "target": "com.amazonaws.ec2#LaunchTemplateId", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The allocation ID of an Elastic IP address.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "LaunchTemplateId", + "smithy.api#documentation": "

The ID of the launch template for faster launching of the associated Windows AMI.

", + "smithy.api#xmlName": "launchTemplateId" } }, - "TransferAccountId": { + "LaunchTemplateName": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the account that you want to transfer the Elastic IP address to.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "LaunchTemplateName", + "smithy.api#documentation": "

The name of the launch template for faster launching of the associated Windows AMI.

", + "smithy.api#xmlName": "launchTemplateName" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Version": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "Version", + "smithy.api#documentation": "

The version of the launch template for faster launching of the associated Windows AMI.

", + "smithy.api#xmlName": "version" } } + }, + "traits": { + "smithy.api#documentation": "

Identifies the launch template to use for faster launching of the Windows AMI.

" } }, - "com.amazonaws.ec2#EnableAddressTransferResult": { - "type": "structure", + "com.amazonaws.ec2#FastLaunchResourceType": { + "type": "enum", "members": { - "AddressTransfer": { - "target": "com.amazonaws.ec2#AddressTransfer", + "SNAPSHOT": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AddressTransfer", - "smithy.api#documentation": "

An Elastic IP address transfer.

", - "smithy.api#xmlName": "addressTransfer" + "smithy.api#enumValue": "snapshot" } } } }, - "com.amazonaws.ec2#EnableEbsEncryptionByDefault": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#EnableEbsEncryptionByDefaultRequest" - }, - "output": { - "target": "com.amazonaws.ec2#EnableEbsEncryptionByDefaultResult" - }, - "traits": { - "smithy.api#documentation": "

Enables EBS encryption by default for your account in the current Region.

\n

After you enable encryption by default, the EBS volumes that you create are\n \talways encrypted, either using the default KMS key or the KMS key that you specified\n when you created each volume. For more information, see Amazon EBS encryption in the\n Amazon Elastic Compute Cloud User Guide.

\n \t

You can specify the default KMS key for encryption by default using ModifyEbsDefaultKmsKeyId\n or ResetEbsDefaultKmsKeyId.

\n

Enabling encryption by default has no effect on the encryption status of your \n existing volumes.

\n

After you enable encryption by default, you can no longer launch instances\n using instance types that do not support encryption. For more information, see Supported\n instance types.

" - } - }, - "com.amazonaws.ec2#EnableEbsEncryptionByDefaultRequest": { + "com.amazonaws.ec2#FastLaunchSnapshotConfigurationRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "TargetResourceCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of pre-provisioned snapshots to keep on hand for a fast-launch enabled Windows AMI.

" } } + }, + "traits": { + "smithy.api#documentation": "

Configuration settings for creating and managing pre-provisioned snapshots for a fast-launch enabled Windows AMI.

" } }, - "com.amazonaws.ec2#EnableEbsEncryptionByDefaultResult": { + "com.amazonaws.ec2#FastLaunchSnapshotConfigurationResponse": { "type": "structure", "members": { - "EbsEncryptionByDefault": { - "target": "com.amazonaws.ec2#Boolean", + "TargetResourceCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "EbsEncryptionByDefault", + "aws.protocols#ec2QueryName": "TargetResourceCount", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

The updated status of encryption by default.

", - "smithy.api#xmlName": "ebsEncryptionByDefault" + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of pre-provisioned snapshots requested to keep on hand for a fast-launch enabled Windows AMI.

", + "smithy.api#xmlName": "targetResourceCount" } } - } - }, - "com.amazonaws.ec2#EnableFastLaunch": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#EnableFastLaunchRequest" - }, - "output": { - "target": "com.amazonaws.ec2#EnableFastLaunchResult" }, "traits": { - "smithy.api#documentation": "

When you enable faster launching for a Windows AMI, images are pre-provisioned, \n\t\t\tusing snapshots to launch instances up to 65% faster. To create the optimized Windows \n\t\t\timage, Amazon EC2 launches an instance and runs through Sysprep steps, rebooting as required. \n\t\t\tThen it creates a set of reserved snapshots that are used for subsequent launches. The \n\t\t\treserved snapshots are automatically replenished as they are used, depending on your \n\t\t\tsettings for launch frequency.

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

To change these settings, you must own the AMI.

\n\t\t
" + "smithy.api#documentation": "

Configuration settings for creating and managing pre-provisioned snapshots for a fast-launch enabled Windows AMI.

" } }, - "com.amazonaws.ec2#EnableFastLaunchRequest": { - "type": "structure", + "com.amazonaws.ec2#FastLaunchStateCode": { + "type": "enum", "members": { - "ImageId": { - "target": "com.amazonaws.ec2#ImageId", + "enabling": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the image for which you’re enabling faster launching.

", - "smithy.api#required": {} + "smithy.api#enumValue": "enabling" } }, - "ResourceType": { - "target": "com.amazonaws.ec2#String", + "enabling_failed": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The type of resource to use for pre-provisioning the Windows AMI for faster launching. \n\t\t\tSupported values include: snapshot, which is the default value.

" + "smithy.api#enumValue": "enabling-failed" } }, - "SnapshotConfiguration": { - "target": "com.amazonaws.ec2#FastLaunchSnapshotConfigurationRequest", + "enabled": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Configuration settings for creating and managing the snapshots that are used for \n\t\t\tpre-provisioning the Windows AMI for faster launching. The associated ResourceType \n\t\t\tmust be snapshot.

" + "smithy.api#enumValue": "enabled" } }, - "LaunchTemplate": { - "target": "com.amazonaws.ec2#FastLaunchLaunchTemplateSpecificationRequest", + "enabled_failed": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The launch template to use when launching Windows instances from pre-provisioned \n\t\t\tsnapshots. Launch template parameters can include either the name or ID of the launch \n\t\t\ttemplate, but not both.

" + "smithy.api#enumValue": "enabled-failed" } }, - "MaxParallelLaunches": { - "target": "com.amazonaws.ec2#Integer", + "disabling": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of parallel instances to launch for creating resources. Value must be 6 or greater.

" + "smithy.api#enumValue": "disabling" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "disabling_failed": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "smithy.api#enumValue": "disabling-failed" } } } }, - "com.amazonaws.ec2#EnableFastLaunchResult": { - "type": "structure", + "com.amazonaws.ec2#FastSnapshotRestoreStateCode": { + "type": "enum", "members": { - "ImageId": { - "target": "com.amazonaws.ec2#ImageId", + "enabling": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ImageId", - "smithy.api#documentation": "

The image ID that identifies the Windows AMI for which faster launching was enabled.

", - "smithy.api#xmlName": "imageId" + "smithy.api#enumValue": "enabling" } }, - "ResourceType": { - "target": "com.amazonaws.ec2#FastLaunchResourceType", + "optimizing": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ResourceType", - "smithy.api#documentation": "

The type of resource that was defined for pre-provisioning the Windows AMI for faster launching.

", - "smithy.api#xmlName": "resourceType" + "smithy.api#enumValue": "optimizing" } }, - "SnapshotConfiguration": { - "target": "com.amazonaws.ec2#FastLaunchSnapshotConfigurationResponse", + "enabled": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SnapshotConfiguration", - "smithy.api#documentation": "

The configuration settings that were defined for creating and managing the pre-provisioned snapshots \n\t\t\tfor faster launching of the Windows AMI. This property is returned when the associated \n\t\t\tresourceType is snapshot.

", - "smithy.api#xmlName": "snapshotConfiguration" + "smithy.api#enumValue": "enabled" } }, - "LaunchTemplate": { - "target": "com.amazonaws.ec2#FastLaunchLaunchTemplateSpecificationResponse", + "disabling": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "LaunchTemplate", - "smithy.api#documentation": "

The launch template that is used when launching Windows instances from pre-provisioned snapshots.

", - "smithy.api#xmlName": "launchTemplate" + "smithy.api#enumValue": "disabling" } }, - "MaxParallelLaunches": { - "target": "com.amazonaws.ec2#Integer", + "disabled": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "MaxParallelLaunches", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of parallel instances to launch for creating resources.

", - "smithy.api#xmlName": "maxParallelLaunches" + "smithy.api#enumValue": "disabled" } - }, - "OwnerId": { + } + } + }, + "com.amazonaws.ec2#FederatedAuthentication": { + "type": "structure", + "members": { + "SamlProviderArn": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The owner ID for the Windows AMI for which faster launching was enabled.

", - "smithy.api#xmlName": "ownerId" + "aws.protocols#ec2QueryName": "SamlProviderArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM SAML identity provider.

", + "smithy.api#xmlName": "samlProviderArn" } }, - "State": { - "target": "com.amazonaws.ec2#FastLaunchStateCode", + "SelfServiceSamlProviderArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The current state of faster launching for the specified Windows AMI.

", - "smithy.api#xmlName": "state" + "aws.protocols#ec2QueryName": "SelfServiceSamlProviderArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM SAML identity provider for the self-service portal.

", + "smithy.api#xmlName": "selfServiceSamlProviderArn" } - }, - "StateTransitionReason": { + } + }, + "traits": { + "smithy.api#documentation": "

Describes the IAM SAML identity providers used for federated authentication.

" + } + }, + "com.amazonaws.ec2#FederatedAuthenticationRequest": { + "type": "structure", + "members": { + "SAMLProviderArn": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "StateTransitionReason", - "smithy.api#documentation": "

The reason that the state changed for faster launching for the Windows AMI.

", - "smithy.api#xmlName": "stateTransitionReason" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM SAML identity provider.

" } }, - "StateTransitionTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "SelfServiceSAMLProviderArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "StateTransitionTime", - "smithy.api#documentation": "

The time that the state changed for faster launching for the Windows AMI.

", - "smithy.api#xmlName": "stateTransitionTime" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM SAML identity provider for the self-service portal.

" } } + }, + "traits": { + "smithy.api#documentation": "

The IAM SAML identity provider used for federated authentication.

" } }, - "com.amazonaws.ec2#EnableFastSnapshotRestoreErrorItem": { + "com.amazonaws.ec2#Filter": { "type": "structure", "members": { - "SnapshotId": { + "Name": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SnapshotId", - "smithy.api#documentation": "

The ID of the snapshot.

", - "smithy.api#xmlName": "snapshotId" + "smithy.api#documentation": "

The name of the filter. Filter names are case-sensitive.

" } }, - "FastSnapshotRestoreStateErrors": { - "target": "com.amazonaws.ec2#EnableFastSnapshotRestoreStateErrorSet", + "Values": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "aws.protocols#ec2QueryName": "FastSnapshotRestoreStateErrorSet", - "smithy.api#documentation": "

The errors.

", - "smithy.api#xmlName": "fastSnapshotRestoreStateErrorSet" + "smithy.api#documentation": "

The filter values. Filter values are case-sensitive. If you specify multiple values for a \n filter, the values are joined with an OR, and the request returns all results \n that match any of the specified values.

", + "smithy.api#xmlName": "Value" } } }, "traits": { - "smithy.api#documentation": "

Contains information about the errors that occurred when enabling fast snapshot restores.

" + "smithy.api#documentation": "

A filter name and value pair that is used to return a more specific list of results from a describe operation. \n Filters can be used to match a set of resources by specific criteria, such as tags, attributes, or IDs.

\n

If you specify multiple filters, the filters are joined with an AND, and the request returns only \n results that match all of the specified filters.

" } }, - "com.amazonaws.ec2#EnableFastSnapshotRestoreErrorSet": { + "com.amazonaws.ec2#FilterList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#EnableFastSnapshotRestoreErrorItem", + "target": "com.amazonaws.ec2#Filter", "traits": { - "smithy.api#xmlName": "item" + "smithy.api#xmlName": "Filter" } } }, - "com.amazonaws.ec2#EnableFastSnapshotRestoreStateError": { - "type": "structure", + "com.amazonaws.ec2#FindingsFound": { + "type": "enum", "members": { - "Code": { - "target": "com.amazonaws.ec2#String", + "true": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Code", - "smithy.api#documentation": "

The error code.

", - "smithy.api#xmlName": "code" + "smithy.api#enumValue": "true" } }, - "Message": { - "target": "com.amazonaws.ec2#String", + "false": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Message", - "smithy.api#documentation": "

The error message.

", - "smithy.api#xmlName": "message" + "smithy.api#enumValue": "false" + } + }, + "unknown": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "unknown" } } - }, - "traits": { - "smithy.api#documentation": "

Describes an error that occurred when enabling fast snapshot restores.

" } }, - "com.amazonaws.ec2#EnableFastSnapshotRestoreStateErrorItem": { - "type": "structure", + "com.amazonaws.ec2#FleetActivityStatus": { + "type": "enum", "members": { - "AvailabilityZone": { - "target": "com.amazonaws.ec2#String", + "ERROR": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZone", - "smithy.api#documentation": "

The Availability Zone.

", - "smithy.api#xmlName": "availabilityZone" + "smithy.api#enumValue": "error" } }, - "Error": { - "target": "com.amazonaws.ec2#EnableFastSnapshotRestoreStateError", + "PENDING_FULFILLMENT": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Error", - "smithy.api#documentation": "

The error.

", - "smithy.api#xmlName": "error" + "smithy.api#enumValue": "pending_fulfillment" + } + }, + "PENDING_TERMINATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "pending_termination" + } + }, + "FULFILLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "fulfilled" } - } - }, - "traits": { - "smithy.api#documentation": "

Contains information about an error that occurred when enabling fast snapshot restores.

" - } - }, - "com.amazonaws.ec2#EnableFastSnapshotRestoreStateErrorSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#EnableFastSnapshotRestoreStateErrorItem", - "traits": { - "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#EnableFastSnapshotRestoreSuccessItem": { + "com.amazonaws.ec2#FleetCapacityReservation": { "type": "structure", "members": { - "SnapshotId": { - "target": "com.amazonaws.ec2#String", + "CapacityReservationId": { + "target": "com.amazonaws.ec2#CapacityReservationId", "traits": { - "aws.protocols#ec2QueryName": "SnapshotId", - "smithy.api#documentation": "

The ID of the snapshot.

", - "smithy.api#xmlName": "snapshotId" + "aws.protocols#ec2QueryName": "CapacityReservationId", + "smithy.api#documentation": "

The ID of the Capacity Reservation.

", + "smithy.api#xmlName": "capacityReservationId" } }, - "AvailabilityZone": { + "AvailabilityZoneId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZone", - "smithy.api#documentation": "

The Availability Zone.

", - "smithy.api#xmlName": "availabilityZone" + "aws.protocols#ec2QueryName": "AvailabilityZoneId", + "smithy.api#documentation": "

The ID of the Availability Zone in which the Capacity Reservation reserves capacity.

", + "smithy.api#xmlName": "availabilityZoneId" } }, - "State": { - "target": "com.amazonaws.ec2#FastSnapshotRestoreStateCode", + "InstanceType": { + "target": "com.amazonaws.ec2#InstanceType", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of fast snapshot restores.

", - "smithy.api#xmlName": "state" + "aws.protocols#ec2QueryName": "InstanceType", + "smithy.api#documentation": "

The instance type for which the Capacity Reservation reserves capacity.

", + "smithy.api#xmlName": "instanceType" } }, - "StateTransitionReason": { - "target": "com.amazonaws.ec2#String", + "InstancePlatform": { + "target": "com.amazonaws.ec2#CapacityReservationInstancePlatform", "traits": { - "aws.protocols#ec2QueryName": "StateTransitionReason", - "smithy.api#documentation": "

The reason for the state transition. The possible values are as follows:

\n
    \n
  • \n

    \n Client.UserInitiated - The state successfully transitioned to enabling or\n disabling.

    \n
  • \n
  • \n

    \n Client.UserInitiated - Lifecycle state transition - The state successfully transitioned \n to optimizing, enabled, or disabled.

    \n
  • \n
", - "smithy.api#xmlName": "stateTransitionReason" + "aws.protocols#ec2QueryName": "InstancePlatform", + "smithy.api#documentation": "

The type of operating system for which the Capacity Reservation reserves capacity.

", + "smithy.api#xmlName": "instancePlatform" } }, - "OwnerId": { + "AvailabilityZone": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that enabled fast snapshot restores on the snapshot.

", - "smithy.api#xmlName": "ownerId" + "aws.protocols#ec2QueryName": "AvailabilityZone", + "smithy.api#documentation": "

The Availability Zone in which the Capacity Reservation reserves capacity.

", + "smithy.api#xmlName": "availabilityZone" } }, - "OwnerAlias": { - "target": "com.amazonaws.ec2#String", + "TotalInstanceCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "OwnerAlias", - "smithy.api#documentation": "

The Amazon Web Services owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

", - "smithy.api#xmlName": "ownerAlias" + "aws.protocols#ec2QueryName": "TotalInstanceCount", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The total number of instances for which the Capacity Reservation reserves capacity.

", + "smithy.api#xmlName": "totalInstanceCount" } }, - "EnablingTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "FulfilledCapacity": { + "target": "com.amazonaws.ec2#Double", "traits": { - "aws.protocols#ec2QueryName": "EnablingTime", - "smithy.api#documentation": "

The time at which fast snapshot restores entered the enabling state.

", - "smithy.api#xmlName": "enablingTime" + "aws.protocols#ec2QueryName": "FulfilledCapacity", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of capacity units fulfilled by the Capacity Reservation. For more information, see \n\t\t\t\n\t\t\t\tTotal target capacity in the Amazon EC2 User Guide.

", + "smithy.api#xmlName": "fulfilledCapacity" } }, - "OptimizingTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "EbsOptimized": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "OptimizingTime", - "smithy.api#documentation": "

The time at which fast snapshot restores entered the optimizing state.

", - "smithy.api#xmlName": "optimizingTime" + "aws.protocols#ec2QueryName": "EbsOptimized", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the Capacity Reservation reserves capacity for EBS-optimized instance types.

", + "smithy.api#xmlName": "ebsOptimized" } }, - "EnabledTime": { + "CreateDate": { "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "aws.protocols#ec2QueryName": "EnabledTime", - "smithy.api#documentation": "

The time at which fast snapshot restores entered the enabled state.

", - "smithy.api#xmlName": "enabledTime" + "aws.protocols#ec2QueryName": "CreateDate", + "smithy.api#documentation": "

The date and time at which the Capacity Reservation was created.

", + "smithy.api#xmlName": "createDate" } }, - "DisablingTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "Weight": { + "target": "com.amazonaws.ec2#DoubleWithConstraints", "traits": { - "aws.protocols#ec2QueryName": "DisablingTime", - "smithy.api#documentation": "

The time at which fast snapshot restores entered the disabling state.

", - "smithy.api#xmlName": "disablingTime" + "aws.protocols#ec2QueryName": "Weight", + "smithy.api#documentation": "

The weight of the instance type in the Capacity Reservation Fleet. For more information, \n\t\t\tsee \n\t\t\t\tInstance type weight in the Amazon EC2 User Guide.

", + "smithy.api#xmlName": "weight" } }, - "DisabledTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "Priority": { + "target": "com.amazonaws.ec2#IntegerWithConstraints", "traits": { - "aws.protocols#ec2QueryName": "DisabledTime", - "smithy.api#documentation": "

The time at which fast snapshot restores entered the disabled state.

", - "smithy.api#xmlName": "disabledTime" + "aws.protocols#ec2QueryName": "Priority", + "smithy.api#documentation": "

The priority of the instance type in the Capacity Reservation Fleet. For more information, \n\t\t\tsee \n\t\t\t\tInstance type priority in the Amazon EC2 User Guide.

", + "smithy.api#xmlName": "priority" } } }, "traits": { - "smithy.api#documentation": "

Describes fast snapshot restores that were successfully enabled.

" + "smithy.api#documentation": "

Information about a Capacity Reservation in a Capacity Reservation Fleet.

" } }, - "com.amazonaws.ec2#EnableFastSnapshotRestoreSuccessSet": { + "com.amazonaws.ec2#FleetCapacityReservationSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#EnableFastSnapshotRestoreSuccessItem", + "target": "com.amazonaws.ec2#FleetCapacityReservation", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#EnableFastSnapshotRestores": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#EnableFastSnapshotRestoresRequest" - }, - "output": { - "target": "com.amazonaws.ec2#EnableFastSnapshotRestoresResult" - }, - "traits": { - "smithy.api#documentation": "

Enables fast snapshot restores for the specified snapshots in the specified Availability Zones.

\n

You get the full benefit of fast snapshot restores after they enter the enabled state.\n To get the current state of fast snapshot restores, use DescribeFastSnapshotRestores.\n To disable fast snapshot restores, use DisableFastSnapshotRestores.

\n

For more information, see Amazon EBS fast snapshot\n restore in the Amazon Elastic Compute Cloud User Guide.

" - } - }, - "com.amazonaws.ec2#EnableFastSnapshotRestoresRequest": { - "type": "structure", + "com.amazonaws.ec2#FleetCapacityReservationTenancy": { + "type": "enum", "members": { - "AvailabilityZones": { - "target": "com.amazonaws.ec2#AvailabilityZoneStringList", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

One or more Availability Zones. For example, us-east-2a.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "AvailabilityZone" - } - }, - "SourceSnapshotIds": { - "target": "com.amazonaws.ec2#SnapshotIdStringList", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IDs of one or more snapshots. For example, snap-1234567890abcdef0. You can specify\n a snapshot that was shared with you from another Amazon Web Services account.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "SourceSnapshotId" - } - }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "default": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#enumValue": "default" } } } }, - "com.amazonaws.ec2#EnableFastSnapshotRestoresResult": { - "type": "structure", + "com.amazonaws.ec2#FleetCapacityReservationUsageStrategy": { + "type": "enum", "members": { - "Successful": { - "target": "com.amazonaws.ec2#EnableFastSnapshotRestoreSuccessSet", - "traits": { - "aws.protocols#ec2QueryName": "Successful", - "smithy.api#documentation": "

Information about the snapshots for which fast snapshot restores were successfully enabled.

", - "smithy.api#xmlName": "successful" - } - }, - "Unsuccessful": { - "target": "com.amazonaws.ec2#EnableFastSnapshotRestoreErrorSet", + "USE_CAPACITY_RESERVATIONS_FIRST": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Unsuccessful", - "smithy.api#documentation": "

Information about the snapshots for which fast snapshot restores could not be enabled.

", - "smithy.api#xmlName": "unsuccessful" + "smithy.api#enumValue": "use-capacity-reservations-first" } } } }, - "com.amazonaws.ec2#EnableImageDeprecation": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#EnableImageDeprecationRequest" - }, - "output": { - "target": "com.amazonaws.ec2#EnableImageDeprecationResult" - }, - "traits": { - "smithy.api#documentation": "

Enables deprecation of the specified AMI at the specified date and time.

\n

For more information, see Deprecate an AMI in the Amazon Elastic Compute Cloud User Guide.

" - } - }, - "com.amazonaws.ec2#EnableImageDeprecationRequest": { + "com.amazonaws.ec2#FleetData": { "type": "structure", "members": { - "ImageId": { - "target": "com.amazonaws.ec2#ImageId", + "ActivityStatus": { + "target": "com.amazonaws.ec2#FleetActivityStatus", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the AMI.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "ActivityStatus", + "smithy.api#documentation": "

The progress of the EC2 Fleet. If there is an error, the status is error. After\n all requests are placed, the status is pending_fulfillment. If the size of the\n EC2 Fleet is equal to or greater than its target capacity, the status is fulfilled.\n If the size of the EC2 Fleet is decreased, the status is pending_termination while\n instances are terminating.

", + "smithy.api#xmlName": "activityStatus" } }, - "DeprecateAt": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "CreateTime": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The date and time to deprecate the AMI, in UTC, in the following format:\n YYYY-MM-DDTHH:MM:SSZ.\n If you specify a value for seconds, Amazon EC2 rounds the seconds to the\n nearest minute.

\n

You can’t specify a date in the past. The upper limit for DeprecateAt is 10\n years from now, except for public AMIs, where the upper limit is 2 years from the creation date.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "CreateTime", + "smithy.api#documentation": "

The creation date and time of the EC2 Fleet.

", + "smithy.api#xmlName": "createTime" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

" - } - } - } - }, - "com.amazonaws.ec2#EnableImageDeprecationResult": { - "type": "structure", - "members": { - "Return": { - "target": "com.amazonaws.ec2#Boolean", + "FleetId": { + "target": "com.amazonaws.ec2#FleetId", "traits": { - "aws.protocols#ec2QueryName": "Return", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "smithy.api#xmlName": "return" + "aws.protocols#ec2QueryName": "FleetId", + "smithy.api#documentation": "

The ID of the EC2 Fleet.

", + "smithy.api#xmlName": "fleetId" } - } - } - }, - "com.amazonaws.ec2#EnableIpamOrganizationAdminAccount": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#EnableIpamOrganizationAdminAccountRequest" - }, - "output": { - "target": "com.amazonaws.ec2#EnableIpamOrganizationAdminAccountResult" - }, - "traits": { - "smithy.api#documentation": "

Enable an Organizations member account as the IPAM admin account. You cannot select the Organizations management account as the IPAM admin account. For more information, see Enable integration with Organizations in the Amazon VPC IPAM User Guide.\n

" - } - }, - "com.amazonaws.ec2#EnableIpamOrganizationAdminAccountRequest": { - "type": "structure", - "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + }, + "FleetState": { + "target": "com.amazonaws.ec2#FleetStateCode", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "FleetState", + "smithy.api#documentation": "

The state of the EC2 Fleet.

", + "smithy.api#xmlName": "fleetState" } }, - "DelegatedAdminAccountId": { + "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The Organizations member account ID that you want to enable as the IPAM account.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "ClientToken", + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. For more information, see Ensuring\n idempotency.

\n

Constraints: Maximum 64 ASCII characters

", + "smithy.api#xmlName": "clientToken" } - } - } - }, - "com.amazonaws.ec2#EnableIpamOrganizationAdminAccountResult": { - "type": "structure", - "members": { - "Success": { - "target": "com.amazonaws.ec2#Boolean", + }, + "ExcessCapacityTerminationPolicy": { + "target": "com.amazonaws.ec2#FleetExcessCapacityTerminationPolicy", "traits": { - "aws.protocols#ec2QueryName": "Success", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

The result of enabling the IPAM account.

", - "smithy.api#xmlName": "success" + "aws.protocols#ec2QueryName": "ExcessCapacityTerminationPolicy", + "smithy.api#documentation": "

Indicates whether running instances should be terminated if the target capacity of the\n EC2 Fleet is decreased below the current size of the EC2 Fleet.

", + "smithy.api#xmlName": "excessCapacityTerminationPolicy" } - } - } - }, - "com.amazonaws.ec2#EnableSerialConsoleAccess": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#EnableSerialConsoleAccessRequest" - }, - "output": { - "target": "com.amazonaws.ec2#EnableSerialConsoleAccessResult" - }, - "traits": { - "smithy.api#documentation": "

Enables access to the EC2 serial console of all instances for your account. By default,\n\t\t\taccess to the EC2 serial console is disabled for your account. For more information, see Manage account access to the EC2 serial console\n\t\t\tin the Amazon EC2 User Guide.

" - } - }, - "com.amazonaws.ec2#EnableSerialConsoleAccessRequest": { - "type": "structure", - "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + }, + "FulfilledCapacity": { + "target": "com.amazonaws.ec2#Double", "traits": { + "aws.protocols#ec2QueryName": "FulfilledCapacity", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of units fulfilled by this request compared to the set target\n capacity.

", + "smithy.api#xmlName": "fulfilledCapacity" } - } - } - }, - "com.amazonaws.ec2#EnableSerialConsoleAccessResult": { - "type": "structure", - "members": { - "SerialConsoleAccessEnabled": { - "target": "com.amazonaws.ec2#Boolean", + }, + "FulfilledOnDemandCapacity": { + "target": "com.amazonaws.ec2#Double", "traits": { - "aws.protocols#ec2QueryName": "SerialConsoleAccessEnabled", + "aws.protocols#ec2QueryName": "FulfilledOnDemandCapacity", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

If true, access to the EC2 serial console of all instances is enabled for\n\t\t\tyour account. If false, access to the EC2 serial console of all instances\n\t\t\tis disabled for your account.

", - "smithy.api#xmlName": "serialConsoleAccessEnabled" + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of units fulfilled by this request compared to the set target On-Demand\n capacity.

", + "smithy.api#xmlName": "fulfilledOnDemandCapacity" } - } - } - }, - "com.amazonaws.ec2#EnableTransitGatewayRouteTablePropagation": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#EnableTransitGatewayRouteTablePropagationRequest" - }, - "output": { - "target": "com.amazonaws.ec2#EnableTransitGatewayRouteTablePropagationResult" - }, - "traits": { - "smithy.api#documentation": "

Enables the specified attachment to propagate routes to the specified\n propagation route table.

" - } - }, - "com.amazonaws.ec2#EnableTransitGatewayRouteTablePropagationRequest": { - "type": "structure", - "members": { - "TransitGatewayRouteTableId": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", + }, + "LaunchTemplateConfigs": { + "target": "com.amazonaws.ec2#FleetLaunchTemplateConfigList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the propagation route table.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "LaunchTemplateConfigs", + "smithy.api#documentation": "

The launch template and overrides.

", + "smithy.api#xmlName": "launchTemplateConfigs" } }, - "TransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", + "TargetCapacitySpecification": { + "target": "com.amazonaws.ec2#TargetCapacitySpecification", "traits": { - "smithy.api#documentation": "

The ID of the attachment.

" + "aws.protocols#ec2QueryName": "TargetCapacitySpecification", + "smithy.api#documentation": "

The number of units to request. You can choose to set the target capacity in terms of\n instances or a performance characteristic that is important to your application workload,\n such as vCPUs, memory, or I/O. If the request type is maintain, you can\n specify a target capacity of 0 and add capacity later.

", + "smithy.api#xmlName": "targetCapacitySpecification" } }, - "DryRun": { + "TerminateInstancesWithExpiration": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "TerminateInstancesWithExpiration", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Indicates whether running instances should be terminated when the EC2 Fleet expires.

", + "smithy.api#xmlName": "terminateInstancesWithExpiration" } }, - "TransitGatewayRouteTableAnnouncementId": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementId", - "traits": { - "smithy.api#documentation": "

The ID of the transit gateway route table announcement.

" - } - } - } - }, - "com.amazonaws.ec2#EnableTransitGatewayRouteTablePropagationResult": { - "type": "structure", - "members": { - "Propagation": { - "target": "com.amazonaws.ec2#TransitGatewayPropagation", - "traits": { - "aws.protocols#ec2QueryName": "Propagation", - "smithy.api#documentation": "

Information about route propagation.

", - "smithy.api#xmlName": "propagation" - } - } - } - }, - "com.amazonaws.ec2#EnableVgwRoutePropagation": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#EnableVgwRoutePropagationRequest" - }, - "output": { - "target": "smithy.api#Unit" - }, - "traits": { - "smithy.api#documentation": "

Enables a virtual private gateway (VGW) to propagate routes to the specified route\n table of a VPC.

" - } - }, - "com.amazonaws.ec2#EnableVgwRoutePropagationRequest": { - "type": "structure", - "members": { - "GatewayId": { - "target": "com.amazonaws.ec2#VpnGatewayId", + "Type": { + "target": "com.amazonaws.ec2#FleetType", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the virtual private gateway that is attached to a VPC. The virtual private\n gateway must be attached to the same VPC that the routing tables are associated with.\n

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "Type", + "smithy.api#documentation": "

The type of request. Indicates whether the EC2 Fleet only requests the target\n capacity, or also attempts to maintain it. If you request a certain target\n capacity, EC2 Fleet only places the required requests; it does not attempt to replenish\n instances if capacity is diminished, and it does not submit requests in alternative\n capacity pools if capacity is unavailable. To maintain a certain target capacity, EC2 Fleet\n places the required requests to meet this target capacity. It also automatically\n replenishes any interrupted Spot Instances. Default: maintain.

", + "smithy.api#xmlName": "type" } }, - "RouteTableId": { - "target": "com.amazonaws.ec2#RouteTableId", + "ValidFrom": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the route table. The routing table must be associated with the same VPC that\n the virtual private gateway is attached to.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "ValidFrom", + "smithy.api#documentation": "

The start date and time of the request, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).\n The default is to start fulfilling the request immediately.

", + "smithy.api#xmlName": "validFrom" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "ValidUntil": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "ValidUntil", + "smithy.api#documentation": "

The end date and time of the request, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).\n At this point, no new instance requests are placed or able to fulfill the request. The\n default end date is 7 days from the current date.

", + "smithy.api#xmlName": "validUntil" } - } - }, - "traits": { - "smithy.api#documentation": "

Contains the parameters for EnableVgwRoutePropagation.

" - } - }, - "com.amazonaws.ec2#EnableVolumeIO": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#EnableVolumeIORequest" - }, - "output": { - "target": "smithy.api#Unit" - }, - "traits": { - "smithy.api#documentation": "

Enables I/O operations for a volume that had I/O operations disabled because the data on\n the volume was potentially inconsistent.

" - } - }, - "com.amazonaws.ec2#EnableVolumeIORequest": { - "type": "structure", - "members": { - "DryRun": { + }, + "ReplaceUnhealthyInstances": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", + "aws.protocols#ec2QueryName": "ReplaceUnhealthyInstances", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Indicates whether EC2 Fleet should replace unhealthy Spot Instances. Supported only for\n fleets of type maintain. For more information, see EC2 Fleet\n health checks in the Amazon EC2 User Guide.

", + "smithy.api#xmlName": "replaceUnhealthyInstances" } }, - "VolumeId": { - "target": "com.amazonaws.ec2#VolumeId", - "traits": { - "aws.protocols#ec2QueryName": "VolumeId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the volume.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "volumeId" - } - } - } - }, - "com.amazonaws.ec2#EnableVpcClassicLink": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#EnableVpcClassicLinkRequest" - }, - "output": { - "target": "com.amazonaws.ec2#EnableVpcClassicLinkResult" - }, - "traits": { - "smithy.api#documentation": "\n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
\n

Enables a VPC for ClassicLink. You can then link EC2-Classic instances to your\n\t\t\tClassicLink-enabled VPC to allow communication over private IP addresses. You cannot\n\t\t\tenable your VPC for ClassicLink if any of your VPC route tables have existing routes for\n\t\t\taddress ranges within the 10.0.0.0/8 IP address range, excluding local\n\t\t\troutes for VPCs in the 10.0.0.0/16 and 10.1.0.0/16 IP address\n\t\t\tranges. For more information, see ClassicLink in the\n\t\t\t\tAmazon Elastic Compute Cloud User Guide.

" - } - }, - "com.amazonaws.ec2#EnableVpcClassicLinkDnsSupport": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#EnableVpcClassicLinkDnsSupportRequest" - }, - "output": { - "target": "com.amazonaws.ec2#EnableVpcClassicLinkDnsSupportResult" - }, - "traits": { - "smithy.api#documentation": "\n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
\n

Enables a VPC to support DNS hostname resolution for ClassicLink. If enabled, the DNS\n\t\t\thostname of a linked EC2-Classic instance resolves to its private IP address when\n\t\t\taddressed from an instance in the VPC to which it's linked. Similarly, the DNS hostname\n\t\t\tof an instance in a VPC resolves to its private IP address when addressed from a linked\n\t\t\tEC2-Classic instance. For more information, see ClassicLink in the\n\t\t\t\tAmazon Elastic Compute Cloud User Guide.

\n

You must specify a VPC ID in the request.

" - } - }, - "com.amazonaws.ec2#EnableVpcClassicLinkDnsSupportRequest": { - "type": "structure", - "members": { - "VpcId": { - "target": "com.amazonaws.ec2#VpcId", + "SpotOptions": { + "target": "com.amazonaws.ec2#SpotOptions", "traits": { - "smithy.api#documentation": "

The ID of the VPC.

", - "smithy.api#xmlName": "VpcId" + "aws.protocols#ec2QueryName": "SpotOptions", + "smithy.api#documentation": "

The configuration of Spot Instances in an EC2 Fleet.

", + "smithy.api#xmlName": "spotOptions" } - } - } - }, - "com.amazonaws.ec2#EnableVpcClassicLinkDnsSupportResult": { - "type": "structure", - "members": { - "Return": { - "target": "com.amazonaws.ec2#Boolean", + }, + "OnDemandOptions": { + "target": "com.amazonaws.ec2#OnDemandOptions", "traits": { - "aws.protocols#ec2QueryName": "Return", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "smithy.api#xmlName": "return" + "aws.protocols#ec2QueryName": "OnDemandOptions", + "smithy.api#documentation": "

The allocation strategy of On-Demand Instances in an EC2 Fleet.

", + "smithy.api#xmlName": "onDemandOptions" } - } - } - }, - "com.amazonaws.ec2#EnableVpcClassicLinkRequest": { - "type": "structure", - "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags for an EC2 Fleet resource.

", + "smithy.api#xmlName": "tagSet" } }, - "VpcId": { - "target": "com.amazonaws.ec2#VpcId", + "Errors": { + "target": "com.amazonaws.ec2#DescribeFleetsErrorSet", "traits": { - "aws.protocols#ec2QueryName": "VpcId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the VPC.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "vpcId" + "aws.protocols#ec2QueryName": "ErrorSet", + "smithy.api#documentation": "

Information about the instances that could not be launched by the fleet. Valid only when\n Type is set to instant.

", + "smithy.api#xmlName": "errorSet" } - } - } - }, - "com.amazonaws.ec2#EnableVpcClassicLinkResult": { - "type": "structure", - "members": { - "Return": { - "target": "com.amazonaws.ec2#Boolean", + }, + "Instances": { + "target": "com.amazonaws.ec2#DescribeFleetsInstancesSet", "traits": { - "aws.protocols#ec2QueryName": "Return", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "smithy.api#xmlName": "return" + "aws.protocols#ec2QueryName": "FleetInstanceSet", + "smithy.api#documentation": "

Information about the instances that were launched by the fleet. Valid only when\n Type is set to instant.

", + "smithy.api#xmlName": "fleetInstanceSet" } - } - } - }, - "com.amazonaws.ec2#EnclaveOptions": { - "type": "structure", - "members": { - "Enabled": { - "target": "com.amazonaws.ec2#Boolean", + }, + "Context": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Enabled", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

If this parameter is set to true, the instance is enabled for Amazon Web Services Nitro Enclaves; otherwise, it is not enabled for Amazon Web Services Nitro\n Enclaves.

", - "smithy.api#xmlName": "enabled" + "aws.protocols#ec2QueryName": "Context", + "smithy.api#documentation": "

Reserved.

", + "smithy.api#xmlName": "context" } } }, "traits": { - "smithy.api#documentation": "

Indicates whether the instance is enabled for Amazon Web Services Nitro\n Enclaves.

" + "smithy.api#documentation": "

Describes an EC2 Fleet.

" } }, - "com.amazonaws.ec2#EnclaveOptionsRequest": { - "type": "structure", + "com.amazonaws.ec2#FleetEventType": { + "type": "enum", "members": { - "Enabled": { - "target": "com.amazonaws.ec2#Boolean", + "INSTANCE_CHANGE": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

To enable the instance for Amazon Web Services Nitro Enclaves, set this parameter to\n true.

" + "smithy.api#enumValue": "instance-change" + } + }, + "FLEET_CHANGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "fleet-change" + } + }, + "SERVICE_ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "service-error" } } - }, - "traits": { - "smithy.api#documentation": "

Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For\n more information, see What is Amazon Web Services Nitro\n Enclaves? in the Amazon Web Services Nitro Enclaves User\n Guide.

" } }, - "com.amazonaws.ec2#EncryptionInTransitSupported": { - "type": "boolean" - }, - "com.amazonaws.ec2#EndDateType": { + "com.amazonaws.ec2#FleetExcessCapacityTerminationPolicy": { "type": "enum", "members": { - "unlimited": { + "NO_TERMINATION": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "unlimited" + "smithy.api#enumValue": "no-termination" } }, - "limited": { + "TERMINATION": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "limited" + "smithy.api#enumValue": "termination" } } } }, - "com.amazonaws.ec2#EndpointSet": { + "com.amazonaws.ec2#FleetId": { + "type": "string" + }, + "com.amazonaws.ec2#FleetIdSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#ClientVpnEndpoint", - "traits": { - "smithy.api#xmlName": "item" - } + "target": "com.amazonaws.ec2#FleetId" } }, - "com.amazonaws.ec2#EphemeralNvmeSupport": { + "com.amazonaws.ec2#FleetInstanceMatchCriteria": { "type": "enum", "members": { - "UNSUPPORTED": { + "open": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "unsupported" + "smithy.api#enumValue": "open" } - }, - "SUPPORTED": { - "target": "smithy.api#Unit", + } + } + }, + "com.amazonaws.ec2#FleetLaunchTemplateConfig": { + "type": "structure", + "members": { + "LaunchTemplateSpecification": { + "target": "com.amazonaws.ec2#FleetLaunchTemplateSpecification", "traits": { - "smithy.api#enumValue": "supported" + "aws.protocols#ec2QueryName": "LaunchTemplateSpecification", + "smithy.api#documentation": "

The launch template.

", + "smithy.api#xmlName": "launchTemplateSpecification" } }, - "REQUIRED": { - "target": "smithy.api#Unit", + "Overrides": { + "target": "com.amazonaws.ec2#FleetLaunchTemplateOverridesList", "traits": { - "smithy.api#enumValue": "required" + "aws.protocols#ec2QueryName": "Overrides", + "smithy.api#documentation": "

Any parameters that you specify override the same parameters in the launch\n template.

", + "smithy.api#xmlName": "overrides" } } + }, + "traits": { + "smithy.api#documentation": "

Describes a launch template and overrides.

" + } + }, + "com.amazonaws.ec2#FleetLaunchTemplateConfigList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#FleetLaunchTemplateConfig", + "traits": { + "smithy.api#xmlName": "item" + } } }, - "com.amazonaws.ec2#ErrorSet": { + "com.amazonaws.ec2#FleetLaunchTemplateConfigListRequest": { "type": "list", "member": { - "target": "com.amazonaws.ec2#ValidationError", + "target": "com.amazonaws.ec2#FleetLaunchTemplateConfigRequest", "traits": { "smithy.api#xmlName": "item" } + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 50 + } } }, - "com.amazonaws.ec2#EventCode": { - "type": "enum", + "com.amazonaws.ec2#FleetLaunchTemplateConfigRequest": { + "type": "structure", "members": { - "instance_reboot": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "instance-reboot" - } - }, - "system_reboot": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "system-reboot" - } - }, - "system_maintenance": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "system-maintenance" - } - }, - "instance_retirement": { - "target": "smithy.api#Unit", + "LaunchTemplateSpecification": { + "target": "com.amazonaws.ec2#FleetLaunchTemplateSpecificationRequest", "traits": { - "smithy.api#enumValue": "instance-retirement" + "smithy.api#documentation": "

The launch template to use. You must specify either the launch template ID or launch\n template name in the request.

" } }, - "instance_stop": { - "target": "smithy.api#Unit", + "Overrides": { + "target": "com.amazonaws.ec2#FleetLaunchTemplateOverridesListRequest", "traits": { - "smithy.api#enumValue": "instance-stop" + "smithy.api#documentation": "

Any parameters that you specify override the same parameters in the launch\n template.

\n

For fleets of type request and maintain, a maximum of 300\n items is allowed across all launch templates.

" } } + }, + "traits": { + "smithy.api#documentation": "

Describes a launch template and overrides.

" } }, - "com.amazonaws.ec2#EventInformation": { + "com.amazonaws.ec2#FleetLaunchTemplateOverrides": { "type": "structure", "members": { - "EventDescription": { - "target": "com.amazonaws.ec2#String", + "InstanceType": { + "target": "com.amazonaws.ec2#InstanceType", "traits": { - "aws.protocols#ec2QueryName": "EventDescription", - "smithy.api#documentation": "

The description of the event.

", - "smithy.api#xmlName": "eventDescription" + "aws.protocols#ec2QueryName": "InstanceType", + "smithy.api#documentation": "

The instance type.

\n \n

If you specify InstanceType, you can't specify\n InstanceRequirements.

\n
", + "smithy.api#xmlName": "instanceType" } }, - "EventSubType": { + "MaxPrice": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "EventSubType", - "smithy.api#documentation": "

The event.

\n \n

\n error events:

\n
    \n
  • \n

    \n iamFleetRoleInvalid - The EC2 Fleet or Spot Fleet does not have the required\n permissions either to launch or terminate an instance.

    \n
  • \n
  • \n

    \n allLaunchSpecsTemporarilyBlacklisted - None of the configurations\n are valid, and several attempts to launch instances have failed. For more\n information, see the description of the event.

    \n
  • \n
  • \n

    \n spotInstanceCountLimitExceeded - You've reached the limit on the\n number of Spot Instances that you can launch.

    \n
  • \n
  • \n

    \n spotFleetRequestConfigurationInvalid - The configuration is not\n valid. For more information, see the description of the event.

    \n
  • \n
\n \n

\n fleetRequestChange events:

\n
    \n
  • \n

    \n active - The EC2 Fleet or Spot Fleet request has been validated and Amazon EC2 is\n attempting to maintain the target number of running instances.

    \n
  • \n
  • \n

    \n deleted (EC2 Fleet) / cancelled (Spot Fleet) - The EC2 Fleet is deleted or the Spot Fleet request is canceled and has no running\n instances. The EC2 Fleet or Spot Fleet will be deleted two days after its instances are\n terminated.

    \n
  • \n
  • \n

    \n deleted_running (EC2 Fleet) / cancelled_running (Spot Fleet) - The EC2 Fleet is deleted or the Spot Fleet request is canceled and does\n not launch additional instances. Its existing instances continue to run until\n they are interrupted or terminated. The request remains in this state until all\n instances are interrupted or terminated.

    \n
  • \n
  • \n

    \n deleted_terminating (EC2 Fleet) / cancelled_terminating (Spot Fleet) - The EC2 Fleet is deleted or the Spot Fleet request is canceled and\n its instances are terminating. The request remains in this state until all\n instances are terminated.

    \n
  • \n
  • \n

    \n expired - The EC2 Fleet or Spot Fleet request has expired. If the request was\n created with TerminateInstancesWithExpiration set, a subsequent\n terminated event indicates that the instances are\n terminated.

    \n
  • \n
  • \n

    \n modify_in_progress - The EC2 Fleet or Spot Fleet request is being modified.\n The request remains in this state until the modification is fully\n processed.

    \n
  • \n
  • \n

    \n modify_succeeded - The EC2 Fleet or Spot Fleet request was modified.

    \n
  • \n
  • \n

    \n submitted - The EC2 Fleet or Spot Fleet request is being evaluated and Amazon EC2\n is preparing to launch the target number of instances.

    \n
  • \n
  • \n

    \n progress - The EC2 Fleet or Spot Fleet request is in the process of being fulfilled.

    \n
  • \n
\n \n

\n instanceChange events:

\n
    \n
  • \n

    \n launched - A new instance was launched.

    \n
  • \n
  • \n

    \n terminated - An instance was terminated by the user.

    \n
  • \n
  • \n

    \n termination_notified - An instance termination notification was\n sent when a Spot Instance was terminated by Amazon EC2 during scale-down, when the target\n capacity of the fleet was modified down, for example, from a target capacity of\n 4 to a target capacity of 3.

    \n
  • \n
\n \n

\n Information events:

\n
    \n
  • \n

    \n fleetProgressHalted - The price in every launch specification is\n not valid because it is below the Spot price (all the launch specifications have\n produced launchSpecUnusable events). A launch specification might\n become valid if the Spot price changes.

    \n
  • \n
  • \n

    \n launchSpecTemporarilyBlacklisted - The configuration is not valid\n and several attempts to launch instances have failed. For more information, see\n the description of the event.

    \n
  • \n
  • \n

    \n launchSpecUnusable - The price in a launch specification is not\n valid because it is below the Spot price.

    \n
  • \n
  • \n

    \n registerWithLoadBalancersFailed - An attempt to register\n instances with load balancers failed. For more information, see the description\n of the event.

    \n
  • \n
", - "smithy.api#xmlName": "eventSubType" + "aws.protocols#ec2QueryName": "MaxPrice", + "smithy.api#documentation": "

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.\n

\n \n

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

\n
", + "smithy.api#xmlName": "maxPrice" } }, - "InstanceId": { + "SubnetId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#documentation": "

The ID of the instance. This information is available only for\n instanceChange events.

", - "smithy.api#xmlName": "instanceId" + "aws.protocols#ec2QueryName": "SubnetId", + "smithy.api#documentation": "

The ID of the subnet in which to launch the instances.

", + "smithy.api#xmlName": "subnetId" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes an EC2 Fleet or Spot Fleet event.

" - } - }, - "com.amazonaws.ec2#EventType": { - "type": "enum", - "members": { - "INSTANCE_CHANGE": { - "target": "smithy.api#Unit", + }, + "AvailabilityZone": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "instanceChange" + "aws.protocols#ec2QueryName": "AvailabilityZone", + "smithy.api#documentation": "

The Availability Zone in which to launch the instances.

", + "smithy.api#xmlName": "availabilityZone" } }, - "BATCH_CHANGE": { - "target": "smithy.api#Unit", + "WeightedCapacity": { + "target": "com.amazonaws.ec2#Double", "traits": { - "smithy.api#enumValue": "fleetRequestChange" + "aws.protocols#ec2QueryName": "WeightedCapacity", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of units provided by the specified instance type.

", + "smithy.api#xmlName": "weightedCapacity" } }, - "ERROR": { - "target": "smithy.api#Unit", + "Priority": { + "target": "com.amazonaws.ec2#Double", "traits": { - "smithy.api#enumValue": "error" + "aws.protocols#ec2QueryName": "Priority", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The priority for the launch template override. The highest priority is launched\n first.

\n

If the On-Demand AllocationStrategy is set to prioritized,\n EC2 Fleet uses priority to determine which launch template override to use first in fulfilling\n On-Demand capacity.

\n

If the Spot AllocationStrategy is set to\n capacity-optimized-prioritized, EC2 Fleet uses priority on a best-effort basis\n to determine which launch template override to use in fulfilling Spot capacity, but\n optimizes for capacity first.

\n

Valid values are whole numbers starting at 0. The lower the number, the\n higher the priority. If no number is set, the override has the lowest priority. You can set\n the same priority for different launch template overrides.

", + "smithy.api#xmlName": "priority" } }, - "INFORMATION": { - "target": "smithy.api#Unit", + "Placement": { + "target": "com.amazonaws.ec2#PlacementResponse", "traits": { - "smithy.api#enumValue": "information" + "aws.protocols#ec2QueryName": "Placement", + "smithy.api#documentation": "

The location where the instance launched, if applicable.

", + "smithy.api#xmlName": "placement" } - } - } - }, - "com.amazonaws.ec2#ExcessCapacityTerminationPolicy": { - "type": "enum", - "members": { - "NO_TERMINATION": { - "target": "smithy.api#Unit", + }, + "InstanceRequirements": { + "target": "com.amazonaws.ec2#InstanceRequirements", "traits": { - "smithy.api#enumValue": "noTermination" + "aws.protocols#ec2QueryName": "InstanceRequirements", + "smithy.api#documentation": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with those attributes.

\n \n

If you specify InstanceRequirements, you can't specify\n InstanceType.

\n
", + "smithy.api#xmlName": "instanceRequirements" } }, - "DEFAULT": { - "target": "smithy.api#Unit", + "ImageId": { + "target": "com.amazonaws.ec2#ImageId", "traits": { - "smithy.api#enumValue": "default" + "aws.protocols#ec2QueryName": "ImageId", + "smithy.api#documentation": "

The ID of the AMI. An AMI is required to launch an instance. The AMI ID must be specified here or in the launch template.

", + "smithy.api#xmlName": "imageId" } } - } - }, - "com.amazonaws.ec2#ExcludedInstanceType": { - "type": "string", + }, "traits": { - "smithy.api#length": { - "min": 1, - "max": 30 - }, - "smithy.api#pattern": "^[a-zA-Z0-9\\.\\*]+$" + "smithy.api#documentation": "

Describes overrides for a launch template.

" } }, - "com.amazonaws.ec2#ExcludedInstanceTypeSet": { + "com.amazonaws.ec2#FleetLaunchTemplateOverridesList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#ExcludedInstanceType", + "target": "com.amazonaws.ec2#FleetLaunchTemplateOverrides", "traits": { "smithy.api#xmlName": "item" } - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 400 - } } }, - "com.amazonaws.ec2#ExecutableByStringList": { + "com.amazonaws.ec2#FleetLaunchTemplateOverridesListRequest": { "type": "list", "member": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#FleetLaunchTemplateOverridesRequest", "traits": { - "smithy.api#xmlName": "ExecutableBy" + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#Explanation": { + "com.amazonaws.ec2#FleetLaunchTemplateOverridesRequest": { "type": "structure", "members": { - "Acl": { - "target": "com.amazonaws.ec2#AnalysisComponent", - "traits": { - "aws.protocols#ec2QueryName": "Acl", - "smithy.api#documentation": "

The network ACL.

", - "smithy.api#xmlName": "acl" - } - }, - "AclRule": { - "target": "com.amazonaws.ec2#AnalysisAclRule", + "InstanceType": { + "target": "com.amazonaws.ec2#InstanceType", "traits": { - "aws.protocols#ec2QueryName": "AclRule", - "smithy.api#documentation": "

The network ACL rule.

", - "smithy.api#xmlName": "aclRule" + "smithy.api#documentation": "

The instance type.

\n \n

If you specify InstanceType, you can't specify\n InstanceRequirements.

\n
" } }, - "Address": { - "target": "com.amazonaws.ec2#IpAddress", + "MaxPrice": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Address", - "smithy.api#documentation": "

The IPv4 address, in CIDR notation.

", - "smithy.api#xmlName": "address" + "smithy.api#documentation": "

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.\n

\n \n

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

\n
" } }, - "Addresses": { - "target": "com.amazonaws.ec2#IpAddressList", + "SubnetId": { + "target": "com.amazonaws.ec2#SubnetId", "traits": { - "aws.protocols#ec2QueryName": "AddressSet", - "smithy.api#documentation": "

The IPv4 addresses, in CIDR notation.

", - "smithy.api#xmlName": "addressSet" + "smithy.api#documentation": "

The IDs of the subnets in which to launch the instances. Separate multiple subnet IDs using commas (for example, subnet-1234abcdeexample1, subnet-0987cdef6example2). A request of type instant can have only one subnet ID.

" } }, - "AttachedTo": { - "target": "com.amazonaws.ec2#AnalysisComponent", + "AvailabilityZone": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AttachedTo", - "smithy.api#documentation": "

The resource to which the component is attached.

", - "smithy.api#xmlName": "attachedTo" + "smithy.api#documentation": "

The Availability Zone in which to launch the instances.

" } }, - "AvailabilityZones": { - "target": "com.amazonaws.ec2#ValueStringList", + "WeightedCapacity": { + "target": "com.amazonaws.ec2#Double", "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZoneSet", - "smithy.api#documentation": "

The Availability Zones.

", - "smithy.api#xmlName": "availabilityZoneSet" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of units provided by the specified instance type.

" } }, - "Cidrs": { - "target": "com.amazonaws.ec2#ValueStringList", + "Priority": { + "target": "com.amazonaws.ec2#Double", "traits": { - "aws.protocols#ec2QueryName": "CidrSet", - "smithy.api#documentation": "

The CIDR ranges.

", - "smithy.api#xmlName": "cidrSet" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The priority for the launch template override. The highest priority is launched\n first.

\n

If the On-Demand AllocationStrategy is set to prioritized,\n EC2 Fleet uses priority to determine which launch template override to use first in fulfilling\n On-Demand capacity.

\n

If the Spot AllocationStrategy is set to\n capacity-optimized-prioritized, EC2 Fleet uses priority on a best-effort basis\n to determine which launch template override to use in fulfilling Spot capacity, but\n optimizes for capacity first.

\n

Valid values are whole numbers starting at 0. The lower the number, the\n higher the priority. If no number is set, the launch template override has the lowest\n priority. You can set the same priority for different launch template overrides.

" } }, - "Component": { - "target": "com.amazonaws.ec2#AnalysisComponent", + "Placement": { + "target": "com.amazonaws.ec2#Placement", "traits": { - "aws.protocols#ec2QueryName": "Component", - "smithy.api#documentation": "

The component.

", - "smithy.api#xmlName": "component" + "smithy.api#documentation": "

The location where the instance launched, if applicable.

" } }, - "CustomerGateway": { - "target": "com.amazonaws.ec2#AnalysisComponent", + "InstanceRequirements": { + "target": "com.amazonaws.ec2#InstanceRequirementsRequest", "traits": { - "aws.protocols#ec2QueryName": "CustomerGateway", - "smithy.api#documentation": "

The customer gateway.

", - "smithy.api#xmlName": "customerGateway" + "smithy.api#documentation": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with those attributes.

\n \n

If you specify InstanceRequirements, you can't specify\n InstanceType.

\n
" } }, - "Destination": { - "target": "com.amazonaws.ec2#AnalysisComponent", + "ImageId": { + "target": "com.amazonaws.ec2#ImageId", "traits": { - "aws.protocols#ec2QueryName": "Destination", - "smithy.api#documentation": "

The destination.

", - "smithy.api#xmlName": "destination" + "smithy.api#documentation": "

The ID of the AMI. An AMI is required to launch an instance. The AMI ID must be specified here or in the launch template.

" } - }, - "DestinationVpc": { - "target": "com.amazonaws.ec2#AnalysisComponent", + } + }, + "traits": { + "smithy.api#documentation": "

Describes overrides for a launch template.

" + } + }, + "com.amazonaws.ec2#FleetLaunchTemplateSpecification": { + "type": "structure", + "members": { + "LaunchTemplateId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DestinationVpc", - "smithy.api#documentation": "

The destination VPC.

", - "smithy.api#xmlName": "destinationVpc" + "aws.protocols#ec2QueryName": "LaunchTemplateId", + "smithy.api#documentation": "

The ID of the launch template.

\n

You must specify the LaunchTemplateId or the LaunchTemplateName, but not both.

", + "smithy.api#xmlName": "launchTemplateId" } }, - "Direction": { - "target": "com.amazonaws.ec2#String", + "LaunchTemplateName": { + "target": "com.amazonaws.ec2#LaunchTemplateName", "traits": { - "aws.protocols#ec2QueryName": "Direction", - "smithy.api#documentation": "

The direction. The following are the possible values:

\n
    \n
  • \n

    egress

    \n
  • \n
  • \n

    ingress

    \n
  • \n
", - "smithy.api#xmlName": "direction" + "aws.protocols#ec2QueryName": "LaunchTemplateName", + "smithy.api#documentation": "

The name of the launch template.

\n

You must specify the LaunchTemplateName or the LaunchTemplateId, but not both.

", + "smithy.api#xmlName": "launchTemplateName" } }, - "ExplanationCode": { + "Version": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ExplanationCode", - "smithy.api#documentation": "

The explanation code.

", - "smithy.api#xmlName": "explanationCode" + "aws.protocols#ec2QueryName": "Version", + "smithy.api#documentation": "

The launch template version number, $Latest, or $Default.\n You must specify a value, otherwise the request fails.

\n

If the value is $Latest, Amazon EC2 uses the latest version of the launch\n template.

\n

If the value is $Default, Amazon EC2 uses the default version of the launch\n template.

", + "smithy.api#xmlName": "version" } - }, - "IngressRouteTable": { - "target": "com.amazonaws.ec2#AnalysisComponent", + } + }, + "traits": { + "smithy.api#documentation": "

The Amazon EC2 launch template that can be used by\n a Spot Fleet to configure Amazon EC2 instances. You must specify either the ID or name of the launch template in the request, but not both.

\n

For information about launch templates,\n see Launch an instance from a launch template in the\n Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#FleetLaunchTemplateSpecificationRequest": { + "type": "structure", + "members": { + "LaunchTemplateId": { + "target": "com.amazonaws.ec2#LaunchTemplateId", "traits": { - "aws.protocols#ec2QueryName": "IngressRouteTable", - "smithy.api#documentation": "

The route table.

", - "smithy.api#xmlName": "ingressRouteTable" + "smithy.api#documentation": "

The ID of the launch template.

\n

You must specify the LaunchTemplateId or the LaunchTemplateName, but not both.

" } }, - "InternetGateway": { - "target": "com.amazonaws.ec2#AnalysisComponent", + "LaunchTemplateName": { + "target": "com.amazonaws.ec2#LaunchTemplateName", "traits": { - "aws.protocols#ec2QueryName": "InternetGateway", - "smithy.api#documentation": "

The internet gateway.

", - "smithy.api#xmlName": "internetGateway" + "smithy.api#documentation": "

The name of the launch template.

\n

You must specify the LaunchTemplateName or the LaunchTemplateId, but not both.

" } }, - "LoadBalancerArn": { - "target": "com.amazonaws.ec2#ResourceArn", + "Version": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "LoadBalancerArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the load balancer.

", - "smithy.api#xmlName": "loadBalancerArn" + "smithy.api#documentation": "

The launch template version number, $Latest, or $Default. You must specify a value, otherwise the request fails.

\n

If the value is $Latest, Amazon EC2 uses the latest version of the launch template.

\n

If the value is $Default, Amazon EC2 uses the default version of the launch template.

" } - }, - "ClassicLoadBalancerListener": { - "target": "com.amazonaws.ec2#AnalysisLoadBalancerListener", - "traits": { - "aws.protocols#ec2QueryName": "ClassicLoadBalancerListener", - "smithy.api#documentation": "

The listener for a Classic Load Balancer.

", - "smithy.api#xmlName": "classicLoadBalancerListener" + } + }, + "traits": { + "smithy.api#documentation": "

The Amazon EC2 launch template that can be used by\n an EC2 Fleet to configure Amazon EC2 instances. You must specify either the ID or name of the launch template in the request, but not both.

\n

For information about launch templates, see Launch\n an instance from a launch template in the\n Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#FleetOnDemandAllocationStrategy": { + "type": "enum", + "members": { + "LOWEST_PRICE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "lowest-price" } }, - "LoadBalancerListenerPort": { - "target": "com.amazonaws.ec2#Port", + "PRIORITIZED": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "LoadBalancerListenerPort", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The listener port of the load balancer.

", - "smithy.api#xmlName": "loadBalancerListenerPort" + "smithy.api#enumValue": "prioritized" } - }, - "LoadBalancerTarget": { - "target": "com.amazonaws.ec2#AnalysisLoadBalancerTarget", + } + } + }, + "com.amazonaws.ec2#FleetReplacementStrategy": { + "type": "enum", + "members": { + "LAUNCH": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "LoadBalancerTarget", - "smithy.api#documentation": "

The target.

", - "smithy.api#xmlName": "loadBalancerTarget" + "smithy.api#enumValue": "launch" } }, - "LoadBalancerTargetGroup": { - "target": "com.amazonaws.ec2#AnalysisComponent", + "LAUNCH_BEFORE_TERMINATE": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "LoadBalancerTargetGroup", - "smithy.api#documentation": "

The target group.

", - "smithy.api#xmlName": "loadBalancerTargetGroup" + "smithy.api#enumValue": "launch-before-terminate" } - }, - "LoadBalancerTargetGroups": { - "target": "com.amazonaws.ec2#AnalysisComponentList", + } + } + }, + "com.amazonaws.ec2#FleetSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#FleetData", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#FleetSpotCapacityRebalance": { + "type": "structure", + "members": { + "ReplacementStrategy": { + "target": "com.amazonaws.ec2#FleetReplacementStrategy", "traits": { - "aws.protocols#ec2QueryName": "LoadBalancerTargetGroupSet", - "smithy.api#documentation": "

The target groups.

", - "smithy.api#xmlName": "loadBalancerTargetGroupSet" + "aws.protocols#ec2QueryName": "ReplacementStrategy", + "smithy.api#documentation": "

The replacement strategy to use. Only available for fleets of type\n maintain.

\n

\n launch - EC2 Fleet launches a new replacement Spot Instance when a\n rebalance notification is emitted for an existing Spot Instance in the fleet. EC2 Fleet\n does not terminate the instances that receive a rebalance notification. You can terminate\n the old instances, or you can leave them running. You are charged for all instances while\n they are running.

\n

\n launch-before-terminate - EC2 Fleet launches a new replacement Spot\n Instance when a rebalance notification is emitted for an existing Spot Instance in the\n fleet, and then, after a delay that you specify (in TerminationDelay),\n terminates the instances that received a rebalance notification.

", + "smithy.api#xmlName": "replacementStrategy" } }, - "LoadBalancerTargetPort": { - "target": "com.amazonaws.ec2#Port", + "TerminationDelay": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "LoadBalancerTargetPort", + "aws.protocols#ec2QueryName": "TerminationDelay", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The target port.

", - "smithy.api#xmlName": "loadBalancerTargetPort" + "smithy.api#documentation": "

The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot\n Instance after launching a new replacement Spot Instance.

\n

Required when ReplacementStrategy is set to launch-before-terminate.

\n

Not valid when ReplacementStrategy is set to launch.

\n

Valid values: Minimum value of 120 seconds. Maximum value of 7200 seconds.

", + "smithy.api#xmlName": "terminationDelay" } - }, - "ElasticLoadBalancerListener": { - "target": "com.amazonaws.ec2#AnalysisComponent", + } + }, + "traits": { + "smithy.api#documentation": "

The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an\n elevated risk of being interrupted.

" + } + }, + "com.amazonaws.ec2#FleetSpotCapacityRebalanceRequest": { + "type": "structure", + "members": { + "ReplacementStrategy": { + "target": "com.amazonaws.ec2#FleetReplacementStrategy", "traits": { - "aws.protocols#ec2QueryName": "ElasticLoadBalancerListener", - "smithy.api#documentation": "

The load balancer listener.

", - "smithy.api#xmlName": "elasticLoadBalancerListener" + "smithy.api#documentation": "

The replacement strategy to use. Only available for fleets of type\n maintain.

\n

\n launch - EC2 Fleet launches a replacement Spot Instance when a rebalance\n notification is emitted for an existing Spot Instance in the fleet. EC2 Fleet does not\n terminate the instances that receive a rebalance notification. You can terminate the old\n instances, or you can leave them running. You are charged for all instances while they are\n running.

\n

\n launch-before-terminate - EC2 Fleet launches a replacement Spot Instance\n when a rebalance notification is emitted for an existing Spot Instance in the fleet, and\n then, after a delay that you specify (in TerminationDelay), terminates the\n instances that received a rebalance notification.

" } }, - "MissingComponent": { - "target": "com.amazonaws.ec2#String", + "TerminationDelay": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "MissingComponent", - "smithy.api#documentation": "

The missing component.

", - "smithy.api#xmlName": "missingComponent" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot\n Instance after launching a new replacement Spot Instance.

\n

Required when ReplacementStrategy is set to launch-before-terminate.

\n

Not valid when ReplacementStrategy is set to launch.

\n

Valid values: Minimum value of 120 seconds. Maximum value of 7200 seconds.

" } - }, - "NatGateway": { - "target": "com.amazonaws.ec2#AnalysisComponent", + } + }, + "traits": { + "smithy.api#documentation": "

The Spot Instance replacement strategy to use when Amazon EC2 emits a rebalance\n notification signal that your Spot Instance is at an elevated risk of being interrupted.\n For more information, see Capacity rebalancing in the Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#FleetSpotMaintenanceStrategies": { + "type": "structure", + "members": { + "CapacityRebalance": { + "target": "com.amazonaws.ec2#FleetSpotCapacityRebalance", "traits": { - "aws.protocols#ec2QueryName": "NatGateway", - "smithy.api#documentation": "

The NAT gateway.

", - "smithy.api#xmlName": "natGateway" + "aws.protocols#ec2QueryName": "CapacityRebalance", + "smithy.api#documentation": "

The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an\n elevated risk of being interrupted.

", + "smithy.api#xmlName": "capacityRebalance" } - }, - "NetworkInterface": { - "target": "com.amazonaws.ec2#AnalysisComponent", + } + }, + "traits": { + "smithy.api#documentation": "

The strategies for managing your Spot Instances that are at an elevated risk of being\n interrupted.

" + } + }, + "com.amazonaws.ec2#FleetSpotMaintenanceStrategiesRequest": { + "type": "structure", + "members": { + "CapacityRebalance": { + "target": "com.amazonaws.ec2#FleetSpotCapacityRebalanceRequest", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterface", - "smithy.api#documentation": "

The network interface.

", - "smithy.api#xmlName": "networkInterface" + "smithy.api#documentation": "

The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an\n elevated risk of being interrupted.

" } - }, - "PacketField": { - "target": "com.amazonaws.ec2#String", + } + }, + "traits": { + "smithy.api#documentation": "

The strategies for managing your Spot Instances that are at an elevated risk of being interrupted.

" + } + }, + "com.amazonaws.ec2#FleetStateCode": { + "type": "enum", + "members": { + "SUBMITTED": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "PacketField", - "smithy.api#documentation": "

The packet field.

", - "smithy.api#xmlName": "packetField" + "smithy.api#enumValue": "submitted" } }, - "VpcPeeringConnection": { - "target": "com.amazonaws.ec2#AnalysisComponent", + "ACTIVE": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "VpcPeeringConnection", - "smithy.api#documentation": "

The VPC peering connection.

", - "smithy.api#xmlName": "vpcPeeringConnection" + "smithy.api#enumValue": "active" } }, - "Port": { - "target": "com.amazonaws.ec2#Port", + "DELETED": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Port", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The port.

", - "smithy.api#xmlName": "port" + "smithy.api#enumValue": "deleted" } }, - "PortRanges": { - "target": "com.amazonaws.ec2#PortRangeList", + "FAILED": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "PortRangeSet", - "smithy.api#documentation": "

The port ranges.

", - "smithy.api#xmlName": "portRangeSet" + "smithy.api#enumValue": "failed" } }, - "PrefixList": { - "target": "com.amazonaws.ec2#AnalysisComponent", + "DELETED_RUNNING": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "PrefixList", - "smithy.api#documentation": "

The prefix list.

", - "smithy.api#xmlName": "prefixList" + "smithy.api#enumValue": "deleted_running" } }, - "Protocols": { - "target": "com.amazonaws.ec2#StringList", + "DELETED_TERMINATING_INSTANCES": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ProtocolSet", - "smithy.api#documentation": "

The protocols.

", - "smithy.api#xmlName": "protocolSet" + "smithy.api#enumValue": "deleted_terminating" } }, - "RouteTableRoute": { - "target": "com.amazonaws.ec2#AnalysisRouteTableRoute", + "MODIFYING": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "RouteTableRoute", - "smithy.api#documentation": "

The route table route.

", - "smithy.api#xmlName": "routeTableRoute" + "smithy.api#enumValue": "modifying" } - }, - "RouteTable": { - "target": "com.amazonaws.ec2#AnalysisComponent", + } + } + }, + "com.amazonaws.ec2#FleetType": { + "type": "enum", + "members": { + "REQUEST": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "RouteTable", - "smithy.api#documentation": "

The route table.

", - "smithy.api#xmlName": "routeTable" + "smithy.api#enumValue": "request" } }, - "SecurityGroup": { - "target": "com.amazonaws.ec2#AnalysisComponent", + "MAINTAIN": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SecurityGroup", - "smithy.api#documentation": "

The security group.

", - "smithy.api#xmlName": "securityGroup" + "smithy.api#enumValue": "maintain" } }, - "SecurityGroupRule": { - "target": "com.amazonaws.ec2#AnalysisSecurityGroupRule", + "INSTANT": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SecurityGroupRule", - "smithy.api#documentation": "

The security group rule.

", - "smithy.api#xmlName": "securityGroupRule" + "smithy.api#enumValue": "instant" + } + } + } + }, + "com.amazonaws.ec2#Float": { + "type": "float", + "traits": { + "smithy.api#default": 0 + } + }, + "com.amazonaws.ec2#FlowLog": { + "type": "structure", + "members": { + "CreationTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "CreationTime", + "smithy.api#documentation": "

The date and time the flow log was created.

", + "smithy.api#xmlName": "creationTime" } }, - "SecurityGroups": { - "target": "com.amazonaws.ec2#AnalysisComponentList", + "DeliverLogsErrorMessage": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SecurityGroupSet", - "smithy.api#documentation": "

The security groups.

", - "smithy.api#xmlName": "securityGroupSet" + "aws.protocols#ec2QueryName": "DeliverLogsErrorMessage", + "smithy.api#documentation": "

Information about the error that occurred. Rate limited indicates that\n CloudWatch Logs throttling has been applied for one or more network interfaces, or that you've\n reached the limit on the number of log groups that you can create. Access\n error indicates that the IAM role associated with the flow log does not have\n sufficient permissions to publish to CloudWatch Logs. Unknown error indicates an\n internal error.

", + "smithy.api#xmlName": "deliverLogsErrorMessage" } }, - "SourceVpc": { - "target": "com.amazonaws.ec2#AnalysisComponent", + "DeliverLogsPermissionArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SourceVpc", - "smithy.api#documentation": "

The source VPC.

", - "smithy.api#xmlName": "sourceVpc" + "aws.protocols#ec2QueryName": "DeliverLogsPermissionArn", + "smithy.api#documentation": "

The ARN of the IAM role allows the service to publish logs to CloudWatch Logs.

", + "smithy.api#xmlName": "deliverLogsPermissionArn" } }, - "State": { + "DeliverCrossAccountRole": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state.

", - "smithy.api#xmlName": "state" + "aws.protocols#ec2QueryName": "DeliverCrossAccountRole", + "smithy.api#documentation": "

The ARN of the IAM role that allows the service to publish flow logs across accounts.

", + "smithy.api#xmlName": "deliverCrossAccountRole" } }, - "Subnet": { - "target": "com.amazonaws.ec2#AnalysisComponent", + "DeliverLogsStatus": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Subnet", - "smithy.api#documentation": "

The subnet.

", - "smithy.api#xmlName": "subnet" + "aws.protocols#ec2QueryName": "DeliverLogsStatus", + "smithy.api#documentation": "

The status of the logs delivery (SUCCESS | FAILED).

", + "smithy.api#xmlName": "deliverLogsStatus" } }, - "SubnetRouteTable": { - "target": "com.amazonaws.ec2#AnalysisComponent", + "FlowLogId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SubnetRouteTable", - "smithy.api#documentation": "

The route table for the subnet.

", - "smithy.api#xmlName": "subnetRouteTable" + "aws.protocols#ec2QueryName": "FlowLogId", + "smithy.api#documentation": "

The ID of the flow log.

", + "smithy.api#xmlName": "flowLogId" } }, - "Vpc": { - "target": "com.amazonaws.ec2#AnalysisComponent", + "FlowLogStatus": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Vpc", - "smithy.api#documentation": "

The component VPC.

", - "smithy.api#xmlName": "vpc" + "aws.protocols#ec2QueryName": "FlowLogStatus", + "smithy.api#documentation": "

The status of the flow log (ACTIVE).

", + "smithy.api#xmlName": "flowLogStatus" } }, - "VpcEndpoint": { - "target": "com.amazonaws.ec2#AnalysisComponent", + "LogGroupName": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "VpcEndpoint", - "smithy.api#documentation": "

The VPC endpoint.

", - "smithy.api#xmlName": "vpcEndpoint" + "aws.protocols#ec2QueryName": "LogGroupName", + "smithy.api#documentation": "

The name of the flow log group.

", + "smithy.api#xmlName": "logGroupName" } }, - "VpnConnection": { - "target": "com.amazonaws.ec2#AnalysisComponent", + "ResourceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "VpnConnection", - "smithy.api#documentation": "

The VPN connection.

", - "smithy.api#xmlName": "vpnConnection" + "aws.protocols#ec2QueryName": "ResourceId", + "smithy.api#documentation": "

The ID of the resource being monitored.

", + "smithy.api#xmlName": "resourceId" } }, - "VpnGateway": { - "target": "com.amazonaws.ec2#AnalysisComponent", + "TrafficType": { + "target": "com.amazonaws.ec2#TrafficType", "traits": { - "aws.protocols#ec2QueryName": "VpnGateway", - "smithy.api#documentation": "

The VPN gateway.

", - "smithy.api#xmlName": "vpnGateway" + "aws.protocols#ec2QueryName": "TrafficType", + "smithy.api#documentation": "

The type of traffic captured for the flow log.

", + "smithy.api#xmlName": "trafficType" } }, - "TransitGateway": { - "target": "com.amazonaws.ec2#AnalysisComponent", + "LogDestinationType": { + "target": "com.amazonaws.ec2#LogDestinationType", "traits": { - "aws.protocols#ec2QueryName": "TransitGateway", - "smithy.api#documentation": "

The transit gateway.

", - "smithy.api#xmlName": "transitGateway" + "aws.protocols#ec2QueryName": "LogDestinationType", + "smithy.api#documentation": "

The type of destination for the flow log data.

", + "smithy.api#xmlName": "logDestinationType" } }, - "TransitGatewayRouteTable": { - "target": "com.amazonaws.ec2#AnalysisComponent", + "LogDestination": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayRouteTable", - "smithy.api#documentation": "

The transit gateway route table.

", - "smithy.api#xmlName": "transitGatewayRouteTable" + "aws.protocols#ec2QueryName": "LogDestination", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the destination for the flow log data.

", + "smithy.api#xmlName": "logDestination" } }, - "TransitGatewayRouteTableRoute": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableRoute", + "LogFormat": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayRouteTableRoute", - "smithy.api#documentation": "

The transit gateway route table route.

", - "smithy.api#xmlName": "transitGatewayRouteTableRoute" + "aws.protocols#ec2QueryName": "LogFormat", + "smithy.api#documentation": "

The format of the flow log record.

", + "smithy.api#xmlName": "logFormat" } }, - "TransitGatewayAttachment": { - "target": "com.amazonaws.ec2#AnalysisComponent", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayAttachment", - "smithy.api#documentation": "

The transit gateway attachment.

", - "smithy.api#xmlName": "transitGatewayAttachment" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags for the flow log.

", + "smithy.api#xmlName": "tagSet" } }, - "ComponentAccount": { - "target": "com.amazonaws.ec2#ComponentAccount", + "MaxAggregationInterval": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "ComponentAccount", - "smithy.api#documentation": "

The Amazon Web Services account for the component.

", - "smithy.api#xmlName": "componentAccount" + "aws.protocols#ec2QueryName": "MaxAggregationInterval", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum interval of time, in seconds, during which a flow of packets is captured and aggregated into a flow log record.

\n

When a network interface is attached to a Nitro-based\n instance, the aggregation interval is always 60 seconds (1 minute) or less,\n regardless of the specified value.

\n

Valid Values: 60 | 600\n

", + "smithy.api#xmlName": "maxAggregationInterval" } }, - "ComponentRegion": { - "target": "com.amazonaws.ec2#ComponentRegion", + "DestinationOptions": { + "target": "com.amazonaws.ec2#DestinationOptionsResponse", "traits": { - "aws.protocols#ec2QueryName": "ComponentRegion", - "smithy.api#documentation": "

The Region for the component.

", - "smithy.api#xmlName": "componentRegion" + "aws.protocols#ec2QueryName": "DestinationOptions", + "smithy.api#documentation": "

The destination options.

", + "smithy.api#xmlName": "destinationOptions" } } }, "traits": { - "smithy.api#documentation": "

Describes an explanation code for an unreachable path. For more information, see Reachability Analyzer explanation codes.

" + "smithy.api#documentation": "

Describes a flow log.

" } }, - "com.amazonaws.ec2#ExplanationList": { + "com.amazonaws.ec2#FlowLogIdList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#Explanation", + "target": "com.amazonaws.ec2#VpcFlowLogId", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#ExportClientVpnClientCertificateRevocationList": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ExportClientVpnClientCertificateRevocationListRequest" - }, - "output": { - "target": "com.amazonaws.ec2#ExportClientVpnClientCertificateRevocationListResult" - }, - "traits": { - "smithy.api#documentation": "

Downloads the client certificate revocation list for the specified Client VPN endpoint.

" - } - }, - "com.amazonaws.ec2#ExportClientVpnClientCertificateRevocationListRequest": { - "type": "structure", - "members": { - "ClientVpnEndpointId": { - "target": "com.amazonaws.ec2#ClientVpnEndpointId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Client VPN endpoint.

", - "smithy.api#required": {} - } - }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - } - } - } - }, - "com.amazonaws.ec2#ExportClientVpnClientCertificateRevocationListResult": { - "type": "structure", - "members": { - "CertificateRevocationList": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "CertificateRevocationList", - "smithy.api#documentation": "

Information about the client certificate revocation list.

", - "smithy.api#xmlName": "certificateRevocationList" - } - }, - "Status": { - "target": "com.amazonaws.ec2#ClientCertificateRevocationListStatus", - "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The current state of the client certificate revocation list.

", - "smithy.api#xmlName": "status" - } - } - } - }, - "com.amazonaws.ec2#ExportClientVpnClientConfiguration": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ExportClientVpnClientConfigurationRequest" - }, - "output": { - "target": "com.amazonaws.ec2#ExportClientVpnClientConfigurationResult" - }, - "traits": { - "smithy.api#documentation": "

Downloads the contents of the Client VPN endpoint configuration file for the specified Client VPN endpoint. The Client VPN endpoint configuration \n\t\t\tfile includes the Client VPN endpoint and certificate information clients need to establish a connection \n\t\t\twith the Client VPN endpoint.

" - } + "com.amazonaws.ec2#FlowLogResourceId": { + "type": "string" }, - "com.amazonaws.ec2#ExportClientVpnClientConfigurationRequest": { - "type": "structure", - "members": { - "ClientVpnEndpointId": { - "target": "com.amazonaws.ec2#ClientVpnEndpointId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Client VPN endpoint.

", - "smithy.api#required": {} - } - }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - } + "com.amazonaws.ec2#FlowLogResourceIds": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#FlowLogResourceId", + "traits": { + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#ExportClientVpnClientConfigurationResult": { - "type": "structure", - "members": { - "ClientConfiguration": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "ClientConfiguration", - "smithy.api#documentation": "

The contents of the Client VPN endpoint configuration file.

", - "smithy.api#xmlName": "clientConfiguration" - } + "com.amazonaws.ec2#FlowLogSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#FlowLog", + "traits": { + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#ExportEnvironment": { + "com.amazonaws.ec2#FlowLogsResourceType": { "type": "enum", "members": { - "citrix": { + "VPC": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "citrix" + "smithy.api#enumValue": "VPC" } }, - "vmware": { + "Subnet": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "vmware" + "smithy.api#enumValue": "Subnet" } }, - "microsoft": { + "NetworkInterface": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "microsoft" - } - } - } - }, - "com.amazonaws.ec2#ExportImage": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ExportImageRequest" - }, - "output": { - "target": "com.amazonaws.ec2#ExportImageResult" - }, - "traits": { - "smithy.api#documentation": "

Exports an Amazon Machine Image (AMI) to a VM file. For more information, see Exporting a VM\n directly from an Amazon Machine Image (AMI) in the\n VM Import/Export User Guide.

" - } - }, - "com.amazonaws.ec2#ExportImageRequest": { - "type": "structure", - "members": { - "ClientToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

Token to enable idempotency for export image requests.

", - "smithy.api#idempotencyToken": {} + "smithy.api#enumValue": "NetworkInterface" } }, - "Description": { - "target": "com.amazonaws.ec2#String", + "TransitGateway": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

A description of the image being exported. The maximum length is 255 characters.

" + "smithy.api#enumValue": "TransitGateway" } }, - "DiskImageFormat": { - "target": "com.amazonaws.ec2#DiskImageFormat", + "TransitGatewayAttachment": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The disk image format.

", - "smithy.api#required": {} + "smithy.api#enumValue": "TransitGatewayAttachment" } - }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + } + } + }, + "com.amazonaws.ec2#FpgaDeviceCount": { + "type": "integer" + }, + "com.amazonaws.ec2#FpgaDeviceInfo": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.ec2#FpgaDeviceName", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "Name", + "smithy.api#documentation": "

The name of the FPGA accelerator.

", + "smithy.api#xmlName": "name" } }, - "ImageId": { - "target": "com.amazonaws.ec2#ImageId", + "Manufacturer": { + "target": "com.amazonaws.ec2#FpgaDeviceManufacturerName", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the image.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "Manufacturer", + "smithy.api#documentation": "

The manufacturer of the FPGA accelerator.

", + "smithy.api#xmlName": "manufacturer" } }, - "S3ExportLocation": { - "target": "com.amazonaws.ec2#ExportTaskS3LocationRequest", + "Count": { + "target": "com.amazonaws.ec2#FpgaDeviceCount", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The Amazon S3 bucket for the destination image. The destination bucket must exist.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "Count", + "smithy.api#documentation": "

The count of FPGA accelerators for the instance type.

", + "smithy.api#xmlName": "count" } }, - "RoleName": { - "target": "com.amazonaws.ec2#String", + "MemoryInfo": { + "target": "com.amazonaws.ec2#FpgaDeviceMemoryInfo", "traits": { - "smithy.api#documentation": "

The name of the role that grants VM Import/Export permission to export images to your Amazon\n S3 bucket. If this parameter is not specified, the default role is named 'vmimport'.

" + "aws.protocols#ec2QueryName": "MemoryInfo", + "smithy.api#documentation": "

Describes the memory for the FPGA accelerator for the instance type.

", + "smithy.api#xmlName": "memoryInfo" } - }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + } + }, + "traits": { + "smithy.api#documentation": "

Describes the FPGA accelerator for the instance type.

" + } + }, + "com.amazonaws.ec2#FpgaDeviceInfoList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#FpgaDeviceInfo", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#FpgaDeviceManufacturerName": { + "type": "string" + }, + "com.amazonaws.ec2#FpgaDeviceMemoryInfo": { + "type": "structure", + "members": { + "SizeInMiB": { + "target": "com.amazonaws.ec2#FpgaDeviceMemorySize", "traits": { - "smithy.api#documentation": "

The tags to apply to the export image task during creation.

", - "smithy.api#xmlName": "TagSpecification" + "aws.protocols#ec2QueryName": "SizeInMiB", + "smithy.api#documentation": "

The size of the memory available to the FPGA accelerator, in MiB.

", + "smithy.api#xmlName": "sizeInMiB" } } + }, + "traits": { + "smithy.api#documentation": "

Describes the memory for the FPGA accelerator for the instance type.

" } }, - "com.amazonaws.ec2#ExportImageResult": { + "com.amazonaws.ec2#FpgaDeviceMemorySize": { + "type": "integer" + }, + "com.amazonaws.ec2#FpgaDeviceName": { + "type": "string" + }, + "com.amazonaws.ec2#FpgaImage": { "type": "structure", "members": { - "Description": { + "FpgaImageId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

A description of the image being exported.

", - "smithy.api#xmlName": "description" - } - }, - "DiskImageFormat": { - "target": "com.amazonaws.ec2#DiskImageFormat", - "traits": { - "aws.protocols#ec2QueryName": "DiskImageFormat", - "smithy.api#documentation": "

The disk image format for the exported image.

", - "smithy.api#xmlName": "diskImageFormat" + "aws.protocols#ec2QueryName": "FpgaImageId", + "smithy.api#documentation": "

The FPGA image identifier (AFI ID).

", + "smithy.api#xmlName": "fpgaImageId" } }, - "ExportImageTaskId": { + "FpgaImageGlobalId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ExportImageTaskId", - "smithy.api#documentation": "

The ID of the export image task.

", - "smithy.api#xmlName": "exportImageTaskId" + "aws.protocols#ec2QueryName": "FpgaImageGlobalId", + "smithy.api#documentation": "

The global FPGA image identifier (AGFI ID).

", + "smithy.api#xmlName": "fpgaImageGlobalId" } }, - "ImageId": { + "Name": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ImageId", - "smithy.api#documentation": "

The ID of the image.

", - "smithy.api#xmlName": "imageId" + "aws.protocols#ec2QueryName": "Name", + "smithy.api#documentation": "

The name of the AFI.

", + "smithy.api#xmlName": "name" } }, - "RoleName": { + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "RoleName", - "smithy.api#documentation": "

The name of the role that grants VM Import/Export permission to export images to your Amazon\n S3 bucket.

", - "smithy.api#xmlName": "roleName" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

The description of the AFI.

", + "smithy.api#xmlName": "description" } }, - "Progress": { + "ShellVersion": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Progress", - "smithy.api#documentation": "

The percent complete of the export image task.

", - "smithy.api#xmlName": "progress" + "aws.protocols#ec2QueryName": "ShellVersion", + "smithy.api#documentation": "

The version of the Amazon Web Services Shell that was used to create the bitstream.

", + "smithy.api#xmlName": "shellVersion" } }, - "S3ExportLocation": { - "target": "com.amazonaws.ec2#ExportTaskS3Location", + "PciId": { + "target": "com.amazonaws.ec2#PciId", "traits": { - "aws.protocols#ec2QueryName": "S3ExportLocation", - "smithy.api#documentation": "

Information about the destination Amazon S3 bucket.

", - "smithy.api#xmlName": "s3ExportLocation" + "aws.protocols#ec2QueryName": "PciId", + "smithy.api#documentation": "

Information about the PCI bus.

", + "smithy.api#xmlName": "pciId" } }, - "Status": { - "target": "com.amazonaws.ec2#String", + "State": { + "target": "com.amazonaws.ec2#FpgaImageState", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The status of the export image task. The possible values are active, completed,\n deleting, and deleted.

", - "smithy.api#xmlName": "status" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

Information about the state of the AFI.

", + "smithy.api#xmlName": "state" } }, - "StatusMessage": { - "target": "com.amazonaws.ec2#String", + "CreateTime": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "StatusMessage", - "smithy.api#documentation": "

The status message for the export image task.

", - "smithy.api#xmlName": "statusMessage" + "aws.protocols#ec2QueryName": "CreateTime", + "smithy.api#documentation": "

The date and time the AFI was created.

", + "smithy.api#xmlName": "createTime" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", - "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags assigned to the export image task.

", - "smithy.api#xmlName": "tagSet" - } - } - } - }, - "com.amazonaws.ec2#ExportImageTask": { - "type": "structure", - "members": { - "Description": { - "target": "com.amazonaws.ec2#String", + "UpdateTime": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

A description of the image being exported.

", - "smithy.api#xmlName": "description" + "aws.protocols#ec2QueryName": "UpdateTime", + "smithy.api#documentation": "

The time of the most recent update to the AFI.

", + "smithy.api#xmlName": "updateTime" } }, - "ExportImageTaskId": { + "OwnerId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ExportImageTaskId", - "smithy.api#documentation": "

The ID of the export image task.

", - "smithy.api#xmlName": "exportImageTaskId" + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the AFI.

", + "smithy.api#xmlName": "ownerId" } }, - "ImageId": { + "OwnerAlias": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ImageId", - "smithy.api#documentation": "

The ID of the image.

", - "smithy.api#xmlName": "imageId" + "aws.protocols#ec2QueryName": "OwnerAlias", + "smithy.api#documentation": "

The alias of the AFI owner. Possible values include self, amazon, and aws-marketplace.

", + "smithy.api#xmlName": "ownerAlias" } }, - "Progress": { - "target": "com.amazonaws.ec2#String", + "ProductCodes": { + "target": "com.amazonaws.ec2#ProductCodeList", "traits": { - "aws.protocols#ec2QueryName": "Progress", - "smithy.api#documentation": "

The percent complete of the export image task.

", - "smithy.api#xmlName": "progress" + "aws.protocols#ec2QueryName": "ProductCodes", + "smithy.api#documentation": "

The product codes for the AFI.

", + "smithy.api#xmlName": "productCodes" } }, - "S3ExportLocation": { - "target": "com.amazonaws.ec2#ExportTaskS3Location", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "S3ExportLocation", - "smithy.api#documentation": "

Information about the destination Amazon S3 bucket.

", - "smithy.api#xmlName": "s3ExportLocation" + "aws.protocols#ec2QueryName": "Tags", + "smithy.api#documentation": "

Any tags assigned to the AFI.

", + "smithy.api#xmlName": "tags" } }, - "Status": { - "target": "com.amazonaws.ec2#String", + "Public": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The status of the export image task. The possible values are active, completed,\n deleting, and deleted.

", - "smithy.api#xmlName": "status" + "aws.protocols#ec2QueryName": "Public", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the AFI is public.

", + "smithy.api#xmlName": "public" } }, - "StatusMessage": { - "target": "com.amazonaws.ec2#String", + "DataRetentionSupport": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "StatusMessage", - "smithy.api#documentation": "

The status message for the export image task.

", - "smithy.api#xmlName": "statusMessage" + "aws.protocols#ec2QueryName": "DataRetentionSupport", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether data retention support is enabled for the AFI.

", + "smithy.api#xmlName": "dataRetentionSupport" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "InstanceTypes": { + "target": "com.amazonaws.ec2#InstanceTypesList", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags assigned to the export image task.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "InstanceTypes", + "smithy.api#documentation": "

The instance types supported by the AFI.

", + "smithy.api#xmlName": "instanceTypes" } } }, "traits": { - "smithy.api#documentation": "

Describes an export image task.

" - } - }, - "com.amazonaws.ec2#ExportImageTaskId": { - "type": "string" - }, - "com.amazonaws.ec2#ExportImageTaskIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ExportImageTaskId", - "traits": { - "smithy.api#xmlName": "ExportImageTaskId" - } - } - }, - "com.amazonaws.ec2#ExportImageTaskList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ExportImageTask", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

Describes an Amazon FPGA image (AFI).

" } }, - "com.amazonaws.ec2#ExportTask": { + "com.amazonaws.ec2#FpgaImageAttribute": { "type": "structure", "members": { + "FpgaImageId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "FpgaImageId", + "smithy.api#documentation": "

The ID of the AFI.

", + "smithy.api#xmlName": "fpgaImageId" + } + }, + "Name": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Name", + "smithy.api#documentation": "

The name of the AFI.

", + "smithy.api#xmlName": "name" + } + }, "Description": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

A description of the resource being exported.

", + "smithy.api#documentation": "

The description of the AFI.

", "smithy.api#xmlName": "description" } }, - "ExportTaskId": { - "target": "com.amazonaws.ec2#String", + "LoadPermissions": { + "target": "com.amazonaws.ec2#LoadPermissionList", "traits": { - "aws.protocols#ec2QueryName": "ExportTaskId", - "smithy.api#documentation": "

The ID of the export task.

", - "smithy.api#xmlName": "exportTaskId" + "aws.protocols#ec2QueryName": "LoadPermissions", + "smithy.api#documentation": "

The load permissions.

", + "smithy.api#xmlName": "loadPermissions" } }, - "ExportToS3Task": { - "target": "com.amazonaws.ec2#ExportToS3Task", + "ProductCodes": { + "target": "com.amazonaws.ec2#ProductCodeList", "traits": { - "aws.protocols#ec2QueryName": "ExportToS3", - "smithy.api#documentation": "

Information about the export task.

", - "smithy.api#xmlName": "exportToS3" + "aws.protocols#ec2QueryName": "ProductCodes", + "smithy.api#documentation": "

The product codes.

", + "smithy.api#xmlName": "productCodes" } - }, - "InstanceExportDetails": { - "target": "com.amazonaws.ec2#InstanceExportDetails", + } + }, + "traits": { + "smithy.api#documentation": "

Describes an Amazon FPGA image (AFI) attribute.

" + } + }, + "com.amazonaws.ec2#FpgaImageAttributeName": { + "type": "enum", + "members": { + "description": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InstanceExport", - "smithy.api#documentation": "

Information about the instance to export.

", - "smithy.api#xmlName": "instanceExport" + "smithy.api#enumValue": "description" } }, - "State": { - "target": "com.amazonaws.ec2#ExportTaskState", + "name": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the export task.

", - "smithy.api#xmlName": "state" + "smithy.api#enumValue": "name" } }, - "StatusMessage": { - "target": "com.amazonaws.ec2#String", + "loadPermission": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "StatusMessage", - "smithy.api#documentation": "

The status message related to the export task.

", - "smithy.api#xmlName": "statusMessage" + "smithy.api#enumValue": "loadPermission" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "productCodes": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags for the export task.

", - "smithy.api#xmlName": "tagSet" + "smithy.api#enumValue": "productCodes" } } - }, - "traits": { - "smithy.api#documentation": "

Describes an export instance task.

" } }, - "com.amazonaws.ec2#ExportTaskId": { + "com.amazonaws.ec2#FpgaImageId": { "type": "string" }, - "com.amazonaws.ec2#ExportTaskIdStringList": { + "com.amazonaws.ec2#FpgaImageIdList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#ExportTaskId", + "target": "com.amazonaws.ec2#FpgaImageId", "traits": { - "smithy.api#xmlName": "ExportTaskId" + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#ExportTaskList": { + "com.amazonaws.ec2#FpgaImageList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#ExportTask", + "target": "com.amazonaws.ec2#FpgaImage", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#ExportTaskS3Location": { + "com.amazonaws.ec2#FpgaImageState": { "type": "structure", "members": { - "S3Bucket": { - "target": "com.amazonaws.ec2#String", + "Code": { + "target": "com.amazonaws.ec2#FpgaImageStateCode", "traits": { - "aws.protocols#ec2QueryName": "S3Bucket", - "smithy.api#documentation": "

The destination Amazon S3 bucket.

", - "smithy.api#xmlName": "s3Bucket" + "aws.protocols#ec2QueryName": "Code", + "smithy.api#documentation": "

The state. The following are the possible values:

\n
    \n
  • \n

    \n pending - AFI bitstream generation is in progress.

    \n
  • \n
  • \n

    \n available - The AFI is available for use.

    \n
  • \n
  • \n

    \n failed - AFI bitstream generation failed.

    \n
  • \n
  • \n

    \n unavailable - The AFI is no longer available for use.

    \n
  • \n
", + "smithy.api#xmlName": "code" } }, - "S3Prefix": { + "Message": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "S3Prefix", - "smithy.api#documentation": "

The prefix (logical hierarchy) in the bucket.

", - "smithy.api#xmlName": "s3Prefix" + "aws.protocols#ec2QueryName": "Message", + "smithy.api#documentation": "

If the state is failed, this is the error message.

", + "smithy.api#xmlName": "message" } } }, "traits": { - "smithy.api#documentation": "

Describes the destination for an export image task.

" + "smithy.api#documentation": "

Describes the state of the bitstream generation process for an Amazon FPGA image (AFI).

" } }, - "com.amazonaws.ec2#ExportTaskS3LocationRequest": { + "com.amazonaws.ec2#FpgaImageStateCode": { + "type": "enum", + "members": { + "pending": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "pending" + } + }, + "failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "failed" + } + }, + "available": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "available" + } + }, + "unavailable": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "unavailable" + } + } + } + }, + "com.amazonaws.ec2#FpgaInfo": { "type": "structure", "members": { - "S3Bucket": { - "target": "com.amazonaws.ec2#String", + "Fpgas": { + "target": "com.amazonaws.ec2#FpgaDeviceInfoList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The destination Amazon S3 bucket.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "Fpgas", + "smithy.api#documentation": "

Describes the FPGAs for the instance type.

", + "smithy.api#xmlName": "fpgas" } }, - "S3Prefix": { - "target": "com.amazonaws.ec2#String", + "TotalFpgaMemoryInMiB": { + "target": "com.amazonaws.ec2#totalFpgaMemory", "traits": { - "smithy.api#documentation": "

The prefix (logical hierarchy) in the bucket.

" + "aws.protocols#ec2QueryName": "TotalFpgaMemoryInMiB", + "smithy.api#documentation": "

The total memory of all FPGA accelerators for the instance type.

", + "smithy.api#xmlName": "totalFpgaMemoryInMiB" } } }, "traits": { - "smithy.api#documentation": "

Describes the destination for an export image task.

" + "smithy.api#documentation": "

Describes the FPGAs for the instance type.

" + } + }, + "com.amazonaws.ec2#FreeTierEligibleFlag": { + "type": "boolean" + }, + "com.amazonaws.ec2#GVCDMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 200, + "max": 1000 + } } }, - "com.amazonaws.ec2#ExportTaskState": { + "com.amazonaws.ec2#GatewayAssociationState": { "type": "enum", "members": { - "active": { + "associated": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "active" + "smithy.api#enumValue": "associated" } }, - "cancelling": { + "not_associated": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "cancelling" + "smithy.api#enumValue": "not-associated" } }, - "cancelled": { + "associating": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "cancelled" + "smithy.api#enumValue": "associating" } }, - "completed": { + "disassociating": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "completed" + "smithy.api#enumValue": "disassociating" } } } }, - "com.amazonaws.ec2#ExportToS3Task": { - "type": "structure", + "com.amazonaws.ec2#GatewayType": { + "type": "enum", "members": { - "ContainerFormat": { - "target": "com.amazonaws.ec2#ContainerFormat", - "traits": { - "aws.protocols#ec2QueryName": "ContainerFormat", - "smithy.api#documentation": "

The container format used to combine disk images with metadata (such as OVF). If absent, only the disk image is\n exported.

", - "smithy.api#xmlName": "containerFormat" - } - }, - "DiskImageFormat": { - "target": "com.amazonaws.ec2#DiskImageFormat", - "traits": { - "aws.protocols#ec2QueryName": "DiskImageFormat", - "smithy.api#documentation": "

The format for the exported image.

", - "smithy.api#xmlName": "diskImageFormat" - } - }, - "S3Bucket": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "S3Bucket", - "smithy.api#documentation": "

The Amazon S3 bucket for the destination image. The destination bucket must exist and have\n an access control list (ACL) attached that specifies the Region-specific canonical account ID for\n the Grantee. For more information about the ACL to your S3 bucket, see Prerequisites in the VM Import/Export User Guide.

", - "smithy.api#xmlName": "s3Bucket" - } - }, - "S3Key": { - "target": "com.amazonaws.ec2#String", + "ipsec_1": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "S3Key", - "smithy.api#documentation": "

The encryption key for your S3 bucket.

", - "smithy.api#xmlName": "s3Key" + "smithy.api#enumValue": "ipsec.1" } } + } + }, + "com.amazonaws.ec2#GetAssociatedEnclaveCertificateIamRoles": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetAssociatedEnclaveCertificateIamRolesRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetAssociatedEnclaveCertificateIamRolesResult" }, "traits": { - "smithy.api#documentation": "

Describes the format and location for the export task.

" + "smithy.api#documentation": "

Returns the IAM roles that are associated with the specified ACM (ACM) certificate. \n\t\t\tIt also returns the name of the Amazon S3 bucket and the Amazon S3 object key where the certificate, \n\t\t\tcertificate chain, and encrypted private key bundle are stored, and the ARN of the KMS key \n\t\t\tthat's used to encrypt the private key.

" } }, - "com.amazonaws.ec2#ExportToS3TaskSpecification": { + "com.amazonaws.ec2#GetAssociatedEnclaveCertificateIamRolesRequest": { "type": "structure", "members": { - "ContainerFormat": { - "target": "com.amazonaws.ec2#ContainerFormat", - "traits": { - "aws.protocols#ec2QueryName": "ContainerFormat", - "smithy.api#documentation": "

The container format used to combine disk images with metadata (such as OVF). If absent, only the disk image is\n exported.

", - "smithy.api#xmlName": "containerFormat" - } - }, - "DiskImageFormat": { - "target": "com.amazonaws.ec2#DiskImageFormat", - "traits": { - "aws.protocols#ec2QueryName": "DiskImageFormat", - "smithy.api#documentation": "

The format for the exported image.

", - "smithy.api#xmlName": "diskImageFormat" - } - }, - "S3Bucket": { - "target": "com.amazonaws.ec2#String", + "CertificateArn": { + "target": "com.amazonaws.ec2#ResourceArn", "traits": { - "aws.protocols#ec2QueryName": "S3Bucket", - "smithy.api#documentation": "

The Amazon S3 bucket for the destination image. The destination bucket must exist and have\n an access control list (ACL) attached that specifies the Region-specific canonical account ID for\n the Grantee. For more information about the ACL to your S3 bucket, see Prerequisites in the VM Import/Export User Guide.

", - "smithy.api#xmlName": "s3Bucket" + "smithy.api#documentation": "

The ARN of the ACM certificate for which to view the associated IAM roles, encryption keys, and Amazon \n\t\t\tS3 object information.

" } }, - "S3Prefix": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "S3Prefix", - "smithy.api#documentation": "

The image is written to a single object in the Amazon S3 bucket at the S3 key s3prefix +\n exportTaskId + '.' + diskImageFormat.

", - "smithy.api#xmlName": "s3Prefix" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Describes an export instance task.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ExportTransitGatewayRoutes": { + "com.amazonaws.ec2#GetAssociatedEnclaveCertificateIamRolesResult": { + "type": "structure", + "members": { + "AssociatedRoles": { + "target": "com.amazonaws.ec2#AssociatedRolesList", + "traits": { + "aws.protocols#ec2QueryName": "AssociatedRoleSet", + "smithy.api#documentation": "

Information about the associated IAM roles.

", + "smithy.api#xmlName": "associatedRoleSet" + } + } + } + }, + "com.amazonaws.ec2#GetAssociatedIpv6PoolCidrs": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ExportTransitGatewayRoutesRequest" + "target": "com.amazonaws.ec2#GetAssociatedIpv6PoolCidrsRequest" }, "output": { - "target": "com.amazonaws.ec2#ExportTransitGatewayRoutesResult" + "target": "com.amazonaws.ec2#GetAssociatedIpv6PoolCidrsResult" }, "traits": { - "smithy.api#documentation": "

Exports routes from the specified transit gateway route table to the specified S3 bucket.\n By default, all routes are exported. Alternatively, you can filter by CIDR range.

\n

The routes are saved to the specified bucket in a JSON file. For more information, see\n Export Route Tables\n to Amazon S3 in Transit Gateways.

" + "smithy.api#documentation": "

Gets information about the IPv6 CIDR block associations for a specified IPv6 address pool.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Ipv6CidrAssociations", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#ExportTransitGatewayRoutesRequest": { + "com.amazonaws.ec2#GetAssociatedIpv6PoolCidrsRequest": { "type": "structure", "members": { - "TransitGatewayRouteTableId": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", + "PoolId": { + "target": "com.amazonaws.ec2#Ipv6PoolEc2Id", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the route table.

", + "smithy.api#documentation": "

The ID of the IPv6 address pool.

", "smithy.api#required": {} } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", "traits": { - "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n attachment.transit-gateway-attachment-id - The id of the transit gateway attachment.

    \n
  • \n
  • \n

    \n attachment.resource-id - The resource id of the transit gateway attachment.

    \n
  • \n
  • \n

    \n route-search.exact-match - The exact match of the specified filter.

    \n
  • \n
  • \n

    \n route-search.longest-prefix-match - The longest prefix that matches the route.

    \n
  • \n
  • \n

    \n route-search.subnet-of-match - The routes with a subnet that match the specified CIDR filter.

    \n
  • \n
  • \n

    \n route-search.supernet-of-match - The routes with a CIDR that encompass the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31 routes in your route table and you specify supernet-of-match as 10.0.1.0/30, then the result returns 10.0.1.0/29.

    \n
  • \n
  • \n

    \n state - The state of the route (active | blackhole).

    \n
  • \n
  • \n

    \n transit-gateway-route-destination-cidr-block - The CIDR range.

    \n
  • \n
  • \n

    \n type - The type of route (propagated |\n static).

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "smithy.api#documentation": "

The token for the next page of results.

" } }, - "S3Bucket": { - "target": "com.amazonaws.ec2#String", + "MaxResults": { + "target": "com.amazonaws.ec2#Ipv6PoolMaxResults", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The name of the S3 bucket.

", - "smithy.api#required": {} + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } }, "DryRun": { @@ -41272,2000 +45641,2437 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ExportTransitGatewayRoutesResult": { - "type": "structure", - "members": { - "S3Location": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "S3Location", - "smithy.api#documentation": "

The URL of the exported file in Amazon S3. For example, \n s3://bucket_name/VPCTransitGateway/TransitGatewayRouteTables/file_name.

", - "smithy.api#xmlName": "s3Location" - } - } - } - }, - "com.amazonaws.ec2#ExportVmTaskId": { - "type": "string" - }, - "com.amazonaws.ec2#FailedCapacityReservationFleetCancellationResult": { + "com.amazonaws.ec2#GetAssociatedIpv6PoolCidrsResult": { "type": "structure", "members": { - "CapacityReservationFleetId": { - "target": "com.amazonaws.ec2#CapacityReservationFleetId", + "Ipv6CidrAssociations": { + "target": "com.amazonaws.ec2#Ipv6CidrAssociationSet", "traits": { - "aws.protocols#ec2QueryName": "CapacityReservationFleetId", - "smithy.api#documentation": "

The ID of the Capacity Reservation Fleet that could not be cancelled.

", - "smithy.api#xmlName": "capacityReservationFleetId" + "aws.protocols#ec2QueryName": "Ipv6CidrAssociationSet", + "smithy.api#documentation": "

Information about the IPv6 CIDR block associations.

", + "smithy.api#xmlName": "ipv6CidrAssociationSet" } }, - "CancelCapacityReservationFleetError": { - "target": "com.amazonaws.ec2#CancelCapacityReservationFleetError", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CancelCapacityReservationFleetError", - "smithy.api#documentation": "

Information about the Capacity Reservation Fleet cancellation error.

", - "smithy.api#xmlName": "cancelCapacityReservationFleetError" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } - }, - "traits": { - "smithy.api#documentation": "

Describes a Capacity Reservation Fleet that could not be cancelled.

" } }, - "com.amazonaws.ec2#FailedCapacityReservationFleetCancellationResultSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#FailedCapacityReservationFleetCancellationResult", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#GetAwsNetworkPerformanceData": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetAwsNetworkPerformanceDataRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetAwsNetworkPerformanceDataResult" + }, + "traits": { + "smithy.api#documentation": "

Gets network performance data.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "DataResponses", + "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#FailedQueuedPurchaseDeletion": { + "com.amazonaws.ec2#GetAwsNetworkPerformanceDataRequest": { "type": "structure", "members": { - "Error": { - "target": "com.amazonaws.ec2#DeleteQueuedReservedInstancesError", + "DataQueries": { + "target": "com.amazonaws.ec2#DataQueries", "traits": { - "aws.protocols#ec2QueryName": "Error", - "smithy.api#documentation": "

The error.

", - "smithy.api#xmlName": "error" + "smithy.api#documentation": "

A list of network performance data queries.

", + "smithy.api#xmlName": "DataQuery" } }, - "ReservedInstancesId": { - "target": "com.amazonaws.ec2#String", + "StartTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "aws.protocols#ec2QueryName": "ReservedInstancesId", - "smithy.api#documentation": "

The ID of the Reserved Instance.

", - "smithy.api#xmlName": "reservedInstancesId" + "smithy.api#documentation": "

The starting time for the performance data request. The starting time must be formatted\n as yyyy-mm-ddThh:mm:ss. For example, 2022-06-10T12:00:00.000Z.

" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a Reserved Instance whose queued purchase was not deleted.

" - } - }, - "com.amazonaws.ec2#FailedQueuedPurchaseDeletionSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#FailedQueuedPurchaseDeletion", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#FastLaunchImageIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ImageId", - "traits": { - "smithy.api#xmlName": "ImageId" - } - } - }, - "com.amazonaws.ec2#FastLaunchLaunchTemplateSpecificationRequest": { - "type": "structure", - "members": { - "LaunchTemplateId": { - "target": "com.amazonaws.ec2#LaunchTemplateId", + }, + "EndTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "smithy.api#documentation": "

The ID of the launch template to use for faster launching for a Windows AMI.

" + "smithy.api#documentation": "

The ending time for the performance data request. The end time must be formatted as yyyy-mm-ddThh:mm:ss. For example, 2022-06-12T12:00:00.000Z.

" } }, - "LaunchTemplateName": { - "target": "com.amazonaws.ec2#String", + "MaxResults": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#documentation": "

The name of the launch template to use for faster launching for a Windows AMI.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n To retrieve the remaining results, make another call with the returned nextToken value.

" } }, - "Version": { + "NextToken": { "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The version of the launch template to use for faster launching for a Windows AMI.

", - "smithy.api#required": {} + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Request to create a launch template for a fast-launch enabled Windows AMI.

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

Note - You can specify either the LaunchTemplateName or the \n\t\t\t\tLaunchTemplateId, but not both.

\n\t\t
" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#FastLaunchLaunchTemplateSpecificationResponse": { + "com.amazonaws.ec2#GetAwsNetworkPerformanceDataResult": { "type": "structure", "members": { - "LaunchTemplateId": { - "target": "com.amazonaws.ec2#LaunchTemplateId", - "traits": { - "aws.protocols#ec2QueryName": "LaunchTemplateId", - "smithy.api#documentation": "

The ID of the launch template for faster launching of the associated Windows AMI.

", - "smithy.api#xmlName": "launchTemplateId" - } - }, - "LaunchTemplateName": { - "target": "com.amazonaws.ec2#String", + "DataResponses": { + "target": "com.amazonaws.ec2#DataResponses", "traits": { - "aws.protocols#ec2QueryName": "LaunchTemplateName", - "smithy.api#documentation": "

The name of the launch template for faster launching of the associated Windows AMI.

", - "smithy.api#xmlName": "launchTemplateName" + "aws.protocols#ec2QueryName": "DataResponseSet", + "smithy.api#documentation": "

The list of data responses.

", + "smithy.api#xmlName": "dataResponseSet" } }, - "Version": { + "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Version", - "smithy.api#documentation": "

The version of the launch template for faster launching of the associated Windows AMI.

", - "smithy.api#xmlName": "version" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } + } + }, + "com.amazonaws.ec2#GetCapacityReservationUsage": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetCapacityReservationUsageRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetCapacityReservationUsageResult" }, "traits": { - "smithy.api#documentation": "

Identifies the launch template to use for faster launching of the Windows AMI.

" + "smithy.api#documentation": "

Gets usage information about a Capacity Reservation. If the Capacity Reservation is shared, it shows usage information for the Capacity Reservation owner \n\t\t\tand each Amazon Web Services account that is currently using the shared capacity. If the Capacity Reservation is not shared, it shows only \n\t\t\tthe Capacity Reservation owner's usage.

" } }, - "com.amazonaws.ec2#FastLaunchResourceType": { - "type": "enum", + "com.amazonaws.ec2#GetCapacityReservationUsageRequest": { + "type": "structure", "members": { - "SNAPSHOT": { - "target": "smithy.api#Unit", + "CapacityReservationId": { + "target": "com.amazonaws.ec2#CapacityReservationId", "traits": { - "smithy.api#enumValue": "snapshot" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Capacity Reservation.

", + "smithy.api#required": {} } - } - } - }, - "com.amazonaws.ec2#FastLaunchSnapshotConfigurationRequest": { - "type": "structure", - "members": { - "TargetResourceCount": { - "target": "com.amazonaws.ec2#Integer", + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token to use to retrieve the next page of results.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#GetCapacityReservationUsageRequestMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The number of pre-provisioned snapshots to keep on hand for a fast-launch enabled Windows AMI.

" + "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

\n

Valid range: Minimum value of 1. Maximum value of 1000.

" } - } - }, - "traits": { - "smithy.api#documentation": "

Configuration settings for creating and managing pre-provisioned snapshots for a fast-launch enabled Windows AMI.

" - } - }, - "com.amazonaws.ec2#FastLaunchSnapshotConfigurationResponse": { - "type": "structure", - "members": { - "TargetResourceCount": { - "target": "com.amazonaws.ec2#Integer", + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "TargetResourceCount", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of pre-provisioned snapshots requested to keep on hand for a fast-launch enabled Windows AMI.

", - "smithy.api#xmlName": "targetResourceCount" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Configuration settings for creating and managing pre-provisioned snapshots for a fast-launch enabled Windows AMI.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#FastLaunchStateCode": { - "type": "enum", + "com.amazonaws.ec2#GetCapacityReservationUsageRequestMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 1, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#GetCapacityReservationUsageResult": { + "type": "structure", "members": { - "enabling": { - "target": "smithy.api#Unit", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "enabling" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } }, - "enabling_failed": { - "target": "smithy.api#Unit", + "CapacityReservationId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "enabling-failed" + "aws.protocols#ec2QueryName": "CapacityReservationId", + "smithy.api#documentation": "

The ID of the Capacity Reservation.

", + "smithy.api#xmlName": "capacityReservationId" } }, - "enabled": { - "target": "smithy.api#Unit", + "InstanceType": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "enabled" + "aws.protocols#ec2QueryName": "InstanceType", + "smithy.api#documentation": "

The type of instance for which the Capacity Reservation reserves capacity.

", + "smithy.api#xmlName": "instanceType" } }, - "enabled_failed": { - "target": "smithy.api#Unit", + "TotalInstanceCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "enabled-failed" + "aws.protocols#ec2QueryName": "TotalInstanceCount", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of instances for which the Capacity Reservation reserves capacity.

", + "smithy.api#xmlName": "totalInstanceCount" } }, - "disabling": { - "target": "smithy.api#Unit", + "AvailableInstanceCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "disabling" + "aws.protocols#ec2QueryName": "AvailableInstanceCount", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The remaining capacity. Indicates the number of instances that can be launched in the Capacity Reservation.

", + "smithy.api#xmlName": "availableInstanceCount" } }, - "disabling_failed": { - "target": "smithy.api#Unit", + "State": { + "target": "com.amazonaws.ec2#CapacityReservationState", "traits": { - "smithy.api#enumValue": "disabling-failed" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The current state of the Capacity Reservation. A Capacity Reservation can be in one of the following states:

\n
    \n
  • \n

    \n active - The Capacity Reservation is active and the capacity is available for your use.

    \n
  • \n
  • \n

    \n expired - The Capacity Reservation expired automatically at the date and time specified \n\t\t\t\t\tin your request. The reserved capacity is no longer available for your use.

    \n
  • \n
  • \n

    \n cancelled - The Capacity Reservation was cancelled. The reserved capacity is no\n\t\t\t\t\tlonger available for your use.

    \n
  • \n
  • \n

    \n pending - The Capacity Reservation request was successful but the capacity \n\t\t\t\t\tprovisioning is still pending.

    \n
  • \n
  • \n

    \n failed - The Capacity Reservation request has failed. A request might fail \n\t\t\t\t\tdue to invalid request parameters, capacity constraints, or instance limit constraints. \n\t\t\t\t\tFailed requests are retained for 60 minutes.

    \n
  • \n
", + "smithy.api#xmlName": "state" + } + }, + "InstanceUsages": { + "target": "com.amazonaws.ec2#InstanceUsageSet", + "traits": { + "aws.protocols#ec2QueryName": "InstanceUsageSet", + "smithy.api#documentation": "

Information about the Capacity Reservation usage.

", + "smithy.api#xmlName": "instanceUsageSet" } } } }, - "com.amazonaws.ec2#FastSnapshotRestoreStateCode": { - "type": "enum", + "com.amazonaws.ec2#GetCoipPoolUsage": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetCoipPoolUsageRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetCoipPoolUsageResult" + }, + "traits": { + "smithy.api#documentation": "

Describes the allocations from the specified customer-owned address pool.

" + } + }, + "com.amazonaws.ec2#GetCoipPoolUsageRequest": { + "type": "structure", "members": { - "enabling": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "enabling" - } - }, - "optimizing": { - "target": "smithy.api#Unit", + "PoolId": { + "target": "com.amazonaws.ec2#Ipv4PoolCoipId", "traits": { - "smithy.api#enumValue": "optimizing" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the address pool.

", + "smithy.api#required": {} } }, - "enabled": { - "target": "smithy.api#Unit", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#enumValue": "enabled" + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n coip-address-usage.allocation-id - The allocation ID of the address.

    \n
  • \n
  • \n

    \n coip-address-usage.aws-account-id - The ID of the Amazon Web Services account that is using the customer-owned IP address.

    \n
  • \n
  • \n

    \n coip-address-usage.aws-service - The Amazon Web Services service that is using the customer-owned IP address.

    \n
  • \n
  • \n

    \n coip-address-usage.co-ip - The customer-owned IP address.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, - "disabling": { - "target": "smithy.api#Unit", + "MaxResults": { + "target": "com.amazonaws.ec2#CoipPoolMaxResults", "traits": { - "smithy.api#enumValue": "disabling" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } }, - "disabled": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "disabled" - } - } - } - }, - "com.amazonaws.ec2#FederatedAuthentication": { - "type": "structure", - "members": { - "SamlProviderArn": { + "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SamlProviderArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM SAML identity provider.

", - "smithy.api#xmlName": "samlProviderArn" + "smithy.api#documentation": "

The token for the next page of results.

" } }, - "SelfServiceSamlProviderArn": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "SelfServiceSamlProviderArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM SAML identity provider for the self-service portal.

", - "smithy.api#xmlName": "selfServiceSamlProviderArn" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Describes the IAM SAML identity providers used for federated authentication.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#FederatedAuthenticationRequest": { + "com.amazonaws.ec2#GetCoipPoolUsageResult": { "type": "structure", "members": { - "SAMLProviderArn": { + "CoipPoolId": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM SAML identity provider.

" + "aws.protocols#ec2QueryName": "CoipPoolId", + "smithy.api#documentation": "

The ID of the customer-owned address pool.

", + "smithy.api#xmlName": "coipPoolId" } }, - "SelfServiceSAMLProviderArn": { + "CoipAddressUsages": { + "target": "com.amazonaws.ec2#CoipAddressUsageSet", + "traits": { + "aws.protocols#ec2QueryName": "CoipAddressUsageSet", + "smithy.api#documentation": "

Information about the address usage.

", + "smithy.api#xmlName": "coipAddressUsageSet" + } + }, + "LocalGatewayRouteTableId": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM SAML identity provider for the self-service portal.

" + "aws.protocols#ec2QueryName": "LocalGatewayRouteTableId", + "smithy.api#documentation": "

The ID of the local gateway route table.

", + "smithy.api#xmlName": "localGatewayRouteTableId" } } + } + }, + "com.amazonaws.ec2#GetConsoleOutput": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetConsoleOutputRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetConsoleOutputResult" }, "traits": { - "smithy.api#documentation": "

The IAM SAML identity provider used for federated authentication.

" + "smithy.api#documentation": "

Gets the console output for the specified instance. For Linux instances, the instance\n console output displays the exact console output that would normally be displayed on a\n physical monitor attached to a computer. For Windows instances, the instance console\n output includes the last three system event log errors.

\n

By default, the console output returns buffered information that was posted shortly\n after an instance transition state (start, stop, reboot, or terminate). This information\n is available for at least one hour after the most recent post. Only the most recent 64\n KB of console output is available.

\n

You can optionally retrieve the latest serial console output at any time during the\n instance lifecycle. This option is supported on instance types that use the Nitro\n hypervisor.

\n

For more information, see Instance\n console output in the Amazon EC2 User Guide.

" } }, - "com.amazonaws.ec2#Filter": { + "com.amazonaws.ec2#GetConsoleOutputRequest": { "type": "structure", "members": { - "Name": { - "target": "com.amazonaws.ec2#String", + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", "traits": { - "smithy.api#documentation": "

The name of the filter. Filter names are case-sensitive.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the instance.

", + "smithy.api#required": {} } }, - "Values": { - "target": "com.amazonaws.ec2#ValueStringList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The filter values. Filter values are case-sensitive. If you specify multiple values for a \n filter, the values are joined with an OR, and the request returns all results \n that match any of the specified values.

", - "smithy.api#xmlName": "Value" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + }, + "Latest": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

When enabled, retrieves the latest console output for the instance.

\n

Default: disabled (false)

" } } }, "traits": { - "smithy.api#documentation": "

A filter name and value pair that is used to return a more specific list of results from a describe operation. \n Filters can be used to match a set of resources by specific criteria, such as tags, attributes, or IDs.

\n

If you specify multiple filters, the filters are joined with an AND, and the request returns only \n results that match all of the specified filters.

" - } - }, - "com.amazonaws.ec2#FilterList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Filter", - "traits": { - "smithy.api#xmlName": "Filter" - } + "smithy.api#input": {} } }, - "com.amazonaws.ec2#FindingsFound": { - "type": "enum", + "com.amazonaws.ec2#GetConsoleOutputResult": { + "type": "structure", "members": { - "true": { - "target": "smithy.api#Unit", + "InstanceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "true" + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#documentation": "

The ID of the instance.

", + "smithy.api#xmlName": "instanceId" } }, - "false": { - "target": "smithy.api#Unit", + "Output": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "false" + "aws.protocols#ec2QueryName": "Output", + "smithy.api#documentation": "

The console output, base64-encoded. If you are using a command line tool, the tool\n decodes the output for you.

", + "smithy.api#xmlName": "output" } }, - "unknown": { - "target": "smithy.api#Unit", + "Timestamp": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "smithy.api#enumValue": "unknown" + "aws.protocols#ec2QueryName": "Timestamp", + "smithy.api#documentation": "

The time at which the output was last updated.

", + "smithy.api#xmlName": "timestamp" } } } }, - "com.amazonaws.ec2#FleetActivityStatus": { - "type": "enum", + "com.amazonaws.ec2#GetConsoleScreenshot": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetConsoleScreenshotRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetConsoleScreenshotResult" + }, + "traits": { + "smithy.api#documentation": "

Retrieve a JPG-format screenshot of a running instance to help with\n troubleshooting.

\n

The returned content is Base64-encoded.

" + } + }, + "com.amazonaws.ec2#GetConsoleScreenshotRequest": { + "type": "structure", "members": { - "ERROR": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "error" - } - }, - "PENDING_FULFILLMENT": { - "target": "smithy.api#Unit", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "pending_fulfillment" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "PENDING_TERMINATION": { - "target": "smithy.api#Unit", + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", "traits": { - "smithy.api#enumValue": "pending_termination" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the instance.

", + "smithy.api#required": {} } }, - "FULFILLED": { - "target": "smithy.api#Unit", + "WakeUp": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "fulfilled" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

When set to true, acts as keystroke input and wakes up an instance that's\n in standby or \"sleep\" mode.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#FleetCapacityReservation": { + "com.amazonaws.ec2#GetConsoleScreenshotResult": { "type": "structure", "members": { - "CapacityReservationId": { - "target": "com.amazonaws.ec2#CapacityReservationId", - "traits": { - "aws.protocols#ec2QueryName": "CapacityReservationId", - "smithy.api#documentation": "

The ID of the Capacity Reservation.

", - "smithy.api#xmlName": "capacityReservationId" - } - }, - "AvailabilityZoneId": { + "ImageData": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZoneId", - "smithy.api#documentation": "

The ID of the Availability Zone in which the Capacity Reservation reserves capacity.

", - "smithy.api#xmlName": "availabilityZoneId" - } - }, - "InstanceType": { - "target": "com.amazonaws.ec2#InstanceType", - "traits": { - "aws.protocols#ec2QueryName": "InstanceType", - "smithy.api#documentation": "

The instance type for which the Capacity Reservation reserves capacity.

", - "smithy.api#xmlName": "instanceType" - } - }, - "InstancePlatform": { - "target": "com.amazonaws.ec2#CapacityReservationInstancePlatform", - "traits": { - "aws.protocols#ec2QueryName": "InstancePlatform", - "smithy.api#documentation": "

The type of operating system for which the Capacity Reservation reserves capacity.

", - "smithy.api#xmlName": "instancePlatform" + "aws.protocols#ec2QueryName": "ImageData", + "smithy.api#documentation": "

The data that comprises the image.

", + "smithy.api#xmlName": "imageData" } }, - "AvailabilityZone": { + "InstanceId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZone", - "smithy.api#documentation": "

The Availability Zone in which the Capacity Reservation reserves capacity.

", - "smithy.api#xmlName": "availabilityZone" - } - }, - "TotalInstanceCount": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "aws.protocols#ec2QueryName": "TotalInstanceCount", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The total number of instances for which the Capacity Reservation reserves capacity.

", - "smithy.api#xmlName": "totalInstanceCount" - } - }, - "FulfilledCapacity": { - "target": "com.amazonaws.ec2#Double", - "traits": { - "aws.protocols#ec2QueryName": "FulfilledCapacity", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of capacity units fulfilled by the Capacity Reservation. For more information, see \n\t\t\t\n\t\t\t\tTotal target capacity in the Amazon EC2 User Guide.

", - "smithy.api#xmlName": "fulfilledCapacity" + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#documentation": "

The ID of the instance.

", + "smithy.api#xmlName": "instanceId" } - }, - "EbsOptimized": { + } + } + }, + "com.amazonaws.ec2#GetDefaultCreditSpecification": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetDefaultCreditSpecificationRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetDefaultCreditSpecificationResult" + }, + "traits": { + "smithy.api#documentation": "

Describes the default credit option for CPU usage of a burstable performance instance\n family.

\n

For more information, see Burstable\n performance instances in the Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#GetDefaultCreditSpecificationRequest": { + "type": "structure", + "members": { + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "EbsOptimized", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the Capacity Reservation reserves capacity for EBS-optimized instance types.

", - "smithy.api#xmlName": "ebsOptimized" - } - }, - "CreateDate": { - "target": "com.amazonaws.ec2#MillisecondDateTime", - "traits": { - "aws.protocols#ec2QueryName": "CreateDate", - "smithy.api#documentation": "

The date and time at which the Capacity Reservation was created.

", - "smithy.api#xmlName": "createDate" - } - }, - "Weight": { - "target": "com.amazonaws.ec2#DoubleWithConstraints", - "traits": { - "aws.protocols#ec2QueryName": "Weight", - "smithy.api#documentation": "

The weight of the instance type in the Capacity Reservation Fleet. For more information, \n\t\t\tsee \n\t\t\t\tInstance type weight in the Amazon EC2 User Guide.

", - "smithy.api#xmlName": "weight" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "Priority": { - "target": "com.amazonaws.ec2#IntegerWithConstraints", + "InstanceFamily": { + "target": "com.amazonaws.ec2#UnlimitedSupportedInstanceFamily", "traits": { - "aws.protocols#ec2QueryName": "Priority", - "smithy.api#documentation": "

The priority of the instance type in the Capacity Reservation Fleet. For more information, \n\t\t\tsee \n\t\t\t\tInstance type priority in the Amazon EC2 User Guide.

", - "smithy.api#xmlName": "priority" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The instance family.

", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Information about a Capacity Reservation in a Capacity Reservation Fleet.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#FleetCapacityReservationSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#FleetCapacityReservation", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#GetDefaultCreditSpecificationResult": { + "type": "structure", + "members": { + "InstanceFamilyCreditSpecification": { + "target": "com.amazonaws.ec2#InstanceFamilyCreditSpecification", + "traits": { + "aws.protocols#ec2QueryName": "InstanceFamilyCreditSpecification", + "smithy.api#documentation": "

The default credit option for CPU usage of the instance family.

", + "smithy.api#xmlName": "instanceFamilyCreditSpecification" + } } } }, - "com.amazonaws.ec2#FleetCapacityReservationTenancy": { - "type": "enum", + "com.amazonaws.ec2#GetEbsDefaultKmsKeyId": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetEbsDefaultKmsKeyIdRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetEbsDefaultKmsKeyIdResult" + }, + "traits": { + "smithy.api#documentation": "

Describes the default KMS key for EBS encryption by default for your account in this Region. \n \t\tYou can change the default KMS key for encryption by default using ModifyEbsDefaultKmsKeyId or\n ResetEbsDefaultKmsKeyId.

\n

For more information, see Amazon EBS encryption\n in the Amazon Elastic Compute Cloud User Guide.

" + } + }, + "com.amazonaws.ec2#GetEbsDefaultKmsKeyIdRequest": { + "type": "structure", "members": { - "default": { - "target": "smithy.api#Unit", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "default" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#FleetCapacityReservationUsageStrategy": { - "type": "enum", + "com.amazonaws.ec2#GetEbsDefaultKmsKeyIdResult": { + "type": "structure", "members": { - "USE_CAPACITY_RESERVATIONS_FIRST": { - "target": "smithy.api#Unit", + "KmsKeyId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "use-capacity-reservations-first" + "aws.protocols#ec2QueryName": "KmsKeyId", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the default KMS key for encryption by default.

", + "smithy.api#xmlName": "kmsKeyId" } } } }, - "com.amazonaws.ec2#FleetData": { + "com.amazonaws.ec2#GetEbsEncryptionByDefault": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetEbsEncryptionByDefaultRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetEbsEncryptionByDefaultResult" + }, + "traits": { + "smithy.api#documentation": "

Describes whether EBS encryption by default is enabled for your account in the current\n Region.

\n

For more information, see Amazon EBS encryption\n in the Amazon Elastic Compute Cloud User Guide.

" + } + }, + "com.amazonaws.ec2#GetEbsEncryptionByDefaultRequest": { "type": "structure", "members": { - "ActivityStatus": { - "target": "com.amazonaws.ec2#FleetActivityStatus", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "ActivityStatus", - "smithy.api#documentation": "

The progress of the EC2 Fleet. If there is an error, the status is error. After\n all requests are placed, the status is pending_fulfillment. If the size of the\n EC2 Fleet is equal to or greater than its target capacity, the status is fulfilled.\n If the size of the EC2 Fleet is decreased, the status is pending_termination while\n instances are terminating.

", - "smithy.api#xmlName": "activityStatus" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - }, - "CreateTime": { - "target": "com.amazonaws.ec2#DateTime", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#GetEbsEncryptionByDefaultResult": { + "type": "structure", + "members": { + "EbsEncryptionByDefault": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "CreateTime", - "smithy.api#documentation": "

The creation date and time of the EC2 Fleet.

", - "smithy.api#xmlName": "createTime" + "aws.protocols#ec2QueryName": "EbsEncryptionByDefault", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether encryption by default is enabled.

", + "smithy.api#xmlName": "ebsEncryptionByDefault" } - }, - "FleetId": { - "target": "com.amazonaws.ec2#FleetId", + } + } + }, + "com.amazonaws.ec2#GetFlowLogsIntegrationTemplate": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetFlowLogsIntegrationTemplateRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetFlowLogsIntegrationTemplateResult" + }, + "traits": { + "smithy.api#documentation": "

Generates a CloudFormation template that streamlines and automates the integration of VPC flow logs \n with Amazon Athena. This make it easier for you to query and gain insights from VPC flow logs data. \n Based on the information that you provide, we configure resources in the template to do the following:

\n
    \n
  • \n

    Create a table in Athena that maps fields to a custom log format

    \n
  • \n
  • \n

    Create a Lambda function that updates the table with new partitions on a daily, weekly, or\n monthly basis

    \n
  • \n
  • \n

    Create a table partitioned between two timestamps in the past

    \n
  • \n
  • \n

    Create a set of named queries in Athena that you can use to get started quickly

    \n
  • \n
" + } + }, + "com.amazonaws.ec2#GetFlowLogsIntegrationTemplateRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "FleetId", - "smithy.api#documentation": "

The ID of the EC2 Fleet.

", - "smithy.api#xmlName": "fleetId" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "FleetState": { - "target": "com.amazonaws.ec2#FleetStateCode", + "FlowLogId": { + "target": "com.amazonaws.ec2#VpcFlowLogId", "traits": { - "aws.protocols#ec2QueryName": "FleetState", - "smithy.api#documentation": "

The state of the EC2 Fleet.

", - "smithy.api#xmlName": "fleetState" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the flow log.

", + "smithy.api#required": {} } }, - "ClientToken": { + "ConfigDeliveryS3DestinationArn": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ClientToken", - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. For more information, see Ensuring\n idempotency.

\n

Constraints: Maximum 64 ASCII characters

", - "smithy.api#xmlName": "clientToken" - } - }, - "ExcessCapacityTerminationPolicy": { - "target": "com.amazonaws.ec2#FleetExcessCapacityTerminationPolicy", - "traits": { - "aws.protocols#ec2QueryName": "ExcessCapacityTerminationPolicy", - "smithy.api#documentation": "

Indicates whether running instances should be terminated if the target capacity of the\n EC2 Fleet is decreased below the current size of the EC2 Fleet.

", - "smithy.api#xmlName": "excessCapacityTerminationPolicy" - } - }, - "FulfilledCapacity": { - "target": "com.amazonaws.ec2#Double", - "traits": { - "aws.protocols#ec2QueryName": "FulfilledCapacity", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of units fulfilled by this request compared to the set target\n capacity.

", - "smithy.api#xmlName": "fulfilledCapacity" + "smithy.api#documentation": "

To store the CloudFormation template in Amazon S3, specify the location in Amazon S3.

", + "smithy.api#required": {} } }, - "FulfilledOnDemandCapacity": { - "target": "com.amazonaws.ec2#Double", + "IntegrateServices": { + "target": "com.amazonaws.ec2#IntegrateServices", "traits": { - "aws.protocols#ec2QueryName": "FulfilledOnDemandCapacity", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of units fulfilled by this request compared to the set target On-Demand\n capacity.

", - "smithy.api#xmlName": "fulfilledOnDemandCapacity" - } - }, - "LaunchTemplateConfigs": { - "target": "com.amazonaws.ec2#FleetLaunchTemplateConfigList", - "traits": { - "aws.protocols#ec2QueryName": "LaunchTemplateConfigs", - "smithy.api#documentation": "

The launch template and overrides.

", - "smithy.api#xmlName": "launchTemplateConfigs" + "smithy.api#documentation": "

Information about the service integration.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "IntegrateService" } - }, - "TargetCapacitySpecification": { - "target": "com.amazonaws.ec2#TargetCapacitySpecification", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#GetFlowLogsIntegrationTemplateResult": { + "type": "structure", + "members": { + "Result": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TargetCapacitySpecification", - "smithy.api#documentation": "

The number of units to request. You can choose to set the target capacity in terms of\n instances or a performance characteristic that is important to your application workload,\n such as vCPUs, memory, or I/O. If the request type is maintain, you can\n specify a target capacity of 0 and add capacity later.

", - "smithy.api#xmlName": "targetCapacitySpecification" + "aws.protocols#ec2QueryName": "Result", + "smithy.api#documentation": "

The generated CloudFormation template.

", + "smithy.api#xmlName": "result" } - }, - "TerminateInstancesWithExpiration": { - "target": "com.amazonaws.ec2#Boolean", + } + } + }, + "com.amazonaws.ec2#GetGroupsForCapacityReservation": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetGroupsForCapacityReservationRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetGroupsForCapacityReservationResult" + }, + "traits": { + "smithy.api#documentation": "

Lists the resource groups to which a Capacity Reservation has been added.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "CapacityReservationGroups", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#GetGroupsForCapacityReservationRequest": { + "type": "structure", + "members": { + "CapacityReservationId": { + "target": "com.amazonaws.ec2#CapacityReservationId", "traits": { - "aws.protocols#ec2QueryName": "TerminateInstancesWithExpiration", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether running instances should be terminated when the EC2 Fleet expires.

", - "smithy.api#xmlName": "terminateInstancesWithExpiration" - } - }, - "Type": { - "target": "com.amazonaws.ec2#FleetType", - "traits": { - "aws.protocols#ec2QueryName": "Type", - "smithy.api#documentation": "

The type of request. Indicates whether the EC2 Fleet only requests the target\n capacity, or also attempts to maintain it. If you request a certain target\n capacity, EC2 Fleet only places the required requests; it does not attempt to replenish\n instances if capacity is diminished, and it does not submit requests in alternative\n capacity pools if capacity is unavailable. To maintain a certain target capacity, EC2 Fleet\n places the required requests to meet this target capacity. It also automatically\n replenishes any interrupted Spot Instances. Default: maintain.

", - "smithy.api#xmlName": "type" + "smithy.api#documentation": "

The ID of the Capacity Reservation.

", + "smithy.api#required": {} } }, - "ValidFrom": { - "target": "com.amazonaws.ec2#DateTime", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ValidFrom", - "smithy.api#documentation": "

The start date and time of the request, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).\n The default is to start fulfilling the request immediately.

", - "smithy.api#xmlName": "validFrom" + "smithy.api#documentation": "

The token to use to retrieve the next page of results.

" } }, - "ValidUntil": { - "target": "com.amazonaws.ec2#DateTime", + "MaxResults": { + "target": "com.amazonaws.ec2#GetGroupsForCapacityReservationRequestMaxResults", "traits": { - "aws.protocols#ec2QueryName": "ValidUntil", - "smithy.api#documentation": "

The end date and time of the request, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).\n At this point, no new instance requests are placed or able to fulfill the request. The\n default end date is 7 days from the current date.

", - "smithy.api#xmlName": "validUntil" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

" } }, - "ReplaceUnhealthyInstances": { + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "ReplaceUnhealthyInstances", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether EC2 Fleet should replace unhealthy Spot Instances. Supported only for\n fleets of type maintain. For more information, see EC2 Fleet\n health checks in the Amazon EC2 User Guide.

", - "smithy.api#xmlName": "replaceUnhealthyInstances" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } - }, - "SpotOptions": { - "target": "com.amazonaws.ec2#SpotOptions", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#GetGroupsForCapacityReservationRequestMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 1, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#GetGroupsForCapacityReservationResult": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SpotOptions", - "smithy.api#documentation": "

The configuration of Spot Instances in an EC2 Fleet.

", - "smithy.api#xmlName": "spotOptions" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } }, - "OnDemandOptions": { - "target": "com.amazonaws.ec2#OnDemandOptions", + "CapacityReservationGroups": { + "target": "com.amazonaws.ec2#CapacityReservationGroupSet", "traits": { - "aws.protocols#ec2QueryName": "OnDemandOptions", - "smithy.api#documentation": "

The allocation strategy of On-Demand Instances in an EC2 Fleet.

", - "smithy.api#xmlName": "onDemandOptions" + "aws.protocols#ec2QueryName": "CapacityReservationGroupSet", + "smithy.api#documentation": "

Information about the resource groups to which the Capacity Reservation has been added.

", + "smithy.api#xmlName": "capacityReservationGroupSet" + } + } + } + }, + "com.amazonaws.ec2#GetHostReservationPurchasePreview": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetHostReservationPurchasePreviewRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetHostReservationPurchasePreviewResult" + }, + "traits": { + "smithy.api#documentation": "

Preview a reservation purchase with configurations that match those of your Dedicated\n Host. You must have active Dedicated Hosts in your account before you purchase a\n reservation.

\n

This is a preview of the PurchaseHostReservation action and does not\n result in the offering being purchased.

" + } + }, + "com.amazonaws.ec2#GetHostReservationPurchasePreviewRequest": { + "type": "structure", + "members": { + "HostIdSet": { + "target": "com.amazonaws.ec2#RequestHostIdSet", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The IDs of the Dedicated Hosts with which the reservation is associated.

", + "smithy.api#required": {} } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "OfferingId": { + "target": "com.amazonaws.ec2#OfferingId", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags for an EC2 Fleet resource.

", - "smithy.api#xmlName": "tagSet" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The offering ID of the reservation.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#GetHostReservationPurchasePreviewResult": { + "type": "structure", + "members": { + "CurrencyCode": { + "target": "com.amazonaws.ec2#CurrencyCodeValues", + "traits": { + "aws.protocols#ec2QueryName": "CurrencyCode", + "smithy.api#documentation": "

The currency in which the totalUpfrontPrice and\n totalHourlyPrice amounts are specified. At this time, the only\n supported currency is USD.

", + "smithy.api#xmlName": "currencyCode" } }, - "Errors": { - "target": "com.amazonaws.ec2#DescribeFleetsErrorSet", + "Purchase": { + "target": "com.amazonaws.ec2#PurchaseSet", "traits": { - "aws.protocols#ec2QueryName": "ErrorSet", - "smithy.api#documentation": "

Information about the instances that could not be launched by the fleet. Valid only when\n Type is set to instant.

", - "smithy.api#xmlName": "errorSet" + "aws.protocols#ec2QueryName": "Purchase", + "smithy.api#documentation": "

The purchase information of the Dedicated Host reservation and the Dedicated Hosts\n associated with it.

", + "smithy.api#xmlName": "purchase" } }, - "Instances": { - "target": "com.amazonaws.ec2#DescribeFleetsInstancesSet", + "TotalHourlyPrice": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "FleetInstanceSet", - "smithy.api#documentation": "

Information about the instances that were launched by the fleet. Valid only when\n Type is set to instant.

", - "smithy.api#xmlName": "fleetInstanceSet" + "aws.protocols#ec2QueryName": "TotalHourlyPrice", + "smithy.api#documentation": "

The potential total hourly price of the reservation per hour.

", + "smithy.api#xmlName": "totalHourlyPrice" } }, - "Context": { + "TotalUpfrontPrice": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Context", - "smithy.api#documentation": "

Reserved.

", - "smithy.api#xmlName": "context" + "aws.protocols#ec2QueryName": "TotalUpfrontPrice", + "smithy.api#documentation": "

The potential total upfront price. This is billed immediately.

", + "smithy.api#xmlName": "totalUpfrontPrice" } } + } + }, + "com.amazonaws.ec2#GetInstanceTypesFromInstanceRequirements": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetInstanceTypesFromInstanceRequirementsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetInstanceTypesFromInstanceRequirementsResult" }, "traits": { - "smithy.api#documentation": "

Describes an EC2 Fleet.

" + "smithy.api#documentation": "

Returns a list of instance types with the specified instance attributes. You can\n use the response to preview the instance types without launching instances. Note\n that the response does not consider capacity.

\n

When you specify multiple parameters, you get instance types that satisfy all of the\n specified parameters. If you specify multiple values for a parameter, you get instance\n types that satisfy any of the specified values.

\n

For more information, see Preview instance types with specified attributes, Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot\n placement score in the Amazon EC2 User Guide, and Creating an\n Auto Scaling group using attribute-based instance type selection in the\n Amazon EC2 Auto Scaling User Guide.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "InstanceTypes", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#FleetEventType": { - "type": "enum", + "com.amazonaws.ec2#GetInstanceTypesFromInstanceRequirementsRequest": { + "type": "structure", "members": { - "INSTANCE_CHANGE": { - "target": "smithy.api#Unit", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "instance-change" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "FLEET_CHANGE": { - "target": "smithy.api#Unit", + "ArchitectureTypes": { + "target": "com.amazonaws.ec2#ArchitectureTypeSet", "traits": { - "smithy.api#enumValue": "fleet-change" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The processor architecture type.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "ArchitectureType" } }, - "SERVICE_ERROR": { - "target": "smithy.api#Unit", + "VirtualizationTypes": { + "target": "com.amazonaws.ec2#VirtualizationTypeSet", "traits": { - "smithy.api#enumValue": "service-error" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The virtualization type.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "VirtualizationType" } - } - } - }, - "com.amazonaws.ec2#FleetExcessCapacityTerminationPolicy": { - "type": "enum", - "members": { - "NO_TERMINATION": { - "target": "smithy.api#Unit", + }, + "InstanceRequirements": { + "target": "com.amazonaws.ec2#InstanceRequirementsRequest", "traits": { - "smithy.api#enumValue": "no-termination" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The attributes required for the instance types.

", + "smithy.api#required": {} } }, - "TERMINATION": { - "target": "smithy.api#Unit", + "MaxResults": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "termination" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return in a single call. Specify a value between 1 and\u2028 \n 1000. The default value is 1000. To retrieve the remaining results, make another call with\u2028 \n the returned NextToken value.

" } - } - } - }, - "com.amazonaws.ec2#FleetId": { - "type": "string" - }, - "com.amazonaws.ec2#FleetIdSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#FleetId" - } - }, - "com.amazonaws.ec2#FleetInstanceMatchCriteria": { - "type": "enum", - "members": { - "open": { - "target": "smithy.api#Unit", + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "open" + "smithy.api#documentation": "

The token for the next set of results.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#FleetLaunchTemplateConfig": { + "com.amazonaws.ec2#GetInstanceTypesFromInstanceRequirementsResult": { "type": "structure", "members": { - "LaunchTemplateSpecification": { - "target": "com.amazonaws.ec2#FleetLaunchTemplateSpecification", + "InstanceTypes": { + "target": "com.amazonaws.ec2#InstanceTypeInfoFromInstanceRequirementsSet", "traits": { - "aws.protocols#ec2QueryName": "LaunchTemplateSpecification", - "smithy.api#documentation": "

The launch template.

", - "smithy.api#xmlName": "launchTemplateSpecification" + "aws.protocols#ec2QueryName": "InstanceTypeSet", + "smithy.api#documentation": "

The instance types with the specified instance attributes.

", + "smithy.api#xmlName": "instanceTypeSet" } }, - "Overrides": { - "target": "com.amazonaws.ec2#FleetLaunchTemplateOverridesList", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Overrides", - "smithy.api#documentation": "

Any parameters that you specify override the same parameters in the launch\n template.

", - "smithy.api#xmlName": "overrides" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token for the next set of results.

", + "smithy.api#xmlName": "nextToken" } } - }, - "traits": { - "smithy.api#documentation": "

Describes a launch template and overrides.

" - } - }, - "com.amazonaws.ec2#FleetLaunchTemplateConfigList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#FleetLaunchTemplateConfig", - "traits": { - "smithy.api#xmlName": "item" - } } }, - "com.amazonaws.ec2#FleetLaunchTemplateConfigListRequest": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#FleetLaunchTemplateConfigRequest", - "traits": { - "smithy.api#xmlName": "item" - } + "com.amazonaws.ec2#GetInstanceUefiData": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetInstanceUefiDataRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetInstanceUefiDataResult" }, "traits": { - "smithy.api#length": { - "min": 0, - "max": 50 - } + "smithy.api#documentation": "

A binary representation of the UEFI variable store. Only non-volatile variables are\n stored. This is a base64 encoded and zlib compressed binary value that must be properly\n encoded.

\n

When you use register-image to create\n an AMI, you can create an exact copy of your variable store by passing the UEFI data in\n the UefiData parameter. You can modify the UEFI data by using the python-uefivars tool on\n GitHub. You can use the tool to convert the UEFI data into a human-readable format\n (JSON), which you can inspect and modify, and then convert back into the binary format\n to use with register-image.

\n

For more information, see UEFI Secure Boot in the\n Amazon EC2 User Guide.

" } }, - "com.amazonaws.ec2#FleetLaunchTemplateConfigRequest": { + "com.amazonaws.ec2#GetInstanceUefiDataRequest": { "type": "structure", "members": { - "LaunchTemplateSpecification": { - "target": "com.amazonaws.ec2#FleetLaunchTemplateSpecificationRequest", + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", "traits": { - "smithy.api#documentation": "

The launch template to use. You must specify either the launch template ID or launch\n template name in the request.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the instance from which to retrieve the UEFI data.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "InstanceId" } }, - "Overrides": { - "target": "com.amazonaws.ec2#FleetLaunchTemplateOverridesListRequest", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

Any parameters that you specify override the same parameters in the launch\n template.

\n

For fleets of type request and maintain, a maximum of 300\n items is allowed across all launch templates.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Describes a launch template and overrides.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#FleetLaunchTemplateOverrides": { + "com.amazonaws.ec2#GetInstanceUefiDataResult": { "type": "structure", "members": { - "InstanceType": { - "target": "com.amazonaws.ec2#InstanceType", + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", "traits": { - "aws.protocols#ec2QueryName": "InstanceType", - "smithy.api#documentation": "

The instance type.

\n \n

If you specify InstanceType, you can't specify\n InstanceRequirements.

\n
", - "smithy.api#xmlName": "instanceType" + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#documentation": "

The ID of the instance from which to retrieve the UEFI data.

", + "smithy.api#xmlName": "instanceId" } }, - "MaxPrice": { + "UefiData": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "MaxPrice", - "smithy.api#documentation": "

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.\n

\n \n

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

\n
", - "smithy.api#xmlName": "maxPrice" + "aws.protocols#ec2QueryName": "UefiData", + "smithy.api#documentation": "

Base64 representation of the non-volatile UEFI variable store.

", + "smithy.api#xmlName": "uefiData" } - }, - "SubnetId": { - "target": "com.amazonaws.ec2#String", + } + } + }, + "com.amazonaws.ec2#GetIpamAddressHistory": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetIpamAddressHistoryRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetIpamAddressHistoryResult" + }, + "traits": { + "smithy.api#documentation": "

Retrieve historical information about a CIDR within an IPAM scope. For more information, see View the history of IP addresses in the Amazon VPC IPAM User Guide.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "HistoryRecords", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#GetIpamAddressHistoryRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "SubnetId", - "smithy.api#documentation": "

The ID of the subnet in which to launch the instances.

", - "smithy.api#xmlName": "subnetId" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "AvailabilityZone": { + "Cidr": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZone", - "smithy.api#documentation": "

The Availability Zone in which to launch the instances.

", - "smithy.api#xmlName": "availabilityZone" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The CIDR you want the history of. The CIDR can be an IPv4 or IPv6 IP address range. \n If you enter a /16 IPv4 CIDR, you will get records that match it exactly. You will not get records for any subnets within the /16 CIDR.

", + "smithy.api#required": {} } }, - "WeightedCapacity": { - "target": "com.amazonaws.ec2#Double", + "IpamScopeId": { + "target": "com.amazonaws.ec2#IpamScopeId", "traits": { - "aws.protocols#ec2QueryName": "WeightedCapacity", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of units provided by the specified instance type.

", - "smithy.api#xmlName": "weightedCapacity" + "smithy.api#documentation": "

The ID of the IPAM scope that the CIDR is in.

", + "smithy.api#required": {} } }, - "Priority": { - "target": "com.amazonaws.ec2#Double", + "VpcId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Priority", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The priority for the launch template override. The highest priority is launched\n first.

\n

If the On-Demand AllocationStrategy is set to prioritized,\n EC2 Fleet uses priority to determine which launch template override to use first in fulfilling\n On-Demand capacity.

\n

If the Spot AllocationStrategy is set to\n capacity-optimized-prioritized, EC2 Fleet uses priority on a best-effort basis\n to determine which launch template override to use in fulfilling Spot capacity, but\n optimizes for capacity first.

\n

Valid values are whole numbers starting at 0. The lower the number, the\n higher the priority. If no number is set, the override has the lowest priority. You can set\n the same priority for different launch template overrides.

", - "smithy.api#xmlName": "priority" + "smithy.api#documentation": "

The ID of the VPC you want your history records filtered by.

" } }, - "Placement": { - "target": "com.amazonaws.ec2#PlacementResponse", + "StartTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "aws.protocols#ec2QueryName": "Placement", - "smithy.api#documentation": "

The location where the instance launched, if applicable.

", - "smithy.api#xmlName": "placement" + "smithy.api#documentation": "

The start of the time period for which you are looking for history. If you omit this option, it will default to the value of EndTime.

" } }, - "InstanceRequirements": { - "target": "com.amazonaws.ec2#InstanceRequirements", + "EndTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "aws.protocols#ec2QueryName": "InstanceRequirements", - "smithy.api#documentation": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with those attributes.

\n \n

If you specify InstanceRequirements, you can't specify\n InstanceType.

\n
", - "smithy.api#xmlName": "instanceRequirements" + "smithy.api#documentation": "

The end of the time period for which you are looking for history. If you omit this option, it will default to the current time.

" } }, - "ImageId": { - "target": "com.amazonaws.ec2#ImageId", + "MaxResults": { + "target": "com.amazonaws.ec2#IpamAddressHistoryMaxResults", "traits": { - "aws.protocols#ec2QueryName": "ImageId", - "smithy.api#documentation": "

The ID of the AMI. An AMI is required to launch an instance. The AMI ID must be specified here or in the launch template.

", - "smithy.api#xmlName": "imageId" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of historical results you would like returned per page. Defaults to 100.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" } } }, "traits": { - "smithy.api#documentation": "

Describes overrides for a launch template.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#FleetLaunchTemplateOverridesList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#FleetLaunchTemplateOverrides", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#GetIpamAddressHistoryResult": { + "type": "structure", + "members": { + "HistoryRecords": { + "target": "com.amazonaws.ec2#IpamAddressHistoryRecordSet", + "traits": { + "aws.protocols#ec2QueryName": "HistoryRecordSet", + "smithy.api#documentation": "

A historical record for a CIDR within an IPAM scope. If the CIDR is associated with an EC2 instance, you will see an object in the response for the instance and one for the network interface.

", + "smithy.api#xmlName": "historyRecordSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" + } } } }, - "com.amazonaws.ec2#FleetLaunchTemplateOverridesListRequest": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#FleetLaunchTemplateOverridesRequest", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#GetIpamDiscoveredAccounts": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetIpamDiscoveredAccountsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetIpamDiscoveredAccountsResult" + }, + "traits": { + "smithy.api#documentation": "

Gets IPAM discovered accounts. A discovered account is an Amazon Web Services account that is monitored under a resource discovery. If you have integrated IPAM with Amazon Web Services Organizations, all accounts in the organization are discovered accounts. Only the IPAM account can get all discovered accounts in the organization.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "IpamDiscoveredAccounts", + "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#FleetLaunchTemplateOverridesRequest": { + "com.amazonaws.ec2#GetIpamDiscoveredAccountsRequest": { "type": "structure", "members": { - "InstanceType": { - "target": "com.amazonaws.ec2#InstanceType", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The instance type.

\n \n

If you specify InstanceType, you can't specify\n InstanceRequirements.

\n
" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "MaxPrice": { - "target": "com.amazonaws.ec2#String", + "IpamResourceDiscoveryId": { + "target": "com.amazonaws.ec2#IpamResourceDiscoveryId", "traits": { - "smithy.api#documentation": "

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.\n

\n \n

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

\n
" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

A resource discovery ID.

", + "smithy.api#required": {} } }, - "SubnetId": { - "target": "com.amazonaws.ec2#SubnetId", + "DiscoveryRegion": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The IDs of the subnets in which to launch the instances. Separate multiple subnet IDs using commas (for example, subnet-1234abcdeexample1, subnet-0987cdef6example2). A request of type instant can have only one subnet ID.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Amazon Web Services Region that the account information is returned from.

", + "smithy.api#required": {} } }, - "AvailabilityZone": { - "target": "com.amazonaws.ec2#String", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The Availability Zone in which to launch the instances.

" + "smithy.api#documentation": "

Discovered account filters.

", + "smithy.api#xmlName": "Filter" } }, - "WeightedCapacity": { - "target": "com.amazonaws.ec2#Double", + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of units provided by the specified instance type.

" + "smithy.api#documentation": "

Specify the pagination token from a previous request to retrieve the next page of results.

" } }, - "Priority": { - "target": "com.amazonaws.ec2#Double", + "MaxResults": { + "target": "com.amazonaws.ec2#IpamMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The priority for the launch template override. The highest priority is launched\n first.

\n

If the On-Demand AllocationStrategy is set to prioritized,\n EC2 Fleet uses priority to determine which launch template override to use first in fulfilling\n On-Demand capacity.

\n

If the Spot AllocationStrategy is set to\n capacity-optimized-prioritized, EC2 Fleet uses priority on a best-effort basis\n to determine which launch template override to use in fulfilling Spot capacity, but\n optimizes for capacity first.

\n

Valid values are whole numbers starting at 0. The lower the number, the\n higher the priority. If no number is set, the launch template override has the lowest\n priority. You can set the same priority for different launch template overrides.

" - } - }, - "Placement": { - "target": "com.amazonaws.ec2#Placement", - "traits": { - "smithy.api#documentation": "

The location where the instance launched, if applicable.

" + "smithy.api#documentation": "

The maximum number of discovered accounts to return in one page of results.

" } - }, - "InstanceRequirements": { - "target": "com.amazonaws.ec2#InstanceRequirementsRequest", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#GetIpamDiscoveredAccountsResult": { + "type": "structure", + "members": { + "IpamDiscoveredAccounts": { + "target": "com.amazonaws.ec2#IpamDiscoveredAccountSet", "traits": { - "smithy.api#documentation": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with those attributes.

\n \n

If you specify InstanceRequirements, you can't specify\n InstanceType.

\n
" + "aws.protocols#ec2QueryName": "IpamDiscoveredAccountSet", + "smithy.api#documentation": "

Discovered accounts.

", + "smithy.api#xmlName": "ipamDiscoveredAccountSet" } }, - "ImageId": { - "target": "com.amazonaws.ec2#ImageId", + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", "traits": { - "smithy.api#documentation": "

The ID of the AMI. An AMI is required to launch an instance. The AMI ID must be specified here or in the launch template.

" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

Specify the pagination token from a previous request to retrieve the next page of results.

", + "smithy.api#xmlName": "nextToken" } } + } + }, + "com.amazonaws.ec2#GetIpamDiscoveredResourceCidrs": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetIpamDiscoveredResourceCidrsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetIpamDiscoveredResourceCidrsResult" }, "traits": { - "smithy.api#documentation": "

Describes overrides for a launch template.

" + "smithy.api#documentation": "

Returns the resource CIDRs that are monitored as part of a resource discovery. A discovered resource is a resource CIDR monitored under a resource discovery. The following resources can be discovered: VPCs, Public IPv4 pools, VPC subnets, and Elastic IP addresses.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "IpamDiscoveredResourceCidrs", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#FleetLaunchTemplateSpecification": { + "com.amazonaws.ec2#GetIpamDiscoveredResourceCidrsRequest": { "type": "structure", "members": { - "LaunchTemplateId": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "LaunchTemplateId", - "smithy.api#documentation": "

The ID of the launch template.

\n

You must specify the LaunchTemplateId or the LaunchTemplateName, but not both.

", - "smithy.api#xmlName": "launchTemplateId" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "LaunchTemplateName": { - "target": "com.amazonaws.ec2#LaunchTemplateName", + "IpamResourceDiscoveryId": { + "target": "com.amazonaws.ec2#IpamResourceDiscoveryId", "traits": { - "aws.protocols#ec2QueryName": "LaunchTemplateName", - "smithy.api#documentation": "

The name of the launch template.

\n

You must specify the LaunchTemplateName or the LaunchTemplateId, but not both.

", - "smithy.api#xmlName": "launchTemplateName" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

A resource discovery ID.

", + "smithy.api#required": {} } }, - "Version": { + "ResourceRegion": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Version", - "smithy.api#documentation": "

The launch template version number, $Latest, or $Default.\n You must specify a value, otherwise the request fails.

\n

If the value is $Latest, Amazon EC2 uses the latest version of the launch\n template.

\n

If the value is $Default, Amazon EC2 uses the default version of the launch\n template.

", - "smithy.api#xmlName": "version" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

A resource Region.

", + "smithy.api#required": {} } - } - }, - "traits": { - "smithy.api#documentation": "

The Amazon EC2 launch template that can be used by\n a Spot Fleet to configure Amazon EC2 instances. You must specify either the ID or name of the launch template in the request, but not both.

\n

For information about launch templates,\n see Launch an instance from a launch template in the\n Amazon EC2 User Guide.

" - } - }, - "com.amazonaws.ec2#FleetLaunchTemplateSpecificationRequest": { - "type": "structure", - "members": { - "LaunchTemplateId": { - "target": "com.amazonaws.ec2#LaunchTemplateId", + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The ID of the launch template.

\n

You must specify the LaunchTemplateId or the LaunchTemplateName, but not both.

" + "smithy.api#documentation": "

Filters.

", + "smithy.api#xmlName": "Filter" } }, - "LaunchTemplateName": { - "target": "com.amazonaws.ec2#LaunchTemplateName", + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", "traits": { - "smithy.api#documentation": "

The name of the launch template.

\n

You must specify the LaunchTemplateName or the LaunchTemplateId, but not both.

" + "smithy.api#documentation": "

Specify the pagination token from a previous request to retrieve the next page of results.

" } }, - "Version": { - "target": "com.amazonaws.ec2#String", + "MaxResults": { + "target": "com.amazonaws.ec2#IpamMaxResults", "traits": { - "smithy.api#documentation": "

The launch template version number, $Latest, or $Default. You must specify a value, otherwise the request fails.

\n

If the value is $Latest, Amazon EC2 uses the latest version of the launch template.

\n

If the value is $Default, Amazon EC2 uses the default version of the launch template.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of discovered resource CIDRs to return in one page of results.

" } } }, "traits": { - "smithy.api#documentation": "

The Amazon EC2 launch template that can be used by\n an EC2 Fleet to configure Amazon EC2 instances. You must specify either the ID or name of the launch template in the request, but not both.

\n

For information about launch templates, see Launch\n an instance from a launch template in the\n Amazon EC2 User Guide.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#FleetOnDemandAllocationStrategy": { - "type": "enum", + "com.amazonaws.ec2#GetIpamDiscoveredResourceCidrsResult": { + "type": "structure", "members": { - "LOWEST_PRICE": { - "target": "smithy.api#Unit", + "IpamDiscoveredResourceCidrs": { + "target": "com.amazonaws.ec2#IpamDiscoveredResourceCidrSet", "traits": { - "smithy.api#enumValue": "lowest-price" + "aws.protocols#ec2QueryName": "IpamDiscoveredResourceCidrSet", + "smithy.api#documentation": "

Discovered resource CIDRs.

", + "smithy.api#xmlName": "ipamDiscoveredResourceCidrSet" } }, - "PRIORITIZED": { - "target": "smithy.api#Unit", + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", "traits": { - "smithy.api#enumValue": "prioritized" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

Specify the pagination token from a previous request to retrieve the next page of results.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#FleetReplacementStrategy": { - "type": "enum", - "members": { - "LAUNCH": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "launch" - } - }, - "LAUNCH_BEFORE_TERMINATE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "launch-before-terminate" - } + "com.amazonaws.ec2#GetIpamPoolAllocations": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetIpamPoolAllocationsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetIpamPoolAllocationsResult" + }, + "traits": { + "smithy.api#documentation": "

Get a list of all the CIDR allocations in an IPAM pool.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "IpamPoolAllocations", + "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#FleetSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#FleetData", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#GetIpamPoolAllocationsMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 1000, + "max": 100000 } } }, - "com.amazonaws.ec2#FleetSpotCapacityRebalance": { + "com.amazonaws.ec2#GetIpamPoolAllocationsRequest": { "type": "structure", "members": { - "ReplacementStrategy": { - "target": "com.amazonaws.ec2#FleetReplacementStrategy", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "ReplacementStrategy", - "smithy.api#documentation": "

The replacement strategy to use. Only available for fleets of type\n maintain.

\n

\n launch - EC2 Fleet launches a new replacement Spot Instance when a\n rebalance notification is emitted for an existing Spot Instance in the fleet. EC2 Fleet\n does not terminate the instances that receive a rebalance notification. You can terminate\n the old instances, or you can leave them running. You are charged for all instances while\n they are running.

\n

\n launch-before-terminate - EC2 Fleet launches a new replacement Spot\n Instance when a rebalance notification is emitted for an existing Spot Instance in the\n fleet, and then, after a delay that you specify (in TerminationDelay),\n terminates the instances that received a rebalance notification.

", - "smithy.api#xmlName": "replacementStrategy" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "TerminationDelay": { - "target": "com.amazonaws.ec2#Integer", + "IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", "traits": { - "aws.protocols#ec2QueryName": "TerminationDelay", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot\n Instance after launching a new replacement Spot Instance.

\n

Required when ReplacementStrategy is set to launch-before-terminate.

\n

Not valid when ReplacementStrategy is set to launch.

\n

Valid values: Minimum value of 120 seconds. Maximum value of 7200 seconds.

", - "smithy.api#xmlName": "terminationDelay" + "smithy.api#documentation": "

The ID of the IPAM pool you want to see the allocations for.

", + "smithy.api#required": {} } - } - }, - "traits": { - "smithy.api#documentation": "

The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an\n elevated risk of being interrupted.

" - } - }, - "com.amazonaws.ec2#FleetSpotCapacityRebalanceRequest": { - "type": "structure", - "members": { - "ReplacementStrategy": { - "target": "com.amazonaws.ec2#FleetReplacementStrategy", + }, + "IpamPoolAllocationId": { + "target": "com.amazonaws.ec2#IpamPoolAllocationId", "traits": { - "smithy.api#documentation": "

The replacement strategy to use. Only available for fleets of type\n maintain.

\n

\n launch - EC2 Fleet launches a replacement Spot Instance when a rebalance\n notification is emitted for an existing Spot Instance in the fleet. EC2 Fleet does not\n terminate the instances that receive a rebalance notification. You can terminate the old\n instances, or you can leave them running. You are charged for all instances while they are\n running.

\n

\n launch-before-terminate - EC2 Fleet launches a replacement Spot Instance\n when a rebalance notification is emitted for an existing Spot Instance in the fleet, and\n then, after a delay that you specify (in TerminationDelay), terminates the\n instances that received a rebalance notification.

" + "smithy.api#documentation": "

The ID of the allocation.

" } }, - "TerminationDelay": { - "target": "com.amazonaws.ec2#Integer", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters for the request. For more information about filtering, see Filtering CLI output.

", + "smithy.api#xmlName": "Filter" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#GetIpamPoolAllocationsMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot\n Instance after launching a new replacement Spot Instance.

\n

Required when ReplacementStrategy is set to launch-before-terminate.

\n

Not valid when ReplacementStrategy is set to launch.

\n

Valid values: Minimum value of 120 seconds. Maximum value of 7200 seconds.

" + "smithy.api#documentation": "

The maximum number of results you would like returned per page.

" } - } - }, - "traits": { - "smithy.api#documentation": "

The Spot Instance replacement strategy to use when Amazon EC2 emits a rebalance\n notification signal that your Spot Instance is at an elevated risk of being interrupted.\n For more information, see Capacity rebalancing in the Amazon EC2 User Guide.

" - } - }, - "com.amazonaws.ec2#FleetSpotMaintenanceStrategies": { - "type": "structure", - "members": { - "CapacityRebalance": { - "target": "com.amazonaws.ec2#FleetSpotCapacityRebalance", + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", "traits": { - "aws.protocols#ec2QueryName": "CapacityRebalance", - "smithy.api#documentation": "

The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an\n elevated risk of being interrupted.

", - "smithy.api#xmlName": "capacityRebalance" + "smithy.api#documentation": "

The token for the next page of results.

" } } }, "traits": { - "smithy.api#documentation": "

The strategies for managing your Spot Instances that are at an elevated risk of being\n interrupted.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#FleetSpotMaintenanceStrategiesRequest": { + "com.amazonaws.ec2#GetIpamPoolAllocationsResult": { "type": "structure", "members": { - "CapacityRebalance": { - "target": "com.amazonaws.ec2#FleetSpotCapacityRebalanceRequest", + "IpamPoolAllocations": { + "target": "com.amazonaws.ec2#IpamPoolAllocationSet", "traits": { - "smithy.api#documentation": "

The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an\n elevated risk of being interrupted.

" + "aws.protocols#ec2QueryName": "IpamPoolAllocationSet", + "smithy.api#documentation": "

The IPAM pool allocations you want information on.

", + "smithy.api#xmlName": "ipamPoolAllocationSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } + } + }, + "com.amazonaws.ec2#GetIpamPoolCidrs": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetIpamPoolCidrsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetIpamPoolCidrsResult" }, "traits": { - "smithy.api#documentation": "

The strategies for managing your Spot Instances that are at an elevated risk of being interrupted.

" + "smithy.api#documentation": "

Get the CIDRs provisioned to an IPAM pool.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "IpamPoolCidrs", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#FleetStateCode": { - "type": "enum", + "com.amazonaws.ec2#GetIpamPoolCidrsRequest": { + "type": "structure", "members": { - "SUBMITTED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "submitted" - } - }, - "ACTIVE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "active" - } - }, - "DELETED": { - "target": "smithy.api#Unit", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "deleted" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "FAILED": { - "target": "smithy.api#Unit", + "IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", "traits": { - "smithy.api#enumValue": "failed" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the IPAM pool you want the CIDR for.

", + "smithy.api#required": {} } }, - "DELETED_RUNNING": { - "target": "smithy.api#Unit", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#enumValue": "deleted_running" + "smithy.api#documentation": "

One or more filters for the request. For more information about filtering, see Filtering CLI output.

", + "smithy.api#xmlName": "Filter" } }, - "DELETED_TERMINATING_INSTANCES": { - "target": "smithy.api#Unit", + "MaxResults": { + "target": "com.amazonaws.ec2#IpamMaxResults", "traits": { - "smithy.api#enumValue": "deleted_terminating" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return in the request.

" } }, - "MODIFYING": { - "target": "smithy.api#Unit", + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", "traits": { - "smithy.api#enumValue": "modifying" + "smithy.api#documentation": "

The token for the next page of results.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#FleetType": { - "type": "enum", + "com.amazonaws.ec2#GetIpamPoolCidrsResult": { + "type": "structure", "members": { - "REQUEST": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "request" - } - }, - "MAINTAIN": { - "target": "smithy.api#Unit", + "IpamPoolCidrs": { + "target": "com.amazonaws.ec2#IpamPoolCidrSet", "traits": { - "smithy.api#enumValue": "maintain" + "aws.protocols#ec2QueryName": "IpamPoolCidrSet", + "smithy.api#documentation": "

Information about the CIDRs provisioned to an IPAM pool.

", + "smithy.api#xmlName": "ipamPoolCidrSet" } }, - "INSTANT": { - "target": "smithy.api#Unit", + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", "traits": { - "smithy.api#enumValue": "instant" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#Float": { - "type": "float", + "com.amazonaws.ec2#GetIpamResourceCidrs": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetIpamResourceCidrsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetIpamResourceCidrsResult" + }, "traits": { - "smithy.api#default": 0 + "smithy.api#documentation": "

Returns resource CIDRs managed by IPAM in a given scope. If an IPAM is associated with more than one resource discovery, the resource CIDRs across all of the resource discoveries is returned. A resource discovery is an IPAM component that enables IPAM Service to manage and monitor resources that belong to the owning account.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "IpamResourceCidrs", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#FlowLog": { + "com.amazonaws.ec2#GetIpamResourceCidrsRequest": { "type": "structure", "members": { - "CreationTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "CreationTime", - "smithy.api#documentation": "

The date and time the flow log was created.

", - "smithy.api#xmlName": "creationTime" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "DeliverLogsErrorMessage": { - "target": "com.amazonaws.ec2#String", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "aws.protocols#ec2QueryName": "DeliverLogsErrorMessage", - "smithy.api#documentation": "

Information about the error that occurred. Rate limited indicates that\n CloudWatch Logs throttling has been applied for one or more network interfaces, or that you've\n reached the limit on the number of log groups that you can create. Access\n error indicates that the IAM role associated with the flow log does not have\n sufficient permissions to publish to CloudWatch Logs. Unknown error indicates an\n internal error.

", - "smithy.api#xmlName": "deliverLogsErrorMessage" + "smithy.api#documentation": "

One or more filters for the request. For more information about filtering, see Filtering CLI output.

", + "smithy.api#xmlName": "Filter" } }, - "DeliverLogsPermissionArn": { - "target": "com.amazonaws.ec2#String", + "MaxResults": { + "target": "com.amazonaws.ec2#IpamMaxResults", "traits": { - "aws.protocols#ec2QueryName": "DeliverLogsPermissionArn", - "smithy.api#documentation": "

The ARN of the IAM role allows the service to publish logs to CloudWatch Logs.

", - "smithy.api#xmlName": "deliverLogsPermissionArn" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return in the request.

" } }, - "DeliverCrossAccountRole": { - "target": "com.amazonaws.ec2#String", + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", "traits": { - "aws.protocols#ec2QueryName": "DeliverCrossAccountRole", - "smithy.api#documentation": "

The ARN of the IAM role that allows the service to publish flow logs across accounts.

", - "smithy.api#xmlName": "deliverCrossAccountRole" + "smithy.api#documentation": "

The token for the next page of results.

" } }, - "DeliverLogsStatus": { - "target": "com.amazonaws.ec2#String", + "IpamScopeId": { + "target": "com.amazonaws.ec2#IpamScopeId", "traits": { - "aws.protocols#ec2QueryName": "DeliverLogsStatus", - "smithy.api#documentation": "

The status of the logs delivery (SUCCESS | FAILED).

", - "smithy.api#xmlName": "deliverLogsStatus" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the scope that the resource is in.

", + "smithy.api#required": {} } }, - "FlowLogId": { - "target": "com.amazonaws.ec2#String", + "IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", "traits": { - "aws.protocols#ec2QueryName": "FlowLogId", - "smithy.api#documentation": "

The ID of the flow log.

", - "smithy.api#xmlName": "flowLogId" + "smithy.api#documentation": "

The ID of the IPAM pool that the resource is in.

" } }, - "FlowLogStatus": { + "ResourceId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "FlowLogStatus", - "smithy.api#documentation": "

The status of the flow log (ACTIVE).

", - "smithy.api#xmlName": "flowLogStatus" + "smithy.api#documentation": "

The ID of the resource.

" } }, - "LogGroupName": { - "target": "com.amazonaws.ec2#String", + "ResourceType": { + "target": "com.amazonaws.ec2#IpamResourceType", "traits": { - "aws.protocols#ec2QueryName": "LogGroupName", - "smithy.api#documentation": "

The name of the flow log group.

", - "smithy.api#xmlName": "logGroupName" + "smithy.api#documentation": "

The resource type.

" } }, - "ResourceId": { - "target": "com.amazonaws.ec2#String", + "ResourceTag": { + "target": "com.amazonaws.ec2#RequestIpamResourceTag", "traits": { - "aws.protocols#ec2QueryName": "ResourceId", - "smithy.api#documentation": "

The ID of the resource being monitored.

", - "smithy.api#xmlName": "resourceId" + "smithy.api#documentation": "

The resource tag.

" } }, - "TrafficType": { - "target": "com.amazonaws.ec2#TrafficType", + "ResourceOwner": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TrafficType", - "smithy.api#documentation": "

The type of traffic captured for the flow log.

", - "smithy.api#xmlName": "trafficType" + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the resource.

" } - }, - "LogDestinationType": { - "target": "com.amazonaws.ec2#LogDestinationType", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#GetIpamResourceCidrsResult": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", "traits": { - "aws.protocols#ec2QueryName": "LogDestinationType", - "smithy.api#documentation": "

The type of destination for the flow log data.

", - "smithy.api#xmlName": "logDestinationType" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } }, - "LogDestination": { - "target": "com.amazonaws.ec2#String", + "IpamResourceCidrs": { + "target": "com.amazonaws.ec2#IpamResourceCidrSet", "traits": { - "aws.protocols#ec2QueryName": "LogDestination", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the destination for the flow log data.

", - "smithy.api#xmlName": "logDestination" + "aws.protocols#ec2QueryName": "IpamResourceCidrSet", + "smithy.api#documentation": "

The resource CIDRs.

", + "smithy.api#xmlName": "ipamResourceCidrSet" + } + } + } + }, + "com.amazonaws.ec2#GetLaunchTemplateData": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetLaunchTemplateDataRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetLaunchTemplateDataResult" + }, + "traits": { + "smithy.api#documentation": "

Retrieves the configuration data of the specified instance. You can use this data to\n create a launch template.

\n

This action calls on other describe actions to get instance information. Depending on\n your instance configuration, you may need to allow the following actions in your IAM\n policy: DescribeSpotInstanceRequests,\n DescribeInstanceCreditSpecifications, DescribeVolumes,\n DescribeInstanceAttribute, and DescribeElasticGpus. Or,\n you can allow describe* depending on your instance requirements.

" + } + }, + "com.amazonaws.ec2#GetLaunchTemplateDataRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" } }, - "LogFormat": { - "target": "com.amazonaws.ec2#String", + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the instance.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#GetLaunchTemplateDataResult": { + "type": "structure", + "members": { + "LaunchTemplateData": { + "target": "com.amazonaws.ec2#ResponseLaunchTemplateData", + "traits": { + "aws.protocols#ec2QueryName": "LaunchTemplateData", + "smithy.api#documentation": "

The instance data.

", + "smithy.api#xmlName": "launchTemplateData" + } + } + } + }, + "com.amazonaws.ec2#GetManagedPrefixListAssociations": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetManagedPrefixListAssociationsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetManagedPrefixListAssociationsResult" + }, + "traits": { + "smithy.api#documentation": "

Gets information about the resources that are associated with the specified managed prefix list.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "PrefixListAssociations", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#GetManagedPrefixListAssociationsMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 255 + } + } + }, + "com.amazonaws.ec2#GetManagedPrefixListAssociationsRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "LogFormat", - "smithy.api#documentation": "

The format of the flow log record.

", - "smithy.api#xmlName": "logFormat" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "PrefixListId": { + "target": "com.amazonaws.ec2#PrefixListResourceId", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags for the flow log.

", - "smithy.api#xmlName": "tagSet" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the prefix list.

", + "smithy.api#required": {} } }, - "MaxAggregationInterval": { - "target": "com.amazonaws.ec2#Integer", + "MaxResults": { + "target": "com.amazonaws.ec2#GetManagedPrefixListAssociationsMaxResults", "traits": { - "aws.protocols#ec2QueryName": "MaxAggregationInterval", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum interval of time, in seconds, during which a flow of packets is captured and aggregated into a flow log record.

\n

When a network interface is attached to a Nitro-based\n instance, the aggregation interval is always 60 seconds (1 minute) or less,\n regardless of the specified value.

\n

Valid Values: 60 | 600\n

", - "smithy.api#xmlName": "maxAggregationInterval" + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } }, - "DestinationOptions": { - "target": "com.amazonaws.ec2#DestinationOptionsResponse", + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", "traits": { - "aws.protocols#ec2QueryName": "DestinationOptions", - "smithy.api#documentation": "

The destination options.

", - "smithy.api#xmlName": "destinationOptions" + "smithy.api#documentation": "

The token for the next page of results.

" } } }, "traits": { - "smithy.api#documentation": "

Describes a flow log.

" - } - }, - "com.amazonaws.ec2#FlowLogIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#VpcFlowLogId", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#input": {} } }, - "com.amazonaws.ec2#FlowLogResourceId": { - "type": "string" - }, - "com.amazonaws.ec2#FlowLogResourceIds": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#FlowLogResourceId", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#GetManagedPrefixListAssociationsResult": { + "type": "structure", + "members": { + "PrefixListAssociations": { + "target": "com.amazonaws.ec2#PrefixListAssociationSet", + "traits": { + "aws.protocols#ec2QueryName": "PrefixListAssociationSet", + "smithy.api#documentation": "

Information about the associations.

", + "smithy.api#xmlName": "prefixListAssociationSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" + } } } }, - "com.amazonaws.ec2#FlowLogSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#FlowLog", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#GetManagedPrefixListEntries": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetManagedPrefixListEntriesRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetManagedPrefixListEntriesResult" + }, + "traits": { + "smithy.api#documentation": "

Gets information about the entries for a specified managed prefix list.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Entries", + "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#FlowLogsResourceType": { - "type": "enum", + "com.amazonaws.ec2#GetManagedPrefixListEntriesRequest": { + "type": "structure", "members": { - "VPC": { - "target": "smithy.api#Unit", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "VPC" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "Subnet": { - "target": "smithy.api#Unit", + "PrefixListId": { + "target": "com.amazonaws.ec2#PrefixListResourceId", "traits": { - "smithy.api#enumValue": "Subnet" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the prefix list.

", + "smithy.api#required": {} } }, - "NetworkInterface": { - "target": "smithy.api#Unit", + "TargetVersion": { + "target": "com.amazonaws.ec2#Long", "traits": { - "smithy.api#enumValue": "NetworkInterface" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The version of the prefix list for which to return the entries. The default is the current version.

" } }, - "TransitGateway": { - "target": "smithy.api#Unit", + "MaxResults": { + "target": "com.amazonaws.ec2#PrefixListMaxResults", "traits": { - "smithy.api#enumValue": "TransitGateway" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } }, - "TransitGatewayAttachment": { - "target": "smithy.api#Unit", + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", "traits": { - "smithy.api#enumValue": "TransitGatewayAttachment" + "smithy.api#documentation": "

The token for the next page of results.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#FpgaDeviceCount": { - "type": "integer" - }, - "com.amazonaws.ec2#FpgaDeviceInfo": { + "com.amazonaws.ec2#GetManagedPrefixListEntriesResult": { "type": "structure", "members": { - "Name": { - "target": "com.amazonaws.ec2#FpgaDeviceName", - "traits": { - "aws.protocols#ec2QueryName": "Name", - "smithy.api#documentation": "

The name of the FPGA accelerator.

", - "smithy.api#xmlName": "name" - } - }, - "Manufacturer": { - "target": "com.amazonaws.ec2#FpgaDeviceManufacturerName", - "traits": { - "aws.protocols#ec2QueryName": "Manufacturer", - "smithy.api#documentation": "

The manufacturer of the FPGA accelerator.

", - "smithy.api#xmlName": "manufacturer" - } - }, - "Count": { - "target": "com.amazonaws.ec2#FpgaDeviceCount", + "Entries": { + "target": "com.amazonaws.ec2#PrefixListEntrySet", "traits": { - "aws.protocols#ec2QueryName": "Count", - "smithy.api#documentation": "

The count of FPGA accelerators for the instance type.

", - "smithy.api#xmlName": "count" + "aws.protocols#ec2QueryName": "EntrySet", + "smithy.api#documentation": "

Information about the prefix list entries.

", + "smithy.api#xmlName": "entrySet" } }, - "MemoryInfo": { - "target": "com.amazonaws.ec2#FpgaDeviceMemoryInfo", + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", "traits": { - "aws.protocols#ec2QueryName": "MemoryInfo", - "smithy.api#documentation": "

Describes the memory for the FPGA accelerator for the instance type.

", - "smithy.api#xmlName": "memoryInfo" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } - }, - "traits": { - "smithy.api#documentation": "

Describes the FPGA accelerator for the instance type.

" } }, - "com.amazonaws.ec2#FpgaDeviceInfoList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#FpgaDeviceInfo", - "traits": { - "smithy.api#xmlName": "item" - } + "com.amazonaws.ec2#GetNetworkInsightsAccessScopeAnalysisFindings": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetNetworkInsightsAccessScopeAnalysisFindingsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetNetworkInsightsAccessScopeAnalysisFindingsResult" + }, + "traits": { + "smithy.api#documentation": "

Gets the findings for the specified Network Access Scope analysis.

" } }, - "com.amazonaws.ec2#FpgaDeviceManufacturerName": { - "type": "string" - }, - "com.amazonaws.ec2#FpgaDeviceMemoryInfo": { + "com.amazonaws.ec2#GetNetworkInsightsAccessScopeAnalysisFindingsRequest": { "type": "structure", "members": { - "SizeInMiB": { - "target": "com.amazonaws.ec2#FpgaDeviceMemorySize", + "NetworkInsightsAccessScopeAnalysisId": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisId", "traits": { - "aws.protocols#ec2QueryName": "SizeInMiB", - "smithy.api#documentation": "

The size of the memory available to the FPGA accelerator, in MiB.

", - "smithy.api#xmlName": "sizeInMiB" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Network Access Scope analysis.

", + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#NetworkInsightsMaxResults", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n To retrieve the remaining results, make another call with the returned nextToken value.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Describes the memory for the FPGA accelerator for the instance type.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#FpgaDeviceMemorySize": { - "type": "integer" - }, - "com.amazonaws.ec2#FpgaDeviceName": { - "type": "string" - }, - "com.amazonaws.ec2#FpgaImage": { + "com.amazonaws.ec2#GetNetworkInsightsAccessScopeAnalysisFindingsResult": { "type": "structure", "members": { - "FpgaImageId": { - "target": "com.amazonaws.ec2#String", + "NetworkInsightsAccessScopeAnalysisId": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisId", "traits": { - "aws.protocols#ec2QueryName": "FpgaImageId", - "smithy.api#documentation": "

The FPGA image identifier (AFI ID).

", - "smithy.api#xmlName": "fpgaImageId" + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeAnalysisId", + "smithy.api#documentation": "

The ID of the Network Access Scope analysis.

", + "smithy.api#xmlName": "networkInsightsAccessScopeAnalysisId" } }, - "FpgaImageGlobalId": { - "target": "com.amazonaws.ec2#String", + "AnalysisStatus": { + "target": "com.amazonaws.ec2#AnalysisStatus", "traits": { - "aws.protocols#ec2QueryName": "FpgaImageGlobalId", - "smithy.api#documentation": "

The global FPGA image identifier (AGFI ID).

", - "smithy.api#xmlName": "fpgaImageGlobalId" + "aws.protocols#ec2QueryName": "AnalysisStatus", + "smithy.api#documentation": "

The status of Network Access Scope Analysis.

", + "smithy.api#xmlName": "analysisStatus" } }, - "Name": { - "target": "com.amazonaws.ec2#String", + "AnalysisFindings": { + "target": "com.amazonaws.ec2#AccessScopeAnalysisFindingList", "traits": { - "aws.protocols#ec2QueryName": "Name", - "smithy.api#documentation": "

The name of the AFI.

", - "smithy.api#xmlName": "name" + "aws.protocols#ec2QueryName": "AnalysisFindingSet", + "smithy.api#documentation": "

The findings associated with Network Access Scope Analysis.

", + "smithy.api#xmlName": "analysisFindingSet" } }, - "Description": { + "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

The description of the AFI.

", - "smithy.api#xmlName": "description" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } - }, - "ShellVersion": { - "target": "com.amazonaws.ec2#String", + } + } + }, + "com.amazonaws.ec2#GetNetworkInsightsAccessScopeContent": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetNetworkInsightsAccessScopeContentRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetNetworkInsightsAccessScopeContentResult" + }, + "traits": { + "smithy.api#documentation": "

Gets the content for the specified Network Access Scope.

" + } + }, + "com.amazonaws.ec2#GetNetworkInsightsAccessScopeContentRequest": { + "type": "structure", + "members": { + "NetworkInsightsAccessScopeId": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeId", "traits": { - "aws.protocols#ec2QueryName": "ShellVersion", - "smithy.api#documentation": "

The version of the Amazon Web Services Shell that was used to create the bitstream.

", - "smithy.api#xmlName": "shellVersion" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Network Access Scope.

", + "smithy.api#required": {} } }, - "PciId": { - "target": "com.amazonaws.ec2#PciId", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "PciId", - "smithy.api#documentation": "

Information about the PCI bus.

", - "smithy.api#xmlName": "pciId" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - }, - "State": { - "target": "com.amazonaws.ec2#FpgaImageState", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#GetNetworkInsightsAccessScopeContentResult": { + "type": "structure", + "members": { + "NetworkInsightsAccessScopeContent": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeContent", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

Information about the state of the AFI.

", - "smithy.api#xmlName": "state" + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeContent", + "smithy.api#documentation": "

The Network Access Scope content.

", + "smithy.api#xmlName": "networkInsightsAccessScopeContent" } - }, - "CreateTime": { - "target": "com.amazonaws.ec2#DateTime", - "traits": { - "aws.protocols#ec2QueryName": "CreateTime", - "smithy.api#documentation": "

The date and time the AFI was created.

", - "smithy.api#xmlName": "createTime" + } + } + }, + "com.amazonaws.ec2#GetPasswordData": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetPasswordDataRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetPasswordDataResult" + }, + "traits": { + "smithy.api#documentation": "

Retrieves the encrypted administrator password for a running Windows instance.

\n

The Windows password is generated at boot by the EC2Config service or\n EC2Launch scripts (Windows Server 2016 and later). This usually only\n happens the first time an instance is launched. For more information, see EC2Config and EC2Launch in the\n Amazon EC2 User Guide.

\n

For the EC2Config service, the password is not generated for rebundled\n AMIs unless Ec2SetPassword is enabled before bundling.

\n

The password is encrypted using the key pair that you specified when you launched the\n instance. You must provide the corresponding key pair file.

\n

When you launch an instance, password generation and encryption may take a few\n minutes. If you try to retrieve the password before it's available, the output returns\n an empty string. We recommend that you wait up to 15 minutes after launching an instance\n before trying to retrieve the generated password.

", + "smithy.waiters#waitable": { + "PasswordDataAvailable": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "length(PasswordData) > `0`", + "expected": "true", + "comparator": "booleanEquals" + } + } + } + ], + "minDelay": 15 } - }, - "UpdateTime": { - "target": "com.amazonaws.ec2#DateTime", + } + } + }, + "com.amazonaws.ec2#GetPasswordDataRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", "traits": { - "aws.protocols#ec2QueryName": "UpdateTime", - "smithy.api#documentation": "

The time of the most recent update to the AFI.

", - "smithy.api#xmlName": "updateTime" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Windows instance.

", + "smithy.api#required": {} } }, - "OwnerId": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the AFI.

", - "smithy.api#xmlName": "ownerId" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } - }, - "OwnerAlias": { + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#GetPasswordDataResult": { + "type": "structure", + "members": { + "InstanceId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "OwnerAlias", - "smithy.api#documentation": "

The alias of the AFI owner. Possible values include self, amazon, and aws-marketplace.

", - "smithy.api#xmlName": "ownerAlias" + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#documentation": "

The ID of the Windows instance.

", + "smithy.api#xmlName": "instanceId" } }, - "ProductCodes": { - "target": "com.amazonaws.ec2#ProductCodeList", + "PasswordData": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ProductCodes", - "smithy.api#documentation": "

The product codes for the AFI.

", - "smithy.api#xmlName": "productCodes" + "aws.protocols#ec2QueryName": "PasswordData", + "smithy.api#documentation": "

The password of the instance. Returns an empty string if the password is not\n available.

", + "smithy.api#xmlName": "passwordData" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "Timestamp": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "Tags", - "smithy.api#documentation": "

Any tags assigned to the AFI.

", - "smithy.api#xmlName": "tags" + "aws.protocols#ec2QueryName": "Timestamp", + "smithy.api#documentation": "

The time the data was last updated.

", + "smithy.api#xmlName": "timestamp" } - }, - "Public": { + } + } + }, + "com.amazonaws.ec2#GetReservedInstancesExchangeQuote": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetReservedInstancesExchangeQuoteRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetReservedInstancesExchangeQuoteResult" + }, + "traits": { + "smithy.api#documentation": "

Returns a quote and exchange information for exchanging one or more specified\n Convertible Reserved Instances for a new Convertible Reserved Instance. If the exchange\n cannot be performed, the reason is returned in the response. Use AcceptReservedInstancesExchangeQuote to perform the exchange.

" + } + }, + "com.amazonaws.ec2#GetReservedInstancesExchangeQuoteRequest": { + "type": "structure", + "members": { + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Public", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the AFI is public.

", - "smithy.api#xmlName": "public" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "DataRetentionSupport": { - "target": "com.amazonaws.ec2#Boolean", + "ReservedInstanceIds": { + "target": "com.amazonaws.ec2#ReservedInstanceIdSet", "traits": { - "aws.protocols#ec2QueryName": "DataRetentionSupport", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether data retention support is enabled for the AFI.

", - "smithy.api#xmlName": "dataRetentionSupport" + "smithy.api#documentation": "

The IDs of the Convertible Reserved Instances to exchange.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "ReservedInstanceId" + } + }, + "TargetConfigurations": { + "target": "com.amazonaws.ec2#TargetConfigurationRequestSet", + "traits": { + "smithy.api#documentation": "

The configuration of the target Convertible Reserved Instance to exchange for your\n current Convertible Reserved Instances.

", + "smithy.api#xmlName": "TargetConfiguration" } } }, "traits": { - "smithy.api#documentation": "

Describes an Amazon FPGA image (AFI).

" + "smithy.api#documentation": "

Contains the parameters for GetReservedInstanceExchangeQuote.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#FpgaImageAttribute": { + "com.amazonaws.ec2#GetReservedInstancesExchangeQuoteResult": { "type": "structure", "members": { - "FpgaImageId": { + "CurrencyCode": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "FpgaImageId", - "smithy.api#documentation": "

The ID of the AFI.

", - "smithy.api#xmlName": "fpgaImageId" + "aws.protocols#ec2QueryName": "CurrencyCode", + "smithy.api#documentation": "

The currency of the transaction.

", + "smithy.api#xmlName": "currencyCode" + } + }, + "IsValidExchange": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "IsValidExchange", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

If true, the exchange is valid. If false, the exchange cannot be completed.

", + "smithy.api#xmlName": "isValidExchange" } }, - "Name": { - "target": "com.amazonaws.ec2#String", + "OutputReservedInstancesWillExpireAt": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "Name", - "smithy.api#documentation": "

The name of the AFI.

", - "smithy.api#xmlName": "name" + "aws.protocols#ec2QueryName": "OutputReservedInstancesWillExpireAt", + "smithy.api#documentation": "

The new end date of the reservation term.

", + "smithy.api#xmlName": "outputReservedInstancesWillExpireAt" } }, - "Description": { + "PaymentDue": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

The description of the AFI.

", - "smithy.api#xmlName": "description" + "aws.protocols#ec2QueryName": "PaymentDue", + "smithy.api#documentation": "

The total true upfront charge for the exchange.

", + "smithy.api#xmlName": "paymentDue" } }, - "LoadPermissions": { - "target": "com.amazonaws.ec2#LoadPermissionList", + "ReservedInstanceValueRollup": { + "target": "com.amazonaws.ec2#ReservationValue", "traits": { - "aws.protocols#ec2QueryName": "LoadPermissions", - "smithy.api#documentation": "

The load permissions.

", - "smithy.api#xmlName": "loadPermissions" + "aws.protocols#ec2QueryName": "ReservedInstanceValueRollup", + "smithy.api#documentation": "

The cost associated with the Reserved Instance.

", + "smithy.api#xmlName": "reservedInstanceValueRollup" } }, - "ProductCodes": { - "target": "com.amazonaws.ec2#ProductCodeList", - "traits": { - "aws.protocols#ec2QueryName": "ProductCodes", - "smithy.api#documentation": "

The product codes.

", - "smithy.api#xmlName": "productCodes" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes an Amazon FPGA image (AFI) attribute.

" - } - }, - "com.amazonaws.ec2#FpgaImageAttributeName": { - "type": "enum", - "members": { - "description": { - "target": "smithy.api#Unit", + "ReservedInstanceValueSet": { + "target": "com.amazonaws.ec2#ReservedInstanceReservationValueSet", "traits": { - "smithy.api#enumValue": "description" + "aws.protocols#ec2QueryName": "ReservedInstanceValueSet", + "smithy.api#documentation": "

The configuration of your Convertible Reserved Instances.

", + "smithy.api#xmlName": "reservedInstanceValueSet" } }, - "name": { - "target": "smithy.api#Unit", + "TargetConfigurationValueRollup": { + "target": "com.amazonaws.ec2#ReservationValue", "traits": { - "smithy.api#enumValue": "name" + "aws.protocols#ec2QueryName": "TargetConfigurationValueRollup", + "smithy.api#documentation": "

The cost associated with the Reserved Instance.

", + "smithy.api#xmlName": "targetConfigurationValueRollup" } }, - "loadPermission": { - "target": "smithy.api#Unit", + "TargetConfigurationValueSet": { + "target": "com.amazonaws.ec2#TargetReservationValueSet", "traits": { - "smithy.api#enumValue": "loadPermission" + "aws.protocols#ec2QueryName": "TargetConfigurationValueSet", + "smithy.api#documentation": "

The values of the target Convertible Reserved Instances.

", + "smithy.api#xmlName": "targetConfigurationValueSet" } }, - "productCodes": { - "target": "smithy.api#Unit", + "ValidationFailureReason": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "productCodes" + "aws.protocols#ec2QueryName": "ValidationFailureReason", + "smithy.api#documentation": "

Describes the reason why the exchange cannot be completed.

", + "smithy.api#xmlName": "validationFailureReason" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of GetReservedInstancesExchangeQuote.

" } }, - "com.amazonaws.ec2#FpgaImageId": { - "type": "string" - }, - "com.amazonaws.ec2#FpgaImageIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#FpgaImageId", - "traits": { - "smithy.api#xmlName": "item" - } + "com.amazonaws.ec2#GetSerialConsoleAccessStatus": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetSerialConsoleAccessStatusRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetSerialConsoleAccessStatusResult" + }, + "traits": { + "smithy.api#documentation": "

Retrieves the access status of your account to the EC2 serial console of all instances. By\n\t\t\tdefault, access to the EC2 serial console is disabled for your account. For more\n\t\t\tinformation, see Manage account access to the EC2 serial console in the Amazon EC2\n\t\t\t\tUser Guide.

" } }, - "com.amazonaws.ec2#FpgaImageList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#FpgaImage", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#GetSerialConsoleAccessStatusRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#FpgaImageState": { + "com.amazonaws.ec2#GetSerialConsoleAccessStatusResult": { "type": "structure", "members": { - "Code": { - "target": "com.amazonaws.ec2#FpgaImageStateCode", - "traits": { - "aws.protocols#ec2QueryName": "Code", - "smithy.api#documentation": "

The state. The following are the possible values:

\n\t\t
    \n
  • \n

    \n pending - AFI bitstream generation is in progress.

    \n
  • \n
  • \n

    \n available - The AFI is available for use.

    \n
  • \n
  • \n

    \n failed - AFI bitstream generation failed.

    \n
  • \n
  • \n

    \n unavailable - The AFI is no longer available for use.

    \n
  • \n
", - "smithy.api#xmlName": "code" - } - }, - "Message": { - "target": "com.amazonaws.ec2#String", + "SerialConsoleAccessEnabled": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Message", - "smithy.api#documentation": "

If the state is failed, this is the error message.

", - "smithy.api#xmlName": "message" + "aws.protocols#ec2QueryName": "SerialConsoleAccessEnabled", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

If true, access to the EC2 serial console of all instances is enabled for\n\t\t\tyour account. If false, access to the EC2 serial console of all instances\n\t\t\tis disabled for your account.

", + "smithy.api#xmlName": "serialConsoleAccessEnabled" } } + } + }, + "com.amazonaws.ec2#GetSpotPlacementScores": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetSpotPlacementScoresRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetSpotPlacementScoresResult" }, "traits": { - "smithy.api#documentation": "

Describes the state of the bitstream generation process for an Amazon FPGA image (AFI).

" + "smithy.api#documentation": "

Calculates the Spot placement score for a Region or Availability Zone based on the\n specified target capacity and compute requirements.

\n

You can specify your compute requirements either by using\n InstanceRequirementsWithMetadata and letting Amazon EC2 choose the optimal\n instance types to fulfill your Spot request, or you can specify the instance types by using\n InstanceTypes.

\n

For more information, see Spot placement score in\n the Amazon EC2 User Guide.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "SpotPlacementScores", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#FpgaImageStateCode": { - "type": "enum", + "com.amazonaws.ec2#GetSpotPlacementScoresRequest": { + "type": "structure", "members": { - "pending": { - "target": "smithy.api#Unit", + "InstanceTypes": { + "target": "com.amazonaws.ec2#InstanceTypes", "traits": { - "smithy.api#enumValue": "pending" + "smithy.api#documentation": "

The instance types. We recommend that you specify at least three instance types. If you\n specify one or two instance types, or specify variations of a single instance type (for\n example, an m3.xlarge with and without instance storage), the returned\n placement score will always be low.

\n

If you specify InstanceTypes, you can't specify\n InstanceRequirementsWithMetadata.

", + "smithy.api#xmlName": "InstanceType" } }, - "failed": { - "target": "smithy.api#Unit", + "TargetCapacity": { + "target": "com.amazonaws.ec2#SpotPlacementScoresTargetCapacity", "traits": { - "smithy.api#enumValue": "failed" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The target capacity.

", + "smithy.api#required": {} } }, - "available": { - "target": "smithy.api#Unit", + "TargetCapacityUnitType": { + "target": "com.amazonaws.ec2#TargetCapacityUnitType", "traits": { - "smithy.api#enumValue": "available" + "smithy.api#documentation": "

The unit for the target capacity.

\n

Default: units (translates to number of instances)

" } }, - "unavailable": { - "target": "smithy.api#Unit", + "SingleAvailabilityZone": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "unavailable" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Specify true so that the response returns a list of scored Availability Zones.\n Otherwise, the response returns a list of scored Regions.

\n

A list of scored Availability Zones is useful if you want to launch all of your Spot\n capacity into a single Availability Zone.

" + } + }, + "RegionNames": { + "target": "com.amazonaws.ec2#RegionNames", + "traits": { + "smithy.api#documentation": "

The Regions used to narrow down the list of Regions to be scored. Enter the Region code,\n for example, us-east-1.

", + "smithy.api#xmlName": "RegionName" + } + }, + "InstanceRequirementsWithMetadata": { + "target": "com.amazonaws.ec2#InstanceRequirementsWithMetadataRequest", + "traits": { + "smithy.api#documentation": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with those attributes.

\n

If you specify InstanceRequirementsWithMetadata, you can't specify\n InstanceTypes.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#SpotPlacementScoresMaxResults", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return in a single call. Specify a value between 1 and\u2028 \n 1000. The default value is 1000. To retrieve the remaining results, make another call with\u2028 \n the returned NextToken value.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token for the next set of results.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#FpgaInfo": { + "com.amazonaws.ec2#GetSpotPlacementScoresResult": { "type": "structure", "members": { - "Fpgas": { - "target": "com.amazonaws.ec2#FpgaDeviceInfoList", + "SpotPlacementScores": { + "target": "com.amazonaws.ec2#SpotPlacementScores", "traits": { - "aws.protocols#ec2QueryName": "Fpgas", - "smithy.api#documentation": "

Describes the FPGAs for the instance type.

", - "smithy.api#xmlName": "fpgas" + "aws.protocols#ec2QueryName": "SpotPlacementScoreSet", + "smithy.api#documentation": "

The Spot placement score for the top 10 Regions or Availability Zones, scored on a scale\n from 1 to 10. Each score\u2028 reflects how likely it is that each Region or Availability Zone\n will succeed at fulfilling the specified target capacity\u2028 at the time of the Spot\n placement score request. A score of 10 means that your Spot\n capacity request is highly likely to succeed in that Region or Availability Zone.

\n

If you request a Spot placement score for Regions, a high score assumes that your fleet\n request will be configured to use all Availability Zones and the\n capacity-optimized allocation strategy. If you request a Spot placement\n score for Availability Zones, a high score assumes that your fleet request will be\n configured to use a single Availability Zone and the capacity-optimized\n allocation strategy.

\n

Different\u2028 Regions or Availability Zones might return the same score.

\n \n

The Spot placement score serves as a recommendation only. No score guarantees that your\n Spot request will be fully or partially fulfilled.

\n
", + "smithy.api#xmlName": "spotPlacementScoreSet" } }, - "TotalFpgaMemoryInMiB": { - "target": "com.amazonaws.ec2#totalFpgaMemory", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TotalFpgaMemoryInMiB", - "smithy.api#documentation": "

The total memory of all FPGA accelerators for the instance type.

", - "smithy.api#xmlName": "totalFpgaMemoryInMiB" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token for the next set of results.

", + "smithy.api#xmlName": "nextToken" } } + } + }, + "com.amazonaws.ec2#GetSubnetCidrReservations": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetSubnetCidrReservationsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetSubnetCidrReservationsResult" }, "traits": { - "smithy.api#documentation": "

Describes the FPGAs for the instance type.

" + "smithy.api#documentation": "

Gets information about the subnet CIDR reservations.

" } }, - "com.amazonaws.ec2#FreeTierEligibleFlag": { - "type": "boolean" - }, - "com.amazonaws.ec2#GVCDMaxResults": { + "com.amazonaws.ec2#GetSubnetCidrReservationsMaxResults": { "type": "integer", "traits": { + "smithy.api#default": 0, "smithy.api#range": { - "min": 200, + "min": 5, "max": 1000 } } }, - "com.amazonaws.ec2#GatewayAssociationState": { - "type": "enum", + "com.amazonaws.ec2#GetSubnetCidrReservationsRequest": { + "type": "structure", "members": { - "associated": { - "target": "smithy.api#Unit", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#enumValue": "associated" + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n reservationType - The type of reservation (prefix |\n explicit).

    \n
  • \n
  • \n

    \n subnet-id - The ID of the subnet.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, - "not_associated": { - "target": "smithy.api#Unit", + "SubnetId": { + "target": "com.amazonaws.ec2#SubnetId", "traits": { - "smithy.api#enumValue": "not-associated" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the subnet.

", + "smithy.api#required": {} } }, - "associating": { - "target": "smithy.api#Unit", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "associating" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "disassociating": { - "target": "smithy.api#Unit", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "disassociating" + "smithy.api#documentation": "

The token for the next page of results.

" } - } - } - }, - "com.amazonaws.ec2#GatewayType": { - "type": "enum", - "members": { - "ipsec_1": { - "target": "smithy.api#Unit", + }, + "MaxResults": { + "target": "com.amazonaws.ec2#GetSubnetCidrReservationsMaxResults", "traits": { - "smithy.api#enumValue": "ipsec.1" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } } - } - }, - "com.amazonaws.ec2#GetAssociatedEnclaveCertificateIamRoles": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#GetAssociatedEnclaveCertificateIamRolesRequest" - }, - "output": { - "target": "com.amazonaws.ec2#GetAssociatedEnclaveCertificateIamRolesResult" }, "traits": { - "smithy.api#documentation": "

Returns the IAM roles that are associated with the specified ACM (ACM) certificate. \n\t\t\tIt also returns the name of the Amazon S3 bucket and the Amazon S3 object key where the certificate, \n\t\t\tcertificate chain, and encrypted private key bundle are stored, and the ARN of the KMS key \n\t\t\tthat's used to encrypt the private key.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#GetAssociatedEnclaveCertificateIamRolesRequest": { + "com.amazonaws.ec2#GetSubnetCidrReservationsResult": { "type": "structure", "members": { - "CertificateArn": { - "target": "com.amazonaws.ec2#ResourceArn", + "SubnetIpv4CidrReservations": { + "target": "com.amazonaws.ec2#SubnetCidrReservationList", "traits": { - "smithy.api#documentation": "

The ARN of the ACM certificate for which to view the associated IAM roles, encryption keys, and Amazon \n\t\t\tS3 object information.

" + "aws.protocols#ec2QueryName": "SubnetIpv4CidrReservationSet", + "smithy.api#documentation": "

Information about the IPv4 subnet CIDR reservations.

", + "smithy.api#xmlName": "subnetIpv4CidrReservationSet" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "SubnetIpv6CidrReservations": { + "target": "com.amazonaws.ec2#SubnetCidrReservationList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "SubnetIpv6CidrReservationSet", + "smithy.api#documentation": "

Information about the IPv6 subnet CIDR reservations.

", + "smithy.api#xmlName": "subnetIpv6CidrReservationSet" } - } - } - }, - "com.amazonaws.ec2#GetAssociatedEnclaveCertificateIamRolesResult": { - "type": "structure", - "members": { - "AssociatedRoles": { - "target": "com.amazonaws.ec2#AssociatedRolesList", + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AssociatedRoleSet", - "smithy.api#documentation": "

Information about the associated IAM roles.

", - "smithy.api#xmlName": "associatedRoleSet" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#GetAssociatedIpv6PoolCidrs": { + "com.amazonaws.ec2#GetTransitGatewayAttachmentPropagations": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#GetAssociatedIpv6PoolCidrsRequest" + "target": "com.amazonaws.ec2#GetTransitGatewayAttachmentPropagationsRequest" }, "output": { - "target": "com.amazonaws.ec2#GetAssociatedIpv6PoolCidrsResult" + "target": "com.amazonaws.ec2#GetTransitGatewayAttachmentPropagationsResult" }, "traits": { - "smithy.api#documentation": "

Gets information about the IPv6 CIDR block associations for a specified IPv6 address pool.

", + "smithy.api#documentation": "

Lists the route tables to which the specified resource attachment propagates routes.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "Ipv6CidrAssociations", + "items": "TransitGatewayAttachmentPropagations", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#GetAssociatedIpv6PoolCidrsRequest": { + "com.amazonaws.ec2#GetTransitGatewayAttachmentPropagationsRequest": { "type": "structure", "members": { - "PoolId": { - "target": "com.amazonaws.ec2#Ipv6PoolEc2Id", + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the IPv6 address pool.

", + "smithy.api#documentation": "

The ID of the attachment.

", "smithy.api#required": {} } }, - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n transit-gateway-route-table-id - The ID of the transit gateway route table.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, "MaxResults": { - "target": "com.amazonaws.ec2#Ipv6PoolMaxResults", + "target": "com.amazonaws.ec2#TransitGatewayMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" + } + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -43274,17 +48080,20 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#GetAssociatedIpv6PoolCidrsResult": { + "com.amazonaws.ec2#GetTransitGatewayAttachmentPropagationsResult": { "type": "structure", "members": { - "Ipv6CidrAssociations": { - "target": "com.amazonaws.ec2#Ipv6CidrAssociationSet", + "TransitGatewayAttachmentPropagations": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentPropagationList", "traits": { - "aws.protocols#ec2QueryName": "Ipv6CidrAssociationSet", - "smithy.api#documentation": "

Information about the IPv6 CIDR block associations.

", - "smithy.api#xmlName": "ipv6CidrAssociationSet" + "aws.protocols#ec2QueryName": "TransitGatewayAttachmentPropagations", + "smithy.api#documentation": "

Information about the propagation route tables.

", + "smithy.api#xmlName": "transitGatewayAttachmentPropagations" } }, "NextToken": { @@ -43297,41 +48106,52 @@ } } }, - "com.amazonaws.ec2#GetCapacityReservationUsage": { + "com.amazonaws.ec2#GetTransitGatewayMulticastDomainAssociations": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#GetCapacityReservationUsageRequest" + "target": "com.amazonaws.ec2#GetTransitGatewayMulticastDomainAssociationsRequest" }, "output": { - "target": "com.amazonaws.ec2#GetCapacityReservationUsageResult" + "target": "com.amazonaws.ec2#GetTransitGatewayMulticastDomainAssociationsResult" }, "traits": { - "smithy.api#documentation": "

Gets usage information about a Capacity Reservation. If the Capacity Reservation is shared, it shows usage information for the Capacity Reservation owner \n\t\t\tand each Amazon Web Services account that is currently using the shared capacity. If the Capacity Reservation is not shared, it shows only \n\t\t\tthe Capacity Reservation owner's usage.

" + "smithy.api#documentation": "

Gets information about the associations for the transit gateway multicast domain.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "MulticastDomainAssociations", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#GetCapacityReservationUsageRequest": { + "com.amazonaws.ec2#GetTransitGatewayMulticastDomainAssociationsRequest": { "type": "structure", "members": { - "CapacityReservationId": { - "target": "com.amazonaws.ec2#CapacityReservationId", + "TransitGatewayMulticastDomainId": { + "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainId", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Capacity Reservation.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The token to use to retrieve the next page of results.

" + "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n resource-id - The ID of the resource.

    \n
  • \n
  • \n

    \n resource-type - The type of resource. The valid value is: vpc.

    \n
  • \n
  • \n

    \n state - The state of the subnet association. Valid values are\n associated | associating |\n disassociated | disassociating.

    \n
  • \n
  • \n

    \n subnet-id - The ID of the subnet.

    \n
  • \n
  • \n

    \n transit-gateway-attachment-id - The id of the transit gateway attachment.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, "MaxResults": { - "target": "com.amazonaws.ec2#GetCapacityReservationUsageRequestMaxResults", + "target": "com.amazonaws.ec2#TransitGatewayMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

\n\t\t

Valid range: Minimum value of 1. Maximum value of 1000.

" + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" } }, "DryRun": { @@ -43339,118 +48159,73 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } - } - }, - "com.amazonaws.ec2#GetCapacityReservationUsageRequestMaxResults": { - "type": "integer", + }, "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 1, - "max": 1000 - } + "smithy.api#input": {} } }, - "com.amazonaws.ec2#GetCapacityReservationUsageResult": { + "com.amazonaws.ec2#GetTransitGatewayMulticastDomainAssociationsResult": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" - } - }, - "CapacityReservationId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "CapacityReservationId", - "smithy.api#documentation": "

The ID of the Capacity Reservation.

", - "smithy.api#xmlName": "capacityReservationId" - } - }, - "InstanceType": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "InstanceType", - "smithy.api#documentation": "

The type of instance for which the Capacity Reservation reserves capacity.

", - "smithy.api#xmlName": "instanceType" - } - }, - "TotalInstanceCount": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "aws.protocols#ec2QueryName": "TotalInstanceCount", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of instances for which the Capacity Reservation reserves capacity.

", - "smithy.api#xmlName": "totalInstanceCount" - } - }, - "AvailableInstanceCount": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "aws.protocols#ec2QueryName": "AvailableInstanceCount", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The remaining capacity. Indicates the number of instances that can be launched in the Capacity Reservation.

", - "smithy.api#xmlName": "availableInstanceCount" - } - }, - "State": { - "target": "com.amazonaws.ec2#CapacityReservationState", + "MulticastDomainAssociations": { + "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainAssociationList", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The current state of the Capacity Reservation. A Capacity Reservation can be in one of the following states:

\n\t\t\t
    \n
  • \n

    \n active - The Capacity Reservation is active and the capacity is available for your use.

    \n
  • \n
  • \n

    \n expired - The Capacity Reservation expired automatically at the date and time specified \n\t\t\t\t\tin your request. The reserved capacity is no longer available for your use.

    \n
  • \n
  • \n

    \n cancelled - The Capacity Reservation was cancelled. The reserved capacity is no\n\t\t\t\t\tlonger available for your use.

    \n
  • \n
  • \n

    \n pending - The Capacity Reservation request was successful but the capacity \n\t\t\t\t\tprovisioning is still pending.

    \n
  • \n
  • \n

    \n failed - The Capacity Reservation request has failed. A request might fail \n\t\t\t\t\tdue to invalid request parameters, capacity constraints, or instance limit constraints. \n\t\t\t\t\tFailed requests are retained for 60 minutes.

    \n
  • \n
", - "smithy.api#xmlName": "state" + "aws.protocols#ec2QueryName": "MulticastDomainAssociations", + "smithy.api#documentation": "

Information about the multicast domain associations.

", + "smithy.api#xmlName": "multicastDomainAssociations" } }, - "InstanceUsages": { - "target": "com.amazonaws.ec2#InstanceUsageSet", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "InstanceUsageSet", - "smithy.api#documentation": "

Information about the Capacity Reservation usage.

", - "smithy.api#xmlName": "instanceUsageSet" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#GetCoipPoolUsage": { + "com.amazonaws.ec2#GetTransitGatewayPolicyTableAssociations": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#GetCoipPoolUsageRequest" + "target": "com.amazonaws.ec2#GetTransitGatewayPolicyTableAssociationsRequest" }, "output": { - "target": "com.amazonaws.ec2#GetCoipPoolUsageResult" + "target": "com.amazonaws.ec2#GetTransitGatewayPolicyTableAssociationsResult" }, "traits": { - "smithy.api#documentation": "

Describes the allocations from the specified customer-owned address pool.

" + "smithy.api#documentation": "

Gets a list of the transit gateway policy table associations.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Associations", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#GetCoipPoolUsageRequest": { + "com.amazonaws.ec2#GetTransitGatewayPolicyTableAssociationsRequest": { "type": "structure", "members": { - "PoolId": { - "target": "com.amazonaws.ec2#Ipv4PoolCoipId", + "TransitGatewayPolicyTableId": { + "target": "com.amazonaws.ec2#TransitGatewayPolicyTableId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the address pool.

", + "smithy.api#documentation": "

The ID of the transit gateway policy table.

", "smithy.api#required": {} } }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n coip-address-usage.allocation-id - The allocation ID of the address.

    \n
  • \n
  • \n

    \n coip-address-usage.aws-account-id - The ID of the Amazon Web Services account that is using the customer-owned IP address.

    \n
  • \n
  • \n

    \n coip-address-usage.aws-service - The Amazon Web Services service that is using the customer-owned IP address.

    \n
  • \n
  • \n

    \n coip-address-usage.co-ip - The customer-owned IP address.

    \n
  • \n
", + "smithy.api#documentation": "

The filters associated with the transit gateway policy table.

", "smithy.api#xmlName": "Filter" } }, "MaxResults": { - "target": "com.amazonaws.ec2#CoipPoolMaxResults", + "target": "com.amazonaws.ec2#TransitGatewayMaxResults", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, @@ -43471,232 +48246,236 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#GetCoipPoolUsageResult": { + "com.amazonaws.ec2#GetTransitGatewayPolicyTableAssociationsResult": { "type": "structure", "members": { - "CoipPoolId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "CoipPoolId", - "smithy.api#documentation": "

The ID of the customer-owned address pool.

", - "smithy.api#xmlName": "coipPoolId" - } - }, - "CoipAddressUsages": { - "target": "com.amazonaws.ec2#CoipAddressUsageSet", + "Associations": { + "target": "com.amazonaws.ec2#TransitGatewayPolicyTableAssociationList", "traits": { - "aws.protocols#ec2QueryName": "CoipAddressUsageSet", - "smithy.api#documentation": "

Information about the address usage.

", - "smithy.api#xmlName": "coipAddressUsageSet" + "aws.protocols#ec2QueryName": "Associations", + "smithy.api#documentation": "

Returns details about the transit gateway policy table association.

", + "smithy.api#xmlName": "associations" } }, - "LocalGatewayRouteTableId": { + "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayRouteTableId", - "smithy.api#documentation": "

The ID of the local gateway route table.

", - "smithy.api#xmlName": "localGatewayRouteTableId" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token for the next page of results.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#GetConsoleOutput": { + "com.amazonaws.ec2#GetTransitGatewayPolicyTableEntries": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#GetConsoleOutputRequest" + "target": "com.amazonaws.ec2#GetTransitGatewayPolicyTableEntriesRequest" }, "output": { - "target": "com.amazonaws.ec2#GetConsoleOutputResult" + "target": "com.amazonaws.ec2#GetTransitGatewayPolicyTableEntriesResult" }, "traits": { - "smithy.api#documentation": "

Gets the console output for the specified instance. For Linux instances, the instance\n console output displays the exact console output that would normally be displayed on a\n physical monitor attached to a computer. For Windows instances, the instance console\n output includes the last three system event log errors.

\n

By default, the console output returns buffered information that was posted shortly\n after an instance transition state (start, stop, reboot, or terminate). This information\n is available for at least one hour after the most recent post. Only the most recent 64\n KB of console output is available.

\n

You can optionally retrieve the latest serial console output at any time during the\n instance lifecycle. This option is supported on instance types that use the Nitro\n hypervisor.

\n

For more information, see Instance\n console output in the Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Returns a list of transit gateway policy table entries.

" } }, - "com.amazonaws.ec2#GetConsoleOutputRequest": { + "com.amazonaws.ec2#GetTransitGatewayPolicyTableEntriesRequest": { "type": "structure", "members": { - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", + "TransitGatewayPolicyTableId": { + "target": "com.amazonaws.ec2#TransitGatewayPolicyTableId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the instance.

", + "smithy.api#documentation": "

The ID of the transit gateway policy table.

", "smithy.api#required": {} } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

The filters associated with the transit gateway policy table.

", + "smithy.api#xmlName": "Filter" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#TransitGatewayMaxResults", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } }, - "Latest": { + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" + } + }, + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

When enabled, retrieves the latest console output for the instance.

\n

Default: disabled (false)

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#GetConsoleOutputResult": { + "com.amazonaws.ec2#GetTransitGatewayPolicyTableEntriesResult": { "type": "structure", "members": { - "InstanceId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#documentation": "

The ID of the instance.

", - "smithy.api#xmlName": "instanceId" - } - }, - "Output": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "Output", - "smithy.api#documentation": "

The console output, base64-encoded. If you are using a command line tool, the tool\n decodes the output for you.

", - "smithy.api#xmlName": "output" - } - }, - "Timestamp": { - "target": "com.amazonaws.ec2#DateTime", + "TransitGatewayPolicyTableEntries": { + "target": "com.amazonaws.ec2#TransitGatewayPolicyTableEntryList", "traits": { - "aws.protocols#ec2QueryName": "Timestamp", - "smithy.api#documentation": "

The time at which the output was last updated.

", - "smithy.api#xmlName": "timestamp" + "aws.protocols#ec2QueryName": "TransitGatewayPolicyTableEntries", + "smithy.api#documentation": "

The entries for the transit gateway policy table.

", + "smithy.api#xmlName": "transitGatewayPolicyTableEntries" } } } }, - "com.amazonaws.ec2#GetConsoleScreenshot": { + "com.amazonaws.ec2#GetTransitGatewayPrefixListReferences": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#GetConsoleScreenshotRequest" + "target": "com.amazonaws.ec2#GetTransitGatewayPrefixListReferencesRequest" }, "output": { - "target": "com.amazonaws.ec2#GetConsoleScreenshotResult" + "target": "com.amazonaws.ec2#GetTransitGatewayPrefixListReferencesResult" }, "traits": { - "smithy.api#documentation": "

Retrieve a JPG-format screenshot of a running instance to help with\n troubleshooting.

\n

The returned content is Base64-encoded.

" + "smithy.api#documentation": "

Gets information about the prefix list references in a specified transit gateway route table.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "TransitGatewayPrefixListReferences", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#GetConsoleScreenshotRequest": { + "com.amazonaws.ec2#GetTransitGatewayPrefixListReferencesRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "TransitGatewayRouteTableId": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The ID of the transit gateway route table.

", + "smithy.api#required": {} } }, - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n attachment.resource-id - The ID of the resource for the attachment.

    \n
  • \n
  • \n

    \n attachment.resource-type - The type of resource for the\n attachment. Valid values are vpc | vpn |\n direct-connect-gateway | peering.

    \n
  • \n
  • \n

    \n attachment.transit-gateway-attachment-id - The ID of the attachment.

    \n
  • \n
  • \n

    \n is-blackhole - Whether traffic matching the route is blocked (true | false).

    \n
  • \n
  • \n

    \n prefix-list-id - The ID of the prefix list.

    \n
  • \n
  • \n

    \n prefix-list-owner-id - The ID of the owner of the prefix list.

    \n
  • \n
  • \n

    \n state - The state of the prefix list reference (pending | available | modifying | deleting).

    \n
  • \n
", + "smithy.api#xmlName": "Filter" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#TransitGatewayMaxResults", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the instance.

", - "smithy.api#required": {} + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } }, - "WakeUp": { + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" + } + }, + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

When set to true, acts as keystroke input and wakes up an instance that's\n in standby or \"sleep\" mode.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#GetConsoleScreenshotResult": { + "com.amazonaws.ec2#GetTransitGatewayPrefixListReferencesResult": { "type": "structure", "members": { - "ImageData": { - "target": "com.amazonaws.ec2#String", + "TransitGatewayPrefixListReferences": { + "target": "com.amazonaws.ec2#TransitGatewayPrefixListReferenceSet", "traits": { - "aws.protocols#ec2QueryName": "ImageData", - "smithy.api#documentation": "

The data that comprises the image.

", - "smithy.api#xmlName": "imageData" + "aws.protocols#ec2QueryName": "TransitGatewayPrefixListReferenceSet", + "smithy.api#documentation": "

Information about the prefix list references.

", + "smithy.api#xmlName": "transitGatewayPrefixListReferenceSet" } }, - "InstanceId": { + "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#documentation": "

The ID of the instance.

", - "smithy.api#xmlName": "instanceId" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#GetDefaultCreditSpecification": { + "com.amazonaws.ec2#GetTransitGatewayRouteTableAssociations": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#GetDefaultCreditSpecificationRequest" + "target": "com.amazonaws.ec2#GetTransitGatewayRouteTableAssociationsRequest" }, "output": { - "target": "com.amazonaws.ec2#GetDefaultCreditSpecificationResult" + "target": "com.amazonaws.ec2#GetTransitGatewayRouteTableAssociationsResult" }, "traits": { - "smithy.api#documentation": "

Describes the default credit option for CPU usage of a burstable performance instance\n family.

\n

For more information, see Burstable\n performance instances in the Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Gets information about the associations for the specified transit gateway route table.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Associations", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#GetDefaultCreditSpecificationRequest": { + "com.amazonaws.ec2#GetTransitGatewayRouteTableAssociationsRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "TransitGatewayRouteTableId": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The ID of the transit gateway route table.

", + "smithy.api#required": {} } }, - "InstanceFamily": { - "target": "com.amazonaws.ec2#UnlimitedSupportedInstanceFamily", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n resource-id - The ID of the resource.

    \n
  • \n
  • \n

    \n resource-type - The resource type. Valid values are vpc\n | vpn | direct-connect-gateway | peering\n | connect.

    \n
  • \n
  • \n

    \n transit-gateway-attachment-id - The ID of the attachment.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#TransitGatewayMaxResults", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The instance family.

", - "smithy.api#required": {} + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } - } - } - }, - "com.amazonaws.ec2#GetDefaultCreditSpecificationResult": { - "type": "structure", - "members": { - "InstanceFamilyCreditSpecification": { - "target": "com.amazonaws.ec2#InstanceFamilyCreditSpecification", + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "InstanceFamilyCreditSpecification", - "smithy.api#documentation": "

The default credit option for CPU usage of the instance family.

", - "smithy.api#xmlName": "instanceFamilyCreditSpecification" + "smithy.api#documentation": "

The token for the next page of results.

" } - } - } - }, - "com.amazonaws.ec2#GetEbsDefaultKmsKeyId": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#GetEbsDefaultKmsKeyIdRequest" - }, - "output": { - "target": "com.amazonaws.ec2#GetEbsDefaultKmsKeyIdResult" - }, - "traits": { - "smithy.api#documentation": "

Describes the default KMS key for EBS encryption by default for your account in this Region. \n \t\tYou can change the default KMS key for encryption by default using ModifyEbsDefaultKmsKeyId or\n ResetEbsDefaultKmsKeyId.

\n

For more information, see Amazon EBS encryption\n in the Amazon Elastic Compute Cloud User Guide.

" - } - }, - "com.amazonaws.ec2#GetEbsDefaultKmsKeyIdRequest": { - "type": "structure", - "members": { + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -43705,36 +48484,82 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#GetEbsDefaultKmsKeyIdResult": { + "com.amazonaws.ec2#GetTransitGatewayRouteTableAssociationsResult": { "type": "structure", "members": { - "KmsKeyId": { + "Associations": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableAssociationList", + "traits": { + "aws.protocols#ec2QueryName": "Associations", + "smithy.api#documentation": "

Information about the associations.

", + "smithy.api#xmlName": "associations" + } + }, + "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "KmsKeyId", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the default KMS key for encryption by default.

", - "smithy.api#xmlName": "kmsKeyId" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#GetEbsEncryptionByDefault": { + "com.amazonaws.ec2#GetTransitGatewayRouteTablePropagations": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#GetEbsEncryptionByDefaultRequest" + "target": "com.amazonaws.ec2#GetTransitGatewayRouteTablePropagationsRequest" }, "output": { - "target": "com.amazonaws.ec2#GetEbsEncryptionByDefaultResult" + "target": "com.amazonaws.ec2#GetTransitGatewayRouteTablePropagationsResult" }, "traits": { - "smithy.api#documentation": "

Describes whether EBS encryption by default is enabled for your account in the current\n Region.

\n

For more information, see Amazon EBS encryption\n in the Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Gets information about the route table propagations for the specified transit gateway route table.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "TransitGatewayRouteTablePropagations", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.ec2#GetEbsEncryptionByDefaultRequest": { + "com.amazonaws.ec2#GetTransitGatewayRouteTablePropagationsRequest": { "type": "structure", "members": { + "TransitGatewayRouteTableId": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the transit gateway route table.

", + "smithy.api#required": {} + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n resource-id - The ID of the resource.

    \n
  • \n
  • \n

    \n resource-type - The resource type. Valid values are vpc\n | vpn | direct-connect-gateway | peering\n | connect.

    \n
  • \n
  • \n

    \n transit-gateway-attachment-id - The ID of the attachment.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#TransitGatewayMaxResults", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" + } + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -43743,12602 +48568,12725 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#GetEbsEncryptionByDefaultResult": { + "com.amazonaws.ec2#GetTransitGatewayRouteTablePropagationsResult": { "type": "structure", "members": { - "EbsEncryptionByDefault": { - "target": "com.amazonaws.ec2#Boolean", + "TransitGatewayRouteTablePropagations": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTablePropagationList", "traits": { - "aws.protocols#ec2QueryName": "EbsEncryptionByDefault", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether encryption by default is enabled.

", - "smithy.api#xmlName": "ebsEncryptionByDefault" + "aws.protocols#ec2QueryName": "TransitGatewayRouteTablePropagations", + "smithy.api#documentation": "

Information about the route table propagations.

", + "smithy.api#xmlName": "transitGatewayRouteTablePropagations" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#GetFlowLogsIntegrationTemplate": { + "com.amazonaws.ec2#GetVerifiedAccessEndpointPolicy": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#GetFlowLogsIntegrationTemplateRequest" + "target": "com.amazonaws.ec2#GetVerifiedAccessEndpointPolicyRequest" }, "output": { - "target": "com.amazonaws.ec2#GetFlowLogsIntegrationTemplateResult" + "target": "com.amazonaws.ec2#GetVerifiedAccessEndpointPolicyResult" }, "traits": { - "smithy.api#documentation": "

Generates a CloudFormation template that streamlines and automates the integration of VPC flow logs \n with Amazon Athena. This make it easier for you to query and gain insights from VPC flow logs data. \n Based on the information that you provide, we configure resources in the template to do the following:

\n
    \n
  • \n

    Create a table in Athena that maps fields to a custom log format

    \n
  • \n
  • \n

    Create a Lambda function that updates the table with new partitions on a daily, weekly, or\n monthly basis

    \n
  • \n
  • \n

    Create a table partitioned between two timestamps in the past

    \n
  • \n
  • \n

    Create a set of named queries in Athena that you can use to get started quickly

    \n
  • \n
" + "smithy.api#documentation": "

Get the Verified Access policy associated with the endpoint.

" } }, - "com.amazonaws.ec2#GetFlowLogsIntegrationTemplateRequest": { + "com.amazonaws.ec2#GetVerifiedAccessEndpointPolicyRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - }, - "FlowLogId": { - "target": "com.amazonaws.ec2#VpcFlowLogId", + "VerifiedAccessEndpointId": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the flow log.

", - "smithy.api#required": {} - } - }, - "ConfigDeliveryS3DestinationArn": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

To store the CloudFormation template in Amazon S3, specify the location in Amazon S3.

", + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access endpoint.

", "smithy.api#required": {} } }, - "IntegrateServices": { - "target": "com.amazonaws.ec2#IntegrateServices", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

Information about the service integration.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "IntegrateService" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#GetFlowLogsIntegrationTemplateResult": { + "com.amazonaws.ec2#GetVerifiedAccessEndpointPolicyResult": { "type": "structure", "members": { - "Result": { + "PolicyEnabled": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "PolicyEnabled", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

The status of the Verified Access policy.

", + "smithy.api#xmlName": "policyEnabled" + } + }, + "PolicyDocument": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Result", - "smithy.api#documentation": "

The generated CloudFormation template.

", - "smithy.api#xmlName": "result" + "aws.protocols#ec2QueryName": "PolicyDocument", + "smithy.api#documentation": "

The Amazon Web Services Verified Access policy document.

", + "smithy.api#xmlName": "policyDocument" } } } }, - "com.amazonaws.ec2#GetGroupsForCapacityReservation": { + "com.amazonaws.ec2#GetVerifiedAccessGroupPolicy": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#GetGroupsForCapacityReservationRequest" + "target": "com.amazonaws.ec2#GetVerifiedAccessGroupPolicyRequest" }, "output": { - "target": "com.amazonaws.ec2#GetGroupsForCapacityReservationResult" + "target": "com.amazonaws.ec2#GetVerifiedAccessGroupPolicyResult" }, "traits": { - "smithy.api#documentation": "

Lists the resource groups to which a Capacity Reservation has been added.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "CapacityReservationGroups", - "pageSize": "MaxResults" - } + "smithy.api#documentation": "

Shows the contents of the Verified Access policy associated with the group.

" } }, - "com.amazonaws.ec2#GetGroupsForCapacityReservationRequest": { + "com.amazonaws.ec2#GetVerifiedAccessGroupPolicyRequest": { "type": "structure", "members": { - "CapacityReservationId": { - "target": "com.amazonaws.ec2#CapacityReservationId", + "VerifiedAccessGroupId": { + "target": "com.amazonaws.ec2#VerifiedAccessGroupId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Capacity Reservation.

", + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access group.

", "smithy.api#required": {} } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The token to use to retrieve the next page of results.

" - } - }, - "MaxResults": { - "target": "com.amazonaws.ec2#GetGroupsForCapacityReservationRequestMaxResults", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

" - } - }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } - } - }, - "com.amazonaws.ec2#GetGroupsForCapacityReservationRequestMaxResults": { - "type": "integer", + }, "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 1, - "max": 1000 - } + "smithy.api#input": {} } }, - "com.amazonaws.ec2#GetGroupsForCapacityReservationResult": { + "com.amazonaws.ec2#GetVerifiedAccessGroupPolicyResult": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.ec2#String", + "PolicyEnabled": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "PolicyEnabled", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

The status of the Verified Access policy.

", + "smithy.api#xmlName": "policyEnabled" } }, - "CapacityReservationGroups": { - "target": "com.amazonaws.ec2#CapacityReservationGroupSet", + "PolicyDocument": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CapacityReservationGroupSet", - "smithy.api#documentation": "

Information about the resource groups to which the Capacity Reservation has been added.

", - "smithy.api#xmlName": "capacityReservationGroupSet" + "aws.protocols#ec2QueryName": "PolicyDocument", + "smithy.api#documentation": "

The Amazon Web Services Verified Access policy document.

", + "smithy.api#xmlName": "policyDocument" } } } }, - "com.amazonaws.ec2#GetHostReservationPurchasePreview": { + "com.amazonaws.ec2#GetVpnConnectionDeviceSampleConfiguration": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#GetHostReservationPurchasePreviewRequest" + "target": "com.amazonaws.ec2#GetVpnConnectionDeviceSampleConfigurationRequest" }, "output": { - "target": "com.amazonaws.ec2#GetHostReservationPurchasePreviewResult" + "target": "com.amazonaws.ec2#GetVpnConnectionDeviceSampleConfigurationResult" }, "traits": { - "smithy.api#documentation": "

Preview a reservation purchase with configurations that match those of your Dedicated\n Host. You must have active Dedicated Hosts in your account before you purchase a\n reservation.

\n

This is a preview of the PurchaseHostReservation action and does not\n result in the offering being purchased.

" + "smithy.api#documentation": "

Download an Amazon Web Services-provided sample configuration file to be used with the customer\n gateway device specified for your Site-to-Site VPN connection.

" } }, - "com.amazonaws.ec2#GetHostReservationPurchasePreviewRequest": { + "com.amazonaws.ec2#GetVpnConnectionDeviceSampleConfigurationRequest": { "type": "structure", "members": { - "HostIdSet": { - "target": "com.amazonaws.ec2#RequestHostIdSet", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IDs of the Dedicated Hosts with which the reservation is associated.

", - "smithy.api#required": {} - } - }, - "OfferingId": { - "target": "com.amazonaws.ec2#OfferingId", + "VpnConnectionId": { + "target": "com.amazonaws.ec2#VpnConnectionId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The offering ID of the reservation.

", + "smithy.api#documentation": "

The VpnConnectionId specifies the Site-to-Site VPN connection used for the sample\n configuration.

", "smithy.api#required": {} } - } - } - }, - "com.amazonaws.ec2#GetHostReservationPurchasePreviewResult": { - "type": "structure", - "members": { - "CurrencyCode": { - "target": "com.amazonaws.ec2#CurrencyCodeValues", - "traits": { - "aws.protocols#ec2QueryName": "CurrencyCode", - "smithy.api#documentation": "

The currency in which the totalUpfrontPrice and\n totalHourlyPrice amounts are specified. At this time, the only\n supported currency is USD.

", - "smithy.api#xmlName": "currencyCode" - } }, - "Purchase": { - "target": "com.amazonaws.ec2#PurchaseSet", + "VpnConnectionDeviceTypeId": { + "target": "com.amazonaws.ec2#VpnConnectionDeviceTypeId", "traits": { - "aws.protocols#ec2QueryName": "Purchase", - "smithy.api#documentation": "

The purchase information of the Dedicated Host reservation and the Dedicated Hosts\n associated with it.

", - "smithy.api#xmlName": "purchase" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

Device identifier provided by the GetVpnConnectionDeviceTypes API.

", + "smithy.api#required": {} } }, - "TotalHourlyPrice": { + "InternetKeyExchangeVersion": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TotalHourlyPrice", - "smithy.api#documentation": "

The potential total hourly price of the reservation per hour.

", - "smithy.api#xmlName": "totalHourlyPrice" + "smithy.api#documentation": "

The IKE version to be used in the sample configuration file for your customer gateway\n device. You can specify one of the following versions: ikev1 or\n ikev2.

" } }, - "TotalUpfrontPrice": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "TotalUpfrontPrice", - "smithy.api#documentation": "

The potential total upfront price. This is billed immediately.

", - "smithy.api#xmlName": "totalUpfrontPrice" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#GetInstanceTypesFromInstanceRequirements": { + "com.amazonaws.ec2#GetVpnConnectionDeviceSampleConfigurationResult": { + "type": "structure", + "members": { + "VpnConnectionDeviceSampleConfiguration": { + "target": "com.amazonaws.ec2#VpnConnectionDeviceSampleConfiguration", + "traits": { + "aws.protocols#ec2QueryName": "VpnConnectionDeviceSampleConfiguration", + "smithy.api#documentation": "

Sample configuration file for the specified customer gateway device.

", + "smithy.api#xmlName": "vpnConnectionDeviceSampleConfiguration" + } + } + } + }, + "com.amazonaws.ec2#GetVpnConnectionDeviceTypes": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#GetInstanceTypesFromInstanceRequirementsRequest" + "target": "com.amazonaws.ec2#GetVpnConnectionDeviceTypesRequest" }, "output": { - "target": "com.amazonaws.ec2#GetInstanceTypesFromInstanceRequirementsResult" + "target": "com.amazonaws.ec2#GetVpnConnectionDeviceTypesResult" }, "traits": { - "smithy.api#documentation": "

Returns a list of instance types with the specified instance attributes. You can\n use the response to preview the instance types without launching instances. Note\n that the response does not consider capacity.

\n

When you specify multiple parameters, you get instance types that satisfy all of the\n specified parameters. If you specify multiple values for a parameter, you get instance\n types that satisfy any of the specified values.

\n

For more information, see Preview instance types with specified attributes, Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot\n placement score in the Amazon EC2 User Guide, and Creating an\n Auto Scaling group using attribute-based instance type selection in the\n Amazon EC2 Auto Scaling User Guide.

", + "smithy.api#documentation": "

Obtain a list of customer gateway devices for which sample configuration\n files can be provided. The request has no additional parameters. You can also see the\n list of device types with sample configuration files available under Your customer gateway\n device in the Amazon Web Services Site-to-Site VPN User Guide.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "InstanceTypes", + "items": "VpnConnectionDeviceTypes", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#GetInstanceTypesFromInstanceRequirementsRequest": { + "com.amazonaws.ec2#GetVpnConnectionDeviceTypesRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - }, - "ArchitectureTypes": { - "target": "com.amazonaws.ec2#ArchitectureTypeSet", + "MaxResults": { + "target": "com.amazonaws.ec2#GVCDMaxResults", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The processor architecture type.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "ArchitectureType" + "smithy.api#documentation": "

The maximum number of results returned by GetVpnConnectionDeviceTypes in\n paginated output. When this parameter is used, GetVpnConnectionDeviceTypes\n only returns MaxResults results in a single page along with a\n NextToken response element. The remaining results of the initial\n request can be seen by sending another GetVpnConnectionDeviceTypes request\n with the returned NextToken value. This value can be between 200 and 1000.\n If this parameter is not used, then GetVpnConnectionDeviceTypes returns all\n results.

" } }, - "VirtualizationTypes": { - "target": "com.amazonaws.ec2#VirtualizationTypeSet", + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The virtualization type.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "VirtualizationType" + "smithy.api#documentation": "

The NextToken value returned from a previous paginated\n GetVpnConnectionDeviceTypes request where MaxResults was\n used and the results exceeded the value of that parameter. Pagination continues from the\n end of the previous results that returned the NextToken value. This value\n is null when there are no more results to return.

" } }, - "InstanceRequirements": { - "target": "com.amazonaws.ec2#InstanceRequirementsRequest", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The attributes required for the instance types.

", - "smithy.api#required": {} + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" } - }, - "MaxResults": { - "target": "com.amazonaws.ec2#Integer", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#GetVpnConnectionDeviceTypesResult": { + "type": "structure", + "members": { + "VpnConnectionDeviceTypes": { + "target": "com.amazonaws.ec2#VpnConnectionDeviceTypeList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in a single call. Specify a value between 1 and\u2028 \n 1000. The default value is 1000. To retrieve the remaining results, make another call with\u2028 \n the returned NextToken value.

" + "aws.protocols#ec2QueryName": "VpnConnectionDeviceTypeSet", + "smithy.api#documentation": "

List of customer gateway devices that have a sample configuration file available for\n use.

", + "smithy.api#xmlName": "vpnConnectionDeviceTypeSet" } }, "NextToken": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#NextToken", "traits": { - "smithy.api#documentation": "

The token for the next set of results.

" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The NextToken value to include in a future\n GetVpnConnectionDeviceTypes request. When the results of a\n GetVpnConnectionDeviceTypes request exceed MaxResults,\n this value can be used to retrieve the next page of results. This value is null when\n there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#GetInstanceTypesFromInstanceRequirementsResult": { + "com.amazonaws.ec2#GpuDeviceCount": { + "type": "integer" + }, + "com.amazonaws.ec2#GpuDeviceInfo": { "type": "structure", "members": { - "InstanceTypes": { - "target": "com.amazonaws.ec2#InstanceTypeInfoFromInstanceRequirementsSet", + "Name": { + "target": "com.amazonaws.ec2#GpuDeviceName", "traits": { - "aws.protocols#ec2QueryName": "InstanceTypeSet", - "smithy.api#documentation": "

The instance types with the specified instance attributes.

", - "smithy.api#xmlName": "instanceTypeSet" + "aws.protocols#ec2QueryName": "Name", + "smithy.api#documentation": "

The name of the GPU accelerator.

", + "smithy.api#xmlName": "name" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "Manufacturer": { + "target": "com.amazonaws.ec2#GpuDeviceManufacturerName", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token for the next set of results.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "Manufacturer", + "smithy.api#documentation": "

The manufacturer of the GPU accelerator.

", + "smithy.api#xmlName": "manufacturer" + } + }, + "Count": { + "target": "com.amazonaws.ec2#GpuDeviceCount", + "traits": { + "aws.protocols#ec2QueryName": "Count", + "smithy.api#documentation": "

The number of GPUs for the instance type.

", + "smithy.api#xmlName": "count" + } + }, + "MemoryInfo": { + "target": "com.amazonaws.ec2#GpuDeviceMemoryInfo", + "traits": { + "aws.protocols#ec2QueryName": "MemoryInfo", + "smithy.api#documentation": "

Describes the memory available to the GPU accelerator.

", + "smithy.api#xmlName": "memoryInfo" } } + }, + "traits": { + "smithy.api#documentation": "

Describes the GPU accelerators for the instance type.

" } }, - "com.amazonaws.ec2#GetInstanceUefiData": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#GetInstanceUefiDataRequest" - }, - "output": { - "target": "com.amazonaws.ec2#GetInstanceUefiDataResult" + "com.amazonaws.ec2#GpuDeviceInfoList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#GpuDeviceInfo", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#GpuDeviceManufacturerName": { + "type": "string" + }, + "com.amazonaws.ec2#GpuDeviceMemoryInfo": { + "type": "structure", + "members": { + "SizeInMiB": { + "target": "com.amazonaws.ec2#GpuDeviceMemorySize", + "traits": { + "aws.protocols#ec2QueryName": "SizeInMiB", + "smithy.api#documentation": "

The size of the memory available to the GPU accelerator, in MiB.

", + "smithy.api#xmlName": "sizeInMiB" + } + } }, "traits": { - "smithy.api#documentation": "

A binary representation of the UEFI variable store. Only non-volatile variables are\n stored. This is a base64 encoded and zlib compressed binary value that must be properly\n encoded.

\n

When you use register-image to create\n an AMI, you can create an exact copy of your variable store by passing the UEFI data in\n the UefiData parameter. You can modify the UEFI data by using the python-uefivars tool on\n GitHub. You can use the tool to convert the UEFI data into a human-readable format\n (JSON), which you can inspect and modify, and then convert back into the binary format\n to use with register-image.

\n

For more information, see UEFI Secure Boot in the\n Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Describes the memory available to the GPU accelerator.

" } }, - "com.amazonaws.ec2#GetInstanceUefiDataRequest": { + "com.amazonaws.ec2#GpuDeviceMemorySize": { + "type": "integer" + }, + "com.amazonaws.ec2#GpuDeviceName": { + "type": "string" + }, + "com.amazonaws.ec2#GpuInfo": { "type": "structure", "members": { - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", + "Gpus": { + "target": "com.amazonaws.ec2#GpuDeviceInfoList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the instance from which to retrieve the UEFI data.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "InstanceId" + "aws.protocols#ec2QueryName": "Gpus", + "smithy.api#documentation": "

Describes the GPU accelerators for the instance type.

", + "smithy.api#xmlName": "gpus" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "TotalGpuMemoryInMiB": { + "target": "com.amazonaws.ec2#totalGpuMemory", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "TotalGpuMemoryInMiB", + "smithy.api#documentation": "

The total size of the memory for the GPU accelerators for the instance type, in MiB.

", + "smithy.api#xmlName": "totalGpuMemoryInMiB" } } + }, + "traits": { + "smithy.api#documentation": "

Describes the GPU accelerators for the instance type.

" } }, - "com.amazonaws.ec2#GetInstanceUefiDataResult": { + "com.amazonaws.ec2#GroupIdStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SecurityGroupId", + "traits": { + "smithy.api#xmlName": "groupId" + } + } + }, + "com.amazonaws.ec2#GroupIdentifier": { "type": "structure", "members": { - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", + "GroupName": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#documentation": "

The ID of the instance from which to retrieve the UEFI data.

", - "smithy.api#xmlName": "instanceId" + "aws.protocols#ec2QueryName": "GroupName", + "smithy.api#documentation": "

The name of the security group.

", + "smithy.api#xmlName": "groupName" } }, - "UefiData": { + "GroupId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "UefiData", - "smithy.api#documentation": "

Base64 representation of the non-volatile UEFI variable store.

", - "smithy.api#xmlName": "uefiData" + "aws.protocols#ec2QueryName": "GroupId", + "smithy.api#documentation": "

The ID of the security group.

", + "smithy.api#xmlName": "groupId" } } - } - }, - "com.amazonaws.ec2#GetIpamAddressHistory": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#GetIpamAddressHistoryRequest" - }, - "output": { - "target": "com.amazonaws.ec2#GetIpamAddressHistoryResult" }, "traits": { - "smithy.api#documentation": "

Retrieve historical information about a CIDR within an IPAM scope. For more information, see View the history of IP addresses in the Amazon VPC IPAM User Guide.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "HistoryRecords", - "pageSize": "MaxResults" + "smithy.api#documentation": "

Describes a security group.

" + } + }, + "com.amazonaws.ec2#GroupIdentifierList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#GroupIdentifier", + "traits": { + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#GetIpamAddressHistoryRequest": { + "com.amazonaws.ec2#GroupIdentifierSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SecurityGroupIdentifier", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#GroupIds": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SecurityGroupId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#GroupNameStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SecurityGroupName", + "traits": { + "smithy.api#xmlName": "GroupName" + } + } + }, + "com.amazonaws.ec2#HibernationFlag": { + "type": "boolean" + }, + "com.amazonaws.ec2#HibernationOptions": { "type": "structure", "members": { - "DryRun": { + "Configured": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "Configured", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - }, - "Cidr": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The CIDR you want the history of. The CIDR can be an IPv4 or IPv6 IP address range. \n If you enter a /16 IPv4 CIDR, you will get records that match it exactly. You will not get records for any subnets within the /16 CIDR.

", - "smithy.api#required": {} + "smithy.api#documentation": "

If this parameter is set to true, your instance is enabled for\n hibernation; otherwise, it is not enabled for hibernation.

", + "smithy.api#xmlName": "configured" } - }, - "IpamScopeId": { - "target": "com.amazonaws.ec2#IpamScopeId", + } + }, + "traits": { + "smithy.api#documentation": "

Indicates whether your instance is configured for hibernation. This parameter is valid\n only if the instance meets the hibernation\n prerequisites. For more information, see Hibernate your instance in the\n Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#HibernationOptionsRequest": { + "type": "structure", + "members": { + "Configured": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the IPAM scope that the CIDR is in.

", - "smithy.api#required": {} - } - }, - "VpcId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The ID of the VPC you want your history records filtered by.

" - } - }, - "StartTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", - "traits": { - "smithy.api#documentation": "

The start of the time period for which you are looking for history. If you omit this option, it will default to the value of EndTime.

" + "smithy.api#default": false, + "smithy.api#documentation": "

If you set this parameter to true, your instance is enabled for\n hibernation.

\n

Default: false\n

" } - }, - "EndTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + } + }, + "traits": { + "smithy.api#documentation": "

Indicates whether your instance is configured for hibernation. This parameter is valid\n only if the instance meets the hibernation\n prerequisites. For more information, see Hibernate your instance in the\n Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#HistoryRecord": { + "type": "structure", + "members": { + "EventInformation": { + "target": "com.amazonaws.ec2#EventInformation", "traits": { - "smithy.api#documentation": "

The end of the time period for which you are looking for history. If you omit this option, it will default to the current time.

" + "aws.protocols#ec2QueryName": "EventInformation", + "smithy.api#documentation": "

Information about the event.

", + "smithy.api#xmlName": "eventInformation" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#IpamAddressHistoryMaxResults", + "EventType": { + "target": "com.amazonaws.ec2#EventType", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of historical results you would like returned per page. Defaults to 100.

" + "aws.protocols#ec2QueryName": "EventType", + "smithy.api#documentation": "

The event type.

\n
    \n
  • \n

    \n error - An error with the Spot Fleet request.

    \n
  • \n
  • \n

    \n fleetRequestChange - A change in the status or configuration of\n the Spot Fleet request.

    \n
  • \n
  • \n

    \n instanceChange - An instance was launched or terminated.

    \n
  • \n
  • \n

    \n Information - An informational event.

    \n
  • \n
", + "smithy.api#xmlName": "eventType" } }, - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "Timestamp": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "aws.protocols#ec2QueryName": "Timestamp", + "smithy.api#documentation": "

The date and time of the event, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).

", + "smithy.api#xmlName": "timestamp" } } + }, + "traits": { + "smithy.api#documentation": "

Describes an event in the history of the Spot Fleet request.

" } }, - "com.amazonaws.ec2#GetIpamAddressHistoryResult": { + "com.amazonaws.ec2#HistoryRecordEntry": { "type": "structure", "members": { - "HistoryRecords": { - "target": "com.amazonaws.ec2#IpamAddressHistoryRecordSet", + "EventInformation": { + "target": "com.amazonaws.ec2#EventInformation", "traits": { - "aws.protocols#ec2QueryName": "HistoryRecordSet", - "smithy.api#documentation": "

A historical record for a CIDR within an IPAM scope. If the CIDR is associated with an EC2 instance, you will see an object in the response for the instance and one for the network interface.

", - "smithy.api#xmlName": "historyRecordSet" + "aws.protocols#ec2QueryName": "EventInformation", + "smithy.api#documentation": "

Information about the event.

", + "smithy.api#xmlName": "eventInformation" } }, - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "EventType": { + "target": "com.amazonaws.ec2#FleetEventType", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "EventType", + "smithy.api#documentation": "

The event type.

", + "smithy.api#xmlName": "eventType" + } + }, + "Timestamp": { + "target": "com.amazonaws.ec2#DateTime", + "traits": { + "aws.protocols#ec2QueryName": "Timestamp", + "smithy.api#documentation": "

The date and time of the event, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).

", + "smithy.api#xmlName": "timestamp" } } - } - }, - "com.amazonaws.ec2#GetIpamPoolAllocations": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#GetIpamPoolAllocationsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#GetIpamPoolAllocationsResult" }, "traits": { - "smithy.api#documentation": "

Get a list of all the CIDR allocations in an IPAM pool.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "IpamPoolAllocations", - "pageSize": "MaxResults" + "smithy.api#documentation": "

Describes an event in the history of an EC2 Fleet.

" + } + }, + "com.amazonaws.ec2#HistoryRecordSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#HistoryRecordEntry", + "traits": { + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#GetIpamPoolAllocationsMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 1000, - "max": 100000 + "com.amazonaws.ec2#HistoryRecords": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#HistoryRecord", + "traits": { + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#GetIpamPoolAllocationsRequest": { + "com.amazonaws.ec2#Host": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "AutoPlacement": { + "target": "com.amazonaws.ec2#AutoPlacement", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "AutoPlacement", + "smithy.api#documentation": "

Whether auto-placement is on or off.

", + "smithy.api#xmlName": "autoPlacement" } }, - "IpamPoolId": { - "target": "com.amazonaws.ec2#IpamPoolId", + "AvailabilityZone": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the IPAM pool you want to see the allocations for.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "AvailabilityZone", + "smithy.api#documentation": "

The Availability Zone of the Dedicated Host.

", + "smithy.api#xmlName": "availabilityZone" + } + }, + "AvailableCapacity": { + "target": "com.amazonaws.ec2#AvailableCapacity", + "traits": { + "aws.protocols#ec2QueryName": "AvailableCapacity", + "smithy.api#documentation": "

Information about the instances running on the Dedicated Host.

", + "smithy.api#xmlName": "availableCapacity" + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ClientToken", + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

", + "smithy.api#xmlName": "clientToken" + } + }, + "HostId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "HostId", + "smithy.api#documentation": "

The ID of the Dedicated Host.

", + "smithy.api#xmlName": "hostId" + } + }, + "HostProperties": { + "target": "com.amazonaws.ec2#HostProperties", + "traits": { + "aws.protocols#ec2QueryName": "HostProperties", + "smithy.api#documentation": "

The hardware specifications of the Dedicated Host.

", + "smithy.api#xmlName": "hostProperties" + } + }, + "HostReservationId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "HostReservationId", + "smithy.api#documentation": "

The reservation ID of the Dedicated Host. This returns a null response if\n the Dedicated Host doesn't have an associated reservation.

", + "smithy.api#xmlName": "hostReservationId" } }, - "IpamPoolAllocationId": { - "target": "com.amazonaws.ec2#IpamPoolAllocationId", + "Instances": { + "target": "com.amazonaws.ec2#HostInstanceList", "traits": { - "smithy.api#documentation": "

The ID of the allocation.

" + "aws.protocols#ec2QueryName": "Instances", + "smithy.api#documentation": "

The IDs and instance type that are currently running on the Dedicated Host.

", + "smithy.api#xmlName": "instances" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "State": { + "target": "com.amazonaws.ec2#AllocationState", "traits": { - "smithy.api#documentation": "

One or more filters for the request. For more information about filtering, see Filtering CLI output.

", - "smithy.api#xmlName": "Filter" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The Dedicated Host's state.

", + "smithy.api#xmlName": "state" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#GetIpamPoolAllocationsMaxResults", + "AllocationTime": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results you would like returned per page.

" + "aws.protocols#ec2QueryName": "AllocationTime", + "smithy.api#documentation": "

The time that the Dedicated Host was allocated.

", + "smithy.api#xmlName": "allocationTime" } }, - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "ReleaseTime": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "aws.protocols#ec2QueryName": "ReleaseTime", + "smithy.api#documentation": "

The time that the Dedicated Host was released.

", + "smithy.api#xmlName": "releaseTime" } - } - } - }, - "com.amazonaws.ec2#GetIpamPoolAllocationsResult": { - "type": "structure", - "members": { - "IpamPoolAllocations": { - "target": "com.amazonaws.ec2#IpamPoolAllocationSet", + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "IpamPoolAllocationSet", - "smithy.api#documentation": "

The IPAM pool allocations you want information on.

", - "smithy.api#xmlName": "ipamPoolAllocationSet" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Any tags assigned to the Dedicated Host.

", + "smithy.api#xmlName": "tagSet" } }, - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "HostRecovery": { + "target": "com.amazonaws.ec2#HostRecovery", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "HostRecovery", + "smithy.api#documentation": "

Indicates whether host recovery is enabled or disabled for the Dedicated Host.

", + "smithy.api#xmlName": "hostRecovery" } - } - } - }, - "com.amazonaws.ec2#GetIpamPoolCidrs": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#GetIpamPoolCidrsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#GetIpamPoolCidrsResult" - }, - "traits": { - "smithy.api#documentation": "

Get the CIDRs provisioned to an IPAM pool.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "IpamPoolCidrs", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.ec2#GetIpamPoolCidrsRequest": { - "type": "structure", - "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + }, + "AllowsMultipleInstanceTypes": { + "target": "com.amazonaws.ec2#AllowsMultipleInstanceTypes", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "AllowsMultipleInstanceTypes", + "smithy.api#documentation": "

Indicates whether the Dedicated Host supports multiple instance types of the same\n instance family. If the value is on, the Dedicated Host supports multiple\n instance types in the instance family. If the value is off, the Dedicated\n Host supports a single instance type only.

", + "smithy.api#xmlName": "allowsMultipleInstanceTypes" } }, - "IpamPoolId": { - "target": "com.amazonaws.ec2#IpamPoolId", + "OwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the IPAM pool you want the CIDR for.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the Dedicated Host.

", + "smithy.api#xmlName": "ownerId" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "AvailabilityZoneId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

One or more filters for the request. For more information about filtering, see Filtering CLI output.

", - "smithy.api#xmlName": "Filter" + "aws.protocols#ec2QueryName": "AvailabilityZoneId", + "smithy.api#documentation": "

The ID of the Availability Zone in which the Dedicated Host is allocated.

", + "smithy.api#xmlName": "availabilityZoneId" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#IpamMaxResults", + "MemberOfServiceLinkedResourceGroup": { + "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "MemberOfServiceLinkedResourceGroup", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in the request.

" + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the Dedicated Host is in a host resource group. If memberOfServiceLinkedResourceGroup is true, the\n host is in a host resource group; otherwise, it is not.

", + "smithy.api#xmlName": "memberOfServiceLinkedResourceGroup" } }, - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "OutpostArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "aws.protocols#ec2QueryName": "OutpostArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Web Services Outpost on which the\n Dedicated Host is allocated.

", + "smithy.api#xmlName": "outpostArn" } } + }, + "traits": { + "smithy.api#documentation": "

Describes the properties of the Dedicated Host.

" } }, - "com.amazonaws.ec2#GetIpamPoolCidrsResult": { + "com.amazonaws.ec2#HostInstance": { "type": "structure", "members": { - "IpamPoolCidrs": { - "target": "com.amazonaws.ec2#IpamPoolCidrSet", + "InstanceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "IpamPoolCidrSet", - "smithy.api#documentation": "

Information about the CIDRs provisioned to an IPAM pool.

", - "smithy.api#xmlName": "ipamPoolCidrSet" + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#documentation": "

The ID of instance that is running on the Dedicated Host.

", + "smithy.api#xmlName": "instanceId" } }, - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "InstanceType": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "InstanceType", + "smithy.api#documentation": "

The instance type (for example, m3.medium) of the running\n instance.

", + "smithy.api#xmlName": "instanceType" + } + }, + "OwnerId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the instance.

", + "smithy.api#xmlName": "ownerId" } } - } - }, - "com.amazonaws.ec2#GetIpamResourceCidrs": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#GetIpamResourceCidrsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#GetIpamResourceCidrsResult" }, "traits": { - "smithy.api#documentation": "

Get information about the resources in a scope.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "IpamResourceCidrs", - "pageSize": "MaxResults" + "smithy.api#documentation": "

Describes an instance running on a Dedicated Host.

" + } + }, + "com.amazonaws.ec2#HostInstanceList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#HostInstance", + "traits": { + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#GetIpamResourceCidrsRequest": { + "com.amazonaws.ec2#HostList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Host", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#HostOffering": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "CurrencyCode": { + "target": "com.amazonaws.ec2#CurrencyCodeValues", "traits": { - "smithy.api#documentation": "

One or more filters for the request. For more information about filtering, see Filtering CLI output.

", - "smithy.api#xmlName": "Filter" + "aws.protocols#ec2QueryName": "CurrencyCode", + "smithy.api#documentation": "

The currency of the offering.

", + "smithy.api#xmlName": "currencyCode" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#IpamMaxResults", + "Duration": { + "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "Duration", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in the request.

" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", - "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" - } - }, - "IpamScopeId": { - "target": "com.amazonaws.ec2#IpamScopeId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the scope that the resource is in.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The duration of the offering (in seconds).

", + "smithy.api#xmlName": "duration" } }, - "IpamPoolId": { - "target": "com.amazonaws.ec2#IpamPoolId", + "HourlyPrice": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The ID of the IPAM pool that the resource is in.

" + "aws.protocols#ec2QueryName": "HourlyPrice", + "smithy.api#documentation": "

The hourly price of the offering.

", + "smithy.api#xmlName": "hourlyPrice" } }, - "ResourceId": { + "InstanceFamily": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The ID of the resource.

" + "aws.protocols#ec2QueryName": "InstanceFamily", + "smithy.api#documentation": "

The instance family of the offering.

", + "smithy.api#xmlName": "instanceFamily" } }, - "ResourceType": { - "target": "com.amazonaws.ec2#IpamResourceType", + "OfferingId": { + "target": "com.amazonaws.ec2#OfferingId", "traits": { - "smithy.api#documentation": "

The resource type.

" + "aws.protocols#ec2QueryName": "OfferingId", + "smithy.api#documentation": "

The ID of the offering.

", + "smithy.api#xmlName": "offeringId" } }, - "ResourceTag": { - "target": "com.amazonaws.ec2#RequestIpamResourceTag", + "PaymentOption": { + "target": "com.amazonaws.ec2#PaymentOption", "traits": { - "smithy.api#documentation": "

The resource tag.

" + "aws.protocols#ec2QueryName": "PaymentOption", + "smithy.api#documentation": "

The available payment option.

", + "smithy.api#xmlName": "paymentOption" } }, - "ResourceOwner": { + "UpfrontPrice": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the resource.

" + "aws.protocols#ec2QueryName": "UpfrontPrice", + "smithy.api#documentation": "

The upfront price of the offering. Does not apply to No Upfront offerings.

", + "smithy.api#xmlName": "upfrontPrice" } } + }, + "traits": { + "smithy.api#documentation": "

Details about the Dedicated Host Reservation offering.

" } }, - "com.amazonaws.ec2#GetIpamResourceCidrsResult": { + "com.amazonaws.ec2#HostOfferingSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#HostOffering", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#HostProperties": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "Cores": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "Cores", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of cores on the Dedicated Host.

", + "smithy.api#xmlName": "cores" } }, - "IpamResourceCidrs": { - "target": "com.amazonaws.ec2#IpamResourceCidrSet", + "InstanceType": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "IpamResourceCidrSet", - "smithy.api#documentation": "

The resource CIDRs.

", - "smithy.api#xmlName": "ipamResourceCidrSet" + "aws.protocols#ec2QueryName": "InstanceType", + "smithy.api#documentation": "

The instance type supported by the Dedicated Host. For example, m5.large.\n If the host supports multiple instance types, no instanceType is returned.

", + "smithy.api#xmlName": "instanceType" } - } - } - }, - "com.amazonaws.ec2#GetLaunchTemplateData": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#GetLaunchTemplateDataRequest" - }, - "output": { - "target": "com.amazonaws.ec2#GetLaunchTemplateDataResult" - }, - "traits": { - "smithy.api#documentation": "

Retrieves the configuration data of the specified instance. You can use this data to\n create a launch template.

\n

This action calls on other describe actions to get instance information. Depending on\n your instance configuration, you may need to allow the following actions in your IAM\n policy: DescribeSpotInstanceRequests,\n DescribeInstanceCreditSpecifications, DescribeVolumes,\n DescribeInstanceAttribute, and DescribeElasticGpus. Or,\n you can allow describe* depending on your instance requirements.

" - } - }, - "com.amazonaws.ec2#GetLaunchTemplateDataRequest": { - "type": "structure", - "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + }, + "InstanceFamily": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "InstanceFamily", + "smithy.api#documentation": "

The instance family supported by the Dedicated Host. For example,\n m5.

", + "smithy.api#xmlName": "instanceFamily" } }, - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", + "Sockets": { + "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "Sockets", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the instance.

", - "smithy.api#required": {} + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of sockets on the Dedicated Host.

", + "smithy.api#xmlName": "sockets" } - } - } - }, - "com.amazonaws.ec2#GetLaunchTemplateDataResult": { - "type": "structure", - "members": { - "LaunchTemplateData": { - "target": "com.amazonaws.ec2#ResponseLaunchTemplateData", + }, + "TotalVCpus": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "LaunchTemplateData", - "smithy.api#documentation": "

The instance data.

", - "smithy.api#xmlName": "launchTemplateData" + "aws.protocols#ec2QueryName": "TotalVCpus", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The total number of vCPUs on the Dedicated Host.

", + "smithy.api#xmlName": "totalVCpus" } } - } - }, - "com.amazonaws.ec2#GetManagedPrefixListAssociations": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#GetManagedPrefixListAssociationsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#GetManagedPrefixListAssociationsResult" }, "traits": { - "smithy.api#documentation": "

Gets information about the resources that are associated with the specified managed prefix list.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "PrefixListAssociations", - "pageSize": "MaxResults" - } + "smithy.api#documentation": "

Describes the properties of a Dedicated Host.

" } }, - "com.amazonaws.ec2#GetManagedPrefixListAssociationsMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 255 + "com.amazonaws.ec2#HostRecovery": { + "type": "enum", + "members": { + "on": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "on" + } + }, + "off": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "off" + } } } }, - "com.amazonaws.ec2#GetManagedPrefixListAssociationsRequest": { + "com.amazonaws.ec2#HostReservation": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Count": { + "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "Count", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of Dedicated Hosts the reservation is associated with.

", + "smithy.api#xmlName": "count" } }, - "PrefixListId": { - "target": "com.amazonaws.ec2#PrefixListResourceId", + "CurrencyCode": { + "target": "com.amazonaws.ec2#CurrencyCodeValues", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the prefix list.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "CurrencyCode", + "smithy.api#documentation": "

The currency in which the upfrontPrice and hourlyPrice\n amounts are specified. At this time, the only supported currency is\n USD.

", + "smithy.api#xmlName": "currencyCode" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#GetManagedPrefixListAssociationsMaxResults", + "Duration": { + "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "Duration", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#documentation": "

The length of the reservation's term, specified in seconds. Can be 31536000 (1\n year) | 94608000 (3 years).

", + "smithy.api#xmlName": "duration" } }, - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "End": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "aws.protocols#ec2QueryName": "End", + "smithy.api#documentation": "

The date and time that the reservation ends.

", + "smithy.api#xmlName": "end" } - } - } - }, - "com.amazonaws.ec2#GetManagedPrefixListAssociationsResult": { - "type": "structure", - "members": { - "PrefixListAssociations": { - "target": "com.amazonaws.ec2#PrefixListAssociationSet", + }, + "HostIdSet": { + "target": "com.amazonaws.ec2#ResponseHostIdSet", "traits": { - "aws.protocols#ec2QueryName": "PrefixListAssociationSet", - "smithy.api#documentation": "

Information about the associations.

", - "smithy.api#xmlName": "prefixListAssociationSet" + "aws.protocols#ec2QueryName": "HostIdSet", + "smithy.api#documentation": "

The IDs of the Dedicated Hosts associated with the reservation.

", + "smithy.api#xmlName": "hostIdSet" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "HostReservationId": { + "target": "com.amazonaws.ec2#HostReservationId", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "HostReservationId", + "smithy.api#documentation": "

The ID of the reservation that specifies the associated Dedicated Hosts.

", + "smithy.api#xmlName": "hostReservationId" } - } - } - }, - "com.amazonaws.ec2#GetManagedPrefixListEntries": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#GetManagedPrefixListEntriesRequest" - }, - "output": { - "target": "com.amazonaws.ec2#GetManagedPrefixListEntriesResult" - }, - "traits": { - "smithy.api#documentation": "

Gets information about the entries for a specified managed prefix list.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "Entries", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.ec2#GetManagedPrefixListEntriesRequest": { - "type": "structure", - "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + }, + "HourlyPrice": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "HourlyPrice", + "smithy.api#documentation": "

The hourly price of the reservation.

", + "smithy.api#xmlName": "hourlyPrice" + } + }, + "InstanceFamily": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "InstanceFamily", + "smithy.api#documentation": "

The instance family of the Dedicated Host Reservation. The instance family on the\n Dedicated Host must be the same in order for it to benefit from the reservation.

", + "smithy.api#xmlName": "instanceFamily" } }, - "PrefixListId": { - "target": "com.amazonaws.ec2#PrefixListResourceId", + "OfferingId": { + "target": "com.amazonaws.ec2#OfferingId", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the prefix list.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "OfferingId", + "smithy.api#documentation": "

The ID of the reservation. This remains the same regardless of which Dedicated Hosts\n are associated with it.

", + "smithy.api#xmlName": "offeringId" } }, - "TargetVersion": { - "target": "com.amazonaws.ec2#Long", + "PaymentOption": { + "target": "com.amazonaws.ec2#PaymentOption", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The version of the prefix list for which to return the entries. The default is the current version.

" + "aws.protocols#ec2QueryName": "PaymentOption", + "smithy.api#documentation": "

The payment option selected for this reservation.

", + "smithy.api#xmlName": "paymentOption" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#PrefixListMaxResults", + "Start": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "aws.protocols#ec2QueryName": "Start", + "smithy.api#documentation": "

The date and time that the reservation started.

", + "smithy.api#xmlName": "start" } }, - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "State": { + "target": "com.amazonaws.ec2#ReservationState", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the reservation.

", + "smithy.api#xmlName": "state" } - } - } - }, - "com.amazonaws.ec2#GetManagedPrefixListEntriesResult": { - "type": "structure", - "members": { - "Entries": { - "target": "com.amazonaws.ec2#PrefixListEntrySet", + }, + "UpfrontPrice": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "EntrySet", - "smithy.api#documentation": "

Information about the prefix list entries.

", - "smithy.api#xmlName": "entrySet" + "aws.protocols#ec2QueryName": "UpfrontPrice", + "smithy.api#documentation": "

The upfront price of the reservation.

", + "smithy.api#xmlName": "upfrontPrice" } }, - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Any tags assigned to the Dedicated Host Reservation.

", + "smithy.api#xmlName": "tagSet" } } - } - }, - "com.amazonaws.ec2#GetNetworkInsightsAccessScopeAnalysisFindings": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#GetNetworkInsightsAccessScopeAnalysisFindingsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#GetNetworkInsightsAccessScopeAnalysisFindingsResult" }, "traits": { - "smithy.api#documentation": "

Gets the findings for the specified Network Access Scope analysis.

" + "smithy.api#documentation": "

Details about the Dedicated Host Reservation and associated Dedicated Hosts.

" } }, - "com.amazonaws.ec2#GetNetworkInsightsAccessScopeAnalysisFindingsRequest": { - "type": "structure", + "com.amazonaws.ec2#HostReservationId": { + "type": "string" + }, + "com.amazonaws.ec2#HostReservationIdSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#HostReservationId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#HostReservationSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#HostReservation", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#HostTenancy": { + "type": "enum", "members": { - "NetworkInsightsAccessScopeAnalysisId": { - "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisId", + "dedicated": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Network Access Scope analysis.

", - "smithy.api#required": {} + "smithy.api#enumValue": "dedicated" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#NetworkInsightsMaxResults", + "host": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n To retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#enumValue": "host" } - }, - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + } + } + }, + "com.amazonaws.ec2#HostnameType": { + "type": "enum", + "members": { + "ip_name": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "smithy.api#enumValue": "ip-name" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "resource_name": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#enumValue": "resource-name" } } } }, - "com.amazonaws.ec2#GetNetworkInsightsAccessScopeAnalysisFindingsResult": { - "type": "structure", + "com.amazonaws.ec2#Hour": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0, + "max": 23 + } + } + }, + "com.amazonaws.ec2#HttpTokensState": { + "type": "enum", "members": { - "NetworkInsightsAccessScopeAnalysisId": { - "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisId", + "optional": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeAnalysisId", - "smithy.api#documentation": "

The ID of the Network Access Scope analysis.

", - "smithy.api#xmlName": "networkInsightsAccessScopeAnalysisId" + "smithy.api#enumValue": "optional" } }, - "AnalysisStatus": { - "target": "com.amazonaws.ec2#AnalysisStatus", + "required": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AnalysisStatus", - "smithy.api#documentation": "

The status of Network Access Scope Analysis.

", - "smithy.api#xmlName": "analysisStatus" + "smithy.api#enumValue": "required" } - }, - "AnalysisFindings": { - "target": "com.amazonaws.ec2#AccessScopeAnalysisFindingList", + } + } + }, + "com.amazonaws.ec2#HypervisorType": { + "type": "enum", + "members": { + "ovm": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AnalysisFindingSet", - "smithy.api#documentation": "

The findings associated with Network Access Scope Analysis.

", - "smithy.api#xmlName": "analysisFindingSet" + "smithy.api#enumValue": "ovm" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "xen": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "smithy.api#enumValue": "xen" } } } }, - "com.amazonaws.ec2#GetNetworkInsightsAccessScopeContent": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#GetNetworkInsightsAccessScopeContentRequest" - }, - "output": { - "target": "com.amazonaws.ec2#GetNetworkInsightsAccessScopeContentResult" - }, - "traits": { - "smithy.api#documentation": "

Gets the content for the specified Network Access Scope.

" + "com.amazonaws.ec2#IKEVersionsList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IKEVersionsListValue", + "traits": { + "smithy.api#xmlName": "item" + } } }, - "com.amazonaws.ec2#GetNetworkInsightsAccessScopeContentRequest": { + "com.amazonaws.ec2#IKEVersionsListValue": { "type": "structure", "members": { - "NetworkInsightsAccessScopeId": { - "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Network Access Scope.

", - "smithy.api#required": {} - } - }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Value": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "Value", + "smithy.api#documentation": "

The IKE version.

", + "smithy.api#xmlName": "value" } } + }, + "traits": { + "smithy.api#documentation": "

The internet key exchange (IKE) version permitted for the VPN tunnel.

" } }, - "com.amazonaws.ec2#GetNetworkInsightsAccessScopeContentResult": { + "com.amazonaws.ec2#IKEVersionsRequestList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IKEVersionsRequestListValue", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IKEVersionsRequestListValue": { "type": "structure", "members": { - "NetworkInsightsAccessScopeContent": { - "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeContent", + "Value": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeContent", - "smithy.api#documentation": "

The Network Access Scope content.

", - "smithy.api#xmlName": "networkInsightsAccessScopeContent" + "smithy.api#documentation": "

The IKE version.

" } } - } - }, - "com.amazonaws.ec2#GetPasswordData": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#GetPasswordDataRequest" - }, - "output": { - "target": "com.amazonaws.ec2#GetPasswordDataResult" }, "traits": { - "smithy.api#documentation": "

Retrieves the encrypted administrator password for a running Windows instance.

\n

The Windows password is generated at boot by the EC2Config service or\n EC2Launch scripts (Windows Server 2016 and later). This usually only\n happens the first time an instance is launched. For more information, see EC2Config and EC2Launch in the\n Amazon EC2 User Guide.

\n

For the EC2Config service, the password is not generated for rebundled\n AMIs unless Ec2SetPassword is enabled before bundling.

\n

The password is encrypted using the key pair that you specified when you launched the\n instance. You must provide the corresponding key pair file.

\n

When you launch an instance, password generation and encryption may take a few\n minutes. If you try to retrieve the password before it's available, the output returns\n an empty string. We recommend that you wait up to 15 minutes after launching an instance\n before trying to retrieve the generated password.

", - "smithy.waiters#waitable": { - "PasswordDataAvailable": { - "acceptors": [ - { - "state": "success", - "matcher": { - "output": { - "path": "length(PasswordData) > `0`", - "expected": "true", - "comparator": "booleanEquals" - } - } - } - ], - "minDelay": 15 - } - } + "smithy.api#documentation": "

The IKE version that is permitted for the VPN tunnel.

" } }, - "com.amazonaws.ec2#GetPasswordDataRequest": { + "com.amazonaws.ec2#IamInstanceProfile": { "type": "structure", "members": { - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", + "Arn": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Windows instance.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "Arn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the instance profile.

", + "smithy.api#xmlName": "arn" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Id": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "aws.protocols#ec2QueryName": "Id", + "smithy.api#documentation": "

The ID of the instance profile.

", + "smithy.api#xmlName": "id" } } + }, + "traits": { + "smithy.api#documentation": "

Describes an IAM instance profile.

" } }, - "com.amazonaws.ec2#GetPasswordDataResult": { + "com.amazonaws.ec2#IamInstanceProfileAssociation": { "type": "structure", "members": { + "AssociationId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AssociationId", + "smithy.api#documentation": "

The ID of the association.

", + "smithy.api#xmlName": "associationId" + } + }, "InstanceId": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#documentation": "

The ID of the Windows instance.

", + "smithy.api#documentation": "

The ID of the instance.

", "smithy.api#xmlName": "instanceId" } }, - "PasswordData": { - "target": "com.amazonaws.ec2#String", + "IamInstanceProfile": { + "target": "com.amazonaws.ec2#IamInstanceProfile", "traits": { - "aws.protocols#ec2QueryName": "PasswordData", - "smithy.api#documentation": "

The password of the instance. Returns an empty string if the password is not\n available.

", - "smithy.api#xmlName": "passwordData" + "aws.protocols#ec2QueryName": "IamInstanceProfile", + "smithy.api#documentation": "

The IAM instance profile.

", + "smithy.api#xmlName": "iamInstanceProfile" + } + }, + "State": { + "target": "com.amazonaws.ec2#IamInstanceProfileAssociationState", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the association.

", + "smithy.api#xmlName": "state" } }, "Timestamp": { "target": "com.amazonaws.ec2#DateTime", "traits": { "aws.protocols#ec2QueryName": "Timestamp", - "smithy.api#documentation": "

The time the data was last updated.

", + "smithy.api#documentation": "

The time the IAM instance profile was associated with the instance.

", "smithy.api#xmlName": "timestamp" } } - } - }, - "com.amazonaws.ec2#GetReservedInstancesExchangeQuote": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#GetReservedInstancesExchangeQuoteRequest" - }, - "output": { - "target": "com.amazonaws.ec2#GetReservedInstancesExchangeQuoteResult" }, "traits": { - "smithy.api#documentation": "

Returns a quote and exchange information for exchanging one or more specified\n Convertible Reserved Instances for a new Convertible Reserved Instance. If the exchange\n cannot be performed, the reason is returned in the response. Use AcceptReservedInstancesExchangeQuote to perform the exchange.

" + "smithy.api#documentation": "

Describes an association between an IAM instance profile and an instance.

" } }, - "com.amazonaws.ec2#GetReservedInstancesExchangeQuoteRequest": { - "type": "structure", + "com.amazonaws.ec2#IamInstanceProfileAssociationId": { + "type": "string" + }, + "com.amazonaws.ec2#IamInstanceProfileAssociationSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IamInstanceProfileAssociation", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IamInstanceProfileAssociationState": { + "type": "enum", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "ASSOCIATING": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#enumValue": "associating" } }, - "ReservedInstanceIds": { - "target": "com.amazonaws.ec2#ReservedInstanceIdSet", + "ASSOCIATED": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IDs of the Convertible Reserved Instances to exchange.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "ReservedInstanceId" + "smithy.api#enumValue": "associated" } }, - "TargetConfigurations": { - "target": "com.amazonaws.ec2#TargetConfigurationRequestSet", + "DISASSOCIATING": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The configuration of the target Convertible Reserved Instance to exchange for your\n current Convertible Reserved Instances.

", - "smithy.api#xmlName": "TargetConfiguration" + "smithy.api#enumValue": "disassociating" + } + }, + "DISASSOCIATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disassociated" } } - }, - "traits": { - "smithy.api#documentation": "

Contains the parameters for GetReservedInstanceExchangeQuote.

" } }, - "com.amazonaws.ec2#GetReservedInstancesExchangeQuoteResult": { + "com.amazonaws.ec2#IamInstanceProfileSpecification": { "type": "structure", "members": { - "CurrencyCode": { + "Arn": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CurrencyCode", - "smithy.api#documentation": "

The currency of the transaction.

", - "smithy.api#xmlName": "currencyCode" - } - }, - "IsValidExchange": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "IsValidExchange", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

If true, the exchange is valid. If false, the exchange cannot be completed.

", - "smithy.api#xmlName": "isValidExchange" - } - }, - "OutputReservedInstancesWillExpireAt": { - "target": "com.amazonaws.ec2#DateTime", - "traits": { - "aws.protocols#ec2QueryName": "OutputReservedInstancesWillExpireAt", - "smithy.api#documentation": "

The new end date of the reservation term.

", - "smithy.api#xmlName": "outputReservedInstancesWillExpireAt" + "aws.protocols#ec2QueryName": "Arn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the instance profile.

", + "smithy.api#xmlName": "arn" } }, - "PaymentDue": { + "Name": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PaymentDue", - "smithy.api#documentation": "

The total true upfront charge for the exchange.

", - "smithy.api#xmlName": "paymentDue" + "aws.protocols#ec2QueryName": "Name", + "smithy.api#documentation": "

The name of the instance profile.

", + "smithy.api#xmlName": "name" } - }, - "ReservedInstanceValueRollup": { - "target": "com.amazonaws.ec2#ReservationValue", + } + }, + "traits": { + "smithy.api#documentation": "

Describes an IAM instance profile.

" + } + }, + "com.amazonaws.ec2#IcmpTypeCode": { + "type": "structure", + "members": { + "Code": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "ReservedInstanceValueRollup", - "smithy.api#documentation": "

The cost associated with the Reserved Instance.

", - "smithy.api#xmlName": "reservedInstanceValueRollup" + "aws.protocols#ec2QueryName": "Code", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The ICMP code. A value of -1 means all codes for the specified ICMP type.

", + "smithy.api#xmlName": "code" } }, - "ReservedInstanceValueSet": { - "target": "com.amazonaws.ec2#ReservedInstanceReservationValueSet", + "Type": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "ReservedInstanceValueSet", - "smithy.api#documentation": "

The configuration of your Convertible Reserved Instances.

", - "smithy.api#xmlName": "reservedInstanceValueSet" + "aws.protocols#ec2QueryName": "Type", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The ICMP type. A value of -1 means all types.

", + "smithy.api#xmlName": "type" } - }, - "TargetConfigurationValueRollup": { - "target": "com.amazonaws.ec2#ReservationValue", + } + }, + "traits": { + "smithy.api#documentation": "

Describes the ICMP type and code.

" + } + }, + "com.amazonaws.ec2#IdFormat": { + "type": "structure", + "members": { + "Deadline": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "TargetConfigurationValueRollup", - "smithy.api#documentation": "

The cost associated with the Reserved Instance.

", - "smithy.api#xmlName": "targetConfigurationValueRollup" + "aws.protocols#ec2QueryName": "Deadline", + "smithy.api#documentation": "

The date in UTC at which you are permanently switched over to using longer IDs. If a deadline is not yet available for this resource type, this field is not returned.

", + "smithy.api#xmlName": "deadline" } }, - "TargetConfigurationValueSet": { - "target": "com.amazonaws.ec2#TargetReservationValueSet", + "Resource": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TargetConfigurationValueSet", - "smithy.api#documentation": "

The values of the target Convertible Reserved Instances.

", - "smithy.api#xmlName": "targetConfigurationValueSet" + "aws.protocols#ec2QueryName": "Resource", + "smithy.api#documentation": "

The type of resource.

", + "smithy.api#xmlName": "resource" } }, - "ValidationFailureReason": { - "target": "com.amazonaws.ec2#String", + "UseLongIds": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "ValidationFailureReason", - "smithy.api#documentation": "

Describes the reason why the exchange cannot be completed.

", - "smithy.api#xmlName": "validationFailureReason" + "aws.protocols#ec2QueryName": "UseLongIds", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether longer IDs (17-character IDs) are enabled for the resource.

", + "smithy.api#xmlName": "useLongIds" } } }, "traits": { - "smithy.api#documentation": "

Contains the output of GetReservedInstancesExchangeQuote.

" + "smithy.api#documentation": "

Describes the ID format for a resource.

" } }, - "com.amazonaws.ec2#GetSerialConsoleAccessStatus": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#GetSerialConsoleAccessStatusRequest" - }, - "output": { - "target": "com.amazonaws.ec2#GetSerialConsoleAccessStatusResult" - }, - "traits": { - "smithy.api#documentation": "

Retrieves the access status of your account to the EC2 serial console of all instances. By\n\t\t\tdefault, access to the EC2 serial console is disabled for your account. For more\n\t\t\tinformation, see Manage account access to the EC2 serial console in the Amazon EC2\n\t\t\t\tUser Guide.

" + "com.amazonaws.ec2#IdFormatList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IdFormat", + "traits": { + "smithy.api#xmlName": "item" + } } }, - "com.amazonaws.ec2#GetSerialConsoleAccessStatusRequest": { - "type": "structure", + "com.amazonaws.ec2#Igmpv2SupportValue": { + "type": "enum", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "enable": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "smithy.api#enumValue": "enable" } - } - } - }, - "com.amazonaws.ec2#GetSerialConsoleAccessStatusResult": { - "type": "structure", - "members": { - "SerialConsoleAccessEnabled": { - "target": "com.amazonaws.ec2#Boolean", + }, + "disable": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SerialConsoleAccessEnabled", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

If true, access to the EC2 serial console of all instances is enabled for\n\t\t\tyour account. If false, access to the EC2 serial console of all instances\n\t\t\tis disabled for your account.

", - "smithy.api#xmlName": "serialConsoleAccessEnabled" + "smithy.api#enumValue": "disable" } } } }, - "com.amazonaws.ec2#GetSpotPlacementScores": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#GetSpotPlacementScoresRequest" - }, - "output": { - "target": "com.amazonaws.ec2#GetSpotPlacementScoresResult" - }, - "traits": { - "smithy.api#documentation": "

Calculates the Spot placement score for a Region or Availability Zone based on the\n specified target capacity and compute requirements.

\n

You can specify your compute requirements either by using\n InstanceRequirementsWithMetadata and letting Amazon EC2 choose the optimal\n instance types to fulfill your Spot request, or you can specify the instance types by using\n InstanceTypes.

\n

For more information, see Spot placement score in\n the Amazon EC2 User Guide.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "SpotPlacementScores", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.ec2#GetSpotPlacementScoresRequest": { + "com.amazonaws.ec2#Image": { "type": "structure", "members": { - "InstanceTypes": { - "target": "com.amazonaws.ec2#InstanceTypes", + "Architecture": { + "target": "com.amazonaws.ec2#ArchitectureValues", "traits": { - "smithy.api#documentation": "

The instance types. We recommend that you specify at least three instance types. If you\n specify one or two instance types, or specify variations of a single instance type (for\n example, an m3.xlarge with and without instance storage), the returned\n placement score will always be low.

\n

If you specify InstanceTypes, you can't specify\n InstanceRequirementsWithMetadata.

", - "smithy.api#xmlName": "InstanceType" + "aws.protocols#ec2QueryName": "Architecture", + "smithy.api#documentation": "

The architecture of the image.

", + "smithy.api#xmlName": "architecture" } }, - "TargetCapacity": { - "target": "com.amazonaws.ec2#SpotPlacementScoresTargetCapacity", + "CreationDate": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The target capacity.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "CreationDate", + "smithy.api#documentation": "

The date and time the image was created.

", + "smithy.api#xmlName": "creationDate" } }, - "TargetCapacityUnitType": { - "target": "com.amazonaws.ec2#TargetCapacityUnitType", + "ImageId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The unit for the target capacity.

\n

Default: units (translates to number of instances)

" + "aws.protocols#ec2QueryName": "ImageId", + "smithy.api#documentation": "

The ID of the AMI.

", + "smithy.api#xmlName": "imageId" } }, - "SingleAvailabilityZone": { + "ImageLocation": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ImageLocation", + "smithy.api#documentation": "

The location of the AMI.

", + "smithy.api#xmlName": "imageLocation" + } + }, + "ImageType": { + "target": "com.amazonaws.ec2#ImageTypeValues", + "traits": { + "aws.protocols#ec2QueryName": "ImageType", + "smithy.api#documentation": "

The type of image.

", + "smithy.api#xmlName": "imageType" + } + }, + "Public": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "IsPublic", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Specify true so that the response returns a list of scored Availability Zones.\n Otherwise, the response returns a list of scored Regions.

\n

A list of scored Availability Zones is useful if you want to launch all of your Spot\n capacity into a single Availability Zone.

" + "smithy.api#documentation": "

Indicates whether the image has public launch permissions. The value is true if\n\t\t\t\tthis image has public launch permissions or false\n\t\t\t\tif it has only implicit and explicit launch permissions.

", + "smithy.api#xmlName": "isPublic" } }, - "RegionNames": { - "target": "com.amazonaws.ec2#RegionNames", + "KernelId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The Regions used to narrow down the list of Regions to be scored. Enter the Region code,\n for example, us-east-1.

", - "smithy.api#xmlName": "RegionName" + "aws.protocols#ec2QueryName": "KernelId", + "smithy.api#documentation": "

The kernel associated with the image, if any. Only applicable for machine images.

", + "smithy.api#xmlName": "kernelId" } }, - "InstanceRequirementsWithMetadata": { - "target": "com.amazonaws.ec2#InstanceRequirementsWithMetadataRequest", + "OwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with those attributes.

\n

If you specify InstanceRequirementsWithMetadata, you can't specify\n InstanceTypes.

" + "aws.protocols#ec2QueryName": "ImageOwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the image.

", + "smithy.api#xmlName": "imageOwnerId" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Platform": { + "target": "com.amazonaws.ec2#PlatformValues", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "Platform", + "smithy.api#documentation": "

This value is set to windows for Windows AMIs; otherwise, it is blank.

", + "smithy.api#xmlName": "platform" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#SpotPlacementScoresMaxResults", + "PlatformDetails": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return in a single call. Specify a value between 1 and\u2028 \n 1000. The default value is 1000. To retrieve the remaining results, make another call with\u2028 \n the returned NextToken value.

" + "aws.protocols#ec2QueryName": "PlatformDetails", + "smithy.api#documentation": "

The platform details associated with the billing code of the AMI. For more information,\n see Understand\n AMI billing information in the Amazon EC2 User Guide.

", + "smithy.api#xmlName": "platformDetails" } }, - "NextToken": { + "UsageOperation": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The token for the next set of results.

" + "aws.protocols#ec2QueryName": "UsageOperation", + "smithy.api#documentation": "

The operation of the Amazon EC2 instance and the billing code that is associated with the AMI.\n usageOperation corresponds to the lineitem/Operation column on your Amazon Web Services Cost and Usage Report and in the Amazon Web Services Price\n \tList API. You can view these fields on the Instances or \n \tAMIs pages in the Amazon EC2 console, or in the responses that are \n \treturned by the DescribeImages \n \tcommand in the Amazon EC2 API, or the describe-images \n \tcommand in the CLI.

", + "smithy.api#xmlName": "usageOperation" } - } - } - }, - "com.amazonaws.ec2#GetSpotPlacementScoresResult": { - "type": "structure", - "members": { - "SpotPlacementScores": { - "target": "com.amazonaws.ec2#SpotPlacementScores", + }, + "ProductCodes": { + "target": "com.amazonaws.ec2#ProductCodeList", "traits": { - "aws.protocols#ec2QueryName": "SpotPlacementScoreSet", - "smithy.api#documentation": "

The Spot placement score for the top 10 Regions or Availability Zones, scored on a scale\n from 1 to 10. Each score\u2028 reflects how likely it is that each Region or Availability Zone\n will succeed at fulfilling the specified target capacity\u2028 at the time of the Spot\n placement score request. A score of 10 means that your Spot\n capacity request is highly likely to succeed in that Region or Availability Zone.

\n

If you request a Spot placement score for Regions, a high score assumes that your fleet\n request will be configured to use all Availability Zones and the\n capacity-optimized allocation strategy. If you request a Spot placement\n score for Availability Zones, a high score assumes that your fleet request will be\n configured to use a single Availability Zone and the capacity-optimized\n allocation strategy.

\n

Different\u2028 Regions or Availability Zones might return the same score.

\n \n

The Spot placement score serves as a recommendation only. No score guarantees that your\n Spot request will be fully or partially fulfilled.

\n
", - "smithy.api#xmlName": "spotPlacementScoreSet" + "aws.protocols#ec2QueryName": "ProductCodes", + "smithy.api#documentation": "

Any product codes associated with the AMI.

", + "smithy.api#xmlName": "productCodes" } }, - "NextToken": { + "RamdiskId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token for the next set of results.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "RamdiskId", + "smithy.api#documentation": "

The RAM disk associated with the image, if any. Only applicable for machine images.

", + "smithy.api#xmlName": "ramdiskId" } - } - } - }, - "com.amazonaws.ec2#GetSubnetCidrReservations": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#GetSubnetCidrReservationsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#GetSubnetCidrReservationsResult" - }, - "traits": { - "smithy.api#documentation": "

Gets information about the subnet CIDR reservations.

" - } - }, - "com.amazonaws.ec2#GetSubnetCidrReservationsMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 1000 - } - } - }, - "com.amazonaws.ec2#GetSubnetCidrReservationsRequest": { - "type": "structure", - "members": { - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + }, + "State": { + "target": "com.amazonaws.ec2#ImageState", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n reservationType - The type of reservation (prefix |\n explicit).

    \n
  • \n
  • \n

    \n subnet-id - The ID of the subnet.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "aws.protocols#ec2QueryName": "ImageState", + "smithy.api#documentation": "

The current state of the AMI. If the state is available, the image is successfully registered and can be used to launch an instance.

", + "smithy.api#xmlName": "imageState" } }, - "SubnetId": { - "target": "com.amazonaws.ec2#SubnetId", + "BlockDeviceMappings": { + "target": "com.amazonaws.ec2#BlockDeviceMappingList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the subnet.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "BlockDeviceMapping", + "smithy.api#documentation": "

Any block device mapping entries.

", + "smithy.api#xmlName": "blockDeviceMapping" } }, - "DryRun": { + "Description": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

The description of the AMI that was provided during image creation.

", + "smithy.api#xmlName": "description" + } + }, + "EnaSupport": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "EnaSupport", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Specifies whether enhanced networking with ENA is enabled.

", + "smithy.api#xmlName": "enaSupport" } }, - "NextToken": { + "Hypervisor": { + "target": "com.amazonaws.ec2#HypervisorType", + "traits": { + "aws.protocols#ec2QueryName": "Hypervisor", + "smithy.api#documentation": "

The hypervisor type of the image.

", + "smithy.api#xmlName": "hypervisor" + } + }, + "ImageOwnerAlias": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "aws.protocols#ec2QueryName": "ImageOwnerAlias", + "smithy.api#documentation": "

The Amazon Web Services account alias (for example, amazon, self) or\n the Amazon Web Services account ID of the AMI owner.

", + "smithy.api#xmlName": "imageOwnerAlias" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#GetSubnetCidrReservationsMaxResults", + "Name": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "aws.protocols#ec2QueryName": "Name", + "smithy.api#documentation": "

The name of the AMI that was provided during image creation.

", + "smithy.api#xmlName": "name" } - } - } - }, - "com.amazonaws.ec2#GetSubnetCidrReservationsResult": { - "type": "structure", - "members": { - "SubnetIpv4CidrReservations": { - "target": "com.amazonaws.ec2#SubnetCidrReservationList", + }, + "RootDeviceName": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SubnetIpv4CidrReservationSet", - "smithy.api#documentation": "

Information about the IPv4 subnet CIDR reservations.

", - "smithy.api#xmlName": "subnetIpv4CidrReservationSet" + "aws.protocols#ec2QueryName": "RootDeviceName", + "smithy.api#documentation": "

The device name of the root device volume (for example, /dev/sda1).

", + "smithy.api#xmlName": "rootDeviceName" } }, - "SubnetIpv6CidrReservations": { - "target": "com.amazonaws.ec2#SubnetCidrReservationList", + "RootDeviceType": { + "target": "com.amazonaws.ec2#DeviceType", "traits": { - "aws.protocols#ec2QueryName": "SubnetIpv6CidrReservationSet", - "smithy.api#documentation": "

Information about the IPv6 subnet CIDR reservations.

", - "smithy.api#xmlName": "subnetIpv6CidrReservationSet" + "aws.protocols#ec2QueryName": "RootDeviceType", + "smithy.api#documentation": "

The type of root device used by the AMI. The AMI can use an Amazon EBS volume or an instance store volume.

", + "smithy.api#xmlName": "rootDeviceType" } }, - "NextToken": { + "SriovNetSupport": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "SriovNetSupport", + "smithy.api#documentation": "

Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

", + "smithy.api#xmlName": "sriovNetSupport" } - } - } - }, - "com.amazonaws.ec2#GetTransitGatewayAttachmentPropagations": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#GetTransitGatewayAttachmentPropagationsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#GetTransitGatewayAttachmentPropagationsResult" - }, - "traits": { - "smithy.api#documentation": "

Lists the route tables to which the specified resource attachment propagates routes.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "TransitGatewayAttachmentPropagations", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.ec2#GetTransitGatewayAttachmentPropagationsRequest": { - "type": "structure", - "members": { - "TransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", + }, + "StateReason": { + "target": "com.amazonaws.ec2#StateReason", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the attachment.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "StateReason", + "smithy.api#documentation": "

The reason for the state change.

", + "smithy.api#xmlName": "stateReason" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n transit-gateway-route-table-id - The ID of the transit gateway route table.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Any tags assigned to the image.

", + "smithy.api#xmlName": "tagSet" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#TransitGatewayMaxResults", + "VirtualizationType": { + "target": "com.amazonaws.ec2#VirtualizationType", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "aws.protocols#ec2QueryName": "VirtualizationType", + "smithy.api#documentation": "

The type of virtualization of the AMI.

", + "smithy.api#xmlName": "virtualizationType" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "BootMode": { + "target": "com.amazonaws.ec2#BootModeValues", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "aws.protocols#ec2QueryName": "BootMode", + "smithy.api#documentation": "

The boot mode of the image. For more information, see Boot modes in the\n Amazon EC2 User Guide.

", + "smithy.api#xmlName": "bootMode" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "TpmSupport": { + "target": "com.amazonaws.ec2#TpmSupportValues", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "TpmSupport", + "smithy.api#documentation": "

If the image is configured for NitroTPM support, the value is v2.0. \n For more information, see NitroTPM in the\n Amazon EC2 User Guide.

", + "smithy.api#xmlName": "tpmSupport" } - } - } - }, - "com.amazonaws.ec2#GetTransitGatewayAttachmentPropagationsResult": { - "type": "structure", - "members": { - "TransitGatewayAttachmentPropagations": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentPropagationList", + }, + "DeprecationTime": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayAttachmentPropagations", - "smithy.api#documentation": "

Information about the propagation route tables.

", - "smithy.api#xmlName": "transitGatewayAttachmentPropagations" + "aws.protocols#ec2QueryName": "DeprecationTime", + "smithy.api#documentation": "

The date and time to deprecate the AMI, in UTC, in the following format: \n YYYY-MM-DDTHH:MM:SSZ.\n If you specified a value for seconds, Amazon EC2 rounds the seconds to the\n nearest minute.

", + "smithy.api#xmlName": "deprecationTime" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "ImdsSupport": { + "target": "com.amazonaws.ec2#ImdsSupportValues", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "ImdsSupport", + "smithy.api#documentation": "

If v2.0, it indicates that IMDSv2 is specified in the AMI. Instances launched\n from this AMI will have HttpTokens automatically set to required so\n that, by default, the instance requires that IMDSv2 is used when requesting instance metadata.\n In addition, HttpPutResponseHopLimit is set to 2. For more\n information, see Configure\n the AMI in the Amazon EC2 User Guide.

", + "smithy.api#xmlName": "imdsSupport" } } - } - }, - "com.amazonaws.ec2#GetTransitGatewayMulticastDomainAssociations": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#GetTransitGatewayMulticastDomainAssociationsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#GetTransitGatewayMulticastDomainAssociationsResult" }, "traits": { - "smithy.api#documentation": "

Gets information about the associations for the transit gateway multicast domain.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "MulticastDomainAssociations", - "pageSize": "MaxResults" - } + "smithy.api#documentation": "

Describes an image.

" } }, - "com.amazonaws.ec2#GetTransitGatewayMulticastDomainAssociationsRequest": { + "com.amazonaws.ec2#ImageAttribute": { "type": "structure", "members": { - "TransitGatewayMulticastDomainId": { - "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainId", + "BlockDeviceMappings": { + "target": "com.amazonaws.ec2#BlockDeviceMappingList", "traits": { - "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

" + "aws.protocols#ec2QueryName": "BlockDeviceMapping", + "smithy.api#documentation": "

The block device mapping entries.

", + "smithy.api#xmlName": "blockDeviceMapping" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "ImageId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n resource-id - The ID of the resource.

    \n
  • \n
  • \n

    \n resource-type - The type of resource. The valid value is: vpc.

    \n
  • \n
  • \n

    \n state - The state of the subnet association. Valid values are\n associated | associating |\n disassociated | disassociating.

    \n
  • \n
  • \n

    \n subnet-id - The ID of the subnet.

    \n
  • \n
  • \n

    \n transit-gateway-attachment-id - The id of the transit gateway attachment.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "aws.protocols#ec2QueryName": "ImageId", + "smithy.api#documentation": "

The ID of the AMI.

", + "smithy.api#xmlName": "imageId" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#TransitGatewayMaxResults", + "LaunchPermissions": { + "target": "com.amazonaws.ec2#LaunchPermissionList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "aws.protocols#ec2QueryName": "LaunchPermission", + "smithy.api#documentation": "

The launch permissions.

", + "smithy.api#xmlName": "launchPermission" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "ProductCodes": { + "target": "com.amazonaws.ec2#ProductCodeList", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "aws.protocols#ec2QueryName": "ProductCodes", + "smithy.api#documentation": "

The product codes.

", + "smithy.api#xmlName": "productCodes" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - } - } - }, - "com.amazonaws.ec2#GetTransitGatewayMulticastDomainAssociationsResult": { - "type": "structure", - "members": { - "MulticastDomainAssociations": { - "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainAssociationList", + "Description": { + "target": "com.amazonaws.ec2#AttributeValue", "traits": { - "aws.protocols#ec2QueryName": "MulticastDomainAssociations", - "smithy.api#documentation": "

Information about the multicast domain associations.

", - "smithy.api#xmlName": "multicastDomainAssociations" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A description for the AMI.

", + "smithy.api#xmlName": "description" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "KernelId": { + "target": "com.amazonaws.ec2#AttributeValue", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" - } - } - } - }, - "com.amazonaws.ec2#GetTransitGatewayPolicyTableAssociations": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#GetTransitGatewayPolicyTableAssociationsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#GetTransitGatewayPolicyTableAssociationsResult" - }, - "traits": { - "smithy.api#documentation": "

Gets a list of the transit gateway policy table associations.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "Associations", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.ec2#GetTransitGatewayPolicyTableAssociationsRequest": { - "type": "structure", - "members": { - "TransitGatewayPolicyTableId": { - "target": "com.amazonaws.ec2#TransitGatewayPolicyTableId", + "aws.protocols#ec2QueryName": "Kernel", + "smithy.api#documentation": "

The kernel ID.

", + "smithy.api#xmlName": "kernel" + } + }, + "RamdiskId": { + "target": "com.amazonaws.ec2#AttributeValue", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the transit gateway policy table.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "Ramdisk", + "smithy.api#documentation": "

The RAM disk ID.

", + "smithy.api#xmlName": "ramdisk" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "SriovNetSupport": { + "target": "com.amazonaws.ec2#AttributeValue", "traits": { - "smithy.api#documentation": "

The filters associated with the transit gateway policy table.

", - "smithy.api#xmlName": "Filter" + "aws.protocols#ec2QueryName": "SriovNetSupport", + "smithy.api#documentation": "

Indicates whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

", + "smithy.api#xmlName": "sriovNetSupport" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#TransitGatewayMaxResults", + "BootMode": { + "target": "com.amazonaws.ec2#AttributeValue", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "aws.protocols#ec2QueryName": "BootMode", + "smithy.api#documentation": "

The boot mode.

", + "smithy.api#xmlName": "bootMode" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "TpmSupport": { + "target": "com.amazonaws.ec2#AttributeValue", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "aws.protocols#ec2QueryName": "TpmSupport", + "smithy.api#documentation": "

If the image is configured for NitroTPM support, the value is v2.0.

", + "smithy.api#xmlName": "tpmSupport" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "UefiData": { + "target": "com.amazonaws.ec2#AttributeValue", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "UefiData", + "smithy.api#documentation": "

Base64 representation of the non-volatile UEFI variable store. To retrieve the UEFI data,\n use the GetInstanceUefiData command. You can inspect and modify the UEFI data by using the\n python-uefivars tool on\n GitHub. For more information, see UEFI Secure Boot in the\n Amazon EC2 User Guide.

", + "smithy.api#xmlName": "uefiData" } - } - } - }, - "com.amazonaws.ec2#GetTransitGatewayPolicyTableAssociationsResult": { - "type": "structure", - "members": { - "Associations": { - "target": "com.amazonaws.ec2#TransitGatewayPolicyTableAssociationList", + }, + "LastLaunchedTime": { + "target": "com.amazonaws.ec2#AttributeValue", "traits": { - "aws.protocols#ec2QueryName": "Associations", - "smithy.api#documentation": "

Returns details about the transit gateway policy table association.

", - "smithy.api#xmlName": "associations" + "aws.protocols#ec2QueryName": "LastLaunchedTime", + "smithy.api#documentation": "

The date and time, in ISO 8601 date-time\n format, when the AMI was last used to launch an EC2 instance. When the AMI is used\n to launch an instance, there is a 24-hour delay before that usage is reported.

\n \n

\n lastLaunchedTime data is available starting April 2017.

\n
", + "smithy.api#xmlName": "lastLaunchedTime" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "ImdsSupport": { + "target": "com.amazonaws.ec2#AttributeValue", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token for the next page of results.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "ImdsSupport", + "smithy.api#documentation": "

If v2.0, it indicates that IMDSv2 is specified in the AMI. Instances launched\n from this AMI will have HttpTokens automatically set to required so\n that, by default, the instance requires that IMDSv2 is used when requesting instance metadata.\n In addition, HttpPutResponseHopLimit is set to 2. For more\n information, see Configure\n the AMI in the Amazon EC2 User Guide.

", + "smithy.api#xmlName": "imdsSupport" } } - } - }, - "com.amazonaws.ec2#GetTransitGatewayPolicyTableEntries": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#GetTransitGatewayPolicyTableEntriesRequest" - }, - "output": { - "target": "com.amazonaws.ec2#GetTransitGatewayPolicyTableEntriesResult" }, "traits": { - "smithy.api#documentation": "

Returns a list of transit gateway policy table entries.

" + "smithy.api#documentation": "

Describes an image attribute.

" } }, - "com.amazonaws.ec2#GetTransitGatewayPolicyTableEntriesRequest": { - "type": "structure", + "com.amazonaws.ec2#ImageAttributeName": { + "type": "enum", "members": { - "TransitGatewayPolicyTableId": { - "target": "com.amazonaws.ec2#TransitGatewayPolicyTableId", + "description": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the transit gateway policy table.

", - "smithy.api#required": {} + "smithy.api#enumValue": "description" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "kernel": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The filters associated with the transit gateway policy table.

", - "smithy.api#xmlName": "Filter" + "smithy.api#enumValue": "kernel" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#TransitGatewayMaxResults", + "ramdisk": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#enumValue": "ramdisk" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "launchPermission": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "smithy.api#enumValue": "launchPermission" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "productCodes": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#enumValue": "productCodes" } - } - } - }, - "com.amazonaws.ec2#GetTransitGatewayPolicyTableEntriesResult": { - "type": "structure", - "members": { - "TransitGatewayPolicyTableEntries": { - "target": "com.amazonaws.ec2#TransitGatewayPolicyTableEntryList", + }, + "blockDeviceMapping": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayPolicyTableEntries", - "smithy.api#documentation": "

The entries for the transit gateway policy table.

", - "smithy.api#xmlName": "transitGatewayPolicyTableEntries" + "smithy.api#enumValue": "blockDeviceMapping" } - } - } - }, - "com.amazonaws.ec2#GetTransitGatewayPrefixListReferences": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#GetTransitGatewayPrefixListReferencesRequest" - }, - "output": { - "target": "com.amazonaws.ec2#GetTransitGatewayPrefixListReferencesResult" - }, - "traits": { - "smithy.api#documentation": "

Gets information about the prefix list references in a specified transit gateway route table.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "TransitGatewayPrefixListReferences", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.ec2#GetTransitGatewayPrefixListReferencesRequest": { - "type": "structure", - "members": { - "TransitGatewayRouteTableId": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", + }, + "sriovNetSupport": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the transit gateway route table.

", - "smithy.api#required": {} + "smithy.api#enumValue": "sriovNetSupport" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "bootMode": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n attachment.resource-id - The ID of the resource for the attachment.

    \n
  • \n
  • \n

    \n attachment.resource-type - The type of resource for the\n attachment. Valid values are vpc | vpn |\n direct-connect-gateway | peering.

    \n
  • \n
  • \n

    \n attachment.transit-gateway-attachment-id - The ID of the attachment.

    \n
  • \n
  • \n

    \n is-blackhole - Whether traffic matching the route is blocked (true | false).

    \n
  • \n
  • \n

    \n prefix-list-id - The ID of the prefix list.

    \n
  • \n
  • \n

    \n prefix-list-owner-id - The ID of the owner of the prefix list.

    \n
  • \n
  • \n

    \n state - The state of the prefix list reference (pending | available | modifying | deleting).

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "smithy.api#enumValue": "bootMode" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#TransitGatewayMaxResults", + "tpmSupport": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#enumValue": "tpmSupport" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "uefiData": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "smithy.api#enumValue": "uefiData" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "lastLaunchedTime": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#enumValue": "lastLaunchedTime" + } + }, + "imdsSupport": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "imdsSupport" } } } }, - "com.amazonaws.ec2#GetTransitGatewayPrefixListReferencesResult": { + "com.amazonaws.ec2#ImageDiskContainer": { "type": "structure", "members": { - "TransitGatewayPrefixListReferences": { - "target": "com.amazonaws.ec2#TransitGatewayPrefixListReferenceSet", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayPrefixListReferenceSet", - "smithy.api#documentation": "

Information about the prefix list references.

", - "smithy.api#xmlName": "transitGatewayPrefixListReferenceSet" + "smithy.api#documentation": "

The description of the disk image.

" } }, - "NextToken": { + "DeviceName": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" - } - } - } - }, - "com.amazonaws.ec2#GetTransitGatewayRouteTableAssociations": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#GetTransitGatewayRouteTableAssociationsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#GetTransitGatewayRouteTableAssociationsResult" - }, - "traits": { - "smithy.api#documentation": "

Gets information about the associations for the specified transit gateway route table.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "Associations", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.ec2#GetTransitGatewayRouteTableAssociationsRequest": { - "type": "structure", - "members": { - "TransitGatewayRouteTableId": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the transit gateway route table.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The block device mapping for the disk.

" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "Format": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n resource-id - The ID of the resource.

    \n
  • \n
  • \n

    \n resource-type - The resource type. Valid values are vpc\n | vpn | direct-connect-gateway | peering\n | connect.

    \n
  • \n
  • \n

    \n transit-gateway-attachment-id - The ID of the attachment.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "smithy.api#documentation": "

The format of the disk image being imported.

\n

Valid values: OVA | VHD | VHDX | VMDK | RAW\n

" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#TransitGatewayMaxResults", + "SnapshotId": { + "target": "com.amazonaws.ec2#SnapshotId", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#documentation": "

The ID of the EBS snapshot to be used for importing the snapshot.

" } }, - "NextToken": { + "Url": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "smithy.api#documentation": "

The URL to the Amazon S3-based disk image being imported. The URL can either be a https URL (https://..) or an\n Amazon S3 URL (s3://..)

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "UserBucket": { + "target": "com.amazonaws.ec2#UserBucket", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The S3 bucket for the disk image.

" } } + }, + "traits": { + "smithy.api#documentation": "

Describes the disk container object for an import image task.

" } }, - "com.amazonaws.ec2#GetTransitGatewayRouteTableAssociationsResult": { - "type": "structure", - "members": { - "Associations": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableAssociationList", - "traits": { - "aws.protocols#ec2QueryName": "Associations", - "smithy.api#documentation": "

Information about the associations.

", - "smithy.api#xmlName": "associations" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" - } + "com.amazonaws.ec2#ImageDiskContainerList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ImageDiskContainer", + "traits": { + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#GetTransitGatewayRouteTablePropagations": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#GetTransitGatewayRouteTablePropagationsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#GetTransitGatewayRouteTablePropagationsResult" - }, - "traits": { - "smithy.api#documentation": "

Gets information about the route table propagations for the specified transit gateway route table.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "TransitGatewayRouteTablePropagations", - "pageSize": "MaxResults" + "com.amazonaws.ec2#ImageId": { + "type": "string" + }, + "com.amazonaws.ec2#ImageIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ImageId", + "traits": { + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#GetTransitGatewayRouteTablePropagationsRequest": { + "com.amazonaws.ec2#ImageIdStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ImageId", + "traits": { + "smithy.api#xmlName": "ImageId" + } + } + }, + "com.amazonaws.ec2#ImageList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Image", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ImageRecycleBinInfo": { "type": "structure", "members": { - "TransitGatewayRouteTableId": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the transit gateway route table.

", - "smithy.api#required": {} - } - }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "ImageId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n resource-id - The ID of the resource.

    \n
  • \n
  • \n

    \n resource-type - The resource type. Valid values are vpc\n | vpn | direct-connect-gateway | peering\n | connect.

    \n
  • \n
  • \n

    \n transit-gateway-attachment-id - The ID of the attachment.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "aws.protocols#ec2QueryName": "ImageId", + "smithy.api#documentation": "

The ID of the AMI.

", + "smithy.api#xmlName": "imageId" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#TransitGatewayMaxResults", + "Name": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "aws.protocols#ec2QueryName": "Name", + "smithy.api#documentation": "

The name of the AMI.

", + "smithy.api#xmlName": "name" } }, - "NextToken": { + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

The description of the AMI.

", + "smithy.api#xmlName": "description" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - } - } - }, - "com.amazonaws.ec2#GetTransitGatewayRouteTablePropagationsResult": { - "type": "structure", - "members": { - "TransitGatewayRouteTablePropagations": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTablePropagationList", + "RecycleBinEnterTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayRouteTablePropagations", - "smithy.api#documentation": "

Information about the route table propagations.

", - "smithy.api#xmlName": "transitGatewayRouteTablePropagations" + "aws.protocols#ec2QueryName": "RecycleBinEnterTime", + "smithy.api#documentation": "

The date and time when the AMI entered the Recycle Bin.

", + "smithy.api#xmlName": "recycleBinEnterTime" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "RecycleBinExitTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "RecycleBinExitTime", + "smithy.api#documentation": "

The date and time when the AMI is to be permanently deleted from the Recycle Bin.

", + "smithy.api#xmlName": "recycleBinExitTime" } } - } - }, - "com.amazonaws.ec2#GetVpnConnectionDeviceSampleConfiguration": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#GetVpnConnectionDeviceSampleConfigurationRequest" - }, - "output": { - "target": "com.amazonaws.ec2#GetVpnConnectionDeviceSampleConfigurationResult" }, "traits": { - "smithy.api#documentation": "

Download an Amazon Web Services-provided sample configuration file to be used with the customer\n gateway device specified for your Site-to-Site VPN connection.

" + "smithy.api#documentation": "

Information about an AMI that is currently in the Recycle Bin.

" } }, - "com.amazonaws.ec2#GetVpnConnectionDeviceSampleConfigurationRequest": { - "type": "structure", + "com.amazonaws.ec2#ImageRecycleBinInfoList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ImageRecycleBinInfo", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ImageState": { + "type": "enum", "members": { - "VpnConnectionId": { - "target": "com.amazonaws.ec2#VpnConnectionId", + "pending": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The VpnConnectionId specifies the Site-to-Site VPN connection used for the sample\n configuration.

", - "smithy.api#required": {} + "smithy.api#enumValue": "pending" } }, - "VpnConnectionDeviceTypeId": { - "target": "com.amazonaws.ec2#VpnConnectionDeviceTypeId", + "available": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

Device identifier provided by the GetVpnConnectionDeviceTypes API.

", - "smithy.api#required": {} + "smithy.api#enumValue": "available" } }, - "InternetKeyExchangeVersion": { - "target": "com.amazonaws.ec2#String", + "invalid": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The IKE version to be used in the sample configuration file for your customer gateway\n device. You can specify one of the following versions: ikev1 or\n ikev2.

" + "smithy.api#enumValue": "invalid" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "deregistered": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" + "smithy.api#enumValue": "deregistered" } - } - } - }, - "com.amazonaws.ec2#GetVpnConnectionDeviceSampleConfigurationResult": { - "type": "structure", - "members": { - "VpnConnectionDeviceSampleConfiguration": { - "target": "com.amazonaws.ec2#VpnConnectionDeviceSampleConfiguration", + }, + "transient": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "VpnConnectionDeviceSampleConfiguration", - "smithy.api#documentation": "

Sample configuration file for the specified customer gateway device.

", - "smithy.api#xmlName": "vpnConnectionDeviceSampleConfiguration" + "smithy.api#enumValue": "transient" + } + }, + "failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "failed" + } + }, + "error": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "error" } } } }, - "com.amazonaws.ec2#GetVpnConnectionDeviceTypes": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#GetVpnConnectionDeviceTypesRequest" - }, - "output": { - "target": "com.amazonaws.ec2#GetVpnConnectionDeviceTypesResult" - }, - "traits": { - "smithy.api#documentation": "

Obtain a list of customer gateway devices for which sample configuration\n files can be provided. The request has no additional parameters. You can also see the\n list of device types with sample configuration files available under Your customer gateway\n device in the Amazon Web Services Site-to-Site VPN User Guide.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "VpnConnectionDeviceTypes", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.ec2#GetVpnConnectionDeviceTypesRequest": { - "type": "structure", + "com.amazonaws.ec2#ImageTypeValues": { + "type": "enum", "members": { - "MaxResults": { - "target": "com.amazonaws.ec2#GVCDMaxResults", + "machine": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The maximum number of results returned by GetVpnConnectionDeviceTypes in\n paginated output. When this parameter is used, GetVpnConnectionDeviceTypes\n only returns MaxResults results in a single page along with a\n NextToken response element. The remaining results of the initial\n request can be seen by sending another GetVpnConnectionDeviceTypes request\n with the returned NextToken value. This value can be between 200 and 1000.\n If this parameter is not used, then GetVpnConnectionDeviceTypes returns all\n results.

" + "smithy.api#enumValue": "machine" } }, - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "kernel": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The NextToken value returned from a previous paginated\n GetVpnConnectionDeviceTypes request where MaxResults was\n used and the results exceeded the value of that parameter. Pagination continues from the\n end of the previous results that returned the NextToken value. This value\n is null when there are no more results to return.

" + "smithy.api#enumValue": "kernel" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "ramdisk": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" + "smithy.api#enumValue": "ramdisk" } } } }, - "com.amazonaws.ec2#GetVpnConnectionDeviceTypesResult": { - "type": "structure", + "com.amazonaws.ec2#ImdsSupportValues": { + "type": "enum", "members": { - "VpnConnectionDeviceTypes": { - "target": "com.amazonaws.ec2#VpnConnectionDeviceTypeList", - "traits": { - "aws.protocols#ec2QueryName": "VpnConnectionDeviceTypeSet", - "smithy.api#documentation": "

List of customer gateway devices that have a sample configuration file available for\n use.

", - "smithy.api#xmlName": "vpnConnectionDeviceTypeSet" - } - }, - "NextToken": { - "target": "com.amazonaws.ec2#NextToken", + "v2_0": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The NextToken value to include in a future\n GetVpnConnectionDeviceTypes request. When the results of a\n GetVpnConnectionDeviceTypes request exceed MaxResults,\n this value can be used to retrieve the next page of results. This value is null when\n there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "smithy.api#enumValue": "v2.0" } } } }, - "com.amazonaws.ec2#GpuDeviceCount": { - "type": "integer" + "com.amazonaws.ec2#ImportClientVpnClientCertificateRevocationList": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ImportClientVpnClientCertificateRevocationListRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ImportClientVpnClientCertificateRevocationListResult" + }, + "traits": { + "smithy.api#documentation": "

Uploads a client certificate revocation list to the specified Client VPN endpoint. Uploading a client certificate revocation list overwrites the existing client certificate revocation list.

\n

Uploading a client certificate revocation list resets existing client connections.

" + } }, - "com.amazonaws.ec2#GpuDeviceInfo": { + "com.amazonaws.ec2#ImportClientVpnClientCertificateRevocationListRequest": { "type": "structure", "members": { - "Name": { - "target": "com.amazonaws.ec2#GpuDeviceName", - "traits": { - "aws.protocols#ec2QueryName": "Name", - "smithy.api#documentation": "

The name of the GPU accelerator.

", - "smithy.api#xmlName": "name" - } - }, - "Manufacturer": { - "target": "com.amazonaws.ec2#GpuDeviceManufacturerName", + "ClientVpnEndpointId": { + "target": "com.amazonaws.ec2#ClientVpnEndpointId", "traits": { - "aws.protocols#ec2QueryName": "Manufacturer", - "smithy.api#documentation": "

The manufacturer of the GPU accelerator.

", - "smithy.api#xmlName": "manufacturer" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Client VPN endpoint to which the client certificate revocation list applies.

", + "smithy.api#required": {} } }, - "Count": { - "target": "com.amazonaws.ec2#GpuDeviceCount", + "CertificateRevocationList": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Count", - "smithy.api#documentation": "

The number of GPUs for the instance type.

", - "smithy.api#xmlName": "count" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The client certificate revocation list file. For more information, see Generate a Client Certificate Revocation List in the\n\t\t\t\tClient VPN Administrator Guide.

", + "smithy.api#required": {} } }, - "MemoryInfo": { - "target": "com.amazonaws.ec2#GpuDeviceMemoryInfo", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "MemoryInfo", - "smithy.api#documentation": "

Describes the memory available to the GPU accelerator.

", - "smithy.api#xmlName": "memoryInfo" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Describes the GPU accelerators for the instance type.

" - } - }, - "com.amazonaws.ec2#GpuDeviceInfoList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#GpuDeviceInfo", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#input": {} } }, - "com.amazonaws.ec2#GpuDeviceManufacturerName": { - "type": "string" - }, - "com.amazonaws.ec2#GpuDeviceMemoryInfo": { + "com.amazonaws.ec2#ImportClientVpnClientCertificateRevocationListResult": { "type": "structure", "members": { - "SizeInMiB": { - "target": "com.amazonaws.ec2#GpuDeviceMemorySize", + "Return": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "SizeInMiB", - "smithy.api#documentation": "

The size of the memory available to the GPU accelerator, in MiB.

", - "smithy.api#xmlName": "sizeInMiB" + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "smithy.api#xmlName": "return" } } + } + }, + "com.amazonaws.ec2#ImportImage": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ImportImageRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ImportImageResult" }, "traits": { - "smithy.api#documentation": "

Describes the memory available to the GPU accelerator.

" + "smithy.api#documentation": "

Import single or multi-volume disk images or EBS snapshots into an Amazon Machine Image (AMI).

\n \n

Amazon Web Services VM Import/Export strongly recommends specifying a value for either the\n --license-type or --usage-operation parameter when you create a new\n VM Import task. This ensures your operating system is licensed appropriately and your billing is\n optimized.

\n
\n

For more information, see Importing a \n VM as an image using VM Import/Export in the VM Import/Export User Guide.

" } }, - "com.amazonaws.ec2#GpuDeviceMemorySize": { - "type": "integer" - }, - "com.amazonaws.ec2#GpuDeviceName": { - "type": "string" - }, - "com.amazonaws.ec2#GpuInfo": { + "com.amazonaws.ec2#ImportImageLicenseConfigurationRequest": { "type": "structure", "members": { - "Gpus": { - "target": "com.amazonaws.ec2#GpuDeviceInfoList", - "traits": { - "aws.protocols#ec2QueryName": "Gpus", - "smithy.api#documentation": "

Describes the GPU accelerators for the instance type.

", - "smithy.api#xmlName": "gpus" - } - }, - "TotalGpuMemoryInMiB": { - "target": "com.amazonaws.ec2#totalGpuMemory", + "LicenseConfigurationArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TotalGpuMemoryInMiB", - "smithy.api#documentation": "

The total size of the memory for the GPU accelerators for the instance type, in MiB.

", - "smithy.api#xmlName": "totalGpuMemoryInMiB" + "smithy.api#documentation": "

The ARN of a license configuration.

" } } }, "traits": { - "smithy.api#documentation": "

Describes the GPU accelerators for the instance type.

" - } - }, - "com.amazonaws.ec2#GroupIdStringList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#SecurityGroupId", - "traits": { - "smithy.api#xmlName": "groupId" - } + "smithy.api#documentation": "

The request information of license configurations.

" } }, - "com.amazonaws.ec2#GroupIdentifier": { + "com.amazonaws.ec2#ImportImageLicenseConfigurationResponse": { "type": "structure", "members": { - "GroupName": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "GroupName", - "smithy.api#documentation": "

The name of the security group.

", - "smithy.api#xmlName": "groupName" - } - }, - "GroupId": { + "LicenseConfigurationArn": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "GroupId", - "smithy.api#documentation": "

The ID of the security group.

", - "smithy.api#xmlName": "groupId" + "aws.protocols#ec2QueryName": "LicenseConfigurationArn", + "smithy.api#documentation": "

The ARN of a license configuration.

", + "smithy.api#xmlName": "licenseConfigurationArn" } } }, "traits": { - "smithy.api#documentation": "

Describes a security group.

" - } - }, - "com.amazonaws.ec2#GroupIdentifierList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#GroupIdentifier", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

The response information for license configurations.

" } }, - "com.amazonaws.ec2#GroupIdentifierSet": { + "com.amazonaws.ec2#ImportImageLicenseSpecificationListRequest": { "type": "list", "member": { - "target": "com.amazonaws.ec2#SecurityGroupIdentifier", + "target": "com.amazonaws.ec2#ImportImageLicenseConfigurationRequest", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#GroupIds": { + "com.amazonaws.ec2#ImportImageLicenseSpecificationListResponse": { "type": "list", "member": { - "target": "com.amazonaws.ec2#SecurityGroupId", + "target": "com.amazonaws.ec2#ImportImageLicenseConfigurationResponse", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#GroupNameStringList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#SecurityGroupName", - "traits": { - "smithy.api#xmlName": "GroupName" - } - } - }, - "com.amazonaws.ec2#HibernationFlag": { - "type": "boolean" - }, - "com.amazonaws.ec2#HibernationOptions": { + "com.amazonaws.ec2#ImportImageRequest": { "type": "structure", "members": { - "Configured": { + "Architecture": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The architecture of the virtual machine.

\n

Valid values: i386 | x86_64\n

" + } + }, + "ClientData": { + "target": "com.amazonaws.ec2#ClientData", + "traits": { + "smithy.api#documentation": "

The client-specific data.

" + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token to enable idempotency for VM import requests.

" + } + }, + "Description": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

A description string for the import image task.

" + } + }, + "DiskContainers": { + "target": "com.amazonaws.ec2#ImageDiskContainerList", + "traits": { + "smithy.api#documentation": "

Information about the disk containers.

", + "smithy.api#xmlName": "DiskContainer" + } + }, + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Configured", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

If this parameter is set to true, your instance is enabled for\n hibernation; otherwise, it is not enabled for hibernation.

", - "smithy.api#xmlName": "configured" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - } - }, - "traits": { - "smithy.api#documentation": "

Indicates whether your instance is configured for hibernation. This parameter is valid\n only if the instance meets the hibernation\n prerequisites. For more information, see Hibernate your instance in the\n Amazon EC2 User Guide.

" - } - }, - "com.amazonaws.ec2#HibernationOptionsRequest": { - "type": "structure", - "members": { - "Configured": { + }, + "Encrypted": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

If you set this parameter to true, your instance is enabled for\n hibernation.

\n

Default: false\n

" + "smithy.api#documentation": "

Specifies whether the destination AMI of the imported image should be encrypted. The default KMS key for EBS is used\n unless you specify a non-default KMS key using KmsKeyId. For more information, see Amazon EBS Encryption in the\n Amazon Elastic Compute Cloud User Guide.

" } - } - }, - "traits": { - "smithy.api#documentation": "

Indicates whether your instance is configured for hibernation. This parameter is valid\n only if the instance meets the hibernation\n prerequisites. For more information, see Hibernate your instance in the\n Amazon EC2 User Guide.

" - } - }, - "com.amazonaws.ec2#HistoryRecord": { - "type": "structure", - "members": { - "EventInformation": { - "target": "com.amazonaws.ec2#EventInformation", + }, + "Hypervisor": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "EventInformation", - "smithy.api#documentation": "

Information about the event.

", - "smithy.api#xmlName": "eventInformation" + "smithy.api#documentation": "

The target hypervisor platform.

\n

Valid values: xen\n

" } }, - "EventType": { - "target": "com.amazonaws.ec2#EventType", + "KmsKeyId": { + "target": "com.amazonaws.ec2#KmsKeyId", "traits": { - "aws.protocols#ec2QueryName": "EventType", - "smithy.api#documentation": "

The event type.

\n
    \n
  • \n

    \n error - An error with the Spot Fleet request.

    \n
  • \n
  • \n

    \n fleetRequestChange - A change in the status or configuration of\n the Spot Fleet request.

    \n
  • \n
  • \n

    \n instanceChange - An instance was launched or terminated.

    \n
  • \n
  • \n

    \n Information - An informational event.

    \n
  • \n
", - "smithy.api#xmlName": "eventType" + "smithy.api#documentation": "

An identifier for the symmetric KMS key to use when creating the\n encrypted AMI. This parameter is only required if you want to use a non-default KMS key; if this\n parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is\n specified, the Encrypted flag must also be set.

\n

The KMS key identifier may be provided in any of the following formats:

\n
    \n
  • \n

    Key ID

    \n
  • \n
  • \n

    Key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

    \n
  • \n
  • \n

    ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the key namespace, and then the key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

    \n
  • \n
  • \n

    ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

    \n
  • \n
\n

Amazon Web Services parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even\n though you provided an invalid identifier. This action will eventually report failure.

\n

The specified KMS key must exist in the Region that the AMI is being copied to.

\n

Amazon EBS does not support asymmetric KMS keys.

" } }, - "Timestamp": { - "target": "com.amazonaws.ec2#DateTime", + "LicenseType": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Timestamp", - "smithy.api#documentation": "

The date and time of the event, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).

", - "smithy.api#xmlName": "timestamp" + "smithy.api#documentation": "

The license type to be used for the Amazon Machine Image (AMI) after importing.

\n

Specify AWS to replace the source-system license with an Amazon Web Services\n license or BYOL to retain the source-system license. Leaving this parameter\n undefined is the same as choosing AWS when importing a Windows Server operating\n system, and the same as choosing BYOL when importing a Windows client operating\n system (such as Windows 10) or a Linux operating system.

\n

To use BYOL, you must have existing licenses with rights to use these licenses in a third party\n cloud, such as Amazon Web Services. For more information, see Prerequisites in the\n VM Import/Export User Guide.

" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes an event in the history of the Spot Fleet request.

" - } - }, - "com.amazonaws.ec2#HistoryRecordEntry": { - "type": "structure", - "members": { - "EventInformation": { - "target": "com.amazonaws.ec2#EventInformation", + }, + "Platform": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "EventInformation", - "smithy.api#documentation": "

Information about the event.

", - "smithy.api#xmlName": "eventInformation" + "smithy.api#documentation": "

The operating system of the virtual machine.

\n

Valid values: Windows | Linux\n

" } }, - "EventType": { - "target": "com.amazonaws.ec2#FleetEventType", + "RoleName": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "EventType", - "smithy.api#documentation": "

The event type.

", - "smithy.api#xmlName": "eventType" + "smithy.api#documentation": "

The name of the role to use when not using the default role, 'vmimport'.

" } }, - "Timestamp": { - "target": "com.amazonaws.ec2#DateTime", + "LicenseSpecifications": { + "target": "com.amazonaws.ec2#ImportImageLicenseSpecificationListRequest", "traits": { - "aws.protocols#ec2QueryName": "Timestamp", - "smithy.api#documentation": "

The date and time of the event, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).

", - "smithy.api#xmlName": "timestamp" + "smithy.api#documentation": "

The ARNs of the license configurations.

" + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

The tags to apply to the import image task during creation.

", + "smithy.api#xmlName": "TagSpecification" + } + }, + "UsageOperation": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The usage operation value. For more information, see Licensing options in the VM Import/Export User Guide.

" + } + }, + "BootMode": { + "target": "com.amazonaws.ec2#BootModeValues", + "traits": { + "smithy.api#documentation": "

The boot mode of the virtual machine.

" } } }, "traits": { - "smithy.api#documentation": "

Describes an event in the history of an EC2 Fleet.

" - } - }, - "com.amazonaws.ec2#HistoryRecordSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#HistoryRecordEntry", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#HistoryRecords": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#HistoryRecord", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#input": {} } }, - "com.amazonaws.ec2#Host": { + "com.amazonaws.ec2#ImportImageResult": { "type": "structure", "members": { - "AutoPlacement": { - "target": "com.amazonaws.ec2#AutoPlacement", + "Architecture": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AutoPlacement", - "smithy.api#documentation": "

Whether auto-placement is on or off.

", - "smithy.api#xmlName": "autoPlacement" + "aws.protocols#ec2QueryName": "Architecture", + "smithy.api#documentation": "

The architecture of the virtual machine.

", + "smithy.api#xmlName": "architecture" } }, - "AvailabilityZone": { + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZone", - "smithy.api#documentation": "

The Availability Zone of the Dedicated Host.

", - "smithy.api#xmlName": "availabilityZone" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A description of the import task.

", + "smithy.api#xmlName": "description" } }, - "AvailableCapacity": { - "target": "com.amazonaws.ec2#AvailableCapacity", + "Encrypted": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "AvailableCapacity", - "smithy.api#documentation": "

Information about the instances running on the Dedicated Host.

", - "smithy.api#xmlName": "availableCapacity" + "aws.protocols#ec2QueryName": "Encrypted", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the AMI is encrypted.

", + "smithy.api#xmlName": "encrypted" + } + }, + "Hypervisor": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Hypervisor", + "smithy.api#documentation": "

The target hypervisor of the import task.

", + "smithy.api#xmlName": "hypervisor" + } + }, + "ImageId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ImageId", + "smithy.api#documentation": "

The ID of the Amazon Machine Image (AMI) created by the import task.

", + "smithy.api#xmlName": "imageId" + } + }, + "ImportTaskId": { + "target": "com.amazonaws.ec2#ImportImageTaskId", + "traits": { + "aws.protocols#ec2QueryName": "ImportTaskId", + "smithy.api#documentation": "

The task ID of the import image task.

", + "smithy.api#xmlName": "importTaskId" + } + }, + "KmsKeyId": { + "target": "com.amazonaws.ec2#KmsKeyId", + "traits": { + "aws.protocols#ec2QueryName": "KmsKeyId", + "smithy.api#documentation": "

The identifier for the symmetric KMS key that was used to create the encrypted AMI.

", + "smithy.api#xmlName": "kmsKeyId" + } + }, + "LicenseType": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "LicenseType", + "smithy.api#documentation": "

The license type of the virtual machine.

", + "smithy.api#xmlName": "licenseType" + } + }, + "Platform": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Platform", + "smithy.api#documentation": "

The operating system of the virtual machine.

", + "smithy.api#xmlName": "platform" + } + }, + "Progress": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Progress", + "smithy.api#documentation": "

The progress of the task.

", + "smithy.api#xmlName": "progress" + } + }, + "SnapshotDetails": { + "target": "com.amazonaws.ec2#SnapshotDetailList", + "traits": { + "aws.protocols#ec2QueryName": "SnapshotDetailSet", + "smithy.api#documentation": "

Information about the snapshots.

", + "smithy.api#xmlName": "snapshotDetailSet" + } + }, + "Status": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

A brief status of the task.

", + "smithy.api#xmlName": "status" + } + }, + "StatusMessage": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "StatusMessage", + "smithy.api#documentation": "

A detailed status message of the import task.

", + "smithy.api#xmlName": "statusMessage" + } + }, + "LicenseSpecifications": { + "target": "com.amazonaws.ec2#ImportImageLicenseSpecificationListResponse", + "traits": { + "aws.protocols#ec2QueryName": "LicenseSpecifications", + "smithy.api#documentation": "

The ARNs of the license configurations.

", + "smithy.api#xmlName": "licenseSpecifications" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Any tags assigned to the import image task.

", + "smithy.api#xmlName": "tagSet" + } + }, + "UsageOperation": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "UsageOperation", + "smithy.api#documentation": "

The usage operation value.

", + "smithy.api#xmlName": "usageOperation" } - }, - "ClientToken": { + } + } + }, + "com.amazonaws.ec2#ImportImageTask": { + "type": "structure", + "members": { + "Architecture": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ClientToken", - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

", - "smithy.api#xmlName": "clientToken" + "aws.protocols#ec2QueryName": "Architecture", + "smithy.api#documentation": "

The architecture of the virtual machine.

\n

Valid values: i386 | x86_64 | arm64\n

", + "smithy.api#xmlName": "architecture" } }, - "HostId": { + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "HostId", - "smithy.api#documentation": "

The ID of the Dedicated Host.

", - "smithy.api#xmlName": "hostId" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A description of the import task.

", + "smithy.api#xmlName": "description" } }, - "HostProperties": { - "target": "com.amazonaws.ec2#HostProperties", + "Encrypted": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "HostProperties", - "smithy.api#documentation": "

The hardware specifications of the Dedicated Host.

", - "smithy.api#xmlName": "hostProperties" + "aws.protocols#ec2QueryName": "Encrypted", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the image is encrypted.

", + "smithy.api#xmlName": "encrypted" } }, - "HostReservationId": { + "Hypervisor": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "HostReservationId", - "smithy.api#documentation": "

The reservation ID of the Dedicated Host. This returns a null response if\n the Dedicated Host doesn't have an associated reservation.

", - "smithy.api#xmlName": "hostReservationId" + "aws.protocols#ec2QueryName": "Hypervisor", + "smithy.api#documentation": "

The target hypervisor for the import task.

\n

Valid values: xen\n

", + "smithy.api#xmlName": "hypervisor" } }, - "Instances": { - "target": "com.amazonaws.ec2#HostInstanceList", + "ImageId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Instances", - "smithy.api#documentation": "

The IDs and instance type that are currently running on the Dedicated Host.

", - "smithy.api#xmlName": "instances" + "aws.protocols#ec2QueryName": "ImageId", + "smithy.api#documentation": "

The ID of the Amazon Machine Image (AMI) of the imported virtual machine.

", + "smithy.api#xmlName": "imageId" } }, - "State": { - "target": "com.amazonaws.ec2#AllocationState", + "ImportTaskId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The Dedicated Host's state.

", - "smithy.api#xmlName": "state" + "aws.protocols#ec2QueryName": "ImportTaskId", + "smithy.api#documentation": "

The ID of the import image task.

", + "smithy.api#xmlName": "importTaskId" } }, - "AllocationTime": { - "target": "com.amazonaws.ec2#DateTime", + "KmsKeyId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AllocationTime", - "smithy.api#documentation": "

The time that the Dedicated Host was allocated.

", - "smithy.api#xmlName": "allocationTime" + "aws.protocols#ec2QueryName": "KmsKeyId", + "smithy.api#documentation": "

The identifier for the KMS key that was used to create the encrypted image.

", + "smithy.api#xmlName": "kmsKeyId" } }, - "ReleaseTime": { - "target": "com.amazonaws.ec2#DateTime", + "LicenseType": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ReleaseTime", - "smithy.api#documentation": "

The time that the Dedicated Host was released.

", - "smithy.api#xmlName": "releaseTime" + "aws.protocols#ec2QueryName": "LicenseType", + "smithy.api#documentation": "

The license type of the virtual machine.

", + "smithy.api#xmlName": "licenseType" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "Platform": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags assigned to the Dedicated Host.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "Platform", + "smithy.api#documentation": "

The description string for the import image task.

", + "smithy.api#xmlName": "platform" } }, - "HostRecovery": { - "target": "com.amazonaws.ec2#HostRecovery", + "Progress": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "HostRecovery", - "smithy.api#documentation": "

Indicates whether host recovery is enabled or disabled for the Dedicated Host.

", - "smithy.api#xmlName": "hostRecovery" + "aws.protocols#ec2QueryName": "Progress", + "smithy.api#documentation": "

The percentage of progress of the import image task.

", + "smithy.api#xmlName": "progress" } }, - "AllowsMultipleInstanceTypes": { - "target": "com.amazonaws.ec2#AllowsMultipleInstanceTypes", + "SnapshotDetails": { + "target": "com.amazonaws.ec2#SnapshotDetailList", "traits": { - "aws.protocols#ec2QueryName": "AllowsMultipleInstanceTypes", - "smithy.api#documentation": "

Indicates whether the Dedicated Host supports multiple instance types of the same\n instance family. If the value is on, the Dedicated Host supports multiple\n instance types in the instance family. If the value is off, the Dedicated\n Host supports a single instance type only.

", - "smithy.api#xmlName": "allowsMultipleInstanceTypes" + "aws.protocols#ec2QueryName": "SnapshotDetailSet", + "smithy.api#documentation": "

Information about the snapshots.

", + "smithy.api#xmlName": "snapshotDetailSet" } }, - "OwnerId": { + "Status": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the Dedicated Host.

", - "smithy.api#xmlName": "ownerId" + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

A brief status for the import image task.

", + "smithy.api#xmlName": "status" } }, - "AvailabilityZoneId": { + "StatusMessage": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZoneId", - "smithy.api#documentation": "

The ID of the Availability Zone in which the Dedicated Host is allocated.

", - "smithy.api#xmlName": "availabilityZoneId" + "aws.protocols#ec2QueryName": "StatusMessage", + "smithy.api#documentation": "

A descriptive status message for the import image task.

", + "smithy.api#xmlName": "statusMessage" } }, - "MemberOfServiceLinkedResourceGroup": { - "target": "com.amazonaws.ec2#Boolean", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "MemberOfServiceLinkedResourceGroup", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the Dedicated Host is in a host resource group. If memberOfServiceLinkedResourceGroup is true, the\n host is in a host resource group; otherwise, it is not.

", - "smithy.api#xmlName": "memberOfServiceLinkedResourceGroup" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags for the import image task.

", + "smithy.api#xmlName": "tagSet" } }, - "OutpostArn": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "OutpostArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Web Services Outpost on which the\n Dedicated Host is allocated.

", - "smithy.api#xmlName": "outpostArn" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the properties of the Dedicated Host.

" - } - }, - "com.amazonaws.ec2#HostInstance": { - "type": "structure", - "members": { - "InstanceId": { - "target": "com.amazonaws.ec2#String", + "LicenseSpecifications": { + "target": "com.amazonaws.ec2#ImportImageLicenseSpecificationListResponse", "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#documentation": "

The ID of instance that is running on the Dedicated Host.

", - "smithy.api#xmlName": "instanceId" + "aws.protocols#ec2QueryName": "LicenseSpecifications", + "smithy.api#documentation": "

The ARNs of the license configurations that are associated with the import image task.

", + "smithy.api#xmlName": "licenseSpecifications" } }, - "InstanceType": { + "UsageOperation": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "InstanceType", - "smithy.api#documentation": "

The instance type (for example, m3.medium) of the running\n instance.

", - "smithy.api#xmlName": "instanceType" + "aws.protocols#ec2QueryName": "UsageOperation", + "smithy.api#documentation": "

The usage operation value.

", + "smithy.api#xmlName": "usageOperation" } }, - "OwnerId": { - "target": "com.amazonaws.ec2#String", + "BootMode": { + "target": "com.amazonaws.ec2#BootModeValues", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the instance.

", - "smithy.api#xmlName": "ownerId" + "aws.protocols#ec2QueryName": "BootMode", + "smithy.api#documentation": "

The boot mode of the virtual machine.

", + "smithy.api#xmlName": "bootMode" } } }, "traits": { - "smithy.api#documentation": "

Describes an instance running on a Dedicated Host.

" + "smithy.api#documentation": "

Describes an import image task.

" } }, - "com.amazonaws.ec2#HostInstanceList": { + "com.amazonaws.ec2#ImportImageTaskId": { + "type": "string" + }, + "com.amazonaws.ec2#ImportImageTaskList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#HostInstance", + "target": "com.amazonaws.ec2#ImportImageTask", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#HostList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Host", - "traits": { - "smithy.api#xmlName": "item" - } + "com.amazonaws.ec2#ImportInstance": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ImportInstanceRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ImportInstanceResult" + }, + "traits": { + "smithy.api#documentation": "

Creates an import instance task using metadata from the specified disk image.

\n

This API action supports only single-volume VMs. To import multi-volume VMs, use ImportImage\n instead.

\n

This API action is not supported by the Command Line Interface (CLI). For \n information about using the Amazon EC2 CLI, which is deprecated, see\n Importing a VM to Amazon EC2 in the Amazon EC2 CLI Reference PDF file.

\n

For information about the import manifest referenced by this API action, see VM Import Manifest.

" } }, - "com.amazonaws.ec2#HostOffering": { + "com.amazonaws.ec2#ImportInstanceLaunchSpecification": { "type": "structure", "members": { - "CurrencyCode": { - "target": "com.amazonaws.ec2#CurrencyCodeValues", + "AdditionalInfo": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CurrencyCode", - "smithy.api#documentation": "

The currency of the offering.

", - "smithy.api#xmlName": "currencyCode" + "aws.protocols#ec2QueryName": "AdditionalInfo", + "smithy.api#documentation": "

Reserved.

", + "smithy.api#xmlName": "additionalInfo" } }, - "Duration": { - "target": "com.amazonaws.ec2#Integer", + "Architecture": { + "target": "com.amazonaws.ec2#ArchitectureValues", "traits": { - "aws.protocols#ec2QueryName": "Duration", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The duration of the offering (in seconds).

", - "smithy.api#xmlName": "duration" + "aws.protocols#ec2QueryName": "Architecture", + "smithy.api#documentation": "

The architecture of the instance.

", + "smithy.api#xmlName": "architecture" } }, - "HourlyPrice": { - "target": "com.amazonaws.ec2#String", + "GroupIds": { + "target": "com.amazonaws.ec2#SecurityGroupIdStringList", "traits": { - "aws.protocols#ec2QueryName": "HourlyPrice", - "smithy.api#documentation": "

The hourly price of the offering.

", - "smithy.api#xmlName": "hourlyPrice" + "smithy.api#documentation": "

The security group IDs.

", + "smithy.api#xmlName": "GroupId" } }, - "InstanceFamily": { - "target": "com.amazonaws.ec2#String", + "GroupNames": { + "target": "com.amazonaws.ec2#SecurityGroupStringList", "traits": { - "aws.protocols#ec2QueryName": "InstanceFamily", - "smithy.api#documentation": "

The instance family of the offering.

", - "smithy.api#xmlName": "instanceFamily" + "smithy.api#documentation": "

The security group names.

", + "smithy.api#xmlName": "GroupName" } }, - "OfferingId": { - "target": "com.amazonaws.ec2#OfferingId", + "InstanceInitiatedShutdownBehavior": { + "target": "com.amazonaws.ec2#ShutdownBehavior", "traits": { - "aws.protocols#ec2QueryName": "OfferingId", - "smithy.api#documentation": "

The ID of the offering.

", - "smithy.api#xmlName": "offeringId" + "aws.protocols#ec2QueryName": "InstanceInitiatedShutdownBehavior", + "smithy.api#documentation": "

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the\n operating system command for system shutdown).

", + "smithy.api#xmlName": "instanceInitiatedShutdownBehavior" } }, - "PaymentOption": { - "target": "com.amazonaws.ec2#PaymentOption", + "InstanceType": { + "target": "com.amazonaws.ec2#InstanceType", "traits": { - "aws.protocols#ec2QueryName": "PaymentOption", - "smithy.api#documentation": "

The available payment option.

", - "smithy.api#xmlName": "paymentOption" + "aws.protocols#ec2QueryName": "InstanceType", + "smithy.api#documentation": "

The instance type. For more information about the instance types that you can import, see Instance Types in the\n VM Import/Export User Guide.

", + "smithy.api#xmlName": "instanceType" } }, - "UpfrontPrice": { + "Monitoring": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "Monitoring", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether monitoring is enabled.

", + "smithy.api#xmlName": "monitoring" + } + }, + "Placement": { + "target": "com.amazonaws.ec2#Placement", + "traits": { + "aws.protocols#ec2QueryName": "Placement", + "smithy.api#documentation": "

The placement information for the instance.

", + "smithy.api#xmlName": "placement" + } + }, + "PrivateIpAddress": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "UpfrontPrice", - "smithy.api#documentation": "

The upfront price of the offering. Does not apply to No Upfront offerings.

", - "smithy.api#xmlName": "upfrontPrice" + "aws.protocols#ec2QueryName": "PrivateIpAddress", + "smithy.api#documentation": "

[EC2-VPC] An available IP address from the IP address range of the subnet.

", + "smithy.api#xmlName": "privateIpAddress" + } + }, + "SubnetId": { + "target": "com.amazonaws.ec2#SubnetId", + "traits": { + "aws.protocols#ec2QueryName": "SubnetId", + "smithy.api#documentation": "

[EC2-VPC] The ID of the subnet in which to launch the instance.

", + "smithy.api#xmlName": "subnetId" + } + }, + "UserData": { + "target": "com.amazonaws.ec2#UserData", + "traits": { + "aws.protocols#ec2QueryName": "UserData", + "smithy.api#documentation": "

The Base64-encoded user data to make available to the instance.

", + "smithy.api#xmlName": "userData" } } }, "traits": { - "smithy.api#documentation": "

Details about the Dedicated Host Reservation offering.

" - } - }, - "com.amazonaws.ec2#HostOfferingSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#HostOffering", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

Describes the launch specification for VM import.

" } }, - "com.amazonaws.ec2#HostProperties": { + "com.amazonaws.ec2#ImportInstanceRequest": { "type": "structure", "members": { - "Cores": { - "target": "com.amazonaws.ec2#Integer", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Cores", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of cores on the Dedicated Host.

", - "smithy.api#xmlName": "cores" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A description for the instance being imported.

", + "smithy.api#xmlName": "description" } }, - "InstanceType": { - "target": "com.amazonaws.ec2#String", + "DiskImages": { + "target": "com.amazonaws.ec2#DiskImageList", "traits": { - "aws.protocols#ec2QueryName": "InstanceType", - "smithy.api#documentation": "

The instance type supported by the Dedicated Host. For example, m5.large.\n If the host supports multiple instance types, no instanceType is returned.

", - "smithy.api#xmlName": "instanceType" + "aws.protocols#ec2QueryName": "DiskImage", + "smithy.api#documentation": "

The disk image.

", + "smithy.api#xmlName": "diskImage" } }, - "InstanceFamily": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "InstanceFamily", - "smithy.api#documentation": "

The instance family supported by the Dedicated Host. For example,\n m5.

", - "smithy.api#xmlName": "instanceFamily" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "Sockets": { - "target": "com.amazonaws.ec2#Integer", + "LaunchSpecification": { + "target": "com.amazonaws.ec2#ImportInstanceLaunchSpecification", "traits": { - "aws.protocols#ec2QueryName": "Sockets", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of sockets on the Dedicated Host.

", - "smithy.api#xmlName": "sockets" + "aws.protocols#ec2QueryName": "LaunchSpecification", + "smithy.api#documentation": "

The launch specification.

", + "smithy.api#xmlName": "launchSpecification" } }, - "TotalVCpus": { - "target": "com.amazonaws.ec2#Integer", + "Platform": { + "target": "com.amazonaws.ec2#PlatformValues", "traits": { - "aws.protocols#ec2QueryName": "TotalVCpus", + "aws.protocols#ec2QueryName": "Platform", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The total number of vCPUs on the Dedicated Host.

", - "smithy.api#xmlName": "totalVCpus" + "smithy.api#documentation": "

The instance operating system.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "platform" } } }, "traits": { - "smithy.api#documentation": "

Describes the properties of a Dedicated Host.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#HostRecovery": { - "type": "enum", + "com.amazonaws.ec2#ImportInstanceResult": { + "type": "structure", "members": { - "on": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "on" - } - }, - "off": { - "target": "smithy.api#Unit", + "ConversionTask": { + "target": "com.amazonaws.ec2#ConversionTask", "traits": { - "smithy.api#enumValue": "off" + "aws.protocols#ec2QueryName": "ConversionTask", + "smithy.api#documentation": "

Information about the conversion task.

", + "smithy.api#xmlName": "conversionTask" } } } }, - "com.amazonaws.ec2#HostReservation": { + "com.amazonaws.ec2#ImportInstanceTaskDetails": { "type": "structure", "members": { - "Count": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "aws.protocols#ec2QueryName": "Count", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of Dedicated Hosts the reservation is associated with.

", - "smithy.api#xmlName": "count" - } - }, - "CurrencyCode": { - "target": "com.amazonaws.ec2#CurrencyCodeValues", - "traits": { - "aws.protocols#ec2QueryName": "CurrencyCode", - "smithy.api#documentation": "

The currency in which the upfrontPrice and hourlyPrice\n amounts are specified. At this time, the only supported currency is\n USD.

", - "smithy.api#xmlName": "currencyCode" - } - }, - "Duration": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "aws.protocols#ec2QueryName": "Duration", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The length of the reservation's term, specified in seconds. Can be 31536000 (1\n year) | 94608000 (3 years).

", - "smithy.api#xmlName": "duration" - } - }, - "End": { - "target": "com.amazonaws.ec2#DateTime", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "End", - "smithy.api#documentation": "

The date and time that the reservation ends.

", - "smithy.api#xmlName": "end" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A description of the task.

", + "smithy.api#xmlName": "description" } }, - "HostIdSet": { - "target": "com.amazonaws.ec2#ResponseHostIdSet", + "InstanceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "HostIdSet", - "smithy.api#documentation": "

The IDs of the Dedicated Hosts associated with the reservation.

", - "smithy.api#xmlName": "hostIdSet" + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#documentation": "

The ID of the instance.

", + "smithy.api#xmlName": "instanceId" } }, - "HostReservationId": { - "target": "com.amazonaws.ec2#HostReservationId", + "Platform": { + "target": "com.amazonaws.ec2#PlatformValues", "traits": { - "aws.protocols#ec2QueryName": "HostReservationId", - "smithy.api#documentation": "

The ID of the reservation that specifies the associated Dedicated Hosts.

", - "smithy.api#xmlName": "hostReservationId" + "aws.protocols#ec2QueryName": "Platform", + "smithy.api#documentation": "

The instance operating system.

", + "smithy.api#xmlName": "platform" } }, - "HourlyPrice": { - "target": "com.amazonaws.ec2#String", + "Volumes": { + "target": "com.amazonaws.ec2#ImportInstanceVolumeDetailSet", "traits": { - "aws.protocols#ec2QueryName": "HourlyPrice", - "smithy.api#documentation": "

The hourly price of the reservation.

", - "smithy.api#xmlName": "hourlyPrice" + "aws.protocols#ec2QueryName": "Volumes", + "smithy.api#documentation": "

The volumes.

", + "smithy.api#xmlName": "volumes" } - }, - "InstanceFamily": { + } + }, + "traits": { + "smithy.api#documentation": "

Describes an import instance task.

" + } + }, + "com.amazonaws.ec2#ImportInstanceVolumeDetailItem": { + "type": "structure", + "members": { + "AvailabilityZone": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "InstanceFamily", - "smithy.api#documentation": "

The instance family of the Dedicated Host Reservation. The instance family on the\n Dedicated Host must be the same in order for it to benefit from the reservation.

", - "smithy.api#xmlName": "instanceFamily" + "aws.protocols#ec2QueryName": "AvailabilityZone", + "smithy.api#documentation": "

The Availability Zone where the resulting instance will reside.

", + "smithy.api#xmlName": "availabilityZone" } }, - "OfferingId": { - "target": "com.amazonaws.ec2#OfferingId", + "BytesConverted": { + "target": "com.amazonaws.ec2#Long", "traits": { - "aws.protocols#ec2QueryName": "OfferingId", - "smithy.api#documentation": "

The ID of the reservation. This remains the same regardless of which Dedicated Hosts\n are associated with it.

", - "smithy.api#xmlName": "offeringId" + "aws.protocols#ec2QueryName": "BytesConverted", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of bytes converted so far.

", + "smithy.api#xmlName": "bytesConverted" } }, - "PaymentOption": { - "target": "com.amazonaws.ec2#PaymentOption", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PaymentOption", - "smithy.api#documentation": "

The payment option selected for this reservation.

", - "smithy.api#xmlName": "paymentOption" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A description of the task.

", + "smithy.api#xmlName": "description" } }, - "Start": { - "target": "com.amazonaws.ec2#DateTime", + "Image": { + "target": "com.amazonaws.ec2#DiskImageDescription", "traits": { - "aws.protocols#ec2QueryName": "Start", - "smithy.api#documentation": "

The date and time that the reservation started.

", - "smithy.api#xmlName": "start" + "aws.protocols#ec2QueryName": "Image", + "smithy.api#documentation": "

The image.

", + "smithy.api#xmlName": "image" } }, - "State": { - "target": "com.amazonaws.ec2#ReservationState", + "Status": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the reservation.

", - "smithy.api#xmlName": "state" + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The status of the import of this particular disk image.

", + "smithy.api#xmlName": "status" } }, - "UpfrontPrice": { + "StatusMessage": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "UpfrontPrice", - "smithy.api#documentation": "

The upfront price of the reservation.

", - "smithy.api#xmlName": "upfrontPrice" + "aws.protocols#ec2QueryName": "StatusMessage", + "smithy.api#documentation": "

The status information or errors related to the disk image.

", + "smithy.api#xmlName": "statusMessage" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "Volume": { + "target": "com.amazonaws.ec2#DiskImageVolumeDescription", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags assigned to the Dedicated Host Reservation.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "Volume", + "smithy.api#documentation": "

The volume.

", + "smithy.api#xmlName": "volume" } } }, "traits": { - "smithy.api#documentation": "

Details about the Dedicated Host Reservation and associated Dedicated Hosts.

" + "smithy.api#documentation": "

Describes an import volume task.

" } }, - "com.amazonaws.ec2#HostReservationId": { - "type": "string" - }, - "com.amazonaws.ec2#HostReservationIdSet": { + "com.amazonaws.ec2#ImportInstanceVolumeDetailSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#HostReservationId", + "target": "com.amazonaws.ec2#ImportInstanceVolumeDetailItem", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#HostReservationSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#HostReservation", - "traits": { - "smithy.api#xmlName": "item" - } + "com.amazonaws.ec2#ImportKeyPair": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ImportKeyPairRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ImportKeyPairResult" + }, + "traits": { + "smithy.api#documentation": "

Imports the public key from an RSA or ED25519 key pair that you created with a third-party tool. \n Compare this with CreateKeyPair, in which Amazon Web Services creates the key pair and gives the keys to you \n (Amazon Web Services keeps a copy of the public key). With ImportKeyPair, you create the key pair and give Amazon Web Services just the public key. \n The private key is never transferred between you and Amazon Web Services.

\n

For more information about key pairs, see Amazon EC2 key pairs \n\t\t\t\tin the Amazon Elastic Compute Cloud User Guide.

" } }, - "com.amazonaws.ec2#HostTenancy": { - "type": "enum", + "com.amazonaws.ec2#ImportKeyPairRequest": { + "type": "structure", "members": { - "dedicated": { - "target": "smithy.api#Unit", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "dedicated" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "host": { - "target": "smithy.api#Unit", + "KeyName": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "host" + "aws.protocols#ec2QueryName": "KeyName", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

A unique name for the key pair.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "keyName" } - } - } - }, - "com.amazonaws.ec2#HostnameType": { - "type": "enum", - "members": { - "ip_name": { - "target": "smithy.api#Unit", + }, + "PublicKeyMaterial": { + "target": "com.amazonaws.ec2#Blob", "traits": { - "smithy.api#enumValue": "ip-name" + "aws.protocols#ec2QueryName": "PublicKeyMaterial", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The public key. For API calls, the text must be base64-encoded. For command line tools, base64 encoding is performed for you.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "publicKeyMaterial" } }, - "resource_name": { - "target": "smithy.api#Unit", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#enumValue": "resource-name" + "smithy.api#documentation": "

The tags to apply to the imported key pair.

", + "smithy.api#xmlName": "TagSpecification" } } - } - }, - "com.amazonaws.ec2#Hour": { - "type": "integer", + }, "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 0, - "max": 23 - } + "smithy.api#input": {} } }, - "com.amazonaws.ec2#HttpTokensState": { - "type": "enum", + "com.amazonaws.ec2#ImportKeyPairResult": { + "type": "structure", "members": { - "optional": { - "target": "smithy.api#Unit", + "KeyFingerprint": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "optional" + "aws.protocols#ec2QueryName": "KeyFingerprint", + "smithy.api#documentation": "
    \n
  • \n

    For RSA key pairs, the key fingerprint is the MD5 public key fingerprint as specified in section 4 of RFC 4716.

    \n
  • \n
  • \n

    For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 digest, which is the default for OpenSSH, starting with OpenSSH 6.8.

    \n
  • \n
", + "smithy.api#xmlName": "keyFingerprint" } }, - "required": { - "target": "smithy.api#Unit", + "KeyName": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "required" + "aws.protocols#ec2QueryName": "KeyName", + "smithy.api#documentation": "

The key pair name that you provided.

", + "smithy.api#xmlName": "keyName" } - } - } - }, - "com.amazonaws.ec2#HypervisorType": { - "type": "enum", - "members": { - "ovm": { - "target": "smithy.api#Unit", + }, + "KeyPairId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "ovm" + "aws.protocols#ec2QueryName": "KeyPairId", + "smithy.api#documentation": "

The ID of the resulting key pair.

", + "smithy.api#xmlName": "keyPairId" } }, - "xen": { - "target": "smithy.api#Unit", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "smithy.api#enumValue": "xen" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags applied to the imported key pair.

", + "smithy.api#xmlName": "tagSet" } } } }, - "com.amazonaws.ec2#IKEVersionsList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#IKEVersionsListValue", - "traits": { - "smithy.api#xmlName": "item" - } + "com.amazonaws.ec2#ImportSnapshot": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ImportSnapshotRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ImportSnapshotResult" + }, + "traits": { + "smithy.api#documentation": "

Imports a disk into an EBS snapshot.

\n

For more information, see Importing a disk as a snapshot using VM Import/Export in the \n VM Import/Export User Guide.

" } }, - "com.amazonaws.ec2#IKEVersionsListValue": { + "com.amazonaws.ec2#ImportSnapshotRequest": { "type": "structure", "members": { - "Value": { + "ClientData": { + "target": "com.amazonaws.ec2#ClientData", + "traits": { + "smithy.api#documentation": "

The client-specific data.

" + } + }, + "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Value", - "smithy.api#documentation": "

The IKE version.

", - "smithy.api#xmlName": "value" + "smithy.api#documentation": "

Token to enable idempotency for VM import requests.

" } - } - }, - "traits": { - "smithy.api#documentation": "

The internet key exchange (IKE) version permitted for the VPN tunnel.

" - } - }, - "com.amazonaws.ec2#IKEVersionsRequestList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#IKEVersionsRequestListValue", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#IKEVersionsRequestListValue": { - "type": "structure", - "members": { - "Value": { + }, + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The IKE version.

" + "smithy.api#documentation": "

The description string for the import snapshot task.

" + } + }, + "DiskContainer": { + "target": "com.amazonaws.ec2#SnapshotDiskContainer", + "traits": { + "smithy.api#documentation": "

Information about the disk container.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "Encrypted": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Specifies whether the destination snapshot of the imported image should be encrypted. The default KMS key for EBS is\n used unless you specify a non-default KMS key using KmsKeyId. For more information, see Amazon EBS Encryption in the\n Amazon Elastic Compute Cloud User Guide.

" + } + }, + "KmsKeyId": { + "target": "com.amazonaws.ec2#KmsKeyId", + "traits": { + "smithy.api#documentation": "

An identifier for the symmetric KMS key to use when creating the\n encrypted snapshot. This parameter is only required if you want to use a non-default KMS key; if this\n parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is\n specified, the Encrypted flag must also be set.

\n

The KMS key identifier may be provided in any of the following formats:

\n
    \n
  • \n

    Key ID

    \n
  • \n
  • \n

    Key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

    \n
  • \n
  • \n

    ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the key namespace, and then the key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

    \n
  • \n
  • \n

    ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

    \n
  • \n
\n

Amazon Web Services parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even\n though you provided an invalid identifier. This action will eventually report failure.

\n

The specified KMS key must exist in the Region that the snapshot is being copied to.

\n

Amazon EBS does not support asymmetric KMS keys.

" + } + }, + "RoleName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The name of the role to use when not using the default role, 'vmimport'.

" + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

The tags to apply to the import snapshot task during creation.

", + "smithy.api#xmlName": "TagSpecification" } } }, "traits": { - "smithy.api#documentation": "

The IKE version that is permitted for the VPN tunnel.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#IamInstanceProfile": { + "com.amazonaws.ec2#ImportSnapshotResult": { "type": "structure", "members": { - "Arn": { + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Arn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the instance profile.

", - "smithy.api#xmlName": "arn" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A description of the import snapshot task.

", + "smithy.api#xmlName": "description" } }, - "Id": { + "ImportTaskId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Id", - "smithy.api#documentation": "

The ID of the instance profile.

", - "smithy.api#xmlName": "id" + "aws.protocols#ec2QueryName": "ImportTaskId", + "smithy.api#documentation": "

The ID of the import snapshot task.

", + "smithy.api#xmlName": "importTaskId" + } + }, + "SnapshotTaskDetail": { + "target": "com.amazonaws.ec2#SnapshotTaskDetail", + "traits": { + "aws.protocols#ec2QueryName": "SnapshotTaskDetail", + "smithy.api#documentation": "

Information about the import snapshot task.

", + "smithy.api#xmlName": "snapshotTaskDetail" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Any tags assigned to the import snapshot task.

", + "smithy.api#xmlName": "tagSet" } } - }, - "traits": { - "smithy.api#documentation": "

Describes an IAM instance profile.

" } }, - "com.amazonaws.ec2#IamInstanceProfileAssociation": { + "com.amazonaws.ec2#ImportSnapshotTask": { "type": "structure", "members": { - "AssociationId": { + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AssociationId", - "smithy.api#documentation": "

The ID of the association.

", - "smithy.api#xmlName": "associationId" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A description of the import snapshot task.

", + "smithy.api#xmlName": "description" } }, - "InstanceId": { + "ImportTaskId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#documentation": "

The ID of the instance.

", - "smithy.api#xmlName": "instanceId" - } - }, - "IamInstanceProfile": { - "target": "com.amazonaws.ec2#IamInstanceProfile", - "traits": { - "aws.protocols#ec2QueryName": "IamInstanceProfile", - "smithy.api#documentation": "

The IAM instance profile.

", - "smithy.api#xmlName": "iamInstanceProfile" + "aws.protocols#ec2QueryName": "ImportTaskId", + "smithy.api#documentation": "

The ID of the import snapshot task.

", + "smithy.api#xmlName": "importTaskId" } }, - "State": { - "target": "com.amazonaws.ec2#IamInstanceProfileAssociationState", + "SnapshotTaskDetail": { + "target": "com.amazonaws.ec2#SnapshotTaskDetail", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the association.

", - "smithy.api#xmlName": "state" + "aws.protocols#ec2QueryName": "SnapshotTaskDetail", + "smithy.api#documentation": "

Describes an import snapshot task.

", + "smithy.api#xmlName": "snapshotTaskDetail" } }, - "Timestamp": { - "target": "com.amazonaws.ec2#DateTime", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "Timestamp", - "smithy.api#documentation": "

The time the IAM instance profile was associated with the instance.

", - "smithy.api#xmlName": "timestamp" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags for the import snapshot task.

", + "smithy.api#xmlName": "tagSet" } } }, "traits": { - "smithy.api#documentation": "

Describes an association between an IAM instance profile and an instance.

" + "smithy.api#documentation": "

Describes an import snapshot task.

" } }, - "com.amazonaws.ec2#IamInstanceProfileAssociationId": { + "com.amazonaws.ec2#ImportSnapshotTaskId": { "type": "string" }, - "com.amazonaws.ec2#IamInstanceProfileAssociationSet": { + "com.amazonaws.ec2#ImportSnapshotTaskIdList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#IamInstanceProfileAssociation", + "target": "com.amazonaws.ec2#ImportSnapshotTaskId", + "traits": { + "smithy.api#xmlName": "ImportTaskId" + } + } + }, + "com.amazonaws.ec2#ImportSnapshotTaskList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ImportSnapshotTask", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#IamInstanceProfileAssociationState": { - "type": "enum", + "com.amazonaws.ec2#ImportTaskId": { + "type": "string" + }, + "com.amazonaws.ec2#ImportTaskIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ImportImageTaskId", + "traits": { + "smithy.api#xmlName": "ImportTaskId" + } + } + }, + "com.amazonaws.ec2#ImportVolume": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ImportVolumeRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ImportVolumeResult" + }, + "traits": { + "smithy.api#documentation": "

Creates an import volume task using metadata from the specified disk image.

\n

This API action supports only single-volume VMs. To import multi-volume VMs, use \n ImportImage instead. To import a disk to a snapshot, use\n ImportSnapshot instead.

\n

This API action is not supported by the Command Line Interface (CLI). For \n information about using the Amazon EC2 CLI, which is deprecated, see Importing Disks to Amazon EBS in the Amazon EC2 CLI Reference PDF file.

\n

For information about the import manifest referenced by this API action, see VM Import Manifest.

" + } + }, + "com.amazonaws.ec2#ImportVolumeRequest": { + "type": "structure", "members": { - "ASSOCIATING": { - "target": "smithy.api#Unit", + "AvailabilityZone": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "associating" + "aws.protocols#ec2QueryName": "AvailabilityZone", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Availability Zone for the resulting EBS volume.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "availabilityZone" } }, - "ASSOCIATED": { - "target": "smithy.api#Unit", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "associated" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A description of the volume.

", + "smithy.api#xmlName": "description" } }, - "DISASSOCIATING": { - "target": "smithy.api#Unit", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "disassociating" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "DISASSOCIATED": { - "target": "smithy.api#Unit", + "Image": { + "target": "com.amazonaws.ec2#DiskImageDetail", "traits": { - "smithy.api#enumValue": "disassociated" + "aws.protocols#ec2QueryName": "Image", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The disk image.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "image" + } + }, + "Volume": { + "target": "com.amazonaws.ec2#VolumeDetail", + "traits": { + "aws.protocols#ec2QueryName": "Volume", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The volume size.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "volume" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#IamInstanceProfileSpecification": { + "com.amazonaws.ec2#ImportVolumeResult": { "type": "structure", "members": { - "Arn": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "Arn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the instance profile.

", - "smithy.api#xmlName": "arn" - } - }, - "Name": { - "target": "com.amazonaws.ec2#String", + "ConversionTask": { + "target": "com.amazonaws.ec2#ConversionTask", "traits": { - "aws.protocols#ec2QueryName": "Name", - "smithy.api#documentation": "

The name of the instance profile.

", - "smithy.api#xmlName": "name" + "aws.protocols#ec2QueryName": "ConversionTask", + "smithy.api#documentation": "

Information about the conversion task.

", + "smithy.api#xmlName": "conversionTask" } } - }, - "traits": { - "smithy.api#documentation": "

Describes an IAM instance profile.

" } }, - "com.amazonaws.ec2#IcmpTypeCode": { + "com.amazonaws.ec2#ImportVolumeTaskDetails": { "type": "structure", "members": { - "Code": { - "target": "com.amazonaws.ec2#Integer", + "AvailabilityZone": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Code", + "aws.protocols#ec2QueryName": "AvailabilityZone", + "smithy.api#documentation": "

The Availability Zone where the resulting volume will reside.

", + "smithy.api#xmlName": "availabilityZone" + } + }, + "BytesConverted": { + "target": "com.amazonaws.ec2#Long", + "traits": { + "aws.protocols#ec2QueryName": "BytesConverted", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The ICMP code. A value of -1 means all codes for the specified ICMP type.

", - "smithy.api#xmlName": "code" + "smithy.api#documentation": "

The number of bytes converted so far.

", + "smithy.api#xmlName": "bytesConverted" } }, - "Type": { - "target": "com.amazonaws.ec2#Integer", + "Description": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

The description you provided when starting the import volume task.

", + "smithy.api#xmlName": "description" + } + }, + "Image": { + "target": "com.amazonaws.ec2#DiskImageDescription", + "traits": { + "aws.protocols#ec2QueryName": "Image", + "smithy.api#documentation": "

The image.

", + "smithy.api#xmlName": "image" + } + }, + "Volume": { + "target": "com.amazonaws.ec2#DiskImageVolumeDescription", + "traits": { + "aws.protocols#ec2QueryName": "Volume", + "smithy.api#documentation": "

The volume.

", + "smithy.api#xmlName": "volume" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes an import volume task.

" + } + }, + "com.amazonaws.ec2#InferenceAcceleratorInfo": { + "type": "structure", + "members": { + "Accelerators": { + "target": "com.amazonaws.ec2#InferenceDeviceInfoList", "traits": { - "aws.protocols#ec2QueryName": "Type", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The ICMP type. A value of -1 means all types.

", - "smithy.api#xmlName": "type" + "aws.protocols#ec2QueryName": "Accelerators", + "smithy.api#documentation": "

Describes the Inference accelerators for the instance type.

", + "smithy.api#xmlName": "accelerators" } } }, "traits": { - "smithy.api#documentation": "

Describes the ICMP type and code.

" + "smithy.api#documentation": "

Describes the Inference accelerators for the instance type.

" } }, - "com.amazonaws.ec2#IdFormat": { + "com.amazonaws.ec2#InferenceDeviceCount": { + "type": "integer" + }, + "com.amazonaws.ec2#InferenceDeviceInfo": { "type": "structure", "members": { - "Deadline": { - "target": "com.amazonaws.ec2#DateTime", + "Count": { + "target": "com.amazonaws.ec2#InferenceDeviceCount", "traits": { - "aws.protocols#ec2QueryName": "Deadline", - "smithy.api#documentation": "

The date in UTC at which you are permanently switched over to using longer IDs. If a deadline is not yet available for this resource type, this field is not returned.

", - "smithy.api#xmlName": "deadline" + "aws.protocols#ec2QueryName": "Count", + "smithy.api#documentation": "

The number of Inference accelerators for the instance type.

", + "smithy.api#xmlName": "count" } }, - "Resource": { - "target": "com.amazonaws.ec2#String", + "Name": { + "target": "com.amazonaws.ec2#InferenceDeviceName", "traits": { - "aws.protocols#ec2QueryName": "Resource", - "smithy.api#documentation": "

The type of resource.

", - "smithy.api#xmlName": "resource" + "aws.protocols#ec2QueryName": "Name", + "smithy.api#documentation": "

The name of the Inference accelerator.

", + "smithy.api#xmlName": "name" } }, - "UseLongIds": { - "target": "com.amazonaws.ec2#Boolean", + "Manufacturer": { + "target": "com.amazonaws.ec2#InferenceDeviceManufacturerName", "traits": { - "aws.protocols#ec2QueryName": "UseLongIds", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether longer IDs (17-character IDs) are enabled for the resource.

", - "smithy.api#xmlName": "useLongIds" + "aws.protocols#ec2QueryName": "Manufacturer", + "smithy.api#documentation": "

The manufacturer of the Inference accelerator.

", + "smithy.api#xmlName": "manufacturer" } } }, "traits": { - "smithy.api#documentation": "

Describes the ID format for a resource.

" + "smithy.api#documentation": "

Describes the Inference accelerators for the instance type.

" } }, - "com.amazonaws.ec2#IdFormatList": { + "com.amazonaws.ec2#InferenceDeviceInfoList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#IdFormat", - "traits": { - "smithy.api#xmlName": "item" - } + "target": "com.amazonaws.ec2#InferenceDeviceInfo" } }, - "com.amazonaws.ec2#Igmpv2SupportValue": { - "type": "enum", - "members": { - "enable": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "enable" - } - }, - "disable": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "disable" - } + "com.amazonaws.ec2#InferenceDeviceManufacturerName": { + "type": "string" + }, + "com.amazonaws.ec2#InferenceDeviceName": { + "type": "string" + }, + "com.amazonaws.ec2#InsideCidrBlocksStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#Image": { + "com.amazonaws.ec2#Instance": { "type": "structure", "members": { - "Architecture": { - "target": "com.amazonaws.ec2#ArchitectureValues", - "traits": { - "aws.protocols#ec2QueryName": "Architecture", - "smithy.api#documentation": "

The architecture of the image.

", - "smithy.api#xmlName": "architecture" - } - }, - "CreationDate": { - "target": "com.amazonaws.ec2#String", + "AmiLaunchIndex": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "CreationDate", - "smithy.api#documentation": "

The date and time the image was created.

", - "smithy.api#xmlName": "creationDate" + "aws.protocols#ec2QueryName": "AmiLaunchIndex", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The AMI launch index, which can be used to find this instance in the launch\n group.

", + "smithy.api#xmlName": "amiLaunchIndex" } }, "ImageId": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "ImageId", - "smithy.api#documentation": "

The ID of the AMI.

", + "smithy.api#documentation": "

The ID of the AMI used to launch the instance.

", "smithy.api#xmlName": "imageId" } }, - "ImageLocation": { + "InstanceId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ImageLocation", - "smithy.api#documentation": "

The location of the AMI.

", - "smithy.api#xmlName": "imageLocation" - } - }, - "ImageType": { - "target": "com.amazonaws.ec2#ImageTypeValues", - "traits": { - "aws.protocols#ec2QueryName": "ImageType", - "smithy.api#documentation": "

The type of image.

", - "smithy.api#xmlName": "imageType" + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#documentation": "

The ID of the instance.

", + "smithy.api#xmlName": "instanceId" } }, - "Public": { - "target": "com.amazonaws.ec2#Boolean", + "InstanceType": { + "target": "com.amazonaws.ec2#InstanceType", "traits": { - "aws.protocols#ec2QueryName": "IsPublic", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the image has public launch permissions. The value is true if\n\t\t\t\tthis image has public launch permissions or false\n\t\t\t\tif it has only implicit and explicit launch permissions.

", - "smithy.api#xmlName": "isPublic" + "aws.protocols#ec2QueryName": "InstanceType", + "smithy.api#documentation": "

The instance type.

", + "smithy.api#xmlName": "instanceType" } }, "KernelId": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "KernelId", - "smithy.api#documentation": "

The kernel associated with the image, if any. Only applicable for machine images.

", + "smithy.api#documentation": "

The kernel associated with this instance, if applicable.

", "smithy.api#xmlName": "kernelId" } }, - "OwnerId": { + "KeyName": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ImageOwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the image.

", - "smithy.api#xmlName": "imageOwnerId" + "aws.protocols#ec2QueryName": "KeyName", + "smithy.api#documentation": "

The name of the key pair, if this instance was launched with an associated key\n pair.

", + "smithy.api#xmlName": "keyName" } }, - "Platform": { - "target": "com.amazonaws.ec2#PlatformValues", + "LaunchTime": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "Platform", - "smithy.api#documentation": "

This value is set to windows for Windows AMIs; otherwise, it is blank.

", - "smithy.api#xmlName": "platform" + "aws.protocols#ec2QueryName": "LaunchTime", + "smithy.api#documentation": "

The time the instance was launched.

", + "smithy.api#xmlName": "launchTime" } }, - "PlatformDetails": { - "target": "com.amazonaws.ec2#String", + "Monitoring": { + "target": "com.amazonaws.ec2#Monitoring", "traits": { - "aws.protocols#ec2QueryName": "PlatformDetails", - "smithy.api#documentation": "

The platform details associated with the billing code of the AMI. For more information,\n see Understanding \n AMI billing in the Amazon Elastic Compute Cloud User Guide.

", - "smithy.api#xmlName": "platformDetails" + "aws.protocols#ec2QueryName": "Monitoring", + "smithy.api#documentation": "

The monitoring for the instance.

", + "smithy.api#xmlName": "monitoring" } }, - "UsageOperation": { - "target": "com.amazonaws.ec2#String", + "Placement": { + "target": "com.amazonaws.ec2#Placement", "traits": { - "aws.protocols#ec2QueryName": "UsageOperation", - "smithy.api#documentation": "

The operation of the Amazon EC2 instance and the billing code that is associated with the AMI.\n usageOperation corresponds to the lineitem/Operation column on your Amazon Web Services Cost and Usage Report and in the Amazon Web Services Price\n \tList API. You can view these fields on the Instances or \n \tAMIs pages in the Amazon EC2 console, or in the responses that are \n \treturned by the DescribeImages \n \tcommand in the Amazon EC2 API, or the describe-images \n \tcommand in the CLI.

", - "smithy.api#xmlName": "usageOperation" + "aws.protocols#ec2QueryName": "Placement", + "smithy.api#documentation": "

The location where the instance launched, if applicable.

", + "smithy.api#xmlName": "placement" } }, - "ProductCodes": { - "target": "com.amazonaws.ec2#ProductCodeList", + "Platform": { + "target": "com.amazonaws.ec2#PlatformValues", "traits": { - "aws.protocols#ec2QueryName": "ProductCodes", - "smithy.api#documentation": "

Any product codes associated with the AMI.

", - "smithy.api#xmlName": "productCodes" + "aws.protocols#ec2QueryName": "Platform", + "smithy.api#documentation": "

The value is Windows for Windows instances; otherwise blank.

", + "smithy.api#xmlName": "platform" } }, - "RamdiskId": { + "PrivateDnsName": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "RamdiskId", - "smithy.api#documentation": "

The RAM disk associated with the image, if any. Only applicable for machine images.

", - "smithy.api#xmlName": "ramdiskId" - } - }, - "State": { - "target": "com.amazonaws.ec2#ImageState", - "traits": { - "aws.protocols#ec2QueryName": "ImageState", - "smithy.api#documentation": "

The current state of the AMI. If the state is available, the image is successfully registered and can be used to launch an instance.

", - "smithy.api#xmlName": "imageState" - } - }, - "BlockDeviceMappings": { - "target": "com.amazonaws.ec2#BlockDeviceMappingList", - "traits": { - "aws.protocols#ec2QueryName": "BlockDeviceMapping", - "smithy.api#documentation": "

Any block device mapping entries.

", - "smithy.api#xmlName": "blockDeviceMapping" + "aws.protocols#ec2QueryName": "PrivateDnsName", + "smithy.api#documentation": "

(IPv4 only) The private DNS hostname name assigned to the instance. This DNS hostname\n can only be used inside the Amazon EC2 network. This name is not available until the\n instance enters the running state.

\n

[EC2-VPC] The Amazon-provided DNS server resolves Amazon-provided private DNS\n hostnames if you've enabled DNS resolution and DNS hostnames in your VPC. If you are not\n using the Amazon-provided DNS server in your VPC, your custom domain name servers must\n resolve the hostname as appropriate.

", + "smithy.api#xmlName": "privateDnsName" } }, - "Description": { + "PrivateIpAddress": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

The description of the AMI that was provided during image creation.

", - "smithy.api#xmlName": "description" - } - }, - "EnaSupport": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "EnaSupport", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Specifies whether enhanced networking with ENA is enabled.

", - "smithy.api#xmlName": "enaSupport" + "aws.protocols#ec2QueryName": "PrivateIpAddress", + "smithy.api#documentation": "

The private IPv4 address assigned to the instance.

", + "smithy.api#xmlName": "privateIpAddress" } }, - "Hypervisor": { - "target": "com.amazonaws.ec2#HypervisorType", + "ProductCodes": { + "target": "com.amazonaws.ec2#ProductCodeList", "traits": { - "aws.protocols#ec2QueryName": "Hypervisor", - "smithy.api#documentation": "

The hypervisor type of the image.

", - "smithy.api#xmlName": "hypervisor" + "aws.protocols#ec2QueryName": "ProductCodes", + "smithy.api#documentation": "

The product codes attached to this instance, if applicable.

", + "smithy.api#xmlName": "productCodes" } }, - "ImageOwnerAlias": { + "PublicDnsName": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ImageOwnerAlias", - "smithy.api#documentation": "

The Amazon Web Services account alias (for example, amazon, self) or\n the Amazon Web Services account ID of the AMI owner.

", - "smithy.api#xmlName": "imageOwnerAlias" + "aws.protocols#ec2QueryName": "DnsName", + "smithy.api#documentation": "

(IPv4 only) The public DNS name assigned to the instance. This name is not available\n until the instance enters the running state. For EC2-VPC, this name is only\n available if you've enabled DNS hostnames for your VPC.

", + "smithy.api#xmlName": "dnsName" } }, - "Name": { + "PublicIpAddress": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Name", - "smithy.api#documentation": "

The name of the AMI that was provided during image creation.

", - "smithy.api#xmlName": "name" + "aws.protocols#ec2QueryName": "IpAddress", + "smithy.api#documentation": "

The public IPv4 address, or the Carrier IP address assigned to the instance, if\n applicable.

\n

A Carrier IP address only applies to an instance launched in a subnet associated with\n a Wavelength Zone.

", + "smithy.api#xmlName": "ipAddress" } }, - "RootDeviceName": { + "RamdiskId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "RootDeviceName", - "smithy.api#documentation": "

The device name of the root device volume (for example, /dev/sda1).

", - "smithy.api#xmlName": "rootDeviceName" + "aws.protocols#ec2QueryName": "RamdiskId", + "smithy.api#documentation": "

The RAM disk associated with this instance, if applicable.

", + "smithy.api#xmlName": "ramdiskId" } }, - "RootDeviceType": { - "target": "com.amazonaws.ec2#DeviceType", + "State": { + "target": "com.amazonaws.ec2#InstanceState", "traits": { - "aws.protocols#ec2QueryName": "RootDeviceType", - "smithy.api#documentation": "

The type of root device used by the AMI. The AMI can use an Amazon EBS volume or an instance store volume.

", - "smithy.api#xmlName": "rootDeviceType" + "aws.protocols#ec2QueryName": "InstanceState", + "smithy.api#documentation": "

The current state of the instance.

", + "smithy.api#xmlName": "instanceState" } }, - "SriovNetSupport": { + "StateTransitionReason": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SriovNetSupport", - "smithy.api#documentation": "

Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

", - "smithy.api#xmlName": "sriovNetSupport" - } - }, - "StateReason": { - "target": "com.amazonaws.ec2#StateReason", - "traits": { - "aws.protocols#ec2QueryName": "StateReason", - "smithy.api#documentation": "

The reason for the state change.

", - "smithy.api#xmlName": "stateReason" - } - }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", - "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags assigned to the image.

", - "smithy.api#xmlName": "tagSet" - } - }, - "VirtualizationType": { - "target": "com.amazonaws.ec2#VirtualizationType", - "traits": { - "aws.protocols#ec2QueryName": "VirtualizationType", - "smithy.api#documentation": "

The type of virtualization of the AMI.

", - "smithy.api#xmlName": "virtualizationType" - } - }, - "BootMode": { - "target": "com.amazonaws.ec2#BootModeValues", - "traits": { - "aws.protocols#ec2QueryName": "BootMode", - "smithy.api#documentation": "

The boot mode of the image. For more information, see Boot modes in the\n Amazon Elastic Compute Cloud User Guide.

", - "smithy.api#xmlName": "bootMode" + "aws.protocols#ec2QueryName": "Reason", + "smithy.api#documentation": "

The reason for the most recent state transition. This might be an empty string.

", + "smithy.api#xmlName": "reason" } }, - "TpmSupport": { - "target": "com.amazonaws.ec2#TpmSupportValues", + "SubnetId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TpmSupport", - "smithy.api#documentation": "

If the image is configured for NitroTPM support, the value is v2.0. \n For more information, see NitroTPM in the\n Amazon Elastic Compute Cloud User Guide.

", - "smithy.api#xmlName": "tpmSupport" + "aws.protocols#ec2QueryName": "SubnetId", + "smithy.api#documentation": "

[EC2-VPC] The ID of the subnet in which the instance is running.

", + "smithy.api#xmlName": "subnetId" } }, - "DeprecationTime": { + "VpcId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DeprecationTime", - "smithy.api#documentation": "

The date and time to deprecate the AMI, in UTC, in the following format: \n YYYY-MM-DDTHH:MM:SSZ.\n If you specified a value for seconds, Amazon EC2 rounds the seconds to the\n nearest minute.

", - "smithy.api#xmlName": "deprecationTime" + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#documentation": "

[EC2-VPC] The ID of the VPC in which the instance is running.

", + "smithy.api#xmlName": "vpcId" } }, - "ImdsSupport": { - "target": "com.amazonaws.ec2#ImdsSupportValues", + "Architecture": { + "target": "com.amazonaws.ec2#ArchitectureValues", "traits": { - "aws.protocols#ec2QueryName": "ImdsSupport", - "smithy.api#documentation": "

If v2.0, it indicates that IMDSv2 is specified in the AMI. Instances launched\n from this AMI will have HttpTokens automatically set to required so\n that, by default, the instance requires that IMDSv2 is used when requesting instance metadata.\n In addition, HttpPutResponseHopLimit is set to 2. For more\n information, see Configure\n the AMI in the Amazon Elastic Compute Cloud User Guide.

", - "smithy.api#xmlName": "imdsSupport" + "aws.protocols#ec2QueryName": "Architecture", + "smithy.api#documentation": "

The architecture of the image.

", + "smithy.api#xmlName": "architecture" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes an image.

" - } - }, - "com.amazonaws.ec2#ImageAttribute": { - "type": "structure", - "members": { + }, "BlockDeviceMappings": { - "target": "com.amazonaws.ec2#BlockDeviceMappingList", + "target": "com.amazonaws.ec2#InstanceBlockDeviceMappingList", "traits": { "aws.protocols#ec2QueryName": "BlockDeviceMapping", - "smithy.api#documentation": "

The block device mapping entries.

", + "smithy.api#documentation": "

Any block device mapping entries for the instance.

", "smithy.api#xmlName": "blockDeviceMapping" } }, - "ImageId": { + "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ImageId", - "smithy.api#documentation": "

The ID of the AMI.

", - "smithy.api#xmlName": "imageId" + "aws.protocols#ec2QueryName": "ClientToken", + "smithy.api#documentation": "

The idempotency token you provided when you launched the instance, if\n applicable.

", + "smithy.api#xmlName": "clientToken" } }, - "LaunchPermissions": { - "target": "com.amazonaws.ec2#LaunchPermissionList", + "EbsOptimized": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "LaunchPermission", - "smithy.api#documentation": "

The launch permissions.

", - "smithy.api#xmlName": "launchPermission" + "aws.protocols#ec2QueryName": "EbsOptimized", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the instance is optimized for Amazon EBS I/O. This optimization\n provides dedicated throughput to Amazon EBS and an optimized configuration stack to\n provide optimal I/O performance. This optimization isn't available with all instance\n types. Additional usage charges apply when using an EBS Optimized instance.

", + "smithy.api#xmlName": "ebsOptimized" } }, - "ProductCodes": { - "target": "com.amazonaws.ec2#ProductCodeList", + "EnaSupport": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "ProductCodes", - "smithy.api#documentation": "

The product codes.

", - "smithy.api#xmlName": "productCodes" + "aws.protocols#ec2QueryName": "EnaSupport", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Specifies whether enhanced networking with ENA is enabled.

", + "smithy.api#xmlName": "enaSupport" } }, - "Description": { - "target": "com.amazonaws.ec2#AttributeValue", + "Hypervisor": { + "target": "com.amazonaws.ec2#HypervisorType", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

A description for the AMI.

", - "smithy.api#xmlName": "description" + "aws.protocols#ec2QueryName": "Hypervisor", + "smithy.api#documentation": "

The hypervisor type of the instance. The value xen is used for both Xen\n and Nitro hypervisors.

", + "smithy.api#xmlName": "hypervisor" } }, - "KernelId": { - "target": "com.amazonaws.ec2#AttributeValue", + "IamInstanceProfile": { + "target": "com.amazonaws.ec2#IamInstanceProfile", "traits": { - "aws.protocols#ec2QueryName": "Kernel", - "smithy.api#documentation": "

The kernel ID.

", - "smithy.api#xmlName": "kernel" + "aws.protocols#ec2QueryName": "IamInstanceProfile", + "smithy.api#documentation": "

The IAM instance profile associated with the instance, if\n applicable.

", + "smithy.api#xmlName": "iamInstanceProfile" } }, - "RamdiskId": { - "target": "com.amazonaws.ec2#AttributeValue", + "InstanceLifecycle": { + "target": "com.amazonaws.ec2#InstanceLifecycleType", "traits": { - "aws.protocols#ec2QueryName": "Ramdisk", - "smithy.api#documentation": "

The RAM disk ID.

", - "smithy.api#xmlName": "ramdisk" + "aws.protocols#ec2QueryName": "InstanceLifecycle", + "smithy.api#documentation": "

Indicates whether this is a Spot Instance or a Scheduled Instance.

", + "smithy.api#xmlName": "instanceLifecycle" } }, - "SriovNetSupport": { - "target": "com.amazonaws.ec2#AttributeValue", + "ElasticGpuAssociations": { + "target": "com.amazonaws.ec2#ElasticGpuAssociationList", "traits": { - "aws.protocols#ec2QueryName": "SriovNetSupport", - "smithy.api#documentation": "

Indicates whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

", - "smithy.api#xmlName": "sriovNetSupport" + "aws.protocols#ec2QueryName": "ElasticGpuAssociationSet", + "smithy.api#documentation": "

The Elastic GPU associated with the instance.

", + "smithy.api#xmlName": "elasticGpuAssociationSet" } }, - "BootMode": { - "target": "com.amazonaws.ec2#AttributeValue", + "ElasticInferenceAcceleratorAssociations": { + "target": "com.amazonaws.ec2#ElasticInferenceAcceleratorAssociationList", "traits": { - "aws.protocols#ec2QueryName": "BootMode", - "smithy.api#documentation": "

The boot mode.

", - "smithy.api#xmlName": "bootMode" + "aws.protocols#ec2QueryName": "ElasticInferenceAcceleratorAssociationSet", + "smithy.api#documentation": "

The elastic inference accelerator associated with the instance.

", + "smithy.api#xmlName": "elasticInferenceAcceleratorAssociationSet" } }, - "TpmSupport": { - "target": "com.amazonaws.ec2#AttributeValue", + "NetworkInterfaces": { + "target": "com.amazonaws.ec2#InstanceNetworkInterfaceList", "traits": { - "aws.protocols#ec2QueryName": "TpmSupport", - "smithy.api#documentation": "

If the image is configured for NitroTPM support, the value is v2.0.

", - "smithy.api#xmlName": "tpmSupport" + "aws.protocols#ec2QueryName": "NetworkInterfaceSet", + "smithy.api#documentation": "

[EC2-VPC] The network interfaces for the instance.

", + "smithy.api#xmlName": "networkInterfaceSet" } }, - "UefiData": { - "target": "com.amazonaws.ec2#AttributeValue", + "OutpostArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "UefiData", - "smithy.api#documentation": "

Base64 representation of the non-volatile UEFI variable store. To retrieve the UEFI data,\n use the GetInstanceUefiData command. You can inspect and modify the UEFI data by using the\n python-uefivars tool on\n GitHub. For more information, see UEFI Secure Boot in the\n Amazon Elastic Compute Cloud User Guide.

", - "smithy.api#xmlName": "uefiData" + "aws.protocols#ec2QueryName": "OutpostArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Outpost.

", + "smithy.api#xmlName": "outpostArn" } }, - "LastLaunchedTime": { - "target": "com.amazonaws.ec2#AttributeValue", + "RootDeviceName": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "LastLaunchedTime", - "smithy.api#documentation": "

The date and time, in ISO 8601 date-time\n format, when the AMI was last used to launch an EC2 instance. When the AMI is used\n to launch an instance, there is a 24-hour delay before that usage is reported.

\n \n

\n lastLaunchedTime data is available starting April 2017.

\n
", - "smithy.api#xmlName": "lastLaunchedTime" + "aws.protocols#ec2QueryName": "RootDeviceName", + "smithy.api#documentation": "

The device name of the root device volume (for example,\n /dev/sda1).

", + "smithy.api#xmlName": "rootDeviceName" } }, - "ImdsSupport": { - "target": "com.amazonaws.ec2#AttributeValue", - "traits": { - "aws.protocols#ec2QueryName": "ImdsSupport", - "smithy.api#documentation": "

If v2.0, it indicates that IMDSv2 is specified in the AMI. Instances launched\n from this AMI will have HttpTokens automatically set to required so\n that, by default, the instance requires that IMDSv2 is used when requesting instance metadata.\n In addition, HttpPutResponseHopLimit is set to 2. For more\n information, see Configure\n the AMI in the Amazon Elastic Compute Cloud User Guide.

", - "smithy.api#xmlName": "imdsSupport" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes an image attribute.

" - } - }, - "com.amazonaws.ec2#ImageAttributeName": { - "type": "enum", - "members": { - "description": { - "target": "smithy.api#Unit", + "RootDeviceType": { + "target": "com.amazonaws.ec2#DeviceType", "traits": { - "smithy.api#enumValue": "description" + "aws.protocols#ec2QueryName": "RootDeviceType", + "smithy.api#documentation": "

The root device type used by the AMI. The AMI can use an EBS volume or an instance\n store volume.

", + "smithy.api#xmlName": "rootDeviceType" } }, - "kernel": { - "target": "smithy.api#Unit", + "SecurityGroups": { + "target": "com.amazonaws.ec2#GroupIdentifierList", "traits": { - "smithy.api#enumValue": "kernel" + "aws.protocols#ec2QueryName": "GroupSet", + "smithy.api#documentation": "

The security groups for the instance.

", + "smithy.api#xmlName": "groupSet" } }, - "ramdisk": { - "target": "smithy.api#Unit", + "SourceDestCheck": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "ramdisk" + "aws.protocols#ec2QueryName": "SourceDestCheck", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether source/destination checking is enabled.

", + "smithy.api#xmlName": "sourceDestCheck" } }, - "launchPermission": { - "target": "smithy.api#Unit", + "SpotInstanceRequestId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "launchPermission" + "aws.protocols#ec2QueryName": "SpotInstanceRequestId", + "smithy.api#documentation": "

If the request is a Spot Instance request, the ID of the request.

", + "smithy.api#xmlName": "spotInstanceRequestId" } }, - "productCodes": { - "target": "smithy.api#Unit", + "SriovNetSupport": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "productCodes" + "aws.protocols#ec2QueryName": "SriovNetSupport", + "smithy.api#documentation": "

Specifies whether enhanced networking with the Intel 82599 Virtual Function interface\n is enabled.

", + "smithy.api#xmlName": "sriovNetSupport" } }, - "blockDeviceMapping": { - "target": "smithy.api#Unit", + "StateReason": { + "target": "com.amazonaws.ec2#StateReason", "traits": { - "smithy.api#enumValue": "blockDeviceMapping" + "aws.protocols#ec2QueryName": "StateReason", + "smithy.api#documentation": "

The reason for the most recent state transition.

", + "smithy.api#xmlName": "stateReason" } }, - "sriovNetSupport": { - "target": "smithy.api#Unit", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "smithy.api#enumValue": "sriovNetSupport" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Any tags assigned to the instance.

", + "smithy.api#xmlName": "tagSet" } }, - "bootMode": { - "target": "smithy.api#Unit", + "VirtualizationType": { + "target": "com.amazonaws.ec2#VirtualizationType", "traits": { - "smithy.api#enumValue": "bootMode" + "aws.protocols#ec2QueryName": "VirtualizationType", + "smithy.api#documentation": "

The virtualization type of the instance.

", + "smithy.api#xmlName": "virtualizationType" } }, - "tpmSupport": { - "target": "smithy.api#Unit", + "CpuOptions": { + "target": "com.amazonaws.ec2#CpuOptions", "traits": { - "smithy.api#enumValue": "tpmSupport" + "aws.protocols#ec2QueryName": "CpuOptions", + "smithy.api#documentation": "

The CPU options for the instance.

", + "smithy.api#xmlName": "cpuOptions" } }, - "uefiData": { - "target": "smithy.api#Unit", + "CapacityReservationId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "uefiData" + "aws.protocols#ec2QueryName": "CapacityReservationId", + "smithy.api#documentation": "

The ID of the Capacity Reservation.

", + "smithy.api#xmlName": "capacityReservationId" } }, - "lastLaunchedTime": { - "target": "smithy.api#Unit", + "CapacityReservationSpecification": { + "target": "com.amazonaws.ec2#CapacityReservationSpecificationResponse", "traits": { - "smithy.api#enumValue": "lastLaunchedTime" + "aws.protocols#ec2QueryName": "CapacityReservationSpecification", + "smithy.api#documentation": "

Information about the Capacity Reservation targeting option.

", + "smithy.api#xmlName": "capacityReservationSpecification" } }, - "imdsSupport": { - "target": "smithy.api#Unit", + "HibernationOptions": { + "target": "com.amazonaws.ec2#HibernationOptions", "traits": { - "smithy.api#enumValue": "imdsSupport" + "aws.protocols#ec2QueryName": "HibernationOptions", + "smithy.api#documentation": "

Indicates whether the instance is enabled for hibernation.

", + "smithy.api#xmlName": "hibernationOptions" } - } - } - }, - "com.amazonaws.ec2#ImageDiskContainer": { - "type": "structure", - "members": { - "Description": { - "target": "com.amazonaws.ec2#String", + }, + "Licenses": { + "target": "com.amazonaws.ec2#LicenseList", "traits": { - "smithy.api#documentation": "

The description of the disk image.

" + "aws.protocols#ec2QueryName": "LicenseSet", + "smithy.api#documentation": "

The license configurations for the instance.

", + "smithy.api#xmlName": "licenseSet" } }, - "DeviceName": { - "target": "com.amazonaws.ec2#String", + "MetadataOptions": { + "target": "com.amazonaws.ec2#InstanceMetadataOptionsResponse", "traits": { - "smithy.api#documentation": "

The block device mapping for the disk.

" + "aws.protocols#ec2QueryName": "MetadataOptions", + "smithy.api#documentation": "

The metadata options for the instance.

", + "smithy.api#xmlName": "metadataOptions" } }, - "Format": { - "target": "com.amazonaws.ec2#String", + "EnclaveOptions": { + "target": "com.amazonaws.ec2#EnclaveOptions", "traits": { - "smithy.api#documentation": "

The format of the disk image being imported.

\n

Valid values: OVA | VHD | VHDX | VMDK | RAW \n

" + "aws.protocols#ec2QueryName": "EnclaveOptions", + "smithy.api#documentation": "

Indicates whether the instance is enabled for Amazon Web Services Nitro\n Enclaves.

", + "smithy.api#xmlName": "enclaveOptions" } }, - "SnapshotId": { - "target": "com.amazonaws.ec2#SnapshotId", + "BootMode": { + "target": "com.amazonaws.ec2#BootModeValues", "traits": { - "smithy.api#documentation": "

The ID of the EBS snapshot to be used for importing the snapshot.

" + "aws.protocols#ec2QueryName": "BootMode", + "smithy.api#documentation": "

The boot mode of the instance. For more information, see Boot modes in the\n Amazon EC2 User Guide.

", + "smithy.api#xmlName": "bootMode" } }, - "Url": { + "PlatformDetails": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The URL to the Amazon S3-based disk image being imported. The URL can either be a https URL (https://..) or an\n Amazon S3 URL (s3://..)

" + "aws.protocols#ec2QueryName": "PlatformDetails", + "smithy.api#documentation": "

The platform details value for the instance. For more information, see AMI\n billing information fields in the\n Amazon EC2 User Guide.

", + "smithy.api#xmlName": "platformDetails" } }, - "UserBucket": { - "target": "com.amazonaws.ec2#UserBucket", + "UsageOperation": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The S3 bucket for the disk image.

" + "aws.protocols#ec2QueryName": "UsageOperation", + "smithy.api#documentation": "

The usage operation value for the instance. For more information, see AMI\n billing information fields in the\n Amazon EC2 User Guide.

", + "smithy.api#xmlName": "usageOperation" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the disk container object for an import image task.

" - } - }, - "com.amazonaws.ec2#ImageDiskContainerList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ImageDiskContainer", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#ImageId": { - "type": "string" - }, - "com.amazonaws.ec2#ImageIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ImageId", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#ImageIdStringList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ImageId", - "traits": { - "smithy.api#xmlName": "ImageId" - } - } - }, - "com.amazonaws.ec2#ImageList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Image", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#ImageRecycleBinInfo": { - "type": "structure", - "members": { - "ImageId": { - "target": "com.amazonaws.ec2#String", + }, + "UsageOperationUpdateTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "aws.protocols#ec2QueryName": "ImageId", - "smithy.api#documentation": "

The ID of the AMI.

", - "smithy.api#xmlName": "imageId" + "aws.protocols#ec2QueryName": "UsageOperationUpdateTime", + "smithy.api#documentation": "

The time that the usage operation was last updated.

", + "smithy.api#xmlName": "usageOperationUpdateTime" } }, - "Name": { - "target": "com.amazonaws.ec2#String", + "PrivateDnsNameOptions": { + "target": "com.amazonaws.ec2#PrivateDnsNameOptionsResponse", "traits": { - "aws.protocols#ec2QueryName": "Name", - "smithy.api#documentation": "

The name of the AMI.

", - "smithy.api#xmlName": "name" + "aws.protocols#ec2QueryName": "PrivateDnsNameOptions", + "smithy.api#documentation": "

The options for the instance hostname.

", + "smithy.api#xmlName": "privateDnsNameOptions" } }, - "Description": { + "Ipv6Address": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

The description of the AMI.

", - "smithy.api#xmlName": "description" + "aws.protocols#ec2QueryName": "Ipv6Address", + "smithy.api#documentation": "

The IPv6 address assigned to the instance.

", + "smithy.api#xmlName": "ipv6Address" } }, - "RecycleBinEnterTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "TpmSupport": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "RecycleBinEnterTime", - "smithy.api#documentation": "

The date and time when the AMI entered the Recycle Bin.

", - "smithy.api#xmlName": "recycleBinEnterTime" + "aws.protocols#ec2QueryName": "TpmSupport", + "smithy.api#documentation": "

If the instance is configured for NitroTPM support, the value is v2.0.\n For more information, see NitroTPM in the\n Amazon EC2 User Guide.

", + "smithy.api#xmlName": "tpmSupport" } }, - "RecycleBinExitTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "MaintenanceOptions": { + "target": "com.amazonaws.ec2#InstanceMaintenanceOptions", "traits": { - "aws.protocols#ec2QueryName": "RecycleBinExitTime", - "smithy.api#documentation": "

The date and time when the AMI is to be permanently deleted from the Recycle Bin.

", - "smithy.api#xmlName": "recycleBinExitTime" + "aws.protocols#ec2QueryName": "MaintenanceOptions", + "smithy.api#documentation": "

Provides information on the recovery and maintenance options of your instance.

", + "smithy.api#xmlName": "maintenanceOptions" } } }, "traits": { - "smithy.api#documentation": "

Information about an AMI that is currently in the Recycle Bin.

" - } - }, - "com.amazonaws.ec2#ImageRecycleBinInfoList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ImageRecycleBinInfo", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

Describes an instance.

" } }, - "com.amazonaws.ec2#ImageState": { - "type": "enum", + "com.amazonaws.ec2#InstanceAttribute": { + "type": "structure", "members": { - "pending": { - "target": "smithy.api#Unit", + "Groups": { + "target": "com.amazonaws.ec2#GroupIdentifierList", "traits": { - "smithy.api#enumValue": "pending" + "aws.protocols#ec2QueryName": "GroupSet", + "smithy.api#documentation": "

The security groups associated with the instance.

", + "smithy.api#xmlName": "groupSet" } }, - "available": { - "target": "smithy.api#Unit", + "BlockDeviceMappings": { + "target": "com.amazonaws.ec2#InstanceBlockDeviceMappingList", "traits": { - "smithy.api#enumValue": "available" + "aws.protocols#ec2QueryName": "BlockDeviceMapping", + "smithy.api#documentation": "

The block device mapping of the instance.

", + "smithy.api#xmlName": "blockDeviceMapping" } }, - "invalid": { - "target": "smithy.api#Unit", + "DisableApiTermination": { + "target": "com.amazonaws.ec2#AttributeBooleanValue", "traits": { - "smithy.api#enumValue": "invalid" + "aws.protocols#ec2QueryName": "DisableApiTermination", + "smithy.api#documentation": "

If the value is true, you can't terminate the instance through the Amazon\n EC2 console, CLI, or API; otherwise, you can.

", + "smithy.api#xmlName": "disableApiTermination" } }, - "deregistered": { - "target": "smithy.api#Unit", + "EnaSupport": { + "target": "com.amazonaws.ec2#AttributeBooleanValue", "traits": { - "smithy.api#enumValue": "deregistered" + "aws.protocols#ec2QueryName": "EnaSupport", + "smithy.api#documentation": "

Indicates whether enhanced networking with ENA is enabled.

", + "smithy.api#xmlName": "enaSupport" } }, - "transient": { - "target": "smithy.api#Unit", + "EnclaveOptions": { + "target": "com.amazonaws.ec2#EnclaveOptions", "traits": { - "smithy.api#enumValue": "transient" + "aws.protocols#ec2QueryName": "EnclaveOptions", + "smithy.api#documentation": "

To enable the instance for Amazon Web Services Nitro Enclaves, set this parameter to\n true; otherwise, set it to false.

", + "smithy.api#xmlName": "enclaveOptions" } }, - "failed": { - "target": "smithy.api#Unit", + "EbsOptimized": { + "target": "com.amazonaws.ec2#AttributeBooleanValue", "traits": { - "smithy.api#enumValue": "failed" + "aws.protocols#ec2QueryName": "EbsOptimized", + "smithy.api#documentation": "

Indicates whether the instance is optimized for Amazon EBS I/O.

", + "smithy.api#xmlName": "ebsOptimized" } }, - "error": { - "target": "smithy.api#Unit", + "InstanceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "error" + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#documentation": "

The ID of the instance.

", + "smithy.api#xmlName": "instanceId" } - } - } - }, - "com.amazonaws.ec2#ImageTypeValues": { - "type": "enum", - "members": { - "machine": { - "target": "smithy.api#Unit", + }, + "InstanceInitiatedShutdownBehavior": { + "target": "com.amazonaws.ec2#AttributeValue", "traits": { - "smithy.api#enumValue": "machine" + "aws.protocols#ec2QueryName": "InstanceInitiatedShutdownBehavior", + "smithy.api#documentation": "

Indicates whether an instance stops or terminates when you initiate shutdown from the\n instance (using the operating system command for system shutdown).

", + "smithy.api#xmlName": "instanceInitiatedShutdownBehavior" } }, - "kernel": { - "target": "smithy.api#Unit", + "InstanceType": { + "target": "com.amazonaws.ec2#AttributeValue", "traits": { - "smithy.api#enumValue": "kernel" + "aws.protocols#ec2QueryName": "InstanceType", + "smithy.api#documentation": "

The instance type.

", + "smithy.api#xmlName": "instanceType" } }, - "ramdisk": { - "target": "smithy.api#Unit", + "KernelId": { + "target": "com.amazonaws.ec2#AttributeValue", "traits": { - "smithy.api#enumValue": "ramdisk" + "aws.protocols#ec2QueryName": "Kernel", + "smithy.api#documentation": "

The kernel ID.

", + "smithy.api#xmlName": "kernel" } - } - } - }, - "com.amazonaws.ec2#ImdsSupportValues": { - "type": "enum", - "members": { - "v2_0": { - "target": "smithy.api#Unit", + }, + "ProductCodes": { + "target": "com.amazonaws.ec2#ProductCodeList", "traits": { - "smithy.api#enumValue": "v2.0" + "aws.protocols#ec2QueryName": "ProductCodes", + "smithy.api#documentation": "

A list of product codes.

", + "smithy.api#xmlName": "productCodes" } - } - } - }, - "com.amazonaws.ec2#ImportClientVpnClientCertificateRevocationList": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ImportClientVpnClientCertificateRevocationListRequest" - }, - "output": { - "target": "com.amazonaws.ec2#ImportClientVpnClientCertificateRevocationListResult" - }, - "traits": { - "smithy.api#documentation": "

Uploads a client certificate revocation list to the specified Client VPN endpoint. Uploading a client certificate revocation list overwrites the existing client certificate revocation list.

\n\t\t

Uploading a client certificate revocation list resets existing client connections.

" - } - }, - "com.amazonaws.ec2#ImportClientVpnClientCertificateRevocationListRequest": { - "type": "structure", - "members": { - "ClientVpnEndpointId": { - "target": "com.amazonaws.ec2#ClientVpnEndpointId", + }, + "RamdiskId": { + "target": "com.amazonaws.ec2#AttributeValue", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Client VPN endpoint to which the client certificate revocation list applies.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "Ramdisk", + "smithy.api#documentation": "

The RAM disk ID.

", + "smithy.api#xmlName": "ramdisk" } }, - "CertificateRevocationList": { - "target": "com.amazonaws.ec2#String", + "RootDeviceName": { + "target": "com.amazonaws.ec2#AttributeValue", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The client certificate revocation list file. For more information, see Generate a Client Certificate Revocation List in the\n\t\t\t\tClient VPN Administrator Guide.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "RootDeviceName", + "smithy.api#documentation": "

The device name of the root device volume (for example,\n /dev/sda1).

", + "smithy.api#xmlName": "rootDeviceName" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "SourceDestCheck": { + "target": "com.amazonaws.ec2#AttributeBooleanValue", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "SourceDestCheck", + "smithy.api#documentation": "

Enable or disable source/destination checks, which ensure that the instance is either\n the source or the destination of any traffic that it receives. If the value is\n true, source/destination checks are enabled; otherwise, they are\n disabled. The default value is true. You must disable source/destination\n checks if the instance runs services such as network address translation, routing, or\n firewalls.

", + "smithy.api#xmlName": "sourceDestCheck" } - } - } - }, - "com.amazonaws.ec2#ImportClientVpnClientCertificateRevocationListResult": { - "type": "structure", - "members": { - "Return": { - "target": "com.amazonaws.ec2#Boolean", + }, + "SriovNetSupport": { + "target": "com.amazonaws.ec2#AttributeValue", "traits": { - "aws.protocols#ec2QueryName": "Return", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "smithy.api#xmlName": "return" + "aws.protocols#ec2QueryName": "SriovNetSupport", + "smithy.api#documentation": "

Indicates whether enhanced networking with the Intel 82599 Virtual Function interface\n is enabled.

", + "smithy.api#xmlName": "sriovNetSupport" } - } - } - }, - "com.amazonaws.ec2#ImportImage": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ImportImageRequest" - }, - "output": { - "target": "com.amazonaws.ec2#ImportImageResult" - }, - "traits": { - "smithy.api#documentation": "

Import single or multi-volume disk images or EBS snapshots into an Amazon Machine Image (AMI).

\n \n

Amazon Web Services VM Import/Export strongly recommends specifying a value for either the\n --license-type or --usage-operation parameter when you create a new\n VM Import task. This ensures your operating system is licensed appropriately and your billing is\n optimized.

\n
\n

For more information, see Importing a \n VM as an image using VM Import/Export in the VM Import/Export User Guide.

" - } - }, - "com.amazonaws.ec2#ImportImageLicenseConfigurationRequest": { - "type": "structure", - "members": { - "LicenseConfigurationArn": { - "target": "com.amazonaws.ec2#String", + }, + "UserData": { + "target": "com.amazonaws.ec2#AttributeValue", "traits": { - "smithy.api#documentation": "

The ARN of a license configuration.

" + "aws.protocols#ec2QueryName": "UserData", + "smithy.api#documentation": "

The user data.

", + "smithy.api#xmlName": "userData" } - } - }, - "traits": { - "smithy.api#documentation": "

The request information of license configurations.

" - } - }, - "com.amazonaws.ec2#ImportImageLicenseConfigurationResponse": { - "type": "structure", - "members": { - "LicenseConfigurationArn": { - "target": "com.amazonaws.ec2#String", + }, + "DisableApiStop": { + "target": "com.amazonaws.ec2#AttributeBooleanValue", "traits": { - "aws.protocols#ec2QueryName": "LicenseConfigurationArn", - "smithy.api#documentation": "

The ARN of a license configuration.

", - "smithy.api#xmlName": "licenseConfigurationArn" + "aws.protocols#ec2QueryName": "DisableApiStop", + "smithy.api#documentation": "

To enable the instance for Amazon Web Services Stop Protection, set this parameter to\n true; otherwise, set it to false.

", + "smithy.api#xmlName": "disableApiStop" } } }, "traits": { - "smithy.api#documentation": "

The response information for license configurations.

" - } - }, - "com.amazonaws.ec2#ImportImageLicenseSpecificationListRequest": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ImportImageLicenseConfigurationRequest", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#ImportImageLicenseSpecificationListResponse": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ImportImageLicenseConfigurationResponse", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

Describes an instance attribute.

" } }, - "com.amazonaws.ec2#ImportImageRequest": { - "type": "structure", + "com.amazonaws.ec2#InstanceAttributeName": { + "type": "enum", "members": { - "Architecture": { - "target": "com.amazonaws.ec2#String", + "instanceType": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The architecture of the virtual machine.

\n

Valid values: i386 | x86_64\n

" + "smithy.api#enumValue": "instanceType" } }, - "ClientData": { - "target": "com.amazonaws.ec2#ClientData", + "kernel": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The client-specific data.

" + "smithy.api#enumValue": "kernel" } }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", + "ramdisk": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The token to enable idempotency for VM import requests.

" + "smithy.api#enumValue": "ramdisk" } }, - "Description": { - "target": "com.amazonaws.ec2#String", + "userData": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

A description string for the import image task.

" + "smithy.api#enumValue": "userData" } }, - "DiskContainers": { - "target": "com.amazonaws.ec2#ImageDiskContainerList", + "disableApiTermination": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Information about the disk containers.

", - "smithy.api#xmlName": "DiskContainer" + "smithy.api#enumValue": "disableApiTermination" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "instanceInitiatedShutdownBehavior": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "instanceInitiatedShutdownBehavior" } }, - "Encrypted": { - "target": "com.amazonaws.ec2#Boolean", + "rootDeviceName": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Specifies whether the destination AMI of the imported image should be encrypted. The default KMS key for EBS is used\n unless you specify a non-default KMS key using KmsKeyId. For more information, see Amazon EBS Encryption in the\n Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#enumValue": "rootDeviceName" } }, - "Hypervisor": { - "target": "com.amazonaws.ec2#String", + "blockDeviceMapping": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The target hypervisor platform.

\n

Valid values: xen\n

" + "smithy.api#enumValue": "blockDeviceMapping" } }, - "KmsKeyId": { - "target": "com.amazonaws.ec2#KmsKeyId", + "productCodes": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

An identifier for the symmetric KMS key to use when creating the\n encrypted AMI. This parameter is only required if you want to use a non-default KMS key; if this\n parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is\n specified, the Encrypted flag must also be set.

\n

The KMS key identifier may be provided in any of the following formats:

\n
    \n
  • \n

    Key ID

    \n
  • \n
  • \n

    Key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

    \n
  • \n
  • \n

    ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the key namespace, and then the key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

    \n
  • \n
  • \n

    ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

    \n
  • \n
\n

Amazon Web Services parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even\n though you provided an invalid identifier. This action will eventually report failure.

\n

The specified KMS key must exist in the Region that the AMI is being copied to.

\n

Amazon EBS does not support asymmetric KMS keys.

" + "smithy.api#enumValue": "productCodes" } }, - "LicenseType": { - "target": "com.amazonaws.ec2#String", + "sourceDestCheck": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The license type to be used for the Amazon Machine Image (AMI) after importing.

\n

Specify AWS to replace the source-system license with an Amazon Web Services\n license or BYOL to retain the source-system license. Leaving this parameter\n undefined is the same as choosing AWS when importing a Windows Server operating\n system, and the same as choosing BYOL when importing a Windows client operating\n system (such as Windows 10) or a Linux operating system.

\n

To use BYOL, you must have existing licenses with rights to use these licenses in a third party\n cloud, such as Amazon Web Services. For more information, see Prerequisites in the\n VM Import/Export User Guide.

" + "smithy.api#enumValue": "sourceDestCheck" } }, - "Platform": { - "target": "com.amazonaws.ec2#String", + "groupSet": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The operating system of the virtual machine.

\n

Valid values: Windows | Linux\n

" + "smithy.api#enumValue": "groupSet" } }, - "RoleName": { - "target": "com.amazonaws.ec2#String", + "ebsOptimized": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The name of the role to use when not using the default role, 'vmimport'.

" + "smithy.api#enumValue": "ebsOptimized" } }, - "LicenseSpecifications": { - "target": "com.amazonaws.ec2#ImportImageLicenseSpecificationListRequest", + "sriovNetSupport": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The ARNs of the license configurations.

" + "smithy.api#enumValue": "sriovNetSupport" } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + "enaSupport": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The tags to apply to the import image task during creation.

", - "smithy.api#xmlName": "TagSpecification" + "smithy.api#enumValue": "enaSupport" } }, - "UsageOperation": { - "target": "com.amazonaws.ec2#String", + "enclaveOptions": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The usage operation value. For more information, see Licensing options in the VM Import/Export User Guide.

" + "smithy.api#enumValue": "enclaveOptions" } }, - "BootMode": { - "target": "com.amazonaws.ec2#BootModeValues", + "disableApiStop": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The boot mode of the virtual machine.

" + "smithy.api#enumValue": "disableApiStop" } } } }, - "com.amazonaws.ec2#ImportImageResult": { - "type": "structure", + "com.amazonaws.ec2#InstanceAutoRecoveryState": { + "type": "enum", "members": { - "Architecture": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "Architecture", - "smithy.api#documentation": "

The architecture of the virtual machine.

", - "smithy.api#xmlName": "architecture" - } - }, - "Description": { - "target": "com.amazonaws.ec2#String", + "disabled": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

A description of the import task.

", - "smithy.api#xmlName": "description" + "smithy.api#enumValue": "disabled" } }, - "Encrypted": { - "target": "com.amazonaws.ec2#Boolean", + "default": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Encrypted", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the AMI is encrypted.

", - "smithy.api#xmlName": "encrypted" + "smithy.api#enumValue": "default" } - }, - "Hypervisor": { + } + } + }, + "com.amazonaws.ec2#InstanceBlockDeviceMapping": { + "type": "structure", + "members": { + "DeviceName": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Hypervisor", - "smithy.api#documentation": "

The target hypervisor of the import task.

", - "smithy.api#xmlName": "hypervisor" + "aws.protocols#ec2QueryName": "DeviceName", + "smithy.api#documentation": "

The device name (for example, /dev/sdh or xvdh).

", + "smithy.api#xmlName": "deviceName" } }, - "ImageId": { - "target": "com.amazonaws.ec2#String", + "Ebs": { + "target": "com.amazonaws.ec2#EbsInstanceBlockDevice", "traits": { - "aws.protocols#ec2QueryName": "ImageId", - "smithy.api#documentation": "

The ID of the Amazon Machine Image (AMI) created by the import task.

", - "smithy.api#xmlName": "imageId" + "aws.protocols#ec2QueryName": "Ebs", + "smithy.api#documentation": "

Parameters used to automatically set up EBS volumes when the instance is\n launched.

", + "smithy.api#xmlName": "ebs" } - }, - "ImportTaskId": { - "target": "com.amazonaws.ec2#ImportImageTaskId", + } + }, + "traits": { + "smithy.api#documentation": "

Describes a block device mapping.

" + } + }, + "com.amazonaws.ec2#InstanceBlockDeviceMappingList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InstanceBlockDeviceMapping", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#InstanceBlockDeviceMappingSpecification": { + "type": "structure", + "members": { + "DeviceName": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ImportTaskId", - "smithy.api#documentation": "

The task ID of the import image task.

", - "smithy.api#xmlName": "importTaskId" + "aws.protocols#ec2QueryName": "DeviceName", + "smithy.api#documentation": "

The device name (for example, /dev/sdh or xvdh).

", + "smithy.api#xmlName": "deviceName" } }, - "KmsKeyId": { - "target": "com.amazonaws.ec2#KmsKeyId", + "Ebs": { + "target": "com.amazonaws.ec2#EbsInstanceBlockDeviceSpecification", "traits": { - "aws.protocols#ec2QueryName": "KmsKeyId", - "smithy.api#documentation": "

The identifier for the symmetric KMS key that was used to create the encrypted AMI.

", - "smithy.api#xmlName": "kmsKeyId" + "aws.protocols#ec2QueryName": "Ebs", + "smithy.api#documentation": "

Parameters used to automatically set up EBS volumes when the instance is\n launched.

", + "smithy.api#xmlName": "ebs" } }, - "LicenseType": { + "NoDevice": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "LicenseType", - "smithy.api#documentation": "

The license type of the virtual machine.

", - "smithy.api#xmlName": "licenseType" + "aws.protocols#ec2QueryName": "NoDevice", + "smithy.api#documentation": "

suppress the specified device included in the block device mapping.

", + "smithy.api#xmlName": "noDevice" } }, - "Platform": { + "VirtualName": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Platform", - "smithy.api#documentation": "

The operating system of the virtual machine.

", - "smithy.api#xmlName": "platform" + "aws.protocols#ec2QueryName": "VirtualName", + "smithy.api#documentation": "

The virtual device name.

", + "smithy.api#xmlName": "virtualName" } - }, - "Progress": { - "target": "com.amazonaws.ec2#String", + } + }, + "traits": { + "smithy.api#documentation": "

Describes a block device mapping entry.

" + } + }, + "com.amazonaws.ec2#InstanceBlockDeviceMappingSpecificationList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InstanceBlockDeviceMappingSpecification", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#InstanceCapacity": { + "type": "structure", + "members": { + "AvailableCapacity": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "Progress", - "smithy.api#documentation": "

The progress of the task.

", - "smithy.api#xmlName": "progress" + "aws.protocols#ec2QueryName": "AvailableCapacity", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of instances that can be launched onto the Dedicated Host based on the\n host's available capacity.

", + "smithy.api#xmlName": "availableCapacity" } }, - "SnapshotDetails": { - "target": "com.amazonaws.ec2#SnapshotDetailList", + "InstanceType": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SnapshotDetailSet", - "smithy.api#documentation": "

Information about the snapshots.

", - "smithy.api#xmlName": "snapshotDetailSet" + "aws.protocols#ec2QueryName": "InstanceType", + "smithy.api#documentation": "

The instance type supported by the Dedicated Host.

", + "smithy.api#xmlName": "instanceType" } }, - "Status": { - "target": "com.amazonaws.ec2#String", + "TotalCapacity": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

A brief status of the task.

", - "smithy.api#xmlName": "status" + "aws.protocols#ec2QueryName": "TotalCapacity", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The total number of instances that can be launched onto the Dedicated Host if there\n are no instances running on it.

", + "smithy.api#xmlName": "totalCapacity" } - }, - "StatusMessage": { - "target": "com.amazonaws.ec2#String", + } + }, + "traits": { + "smithy.api#documentation": "

Information about the number of instances that can be launched onto the Dedicated\n Host.

" + } + }, + "com.amazonaws.ec2#InstanceCount": { + "type": "structure", + "members": { + "InstanceCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "StatusMessage", - "smithy.api#documentation": "

A detailed status message of the import task.

", - "smithy.api#xmlName": "statusMessage" + "aws.protocols#ec2QueryName": "InstanceCount", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of listed Reserved Instances in the state specified by the state.

", + "smithy.api#xmlName": "instanceCount" } }, - "LicenseSpecifications": { - "target": "com.amazonaws.ec2#ImportImageLicenseSpecificationListResponse", + "State": { + "target": "com.amazonaws.ec2#ListingState", "traits": { - "aws.protocols#ec2QueryName": "LicenseSpecifications", - "smithy.api#documentation": "

The ARNs of the license configurations.

", - "smithy.api#xmlName": "licenseSpecifications" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The states of the listed Reserved Instances.

", + "smithy.api#xmlName": "state" } - }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + } + }, + "traits": { + "smithy.api#documentation": "

Describes a Reserved Instance listing state.

" + } + }, + "com.amazonaws.ec2#InstanceCountList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InstanceCount", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#InstanceCreditSpecification": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags assigned to the import image task.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#documentation": "

The ID of the instance.

", + "smithy.api#xmlName": "instanceId" } }, - "UsageOperation": { + "CpuCredits": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "UsageOperation", - "smithy.api#documentation": "

The usage operation value.

", - "smithy.api#xmlName": "usageOperation" + "aws.protocols#ec2QueryName": "CpuCredits", + "smithy.api#documentation": "

The credit option for CPU usage of the instance.

\n

Valid values: standard | unlimited\n

", + "smithy.api#xmlName": "cpuCredits" } } + }, + "traits": { + "smithy.api#documentation": "

Describes the credit option for CPU usage of a burstable performance instance.

" } }, - "com.amazonaws.ec2#ImportImageTask": { + "com.amazonaws.ec2#InstanceCreditSpecificationList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InstanceCreditSpecification", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#InstanceCreditSpecificationListRequest": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InstanceCreditSpecificationRequest", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#InstanceCreditSpecificationRequest": { "type": "structure", "members": { - "Architecture": { - "target": "com.amazonaws.ec2#String", + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", "traits": { - "aws.protocols#ec2QueryName": "Architecture", - "smithy.api#documentation": "

The architecture of the virtual machine.

\n

Valid values: i386 | x86_64 | arm64\n

", - "smithy.api#xmlName": "architecture" + "smithy.api#documentation": "

The ID of the instance.

" } }, - "Description": { + "CpuCredits": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

A description of the import task.

", - "smithy.api#xmlName": "description" + "smithy.api#documentation": "

The credit option for CPU usage of the instance.

\n

Valid values: standard | unlimited\n

\n

T3 instances with host tenancy do not support the unlimited\n CPU credit option.

" } - }, - "Encrypted": { - "target": "com.amazonaws.ec2#Boolean", + } + }, + "traits": { + "smithy.api#documentation": "

Describes the credit option for CPU usage of a burstable performance instance.

" + } + }, + "com.amazonaws.ec2#InstanceEventId": { + "type": "string" + }, + "com.amazonaws.ec2#InstanceEventWindow": { + "type": "structure", + "members": { + "InstanceEventWindowId": { + "target": "com.amazonaws.ec2#InstanceEventWindowId", "traits": { - "aws.protocols#ec2QueryName": "Encrypted", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the image is encrypted.

", - "smithy.api#xmlName": "encrypted" + "aws.protocols#ec2QueryName": "InstanceEventWindowId", + "smithy.api#documentation": "

The ID of the event window.

", + "smithy.api#xmlName": "instanceEventWindowId" } }, - "Hypervisor": { - "target": "com.amazonaws.ec2#String", + "TimeRanges": { + "target": "com.amazonaws.ec2#InstanceEventWindowTimeRangeList", "traits": { - "aws.protocols#ec2QueryName": "Hypervisor", - "smithy.api#documentation": "

The target hypervisor for the import task.

\n

Valid values: xen\n

", - "smithy.api#xmlName": "hypervisor" + "aws.protocols#ec2QueryName": "TimeRangeSet", + "smithy.api#documentation": "

One or more time ranges defined for the event window.

", + "smithy.api#xmlName": "timeRangeSet" } }, - "ImageId": { + "Name": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ImageId", - "smithy.api#documentation": "

The ID of the Amazon Machine Image (AMI) of the imported virtual machine.

", - "smithy.api#xmlName": "imageId" + "aws.protocols#ec2QueryName": "Name", + "smithy.api#documentation": "

The name of the event window.

", + "smithy.api#xmlName": "name" } }, - "ImportTaskId": { - "target": "com.amazonaws.ec2#String", + "CronExpression": { + "target": "com.amazonaws.ec2#InstanceEventWindowCronExpression", "traits": { - "aws.protocols#ec2QueryName": "ImportTaskId", - "smithy.api#documentation": "

The ID of the import image task.

", - "smithy.api#xmlName": "importTaskId" + "aws.protocols#ec2QueryName": "CronExpression", + "smithy.api#documentation": "

The cron expression defined for the event window.

", + "smithy.api#xmlName": "cronExpression" } }, - "KmsKeyId": { - "target": "com.amazonaws.ec2#String", + "AssociationTarget": { + "target": "com.amazonaws.ec2#InstanceEventWindowAssociationTarget", "traits": { - "aws.protocols#ec2QueryName": "KmsKeyId", - "smithy.api#documentation": "

The identifier for the KMS key that was used to create the encrypted image.

", - "smithy.api#xmlName": "kmsKeyId" + "aws.protocols#ec2QueryName": "AssociationTarget", + "smithy.api#documentation": "

One or more targets associated with the event window.

", + "smithy.api#xmlName": "associationTarget" } }, - "LicenseType": { - "target": "com.amazonaws.ec2#String", + "State": { + "target": "com.amazonaws.ec2#InstanceEventWindowState", "traits": { - "aws.protocols#ec2QueryName": "LicenseType", - "smithy.api#documentation": "

The license type of the virtual machine.

", - "smithy.api#xmlName": "licenseType" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The current state of the event window.

", + "smithy.api#xmlName": "state" } }, - "Platform": { - "target": "com.amazonaws.ec2#String", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "Platform", - "smithy.api#documentation": "

The description string for the import image task.

", - "smithy.api#xmlName": "platform" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The instance tags associated with the event window.

", + "smithy.api#xmlName": "tagSet" } - }, - "Progress": { - "target": "com.amazonaws.ec2#String", + } + }, + "traits": { + "smithy.api#documentation": "

The event window.

" + } + }, + "com.amazonaws.ec2#InstanceEventWindowAssociationRequest": { + "type": "structure", + "members": { + "InstanceIds": { + "target": "com.amazonaws.ec2#InstanceIdList", "traits": { - "aws.protocols#ec2QueryName": "Progress", - "smithy.api#documentation": "

The percentage of progress of the import image task.

", - "smithy.api#xmlName": "progress" + "smithy.api#documentation": "

The IDs of the instances to associate with the event window. If the instance is on a\n Dedicated Host, you can't specify the Instance ID parameter; you must use the Dedicated\n Host ID parameter.

", + "smithy.api#xmlName": "InstanceId" } }, - "SnapshotDetails": { - "target": "com.amazonaws.ec2#SnapshotDetailList", + "InstanceTags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "SnapshotDetailSet", - "smithy.api#documentation": "

Information about the snapshots.

", - "smithy.api#xmlName": "snapshotDetailSet" + "smithy.api#documentation": "

The instance tags to associate with the event window. Any instances associated with the\n tags will be associated with the event window.

", + "smithy.api#xmlName": "InstanceTag" } }, - "Status": { - "target": "com.amazonaws.ec2#String", + "DedicatedHostIds": { + "target": "com.amazonaws.ec2#DedicatedHostIdList", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

A brief status for the import image task.

", - "smithy.api#xmlName": "status" + "smithy.api#documentation": "

The IDs of the Dedicated Hosts to associate with the event window.

", + "smithy.api#xmlName": "DedicatedHostId" } - }, - "StatusMessage": { - "target": "com.amazonaws.ec2#String", + } + }, + "traits": { + "smithy.api#documentation": "

One or more targets associated with the specified event window. Only one\n type of target (instance ID, instance tag, or Dedicated Host ID)\n can be associated with an event window.

" + } + }, + "com.amazonaws.ec2#InstanceEventWindowAssociationTarget": { + "type": "structure", + "members": { + "InstanceIds": { + "target": "com.amazonaws.ec2#InstanceIdList", "traits": { - "aws.protocols#ec2QueryName": "StatusMessage", - "smithy.api#documentation": "

A descriptive status message for the import image task.

", - "smithy.api#xmlName": "statusMessage" + "aws.protocols#ec2QueryName": "InstanceIdSet", + "smithy.api#documentation": "

The IDs of the instances associated with the event window.

", + "smithy.api#xmlName": "instanceIdSet" } }, "Tags": { "target": "com.amazonaws.ec2#TagList", "traits": { "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags for the import image task.

", + "smithy.api#documentation": "

The instance tags associated with the event window. Any instances associated with the tags\n will be associated with the event window.

", "smithy.api#xmlName": "tagSet" } }, - "LicenseSpecifications": { - "target": "com.amazonaws.ec2#ImportImageLicenseSpecificationListResponse", + "DedicatedHostIds": { + "target": "com.amazonaws.ec2#DedicatedHostIdList", "traits": { - "aws.protocols#ec2QueryName": "LicenseSpecifications", - "smithy.api#documentation": "

The ARNs of the license configurations that are associated with the import image task.

", - "smithy.api#xmlName": "licenseSpecifications" + "aws.protocols#ec2QueryName": "DedicatedHostIdSet", + "smithy.api#documentation": "

The IDs of the Dedicated Hosts associated with the event window.

", + "smithy.api#xmlName": "dedicatedHostIdSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

One or more targets associated with the event window.

" + } + }, + "com.amazonaws.ec2#InstanceEventWindowCronExpression": { + "type": "string" + }, + "com.amazonaws.ec2#InstanceEventWindowDisassociationRequest": { + "type": "structure", + "members": { + "InstanceIds": { + "target": "com.amazonaws.ec2#InstanceIdList", + "traits": { + "smithy.api#documentation": "

The IDs of the instances to disassociate from the event window.

", + "smithy.api#xmlName": "InstanceId" } }, - "UsageOperation": { - "target": "com.amazonaws.ec2#String", + "InstanceTags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "UsageOperation", - "smithy.api#documentation": "

The usage operation value.

", - "smithy.api#xmlName": "usageOperation" + "smithy.api#documentation": "

The instance tags to disassociate from the event window. Any instances associated with\n the tags will be disassociated from the event window.

", + "smithy.api#xmlName": "InstanceTag" } }, - "BootMode": { - "target": "com.amazonaws.ec2#BootModeValues", + "DedicatedHostIds": { + "target": "com.amazonaws.ec2#DedicatedHostIdList", "traits": { - "aws.protocols#ec2QueryName": "BootMode", - "smithy.api#documentation": "

The boot mode of the virtual machine.

", - "smithy.api#xmlName": "bootMode" + "smithy.api#documentation": "

The IDs of the Dedicated Hosts to disassociate from the event window.

", + "smithy.api#xmlName": "DedicatedHostId" } } }, "traits": { - "smithy.api#documentation": "

Describes an import image task.

" + "smithy.api#documentation": "

The targets to disassociate from the specified event window.

" } }, - "com.amazonaws.ec2#ImportImageTaskId": { + "com.amazonaws.ec2#InstanceEventWindowId": { "type": "string" }, - "com.amazonaws.ec2#ImportImageTaskList": { + "com.amazonaws.ec2#InstanceEventWindowIdSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#ImportImageTask", + "target": "com.amazonaws.ec2#InstanceEventWindowId", "traits": { - "smithy.api#xmlName": "item" + "smithy.api#xmlName": "InstanceEventWindowId" } } }, - "com.amazonaws.ec2#ImportInstance": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ImportInstanceRequest" - }, - "output": { - "target": "com.amazonaws.ec2#ImportInstanceResult" - }, - "traits": { - "smithy.api#documentation": "

Creates an import instance task using metadata from the specified disk image.

\n

This API action supports only single-volume VMs. To import multi-volume VMs, use ImportImage\n instead.

\n

This API action is not supported by the Command Line Interface (CLI). For \n information about using the Amazon EC2 CLI, which is deprecated, see\n Importing a VM to Amazon EC2 in the Amazon EC2 CLI Reference PDF file.

\n

For information about the import manifest referenced by this API action, see VM Import Manifest.

" + "com.amazonaws.ec2#InstanceEventWindowSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InstanceEventWindow", + "traits": { + "smithy.api#xmlName": "item" + } } }, - "com.amazonaws.ec2#ImportInstanceLaunchSpecification": { - "type": "structure", + "com.amazonaws.ec2#InstanceEventWindowState": { + "type": "enum", "members": { - "AdditionalInfo": { - "target": "com.amazonaws.ec2#String", + "creating": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AdditionalInfo", - "smithy.api#documentation": "

Reserved.

", - "smithy.api#xmlName": "additionalInfo" + "smithy.api#enumValue": "creating" } }, - "Architecture": { - "target": "com.amazonaws.ec2#ArchitectureValues", + "deleting": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Architecture", - "smithy.api#documentation": "

The architecture of the instance.

", - "smithy.api#xmlName": "architecture" + "smithy.api#enumValue": "deleting" } }, - "GroupIds": { - "target": "com.amazonaws.ec2#SecurityGroupIdStringList", + "active": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The security group IDs.

", - "smithy.api#xmlName": "GroupId" + "smithy.api#enumValue": "active" } }, - "GroupNames": { - "target": "com.amazonaws.ec2#SecurityGroupStringList", + "deleted": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The security group names.

", - "smithy.api#xmlName": "GroupName" + "smithy.api#enumValue": "deleted" } - }, - "InstanceInitiatedShutdownBehavior": { - "target": "com.amazonaws.ec2#ShutdownBehavior", + } + } + }, + "com.amazonaws.ec2#InstanceEventWindowStateChange": { + "type": "structure", + "members": { + "InstanceEventWindowId": { + "target": "com.amazonaws.ec2#InstanceEventWindowId", "traits": { - "aws.protocols#ec2QueryName": "InstanceInitiatedShutdownBehavior", - "smithy.api#documentation": "

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the\n operating system command for system shutdown).

", - "smithy.api#xmlName": "instanceInitiatedShutdownBehavior" + "aws.protocols#ec2QueryName": "InstanceEventWindowId", + "smithy.api#documentation": "

The ID of the event window.

", + "smithy.api#xmlName": "instanceEventWindowId" } }, - "InstanceType": { - "target": "com.amazonaws.ec2#InstanceType", + "State": { + "target": "com.amazonaws.ec2#InstanceEventWindowState", "traits": { - "aws.protocols#ec2QueryName": "InstanceType", - "smithy.api#documentation": "

The instance type. For more information about the instance types that you can import, see Instance Types in the\n VM Import/Export User Guide.

", - "smithy.api#xmlName": "instanceType" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The current state of the event window.

", + "smithy.api#xmlName": "state" + } + } + }, + "traits": { + "smithy.api#documentation": "

The state of the event window.

" + } + }, + "com.amazonaws.ec2#InstanceEventWindowTimeRange": { + "type": "structure", + "members": { + "StartWeekDay": { + "target": "com.amazonaws.ec2#WeekDay", + "traits": { + "aws.protocols#ec2QueryName": "StartWeekDay", + "smithy.api#documentation": "

The day on which the time range begins.

", + "smithy.api#xmlName": "startWeekDay" } }, - "Monitoring": { - "target": "com.amazonaws.ec2#Boolean", + "StartHour": { + "target": "com.amazonaws.ec2#Hour", "traits": { - "aws.protocols#ec2QueryName": "Monitoring", + "aws.protocols#ec2QueryName": "StartHour", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether monitoring is enabled.

", - "smithy.api#xmlName": "monitoring" + "smithy.api#default": 0, + "smithy.api#documentation": "

The hour when the time range begins.

", + "smithy.api#xmlName": "startHour" } }, - "Placement": { - "target": "com.amazonaws.ec2#Placement", + "EndWeekDay": { + "target": "com.amazonaws.ec2#WeekDay", "traits": { - "aws.protocols#ec2QueryName": "Placement", - "smithy.api#documentation": "

The placement information for the instance.

", - "smithy.api#xmlName": "placement" + "aws.protocols#ec2QueryName": "EndWeekDay", + "smithy.api#documentation": "

The day on which the time range ends.

", + "smithy.api#xmlName": "endWeekDay" } }, - "PrivateIpAddress": { - "target": "com.amazonaws.ec2#String", + "EndHour": { + "target": "com.amazonaws.ec2#Hour", "traits": { - "aws.protocols#ec2QueryName": "PrivateIpAddress", - "smithy.api#documentation": "

[EC2-VPC] An available IP address from the IP address range of the subnet.

", - "smithy.api#xmlName": "privateIpAddress" + "aws.protocols#ec2QueryName": "EndHour", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The hour when the time range ends.

", + "smithy.api#xmlName": "endHour" + } + } + }, + "traits": { + "smithy.api#documentation": "

The start day and time and the end day and time of the time range, in UTC.

" + } + }, + "com.amazonaws.ec2#InstanceEventWindowTimeRangeList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InstanceEventWindowTimeRange", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#InstanceEventWindowTimeRangeRequest": { + "type": "structure", + "members": { + "StartWeekDay": { + "target": "com.amazonaws.ec2#WeekDay", + "traits": { + "smithy.api#documentation": "

The day on which the time range begins.

" } }, - "SubnetId": { - "target": "com.amazonaws.ec2#SubnetId", + "StartHour": { + "target": "com.amazonaws.ec2#Hour", "traits": { - "aws.protocols#ec2QueryName": "SubnetId", - "smithy.api#documentation": "

[EC2-VPC] The ID of the subnet in which to launch the instance.

", - "smithy.api#xmlName": "subnetId" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The hour when the time range begins.

" } }, - "UserData": { - "target": "com.amazonaws.ec2#UserData", + "EndWeekDay": { + "target": "com.amazonaws.ec2#WeekDay", "traits": { - "aws.protocols#ec2QueryName": "UserData", - "smithy.api#documentation": "

The Base64-encoded user data to make available to the instance.

", - "smithy.api#xmlName": "userData" + "smithy.api#documentation": "

The day on which the time range ends.

" + } + }, + "EndHour": { + "target": "com.amazonaws.ec2#Hour", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The hour when the time range ends.

" } } }, "traits": { - "smithy.api#documentation": "

Describes the launch specification for VM import.

" + "smithy.api#documentation": "

The start day and time and the end day and time of the time range, in UTC.

" } }, - "com.amazonaws.ec2#ImportInstanceRequest": { + "com.amazonaws.ec2#InstanceEventWindowTimeRangeRequestSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InstanceEventWindowTimeRangeRequest" + } + }, + "com.amazonaws.ec2#InstanceExportDetails": { "type": "structure", "members": { - "Description": { + "InstanceId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

A description for the instance being imported.

", - "smithy.api#xmlName": "description" + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#documentation": "

The ID of the resource being exported.

", + "smithy.api#xmlName": "instanceId" } }, - "DiskImages": { - "target": "com.amazonaws.ec2#DiskImageList", + "TargetEnvironment": { + "target": "com.amazonaws.ec2#ExportEnvironment", "traits": { - "aws.protocols#ec2QueryName": "DiskImage", - "smithy.api#documentation": "

The disk image.

", - "smithy.api#xmlName": "diskImage" + "aws.protocols#ec2QueryName": "TargetEnvironment", + "smithy.api#documentation": "

The target virtualization environment.

", + "smithy.api#xmlName": "targetEnvironment" } - }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + } + }, + "traits": { + "smithy.api#documentation": "

Describes an instance to export.

" + } + }, + "com.amazonaws.ec2#InstanceFamilyCreditSpecification": { + "type": "structure", + "members": { + "InstanceFamily": { + "target": "com.amazonaws.ec2#UnlimitedSupportedInstanceFamily", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "aws.protocols#ec2QueryName": "InstanceFamily", + "smithy.api#documentation": "

The instance family.

", + "smithy.api#xmlName": "instanceFamily" } }, - "LaunchSpecification": { - "target": "com.amazonaws.ec2#ImportInstanceLaunchSpecification", + "CpuCredits": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "LaunchSpecification", - "smithy.api#documentation": "

The launch specification.

", - "smithy.api#xmlName": "launchSpecification" + "aws.protocols#ec2QueryName": "CpuCredits", + "smithy.api#documentation": "

The default credit option for CPU usage of the instance family. Valid values are\n standard and unlimited.

", + "smithy.api#xmlName": "cpuCredits" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the default credit option for CPU usage of a burstable performance instance\n family.

" + } + }, + "com.amazonaws.ec2#InstanceGeneration": { + "type": "enum", + "members": { + "CURRENT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "current" } }, - "Platform": { - "target": "com.amazonaws.ec2#PlatformValues", + "PREVIOUS": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Platform", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The instance operating system.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "platform" + "smithy.api#enumValue": "previous" } } } }, - "com.amazonaws.ec2#ImportInstanceResult": { - "type": "structure", + "com.amazonaws.ec2#InstanceGenerationSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InstanceGeneration", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#InstanceHealthStatus": { + "type": "enum", "members": { - "ConversionTask": { - "target": "com.amazonaws.ec2#ConversionTask", + "HEALTHY_STATUS": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ConversionTask", - "smithy.api#documentation": "

Information about the conversion task.

", - "smithy.api#xmlName": "conversionTask" + "smithy.api#enumValue": "healthy" + } + }, + "UNHEALTHY_STATUS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "unhealthy" } } } }, - "com.amazonaws.ec2#ImportInstanceTaskDetails": { - "type": "structure", + "com.amazonaws.ec2#InstanceId": { + "type": "string" + }, + "com.amazonaws.ec2#InstanceIdForResolver": { + "type": "string" + }, + "com.amazonaws.ec2#InstanceIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InstanceId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#InstanceIdSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InstanceId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#InstanceIdStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InstanceId", + "traits": { + "smithy.api#xmlName": "InstanceId" + } + } + }, + "com.amazonaws.ec2#InstanceIdsSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InstanceId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#InstanceInterruptionBehavior": { + "type": "enum", "members": { - "Description": { - "target": "com.amazonaws.ec2#String", + "hibernate": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

A description of the task.

", - "smithy.api#xmlName": "description" + "smithy.api#enumValue": "hibernate" } }, - "InstanceId": { - "target": "com.amazonaws.ec2#String", + "stop": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#documentation": "

The ID of the instance.

", - "smithy.api#xmlName": "instanceId" + "smithy.api#enumValue": "stop" } }, - "Platform": { - "target": "com.amazonaws.ec2#PlatformValues", + "terminate": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Platform", - "smithy.api#documentation": "

The instance operating system.

", - "smithy.api#xmlName": "platform" + "smithy.api#enumValue": "terminate" } - }, - "Volumes": { - "target": "com.amazonaws.ec2#ImportInstanceVolumeDetailSet", + } + } + }, + "com.amazonaws.ec2#InstanceIpv4Prefix": { + "type": "structure", + "members": { + "Ipv4Prefix": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Volumes", - "smithy.api#documentation": "

The volumes.

", - "smithy.api#xmlName": "volumes" + "aws.protocols#ec2QueryName": "Ipv4Prefix", + "smithy.api#documentation": "

One or more IPv4 prefixes assigned to the network interface.

", + "smithy.api#xmlName": "ipv4Prefix" } } }, "traits": { - "smithy.api#documentation": "

Describes an import instance task.

" + "smithy.api#documentation": "

Information about an IPv4 prefix.

" } }, - "com.amazonaws.ec2#ImportInstanceVolumeDetailItem": { + "com.amazonaws.ec2#InstanceIpv4PrefixList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InstanceIpv4Prefix", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#InstanceIpv6Address": { "type": "structure", "members": { - "AvailabilityZone": { + "Ipv6Address": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZone", - "smithy.api#documentation": "

The Availability Zone where the resulting instance will reside.

", - "smithy.api#xmlName": "availabilityZone" + "aws.protocols#ec2QueryName": "Ipv6Address", + "smithy.api#documentation": "

The IPv6 address.

", + "smithy.api#xmlName": "ipv6Address" } - }, - "BytesConverted": { - "target": "com.amazonaws.ec2#Long", + } + }, + "traits": { + "smithy.api#documentation": "

Describes an IPv6 address.

" + } + }, + "com.amazonaws.ec2#InstanceIpv6AddressList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InstanceIpv6Address", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#InstanceIpv6AddressListRequest": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InstanceIpv6AddressRequest", + "traits": { + "smithy.api#xmlName": "InstanceIpv6Address" + } + } + }, + "com.amazonaws.ec2#InstanceIpv6AddressRequest": { + "type": "structure", + "members": { + "Ipv6Address": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "BytesConverted", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of bytes converted so far.

", - "smithy.api#xmlName": "bytesConverted" + "smithy.api#documentation": "

The IPv6 address.

" } - }, - "Description": { + } + }, + "traits": { + "smithy.api#documentation": "

Describes an IPv6 address.

" + } + }, + "com.amazonaws.ec2#InstanceIpv6Prefix": { + "type": "structure", + "members": { + "Ipv6Prefix": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

A description of the task.

", - "smithy.api#xmlName": "description" + "aws.protocols#ec2QueryName": "Ipv6Prefix", + "smithy.api#documentation": "

One or more IPv6 prefixes assigned to the network interface.

", + "smithy.api#xmlName": "ipv6Prefix" } - }, - "Image": { - "target": "com.amazonaws.ec2#DiskImageDescription", + } + }, + "traits": { + "smithy.api#documentation": "

Information about an IPv6 prefix.

" + } + }, + "com.amazonaws.ec2#InstanceIpv6PrefixList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InstanceIpv6Prefix", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#InstanceLifecycle": { + "type": "enum", + "members": { + "SPOT": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Image", - "smithy.api#documentation": "

The image.

", - "smithy.api#xmlName": "image" + "smithy.api#enumValue": "spot" } }, - "Status": { - "target": "com.amazonaws.ec2#String", + "ON_DEMAND": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The status of the import of this particular disk image.

", - "smithy.api#xmlName": "status" + "smithy.api#enumValue": "on-demand" } - }, - "StatusMessage": { - "target": "com.amazonaws.ec2#String", + } + } + }, + "com.amazonaws.ec2#InstanceLifecycleType": { + "type": "enum", + "members": { + "spot": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "StatusMessage", - "smithy.api#documentation": "

The status information or errors related to the disk image.

", - "smithy.api#xmlName": "statusMessage" + "smithy.api#enumValue": "spot" } }, - "Volume": { - "target": "com.amazonaws.ec2#DiskImageVolumeDescription", + "scheduled": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Volume", - "smithy.api#documentation": "

The volume.

", - "smithy.api#xmlName": "volume" + "smithy.api#enumValue": "scheduled" } } - }, - "traits": { - "smithy.api#documentation": "

Describes an import volume task.

" } }, - "com.amazonaws.ec2#ImportInstanceVolumeDetailSet": { + "com.amazonaws.ec2#InstanceList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#ImportInstanceVolumeDetailItem", + "target": "com.amazonaws.ec2#Instance", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#ImportKeyPair": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ImportKeyPairRequest" + "com.amazonaws.ec2#InstanceMaintenanceOptions": { + "type": "structure", + "members": { + "AutoRecovery": { + "target": "com.amazonaws.ec2#InstanceAutoRecoveryState", + "traits": { + "aws.protocols#ec2QueryName": "AutoRecovery", + "smithy.api#documentation": "

Provides information on the current automatic recovery behavior of your\n instance.

", + "smithy.api#xmlName": "autoRecovery" + } + } }, - "output": { - "target": "com.amazonaws.ec2#ImportKeyPairResult" + "traits": { + "smithy.api#documentation": "

The maintenance options for the instance.

" + } + }, + "com.amazonaws.ec2#InstanceMaintenanceOptionsRequest": { + "type": "structure", + "members": { + "AutoRecovery": { + "target": "com.amazonaws.ec2#InstanceAutoRecoveryState", + "traits": { + "smithy.api#documentation": "

Disables the automatic recovery behavior of your instance or sets it to default. For\n more information, see Simplified automatic recovery.

" + } + } }, "traits": { - "smithy.api#documentation": "

Imports the public key from an RSA or ED25519 key pair that you created with a third-party tool. \n Compare this with CreateKeyPair, in which Amazon Web Services creates the key pair and gives the keys to you \n (Amazon Web Services keeps a copy of the public key). With ImportKeyPair, you create the key pair and give Amazon Web Services just the public key. \n The private key is never transferred between you and Amazon Web Services.

\n

For more information about key pairs, see Amazon EC2 key pairs \n\t\t\t\tin the Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

The maintenance options for the instance.

" } }, - "com.amazonaws.ec2#ImportKeyPairRequest": { + "com.amazonaws.ec2#InstanceMarketOptionsRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "MarketType": { + "target": "com.amazonaws.ec2#MarketType", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

The market type.

" } }, - "KeyName": { - "target": "com.amazonaws.ec2#String", + "SpotOptions": { + "target": "com.amazonaws.ec2#SpotMarketOptions", "traits": { - "aws.protocols#ec2QueryName": "KeyName", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

A unique name for the key pair.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "keyName" + "smithy.api#documentation": "

The options for Spot Instances.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the market (purchasing) option for the instances.

" + } + }, + "com.amazonaws.ec2#InstanceMatchCriteria": { + "type": "enum", + "members": { + "open": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "open" } }, - "PublicKeyMaterial": { - "target": "com.amazonaws.ec2#Blob", + "targeted": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "PublicKeyMaterial", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The public key. For API calls, the text must be base64-encoded. For command line tools, base64 encoding is performed for you.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "publicKeyMaterial" + "smithy.api#enumValue": "targeted" + } + } + } + }, + "com.amazonaws.ec2#InstanceMetadataEndpointState": { + "type": "enum", + "members": { + "disabled": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disabled" } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + "enabled": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The tags to apply to the imported key pair.

", - "smithy.api#xmlName": "TagSpecification" + "smithy.api#enumValue": "enabled" } } } }, - "com.amazonaws.ec2#ImportKeyPairResult": { + "com.amazonaws.ec2#InstanceMetadataOptionsRequest": { "type": "structure", "members": { - "KeyFingerprint": { - "target": "com.amazonaws.ec2#String", + "HttpTokens": { + "target": "com.amazonaws.ec2#HttpTokensState", "traits": { - "aws.protocols#ec2QueryName": "KeyFingerprint", - "smithy.api#documentation": "
    \n
  • \n

    For RSA key pairs, the key fingerprint is the MD5 public key fingerprint as specified in section 4 of RFC 4716.

    \n
  • \n
  • \n

    For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 digest, which is the default for OpenSSH, starting with OpenSSH 6.8.

    \n
  • \n
", - "smithy.api#xmlName": "keyFingerprint" + "smithy.api#documentation": "

IMDSv2 uses token-backed sessions. Set the use of HTTP tokens to optional\n (in other words, set the use of IMDSv2 to optional) or\n required (in other words, set the use of IMDSv2 to\n required).

\n
    \n
  • \n

    \n optional - When IMDSv2 is optional, you can choose to retrieve instance metadata with or without \n a session token in your request. If you retrieve the IAM role credentials \n without a token, the IMDSv1 role credentials are returned. If you retrieve the IAM role credentials \n using a valid session token, the IMDSv2 role credentials are returned.

    \n
  • \n
  • \n

    \n required - When IMDSv2 is required, you must send a session token \n with any instance metadata retrieval requests. In this state, retrieving the IAM role \n credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available.

    \n
  • \n
\n

Default: optional\n

" } }, - "KeyName": { - "target": "com.amazonaws.ec2#String", + "HttpPutResponseHopLimit": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "KeyName", - "smithy.api#documentation": "

The key pair name that you provided.

", - "smithy.api#xmlName": "keyName" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The desired HTTP PUT response hop limit for instance metadata requests. The larger the\n number, the further instance metadata requests can travel.

\n

Default: 1

\n

Possible values: Integers from 1 to 64

" } }, - "KeyPairId": { - "target": "com.amazonaws.ec2#String", + "HttpEndpoint": { + "target": "com.amazonaws.ec2#InstanceMetadataEndpointState", "traits": { - "aws.protocols#ec2QueryName": "KeyPairId", - "smithy.api#documentation": "

The ID of the resulting key pair.

", - "smithy.api#xmlName": "keyPairId" + "smithy.api#documentation": "

Enables or disables the HTTP metadata endpoint on your instances.

\n

If you specify a value of disabled, you cannot access your instance\n metadata.

\n

Default: enabled\n

" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "HttpProtocolIpv6": { + "target": "com.amazonaws.ec2#InstanceMetadataProtocolState", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags applied to the imported key pair.

", - "smithy.api#xmlName": "tagSet" + "smithy.api#documentation": "

Enables or disables the IPv6 endpoint for the instance metadata service.

" + } + }, + "InstanceMetadataTags": { + "target": "com.amazonaws.ec2#InstanceMetadataTagsState", + "traits": { + "smithy.api#documentation": "

Set to enabled to allow access to instance tags from the instance\n metadata. Set to disabled to turn off access to instance tags from the\n instance metadata. For more information, see Work with\n instance tags using the instance metadata.

\n

Default: disabled\n

" } } - } - }, - "com.amazonaws.ec2#ImportSnapshot": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ImportSnapshotRequest" - }, - "output": { - "target": "com.amazonaws.ec2#ImportSnapshotResult" }, "traits": { - "smithy.api#documentation": "

Imports a disk into an EBS snapshot.

\n

For more information, see Importing a disk as a snapshot using VM Import/Export in the \n VM Import/Export User Guide.

" + "smithy.api#documentation": "

The metadata options for the instance.

" } }, - "com.amazonaws.ec2#ImportSnapshotRequest": { + "com.amazonaws.ec2#InstanceMetadataOptionsResponse": { "type": "structure", "members": { - "ClientData": { - "target": "com.amazonaws.ec2#ClientData", - "traits": { - "smithy.api#documentation": "

The client-specific data.

" - } - }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", + "State": { + "target": "com.amazonaws.ec2#InstanceMetadataOptionsState", "traits": { - "smithy.api#documentation": "

Token to enable idempotency for VM import requests.

" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the metadata option changes.

\n

\n pending - The metadata options are being updated and the instance is not\n ready to process metadata traffic with the new selection.

\n

\n applied - The metadata options have been successfully applied on the\n instance.

", + "smithy.api#xmlName": "state" } }, - "Description": { - "target": "com.amazonaws.ec2#String", + "HttpTokens": { + "target": "com.amazonaws.ec2#HttpTokensState", "traits": { - "smithy.api#documentation": "

The description string for the import snapshot task.

" + "aws.protocols#ec2QueryName": "HttpTokens", + "smithy.api#documentation": "

IMDSv2 uses token-backed sessions. Indicates whether the use of HTTP tokens is\n optional (in other words, indicates whether the use of IMDSv2 is\n optional) or required (in other words, indicates whether\n the use of IMDSv2 is required).

\n
    \n
  • \n

    \n optional - When IMDSv2 is optional, you can choose to retrieve instance metadata with or without \n a session token in your request. If you retrieve the IAM role credentials \n without a token, the IMDSv1 role credentials are returned. If you retrieve the IAM role credentials \n using a valid session token, the IMDSv2 role credentials are returned.

    \n
  • \n
  • \n

    \n required - When IMDSv2 is required, you must send a session token \n with any instance metadata retrieval requests. In this state, retrieving the IAM role \n credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available.

    \n
  • \n
\n

Default: optional\n

", + "smithy.api#xmlName": "httpTokens" } }, - "DiskContainer": { - "target": "com.amazonaws.ec2#SnapshotDiskContainer", + "HttpPutResponseHopLimit": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#documentation": "

Information about the disk container.

" + "aws.protocols#ec2QueryName": "HttpPutResponseHopLimit", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The desired HTTP PUT response hop limit for instance metadata requests. The larger the\n number, the further instance metadata requests can travel.

\n

Default: 1

\n

Possible values: Integers from 1 to 64

", + "smithy.api#xmlName": "httpPutResponseHopLimit" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "HttpEndpoint": { + "target": "com.amazonaws.ec2#InstanceMetadataEndpointState", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "HttpEndpoint", + "smithy.api#documentation": "

Indicates whether the HTTP metadata endpoint on your instances is enabled or\n disabled.

\n

If the value is disabled, you cannot access your instance\n metadata.

", + "smithy.api#xmlName": "httpEndpoint" } }, - "Encrypted": { - "target": "com.amazonaws.ec2#Boolean", + "HttpProtocolIpv6": { + "target": "com.amazonaws.ec2#InstanceMetadataProtocolState", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Specifies whether the destination snapshot of the imported image should be encrypted. The default KMS key for EBS is\n used unless you specify a non-default KMS key using KmsKeyId. For more information, see Amazon EBS Encryption in the\n Amazon Elastic Compute Cloud User Guide.

" + "aws.protocols#ec2QueryName": "HttpProtocolIpv6", + "smithy.api#documentation": "

Indicates whether the IPv6 endpoint for the instance metadata service is enabled or\n disabled.

", + "smithy.api#xmlName": "httpProtocolIpv6" } }, - "KmsKeyId": { - "target": "com.amazonaws.ec2#KmsKeyId", + "InstanceMetadataTags": { + "target": "com.amazonaws.ec2#InstanceMetadataTagsState", "traits": { - "smithy.api#documentation": "

An identifier for the symmetric KMS key to use when creating the\n encrypted snapshot. This parameter is only required if you want to use a non-default KMS key; if this\n parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is\n specified, the Encrypted flag must also be set.

\n

The KMS key identifier may be provided in any of the following formats:

\n
    \n
  • \n

    Key ID

    \n
  • \n
  • \n

    Key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

    \n
  • \n
  • \n

    ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the key namespace, and then the key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

    \n
  • \n
  • \n

    ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

    \n
  • \n
\n

Amazon Web Services parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even\n though you provided an invalid identifier. This action will eventually report failure.

\n

The specified KMS key must exist in the Region that the snapshot is being copied to.

\n

Amazon EBS does not support asymmetric KMS keys.

" + "aws.protocols#ec2QueryName": "InstanceMetadataTags", + "smithy.api#documentation": "

Indicates whether access to instance tags from the instance metadata is enabled or\n disabled. For more information, see Work with\n instance tags using the instance metadata.

", + "smithy.api#xmlName": "instanceMetadataTags" } - }, - "RoleName": { - "target": "com.amazonaws.ec2#String", + } + }, + "traits": { + "smithy.api#documentation": "

The metadata options for the instance.

" + } + }, + "com.amazonaws.ec2#InstanceMetadataOptionsState": { + "type": "enum", + "members": { + "pending": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The name of the role to use when not using the default role, 'vmimport'.

" + "smithy.api#enumValue": "pending" } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + "applied": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The tags to apply to the import snapshot task during creation.

", - "smithy.api#xmlName": "TagSpecification" + "smithy.api#enumValue": "applied" } } } }, - "com.amazonaws.ec2#ImportSnapshotResult": { - "type": "structure", + "com.amazonaws.ec2#InstanceMetadataProtocolState": { + "type": "enum", "members": { - "Description": { - "target": "com.amazonaws.ec2#String", + "disabled": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

A description of the import snapshot task.

", - "smithy.api#xmlName": "description" + "smithy.api#enumValue": "disabled" } }, - "ImportTaskId": { - "target": "com.amazonaws.ec2#String", + "enabled": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ImportTaskId", - "smithy.api#documentation": "

The ID of the import snapshot task.

", - "smithy.api#xmlName": "importTaskId" + "smithy.api#enumValue": "enabled" } - }, - "SnapshotTaskDetail": { - "target": "com.amazonaws.ec2#SnapshotTaskDetail", + } + } + }, + "com.amazonaws.ec2#InstanceMetadataTagsState": { + "type": "enum", + "members": { + "disabled": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SnapshotTaskDetail", - "smithy.api#documentation": "

Information about the import snapshot task.

", - "smithy.api#xmlName": "snapshotTaskDetail" + "smithy.api#enumValue": "disabled" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "enabled": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags assigned to the import snapshot task.

", - "smithy.api#xmlName": "tagSet" + "smithy.api#enumValue": "enabled" } } } }, - "com.amazonaws.ec2#ImportSnapshotTask": { + "com.amazonaws.ec2#InstanceMonitoring": { "type": "structure", "members": { - "Description": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

A description of the import snapshot task.

", - "smithy.api#xmlName": "description" - } - }, - "ImportTaskId": { + "InstanceId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ImportTaskId", - "smithy.api#documentation": "

The ID of the import snapshot task.

", - "smithy.api#xmlName": "importTaskId" - } - }, - "SnapshotTaskDetail": { - "target": "com.amazonaws.ec2#SnapshotTaskDetail", - "traits": { - "aws.protocols#ec2QueryName": "SnapshotTaskDetail", - "smithy.api#documentation": "

Describes an import snapshot task.

", - "smithy.api#xmlName": "snapshotTaskDetail" + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#documentation": "

The ID of the instance.

", + "smithy.api#xmlName": "instanceId" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "Monitoring": { + "target": "com.amazonaws.ec2#Monitoring", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags for the import snapshot task.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "Monitoring", + "smithy.api#documentation": "

The monitoring for the instance.

", + "smithy.api#xmlName": "monitoring" } } }, "traits": { - "smithy.api#documentation": "

Describes an import snapshot task.

" - } - }, - "com.amazonaws.ec2#ImportSnapshotTaskId": { - "type": "string" - }, - "com.amazonaws.ec2#ImportSnapshotTaskIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ImportSnapshotTaskId", - "traits": { - "smithy.api#xmlName": "ImportTaskId" - } + "smithy.api#documentation": "

Describes the monitoring of an instance.

" } }, - "com.amazonaws.ec2#ImportSnapshotTaskList": { + "com.amazonaws.ec2#InstanceMonitoringList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#ImportSnapshotTask", + "target": "com.amazonaws.ec2#InstanceMonitoring", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#ImportTaskId": { - "type": "string" - }, - "com.amazonaws.ec2#ImportTaskIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ImportImageTaskId", - "traits": { - "smithy.api#xmlName": "ImportTaskId" - } - } - }, - "com.amazonaws.ec2#ImportVolume": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ImportVolumeRequest" - }, - "output": { - "target": "com.amazonaws.ec2#ImportVolumeResult" - }, - "traits": { - "smithy.api#documentation": "

Creates an import volume task using metadata from the specified disk image.

\n

This API action supports only single-volume VMs. To import multi-volume VMs, use \n ImportImage instead. To import a disk to a snapshot, use\n ImportSnapshot instead.

\n

This API action is not supported by the Command Line Interface (CLI). For \n information about using the Amazon EC2 CLI, which is deprecated, see Importing Disks to Amazon EBS in the Amazon EC2 CLI Reference PDF file.

\n

For information about the import manifest referenced by this API action, see VM Import Manifest.

" - } - }, - "com.amazonaws.ec2#ImportVolumeRequest": { + "com.amazonaws.ec2#InstanceNetworkInterface": { "type": "structure", "members": { - "AvailabilityZone": { - "target": "com.amazonaws.ec2#String", + "Association": { + "target": "com.amazonaws.ec2#InstanceNetworkInterfaceAssociation", "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZone", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The Availability Zone for the resulting EBS volume.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "availabilityZone" + "aws.protocols#ec2QueryName": "Association", + "smithy.api#documentation": "

The association information for an Elastic IPv4 associated with the network\n interface.

", + "smithy.api#xmlName": "association" + } + }, + "Attachment": { + "target": "com.amazonaws.ec2#InstanceNetworkInterfaceAttachment", + "traits": { + "aws.protocols#ec2QueryName": "Attachment", + "smithy.api#documentation": "

The network interface attachment.

", + "smithy.api#xmlName": "attachment" } }, "Description": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

A description of the volume.

", + "smithy.api#documentation": "

The description.

", "smithy.api#xmlName": "description" } }, - "DryRun": { + "Groups": { + "target": "com.amazonaws.ec2#GroupIdentifierList", + "traits": { + "aws.protocols#ec2QueryName": "GroupSet", + "smithy.api#documentation": "

The security groups.

", + "smithy.api#xmlName": "groupSet" + } + }, + "Ipv6Addresses": { + "target": "com.amazonaws.ec2#InstanceIpv6AddressList", + "traits": { + "aws.protocols#ec2QueryName": "Ipv6AddressesSet", + "smithy.api#documentation": "

The IPv6 addresses associated with the network interface.

", + "smithy.api#xmlName": "ipv6AddressesSet" + } + }, + "MacAddress": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "MacAddress", + "smithy.api#documentation": "

The MAC address.

", + "smithy.api#xmlName": "macAddress" + } + }, + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "smithy.api#documentation": "

The ID of the network interface.

", + "smithy.api#xmlName": "networkInterfaceId" + } + }, + "OwnerId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that created the network interface.

", + "smithy.api#xmlName": "ownerId" + } + }, + "PrivateDnsName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "PrivateDnsName", + "smithy.api#documentation": "

The private DNS name.

", + "smithy.api#xmlName": "privateDnsName" + } + }, + "PrivateIpAddress": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "PrivateIpAddress", + "smithy.api#documentation": "

The IPv4 address of the network interface within the subnet.

", + "smithy.api#xmlName": "privateIpAddress" + } + }, + "PrivateIpAddresses": { + "target": "com.amazonaws.ec2#InstancePrivateIpAddressList", + "traits": { + "aws.protocols#ec2QueryName": "PrivateIpAddressesSet", + "smithy.api#documentation": "

The private IPv4 addresses associated with the network interface.

", + "smithy.api#xmlName": "privateIpAddressesSet" + } + }, + "SourceDestCheck": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", + "aws.protocols#ec2QueryName": "SourceDestCheck", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Indicates whether source/destination checking is enabled.

", + "smithy.api#xmlName": "sourceDestCheck" } }, - "Image": { - "target": "com.amazonaws.ec2#DiskImageDetail", + "Status": { + "target": "com.amazonaws.ec2#NetworkInterfaceStatus", "traits": { - "aws.protocols#ec2QueryName": "Image", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The disk image.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "image" + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The status of the network interface.

", + "smithy.api#xmlName": "status" } }, - "Volume": { - "target": "com.amazonaws.ec2#VolumeDetail", + "SubnetId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Volume", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The volume size.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "volume" + "aws.protocols#ec2QueryName": "SubnetId", + "smithy.api#documentation": "

The ID of the subnet.

", + "smithy.api#xmlName": "subnetId" + } + }, + "VpcId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#documentation": "

The ID of the VPC.

", + "smithy.api#xmlName": "vpcId" + } + }, + "InterfaceType": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "InterfaceType", + "smithy.api#documentation": "

The type of network interface.

\n

Valid values: interface | efa | trunk\n

", + "smithy.api#xmlName": "interfaceType" + } + }, + "Ipv4Prefixes": { + "target": "com.amazonaws.ec2#InstanceIpv4PrefixList", + "traits": { + "aws.protocols#ec2QueryName": "Ipv4PrefixSet", + "smithy.api#documentation": "

The IPv4 delegated prefixes that are assigned to the network interface.

", + "smithy.api#xmlName": "ipv4PrefixSet" } - } - } - }, - "com.amazonaws.ec2#ImportVolumeResult": { - "type": "structure", - "members": { - "ConversionTask": { - "target": "com.amazonaws.ec2#ConversionTask", + }, + "Ipv6Prefixes": { + "target": "com.amazonaws.ec2#InstanceIpv6PrefixList", "traits": { - "aws.protocols#ec2QueryName": "ConversionTask", - "smithy.api#documentation": "

Information about the conversion task.

", - "smithy.api#xmlName": "conversionTask" + "aws.protocols#ec2QueryName": "Ipv6PrefixSet", + "smithy.api#documentation": "

The IPv6 delegated prefixes that are assigned to the network interface.

", + "smithy.api#xmlName": "ipv6PrefixSet" } } + }, + "traits": { + "smithy.api#documentation": "

Describes a network interface.

" } }, - "com.amazonaws.ec2#ImportVolumeTaskDetails": { + "com.amazonaws.ec2#InstanceNetworkInterfaceAssociation": { "type": "structure", "members": { - "AvailabilityZone": { + "CarrierIp": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZone", - "smithy.api#documentation": "

The Availability Zone where the resulting volume will reside.

", - "smithy.api#xmlName": "availabilityZone" + "aws.protocols#ec2QueryName": "CarrierIp", + "smithy.api#documentation": "

The carrier IP address associated with the network interface.

", + "smithy.api#xmlName": "carrierIp" } }, - "BytesConverted": { - "target": "com.amazonaws.ec2#Long", + "CustomerOwnedIp": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "BytesConverted", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of bytes converted so far.

", - "smithy.api#xmlName": "bytesConverted" + "aws.protocols#ec2QueryName": "CustomerOwnedIp", + "smithy.api#documentation": "

The customer-owned IP address associated with the network interface.

", + "smithy.api#xmlName": "customerOwnedIp" } }, - "Description": { + "IpOwnerId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

The description you provided when starting the import volume task.

", - "smithy.api#xmlName": "description" + "aws.protocols#ec2QueryName": "IpOwnerId", + "smithy.api#documentation": "

The ID of the owner of the Elastic IP address.

", + "smithy.api#xmlName": "ipOwnerId" } }, - "Image": { - "target": "com.amazonaws.ec2#DiskImageDescription", + "PublicDnsName": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Image", - "smithy.api#documentation": "

The image.

", - "smithy.api#xmlName": "image" + "aws.protocols#ec2QueryName": "PublicDnsName", + "smithy.api#documentation": "

The public DNS name.

", + "smithy.api#xmlName": "publicDnsName" } }, - "Volume": { - "target": "com.amazonaws.ec2#DiskImageVolumeDescription", + "PublicIp": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Volume", - "smithy.api#documentation": "

The volume.

", - "smithy.api#xmlName": "volume" + "aws.protocols#ec2QueryName": "PublicIp", + "smithy.api#documentation": "

The public IP address or Elastic IP address bound to the network interface.

", + "smithy.api#xmlName": "publicIp" } } }, "traits": { - "smithy.api#documentation": "

Describes an import volume task.

" + "smithy.api#documentation": "

Describes association information for an Elastic IP address (IPv4).

" } }, - "com.amazonaws.ec2#InferenceAcceleratorInfo": { + "com.amazonaws.ec2#InstanceNetworkInterfaceAttachment": { "type": "structure", "members": { - "Accelerators": { - "target": "com.amazonaws.ec2#InferenceDeviceInfoList", + "AttachTime": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "Accelerators", - "smithy.api#documentation": "

Describes the Inference accelerators for the instance type.

", - "smithy.api#xmlName": "accelerators" + "aws.protocols#ec2QueryName": "AttachTime", + "smithy.api#documentation": "

The time stamp when the attachment initiated.

", + "smithy.api#xmlName": "attachTime" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the Inference accelerators for the instance type.

" - } - }, - "com.amazonaws.ec2#InferenceDeviceCount": { - "type": "integer" - }, - "com.amazonaws.ec2#InferenceDeviceInfo": { - "type": "structure", - "members": { - "Count": { - "target": "com.amazonaws.ec2#InferenceDeviceCount", + }, + "AttachmentId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Count", - "smithy.api#documentation": "

The number of Inference accelerators for the instance type.

", - "smithy.api#xmlName": "count" + "aws.protocols#ec2QueryName": "AttachmentId", + "smithy.api#documentation": "

The ID of the network interface attachment.

", + "smithy.api#xmlName": "attachmentId" } }, - "Name": { - "target": "com.amazonaws.ec2#InferenceDeviceName", + "DeleteOnTermination": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Name", - "smithy.api#documentation": "

The name of the Inference accelerator.

", - "smithy.api#xmlName": "name" + "aws.protocols#ec2QueryName": "DeleteOnTermination", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the network interface is deleted when the instance is terminated.

", + "smithy.api#xmlName": "deleteOnTermination" } }, - "Manufacturer": { - "target": "com.amazonaws.ec2#InferenceDeviceManufacturerName", + "DeviceIndex": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "Manufacturer", - "smithy.api#documentation": "

The manufacturer of the Inference accelerator.

", - "smithy.api#xmlName": "manufacturer" + "aws.protocols#ec2QueryName": "DeviceIndex", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The index of the device on the instance for the network interface attachment.

", + "smithy.api#xmlName": "deviceIndex" + } + }, + "Status": { + "target": "com.amazonaws.ec2#AttachmentStatus", + "traits": { + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The attachment state.

", + "smithy.api#xmlName": "status" + } + }, + "NetworkCardIndex": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "NetworkCardIndex", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The index of the network card.

", + "smithy.api#xmlName": "networkCardIndex" } } }, "traits": { - "smithy.api#documentation": "

Describes the Inference accelerators for the instance type.

" - } - }, - "com.amazonaws.ec2#InferenceDeviceInfoList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#InferenceDeviceInfo" + "smithy.api#documentation": "

Describes a network interface attachment.

" } }, - "com.amazonaws.ec2#InferenceDeviceManufacturerName": { - "type": "string" - }, - "com.amazonaws.ec2#InferenceDeviceName": { - "type": "string" - }, - "com.amazonaws.ec2#InsideCidrBlocksStringList": { + "com.amazonaws.ec2#InstanceNetworkInterfaceList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#InstanceNetworkInterface", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#Instance": { + "com.amazonaws.ec2#InstanceNetworkInterfaceSpecification": { "type": "structure", "members": { - "AmiLaunchIndex": { - "target": "com.amazonaws.ec2#Integer", + "AssociatePublicIpAddress": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "AmiLaunchIndex", + "aws.protocols#ec2QueryName": "AssociatePublicIpAddress", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The AMI launch index, which can be used to find this instance in the launch\n group.

", - "smithy.api#xmlName": "amiLaunchIndex" - } - }, - "ImageId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "ImageId", - "smithy.api#documentation": "

The ID of the AMI used to launch the instance.

", - "smithy.api#xmlName": "imageId" - } - }, - "InstanceId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#documentation": "

The ID of the instance.

", - "smithy.api#xmlName": "instanceId" - } - }, - "InstanceType": { - "target": "com.amazonaws.ec2#InstanceType", - "traits": { - "aws.protocols#ec2QueryName": "InstanceType", - "smithy.api#documentation": "

The instance type.

", - "smithy.api#xmlName": "instanceType" + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. The\n public IP address can only be assigned to a network interface for eth0, and can only be\n assigned to a new network interface, not an existing one. You cannot specify more than one\n network interface in the request. If launching into a default subnet, the default value is\n true.

", + "smithy.api#xmlName": "associatePublicIpAddress" } }, - "KernelId": { - "target": "com.amazonaws.ec2#String", + "DeleteOnTermination": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "KernelId", - "smithy.api#documentation": "

The kernel associated with this instance, if applicable.

", - "smithy.api#xmlName": "kernelId" + "aws.protocols#ec2QueryName": "DeleteOnTermination", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

If set to true, the interface is deleted when the instance is terminated. You can\n specify true only if creating a new network interface when launching an\n instance.

", + "smithy.api#xmlName": "deleteOnTermination" } }, - "KeyName": { + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "KeyName", - "smithy.api#documentation": "

The name of the key pair, if this instance was launched with an associated key\n pair.

", - "smithy.api#xmlName": "keyName" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

The description of the network interface. Applies only if creating a network interface when launching an instance.

", + "smithy.api#xmlName": "description" } }, - "LaunchTime": { - "target": "com.amazonaws.ec2#DateTime", + "DeviceIndex": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "LaunchTime", - "smithy.api#documentation": "

The time the instance was launched.

", - "smithy.api#xmlName": "launchTime" + "aws.protocols#ec2QueryName": "DeviceIndex", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The position of the network interface in the attachment order. \n A primary network interface has a device index of 0.

\n

If you specify a network interface when launching an instance, \n you must specify the device index.

", + "smithy.api#xmlName": "deviceIndex" } }, - "Monitoring": { - "target": "com.amazonaws.ec2#Monitoring", + "Groups": { + "target": "com.amazonaws.ec2#SecurityGroupIdStringList", "traits": { - "aws.protocols#ec2QueryName": "Monitoring", - "smithy.api#documentation": "

The monitoring for the instance.

", - "smithy.api#xmlName": "monitoring" + "smithy.api#documentation": "

The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.

", + "smithy.api#xmlName": "SecurityGroupId" } }, - "Placement": { - "target": "com.amazonaws.ec2#Placement", + "Ipv6AddressCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "Placement", - "smithy.api#documentation": "

The location where the instance launched, if applicable.

", - "smithy.api#xmlName": "placement" + "aws.protocols#ec2QueryName": "Ipv6AddressCount", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

A number of IPv6 addresses to assign to the network interface. Amazon EC2 chooses\n the IPv6 addresses from the range of the subnet. You cannot specify this option and the\n option to assign specific IPv6 addresses in the same request. You can specify this\n option if you've specified a minimum number of instances to launch.

", + "smithy.api#xmlName": "ipv6AddressCount" } }, - "Platform": { - "target": "com.amazonaws.ec2#PlatformValues", + "Ipv6Addresses": { + "target": "com.amazonaws.ec2#InstanceIpv6AddressList", "traits": { - "aws.protocols#ec2QueryName": "Platform", - "smithy.api#documentation": "

The value is Windows for Windows instances; otherwise blank.

", - "smithy.api#xmlName": "platform" + "aws.protocols#ec2QueryName": "Ipv6Addresses", + "smithy.api#documentation": "

The IPv6 addresses to assign to the network interface. You cannot specify\n this option and the option to assign a number of IPv6 addresses in the same request. You\n cannot specify this option if you've specified a minimum number of instances to\n launch.

", + "smithy.api#xmlName": "ipv6AddressesSet" } }, - "PrivateDnsName": { - "target": "com.amazonaws.ec2#String", + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#NetworkInterfaceId", "traits": { - "aws.protocols#ec2QueryName": "PrivateDnsName", - "smithy.api#documentation": "

(IPv4 only) The private DNS hostname name assigned to the instance. This DNS hostname\n can only be used inside the Amazon EC2 network. This name is not available until the\n instance enters the running state.

\n

[EC2-VPC] The Amazon-provided DNS server resolves Amazon-provided private DNS\n hostnames if you've enabled DNS resolution and DNS hostnames in your VPC. If you are not\n using the Amazon-provided DNS server in your VPC, your custom domain name servers must\n resolve the hostname as appropriate.

", - "smithy.api#xmlName": "privateDnsName" + "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "smithy.api#documentation": "

The ID of the network interface.

\n

If you are creating a Spot Fleet, omit this parameter because you can’t specify a network interface ID in a launch specification.

", + "smithy.api#xmlName": "networkInterfaceId" } }, "PrivateIpAddress": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "PrivateIpAddress", - "smithy.api#documentation": "

The private IPv4 address assigned to the instance.

", + "smithy.api#documentation": "

The private IPv4 address of the network interface. Applies only if creating a network interface when launching an instance. You cannot specify this option if you're launching\n \tmore than one instance in a RunInstances request.

", "smithy.api#xmlName": "privateIpAddress" } }, - "ProductCodes": { - "target": "com.amazonaws.ec2#ProductCodeList", - "traits": { - "aws.protocols#ec2QueryName": "ProductCodes", - "smithy.api#documentation": "

The product codes attached to this instance, if applicable.

", - "smithy.api#xmlName": "productCodes" - } - }, - "PublicDnsName": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "DnsName", - "smithy.api#documentation": "

(IPv4 only) The public DNS name assigned to the instance. This name is not available\n until the instance enters the running state. For EC2-VPC, this name is only\n available if you've enabled DNS hostnames for your VPC.

", - "smithy.api#xmlName": "dnsName" - } - }, - "PublicIpAddress": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "IpAddress", - "smithy.api#documentation": "

The public IPv4 address, or the Carrier IP address assigned to the instance, if\n applicable.

\n

A Carrier IP address only applies to an instance launched in a subnet associated with\n a Wavelength Zone.

", - "smithy.api#xmlName": "ipAddress" - } - }, - "RamdiskId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "RamdiskId", - "smithy.api#documentation": "

The RAM disk associated with this instance, if applicable.

", - "smithy.api#xmlName": "ramdiskId" - } - }, - "State": { - "target": "com.amazonaws.ec2#InstanceState", + "PrivateIpAddresses": { + "target": "com.amazonaws.ec2#PrivateIpAddressSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "InstanceState", - "smithy.api#documentation": "

The current state of the instance.

", - "smithy.api#xmlName": "instanceState" + "aws.protocols#ec2QueryName": "PrivateIpAddresses", + "smithy.api#documentation": "

The private IPv4 addresses to assign to the network interface. Only one private IPv4 address can be designated as primary. You cannot specify this option if you're\n \tlaunching more than one instance in a RunInstances request.

", + "smithy.api#xmlName": "privateIpAddressesSet" } }, - "StateTransitionReason": { - "target": "com.amazonaws.ec2#String", + "SecondaryPrivateIpAddressCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "Reason", - "smithy.api#documentation": "

The reason for the most recent state transition. This might be an empty string.

", - "smithy.api#xmlName": "reason" + "aws.protocols#ec2QueryName": "SecondaryPrivateIpAddressCount", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of secondary private IPv4 addresses. You can't specify this option and specify more than one private IP address using the private IP addresses option. You cannot specify this option if you're\n \tlaunching more than one instance in a RunInstances request.

", + "smithy.api#xmlName": "secondaryPrivateIpAddressCount" } }, "SubnetId": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "SubnetId", - "smithy.api#documentation": "

[EC2-VPC] The ID of the subnet in which the instance is running.

", + "smithy.api#documentation": "

The ID of the subnet associated with the network interface. Applies only if creating a network interface when launching an instance.

", "smithy.api#xmlName": "subnetId" } }, - "VpcId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "VpcId", - "smithy.api#documentation": "

[EC2-VPC] The ID of the VPC in which the instance is running.

", - "smithy.api#xmlName": "vpcId" - } - }, - "Architecture": { - "target": "com.amazonaws.ec2#ArchitectureValues", - "traits": { - "aws.protocols#ec2QueryName": "Architecture", - "smithy.api#documentation": "

The architecture of the image.

", - "smithy.api#xmlName": "architecture" - } - }, - "BlockDeviceMappings": { - "target": "com.amazonaws.ec2#InstanceBlockDeviceMappingList", + "AssociateCarrierIpAddress": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "BlockDeviceMapping", - "smithy.api#documentation": "

Any block device mapping entries for the instance.

", - "smithy.api#xmlName": "blockDeviceMapping" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to assign a carrier IP address to the network interface.

\n

You can only assign a carrier IP address to a network interface that is in a subnet in\n a Wavelength Zone. For more information about carrier IP addresses, see Carrier IP address in the Amazon Web Services Wavelength Developer\n Guide.

" } }, - "ClientToken": { + "InterfaceType": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ClientToken", - "smithy.api#documentation": "

The idempotency token you provided when you launched the instance, if\n applicable.

", - "smithy.api#xmlName": "clientToken" - } - }, - "EbsOptimized": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "EbsOptimized", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the instance is optimized for Amazon EBS I/O. This optimization\n provides dedicated throughput to Amazon EBS and an optimized configuration stack to\n provide optimal I/O performance. This optimization isn't available with all instance\n types. Additional usage charges apply when using an EBS Optimized instance.

", - "smithy.api#xmlName": "ebsOptimized" + "smithy.api#documentation": "

The type of network interface.

\n

Valid values: interface | efa\n

" } }, - "EnaSupport": { - "target": "com.amazonaws.ec2#Boolean", + "NetworkCardIndex": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "EnaSupport", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Specifies whether enhanced networking with ENA is enabled.

", - "smithy.api#xmlName": "enaSupport" + "smithy.api#default": 0, + "smithy.api#documentation": "

The index of the network card. Some instance types support multiple network cards. \n The primary network interface must be assigned to network card index 0. \n The default is network card index 0.

\n

If you are using RequestSpotInstances to create Spot Instances, omit this parameter because\n you can’t specify the network card index when using this API. To specify the network\n card index, use RunInstances.

" } }, - "Hypervisor": { - "target": "com.amazonaws.ec2#HypervisorType", + "Ipv4Prefixes": { + "target": "com.amazonaws.ec2#Ipv4PrefixList", "traits": { - "aws.protocols#ec2QueryName": "Hypervisor", - "smithy.api#documentation": "

The hypervisor type of the instance. The value xen is used for both Xen\n and Nitro hypervisors.

", - "smithy.api#xmlName": "hypervisor" + "smithy.api#documentation": "

The IPv4 delegated prefixes to be assigned to the network interface. You cannot \n use this option if you use the Ipv4PrefixCount option.

", + "smithy.api#xmlName": "Ipv4Prefix" } }, - "IamInstanceProfile": { - "target": "com.amazonaws.ec2#IamInstanceProfile", + "Ipv4PrefixCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "IamInstanceProfile", - "smithy.api#documentation": "

The IAM instance profile associated with the instance, if\n applicable.

", - "smithy.api#xmlName": "iamInstanceProfile" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of IPv4 delegated prefixes to be automatically assigned to the network interface. \n You cannot use this option if you use the Ipv4Prefix option.

" } }, - "InstanceLifecycle": { - "target": "com.amazonaws.ec2#InstanceLifecycleType", + "Ipv6Prefixes": { + "target": "com.amazonaws.ec2#Ipv6PrefixList", "traits": { - "aws.protocols#ec2QueryName": "InstanceLifecycle", - "smithy.api#documentation": "

Indicates whether this is a Spot Instance or a Scheduled Instance.

", - "smithy.api#xmlName": "instanceLifecycle" + "smithy.api#documentation": "

The IPv6 delegated prefixes to be assigned to the network interface. You cannot \n use this option if you use the Ipv6PrefixCount option.

", + "smithy.api#xmlName": "Ipv6Prefix" } }, - "ElasticGpuAssociations": { - "target": "com.amazonaws.ec2#ElasticGpuAssociationList", + "Ipv6PrefixCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "ElasticGpuAssociationSet", - "smithy.api#documentation": "

The Elastic GPU associated with the instance.

", - "smithy.api#xmlName": "elasticGpuAssociationSet" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of IPv6 delegated prefixes to be automatically assigned to the network interface. \n You cannot use this option if you use the Ipv6Prefix option.

" } - }, - "ElasticInferenceAcceleratorAssociations": { - "target": "com.amazonaws.ec2#ElasticInferenceAcceleratorAssociationList", + } + }, + "traits": { + "smithy.api#documentation": "

Describes a network interface.

" + } + }, + "com.amazonaws.ec2#InstanceNetworkInterfaceSpecificationList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InstanceNetworkInterfaceSpecification", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#InstancePrivateIpAddress": { + "type": "structure", + "members": { + "Association": { + "target": "com.amazonaws.ec2#InstanceNetworkInterfaceAssociation", "traits": { - "aws.protocols#ec2QueryName": "ElasticInferenceAcceleratorAssociationSet", - "smithy.api#documentation": "

The elastic inference accelerator associated with the instance.

", - "smithy.api#xmlName": "elasticInferenceAcceleratorAssociationSet" + "aws.protocols#ec2QueryName": "Association", + "smithy.api#documentation": "

The association information for an Elastic IP address for the network interface.

", + "smithy.api#xmlName": "association" } }, - "NetworkInterfaces": { - "target": "com.amazonaws.ec2#InstanceNetworkInterfaceList", + "Primary": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceSet", - "smithy.api#documentation": "

[EC2-VPC] The network interfaces for the instance.

", - "smithy.api#xmlName": "networkInterfaceSet" + "aws.protocols#ec2QueryName": "Primary", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether this IPv4 address is the primary private IP address of the network interface.

", + "smithy.api#xmlName": "primary" } }, - "OutpostArn": { + "PrivateDnsName": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "OutpostArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Outpost.

", - "smithy.api#xmlName": "outpostArn" + "aws.protocols#ec2QueryName": "PrivateDnsName", + "smithy.api#documentation": "

The private IPv4 DNS name.

", + "smithy.api#xmlName": "privateDnsName" } }, - "RootDeviceName": { + "PrivateIpAddress": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "RootDeviceName", - "smithy.api#documentation": "

The device name of the root device volume (for example,\n /dev/sda1).

", - "smithy.api#xmlName": "rootDeviceName" + "aws.protocols#ec2QueryName": "PrivateIpAddress", + "smithy.api#documentation": "

The private IPv4 address of the network interface.

", + "smithy.api#xmlName": "privateIpAddress" } - }, - "RootDeviceType": { - "target": "com.amazonaws.ec2#DeviceType", + } + }, + "traits": { + "smithy.api#documentation": "

Describes a private IPv4 address.

" + } + }, + "com.amazonaws.ec2#InstancePrivateIpAddressList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InstancePrivateIpAddress", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#InstanceRequirements": { + "type": "structure", + "members": { + "VCpuCount": { + "target": "com.amazonaws.ec2#VCpuCountRange", "traits": { - "aws.protocols#ec2QueryName": "RootDeviceType", - "smithy.api#documentation": "

The root device type used by the AMI. The AMI can use an EBS volume or an instance\n store volume.

", - "smithy.api#xmlName": "rootDeviceType" + "aws.protocols#ec2QueryName": "VCpuCount", + "smithy.api#documentation": "

The minimum and maximum number of vCPUs.

", + "smithy.api#xmlName": "vCpuCount" } }, - "SecurityGroups": { - "target": "com.amazonaws.ec2#GroupIdentifierList", - "traits": { - "aws.protocols#ec2QueryName": "GroupSet", - "smithy.api#documentation": "

The security groups for the instance.

", - "smithy.api#xmlName": "groupSet" + "MemoryMiB": { + "target": "com.amazonaws.ec2#MemoryMiB", + "traits": { + "aws.protocols#ec2QueryName": "MemoryMiB", + "smithy.api#documentation": "

The minimum and maximum amount of memory, in MiB.

", + "smithy.api#xmlName": "memoryMiB" } }, - "SourceDestCheck": { - "target": "com.amazonaws.ec2#Boolean", + "CpuManufacturers": { + "target": "com.amazonaws.ec2#CpuManufacturerSet", "traits": { - "aws.protocols#ec2QueryName": "SourceDestCheck", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether source/destination checking is enabled.

", - "smithy.api#xmlName": "sourceDestCheck" + "aws.protocols#ec2QueryName": "CpuManufacturerSet", + "smithy.api#documentation": "

The CPU manufacturers to include.

\n
    \n
  • \n

    For instance types with Intel CPUs, specify intel.

    \n
  • \n
  • \n

    For instance types with AMD CPUs, specify amd.

    \n
  • \n
  • \n

    For instance types with Amazon Web Services CPUs, specify amazon-web-services.

    \n
  • \n
\n \n

Don't confuse the CPU manufacturer with the CPU architecture. Instances will \n be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you \n specify in your launch template.

\n
\n

Default: Any manufacturer

", + "smithy.api#xmlName": "cpuManufacturerSet" } }, - "SpotInstanceRequestId": { - "target": "com.amazonaws.ec2#String", + "MemoryGiBPerVCpu": { + "target": "com.amazonaws.ec2#MemoryGiBPerVCpu", "traits": { - "aws.protocols#ec2QueryName": "SpotInstanceRequestId", - "smithy.api#documentation": "

If the request is a Spot Instance request, the ID of the request.

", - "smithy.api#xmlName": "spotInstanceRequestId" + "aws.protocols#ec2QueryName": "MemoryGiBPerVCpu", + "smithy.api#documentation": "

The minimum and maximum amount of memory per vCPU, in GiB.

\n

Default: No minimum or maximum limits

", + "smithy.api#xmlName": "memoryGiBPerVCpu" } }, - "SriovNetSupport": { - "target": "com.amazonaws.ec2#String", + "ExcludedInstanceTypes": { + "target": "com.amazonaws.ec2#ExcludedInstanceTypeSet", "traits": { - "aws.protocols#ec2QueryName": "SriovNetSupport", - "smithy.api#documentation": "

Specifies whether enhanced networking with the Intel 82599 Virtual Function interface\n is enabled.

", - "smithy.api#xmlName": "sriovNetSupport" + "aws.protocols#ec2QueryName": "ExcludedInstanceTypeSet", + "smithy.api#documentation": "

The instance types to exclude.

\n

You can use strings with one or more wild cards, represented by\n an asterisk (*), to exclude an instance type, size, or generation. The\n following are examples: m5.8xlarge, c5*.*, m5a.*,\n r*, *3*.

\n

For example, if you specify c5*,Amazon EC2 will exclude the entire C5 instance\n family, which includes all C5a and C5n instance types. If you specify\n m5a.*, Amazon EC2 will exclude all the M5a instance types, but not the M5n\n instance types.

\n \n

If you specify ExcludedInstanceTypes, you can't specify AllowedInstanceTypes.

\n
\n

Default: No excluded instance types

", + "smithy.api#xmlName": "excludedInstanceTypeSet" } }, - "StateReason": { - "target": "com.amazonaws.ec2#StateReason", + "InstanceGenerations": { + "target": "com.amazonaws.ec2#InstanceGenerationSet", "traits": { - "aws.protocols#ec2QueryName": "StateReason", - "smithy.api#documentation": "

The reason for the most recent state transition.

", - "smithy.api#xmlName": "stateReason" + "aws.protocols#ec2QueryName": "InstanceGenerationSet", + "smithy.api#documentation": "

Indicates whether current or previous generation instance types are included. The\n current generation instance types are recommended for use. Current generation instance types are\n typically the latest two to three generations in each instance family. For more\n information, see Instance types in the\n Amazon EC2 User Guide.

\n

For current generation instance types, specify current.

\n

For previous generation instance types, specify previous.

\n

Default: Current and previous generation instance types

", + "smithy.api#xmlName": "instanceGenerationSet" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "SpotMaxPricePercentageOverLowestPrice": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags assigned to the instance.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "SpotMaxPricePercentageOverLowestPrice", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance,\n expressed as a percentage above the least expensive current generation M, C, or R instance type with your specified\n attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance\n types priced above your threshold.

\n

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

\n

To turn off price protection, specify a high value, such as 999999.

\n

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

\n \n

If you set TargetCapacityUnitType to vcpu or\n memory-mib, the price protection threshold is applied based on the\n per-vCPU or per-memory price instead of the per-instance price.

\n
\n

Default: 100\n

", + "smithy.api#xmlName": "spotMaxPricePercentageOverLowestPrice" } }, - "VirtualizationType": { - "target": "com.amazonaws.ec2#VirtualizationType", + "OnDemandMaxPricePercentageOverLowestPrice": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "VirtualizationType", - "smithy.api#documentation": "

The virtualization type of the instance.

", - "smithy.api#xmlName": "virtualizationType" + "aws.protocols#ec2QueryName": "OnDemandMaxPricePercentageOverLowestPrice", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance,\n expressed as a percentage above the least expensive current generation M, C, or R instance type with your specified\n attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance\n types priced above your threshold.

\n

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

\n

To turn off price protection, specify a high value, such as 999999.

\n

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

\n \n

If you set TargetCapacityUnitType to vcpu or\n memory-mib, the price protection threshold is applied based on the\n per-vCPU or per-memory price instead of the per-instance price.

\n
\n

Default: 20\n

", + "smithy.api#xmlName": "onDemandMaxPricePercentageOverLowestPrice" } }, - "CpuOptions": { - "target": "com.amazonaws.ec2#CpuOptions", + "BareMetal": { + "target": "com.amazonaws.ec2#BareMetal", "traits": { - "aws.protocols#ec2QueryName": "CpuOptions", - "smithy.api#documentation": "

The CPU options for the instance.

", - "smithy.api#xmlName": "cpuOptions" + "aws.protocols#ec2QueryName": "BareMetal", + "smithy.api#documentation": "

Indicates whether bare metal instance types must be included, excluded, or required.

\n
    \n
  • \n

    To include bare metal instance types, specify included.

    \n
  • \n
  • \n

    To require only bare metal instance types, specify required.

    \n
  • \n
  • \n

    To exclude bare metal instance types, specify excluded.

    \n
  • \n
\n

Default: excluded\n

", + "smithy.api#xmlName": "bareMetal" } }, - "CapacityReservationId": { - "target": "com.amazonaws.ec2#String", + "BurstablePerformance": { + "target": "com.amazonaws.ec2#BurstablePerformance", "traits": { - "aws.protocols#ec2QueryName": "CapacityReservationId", - "smithy.api#documentation": "

The ID of the Capacity Reservation.

", - "smithy.api#xmlName": "capacityReservationId" + "aws.protocols#ec2QueryName": "BurstablePerformance", + "smithy.api#documentation": "

Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see \n Burstable performance instances.

\n
    \n
  • \n

    To include burstable performance instance types, specify included.

    \n
  • \n
  • \n

    To require only burstable performance instance types, specify required.

    \n
  • \n
  • \n

    To exclude burstable performance instance types, specify excluded.

    \n
  • \n
\n

Default: excluded\n

", + "smithy.api#xmlName": "burstablePerformance" } }, - "CapacityReservationSpecification": { - "target": "com.amazonaws.ec2#CapacityReservationSpecificationResponse", + "RequireHibernateSupport": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "CapacityReservationSpecification", - "smithy.api#documentation": "

Information about the Capacity Reservation targeting option.

", - "smithy.api#xmlName": "capacityReservationSpecification" + "aws.protocols#ec2QueryName": "RequireHibernateSupport", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether instance types must support hibernation for On-Demand\n Instances.

\n

This parameter is not supported for GetSpotPlacementScores.

\n

Default: false\n

", + "smithy.api#xmlName": "requireHibernateSupport" } }, - "HibernationOptions": { - "target": "com.amazonaws.ec2#HibernationOptions", + "NetworkInterfaceCount": { + "target": "com.amazonaws.ec2#NetworkInterfaceCount", "traits": { - "aws.protocols#ec2QueryName": "HibernationOptions", - "smithy.api#documentation": "

Indicates whether the instance is enabled for hibernation.

", - "smithy.api#xmlName": "hibernationOptions" + "aws.protocols#ec2QueryName": "NetworkInterfaceCount", + "smithy.api#documentation": "

The minimum and maximum number of network interfaces.

\n

Default: No minimum or maximum limits

", + "smithy.api#xmlName": "networkInterfaceCount" } }, - "Licenses": { - "target": "com.amazonaws.ec2#LicenseList", + "LocalStorage": { + "target": "com.amazonaws.ec2#LocalStorage", "traits": { - "aws.protocols#ec2QueryName": "LicenseSet", - "smithy.api#documentation": "

The license configurations for the instance.

", - "smithy.api#xmlName": "licenseSet" + "aws.protocols#ec2QueryName": "LocalStorage", + "smithy.api#documentation": "

Indicates whether instance types with instance store volumes are included, excluded, or required. For more information,\n Amazon\n EC2 instance store in the Amazon EC2 User Guide.

\n
    \n
  • \n

    To include instance types with instance store volumes, specify\n included.

    \n
  • \n
  • \n

    To require only instance types with instance store volumes, specify\n required.

    \n
  • \n
  • \n

    To exclude instance types with instance store volumes, specify\n excluded.

    \n
  • \n
\n

Default: included\n

", + "smithy.api#xmlName": "localStorage" } }, - "MetadataOptions": { - "target": "com.amazonaws.ec2#InstanceMetadataOptionsResponse", + "LocalStorageTypes": { + "target": "com.amazonaws.ec2#LocalStorageTypeSet", "traits": { - "aws.protocols#ec2QueryName": "MetadataOptions", - "smithy.api#documentation": "

The metadata options for the instance.

", - "smithy.api#xmlName": "metadataOptions" + "aws.protocols#ec2QueryName": "LocalStorageTypeSet", + "smithy.api#documentation": "

The type of local storage that is required.

\n
    \n
  • \n

    For instance types with hard disk drive (HDD) storage, specify hdd.

    \n
  • \n
  • \n

    For instance types with solid state drive (SSD) storage, specify\n ssd.

    \n
  • \n
\n

Default: hdd and ssd\n

", + "smithy.api#xmlName": "localStorageTypeSet" } }, - "EnclaveOptions": { - "target": "com.amazonaws.ec2#EnclaveOptions", + "TotalLocalStorageGB": { + "target": "com.amazonaws.ec2#TotalLocalStorageGB", "traits": { - "aws.protocols#ec2QueryName": "EnclaveOptions", - "smithy.api#documentation": "

Indicates whether the instance is enabled for Amazon Web Services Nitro\n Enclaves.

", - "smithy.api#xmlName": "enclaveOptions" + "aws.protocols#ec2QueryName": "TotalLocalStorageGB", + "smithy.api#documentation": "

The minimum and maximum amount of total local storage, in GB.

\n

Default: No minimum or maximum limits

", + "smithy.api#xmlName": "totalLocalStorageGB" } }, - "BootMode": { - "target": "com.amazonaws.ec2#BootModeValues", + "BaselineEbsBandwidthMbps": { + "target": "com.amazonaws.ec2#BaselineEbsBandwidthMbps", "traits": { - "aws.protocols#ec2QueryName": "BootMode", - "smithy.api#documentation": "

The boot mode of the instance. For more information, see Boot modes in the\n Amazon EC2 User Guide.

", - "smithy.api#xmlName": "bootMode" + "aws.protocols#ec2QueryName": "BaselineEbsBandwidthMbps", + "smithy.api#documentation": "

The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see\n Amazon\n EBS–optimized instances in the Amazon EC2 User Guide.

\n

Default: No minimum or maximum limits

", + "smithy.api#xmlName": "baselineEbsBandwidthMbps" } }, - "PlatformDetails": { - "target": "com.amazonaws.ec2#String", + "AcceleratorTypes": { + "target": "com.amazonaws.ec2#AcceleratorTypeSet", "traits": { - "aws.protocols#ec2QueryName": "PlatformDetails", - "smithy.api#documentation": "

The platform details value for the instance. For more information, see AMI\n billing information fields in the\n Amazon EC2 User Guide.

", - "smithy.api#xmlName": "platformDetails" + "aws.protocols#ec2QueryName": "AcceleratorTypeSet", + "smithy.api#documentation": "

The accelerator types that must be on the instance type.

\n
    \n
  • \n

    For instance types with GPU accelerators, specify gpu.

    \n
  • \n
  • \n

    For instance types with FPGA accelerators, specify fpga.

    \n
  • \n
  • \n

    For instance types with inference accelerators, specify inference.

    \n
  • \n
\n

Default: Any accelerator type

", + "smithy.api#xmlName": "acceleratorTypeSet" } }, - "UsageOperation": { - "target": "com.amazonaws.ec2#String", + "AcceleratorCount": { + "target": "com.amazonaws.ec2#AcceleratorCount", "traits": { - "aws.protocols#ec2QueryName": "UsageOperation", - "smithy.api#documentation": "

The usage operation value for the instance. For more information, see AMI\n billing information fields in the\n Amazon EC2 User Guide.

", - "smithy.api#xmlName": "usageOperation" + "aws.protocols#ec2QueryName": "AcceleratorCount", + "smithy.api#documentation": "

The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on\n an instance.

\n

To exclude accelerator-enabled instance types, set Max to 0.

\n

Default: No minimum or maximum limits

", + "smithy.api#xmlName": "acceleratorCount" } }, - "UsageOperationUpdateTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "AcceleratorManufacturers": { + "target": "com.amazonaws.ec2#AcceleratorManufacturerSet", "traits": { - "aws.protocols#ec2QueryName": "UsageOperationUpdateTime", - "smithy.api#documentation": "

The time that the usage operation was last updated.

", - "smithy.api#xmlName": "usageOperationUpdateTime" + "aws.protocols#ec2QueryName": "AcceleratorManufacturerSet", + "smithy.api#documentation": "

Indicates whether instance types must have accelerators by specific manufacturers.

\n
    \n
  • \n

    For instance types with NVIDIA devices, specify nvidia.

    \n
  • \n
  • \n

    For instance types with AMD devices, specify amd.

    \n
  • \n
  • \n

    For instance types with Amazon Web Services devices, specify amazon-web-services.

    \n
  • \n
  • \n

    For instance types with Xilinx devices, specify xilinx.

    \n
  • \n
\n

Default: Any manufacturer

", + "smithy.api#xmlName": "acceleratorManufacturerSet" } }, - "PrivateDnsNameOptions": { - "target": "com.amazonaws.ec2#PrivateDnsNameOptionsResponse", + "AcceleratorNames": { + "target": "com.amazonaws.ec2#AcceleratorNameSet", "traits": { - "aws.protocols#ec2QueryName": "PrivateDnsNameOptions", - "smithy.api#documentation": "

The options for the instance hostname.

", - "smithy.api#xmlName": "privateDnsNameOptions" + "aws.protocols#ec2QueryName": "AcceleratorNameSet", + "smithy.api#documentation": "

The accelerators that must be on the instance type.

\n
    \n
  • \n

    For instance types with NVIDIA A100 GPUs, specify a100.

    \n
  • \n
  • \n

    For instance types with NVIDIA V100 GPUs, specify v100.

    \n
  • \n
  • \n

    For instance types with NVIDIA K80 GPUs, specify k80.

    \n
  • \n
  • \n

    For instance types with NVIDIA T4 GPUs, specify t4.

    \n
  • \n
  • \n

    For instance types with NVIDIA M60 GPUs, specify m60.

    \n
  • \n
  • \n

    For instance types with AMD Radeon Pro V520 GPUs, specify radeon-pro-v520.

    \n
  • \n
  • \n

    For instance types with Xilinx VU9P FPGAs, specify vu9p.

    \n
  • \n
  • \n

    For instance types with Amazon Web Services Inferentia chips, specify inferentia.

    \n
  • \n
  • \n

    For instance types with NVIDIA GRID K520 GPUs, specify k520.

    \n
  • \n
\n

Default: Any accelerator

", + "smithy.api#xmlName": "acceleratorNameSet" } }, - "Ipv6Address": { - "target": "com.amazonaws.ec2#String", + "AcceleratorTotalMemoryMiB": { + "target": "com.amazonaws.ec2#AcceleratorTotalMemoryMiB", "traits": { - "aws.protocols#ec2QueryName": "Ipv6Address", - "smithy.api#documentation": "

The IPv6 address assigned to the instance.

", - "smithy.api#xmlName": "ipv6Address" + "aws.protocols#ec2QueryName": "AcceleratorTotalMemoryMiB", + "smithy.api#documentation": "

The minimum and maximum amount of total accelerator memory, in MiB.

\n

Default: No minimum or maximum limits

", + "smithy.api#xmlName": "acceleratorTotalMemoryMiB" } }, - "TpmSupport": { - "target": "com.amazonaws.ec2#String", + "NetworkBandwidthGbps": { + "target": "com.amazonaws.ec2#NetworkBandwidthGbps", "traits": { - "aws.protocols#ec2QueryName": "TpmSupport", - "smithy.api#documentation": "

If the instance is configured for NitroTPM support, the value is v2.0.\n For more information, see NitroTPM in the\n Amazon EC2 User Guide.

", - "smithy.api#xmlName": "tpmSupport" + "aws.protocols#ec2QueryName": "NetworkBandwidthGbps", + "smithy.api#documentation": "

The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).

\n

Default: No minimum or maximum limits

", + "smithy.api#xmlName": "networkBandwidthGbps" } }, - "MaintenanceOptions": { - "target": "com.amazonaws.ec2#InstanceMaintenanceOptions", + "AllowedInstanceTypes": { + "target": "com.amazonaws.ec2#AllowedInstanceTypeSet", "traits": { - "aws.protocols#ec2QueryName": "MaintenanceOptions", - "smithy.api#documentation": "

Provides information on the recovery and maintenance options of your instance.

", - "smithy.api#xmlName": "maintenanceOptions" + "aws.protocols#ec2QueryName": "AllowedInstanceTypeSet", + "smithy.api#documentation": "

The instance types to apply your specified attributes against. All other instance types \n are ignored, even if they match your specified attributes.

\n

You can use strings with one or more wild cards, represented by\n an asterisk (*), to allow an instance type, size, or generation. The\n following are examples: m5.8xlarge, c5*.*, m5a.*,\n r*, *3*.

\n

For example, if you specify c5*,Amazon EC2 will allow the entire C5 instance\n family, which includes all C5a and C5n instance types. If you specify\n m5a.*, Amazon EC2 will allow all the M5a instance types, but not the M5n\n instance types.

\n \n

If you specify AllowedInstanceTypes, you can't specify ExcludedInstanceTypes.

\n
\n

Default: All instance types

", + "smithy.api#xmlName": "allowedInstanceTypeSet" } } }, "traits": { - "smithy.api#documentation": "

Describes an instance.

" + "smithy.api#documentation": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with these attributes.

\n

When you specify multiple attributes, you get instance types that satisfy all of the\n specified attributes. If you specify multiple values for an attribute, you get instance\n types that satisfy any of the specified values.

\n

To limit the list of instance types from which Amazon EC2 can identify matching instance types, \n you can use one of the following parameters, but not both in the same request:

\n
    \n
  • \n

    \n AllowedInstanceTypes - The instance types to include in the list. All \n other instance types are ignored, even if they match your specified attributes.

    \n
  • \n
  • \n

    \n ExcludedInstanceTypes - The instance types to exclude from the list, \n even if they match your specified attributes.

    \n
  • \n
\n \n

You must specify VCpuCount and MemoryMiB. All other attributes\n are optional. Any unspecified optional attribute is set to its default.

\n
\n

For more information, see Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot\n placement score in the Amazon EC2 User Guide.

" } }, - "com.amazonaws.ec2#InstanceAttribute": { + "com.amazonaws.ec2#InstanceRequirementsRequest": { "type": "structure", "members": { - "Groups": { - "target": "com.amazonaws.ec2#GroupIdentifierList", - "traits": { - "aws.protocols#ec2QueryName": "GroupSet", - "smithy.api#documentation": "

The security groups associated with the instance.

", - "smithy.api#xmlName": "groupSet" - } - }, - "BlockDeviceMappings": { - "target": "com.amazonaws.ec2#InstanceBlockDeviceMappingList", - "traits": { - "aws.protocols#ec2QueryName": "BlockDeviceMapping", - "smithy.api#documentation": "

The block device mapping of the instance.

", - "smithy.api#xmlName": "blockDeviceMapping" - } - }, - "DisableApiTermination": { - "target": "com.amazonaws.ec2#AttributeBooleanValue", - "traits": { - "aws.protocols#ec2QueryName": "DisableApiTermination", - "smithy.api#documentation": "

If the value is true, you can't terminate the instance through the Amazon\n EC2 console, CLI, or API; otherwise, you can.

", - "smithy.api#xmlName": "disableApiTermination" - } - }, - "EnaSupport": { - "target": "com.amazonaws.ec2#AttributeBooleanValue", + "VCpuCount": { + "target": "com.amazonaws.ec2#VCpuCountRangeRequest", "traits": { - "aws.protocols#ec2QueryName": "EnaSupport", - "smithy.api#documentation": "

Indicates whether enhanced networking with ENA is enabled.

", - "smithy.api#xmlName": "enaSupport" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The minimum and maximum number of vCPUs.

", + "smithy.api#required": {} } }, - "EnclaveOptions": { - "target": "com.amazonaws.ec2#EnclaveOptions", + "MemoryMiB": { + "target": "com.amazonaws.ec2#MemoryMiBRequest", "traits": { - "aws.protocols#ec2QueryName": "EnclaveOptions", - "smithy.api#documentation": "

To enable the instance for Amazon Web Services Nitro Enclaves, set this parameter to\n true; otherwise, set it to false.

", - "smithy.api#xmlName": "enclaveOptions" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The minimum and maximum amount of memory, in MiB.

", + "smithy.api#required": {} } }, - "EbsOptimized": { - "target": "com.amazonaws.ec2#AttributeBooleanValue", + "CpuManufacturers": { + "target": "com.amazonaws.ec2#CpuManufacturerSet", "traits": { - "aws.protocols#ec2QueryName": "EbsOptimized", - "smithy.api#documentation": "

Indicates whether the instance is optimized for Amazon EBS I/O.

", - "smithy.api#xmlName": "ebsOptimized" + "smithy.api#documentation": "

The CPU manufacturers to include.

\n
    \n
  • \n

    For instance types with Intel CPUs, specify intel.

    \n
  • \n
  • \n

    For instance types with AMD CPUs, specify amd.

    \n
  • \n
  • \n

    For instance types with Amazon Web Services CPUs, specify amazon-web-services.

    \n
  • \n
\n \n

Don't confuse the CPU manufacturer with the CPU architecture. Instances will \n be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you \n specify in your launch template.

\n
\n

Default: Any manufacturer

", + "smithy.api#xmlName": "CpuManufacturer" } }, - "InstanceId": { - "target": "com.amazonaws.ec2#String", + "MemoryGiBPerVCpu": { + "target": "com.amazonaws.ec2#MemoryGiBPerVCpuRequest", "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#documentation": "

The ID of the instance.

", - "smithy.api#xmlName": "instanceId" + "smithy.api#documentation": "

The minimum and maximum amount of memory per vCPU, in GiB.

\n

Default: No minimum or maximum limits

" } }, - "InstanceInitiatedShutdownBehavior": { - "target": "com.amazonaws.ec2#AttributeValue", + "ExcludedInstanceTypes": { + "target": "com.amazonaws.ec2#ExcludedInstanceTypeSet", "traits": { - "aws.protocols#ec2QueryName": "InstanceInitiatedShutdownBehavior", - "smithy.api#documentation": "

Indicates whether an instance stops or terminates when you initiate shutdown from the\n instance (using the operating system command for system shutdown).

", - "smithy.api#xmlName": "instanceInitiatedShutdownBehavior" + "smithy.api#documentation": "

The instance types to exclude.

\n

You can use strings with one or more wild cards, represented by\n an asterisk (*), to exclude an instance family, type, size, or generation. The\n following are examples: m5.8xlarge, c5*.*, m5a.*,\n r*, *3*.

\n

For example, if you specify c5*,Amazon EC2 will exclude the entire C5 instance\n family, which includes all C5a and C5n instance types. If you specify\n m5a.*, Amazon EC2 will exclude all the M5a instance types, but not the M5n\n instance types.

\n \n

If you specify ExcludedInstanceTypes, you can't specify AllowedInstanceTypes.

\n
\n

Default: No excluded instance types

", + "smithy.api#xmlName": "ExcludedInstanceType" } }, - "InstanceType": { - "target": "com.amazonaws.ec2#AttributeValue", + "InstanceGenerations": { + "target": "com.amazonaws.ec2#InstanceGenerationSet", "traits": { - "aws.protocols#ec2QueryName": "InstanceType", - "smithy.api#documentation": "

The instance type.

", - "smithy.api#xmlName": "instanceType" + "smithy.api#documentation": "

Indicates whether current or previous generation instance types are included. The\n current generation instance types are recommended for use. Current generation instance types are\n typically the latest two to three generations in each instance family. For more\n information, see Instance types in the\n Amazon EC2 User Guide.

\n

For current generation instance types, specify current.

\n

For previous generation instance types, specify previous.

\n

Default: Current and previous generation instance types

", + "smithy.api#xmlName": "InstanceGeneration" } }, - "KernelId": { - "target": "com.amazonaws.ec2#AttributeValue", + "SpotMaxPricePercentageOverLowestPrice": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "Kernel", - "smithy.api#documentation": "

The kernel ID.

", - "smithy.api#xmlName": "kernel" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The price protection threshold for Spot Instance. This is the maximum you’ll pay for an Spot Instance,\n expressed as a percentage above the least expensive current generation M, C, or R instance type with your specified\n attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance\n types priced above your threshold.

\n

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

\n

To turn off price protection, specify a high value, such as 999999.

\n

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

\n \n

If you set TargetCapacityUnitType to vcpu or\n memory-mib, the price protection threshold is applied based on the\n per-vCPU or per-memory price instead of the per-instance price.

\n
\n

Default: 100\n

" } }, - "ProductCodes": { - "target": "com.amazonaws.ec2#ProductCodeList", + "OnDemandMaxPricePercentageOverLowestPrice": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "ProductCodes", - "smithy.api#documentation": "

A list of product codes.

", - "smithy.api#xmlName": "productCodes" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance,\n expressed as a percentage above the least expensive current generation M, C, or R instance type with your specified\n attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance\n types priced above your threshold.

\n

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

\n

To turn off price protection, specify a high value, such as 999999.

\n

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

\n \n

If you set TargetCapacityUnitType to vcpu or\n memory-mib, the price protection threshold is applied based on the\n per-vCPU or per-memory price instead of the per-instance price.

\n
\n

Default: 20\n

" } }, - "RamdiskId": { - "target": "com.amazonaws.ec2#AttributeValue", + "BareMetal": { + "target": "com.amazonaws.ec2#BareMetal", "traits": { - "aws.protocols#ec2QueryName": "Ramdisk", - "smithy.api#documentation": "

The RAM disk ID.

", - "smithy.api#xmlName": "ramdisk" + "smithy.api#documentation": "

Indicates whether bare metal instance types must be included, excluded, or required.

\n
    \n
  • \n

    To include bare metal instance types, specify included.

    \n
  • \n
  • \n

    To require only bare metal instance types, specify required.

    \n
  • \n
  • \n

    To exclude bare metal instance types, specify excluded.

    \n
  • \n
\n

Default: excluded\n

" } }, - "RootDeviceName": { - "target": "com.amazonaws.ec2#AttributeValue", + "BurstablePerformance": { + "target": "com.amazonaws.ec2#BurstablePerformance", "traits": { - "aws.protocols#ec2QueryName": "RootDeviceName", - "smithy.api#documentation": "

The device name of the root device volume (for example,\n /dev/sda1).

", - "smithy.api#xmlName": "rootDeviceName" + "smithy.api#documentation": "

Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see \n Burstable performance instances.

\n
    \n
  • \n

    To include burstable performance instance types, specify included.

    \n
  • \n
  • \n

    To require only burstable performance instance types, specify required.

    \n
  • \n
  • \n

    To exclude burstable performance instance types, specify excluded.

    \n
  • \n
\n

Default: excluded\n

" } }, - "SourceDestCheck": { - "target": "com.amazonaws.ec2#AttributeBooleanValue", + "RequireHibernateSupport": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "SourceDestCheck", - "smithy.api#documentation": "

Enable or disable source/destination checks, which ensure that the instance is either\n the source or the destination of any traffic that it receives. If the value is\n true, source/destination checks are enabled; otherwise, they are\n disabled. The default value is true. You must disable source/destination\n checks if the instance runs services such as network address translation, routing, or\n firewalls.

", - "smithy.api#xmlName": "sourceDestCheck" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether instance types must support hibernation for On-Demand Instances.

\n

This parameter is not supported for GetSpotPlacementScores.

\n

Default: false\n

" } }, - "SriovNetSupport": { - "target": "com.amazonaws.ec2#AttributeValue", + "NetworkInterfaceCount": { + "target": "com.amazonaws.ec2#NetworkInterfaceCountRequest", "traits": { - "aws.protocols#ec2QueryName": "SriovNetSupport", - "smithy.api#documentation": "

Indicates whether enhanced networking with the Intel 82599 Virtual Function interface\n is enabled.

", - "smithy.api#xmlName": "sriovNetSupport" + "smithy.api#documentation": "

The minimum and maximum number of network interfaces.

\n

Default: No minimum or maximum limits

" } }, - "UserData": { - "target": "com.amazonaws.ec2#AttributeValue", + "LocalStorage": { + "target": "com.amazonaws.ec2#LocalStorage", "traits": { - "aws.protocols#ec2QueryName": "UserData", - "smithy.api#documentation": "

The user data.

", - "smithy.api#xmlName": "userData" + "smithy.api#documentation": "

Indicates whether instance types with instance store volumes are included, excluded, or required. For more information,\n Amazon\n EC2 instance store in the Amazon EC2 User Guide.

\n
    \n
  • \n

    To include instance types with instance store volumes, specify\n included.

    \n
  • \n
  • \n

    To require only instance types with instance store volumes, specify\n required.

    \n
  • \n
  • \n

    To exclude instance types with instance store volumes, specify\n excluded.

    \n
  • \n
\n

Default: included\n

" } }, - "DisableApiStop": { - "target": "com.amazonaws.ec2#AttributeBooleanValue", - "traits": { - "aws.protocols#ec2QueryName": "DisableApiStop", - "smithy.api#documentation": "

To enable the instance for Amazon Web Services Stop Protection, set this parameter to\n true; otherwise, set it to false.

", - "smithy.api#xmlName": "disableApiStop" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes an instance attribute.

" - } - }, - "com.amazonaws.ec2#InstanceAttributeName": { - "type": "enum", - "members": { - "instanceType": { - "target": "smithy.api#Unit", + "LocalStorageTypes": { + "target": "com.amazonaws.ec2#LocalStorageTypeSet", "traits": { - "smithy.api#enumValue": "instanceType" + "smithy.api#documentation": "

The type of local storage that is required.

\n
    \n
  • \n

    For instance types with hard disk drive (HDD) storage, specify hdd.

    \n
  • \n
  • \n

    For instance types with solid state drive (SSD) storage, specify\n ssd.

    \n
  • \n
\n

Default: hdd and ssd\n

", + "smithy.api#xmlName": "LocalStorageType" } }, - "kernel": { - "target": "smithy.api#Unit", + "TotalLocalStorageGB": { + "target": "com.amazonaws.ec2#TotalLocalStorageGBRequest", "traits": { - "smithy.api#enumValue": "kernel" + "smithy.api#documentation": "

The minimum and maximum amount of total local storage, in GB.

\n

Default: No minimum or maximum limits

" } }, - "ramdisk": { - "target": "smithy.api#Unit", + "BaselineEbsBandwidthMbps": { + "target": "com.amazonaws.ec2#BaselineEbsBandwidthMbpsRequest", "traits": { - "smithy.api#enumValue": "ramdisk" + "smithy.api#documentation": "

The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see\n Amazon\n EBS–optimized instances in the Amazon EC2 User Guide.

\n

Default: No minimum or maximum limits

" } }, - "userData": { - "target": "smithy.api#Unit", + "AcceleratorTypes": { + "target": "com.amazonaws.ec2#AcceleratorTypeSet", "traits": { - "smithy.api#enumValue": "userData" + "smithy.api#documentation": "

The accelerator types that must be on the instance type.

\n
    \n
  • \n

    To include instance types with GPU hardware, specify gpu.

    \n
  • \n
  • \n

    To include instance types with FPGA hardware, specify fpga.

    \n
  • \n
  • \n

    To include instance types with inference hardware, specify inference.

    \n
  • \n
\n

Default: Any accelerator type

", + "smithy.api#xmlName": "AcceleratorType" } }, - "disableApiTermination": { - "target": "smithy.api#Unit", + "AcceleratorCount": { + "target": "com.amazonaws.ec2#AcceleratorCountRequest", "traits": { - "smithy.api#enumValue": "disableApiTermination" + "smithy.api#documentation": "

The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on\n an instance.

\n

To exclude accelerator-enabled instance types, set Max to 0.

\n

Default: No minimum or maximum limits

" } }, - "instanceInitiatedShutdownBehavior": { - "target": "smithy.api#Unit", + "AcceleratorManufacturers": { + "target": "com.amazonaws.ec2#AcceleratorManufacturerSet", "traits": { - "smithy.api#enumValue": "instanceInitiatedShutdownBehavior" + "smithy.api#documentation": "

Indicates whether instance types must have accelerators by specific manufacturers.

\n
    \n
  • \n

    For instance types with NVIDIA devices, specify nvidia.

    \n
  • \n
  • \n

    For instance types with AMD devices, specify amd.

    \n
  • \n
  • \n

    For instance types with Amazon Web Services devices, specify amazon-web-services.

    \n
  • \n
  • \n

    For instance types with Xilinx devices, specify xilinx.

    \n
  • \n
\n

Default: Any manufacturer

", + "smithy.api#xmlName": "AcceleratorManufacturer" } }, - "rootDeviceName": { - "target": "smithy.api#Unit", + "AcceleratorNames": { + "target": "com.amazonaws.ec2#AcceleratorNameSet", "traits": { - "smithy.api#enumValue": "rootDeviceName" + "smithy.api#documentation": "

The accelerators that must be on the instance type.

\n
    \n
  • \n

    For instance types with NVIDIA A100 GPUs, specify a100.

    \n
  • \n
  • \n

    For instance types with NVIDIA V100 GPUs, specify v100.

    \n
  • \n
  • \n

    For instance types with NVIDIA K80 GPUs, specify k80.

    \n
  • \n
  • \n

    For instance types with NVIDIA T4 GPUs, specify t4.

    \n
  • \n
  • \n

    For instance types with NVIDIA M60 GPUs, specify m60.

    \n
  • \n
  • \n

    For instance types with AMD Radeon Pro V520 GPUs, specify radeon-pro-v520.

    \n
  • \n
  • \n

    For instance types with Xilinx VU9P FPGAs, specify vu9p.

    \n
  • \n
  • \n

    For instance types with Amazon Web Services Inferentia chips, specify inferentia.

    \n
  • \n
  • \n

    For instance types with NVIDIA GRID K520 GPUs, specify k520.

    \n
  • \n
\n

Default: Any accelerator

", + "smithy.api#xmlName": "AcceleratorName" } }, - "blockDeviceMapping": { - "target": "smithy.api#Unit", + "AcceleratorTotalMemoryMiB": { + "target": "com.amazonaws.ec2#AcceleratorTotalMemoryMiBRequest", "traits": { - "smithy.api#enumValue": "blockDeviceMapping" + "smithy.api#documentation": "

The minimum and maximum amount of total accelerator memory, in MiB.

\n

Default: No minimum or maximum limits

" } }, - "productCodes": { - "target": "smithy.api#Unit", + "NetworkBandwidthGbps": { + "target": "com.amazonaws.ec2#NetworkBandwidthGbpsRequest", "traits": { - "smithy.api#enumValue": "productCodes" + "smithy.api#documentation": "

The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).

\n

Default: No minimum or maximum limits

" } }, - "sourceDestCheck": { - "target": "smithy.api#Unit", + "AllowedInstanceTypes": { + "target": "com.amazonaws.ec2#AllowedInstanceTypeSet", "traits": { - "smithy.api#enumValue": "sourceDestCheck" + "smithy.api#documentation": "

The instance types to apply your specified attributes against. All other instance types \n are ignored, even if they match your specified attributes.

\n

You can use strings with one or more wild cards, represented by\n an asterisk (*), to allow an instance type, size, or generation. The\n following are examples: m5.8xlarge, c5*.*, m5a.*,\n r*, *3*.

\n

For example, if you specify c5*,Amazon EC2 will allow the entire C5 instance\n family, which includes all C5a and C5n instance types. If you specify\n m5a.*, Amazon EC2 will allow all the M5a instance types, but not the M5n\n instance types.

\n \n

If you specify AllowedInstanceTypes, you can't specify ExcludedInstanceTypes.

\n
\n

Default: All instance types

", + "smithy.api#xmlName": "AllowedInstanceType" } - }, - "groupSet": { - "target": "smithy.api#Unit", + } + }, + "traits": { + "smithy.api#documentation": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with these attributes.

\n

When you specify multiple attributes, you get instance types that satisfy all of the\n specified attributes. If you specify multiple values for an attribute, you get instance\n types that satisfy any of the specified values.

\n

To limit the list of instance types from which Amazon EC2 can identify matching instance types, \n you can use one of the following parameters, but not both in the same request:

\n
    \n
  • \n

    \n AllowedInstanceTypes - The instance types to include in the list. All \n other instance types are ignored, even if they match your specified attributes.

    \n
  • \n
  • \n

    \n ExcludedInstanceTypes - The instance types to exclude from the list, \n even if they match your specified attributes.

    \n
  • \n
\n \n

You must specify VCpuCount and MemoryMiB. All other attributes\n are optional. Any unspecified optional attribute is set to its default.

\n
\n

For more information, see Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot\n placement score in the Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#InstanceRequirementsWithMetadataRequest": { + "type": "structure", + "members": { + "ArchitectureTypes": { + "target": "com.amazonaws.ec2#ArchitectureTypeSet", "traits": { - "smithy.api#enumValue": "groupSet" + "smithy.api#documentation": "

The architecture type.

", + "smithy.api#xmlName": "ArchitectureType" } }, - "ebsOptimized": { - "target": "smithy.api#Unit", + "VirtualizationTypes": { + "target": "com.amazonaws.ec2#VirtualizationTypeSet", "traits": { - "smithy.api#enumValue": "ebsOptimized" + "smithy.api#documentation": "

The virtualization type.

", + "smithy.api#xmlName": "VirtualizationType" } }, - "sriovNetSupport": { - "target": "smithy.api#Unit", + "InstanceRequirements": { + "target": "com.amazonaws.ec2#InstanceRequirementsRequest", "traits": { - "smithy.api#enumValue": "sriovNetSupport" + "smithy.api#documentation": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with those attributes.

" } - }, - "enaSupport": { - "target": "smithy.api#Unit", + } + }, + "traits": { + "smithy.api#documentation": "

The architecture type, virtualization type, and other attributes for the instance types.\n When you specify instance attributes, Amazon EC2 will identify instance types with those\n attributes.

\n

If you specify InstanceRequirementsWithMetadataRequest, you can't specify\n InstanceTypes.

" + } + }, + "com.amazonaws.ec2#InstanceSpecification": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", "traits": { - "smithy.api#enumValue": "enaSupport" + "smithy.api#documentation": "

The instance to specify which volumes should be snapshotted.

" } }, - "enclaveOptions": { - "target": "smithy.api#Unit", + "ExcludeBootVolume": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "enclaveOptions" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Excludes the root volume from being snapshotted.

" } }, - "disableApiStop": { - "target": "smithy.api#Unit", + "ExcludeDataVolumeIds": { + "target": "com.amazonaws.ec2#VolumeIdStringList", "traits": { - "smithy.api#enumValue": "disableApiStop" + "smithy.api#documentation": "

The IDs of the data (non-root) volumes to exclude from the multi-volume snapshot set. \n If you specify the ID of the root volume, the request fails. To exclude the root volume, \n use ExcludeBootVolume.

\n

You can specify up to 40 volume IDs per request.

", + "smithy.api#xmlName": "ExcludeDataVolumeId" } } + }, + "traits": { + "smithy.api#documentation": "

The instance details to specify which volumes should be snapshotted.

" } }, - "com.amazonaws.ec2#InstanceAutoRecoveryState": { - "type": "enum", + "com.amazonaws.ec2#InstanceState": { + "type": "structure", "members": { - "disabled": { - "target": "smithy.api#Unit", + "Code": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "disabled" + "aws.protocols#ec2QueryName": "Code", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The state of the instance as a 16-bit unsigned integer.

\n

The high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal values\n between 256 and 65,535. These numerical values are used for internal purposes and should\n be ignored.

\n

The low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal values\n between 0 and 255.

\n

The valid values for instance-state-code will all be in the range of the low byte and\n they are:

\n
    \n
  • \n

    \n 0 : pending\n

    \n
  • \n
  • \n

    \n 16 : running\n

    \n
  • \n
  • \n

    \n 32 : shutting-down\n

    \n
  • \n
  • \n

    \n 48 : terminated\n

    \n
  • \n
  • \n

    \n 64 : stopping\n

    \n
  • \n
  • \n

    \n 80 : stopped\n

    \n
  • \n
\n

You can ignore the high byte value by zeroing out all of the bits above 2^8 or 256 in\n decimal.

", + "smithy.api#xmlName": "code" } }, - "default": { - "target": "smithy.api#Unit", + "Name": { + "target": "com.amazonaws.ec2#InstanceStateName", "traits": { - "smithy.api#enumValue": "default" + "aws.protocols#ec2QueryName": "Name", + "smithy.api#documentation": "

The current state of the instance.

", + "smithy.api#xmlName": "name" } } + }, + "traits": { + "smithy.api#documentation": "

Describes the current state of an instance.

" } }, - "com.amazonaws.ec2#InstanceBlockDeviceMapping": { + "com.amazonaws.ec2#InstanceStateChange": { "type": "structure", "members": { - "DeviceName": { + "CurrentState": { + "target": "com.amazonaws.ec2#InstanceState", + "traits": { + "aws.protocols#ec2QueryName": "CurrentState", + "smithy.api#documentation": "

The current state of the instance.

", + "smithy.api#xmlName": "currentState" + } + }, + "InstanceId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DeviceName", - "smithy.api#documentation": "

The device name (for example, /dev/sdh or xvdh).

", - "smithy.api#xmlName": "deviceName" + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#documentation": "

The ID of the instance.

", + "smithy.api#xmlName": "instanceId" } }, - "Ebs": { - "target": "com.amazonaws.ec2#EbsInstanceBlockDevice", + "PreviousState": { + "target": "com.amazonaws.ec2#InstanceState", "traits": { - "aws.protocols#ec2QueryName": "Ebs", - "smithy.api#documentation": "

Parameters used to automatically set up EBS volumes when the instance is\n launched.

", - "smithy.api#xmlName": "ebs" + "aws.protocols#ec2QueryName": "PreviousState", + "smithy.api#documentation": "

The previous state of the instance.

", + "smithy.api#xmlName": "previousState" } } }, "traits": { - "smithy.api#documentation": "

Describes a block device mapping.

" + "smithy.api#documentation": "

Describes an instance state change.

" } }, - "com.amazonaws.ec2#InstanceBlockDeviceMappingList": { + "com.amazonaws.ec2#InstanceStateChangeList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#InstanceBlockDeviceMapping", + "target": "com.amazonaws.ec2#InstanceStateChange", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#InstanceBlockDeviceMappingSpecification": { - "type": "structure", + "com.amazonaws.ec2#InstanceStateName": { + "type": "enum", "members": { - "DeviceName": { - "target": "com.amazonaws.ec2#String", + "pending": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "DeviceName", - "smithy.api#documentation": "

The device name (for example, /dev/sdh or xvdh).

", - "smithy.api#xmlName": "deviceName" + "smithy.api#enumValue": "pending" } }, - "Ebs": { - "target": "com.amazonaws.ec2#EbsInstanceBlockDeviceSpecification", + "running": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Ebs", - "smithy.api#documentation": "

Parameters used to automatically set up EBS volumes when the instance is\n launched.

", - "smithy.api#xmlName": "ebs" + "smithy.api#enumValue": "running" } }, - "NoDevice": { - "target": "com.amazonaws.ec2#String", + "shutting_down": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "NoDevice", - "smithy.api#documentation": "

suppress the specified device included in the block device mapping.

", - "smithy.api#xmlName": "noDevice" + "smithy.api#enumValue": "shutting-down" } }, - "VirtualName": { - "target": "com.amazonaws.ec2#String", + "terminated": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "VirtualName", - "smithy.api#documentation": "

The virtual device name.

", - "smithy.api#xmlName": "virtualName" + "smithy.api#enumValue": "terminated" + } + }, + "stopping": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "stopping" + } + }, + "stopped": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "stopped" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a block device mapping entry.

" - } - }, - "com.amazonaws.ec2#InstanceBlockDeviceMappingSpecificationList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#InstanceBlockDeviceMappingSpecification", - "traits": { - "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#InstanceCapacity": { + "com.amazonaws.ec2#InstanceStatus": { "type": "structure", "members": { - "AvailableCapacity": { - "target": "com.amazonaws.ec2#Integer", + "AvailabilityZone": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AvailableCapacity", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of instances that can be launched onto the Dedicated Host based on the\n host's available capacity.

", - "smithy.api#xmlName": "availableCapacity" + "aws.protocols#ec2QueryName": "AvailabilityZone", + "smithy.api#documentation": "

The Availability Zone of the instance.

", + "smithy.api#xmlName": "availabilityZone" } }, - "InstanceType": { + "OutpostArn": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "InstanceType", - "smithy.api#documentation": "

The instance type supported by the Dedicated Host.

", - "smithy.api#xmlName": "instanceType" + "aws.protocols#ec2QueryName": "OutpostArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Outpost.

", + "smithy.api#xmlName": "outpostArn" } }, - "TotalCapacity": { - "target": "com.amazonaws.ec2#Integer", + "Events": { + "target": "com.amazonaws.ec2#InstanceStatusEventList", "traits": { - "aws.protocols#ec2QueryName": "TotalCapacity", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The total number of instances that can be launched onto the Dedicated Host if there\n are no instances running on it.

", - "smithy.api#xmlName": "totalCapacity" + "aws.protocols#ec2QueryName": "EventsSet", + "smithy.api#documentation": "

Any scheduled events associated with the instance.

", + "smithy.api#xmlName": "eventsSet" + } + }, + "InstanceId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#documentation": "

The ID of the instance.

", + "smithy.api#xmlName": "instanceId" + } + }, + "InstanceState": { + "target": "com.amazonaws.ec2#InstanceState", + "traits": { + "aws.protocols#ec2QueryName": "InstanceState", + "smithy.api#documentation": "

The intended state of the instance. DescribeInstanceStatus requires\n that an instance be in the running state.

", + "smithy.api#xmlName": "instanceState" + } + }, + "InstanceStatus": { + "target": "com.amazonaws.ec2#InstanceStatusSummary", + "traits": { + "aws.protocols#ec2QueryName": "InstanceStatus", + "smithy.api#documentation": "

Reports impaired functionality that stems from issues internal to the instance, such\n as impaired reachability.

", + "smithy.api#xmlName": "instanceStatus" + } + }, + "SystemStatus": { + "target": "com.amazonaws.ec2#InstanceStatusSummary", + "traits": { + "aws.protocols#ec2QueryName": "SystemStatus", + "smithy.api#documentation": "

Reports impaired functionality that stems from issues related to the systems that\n support an instance, such as hardware failures and network connectivity problems.

", + "smithy.api#xmlName": "systemStatus" } } }, "traits": { - "smithy.api#documentation": "

Information about the number of instances that can be launched onto the Dedicated\n Host.

" + "smithy.api#documentation": "

Describes the status of an instance.

" } }, - "com.amazonaws.ec2#InstanceCount": { + "com.amazonaws.ec2#InstanceStatusDetails": { "type": "structure", "members": { - "InstanceCount": { - "target": "com.amazonaws.ec2#Integer", + "ImpairedSince": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "InstanceCount", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of listed Reserved Instances in the state specified by the state.

", - "smithy.api#xmlName": "instanceCount" + "aws.protocols#ec2QueryName": "ImpairedSince", + "smithy.api#documentation": "

The time when a status check failed. For an instance that was launched and impaired,\n this is the time when the instance was launched.

", + "smithy.api#xmlName": "impairedSince" } }, - "State": { - "target": "com.amazonaws.ec2#ListingState", + "Name": { + "target": "com.amazonaws.ec2#StatusName", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The states of the listed Reserved Instances.

", - "smithy.api#xmlName": "state" + "aws.protocols#ec2QueryName": "Name", + "smithy.api#documentation": "

The type of instance status.

", + "smithy.api#xmlName": "name" + } + }, + "Status": { + "target": "com.amazonaws.ec2#StatusType", + "traits": { + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The status.

", + "smithy.api#xmlName": "status" } } }, "traits": { - "smithy.api#documentation": "

Describes a Reserved Instance listing state.

" + "smithy.api#documentation": "

Describes the instance status.

" } }, - "com.amazonaws.ec2#InstanceCountList": { + "com.amazonaws.ec2#InstanceStatusDetailsList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#InstanceCount", + "target": "com.amazonaws.ec2#InstanceStatusDetails", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#InstanceCreditSpecification": { + "com.amazonaws.ec2#InstanceStatusEvent": { "type": "structure", "members": { - "InstanceId": { - "target": "com.amazonaws.ec2#String", + "InstanceEventId": { + "target": "com.amazonaws.ec2#InstanceEventId", "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#documentation": "

The ID of the instance.

", - "smithy.api#xmlName": "instanceId" + "aws.protocols#ec2QueryName": "InstanceEventId", + "smithy.api#documentation": "

The ID of the event.

", + "smithy.api#xmlName": "instanceEventId" } }, - "CpuCredits": { + "Code": { + "target": "com.amazonaws.ec2#EventCode", + "traits": { + "aws.protocols#ec2QueryName": "Code", + "smithy.api#documentation": "

The event code.

", + "smithy.api#xmlName": "code" + } + }, + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CpuCredits", - "smithy.api#documentation": "

The credit option for CPU usage of the instance.

\n

Valid values: standard | unlimited\n

", - "smithy.api#xmlName": "cpuCredits" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A description of the event.

\n

After a scheduled event is completed, it can still be described for up to a week. If\n the event has been completed, this description starts with the following text:\n [Completed].

", + "smithy.api#xmlName": "description" + } + }, + "NotAfter": { + "target": "com.amazonaws.ec2#DateTime", + "traits": { + "aws.protocols#ec2QueryName": "NotAfter", + "smithy.api#documentation": "

The latest scheduled end time for the event.

", + "smithy.api#xmlName": "notAfter" + } + }, + "NotBefore": { + "target": "com.amazonaws.ec2#DateTime", + "traits": { + "aws.protocols#ec2QueryName": "NotBefore", + "smithy.api#documentation": "

The earliest scheduled start time for the event.

", + "smithy.api#xmlName": "notBefore" + } + }, + "NotBeforeDeadline": { + "target": "com.amazonaws.ec2#DateTime", + "traits": { + "aws.protocols#ec2QueryName": "NotBeforeDeadline", + "smithy.api#documentation": "

The deadline for starting the event.

", + "smithy.api#xmlName": "notBeforeDeadline" } } }, "traits": { - "smithy.api#documentation": "

Describes the credit option for CPU usage of a burstable performance instance.

" + "smithy.api#documentation": "

Describes a scheduled event for an instance.

" } }, - "com.amazonaws.ec2#InstanceCreditSpecificationList": { + "com.amazonaws.ec2#InstanceStatusEventList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#InstanceCreditSpecification", + "target": "com.amazonaws.ec2#InstanceStatusEvent", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#InstanceCreditSpecificationListRequest": { + "com.amazonaws.ec2#InstanceStatusList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#InstanceCreditSpecificationRequest", + "target": "com.amazonaws.ec2#InstanceStatus", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#InstanceCreditSpecificationRequest": { + "com.amazonaws.ec2#InstanceStatusSummary": { "type": "structure", "members": { - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", + "Details": { + "target": "com.amazonaws.ec2#InstanceStatusDetailsList", "traits": { - "smithy.api#documentation": "

The ID of the instance.

" + "aws.protocols#ec2QueryName": "Details", + "smithy.api#documentation": "

The system instance health or application instance health.

", + "smithy.api#xmlName": "details" } }, - "CpuCredits": { - "target": "com.amazonaws.ec2#String", + "Status": { + "target": "com.amazonaws.ec2#SummaryStatus", "traits": { - "smithy.api#documentation": "

The credit option for CPU usage of the instance.

\n

Valid values: standard | unlimited\n

\n

T3 instances with host tenancy do not support the unlimited\n CPU credit option.

" + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The status.

", + "smithy.api#xmlName": "status" } } }, "traits": { - "smithy.api#documentation": "

Describes the credit option for CPU usage of a burstable performance instance.

" + "smithy.api#documentation": "

Describes the status of an instance.

" } }, - "com.amazonaws.ec2#InstanceEventId": { - "type": "string" - }, - "com.amazonaws.ec2#InstanceEventWindow": { - "type": "structure", + "com.amazonaws.ec2#InstanceStorageEncryptionSupport": { + "type": "enum", "members": { - "InstanceEventWindowId": { - "target": "com.amazonaws.ec2#InstanceEventWindowId", - "traits": { - "aws.protocols#ec2QueryName": "InstanceEventWindowId", - "smithy.api#documentation": "

The ID of the event window.

", - "smithy.api#xmlName": "instanceEventWindowId" - } - }, - "TimeRanges": { - "target": "com.amazonaws.ec2#InstanceEventWindowTimeRangeList", + "unsupported": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "TimeRangeSet", - "smithy.api#documentation": "

One or more time ranges defined for the event window.

", - "smithy.api#xmlName": "timeRangeSet" + "smithy.api#enumValue": "unsupported" } }, - "Name": { - "target": "com.amazonaws.ec2#String", + "required": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Name", - "smithy.api#documentation": "

The name of the event window.

", - "smithy.api#xmlName": "name" + "smithy.api#enumValue": "required" } - }, - "CronExpression": { - "target": "com.amazonaws.ec2#InstanceEventWindowCronExpression", + } + } + }, + "com.amazonaws.ec2#InstanceStorageFlag": { + "type": "boolean" + }, + "com.amazonaws.ec2#InstanceStorageInfo": { + "type": "structure", + "members": { + "TotalSizeInGB": { + "target": "com.amazonaws.ec2#DiskSize", "traits": { - "aws.protocols#ec2QueryName": "CronExpression", - "smithy.api#documentation": "

The cron expression defined for the event window.

", - "smithy.api#xmlName": "cronExpression" + "aws.protocols#ec2QueryName": "TotalSizeInGB", + "smithy.api#documentation": "

The total size of the disks, in GB.

", + "smithy.api#xmlName": "totalSizeInGB" } }, - "AssociationTarget": { - "target": "com.amazonaws.ec2#InstanceEventWindowAssociationTarget", + "Disks": { + "target": "com.amazonaws.ec2#DiskInfoList", "traits": { - "aws.protocols#ec2QueryName": "AssociationTarget", - "smithy.api#documentation": "

One or more targets associated with the event window.

", - "smithy.api#xmlName": "associationTarget" + "aws.protocols#ec2QueryName": "Disks", + "smithy.api#documentation": "

Describes the disks that are available for the instance type.

", + "smithy.api#xmlName": "disks" } }, - "State": { - "target": "com.amazonaws.ec2#InstanceEventWindowState", + "NvmeSupport": { + "target": "com.amazonaws.ec2#EphemeralNvmeSupport", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The current state of the event window.

", - "smithy.api#xmlName": "state" + "aws.protocols#ec2QueryName": "NvmeSupport", + "smithy.api#documentation": "

Indicates whether non-volatile memory express (NVMe) is supported.

", + "smithy.api#xmlName": "nvmeSupport" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "EncryptionSupport": { + "target": "com.amazonaws.ec2#InstanceStorageEncryptionSupport", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The instance tags associated with the event window.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "EncryptionSupport", + "smithy.api#documentation": "

Indicates whether data is encrypted at rest.

", + "smithy.api#xmlName": "encryptionSupport" } } }, "traits": { - "smithy.api#documentation": "

The event window.

" + "smithy.api#documentation": "

Describes the instance store features that are supported by the instance type.

" } }, - "com.amazonaws.ec2#InstanceEventWindowAssociationRequest": { - "type": "structure", - "members": { - "InstanceIds": { - "target": "com.amazonaws.ec2#InstanceIdList", - "traits": { - "smithy.api#documentation": "

The IDs of the instances to associate with the event window. If the instance is on a\n Dedicated Host, you can't specify the Instance ID parameter; you must use the Dedicated\n Host ID parameter.

", - "smithy.api#xmlName": "InstanceId" - } - }, - "InstanceTags": { - "target": "com.amazonaws.ec2#TagList", - "traits": { - "smithy.api#documentation": "

The instance tags to associate with the event window. Any instances associated with the\n tags will be associated with the event window.

", - "smithy.api#xmlName": "InstanceTag" - } - }, - "DedicatedHostIds": { - "target": "com.amazonaws.ec2#DedicatedHostIdList", - "traits": { - "smithy.api#documentation": "

The IDs of the Dedicated Hosts to associate with the event window.

", - "smithy.api#xmlName": "DedicatedHostId" - } + "com.amazonaws.ec2#InstanceTagKeySet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#xmlName": "item" } - }, - "traits": { - "smithy.api#documentation": "

One or more targets associated with the specified event window. Only one\n type of target (instance ID, instance tag, or Dedicated Host ID)\n can be associated with an event window.

" } }, - "com.amazonaws.ec2#InstanceEventWindowAssociationTarget": { + "com.amazonaws.ec2#InstanceTagNotificationAttribute": { "type": "structure", "members": { - "InstanceIds": { - "target": "com.amazonaws.ec2#InstanceIdList", - "traits": { - "aws.protocols#ec2QueryName": "InstanceIdSet", - "smithy.api#documentation": "

The IDs of the instances associated with the event window.

", - "smithy.api#xmlName": "instanceIdSet" - } - }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "InstanceTagKeys": { + "target": "com.amazonaws.ec2#InstanceTagKeySet", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The instance tags associated with the event window. Any instances associated with the tags\n will be associated with the event window.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "InstanceTagKeySet", + "smithy.api#documentation": "

The registered tag keys.

", + "smithy.api#xmlName": "instanceTagKeySet" } }, - "DedicatedHostIds": { - "target": "com.amazonaws.ec2#DedicatedHostIdList", + "IncludeAllTagsOfInstance": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DedicatedHostIdSet", - "smithy.api#documentation": "

The IDs of the Dedicated Hosts associated with the event window.

", - "smithy.api#xmlName": "dedicatedHostIdSet" + "aws.protocols#ec2QueryName": "IncludeAllTagsOfInstance", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates wheter all tag keys in the current Region are registered to appear in scheduled event notifications. \n \ttrue indicates that all tag keys in the current Region are registered.

", + "smithy.api#xmlName": "includeAllTagsOfInstance" } } }, "traits": { - "smithy.api#documentation": "

One or more targets associated with the event window.

" + "smithy.api#documentation": "

Describes the registered tag keys for the current Region.

" } }, - "com.amazonaws.ec2#InstanceEventWindowCronExpression": { - "type": "string" - }, - "com.amazonaws.ec2#InstanceEventWindowDisassociationRequest": { - "type": "structure", + "com.amazonaws.ec2#InstanceType": { + "type": "enum", "members": { - "InstanceIds": { - "target": "com.amazonaws.ec2#InstanceIdList", + "a1_medium": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The IDs of the instances to disassociate from the event window.

", - "smithy.api#xmlName": "InstanceId" + "smithy.api#enumValue": "a1.medium" } }, - "InstanceTags": { - "target": "com.amazonaws.ec2#TagList", + "a1_large": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The instance tags to disassociate from the event window. Any instances associated with\n the tags will be disassociated from the event window.

", - "smithy.api#xmlName": "InstanceTag" + "smithy.api#enumValue": "a1.large" } }, - "DedicatedHostIds": { - "target": "com.amazonaws.ec2#DedicatedHostIdList", + "a1_xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The IDs of the Dedicated Hosts to disassociate from the event window.

", - "smithy.api#xmlName": "DedicatedHostId" + "smithy.api#enumValue": "a1.xlarge" } - } - }, - "traits": { - "smithy.api#documentation": "

The targets to disassociate from the specified event window.

" - } - }, - "com.amazonaws.ec2#InstanceEventWindowId": { - "type": "string" - }, - "com.amazonaws.ec2#InstanceEventWindowIdSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#InstanceEventWindowId", - "traits": { - "smithy.api#xmlName": "InstanceEventWindowId" - } - } - }, - "com.amazonaws.ec2#InstanceEventWindowSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#InstanceEventWindow", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#InstanceEventWindowState": { - "type": "enum", - "members": { - "creating": { + }, + "a1_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "creating" + "smithy.api#enumValue": "a1.2xlarge" } }, - "deleting": { + "a1_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "deleting" + "smithy.api#enumValue": "a1.4xlarge" } }, - "active": { + "a1_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "active" + "smithy.api#enumValue": "a1.metal" } }, - "deleted": { + "c1_medium": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "deleted" + "smithy.api#enumValue": "c1.medium" } - } - } - }, - "com.amazonaws.ec2#InstanceEventWindowStateChange": { - "type": "structure", - "members": { - "InstanceEventWindowId": { - "target": "com.amazonaws.ec2#InstanceEventWindowId", + }, + "c1_xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InstanceEventWindowId", - "smithy.api#documentation": "

The ID of the event window.

", - "smithy.api#xmlName": "instanceEventWindowId" + "smithy.api#enumValue": "c1.xlarge" } }, - "State": { - "target": "com.amazonaws.ec2#InstanceEventWindowState", + "c3_large": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The current state of the event window.

", - "smithy.api#xmlName": "state" + "smithy.api#enumValue": "c3.large" } - } - }, - "traits": { - "smithy.api#documentation": "

The state of the event window.

" - } - }, - "com.amazonaws.ec2#InstanceEventWindowTimeRange": { - "type": "structure", - "members": { - "StartWeekDay": { - "target": "com.amazonaws.ec2#WeekDay", + }, + "c3_xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "StartWeekDay", - "smithy.api#documentation": "

The day on which the time range begins.

", - "smithy.api#xmlName": "startWeekDay" + "smithy.api#enumValue": "c3.xlarge" } }, - "StartHour": { - "target": "com.amazonaws.ec2#Hour", + "c3_2xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "StartHour", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The hour when the time range begins.

", - "smithy.api#xmlName": "startHour" + "smithy.api#enumValue": "c3.2xlarge" } }, - "EndWeekDay": { - "target": "com.amazonaws.ec2#WeekDay", + "c3_4xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "EndWeekDay", - "smithy.api#documentation": "

The day on which the time range ends.

", - "smithy.api#xmlName": "endWeekDay" + "smithy.api#enumValue": "c3.4xlarge" } }, - "EndHour": { - "target": "com.amazonaws.ec2#Hour", + "c3_8xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "EndHour", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The hour when the time range ends.

", - "smithy.api#xmlName": "endHour" + "smithy.api#enumValue": "c3.8xlarge" } - } - }, - "traits": { - "smithy.api#documentation": "

The start day and time and the end day and time of the time range, in UTC.

" - } - }, - "com.amazonaws.ec2#InstanceEventWindowTimeRangeList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#InstanceEventWindowTimeRange", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#InstanceEventWindowTimeRangeRequest": { - "type": "structure", - "members": { - "StartWeekDay": { - "target": "com.amazonaws.ec2#WeekDay", + }, + "c4_large": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The day on which the time range begins.

" + "smithy.api#enumValue": "c4.large" } }, - "StartHour": { - "target": "com.amazonaws.ec2#Hour", + "c4_xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The hour when the time range begins.

" + "smithy.api#enumValue": "c4.xlarge" } }, - "EndWeekDay": { - "target": "com.amazonaws.ec2#WeekDay", + "c4_2xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The day on which the time range ends.

" + "smithy.api#enumValue": "c4.2xlarge" } }, - "EndHour": { - "target": "com.amazonaws.ec2#Hour", + "c4_4xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The hour when the time range ends.

" + "smithy.api#enumValue": "c4.4xlarge" } - } - }, - "traits": { - "smithy.api#documentation": "

The start day and time and the end day and time of the time range, in UTC.

" - } - }, - "com.amazonaws.ec2#InstanceEventWindowTimeRangeRequestSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#InstanceEventWindowTimeRangeRequest" - } - }, - "com.amazonaws.ec2#InstanceExportDetails": { - "type": "structure", - "members": { - "InstanceId": { - "target": "com.amazonaws.ec2#String", + }, + "c4_8xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#documentation": "

The ID of the resource being exported.

", - "smithy.api#xmlName": "instanceId" + "smithy.api#enumValue": "c4.8xlarge" } }, - "TargetEnvironment": { - "target": "com.amazonaws.ec2#ExportEnvironment", + "c5_large": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "TargetEnvironment", - "smithy.api#documentation": "

The target virtualization environment.

", - "smithy.api#xmlName": "targetEnvironment" + "smithy.api#enumValue": "c5.large" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes an instance to export.

" - } - }, - "com.amazonaws.ec2#InstanceFamilyCreditSpecification": { - "type": "structure", - "members": { - "InstanceFamily": { - "target": "com.amazonaws.ec2#UnlimitedSupportedInstanceFamily", + }, + "c5_xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InstanceFamily", - "smithy.api#documentation": "

The instance family.

", - "smithy.api#xmlName": "instanceFamily" + "smithy.api#enumValue": "c5.xlarge" } }, - "CpuCredits": { - "target": "com.amazonaws.ec2#String", + "c5_2xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "CpuCredits", - "smithy.api#documentation": "

The default credit option for CPU usage of the instance family. Valid values are\n standard and unlimited.

", - "smithy.api#xmlName": "cpuCredits" + "smithy.api#enumValue": "c5.2xlarge" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the default credit option for CPU usage of a burstable performance instance\n family.

" - } - }, - "com.amazonaws.ec2#InstanceGeneration": { - "type": "enum", - "members": { - "CURRENT": { + }, + "c5_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "current" + "smithy.api#enumValue": "c5.4xlarge" } }, - "PREVIOUS": { + "c5_9xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "previous" + "smithy.api#enumValue": "c5.9xlarge" } - } - } - }, - "com.amazonaws.ec2#InstanceGenerationSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#InstanceGeneration", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#InstanceHealthStatus": { - "type": "enum", - "members": { - "HEALTHY_STATUS": { + }, + "c5_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "healthy" + "smithy.api#enumValue": "c5.12xlarge" } }, - "UNHEALTHY_STATUS": { + "c5_18xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "unhealthy" + "smithy.api#enumValue": "c5.18xlarge" } - } - } - }, - "com.amazonaws.ec2#InstanceId": { - "type": "string" - }, - "com.amazonaws.ec2#InstanceIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#InstanceId", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#InstanceIdSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#InstanceId", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#InstanceIdStringList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#InstanceId", - "traits": { - "smithy.api#xmlName": "InstanceId" - } - } - }, - "com.amazonaws.ec2#InstanceIdsSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#InstanceId", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#InstanceInterruptionBehavior": { - "type": "enum", - "members": { - "hibernate": { + }, + "c5_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "hibernate" + "smithy.api#enumValue": "c5.24xlarge" } }, - "stop": { + "c5_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "stop" + "smithy.api#enumValue": "c5.metal" } }, - "terminate": { + "c5a_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "terminate" + "smithy.api#enumValue": "c5a.large" } - } - } - }, - "com.amazonaws.ec2#InstanceIpv4Prefix": { - "type": "structure", - "members": { - "Ipv4Prefix": { - "target": "com.amazonaws.ec2#String", + }, + "c5a_xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Ipv4Prefix", - "smithy.api#documentation": "

One or more IPv4 prefixes assigned to the network interface.

", - "smithy.api#xmlName": "ipv4Prefix" + "smithy.api#enumValue": "c5a.xlarge" } - } - }, - "traits": { - "smithy.api#documentation": "

Information about an IPv4 prefix.

" - } - }, - "com.amazonaws.ec2#InstanceIpv4PrefixList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#InstanceIpv4Prefix", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#InstanceIpv6Address": { - "type": "structure", - "members": { - "Ipv6Address": { - "target": "com.amazonaws.ec2#String", + }, + "c5a_2xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Ipv6Address", - "smithy.api#documentation": "

The IPv6 address.

", - "smithy.api#xmlName": "ipv6Address" + "smithy.api#enumValue": "c5a.2xlarge" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes an IPv6 address.

" - } - }, - "com.amazonaws.ec2#InstanceIpv6AddressList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#InstanceIpv6Address", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#InstanceIpv6AddressListRequest": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#InstanceIpv6AddressRequest", - "traits": { - "smithy.api#xmlName": "InstanceIpv6Address" - } - } - }, - "com.amazonaws.ec2#InstanceIpv6AddressRequest": { - "type": "structure", - "members": { - "Ipv6Address": { - "target": "com.amazonaws.ec2#String", + }, + "c5a_4xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The IPv6 address.

" + "smithy.api#enumValue": "c5a.4xlarge" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes an IPv6 address.

" - } - }, - "com.amazonaws.ec2#InstanceIpv6Prefix": { - "type": "structure", - "members": { - "Ipv6Prefix": { - "target": "com.amazonaws.ec2#String", + }, + "c5a_8xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Ipv6Prefix", - "smithy.api#documentation": "

One or more IPv6 prefixes assigned to the network interface.

", - "smithy.api#xmlName": "ipv6Prefix" + "smithy.api#enumValue": "c5a.8xlarge" } - } - }, - "traits": { - "smithy.api#documentation": "

Information about an IPv6 prefix.

" - } - }, - "com.amazonaws.ec2#InstanceIpv6PrefixList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#InstanceIpv6Prefix", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#InstanceLifecycle": { - "type": "enum", - "members": { - "SPOT": { + }, + "c5a_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "spot" + "smithy.api#enumValue": "c5a.12xlarge" } }, - "ON_DEMAND": { + "c5a_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "on-demand" + "smithy.api#enumValue": "c5a.16xlarge" } - } - } - }, - "com.amazonaws.ec2#InstanceLifecycleType": { - "type": "enum", - "members": { - "spot": { + }, + "c5a_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "spot" + "smithy.api#enumValue": "c5a.24xlarge" } }, - "scheduled": { + "c5ad_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "scheduled" + "smithy.api#enumValue": "c5ad.large" } - } - } - }, - "com.amazonaws.ec2#InstanceList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Instance", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#InstanceMaintenanceOptions": { - "type": "structure", - "members": { - "AutoRecovery": { - "target": "com.amazonaws.ec2#InstanceAutoRecoveryState", + }, + "c5ad_xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AutoRecovery", - "smithy.api#documentation": "

Provides information on the current automatic recovery behavior of your\n instance.

", - "smithy.api#xmlName": "autoRecovery" + "smithy.api#enumValue": "c5ad.xlarge" } - } - }, - "traits": { - "smithy.api#documentation": "

The maintenance options for the instance.

" - } - }, - "com.amazonaws.ec2#InstanceMaintenanceOptionsRequest": { - "type": "structure", - "members": { - "AutoRecovery": { - "target": "com.amazonaws.ec2#InstanceAutoRecoveryState", + }, + "c5ad_2xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Disables the automatic recovery behavior of your instance or sets it to default. For\n more information, see Simplified automatic recovery.

" + "smithy.api#enumValue": "c5ad.2xlarge" } - } - }, - "traits": { - "smithy.api#documentation": "

The maintenance options for the instance.

" - } - }, - "com.amazonaws.ec2#InstanceMarketOptionsRequest": { - "type": "structure", - "members": { - "MarketType": { - "target": "com.amazonaws.ec2#MarketType", + }, + "c5ad_4xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The market type.

" + "smithy.api#enumValue": "c5ad.4xlarge" + } + }, + "c5ad_8xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "c5ad.8xlarge" + } + }, + "c5ad_12xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "c5ad.12xlarge" + } + }, + "c5ad_16xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "c5ad.16xlarge" + } + }, + "c5ad_24xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "c5ad.24xlarge" + } + }, + "c5d_large": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "c5d.large" } }, - "SpotOptions": { - "target": "com.amazonaws.ec2#SpotMarketOptions", + "c5d_xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The options for Spot Instances.

" + "smithy.api#enumValue": "c5d.xlarge" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the market (purchasing) option for the instances.

" - } - }, - "com.amazonaws.ec2#InstanceMatchCriteria": { - "type": "enum", - "members": { - "open": { + }, + "c5d_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "open" + "smithy.api#enumValue": "c5d.2xlarge" } }, - "targeted": { + "c5d_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "targeted" + "smithy.api#enumValue": "c5d.4xlarge" } - } - } - }, - "com.amazonaws.ec2#InstanceMetadataEndpointState": { - "type": "enum", - "members": { - "disabled": { + }, + "c5d_9xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "disabled" + "smithy.api#enumValue": "c5d.9xlarge" } }, - "enabled": { + "c5d_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "enabled" + "smithy.api#enumValue": "c5d.12xlarge" } - } - } - }, - "com.amazonaws.ec2#InstanceMetadataOptionsRequest": { - "type": "structure", - "members": { - "HttpTokens": { - "target": "com.amazonaws.ec2#HttpTokensState", + }, + "c5d_18xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The state of token usage for your instance metadata requests.

\n

If the state is optional, you can choose to retrieve instance metadata\n with or without a session token on your request. If you retrieve the IAM\n role credentials without a token, the version 1.0 role credentials are returned. If you\n retrieve the IAM role credentials using a valid session token, the\n version 2.0 role credentials are returned.

\n

If the state is required, you must send a session token with any instance\n metadata retrieval requests. In this state, retrieving the IAM role\n credentials always returns the version 2.0 credentials; the version 1.0 credentials are\n not available.

\n

Default: optional\n

" + "smithy.api#enumValue": "c5d.18xlarge" } }, - "HttpPutResponseHopLimit": { - "target": "com.amazonaws.ec2#Integer", + "c5d_24xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The desired HTTP PUT response hop limit for instance metadata requests. The larger the\n number, the further instance metadata requests can travel.

\n

Default: 1

\n

Possible values: Integers from 1 to 64

" + "smithy.api#enumValue": "c5d.24xlarge" } }, - "HttpEndpoint": { - "target": "com.amazonaws.ec2#InstanceMetadataEndpointState", + "c5d_metal": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Enables or disables the HTTP metadata endpoint on your instances.

\n

If you specify a value of disabled, you cannot access your instance\n metadata.

\n

Default: enabled\n

" + "smithy.api#enumValue": "c5d.metal" } }, - "HttpProtocolIpv6": { - "target": "com.amazonaws.ec2#InstanceMetadataProtocolState", + "c5n_large": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Enables or disables the IPv6 endpoint for the instance metadata service.

" + "smithy.api#enumValue": "c5n.large" } }, - "InstanceMetadataTags": { - "target": "com.amazonaws.ec2#InstanceMetadataTagsState", + "c5n_xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Set to enabled to allow access to instance tags from the instance\n metadata. Set to disabled to turn off access to instance tags from the\n instance metadata. For more information, see Work with\n instance tags using the instance metadata.

\n

Default: disabled\n

" + "smithy.api#enumValue": "c5n.xlarge" } - } - }, - "traits": { - "smithy.api#documentation": "

The metadata options for the instance.

" - } - }, - "com.amazonaws.ec2#InstanceMetadataOptionsResponse": { - "type": "structure", - "members": { - "State": { - "target": "com.amazonaws.ec2#InstanceMetadataOptionsState", + }, + "c5n_2xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the metadata option changes.

\n

\n pending - The metadata options are being updated and the instance is not\n ready to process metadata traffic with the new selection.

\n

\n applied - The metadata options have been successfully applied on the\n instance.

", - "smithy.api#xmlName": "state" + "smithy.api#enumValue": "c5n.2xlarge" } }, - "HttpTokens": { - "target": "com.amazonaws.ec2#HttpTokensState", + "c5n_4xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "HttpTokens", - "smithy.api#documentation": "

The state of token usage for your instance metadata requests.

\n

If the state is optional, you can choose to retrieve instance metadata\n with or without a session token on your request. If you retrieve the IAM\n role credentials without a token, the version 1.0 role credentials are returned. If you\n retrieve the IAM role credentials using a valid session token, the\n version 2.0 role credentials are returned.

\n

If the state is required, you must send a session token with any instance\n metadata retrieval requests. In this state, retrieving the IAM role\n credentials always returns the version 2.0 credentials; the version 1.0 credentials are\n not available.

\n

Default: optional\n

", - "smithy.api#xmlName": "httpTokens" + "smithy.api#enumValue": "c5n.4xlarge" } }, - "HttpPutResponseHopLimit": { - "target": "com.amazonaws.ec2#Integer", + "c5n_9xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "HttpPutResponseHopLimit", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The desired HTTP PUT response hop limit for instance metadata requests. The larger the\n number, the further instance metadata requests can travel.

\n

Default: 1

\n

Possible values: Integers from 1 to 64

", - "smithy.api#xmlName": "httpPutResponseHopLimit" + "smithy.api#enumValue": "c5n.9xlarge" } }, - "HttpEndpoint": { - "target": "com.amazonaws.ec2#InstanceMetadataEndpointState", + "c5n_18xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "HttpEndpoint", - "smithy.api#documentation": "

Indicates whether the HTTP metadata endpoint on your instances is enabled or\n disabled.

\n

If the value is disabled, you cannot access your instance\n metadata.

", - "smithy.api#xmlName": "httpEndpoint" + "smithy.api#enumValue": "c5n.18xlarge" } }, - "HttpProtocolIpv6": { - "target": "com.amazonaws.ec2#InstanceMetadataProtocolState", + "c5n_metal": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "HttpProtocolIpv6", - "smithy.api#documentation": "

Indicates whether the IPv6 endpoint for the instance metadata service is enabled or\n disabled.

", - "smithy.api#xmlName": "httpProtocolIpv6" + "smithy.api#enumValue": "c5n.metal" } }, - "InstanceMetadataTags": { - "target": "com.amazonaws.ec2#InstanceMetadataTagsState", + "c6g_medium": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InstanceMetadataTags", - "smithy.api#documentation": "

Indicates whether access to instance tags from the instance metadata is enabled or\n disabled. For more information, see Work with\n instance tags using the instance metadata.

", - "smithy.api#xmlName": "instanceMetadataTags" + "smithy.api#enumValue": "c6g.medium" } - } - }, - "traits": { - "smithy.api#documentation": "

The metadata options for the instance.

" - } - }, - "com.amazonaws.ec2#InstanceMetadataOptionsState": { - "type": "enum", - "members": { - "pending": { + }, + "c6g_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "pending" + "smithy.api#enumValue": "c6g.large" } }, - "applied": { + "c6g_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "applied" + "smithy.api#enumValue": "c6g.xlarge" } - } - } - }, - "com.amazonaws.ec2#InstanceMetadataProtocolState": { - "type": "enum", - "members": { - "disabled": { + }, + "c6g_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "disabled" + "smithy.api#enumValue": "c6g.2xlarge" } }, - "enabled": { + "c6g_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "enabled" + "smithy.api#enumValue": "c6g.4xlarge" } - } - } - }, - "com.amazonaws.ec2#InstanceMetadataTagsState": { - "type": "enum", - "members": { - "disabled": { + }, + "c6g_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "disabled" + "smithy.api#enumValue": "c6g.8xlarge" } }, - "enabled": { + "c6g_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "enabled" + "smithy.api#enumValue": "c6g.12xlarge" } - } - } - }, - "com.amazonaws.ec2#InstanceMonitoring": { - "type": "structure", - "members": { - "InstanceId": { - "target": "com.amazonaws.ec2#String", + }, + "c6g_16xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#documentation": "

The ID of the instance.

", - "smithy.api#xmlName": "instanceId" + "smithy.api#enumValue": "c6g.16xlarge" } }, - "Monitoring": { - "target": "com.amazonaws.ec2#Monitoring", + "c6g_metal": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Monitoring", - "smithy.api#documentation": "

The monitoring for the instance.

", - "smithy.api#xmlName": "monitoring" + "smithy.api#enumValue": "c6g.metal" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the monitoring of an instance.

" - } - }, - "com.amazonaws.ec2#InstanceMonitoringList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#InstanceMonitoring", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#InstanceNetworkInterface": { - "type": "structure", - "members": { - "Association": { - "target": "com.amazonaws.ec2#InstanceNetworkInterfaceAssociation", + }, + "c6gd_medium": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Association", - "smithy.api#documentation": "

The association information for an Elastic IPv4 associated with the network\n interface.

", - "smithy.api#xmlName": "association" + "smithy.api#enumValue": "c6gd.medium" } }, - "Attachment": { - "target": "com.amazonaws.ec2#InstanceNetworkInterfaceAttachment", + "c6gd_large": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Attachment", - "smithy.api#documentation": "

The network interface attachment.

", - "smithy.api#xmlName": "attachment" + "smithy.api#enumValue": "c6gd.large" } }, - "Description": { - "target": "com.amazonaws.ec2#String", + "c6gd_xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

The description.

", - "smithy.api#xmlName": "description" + "smithy.api#enumValue": "c6gd.xlarge" } }, - "Groups": { - "target": "com.amazonaws.ec2#GroupIdentifierList", + "c6gd_2xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "GroupSet", - "smithy.api#documentation": "

The security groups.

", - "smithy.api#xmlName": "groupSet" + "smithy.api#enumValue": "c6gd.2xlarge" } }, - "Ipv6Addresses": { - "target": "com.amazonaws.ec2#InstanceIpv6AddressList", + "c6gd_4xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Ipv6AddressesSet", - "smithy.api#documentation": "

The IPv6 addresses associated with the network interface.

", - "smithy.api#xmlName": "ipv6AddressesSet" + "smithy.api#enumValue": "c6gd.4xlarge" } }, - "MacAddress": { - "target": "com.amazonaws.ec2#String", + "c6gd_8xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "MacAddress", - "smithy.api#documentation": "

The MAC address.

", - "smithy.api#xmlName": "macAddress" + "smithy.api#enumValue": "c6gd.8xlarge" } }, - "NetworkInterfaceId": { - "target": "com.amazonaws.ec2#String", + "c6gd_12xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceId", - "smithy.api#documentation": "

The ID of the network interface.

", - "smithy.api#xmlName": "networkInterfaceId" + "smithy.api#enumValue": "c6gd.12xlarge" } }, - "OwnerId": { - "target": "com.amazonaws.ec2#String", + "c6gd_16xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that created the network interface.

", - "smithy.api#xmlName": "ownerId" + "smithy.api#enumValue": "c6gd.16xlarge" } }, - "PrivateDnsName": { - "target": "com.amazonaws.ec2#String", + "c6gd_metal": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "PrivateDnsName", - "smithy.api#documentation": "

The private DNS name.

", - "smithy.api#xmlName": "privateDnsName" + "smithy.api#enumValue": "c6gd.metal" } }, - "PrivateIpAddress": { - "target": "com.amazonaws.ec2#String", + "c6gn_medium": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "PrivateIpAddress", - "smithy.api#documentation": "

The IPv4 address of the network interface within the subnet.

", - "smithy.api#xmlName": "privateIpAddress" + "smithy.api#enumValue": "c6gn.medium" } }, - "PrivateIpAddresses": { - "target": "com.amazonaws.ec2#InstancePrivateIpAddressList", + "c6gn_large": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "PrivateIpAddressesSet", - "smithy.api#documentation": "

The private IPv4 addresses associated with the network interface.

", - "smithy.api#xmlName": "privateIpAddressesSet" + "smithy.api#enumValue": "c6gn.large" } }, - "SourceDestCheck": { - "target": "com.amazonaws.ec2#Boolean", + "c6gn_xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SourceDestCheck", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether source/destination checking is enabled.

", - "smithy.api#xmlName": "sourceDestCheck" + "smithy.api#enumValue": "c6gn.xlarge" } }, - "Status": { - "target": "com.amazonaws.ec2#NetworkInterfaceStatus", + "c6gn_2xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The status of the network interface.

", - "smithy.api#xmlName": "status" + "smithy.api#enumValue": "c6gn.2xlarge" } }, - "SubnetId": { - "target": "com.amazonaws.ec2#String", + "c6gn_4xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SubnetId", - "smithy.api#documentation": "

The ID of the subnet.

", - "smithy.api#xmlName": "subnetId" + "smithy.api#enumValue": "c6gn.4xlarge" } }, - "VpcId": { - "target": "com.amazonaws.ec2#String", + "c6gn_8xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "VpcId", - "smithy.api#documentation": "

The ID of the VPC.

", - "smithy.api#xmlName": "vpcId" + "smithy.api#enumValue": "c6gn.8xlarge" } }, - "InterfaceType": { - "target": "com.amazonaws.ec2#String", + "c6gn_12xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InterfaceType", - "smithy.api#documentation": "

The type of network interface.

\n\t

Valid values: interface | efa | trunk\n

", - "smithy.api#xmlName": "interfaceType" + "smithy.api#enumValue": "c6gn.12xlarge" } }, - "Ipv4Prefixes": { - "target": "com.amazonaws.ec2#InstanceIpv4PrefixList", + "c6gn_16xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Ipv4PrefixSet", - "smithy.api#documentation": "

The IPv4 delegated prefixes that are assigned to the network interface.

", - "smithy.api#xmlName": "ipv4PrefixSet" + "smithy.api#enumValue": "c6gn.16xlarge" } }, - "Ipv6Prefixes": { - "target": "com.amazonaws.ec2#InstanceIpv6PrefixList", + "c6i_large": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Ipv6PrefixSet", - "smithy.api#documentation": "

The IPv6 delegated prefixes that are assigned to the network interface.

", - "smithy.api#xmlName": "ipv6PrefixSet" + "smithy.api#enumValue": "c6i.large" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a network interface.

" - } - }, - "com.amazonaws.ec2#InstanceNetworkInterfaceAssociation": { - "type": "structure", - "members": { - "CarrierIp": { - "target": "com.amazonaws.ec2#String", + }, + "c6i_xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "CarrierIp", - "smithy.api#documentation": "

The carrier IP address associated with the network interface.

", - "smithy.api#xmlName": "carrierIp" + "smithy.api#enumValue": "c6i.xlarge" } }, - "CustomerOwnedIp": { - "target": "com.amazonaws.ec2#String", + "c6i_2xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "CustomerOwnedIp", - "smithy.api#documentation": "

The customer-owned IP address associated with the network interface.

", - "smithy.api#xmlName": "customerOwnedIp" + "smithy.api#enumValue": "c6i.2xlarge" } }, - "IpOwnerId": { - "target": "com.amazonaws.ec2#String", + "c6i_4xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "IpOwnerId", - "smithy.api#documentation": "

The ID of the owner of the Elastic IP address.

", - "smithy.api#xmlName": "ipOwnerId" + "smithy.api#enumValue": "c6i.4xlarge" } }, - "PublicDnsName": { - "target": "com.amazonaws.ec2#String", + "c6i_8xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "PublicDnsName", - "smithy.api#documentation": "

The public DNS name.

", - "smithy.api#xmlName": "publicDnsName" + "smithy.api#enumValue": "c6i.8xlarge" } }, - "PublicIp": { - "target": "com.amazonaws.ec2#String", + "c6i_12xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "PublicIp", - "smithy.api#documentation": "

The public IP address or Elastic IP address bound to the network interface.

", - "smithy.api#xmlName": "publicIp" + "smithy.api#enumValue": "c6i.12xlarge" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes association information for an Elastic IP address (IPv4).

" - } - }, - "com.amazonaws.ec2#InstanceNetworkInterfaceAttachment": { - "type": "structure", - "members": { - "AttachTime": { - "target": "com.amazonaws.ec2#DateTime", + }, + "c6i_16xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AttachTime", - "smithy.api#documentation": "

The time stamp when the attachment initiated.

", - "smithy.api#xmlName": "attachTime" + "smithy.api#enumValue": "c6i.16xlarge" } }, - "AttachmentId": { - "target": "com.amazonaws.ec2#String", + "c6i_24xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AttachmentId", - "smithy.api#documentation": "

The ID of the network interface attachment.

", - "smithy.api#xmlName": "attachmentId" + "smithy.api#enumValue": "c6i.24xlarge" } }, - "DeleteOnTermination": { - "target": "com.amazonaws.ec2#Boolean", + "c6i_32xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "DeleteOnTermination", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the network interface is deleted when the instance is terminated.

", - "smithy.api#xmlName": "deleteOnTermination" + "smithy.api#enumValue": "c6i.32xlarge" } }, - "DeviceIndex": { - "target": "com.amazonaws.ec2#Integer", + "c6i_metal": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "DeviceIndex", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The index of the device on the instance for the network interface attachment.

", - "smithy.api#xmlName": "deviceIndex" + "smithy.api#enumValue": "c6i.metal" } }, - "Status": { - "target": "com.amazonaws.ec2#AttachmentStatus", + "cc1_4xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The attachment state.

", - "smithy.api#xmlName": "status" + "smithy.api#enumValue": "cc1.4xlarge" } }, - "NetworkCardIndex": { - "target": "com.amazonaws.ec2#Integer", + "cc2_8xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "NetworkCardIndex", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The index of the network card.

", - "smithy.api#xmlName": "networkCardIndex" + "smithy.api#enumValue": "cc2.8xlarge" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a network interface attachment.

" - } - }, - "com.amazonaws.ec2#InstanceNetworkInterfaceList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#InstanceNetworkInterface", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#InstanceNetworkInterfaceSpecification": { - "type": "structure", - "members": { - "AssociatePublicIpAddress": { - "target": "com.amazonaws.ec2#Boolean", + }, + "cg1_4xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AssociatePublicIpAddress", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. The\n public IP address can only be assigned to a network interface for eth0, and can only be\n assigned to a new network interface, not an existing one. You cannot specify more than one\n network interface in the request. If launching into a default subnet, the default value is\n true.

", - "smithy.api#xmlName": "associatePublicIpAddress" + "smithy.api#enumValue": "cg1.4xlarge" } }, - "DeleteOnTermination": { - "target": "com.amazonaws.ec2#Boolean", + "cr1_8xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "DeleteOnTermination", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

If set to true, the interface is deleted when the instance is terminated. You can\n specify true only if creating a new network interface when launching an\n instance.

", - "smithy.api#xmlName": "deleteOnTermination" + "smithy.api#enumValue": "cr1.8xlarge" } }, - "Description": { - "target": "com.amazonaws.ec2#String", + "d2_xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

The description of the network interface. Applies only if creating a network interface when launching an instance.

", - "smithy.api#xmlName": "description" + "smithy.api#enumValue": "d2.xlarge" } }, - "DeviceIndex": { - "target": "com.amazonaws.ec2#Integer", + "d2_2xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "DeviceIndex", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The position of the network interface in the attachment order. \n A primary network interface has a device index of 0.

\n

If you specify a network interface when launching an instance, \n you must specify the device index.

", - "smithy.api#xmlName": "deviceIndex" + "smithy.api#enumValue": "d2.2xlarge" } }, - "Groups": { - "target": "com.amazonaws.ec2#SecurityGroupIdStringList", + "d2_4xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.

", - "smithy.api#xmlName": "SecurityGroupId" + "smithy.api#enumValue": "d2.4xlarge" } }, - "Ipv6AddressCount": { - "target": "com.amazonaws.ec2#Integer", + "d2_8xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Ipv6AddressCount", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

A number of IPv6 addresses to assign to the network interface. Amazon EC2 chooses\n the IPv6 addresses from the range of the subnet. You cannot specify this option and the\n option to assign specific IPv6 addresses in the same request. You can specify this\n option if you've specified a minimum number of instances to launch.

", - "smithy.api#xmlName": "ipv6AddressCount" + "smithy.api#enumValue": "d2.8xlarge" } }, - "Ipv6Addresses": { - "target": "com.amazonaws.ec2#InstanceIpv6AddressList", + "d3_xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Ipv6Addresses", - "smithy.api#documentation": "

The IPv6 addresses to assign to the network interface. You cannot specify\n this option and the option to assign a number of IPv6 addresses in the same request. You\n cannot specify this option if you've specified a minimum number of instances to\n launch.

", - "smithy.api#xmlName": "ipv6AddressesSet" + "smithy.api#enumValue": "d3.xlarge" } }, - "NetworkInterfaceId": { - "target": "com.amazonaws.ec2#NetworkInterfaceId", + "d3_2xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceId", - "smithy.api#documentation": "

The ID of the network interface.

\n

If you are creating a Spot Fleet, omit this parameter because you can’t specify a network interface ID in a launch specification.

", - "smithy.api#xmlName": "networkInterfaceId" + "smithy.api#enumValue": "d3.2xlarge" } }, - "PrivateIpAddress": { - "target": "com.amazonaws.ec2#String", + "d3_4xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "PrivateIpAddress", - "smithy.api#documentation": "

The private IPv4 address of the network interface. Applies only if creating a network interface when launching an instance. You cannot specify this option if you're launching\n \tmore than one instance in a RunInstances request.

", - "smithy.api#xmlName": "privateIpAddress" + "smithy.api#enumValue": "d3.4xlarge" } }, - "PrivateIpAddresses": { - "target": "com.amazonaws.ec2#PrivateIpAddressSpecificationList", + "d3_8xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "PrivateIpAddresses", - "smithy.api#documentation": "

The private IPv4 addresses to assign to the network interface. Only one private IPv4 address can be designated as primary. You cannot specify this option if you're\n \tlaunching more than one instance in a RunInstances request.

", - "smithy.api#xmlName": "privateIpAddressesSet" + "smithy.api#enumValue": "d3.8xlarge" } }, - "SecondaryPrivateIpAddressCount": { - "target": "com.amazonaws.ec2#Integer", + "d3en_xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SecondaryPrivateIpAddressCount", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of secondary private IPv4 addresses. You can't specify this option and specify more than one private IP address using the private IP addresses option. You cannot specify this option if you're\n \tlaunching more than one instance in a RunInstances request.

", - "smithy.api#xmlName": "secondaryPrivateIpAddressCount" + "smithy.api#enumValue": "d3en.xlarge" } }, - "SubnetId": { - "target": "com.amazonaws.ec2#String", + "d3en_2xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SubnetId", - "smithy.api#documentation": "

The ID of the subnet associated with the network interface. Applies only if creating a network interface when launching an instance.

", - "smithy.api#xmlName": "subnetId" + "smithy.api#enumValue": "d3en.2xlarge" } }, - "AssociateCarrierIpAddress": { - "target": "com.amazonaws.ec2#Boolean", + "d3en_4xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to assign a carrier IP address to the network interface.

\n

You can only assign a carrier IP address to a network interface that is in a subnet in\n a Wavelength Zone. For more information about carrier IP addresses, see Carrier IP address in the Amazon Web Services Wavelength Developer\n Guide.

" + "smithy.api#enumValue": "d3en.4xlarge" } }, - "InterfaceType": { - "target": "com.amazonaws.ec2#String", + "d3en_6xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The type of network interface.

\n\t

Valid values: interface | efa\n

" + "smithy.api#enumValue": "d3en.6xlarge" } }, - "NetworkCardIndex": { - "target": "com.amazonaws.ec2#Integer", + "d3en_8xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The index of the network card. Some instance types support multiple network cards. \n The primary network interface must be assigned to network card index 0. \n The default is network card index 0.

\n

If you are using RequestSpotInstances to create Spot Instances, omit this parameter because\n you can’t specify the network card index when using this API. To specify the network\n card index, use RunInstances.

" + "smithy.api#enumValue": "d3en.8xlarge" } }, - "Ipv4Prefixes": { - "target": "com.amazonaws.ec2#Ipv4PrefixList", + "d3en_12xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The IPv4 delegated prefixes to be assigned to the network interface. You cannot \n use this option if you use the Ipv4PrefixCount option.

", - "smithy.api#xmlName": "Ipv4Prefix" + "smithy.api#enumValue": "d3en.12xlarge" } }, - "Ipv4PrefixCount": { - "target": "com.amazonaws.ec2#Integer", + "dl1_24xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of IPv4 delegated prefixes to be automatically assigned to the network interface. \n You cannot use this option if you use the Ipv4Prefix option.

" + "smithy.api#enumValue": "dl1.24xlarge" } }, - "Ipv6Prefixes": { - "target": "com.amazonaws.ec2#Ipv6PrefixList", + "f1_2xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The IPv6 delegated prefixes to be assigned to the network interface. You cannot \n use this option if you use the Ipv6PrefixCount option.

", - "smithy.api#xmlName": "Ipv6Prefix" + "smithy.api#enumValue": "f1.2xlarge" } }, - "Ipv6PrefixCount": { - "target": "com.amazonaws.ec2#Integer", + "f1_4xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of IPv6 delegated prefixes to be automatically assigned to the network interface. \n You cannot use this option if you use the Ipv6Prefix option.

" + "smithy.api#enumValue": "f1.4xlarge" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a network interface.

" - } - }, - "com.amazonaws.ec2#InstanceNetworkInterfaceSpecificationList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#InstanceNetworkInterfaceSpecification", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#InstancePrivateIpAddress": { - "type": "structure", - "members": { - "Association": { - "target": "com.amazonaws.ec2#InstanceNetworkInterfaceAssociation", + }, + "f1_16xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Association", - "smithy.api#documentation": "

The association information for an Elastic IP address for the network interface.

", - "smithy.api#xmlName": "association" + "smithy.api#enumValue": "f1.16xlarge" } }, - "Primary": { - "target": "com.amazonaws.ec2#Boolean", + "g2_2xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Primary", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether this IPv4 address is the primary private IP address of the network interface.

", - "smithy.api#xmlName": "primary" + "smithy.api#enumValue": "g2.2xlarge" } }, - "PrivateDnsName": { - "target": "com.amazonaws.ec2#String", + "g2_8xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "PrivateDnsName", - "smithy.api#documentation": "

The private IPv4 DNS name.

", - "smithy.api#xmlName": "privateDnsName" + "smithy.api#enumValue": "g2.8xlarge" } }, - "PrivateIpAddress": { - "target": "com.amazonaws.ec2#String", + "g3_4xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "PrivateIpAddress", - "smithy.api#documentation": "

The private IPv4 address of the network interface.

", - "smithy.api#xmlName": "privateIpAddress" + "smithy.api#enumValue": "g3.4xlarge" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a private IPv4 address.

" - } - }, - "com.amazonaws.ec2#InstancePrivateIpAddressList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#InstancePrivateIpAddress", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#InstanceRequirements": { - "type": "structure", - "members": { - "VCpuCount": { - "target": "com.amazonaws.ec2#VCpuCountRange", + }, + "g3_8xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "VCpuCount", - "smithy.api#documentation": "

The minimum and maximum number of vCPUs.

", - "smithy.api#xmlName": "vCpuCount" + "smithy.api#enumValue": "g3.8xlarge" } }, - "MemoryMiB": { - "target": "com.amazonaws.ec2#MemoryMiB", + "g3_16xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "MemoryMiB", - "smithy.api#documentation": "

The minimum and maximum amount of memory, in MiB.

", - "smithy.api#xmlName": "memoryMiB" + "smithy.api#enumValue": "g3.16xlarge" } }, - "CpuManufacturers": { - "target": "com.amazonaws.ec2#CpuManufacturerSet", + "g3s_xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "CpuManufacturerSet", - "smithy.api#documentation": "

The CPU manufacturers to include.

\n
    \n
  • \n

    For instance types with Intel CPUs, specify intel.

    \n
  • \n
  • \n

    For instance types with AMD CPUs, specify amd.

    \n
  • \n
  • \n

    For instance types with Amazon Web Services CPUs, specify amazon-web-services.

    \n
  • \n
\n \n

Don't confuse the CPU manufacturer with the CPU architecture. Instances will \n be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you \n specify in your launch template.

\n
\n

Default: Any manufacturer

", - "smithy.api#xmlName": "cpuManufacturerSet" + "smithy.api#enumValue": "g3s.xlarge" } }, - "MemoryGiBPerVCpu": { - "target": "com.amazonaws.ec2#MemoryGiBPerVCpu", + "g4ad_xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "MemoryGiBPerVCpu", - "smithy.api#documentation": "

The minimum and maximum amount of memory per vCPU, in GiB.

\n

Default: No minimum or maximum limits

", - "smithy.api#xmlName": "memoryGiBPerVCpu" + "smithy.api#enumValue": "g4ad.xlarge" } }, - "ExcludedInstanceTypes": { - "target": "com.amazonaws.ec2#ExcludedInstanceTypeSet", + "g4ad_2xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ExcludedInstanceTypeSet", - "smithy.api#documentation": "

The instance types to exclude.

\n

You can use strings with one or more wild cards, represented by\n an asterisk (*), to exclude an instance type, size, or generation. The\n following are examples: m5.8xlarge, c5*.*, m5a.*,\n r*, *3*.

\n

For example, if you specify c5*,Amazon EC2 will exclude the entire C5 instance\n family, which includes all C5a and C5n instance types. If you specify\n m5a.*, Amazon EC2 will exclude all the M5a instance types, but not the M5n\n instance types.

\n \n

If you specify ExcludedInstanceTypes, you can't specify AllowedInstanceTypes.

\n
\n

Default: No excluded instance types

", - "smithy.api#xmlName": "excludedInstanceTypeSet" + "smithy.api#enumValue": "g4ad.2xlarge" } }, - "InstanceGenerations": { - "target": "com.amazonaws.ec2#InstanceGenerationSet", + "g4ad_4xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InstanceGenerationSet", - "smithy.api#documentation": "

Indicates whether current or previous generation instance types are included. The\n current generation instance types are recommended for use. Current generation instance types are\n typically the latest two to three generations in each instance family. For more\n information, see Instance types in the\n Amazon EC2 User Guide.

\n

For current generation instance types, specify current.

\n

For previous generation instance types, specify previous.

\n

Default: Current and previous generation instance types

", - "smithy.api#xmlName": "instanceGenerationSet" + "smithy.api#enumValue": "g4ad.4xlarge" } }, - "SpotMaxPricePercentageOverLowestPrice": { - "target": "com.amazonaws.ec2#Integer", + "g4ad_8xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SpotMaxPricePercentageOverLowestPrice", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance,\n expressed as a percentage above the least expensive current generation M, C, or R instance type with your specified\n attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance\n types priced above your threshold.

\n

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

\n

To turn off price protection, specify a high value, such as 999999.

\n

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

\n \n

If you set TargetCapacityUnitType to vcpu or\n memory-mib, the price protection threshold is applied based on the\n per-vCPU or per-memory price instead of the per-instance price.

\n
\n

Default: 100\n

", - "smithy.api#xmlName": "spotMaxPricePercentageOverLowestPrice" + "smithy.api#enumValue": "g4ad.8xlarge" } }, - "OnDemandMaxPricePercentageOverLowestPrice": { - "target": "com.amazonaws.ec2#Integer", + "g4ad_16xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "OnDemandMaxPricePercentageOverLowestPrice", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance,\n expressed as a percentage above the least expensive current generation M, C, or R instance type with your specified\n attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance\n types priced above your threshold.

\n

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

\n

To turn off price protection, specify a high value, such as 999999.

\n

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

\n \n

If you set TargetCapacityUnitType to vcpu or\n memory-mib, the price protection threshold is applied based on the\n per-vCPU or per-memory price instead of the per-instance price.

\n
\n

Default: 20\n

", - "smithy.api#xmlName": "onDemandMaxPricePercentageOverLowestPrice" + "smithy.api#enumValue": "g4ad.16xlarge" } }, - "BareMetal": { - "target": "com.amazonaws.ec2#BareMetal", + "g4dn_xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "BareMetal", - "smithy.api#documentation": "

Indicates whether bare metal instance types must be included, excluded, or required.

\n
    \n
  • \n

    To include bare metal instance types, specify included.

    \n
  • \n
  • \n

    To require only bare metal instance types, specify required.

    \n
  • \n
  • \n

    To exclude bare metal instance types, specify excluded.

    \n
  • \n
\n

Default: excluded\n

", - "smithy.api#xmlName": "bareMetal" + "smithy.api#enumValue": "g4dn.xlarge" } }, - "BurstablePerformance": { - "target": "com.amazonaws.ec2#BurstablePerformance", + "g4dn_2xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "BurstablePerformance", - "smithy.api#documentation": "

Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see \n Burstable performance instances.

\n
    \n
  • \n

    To include burstable performance instance types, specify included.

    \n
  • \n
  • \n

    To require only burstable performance instance types, specify required.

    \n
  • \n
  • \n

    To exclude burstable performance instance types, specify excluded.

    \n
  • \n
\n

Default: excluded\n

", - "smithy.api#xmlName": "burstablePerformance" + "smithy.api#enumValue": "g4dn.2xlarge" } }, - "RequireHibernateSupport": { - "target": "com.amazonaws.ec2#Boolean", + "g4dn_4xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "RequireHibernateSupport", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether instance types must support hibernation for On-Demand\n Instances.

\n

This parameter is not supported for GetSpotPlacementScores.

\n

Default: false\n

", - "smithy.api#xmlName": "requireHibernateSupport" + "smithy.api#enumValue": "g4dn.4xlarge" } }, - "NetworkInterfaceCount": { - "target": "com.amazonaws.ec2#NetworkInterfaceCount", + "g4dn_8xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceCount", - "smithy.api#documentation": "

The minimum and maximum number of network interfaces.

\n

Default: No minimum or maximum limits

", - "smithy.api#xmlName": "networkInterfaceCount" + "smithy.api#enumValue": "g4dn.8xlarge" } }, - "LocalStorage": { - "target": "com.amazonaws.ec2#LocalStorage", + "g4dn_12xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "LocalStorage", - "smithy.api#documentation": "

Indicates whether instance types with instance store volumes are included, excluded, or required. For more information,\n Amazon\n EC2 instance store in the Amazon EC2 User Guide.

\n
    \n
  • \n

    To include instance types with instance store volumes, specify\n included.

    \n
  • \n
  • \n

    To require only instance types with instance store volumes, specify\n required.

    \n
  • \n
  • \n

    To exclude instance types with instance store volumes, specify\n excluded.

    \n
  • \n
\n

Default: included\n

", - "smithy.api#xmlName": "localStorage" + "smithy.api#enumValue": "g4dn.12xlarge" } }, - "LocalStorageTypes": { - "target": "com.amazonaws.ec2#LocalStorageTypeSet", + "g4dn_16xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "LocalStorageTypeSet", - "smithy.api#documentation": "

The type of local storage that is required.

\n
    \n
  • \n

    For instance types with hard disk drive (HDD) storage, specify hdd.

    \n
  • \n
  • \n

    For instance types with solid state drive (SSD) storage, specify\n ssd.

    \n
  • \n
\n

Default: hdd and ssd\n

", - "smithy.api#xmlName": "localStorageTypeSet" + "smithy.api#enumValue": "g4dn.16xlarge" } }, - "TotalLocalStorageGB": { - "target": "com.amazonaws.ec2#TotalLocalStorageGB", + "g4dn_metal": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "TotalLocalStorageGB", - "smithy.api#documentation": "

The minimum and maximum amount of total local storage, in GB.

\n

Default: No minimum or maximum limits

", - "smithy.api#xmlName": "totalLocalStorageGB" + "smithy.api#enumValue": "g4dn.metal" } }, - "BaselineEbsBandwidthMbps": { - "target": "com.amazonaws.ec2#BaselineEbsBandwidthMbps", + "g5_xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "BaselineEbsBandwidthMbps", - "smithy.api#documentation": "

The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see\n Amazon\n EBS–optimized instances in the Amazon EC2 User Guide.

\n

Default: No minimum or maximum limits

", - "smithy.api#xmlName": "baselineEbsBandwidthMbps" + "smithy.api#enumValue": "g5.xlarge" } }, - "AcceleratorTypes": { - "target": "com.amazonaws.ec2#AcceleratorTypeSet", + "g5_2xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AcceleratorTypeSet", - "smithy.api#documentation": "

The accelerator types that must be on the instance type.

\n
    \n
  • \n

    For instance types with GPU accelerators, specify gpu.

    \n
  • \n
  • \n

    For instance types with FPGA accelerators, specify fpga.

    \n
  • \n
  • \n

    For instance types with inference accelerators, specify inference.

    \n
  • \n
\n

Default: Any accelerator type

", - "smithy.api#xmlName": "acceleratorTypeSet" + "smithy.api#enumValue": "g5.2xlarge" } }, - "AcceleratorCount": { - "target": "com.amazonaws.ec2#AcceleratorCount", + "g5_4xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AcceleratorCount", - "smithy.api#documentation": "

The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on\n an instance.

\n

To exclude accelerator-enabled instance types, set Max to 0.

\n

Default: No minimum or maximum limits

", - "smithy.api#xmlName": "acceleratorCount" + "smithy.api#enumValue": "g5.4xlarge" } }, - "AcceleratorManufacturers": { - "target": "com.amazonaws.ec2#AcceleratorManufacturerSet", + "g5_8xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AcceleratorManufacturerSet", - "smithy.api#documentation": "

Indicates whether instance types must have accelerators by specific manufacturers.

\n
    \n
  • \n

    For instance types with NVIDIA devices, specify nvidia.

    \n
  • \n
  • \n

    For instance types with AMD devices, specify amd.

    \n
  • \n
  • \n

    For instance types with Amazon Web Services devices, specify amazon-web-services.

    \n
  • \n
  • \n

    For instance types with Xilinx devices, specify xilinx.

    \n
  • \n
\n

Default: Any manufacturer

", - "smithy.api#xmlName": "acceleratorManufacturerSet" + "smithy.api#enumValue": "g5.8xlarge" } }, - "AcceleratorNames": { - "target": "com.amazonaws.ec2#AcceleratorNameSet", + "g5_12xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AcceleratorNameSet", - "smithy.api#documentation": "

The accelerators that must be on the instance type.

\n
    \n
  • \n

    For instance types with NVIDIA A100 GPUs, specify a100.

    \n
  • \n
  • \n

    For instance types with NVIDIA V100 GPUs, specify v100.

    \n
  • \n
  • \n

    For instance types with NVIDIA K80 GPUs, specify k80.

    \n
  • \n
  • \n

    For instance types with NVIDIA T4 GPUs, specify t4.

    \n
  • \n
  • \n

    For instance types with NVIDIA M60 GPUs, specify m60.

    \n
  • \n
  • \n

    For instance types with AMD Radeon Pro V520 GPUs, specify radeon-pro-v520.

    \n
  • \n
  • \n

    For instance types with Xilinx VU9P FPGAs, specify vu9p.

    \n
  • \n
  • \n

    For instance types with Amazon Web Services Inferentia chips, specify inferentia.

    \n
  • \n
  • \n

    For instance types with NVIDIA GRID K520 GPUs, specify k520.

    \n
  • \n
\n

Default: Any accelerator

", - "smithy.api#xmlName": "acceleratorNameSet" + "smithy.api#enumValue": "g5.12xlarge" } }, - "AcceleratorTotalMemoryMiB": { - "target": "com.amazonaws.ec2#AcceleratorTotalMemoryMiB", + "g5_16xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AcceleratorTotalMemoryMiB", - "smithy.api#documentation": "

The minimum and maximum amount of total accelerator memory, in MiB.

\n

Default: No minimum or maximum limits

", - "smithy.api#xmlName": "acceleratorTotalMemoryMiB" + "smithy.api#enumValue": "g5.16xlarge" } }, - "NetworkBandwidthGbps": { - "target": "com.amazonaws.ec2#NetworkBandwidthGbps", + "g5_24xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "NetworkBandwidthGbps", - "smithy.api#documentation": "

The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).

\n

Default: No minimum or maximum limits

", - "smithy.api#xmlName": "networkBandwidthGbps" + "smithy.api#enumValue": "g5.24xlarge" } }, - "AllowedInstanceTypes": { - "target": "com.amazonaws.ec2#AllowedInstanceTypeSet", + "g5_48xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AllowedInstanceTypeSet", - "smithy.api#documentation": "

The instance types to apply your specified attributes against. All other instance types \n are ignored, even if they match your specified attributes.

\n

You can use strings with one or more wild cards, represented by\n an asterisk (*), to allow an instance type, size, or generation. The\n following are examples: m5.8xlarge, c5*.*, m5a.*,\n r*, *3*.

\n

For example, if you specify c5*,Amazon EC2 will allow the entire C5 instance\n family, which includes all C5a and C5n instance types. If you specify\n m5a.*, Amazon EC2 will allow all the M5a instance types, but not the M5n\n instance types.

\n \n

If you specify AllowedInstanceTypes, you can't specify ExcludedInstanceTypes.

\n
\n

Default: All instance types

", - "smithy.api#xmlName": "allowedInstanceTypeSet" + "smithy.api#enumValue": "g5.48xlarge" } - } - }, - "traits": { - "smithy.api#documentation": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with these attributes.

\n

When you specify multiple attributes, you get instance types that satisfy all of the\n specified attributes. If you specify multiple values for an attribute, you get instance\n types that satisfy any of the specified values.

\n

To limit the list of instance types from which Amazon EC2 can identify matching instance types, \n you can use one of the following parameters, but not both in the same request:

\n
    \n
  • \n

    \n AllowedInstanceTypes - The instance types to include in the list. All \n other instance types are ignored, even if they match your specified attributes.

    \n
  • \n
  • \n

    \n ExcludedInstanceTypes - The instance types to exclude from the list, \n even if they match your specified attributes.

    \n
  • \n
\n \n

You must specify VCpuCount and MemoryMiB. All other attributes\n are optional. Any unspecified optional attribute is set to its default.

\n
\n

For more information, see Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot\n placement score in the Amazon EC2 User Guide.

" - } - }, - "com.amazonaws.ec2#InstanceRequirementsRequest": { - "type": "structure", - "members": { - "VCpuCount": { - "target": "com.amazonaws.ec2#VCpuCountRangeRequest", + }, + "g5g_xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The minimum and maximum number of vCPUs.

", - "smithy.api#required": {} + "smithy.api#enumValue": "g5g.xlarge" } }, - "MemoryMiB": { - "target": "com.amazonaws.ec2#MemoryMiBRequest", + "g5g_2xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The minimum and maximum amount of memory, in MiB.

", - "smithy.api#required": {} + "smithy.api#enumValue": "g5g.2xlarge" } }, - "CpuManufacturers": { - "target": "com.amazonaws.ec2#CpuManufacturerSet", + "g5g_4xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The CPU manufacturers to include.

\n
    \n
  • \n

    For instance types with Intel CPUs, specify intel.

    \n
  • \n
  • \n

    For instance types with AMD CPUs, specify amd.

    \n
  • \n
  • \n

    For instance types with Amazon Web Services CPUs, specify amazon-web-services.

    \n
  • \n
\n \n

Don't confuse the CPU manufacturer with the CPU architecture. Instances will \n be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you \n specify in your launch template.

\n
\n

Default: Any manufacturer

", - "smithy.api#xmlName": "CpuManufacturer" + "smithy.api#enumValue": "g5g.4xlarge" } }, - "MemoryGiBPerVCpu": { - "target": "com.amazonaws.ec2#MemoryGiBPerVCpuRequest", + "g5g_8xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The minimum and maximum amount of memory per vCPU, in GiB.

\n

Default: No minimum or maximum limits

" + "smithy.api#enumValue": "g5g.8xlarge" } }, - "ExcludedInstanceTypes": { - "target": "com.amazonaws.ec2#ExcludedInstanceTypeSet", + "g5g_16xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The instance types to exclude.

\n

You can use strings with one or more wild cards, represented by\n an asterisk (*), to exclude an instance family, type, size, or generation. The\n following are examples: m5.8xlarge, c5*.*, m5a.*,\n r*, *3*.

\n

For example, if you specify c5*,Amazon EC2 will exclude the entire C5 instance\n family, which includes all C5a and C5n instance types. If you specify\n m5a.*, Amazon EC2 will exclude all the M5a instance types, but not the M5n\n instance types.

\n \n

If you specify ExcludedInstanceTypes, you can't specify AllowedInstanceTypes.

\n
\n

Default: No excluded instance types

", - "smithy.api#xmlName": "ExcludedInstanceType" + "smithy.api#enumValue": "g5g.16xlarge" } }, - "InstanceGenerations": { - "target": "com.amazonaws.ec2#InstanceGenerationSet", + "g5g_metal": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Indicates whether current or previous generation instance types are included. The\n current generation instance types are recommended for use. Current generation instance types are\n typically the latest two to three generations in each instance family. For more\n information, see Instance types in the\n Amazon EC2 User Guide.

\n

For current generation instance types, specify current.

\n

For previous generation instance types, specify previous.

\n

Default: Current and previous generation instance types

", - "smithy.api#xmlName": "InstanceGeneration" + "smithy.api#enumValue": "g5g.metal" } }, - "SpotMaxPricePercentageOverLowestPrice": { - "target": "com.amazonaws.ec2#Integer", + "hi1_4xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The price protection threshold for Spot Instance. This is the maximum you’ll pay for an Spot Instance,\n expressed as a percentage above the least expensive current generation M, C, or R instance type with your specified\n attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance\n types priced above your threshold.

\n

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

\n

To turn off price protection, specify a high value, such as 999999.

\n

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

\n \n

If you set TargetCapacityUnitType to vcpu or\n memory-mib, the price protection threshold is applied based on the\n per-vCPU or per-memory price instead of the per-instance price.

\n
\n

Default: 100\n

" + "smithy.api#enumValue": "hi1.4xlarge" } }, - "OnDemandMaxPricePercentageOverLowestPrice": { - "target": "com.amazonaws.ec2#Integer", + "hpc6a_48xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance,\n expressed as a percentage above the least expensive current generation M, C, or R instance type with your specified\n attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance\n types priced above your threshold.

\n

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

\n

To turn off price protection, specify a high value, such as 999999.

\n

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

\n \n

If you set TargetCapacityUnitType to vcpu or\n memory-mib, the price protection threshold is applied based on the\n per-vCPU or per-memory price instead of the per-instance price.

\n
\n

Default: 20\n

" + "smithy.api#enumValue": "hpc6a.48xlarge" } }, - "BareMetal": { - "target": "com.amazonaws.ec2#BareMetal", + "hs1_8xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Indicates whether bare metal instance types must be included, excluded, or required.

\n
    \n
  • \n

    To include bare metal instance types, specify included.

    \n
  • \n
  • \n

    To require only bare metal instance types, specify required.

    \n
  • \n
  • \n

    To exclude bare metal instance types, specify excluded.

    \n
  • \n
\n

Default: excluded\n

" + "smithy.api#enumValue": "hs1.8xlarge" } }, - "BurstablePerformance": { - "target": "com.amazonaws.ec2#BurstablePerformance", + "h1_2xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see \n Burstable performance instances.

\n
    \n
  • \n

    To include burstable performance instance types, specify included.

    \n
  • \n
  • \n

    To require only burstable performance instance types, specify required.

    \n
  • \n
  • \n

    To exclude burstable performance instance types, specify excluded.

    \n
  • \n
\n

Default: excluded\n

" + "smithy.api#enumValue": "h1.2xlarge" } }, - "RequireHibernateSupport": { - "target": "com.amazonaws.ec2#Boolean", + "h1_4xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether instance types must support hibernation for On-Demand Instances.

\n

This parameter is not supported for GetSpotPlacementScores.

\n

Default: false\n

" + "smithy.api#enumValue": "h1.4xlarge" } }, - "NetworkInterfaceCount": { - "target": "com.amazonaws.ec2#NetworkInterfaceCountRequest", + "h1_8xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The minimum and maximum number of network interfaces.

\n

Default: No minimum or maximum limits

" + "smithy.api#enumValue": "h1.8xlarge" } }, - "LocalStorage": { - "target": "com.amazonaws.ec2#LocalStorage", + "h1_16xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Indicates whether instance types with instance store volumes are included, excluded, or required. For more information,\n Amazon\n EC2 instance store in the Amazon EC2 User Guide.

\n
    \n
  • \n

    To include instance types with instance store volumes, specify\n included.

    \n
  • \n
  • \n

    To require only instance types with instance store volumes, specify\n required.

    \n
  • \n
  • \n

    To exclude instance types with instance store volumes, specify\n excluded.

    \n
  • \n
\n

Default: included\n

" + "smithy.api#enumValue": "h1.16xlarge" } }, - "LocalStorageTypes": { - "target": "com.amazonaws.ec2#LocalStorageTypeSet", + "i2_xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The type of local storage that is required.

\n
    \n
  • \n

    For instance types with hard disk drive (HDD) storage, specify hdd.

    \n
  • \n
  • \n

    For instance types with solid state drive (SSD) storage, specify\n ssd.

    \n
  • \n
\n

Default: hdd and ssd\n

", - "smithy.api#xmlName": "LocalStorageType" + "smithy.api#enumValue": "i2.xlarge" } }, - "TotalLocalStorageGB": { - "target": "com.amazonaws.ec2#TotalLocalStorageGBRequest", + "i2_2xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The minimum and maximum amount of total local storage, in GB.

\n

Default: No minimum or maximum limits

" + "smithy.api#enumValue": "i2.2xlarge" } }, - "BaselineEbsBandwidthMbps": { - "target": "com.amazonaws.ec2#BaselineEbsBandwidthMbpsRequest", + "i2_4xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see\n Amazon\n EBS–optimized instances in the Amazon EC2 User Guide.

\n

Default: No minimum or maximum limits

" + "smithy.api#enumValue": "i2.4xlarge" } }, - "AcceleratorTypes": { - "target": "com.amazonaws.ec2#AcceleratorTypeSet", + "i2_8xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The accelerator types that must be on the instance type.

\n
    \n
  • \n

    To include instance types with GPU hardware, specify gpu.

    \n
  • \n
  • \n

    To include instance types with FPGA hardware, specify fpga.

    \n
  • \n
  • \n

    To include instance types with inference hardware, specify inference.

    \n
  • \n
\n

Default: Any accelerator type

", - "smithy.api#xmlName": "AcceleratorType" + "smithy.api#enumValue": "i2.8xlarge" } }, - "AcceleratorCount": { - "target": "com.amazonaws.ec2#AcceleratorCountRequest", + "i3_large": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on\n an instance.

\n

To exclude accelerator-enabled instance types, set Max to 0.

\n

Default: No minimum or maximum limits

" + "smithy.api#enumValue": "i3.large" } }, - "AcceleratorManufacturers": { - "target": "com.amazonaws.ec2#AcceleratorManufacturerSet", + "i3_xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Indicates whether instance types must have accelerators by specific manufacturers.

\n
    \n
  • \n

    For instance types with NVIDIA devices, specify nvidia.

    \n
  • \n
  • \n

    For instance types with AMD devices, specify amd.

    \n
  • \n
  • \n

    For instance types with Amazon Web Services devices, specify amazon-web-services.

    \n
  • \n
  • \n

    For instance types with Xilinx devices, specify xilinx.

    \n
  • \n
\n

Default: Any manufacturer

", - "smithy.api#xmlName": "AcceleratorManufacturer" + "smithy.api#enumValue": "i3.xlarge" } }, - "AcceleratorNames": { - "target": "com.amazonaws.ec2#AcceleratorNameSet", + "i3_2xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The accelerators that must be on the instance type.

\n
    \n
  • \n

    For instance types with NVIDIA A100 GPUs, specify a100.

    \n
  • \n
  • \n

    For instance types with NVIDIA V100 GPUs, specify v100.

    \n
  • \n
  • \n

    For instance types with NVIDIA K80 GPUs, specify k80.

    \n
  • \n
  • \n

    For instance types with NVIDIA T4 GPUs, specify t4.

    \n
  • \n
  • \n

    For instance types with NVIDIA M60 GPUs, specify m60.

    \n
  • \n
  • \n

    For instance types with AMD Radeon Pro V520 GPUs, specify radeon-pro-v520.

    \n
  • \n
  • \n

    For instance types with Xilinx VU9P FPGAs, specify vu9p.

    \n
  • \n
  • \n

    For instance types with Amazon Web Services Inferentia chips, specify inferentia.

    \n
  • \n
  • \n

    For instance types with NVIDIA GRID K520 GPUs, specify k520.

    \n
  • \n
\n

Default: Any accelerator

", - "smithy.api#xmlName": "AcceleratorName" + "smithy.api#enumValue": "i3.2xlarge" } }, - "AcceleratorTotalMemoryMiB": { - "target": "com.amazonaws.ec2#AcceleratorTotalMemoryMiBRequest", + "i3_4xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The minimum and maximum amount of total accelerator memory, in MiB.

\n

Default: No minimum or maximum limits

" + "smithy.api#enumValue": "i3.4xlarge" } }, - "NetworkBandwidthGbps": { - "target": "com.amazonaws.ec2#NetworkBandwidthGbpsRequest", + "i3_8xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).

\n

Default: No minimum or maximum limits

" + "smithy.api#enumValue": "i3.8xlarge" } }, - "AllowedInstanceTypes": { - "target": "com.amazonaws.ec2#AllowedInstanceTypeSet", + "i3_16xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The instance types to apply your specified attributes against. All other instance types \n are ignored, even if they match your specified attributes.

\n

You can use strings with one or more wild cards, represented by\n an asterisk (*), to allow an instance type, size, or generation. The\n following are examples: m5.8xlarge, c5*.*, m5a.*,\n r*, *3*.

\n

For example, if you specify c5*,Amazon EC2 will allow the entire C5 instance\n family, which includes all C5a and C5n instance types. If you specify\n m5a.*, Amazon EC2 will allow all the M5a instance types, but not the M5n\n instance types.

\n \n

If you specify AllowedInstanceTypes, you can't specify ExcludedInstanceTypes.

\n
\n

Default: All instance types

", - "smithy.api#xmlName": "AllowedInstanceType" + "smithy.api#enumValue": "i3.16xlarge" } - } - }, - "traits": { - "smithy.api#documentation": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with these attributes.

\n

When you specify multiple attributes, you get instance types that satisfy all of the\n specified attributes. If you specify multiple values for an attribute, you get instance\n types that satisfy any of the specified values.

\n

To limit the list of instance types from which Amazon EC2 can identify matching instance types, \n you can use one of the following parameters, but not both in the same request:

\n
    \n
  • \n

    \n AllowedInstanceTypes - The instance types to include in the list. All \n other instance types are ignored, even if they match your specified attributes.

    \n
  • \n
  • \n

    \n ExcludedInstanceTypes - The instance types to exclude from the list, \n even if they match your specified attributes.

    \n
  • \n
\n \n

You must specify VCpuCount and MemoryMiB. All other attributes\n are optional. Any unspecified optional attribute is set to its default.

\n
\n

For more information, see Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot\n placement score in the Amazon EC2 User Guide.

" - } - }, - "com.amazonaws.ec2#InstanceRequirementsWithMetadataRequest": { - "type": "structure", - "members": { - "ArchitectureTypes": { - "target": "com.amazonaws.ec2#ArchitectureTypeSet", + }, + "i3_metal": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The architecture type.

", - "smithy.api#xmlName": "ArchitectureType" + "smithy.api#enumValue": "i3.metal" } }, - "VirtualizationTypes": { - "target": "com.amazonaws.ec2#VirtualizationTypeSet", + "i3en_large": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The virtualization type.

", - "smithy.api#xmlName": "VirtualizationType" + "smithy.api#enumValue": "i3en.large" } }, - "InstanceRequirements": { - "target": "com.amazonaws.ec2#InstanceRequirementsRequest", + "i3en_xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with those attributes.

" + "smithy.api#enumValue": "i3en.xlarge" } - } - }, - "traits": { - "smithy.api#documentation": "

The architecture type, virtualization type, and other attributes for the instance types.\n When you specify instance attributes, Amazon EC2 will identify instance types with those\n attributes.

\n

If you specify InstanceRequirementsWithMetadataRequest, you can't specify\n InstanceTypes.

" - } - }, - "com.amazonaws.ec2#InstanceSpecification": { - "type": "structure", - "members": { - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", + }, + "i3en_2xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The instance to specify which volumes should be snapshotted.

" + "smithy.api#enumValue": "i3en.2xlarge" } }, - "ExcludeBootVolume": { - "target": "com.amazonaws.ec2#Boolean", + "i3en_3xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Excludes the root volume from being snapshotted.

" + "smithy.api#enumValue": "i3en.3xlarge" } }, - "ExcludeDataVolumeIds": { - "target": "com.amazonaws.ec2#VolumeIdStringList", + "i3en_6xlarge": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The IDs of the data (non-root) volumes to exclude from the multi-volume snapshot set. \n If you specify the ID of the root volume, the request fails. To exclude the root volume, \n use ExcludeBootVolume.

\n

You can specify up to 40 volume IDs per request.

", - "smithy.api#xmlName": "ExcludeDataVolumeId" + "smithy.api#enumValue": "i3en.6xlarge" } - } - }, - "traits": { - "smithy.api#documentation": "

The instance details to specify which volumes should be snapshotted.

" - } - }, - "com.amazonaws.ec2#InstanceState": { - "type": "structure", - "members": { - "Code": { - "target": "com.amazonaws.ec2#Integer", + }, + "i3en_12xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Code", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The state of the instance as a 16-bit unsigned integer.

\n

The high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal values\n between 256 and 65,535. These numerical values are used for internal purposes and should\n be ignored.

\n

The low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal values\n between 0 and 255.

\n

The valid values for instance-state-code will all be in the range of the low byte and\n they are:

\n
    \n
  • \n

    \n 0 : pending\n

    \n
  • \n
  • \n

    \n 16 : running\n

    \n
  • \n
  • \n

    \n 32 : shutting-down\n

    \n
  • \n
  • \n

    \n 48 : terminated\n

    \n
  • \n
  • \n

    \n 64 : stopping\n

    \n
  • \n
  • \n

    \n 80 : stopped\n

    \n
  • \n
\n

You can ignore the high byte value by zeroing out all of the bits above 2^8 or 256 in\n decimal.

", - "smithy.api#xmlName": "code" + "smithy.api#enumValue": "i3en.12xlarge" } }, - "Name": { - "target": "com.amazonaws.ec2#InstanceStateName", + "i3en_24xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Name", - "smithy.api#documentation": "

The current state of the instance.

", - "smithy.api#xmlName": "name" + "smithy.api#enumValue": "i3en.24xlarge" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the current state of an instance.

" - } - }, - "com.amazonaws.ec2#InstanceStateChange": { - "type": "structure", - "members": { - "CurrentState": { - "target": "com.amazonaws.ec2#InstanceState", + }, + "i3en_metal": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "CurrentState", - "smithy.api#documentation": "

The current state of the instance.

", - "smithy.api#xmlName": "currentState" + "smithy.api#enumValue": "i3en.metal" } }, - "InstanceId": { - "target": "com.amazonaws.ec2#String", + "im4gn_large": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#documentation": "

The ID of the instance.

", - "smithy.api#xmlName": "instanceId" + "smithy.api#enumValue": "im4gn.large" } }, - "PreviousState": { - "target": "com.amazonaws.ec2#InstanceState", + "im4gn_xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "PreviousState", - "smithy.api#documentation": "

The previous state of the instance.

", - "smithy.api#xmlName": "previousState" + "smithy.api#enumValue": "im4gn.xlarge" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes an instance state change.

" - } - }, - "com.amazonaws.ec2#InstanceStateChangeList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#InstanceStateChange", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#InstanceStateName": { - "type": "enum", - "members": { - "pending": { + }, + "im4gn_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "pending" + "smithy.api#enumValue": "im4gn.2xlarge" } }, - "running": { + "im4gn_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "running" + "smithy.api#enumValue": "im4gn.4xlarge" } }, - "shutting_down": { + "im4gn_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "shutting-down" + "smithy.api#enumValue": "im4gn.8xlarge" } }, - "terminated": { + "im4gn_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "terminated" + "smithy.api#enumValue": "im4gn.16xlarge" } }, - "stopping": { + "inf1_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "stopping" + "smithy.api#enumValue": "inf1.xlarge" } }, - "stopped": { + "inf1_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "stopped" + "smithy.api#enumValue": "inf1.2xlarge" } - } - } - }, - "com.amazonaws.ec2#InstanceStatus": { - "type": "structure", - "members": { - "AvailabilityZone": { - "target": "com.amazonaws.ec2#String", + }, + "inf1_6xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZone", - "smithy.api#documentation": "

The Availability Zone of the instance.

", - "smithy.api#xmlName": "availabilityZone" + "smithy.api#enumValue": "inf1.6xlarge" } }, - "OutpostArn": { - "target": "com.amazonaws.ec2#String", + "inf1_24xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "OutpostArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Outpost.

", - "smithy.api#xmlName": "outpostArn" + "smithy.api#enumValue": "inf1.24xlarge" } }, - "Events": { - "target": "com.amazonaws.ec2#InstanceStatusEventList", + "is4gen_medium": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "EventsSet", - "smithy.api#documentation": "

Any scheduled events associated with the instance.

", - "smithy.api#xmlName": "eventsSet" + "smithy.api#enumValue": "is4gen.medium" } }, - "InstanceId": { - "target": "com.amazonaws.ec2#String", + "is4gen_large": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#documentation": "

The ID of the instance.

", - "smithy.api#xmlName": "instanceId" + "smithy.api#enumValue": "is4gen.large" } }, - "InstanceState": { - "target": "com.amazonaws.ec2#InstanceState", + "is4gen_xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InstanceState", - "smithy.api#documentation": "

The intended state of the instance. DescribeInstanceStatus requires\n that an instance be in the running state.

", - "smithy.api#xmlName": "instanceState" + "smithy.api#enumValue": "is4gen.xlarge" } }, - "InstanceStatus": { - "target": "com.amazonaws.ec2#InstanceStatusSummary", + "is4gen_2xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InstanceStatus", - "smithy.api#documentation": "

Reports impaired functionality that stems from issues internal to the instance, such\n as impaired reachability.

", - "smithy.api#xmlName": "instanceStatus" + "smithy.api#enumValue": "is4gen.2xlarge" } }, - "SystemStatus": { - "target": "com.amazonaws.ec2#InstanceStatusSummary", + "is4gen_4xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SystemStatus", - "smithy.api#documentation": "

Reports impaired functionality that stems from issues related to the systems that\n support an instance, such as hardware failures and network connectivity problems.

", - "smithy.api#xmlName": "systemStatus" + "smithy.api#enumValue": "is4gen.4xlarge" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the status of an instance.

" - } - }, - "com.amazonaws.ec2#InstanceStatusDetails": { - "type": "structure", - "members": { - "ImpairedSince": { - "target": "com.amazonaws.ec2#DateTime", + }, + "is4gen_8xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ImpairedSince", - "smithy.api#documentation": "

The time when a status check failed. For an instance that was launched and impaired,\n this is the time when the instance was launched.

", - "smithy.api#xmlName": "impairedSince" + "smithy.api#enumValue": "is4gen.8xlarge" } }, - "Name": { - "target": "com.amazonaws.ec2#StatusName", + "m1_small": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Name", - "smithy.api#documentation": "

The type of instance status.

", - "smithy.api#xmlName": "name" + "smithy.api#enumValue": "m1.small" } }, - "Status": { - "target": "com.amazonaws.ec2#StatusType", + "m1_medium": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The status.

", - "smithy.api#xmlName": "status" + "smithy.api#enumValue": "m1.medium" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the instance status.

" - } - }, - "com.amazonaws.ec2#InstanceStatusDetailsList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#InstanceStatusDetails", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#InstanceStatusEvent": { - "type": "structure", - "members": { - "InstanceEventId": { - "target": "com.amazonaws.ec2#InstanceEventId", + }, + "m1_large": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InstanceEventId", - "smithy.api#documentation": "

The ID of the event.

", - "smithy.api#xmlName": "instanceEventId" + "smithy.api#enumValue": "m1.large" } }, - "Code": { - "target": "com.amazonaws.ec2#EventCode", + "m1_xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Code", - "smithy.api#documentation": "

The event code.

", - "smithy.api#xmlName": "code" + "smithy.api#enumValue": "m1.xlarge" } }, - "Description": { - "target": "com.amazonaws.ec2#String", + "m2_xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

A description of the event.

\n

After a scheduled event is completed, it can still be described for up to a week. If\n the event has been completed, this description starts with the following text:\n [Completed].

", - "smithy.api#xmlName": "description" + "smithy.api#enumValue": "m2.xlarge" } }, - "NotAfter": { - "target": "com.amazonaws.ec2#DateTime", + "m2_2xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "NotAfter", - "smithy.api#documentation": "

The latest scheduled end time for the event.

", - "smithy.api#xmlName": "notAfter" + "smithy.api#enumValue": "m2.2xlarge" } }, - "NotBefore": { - "target": "com.amazonaws.ec2#DateTime", + "m2_4xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "NotBefore", - "smithy.api#documentation": "

The earliest scheduled start time for the event.

", - "smithy.api#xmlName": "notBefore" + "smithy.api#enumValue": "m2.4xlarge" } }, - "NotBeforeDeadline": { - "target": "com.amazonaws.ec2#DateTime", + "m3_medium": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "NotBeforeDeadline", - "smithy.api#documentation": "

The deadline for starting the event.

", - "smithy.api#xmlName": "notBeforeDeadline" + "smithy.api#enumValue": "m3.medium" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a scheduled event for an instance.

" - } - }, - "com.amazonaws.ec2#InstanceStatusEventList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#InstanceStatusEvent", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#InstanceStatusList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#InstanceStatus", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#InstanceStatusSummary": { - "type": "structure", - "members": { - "Details": { - "target": "com.amazonaws.ec2#InstanceStatusDetailsList", + }, + "m3_large": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Details", - "smithy.api#documentation": "

The system instance health or application instance health.

", - "smithy.api#xmlName": "details" + "smithy.api#enumValue": "m3.large" } }, - "Status": { - "target": "com.amazonaws.ec2#SummaryStatus", + "m3_xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The status.

", - "smithy.api#xmlName": "status" + "smithy.api#enumValue": "m3.xlarge" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the status of an instance.

" - } - }, - "com.amazonaws.ec2#InstanceStorageEncryptionSupport": { - "type": "enum", - "members": { - "unsupported": { + }, + "m3_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "unsupported" + "smithy.api#enumValue": "m3.2xlarge" } }, - "required": { + "m4_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "required" + "smithy.api#enumValue": "m4.large" } - } - } - }, - "com.amazonaws.ec2#InstanceStorageFlag": { - "type": "boolean" - }, - "com.amazonaws.ec2#InstanceStorageInfo": { - "type": "structure", - "members": { - "TotalSizeInGB": { - "target": "com.amazonaws.ec2#DiskSize", + }, + "m4_xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "TotalSizeInGB", - "smithy.api#documentation": "

The total size of the disks, in GB.

", - "smithy.api#xmlName": "totalSizeInGB" + "smithy.api#enumValue": "m4.xlarge" } }, - "Disks": { - "target": "com.amazonaws.ec2#DiskInfoList", + "m4_2xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Disks", - "smithy.api#documentation": "

Describes the disks that are available for the instance type.

", - "smithy.api#xmlName": "disks" + "smithy.api#enumValue": "m4.2xlarge" } }, - "NvmeSupport": { - "target": "com.amazonaws.ec2#EphemeralNvmeSupport", + "m4_4xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "NvmeSupport", - "smithy.api#documentation": "

Indicates whether non-volatile memory express (NVMe) is supported.

", - "smithy.api#xmlName": "nvmeSupport" + "smithy.api#enumValue": "m4.4xlarge" } }, - "EncryptionSupport": { - "target": "com.amazonaws.ec2#InstanceStorageEncryptionSupport", + "m4_10xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "EncryptionSupport", - "smithy.api#documentation": "

Indicates whether data is encrypted at rest.

", - "smithy.api#xmlName": "encryptionSupport" + "smithy.api#enumValue": "m4.10xlarge" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the instance store features that are supported by the instance type.

" - } - }, - "com.amazonaws.ec2#InstanceTagKeySet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#InstanceTagNotificationAttribute": { - "type": "structure", - "members": { - "InstanceTagKeys": { - "target": "com.amazonaws.ec2#InstanceTagKeySet", + }, + "m4_16xlarge": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InstanceTagKeySet", - "smithy.api#documentation": "

The registered tag keys.

", - "smithy.api#xmlName": "instanceTagKeySet" + "smithy.api#enumValue": "m4.16xlarge" } }, - "IncludeAllTagsOfInstance": { - "target": "com.amazonaws.ec2#Boolean", + "m5_large": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "IncludeAllTagsOfInstance", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates wheter all tag keys in the current Region are registered to appear in scheduled event notifications. \n \ttrue indicates that all tag keys in the current Region are registered.

", - "smithy.api#xmlName": "includeAllTagsOfInstance" + "smithy.api#enumValue": "m5.large" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the registered tag keys for the current Region.

" - } - }, - "com.amazonaws.ec2#InstanceType": { - "type": "enum", - "members": { - "a1_medium": { + }, + "m5_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "a1.medium" + "smithy.api#enumValue": "m5.xlarge" } }, - "a1_large": { + "m5_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "a1.large" + "smithy.api#enumValue": "m5.2xlarge" } }, - "a1_xlarge": { + "m5_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "a1.xlarge" + "smithy.api#enumValue": "m5.4xlarge" } }, - "a1_2xlarge": { + "m5_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "a1.2xlarge" + "smithy.api#enumValue": "m5.8xlarge" } }, - "a1_4xlarge": { + "m5_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "a1.4xlarge" + "smithy.api#enumValue": "m5.12xlarge" } }, - "a1_metal": { + "m5_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "a1.metal" + "smithy.api#enumValue": "m5.16xlarge" } }, - "c1_medium": { + "m5_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c1.medium" + "smithy.api#enumValue": "m5.24xlarge" } }, - "c1_xlarge": { + "m5_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c1.xlarge" + "smithy.api#enumValue": "m5.metal" } }, - "c3_large": { + "m5a_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c3.large" + "smithy.api#enumValue": "m5a.large" } }, - "c3_xlarge": { + "m5a_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c3.xlarge" + "smithy.api#enumValue": "m5a.xlarge" } }, - "c3_2xlarge": { + "m5a_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c3.2xlarge" + "smithy.api#enumValue": "m5a.2xlarge" } }, - "c3_4xlarge": { + "m5a_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c3.4xlarge" + "smithy.api#enumValue": "m5a.4xlarge" } }, - "c3_8xlarge": { + "m5a_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c3.8xlarge" + "smithy.api#enumValue": "m5a.8xlarge" } }, - "c4_large": { + "m5a_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c4.large" + "smithy.api#enumValue": "m5a.12xlarge" } }, - "c4_xlarge": { + "m5a_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c4.xlarge" + "smithy.api#enumValue": "m5a.16xlarge" } }, - "c4_2xlarge": { + "m5a_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c4.2xlarge" + "smithy.api#enumValue": "m5a.24xlarge" } }, - "c4_4xlarge": { + "m5ad_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c4.4xlarge" + "smithy.api#enumValue": "m5ad.large" } }, - "c4_8xlarge": { + "m5ad_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c4.8xlarge" + "smithy.api#enumValue": "m5ad.xlarge" } }, - "c5_large": { + "m5ad_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5.large" + "smithy.api#enumValue": "m5ad.2xlarge" } }, - "c5_xlarge": { + "m5ad_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5.xlarge" + "smithy.api#enumValue": "m5ad.4xlarge" } }, - "c5_2xlarge": { + "m5ad_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5.2xlarge" + "smithy.api#enumValue": "m5ad.8xlarge" } }, - "c5_4xlarge": { + "m5ad_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5.4xlarge" + "smithy.api#enumValue": "m5ad.12xlarge" } }, - "c5_9xlarge": { + "m5ad_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5.9xlarge" + "smithy.api#enumValue": "m5ad.16xlarge" } }, - "c5_12xlarge": { + "m5ad_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5.12xlarge" + "smithy.api#enumValue": "m5ad.24xlarge" } }, - "c5_18xlarge": { + "m5d_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5.18xlarge" + "smithy.api#enumValue": "m5d.large" } }, - "c5_24xlarge": { + "m5d_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5.24xlarge" + "smithy.api#enumValue": "m5d.xlarge" } }, - "c5_metal": { + "m5d_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5.metal" + "smithy.api#enumValue": "m5d.2xlarge" } }, - "c5a_large": { + "m5d_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5a.large" + "smithy.api#enumValue": "m5d.4xlarge" } }, - "c5a_xlarge": { + "m5d_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5a.xlarge" + "smithy.api#enumValue": "m5d.8xlarge" } }, - "c5a_2xlarge": { + "m5d_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5a.2xlarge" + "smithy.api#enumValue": "m5d.12xlarge" } }, - "c5a_4xlarge": { + "m5d_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5a.4xlarge" + "smithy.api#enumValue": "m5d.16xlarge" } }, - "c5a_8xlarge": { + "m5d_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5a.8xlarge" + "smithy.api#enumValue": "m5d.24xlarge" } }, - "c5a_12xlarge": { + "m5d_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5a.12xlarge" + "smithy.api#enumValue": "m5d.metal" } }, - "c5a_16xlarge": { + "m5dn_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5a.16xlarge" + "smithy.api#enumValue": "m5dn.large" } }, - "c5a_24xlarge": { + "m5dn_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5a.24xlarge" + "smithy.api#enumValue": "m5dn.xlarge" } }, - "c5ad_large": { + "m5dn_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5ad.large" + "smithy.api#enumValue": "m5dn.2xlarge" } }, - "c5ad_xlarge": { + "m5dn_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5ad.xlarge" + "smithy.api#enumValue": "m5dn.4xlarge" } }, - "c5ad_2xlarge": { + "m5dn_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5ad.2xlarge" + "smithy.api#enumValue": "m5dn.8xlarge" } }, - "c5ad_4xlarge": { + "m5dn_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5ad.4xlarge" + "smithy.api#enumValue": "m5dn.12xlarge" } }, - "c5ad_8xlarge": { + "m5dn_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5ad.8xlarge" + "smithy.api#enumValue": "m5dn.16xlarge" } }, - "c5ad_12xlarge": { + "m5dn_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5ad.12xlarge" + "smithy.api#enumValue": "m5dn.24xlarge" } }, - "c5ad_16xlarge": { + "m5dn_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5ad.16xlarge" + "smithy.api#enumValue": "m5dn.metal" } }, - "c5ad_24xlarge": { + "m5n_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5ad.24xlarge" + "smithy.api#enumValue": "m5n.large" } }, - "c5d_large": { + "m5n_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5d.large" + "smithy.api#enumValue": "m5n.xlarge" } }, - "c5d_xlarge": { + "m5n_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5d.xlarge" + "smithy.api#enumValue": "m5n.2xlarge" } }, - "c5d_2xlarge": { + "m5n_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5d.2xlarge" + "smithy.api#enumValue": "m5n.4xlarge" } }, - "c5d_4xlarge": { + "m5n_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5d.4xlarge" + "smithy.api#enumValue": "m5n.8xlarge" } }, - "c5d_9xlarge": { + "m5n_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5d.9xlarge" + "smithy.api#enumValue": "m5n.12xlarge" } }, - "c5d_12xlarge": { + "m5n_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5d.12xlarge" + "smithy.api#enumValue": "m5n.16xlarge" } }, - "c5d_18xlarge": { + "m5n_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5d.18xlarge" + "smithy.api#enumValue": "m5n.24xlarge" } }, - "c5d_24xlarge": { + "m5n_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5d.24xlarge" + "smithy.api#enumValue": "m5n.metal" } }, - "c5d_metal": { + "m5zn_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5d.metal" + "smithy.api#enumValue": "m5zn.large" } }, - "c5n_large": { + "m5zn_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5n.large" + "smithy.api#enumValue": "m5zn.xlarge" } }, - "c5n_xlarge": { + "m5zn_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5n.xlarge" + "smithy.api#enumValue": "m5zn.2xlarge" } }, - "c5n_2xlarge": { + "m5zn_3xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5n.2xlarge" + "smithy.api#enumValue": "m5zn.3xlarge" } }, - "c5n_4xlarge": { + "m5zn_6xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5n.4xlarge" + "smithy.api#enumValue": "m5zn.6xlarge" } }, - "c5n_9xlarge": { + "m5zn_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5n.9xlarge" + "smithy.api#enumValue": "m5zn.12xlarge" } }, - "c5n_18xlarge": { + "m5zn_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5n.18xlarge" + "smithy.api#enumValue": "m5zn.metal" } }, - "c5n_metal": { + "m6a_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c5n.metal" + "smithy.api#enumValue": "m6a.large" } }, - "c6g_medium": { + "m6a_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6g.medium" + "smithy.api#enumValue": "m6a.xlarge" } }, - "c6g_large": { + "m6a_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6g.large" + "smithy.api#enumValue": "m6a.2xlarge" } }, - "c6g_xlarge": { + "m6a_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6g.xlarge" + "smithy.api#enumValue": "m6a.4xlarge" } }, - "c6g_2xlarge": { + "m6a_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6g.2xlarge" + "smithy.api#enumValue": "m6a.8xlarge" } }, - "c6g_4xlarge": { + "m6a_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6g.4xlarge" + "smithy.api#enumValue": "m6a.12xlarge" } }, - "c6g_8xlarge": { + "m6a_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6g.8xlarge" + "smithy.api#enumValue": "m6a.16xlarge" } }, - "c6g_12xlarge": { + "m6a_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6g.12xlarge" + "smithy.api#enumValue": "m6a.24xlarge" } }, - "c6g_16xlarge": { + "m6a_32xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6g.16xlarge" + "smithy.api#enumValue": "m6a.32xlarge" } }, - "c6g_metal": { + "m6a_48xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6g.metal" + "smithy.api#enumValue": "m6a.48xlarge" } }, - "c6gd_medium": { + "m6g_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6gd.medium" + "smithy.api#enumValue": "m6g.metal" } }, - "c6gd_large": { + "m6g_medium": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6gd.large" + "smithy.api#enumValue": "m6g.medium" } }, - "c6gd_xlarge": { + "m6g_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6gd.xlarge" + "smithy.api#enumValue": "m6g.large" } }, - "c6gd_2xlarge": { + "m6g_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6gd.2xlarge" + "smithy.api#enumValue": "m6g.xlarge" } }, - "c6gd_4xlarge": { + "m6g_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6gd.4xlarge" + "smithy.api#enumValue": "m6g.2xlarge" } }, - "c6gd_8xlarge": { + "m6g_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6gd.8xlarge" + "smithy.api#enumValue": "m6g.4xlarge" } }, - "c6gd_12xlarge": { + "m6g_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6gd.12xlarge" + "smithy.api#enumValue": "m6g.8xlarge" } }, - "c6gd_16xlarge": { + "m6g_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6gd.16xlarge" + "smithy.api#enumValue": "m6g.12xlarge" } }, - "c6gd_metal": { + "m6g_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6gd.metal" + "smithy.api#enumValue": "m6g.16xlarge" } }, - "c6gn_medium": { + "m6gd_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6gn.medium" + "smithy.api#enumValue": "m6gd.metal" } }, - "c6gn_large": { + "m6gd_medium": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6gn.large" + "smithy.api#enumValue": "m6gd.medium" } }, - "c6gn_xlarge": { + "m6gd_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6gn.xlarge" + "smithy.api#enumValue": "m6gd.large" } }, - "c6gn_2xlarge": { + "m6gd_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6gn.2xlarge" + "smithy.api#enumValue": "m6gd.xlarge" } }, - "c6gn_4xlarge": { + "m6gd_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6gn.4xlarge" + "smithy.api#enumValue": "m6gd.2xlarge" } }, - "c6gn_8xlarge": { + "m6gd_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6gn.8xlarge" + "smithy.api#enumValue": "m6gd.4xlarge" } }, - "c6gn_12xlarge": { + "m6gd_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6gn.12xlarge" + "smithy.api#enumValue": "m6gd.8xlarge" } }, - "c6gn_16xlarge": { + "m6gd_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6gn.16xlarge" + "smithy.api#enumValue": "m6gd.12xlarge" } }, - "c6i_large": { + "m6gd_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6i.large" + "smithy.api#enumValue": "m6gd.16xlarge" } }, - "c6i_xlarge": { + "m6i_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6i.xlarge" + "smithy.api#enumValue": "m6i.large" } }, - "c6i_2xlarge": { + "m6i_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6i.2xlarge" + "smithy.api#enumValue": "m6i.xlarge" } }, - "c6i_4xlarge": { + "m6i_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6i.4xlarge" + "smithy.api#enumValue": "m6i.2xlarge" } }, - "c6i_8xlarge": { + "m6i_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6i.8xlarge" + "smithy.api#enumValue": "m6i.4xlarge" } }, - "c6i_12xlarge": { + "m6i_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6i.12xlarge" + "smithy.api#enumValue": "m6i.8xlarge" } }, - "c6i_16xlarge": { + "m6i_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6i.16xlarge" + "smithy.api#enumValue": "m6i.12xlarge" } }, - "c6i_24xlarge": { + "m6i_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6i.24xlarge" + "smithy.api#enumValue": "m6i.16xlarge" } }, - "c6i_32xlarge": { + "m6i_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6i.32xlarge" + "smithy.api#enumValue": "m6i.24xlarge" } }, - "c6i_metal": { + "m6i_32xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c6i.metal" + "smithy.api#enumValue": "m6i.32xlarge" } }, - "cc1_4xlarge": { + "m6i_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "cc1.4xlarge" + "smithy.api#enumValue": "m6i.metal" } }, - "cc2_8xlarge": { + "mac1_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "cc2.8xlarge" + "smithy.api#enumValue": "mac1.metal" } }, - "cg1_4xlarge": { + "p2_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "cg1.4xlarge" + "smithy.api#enumValue": "p2.xlarge" } }, - "cr1_8xlarge": { + "p2_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "cr1.8xlarge" + "smithy.api#enumValue": "p2.8xlarge" } }, - "d2_xlarge": { + "p2_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "d2.xlarge" + "smithy.api#enumValue": "p2.16xlarge" } }, - "d2_2xlarge": { + "p3_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "d2.2xlarge" + "smithy.api#enumValue": "p3.2xlarge" } }, - "d2_4xlarge": { + "p3_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "d2.4xlarge" + "smithy.api#enumValue": "p3.8xlarge" } }, - "d2_8xlarge": { + "p3_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "d2.8xlarge" + "smithy.api#enumValue": "p3.16xlarge" } }, - "d3_xlarge": { + "p3dn_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "d3.xlarge" + "smithy.api#enumValue": "p3dn.24xlarge" } }, - "d3_2xlarge": { + "p4d_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "d3.2xlarge" + "smithy.api#enumValue": "p4d.24xlarge" } }, - "d3_4xlarge": { + "r3_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "d3.4xlarge" + "smithy.api#enumValue": "r3.large" } }, - "d3_8xlarge": { + "r3_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "d3.8xlarge" + "smithy.api#enumValue": "r3.xlarge" } }, - "d3en_xlarge": { + "r3_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "d3en.xlarge" + "smithy.api#enumValue": "r3.2xlarge" } }, - "d3en_2xlarge": { + "r3_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "d3en.2xlarge" + "smithy.api#enumValue": "r3.4xlarge" } }, - "d3en_4xlarge": { + "r3_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "d3en.4xlarge" + "smithy.api#enumValue": "r3.8xlarge" } }, - "d3en_6xlarge": { + "r4_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "d3en.6xlarge" + "smithy.api#enumValue": "r4.large" } }, - "d3en_8xlarge": { + "r4_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "d3en.8xlarge" + "smithy.api#enumValue": "r4.xlarge" } }, - "d3en_12xlarge": { + "r4_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "d3en.12xlarge" + "smithy.api#enumValue": "r4.2xlarge" } }, - "dl1_24xlarge": { + "r4_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "dl1.24xlarge" + "smithy.api#enumValue": "r4.4xlarge" } }, - "f1_2xlarge": { + "r4_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "f1.2xlarge" + "smithy.api#enumValue": "r4.8xlarge" } }, - "f1_4xlarge": { + "r4_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "f1.4xlarge" + "smithy.api#enumValue": "r4.16xlarge" } }, - "f1_16xlarge": { + "r5_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "f1.16xlarge" + "smithy.api#enumValue": "r5.large" } }, - "g2_2xlarge": { + "r5_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g2.2xlarge" + "smithy.api#enumValue": "r5.xlarge" } }, - "g2_8xlarge": { + "r5_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g2.8xlarge" + "smithy.api#enumValue": "r5.2xlarge" } }, - "g3_4xlarge": { + "r5_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g3.4xlarge" + "smithy.api#enumValue": "r5.4xlarge" } }, - "g3_8xlarge": { + "r5_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g3.8xlarge" + "smithy.api#enumValue": "r5.8xlarge" } }, - "g3_16xlarge": { + "r5_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g3.16xlarge" + "smithy.api#enumValue": "r5.12xlarge" } }, - "g3s_xlarge": { + "r5_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g3s.xlarge" + "smithy.api#enumValue": "r5.16xlarge" } }, - "g4ad_xlarge": { + "r5_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g4ad.xlarge" + "smithy.api#enumValue": "r5.24xlarge" } }, - "g4ad_2xlarge": { + "r5_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g4ad.2xlarge" + "smithy.api#enumValue": "r5.metal" } }, - "g4ad_4xlarge": { + "r5a_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g4ad.4xlarge" + "smithy.api#enumValue": "r5a.large" } }, - "g4ad_8xlarge": { + "r5a_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g4ad.8xlarge" + "smithy.api#enumValue": "r5a.xlarge" } }, - "g4ad_16xlarge": { + "r5a_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g4ad.16xlarge" + "smithy.api#enumValue": "r5a.2xlarge" } }, - "g4dn_xlarge": { + "r5a_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g4dn.xlarge" + "smithy.api#enumValue": "r5a.4xlarge" } }, - "g4dn_2xlarge": { + "r5a_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g4dn.2xlarge" + "smithy.api#enumValue": "r5a.8xlarge" } }, - "g4dn_4xlarge": { + "r5a_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g4dn.4xlarge" + "smithy.api#enumValue": "r5a.12xlarge" } }, - "g4dn_8xlarge": { + "r5a_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g4dn.8xlarge" + "smithy.api#enumValue": "r5a.16xlarge" } }, - "g4dn_12xlarge": { + "r5a_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g4dn.12xlarge" + "smithy.api#enumValue": "r5a.24xlarge" } }, - "g4dn_16xlarge": { + "r5ad_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g4dn.16xlarge" + "smithy.api#enumValue": "r5ad.large" } }, - "g4dn_metal": { + "r5ad_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g4dn.metal" + "smithy.api#enumValue": "r5ad.xlarge" } }, - "g5_xlarge": { + "r5ad_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g5.xlarge" + "smithy.api#enumValue": "r5ad.2xlarge" } }, - "g5_2xlarge": { + "r5ad_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g5.2xlarge" + "smithy.api#enumValue": "r5ad.4xlarge" } }, - "g5_4xlarge": { + "r5ad_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g5.4xlarge" + "smithy.api#enumValue": "r5ad.8xlarge" } }, - "g5_8xlarge": { + "r5ad_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g5.8xlarge" + "smithy.api#enumValue": "r5ad.12xlarge" } }, - "g5_12xlarge": { + "r5ad_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g5.12xlarge" + "smithy.api#enumValue": "r5ad.16xlarge" } }, - "g5_16xlarge": { + "r5ad_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g5.16xlarge" + "smithy.api#enumValue": "r5ad.24xlarge" } }, - "g5_24xlarge": { + "r5b_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g5.24xlarge" + "smithy.api#enumValue": "r5b.large" } }, - "g5_48xlarge": { + "r5b_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g5.48xlarge" + "smithy.api#enumValue": "r5b.xlarge" } }, - "g5g_xlarge": { + "r5b_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g5g.xlarge" + "smithy.api#enumValue": "r5b.2xlarge" } }, - "g5g_2xlarge": { + "r5b_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g5g.2xlarge" + "smithy.api#enumValue": "r5b.4xlarge" } }, - "g5g_4xlarge": { + "r5b_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g5g.4xlarge" + "smithy.api#enumValue": "r5b.8xlarge" } }, - "g5g_8xlarge": { + "r5b_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g5g.8xlarge" + "smithy.api#enumValue": "r5b.12xlarge" } }, - "g5g_16xlarge": { + "r5b_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g5g.16xlarge" + "smithy.api#enumValue": "r5b.16xlarge" } }, - "g5g_metal": { + "r5b_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "g5g.metal" + "smithy.api#enumValue": "r5b.24xlarge" } }, - "hi1_4xlarge": { + "r5b_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "hi1.4xlarge" + "smithy.api#enumValue": "r5b.metal" } }, - "hpc6a_48xlarge": { + "r5d_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "hpc6a.48xlarge" + "smithy.api#enumValue": "r5d.large" } }, - "hs1_8xlarge": { + "r5d_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "hs1.8xlarge" + "smithy.api#enumValue": "r5d.xlarge" } }, - "h1_2xlarge": { + "r5d_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "h1.2xlarge" + "smithy.api#enumValue": "r5d.2xlarge" } }, - "h1_4xlarge": { + "r5d_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "h1.4xlarge" + "smithy.api#enumValue": "r5d.4xlarge" } }, - "h1_8xlarge": { + "r5d_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "h1.8xlarge" + "smithy.api#enumValue": "r5d.8xlarge" } }, - "h1_16xlarge": { + "r5d_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "h1.16xlarge" + "smithy.api#enumValue": "r5d.12xlarge" } }, - "i2_xlarge": { + "r5d_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "i2.xlarge" + "smithy.api#enumValue": "r5d.16xlarge" } }, - "i2_2xlarge": { + "r5d_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "i2.2xlarge" + "smithy.api#enumValue": "r5d.24xlarge" } }, - "i2_4xlarge": { + "r5d_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "i2.4xlarge" + "smithy.api#enumValue": "r5d.metal" } }, - "i2_8xlarge": { + "r5dn_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "i2.8xlarge" + "smithy.api#enumValue": "r5dn.large" } }, - "i3_large": { + "r5dn_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "i3.large" + "smithy.api#enumValue": "r5dn.xlarge" } }, - "i3_xlarge": { + "r5dn_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "i3.xlarge" + "smithy.api#enumValue": "r5dn.2xlarge" } }, - "i3_2xlarge": { + "r5dn_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "i3.2xlarge" + "smithy.api#enumValue": "r5dn.4xlarge" } }, - "i3_4xlarge": { + "r5dn_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "i3.4xlarge" + "smithy.api#enumValue": "r5dn.8xlarge" } }, - "i3_8xlarge": { + "r5dn_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "i3.8xlarge" + "smithy.api#enumValue": "r5dn.12xlarge" } }, - "i3_16xlarge": { + "r5dn_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "i3.16xlarge" + "smithy.api#enumValue": "r5dn.16xlarge" } }, - "i3_metal": { + "r5dn_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "i3.metal" + "smithy.api#enumValue": "r5dn.24xlarge" } }, - "i3en_large": { + "r5dn_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "i3en.large" + "smithy.api#enumValue": "r5dn.metal" } }, - "i3en_xlarge": { + "r5n_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "i3en.xlarge" + "smithy.api#enumValue": "r5n.large" } }, - "i3en_2xlarge": { + "r5n_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "i3en.2xlarge" + "smithy.api#enumValue": "r5n.xlarge" } }, - "i3en_3xlarge": { + "r5n_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "i3en.3xlarge" + "smithy.api#enumValue": "r5n.2xlarge" } }, - "i3en_6xlarge": { + "r5n_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "i3en.6xlarge" + "smithy.api#enumValue": "r5n.4xlarge" } }, - "i3en_12xlarge": { + "r5n_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "i3en.12xlarge" + "smithy.api#enumValue": "r5n.8xlarge" } }, - "i3en_24xlarge": { + "r5n_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "i3en.24xlarge" + "smithy.api#enumValue": "r5n.12xlarge" } }, - "i3en_metal": { + "r5n_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "i3en.metal" + "smithy.api#enumValue": "r5n.16xlarge" } }, - "im4gn_large": { + "r5n_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "im4gn.large" + "smithy.api#enumValue": "r5n.24xlarge" } }, - "im4gn_xlarge": { + "r5n_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "im4gn.xlarge" + "smithy.api#enumValue": "r5n.metal" } }, - "im4gn_2xlarge": { + "r6g_medium": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "im4gn.2xlarge" + "smithy.api#enumValue": "r6g.medium" } }, - "im4gn_4xlarge": { + "r6g_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "im4gn.4xlarge" + "smithy.api#enumValue": "r6g.large" } }, - "im4gn_8xlarge": { + "r6g_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "im4gn.8xlarge" + "smithy.api#enumValue": "r6g.xlarge" } }, - "im4gn_16xlarge": { + "r6g_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "im4gn.16xlarge" + "smithy.api#enumValue": "r6g.2xlarge" } }, - "inf1_xlarge": { + "r6g_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "inf1.xlarge" + "smithy.api#enumValue": "r6g.4xlarge" } }, - "inf1_2xlarge": { + "r6g_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "inf1.2xlarge" + "smithy.api#enumValue": "r6g.8xlarge" } }, - "inf1_6xlarge": { + "r6g_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "inf1.6xlarge" + "smithy.api#enumValue": "r6g.12xlarge" } }, - "inf1_24xlarge": { + "r6g_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "inf1.24xlarge" + "smithy.api#enumValue": "r6g.16xlarge" } }, - "is4gen_medium": { + "r6g_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "is4gen.medium" + "smithy.api#enumValue": "r6g.metal" } }, - "is4gen_large": { + "r6gd_medium": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "is4gen.large" + "smithy.api#enumValue": "r6gd.medium" } }, - "is4gen_xlarge": { + "r6gd_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "is4gen.xlarge" + "smithy.api#enumValue": "r6gd.large" } }, - "is4gen_2xlarge": { + "r6gd_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "is4gen.2xlarge" + "smithy.api#enumValue": "r6gd.xlarge" } }, - "is4gen_4xlarge": { + "r6gd_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "is4gen.4xlarge" + "smithy.api#enumValue": "r6gd.2xlarge" } }, - "is4gen_8xlarge": { + "r6gd_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "is4gen.8xlarge" + "smithy.api#enumValue": "r6gd.4xlarge" } }, - "m1_small": { + "r6gd_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m1.small" + "smithy.api#enumValue": "r6gd.8xlarge" } }, - "m1_medium": { + "r6gd_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m1.medium" + "smithy.api#enumValue": "r6gd.12xlarge" } }, - "m1_large": { + "r6gd_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m1.large" + "smithy.api#enumValue": "r6gd.16xlarge" } }, - "m1_xlarge": { + "r6gd_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m1.xlarge" + "smithy.api#enumValue": "r6gd.metal" } }, - "m2_xlarge": { + "r6i_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m2.xlarge" + "smithy.api#enumValue": "r6i.large" } }, - "m2_2xlarge": { + "r6i_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m2.2xlarge" + "smithy.api#enumValue": "r6i.xlarge" } }, - "m2_4xlarge": { + "r6i_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m2.4xlarge" + "smithy.api#enumValue": "r6i.2xlarge" } }, - "m3_medium": { + "r6i_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m3.medium" + "smithy.api#enumValue": "r6i.4xlarge" } }, - "m3_large": { + "r6i_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m3.large" + "smithy.api#enumValue": "r6i.8xlarge" } }, - "m3_xlarge": { + "r6i_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m3.xlarge" + "smithy.api#enumValue": "r6i.12xlarge" } }, - "m3_2xlarge": { + "r6i_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m3.2xlarge" + "smithy.api#enumValue": "r6i.16xlarge" } }, - "m4_large": { + "r6i_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m4.large" + "smithy.api#enumValue": "r6i.24xlarge" } }, - "m4_xlarge": { + "r6i_32xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m4.xlarge" + "smithy.api#enumValue": "r6i.32xlarge" } }, - "m4_2xlarge": { + "r6i_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m4.2xlarge" + "smithy.api#enumValue": "r6i.metal" } }, - "m4_4xlarge": { + "t1_micro": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m4.4xlarge" + "smithy.api#enumValue": "t1.micro" } }, - "m4_10xlarge": { + "t2_nano": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m4.10xlarge" + "smithy.api#enumValue": "t2.nano" } }, - "m4_16xlarge": { + "t2_micro": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m4.16xlarge" + "smithy.api#enumValue": "t2.micro" } }, - "m5_large": { + "t2_small": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5.large" + "smithy.api#enumValue": "t2.small" } }, - "m5_xlarge": { + "t2_medium": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5.xlarge" + "smithy.api#enumValue": "t2.medium" } }, - "m5_2xlarge": { + "t2_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5.2xlarge" + "smithy.api#enumValue": "t2.large" } }, - "m5_4xlarge": { + "t2_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5.4xlarge" + "smithy.api#enumValue": "t2.xlarge" } }, - "m5_8xlarge": { + "t2_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5.8xlarge" + "smithy.api#enumValue": "t2.2xlarge" } }, - "m5_12xlarge": { + "t3_nano": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5.12xlarge" + "smithy.api#enumValue": "t3.nano" } }, - "m5_16xlarge": { + "t3_micro": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5.16xlarge" + "smithy.api#enumValue": "t3.micro" } }, - "m5_24xlarge": { + "t3_small": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5.24xlarge" + "smithy.api#enumValue": "t3.small" } }, - "m5_metal": { + "t3_medium": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5.metal" + "smithy.api#enumValue": "t3.medium" } }, - "m5a_large": { + "t3_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5a.large" + "smithy.api#enumValue": "t3.large" } }, - "m5a_xlarge": { + "t3_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5a.xlarge" + "smithy.api#enumValue": "t3.xlarge" } }, - "m5a_2xlarge": { + "t3_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5a.2xlarge" + "smithy.api#enumValue": "t3.2xlarge" } }, - "m5a_4xlarge": { + "t3a_nano": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5a.4xlarge" + "smithy.api#enumValue": "t3a.nano" } }, - "m5a_8xlarge": { + "t3a_micro": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5a.8xlarge" + "smithy.api#enumValue": "t3a.micro" } }, - "m5a_12xlarge": { + "t3a_small": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5a.12xlarge" + "smithy.api#enumValue": "t3a.small" } }, - "m5a_16xlarge": { + "t3a_medium": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5a.16xlarge" + "smithy.api#enumValue": "t3a.medium" } }, - "m5a_24xlarge": { + "t3a_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5a.24xlarge" + "smithy.api#enumValue": "t3a.large" } }, - "m5ad_large": { + "t3a_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5ad.large" + "smithy.api#enumValue": "t3a.xlarge" } }, - "m5ad_xlarge": { + "t3a_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5ad.xlarge" + "smithy.api#enumValue": "t3a.2xlarge" } }, - "m5ad_2xlarge": { + "t4g_nano": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5ad.2xlarge" + "smithy.api#enumValue": "t4g.nano" } }, - "m5ad_4xlarge": { + "t4g_micro": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5ad.4xlarge" + "smithy.api#enumValue": "t4g.micro" } }, - "m5ad_8xlarge": { + "t4g_small": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5ad.8xlarge" + "smithy.api#enumValue": "t4g.small" } }, - "m5ad_12xlarge": { + "t4g_medium": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5ad.12xlarge" + "smithy.api#enumValue": "t4g.medium" } }, - "m5ad_16xlarge": { + "t4g_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5ad.16xlarge" + "smithy.api#enumValue": "t4g.large" } }, - "m5ad_24xlarge": { + "t4g_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5ad.24xlarge" + "smithy.api#enumValue": "t4g.xlarge" } }, - "m5d_large": { + "t4g_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5d.large" + "smithy.api#enumValue": "t4g.2xlarge" } }, - "m5d_xlarge": { + "u_6tb1_56xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5d.xlarge" + "smithy.api#enumValue": "u-6tb1.56xlarge" } }, - "m5d_2xlarge": { + "u_6tb1_112xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5d.2xlarge" + "smithy.api#enumValue": "u-6tb1.112xlarge" } }, - "m5d_4xlarge": { + "u_9tb1_112xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5d.4xlarge" + "smithy.api#enumValue": "u-9tb1.112xlarge" } }, - "m5d_8xlarge": { + "u_12tb1_112xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5d.8xlarge" + "smithy.api#enumValue": "u-12tb1.112xlarge" } }, - "m5d_12xlarge": { + "u_6tb1_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5d.12xlarge" + "smithy.api#enumValue": "u-6tb1.metal" } }, - "m5d_16xlarge": { + "u_9tb1_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5d.16xlarge" + "smithy.api#enumValue": "u-9tb1.metal" } }, - "m5d_24xlarge": { + "u_12tb1_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5d.24xlarge" + "smithy.api#enumValue": "u-12tb1.metal" } }, - "m5d_metal": { + "u_18tb1_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5d.metal" + "smithy.api#enumValue": "u-18tb1.metal" } }, - "m5dn_large": { + "u_24tb1_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5dn.large" + "smithy.api#enumValue": "u-24tb1.metal" } }, - "m5dn_xlarge": { + "vt1_3xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5dn.xlarge" + "smithy.api#enumValue": "vt1.3xlarge" } }, - "m5dn_2xlarge": { + "vt1_6xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5dn.2xlarge" + "smithy.api#enumValue": "vt1.6xlarge" } }, - "m5dn_4xlarge": { + "vt1_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5dn.4xlarge" + "smithy.api#enumValue": "vt1.24xlarge" } }, - "m5dn_8xlarge": { + "x1_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5dn.8xlarge" + "smithy.api#enumValue": "x1.16xlarge" } }, - "m5dn_12xlarge": { + "x1_32xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5dn.12xlarge" + "smithy.api#enumValue": "x1.32xlarge" } }, - "m5dn_16xlarge": { + "x1e_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5dn.16xlarge" + "smithy.api#enumValue": "x1e.xlarge" } }, - "m5dn_24xlarge": { + "x1e_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5dn.24xlarge" + "smithy.api#enumValue": "x1e.2xlarge" } }, - "m5dn_metal": { + "x1e_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5dn.metal" + "smithy.api#enumValue": "x1e.4xlarge" } }, - "m5n_large": { + "x1e_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5n.large" + "smithy.api#enumValue": "x1e.8xlarge" } }, - "m5n_xlarge": { + "x1e_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5n.xlarge" + "smithy.api#enumValue": "x1e.16xlarge" } }, - "m5n_2xlarge": { + "x1e_32xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5n.2xlarge" + "smithy.api#enumValue": "x1e.32xlarge" } }, - "m5n_4xlarge": { + "x2iezn_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5n.4xlarge" + "smithy.api#enumValue": "x2iezn.2xlarge" } }, - "m5n_8xlarge": { + "x2iezn_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5n.8xlarge" + "smithy.api#enumValue": "x2iezn.4xlarge" } }, - "m5n_12xlarge": { + "x2iezn_6xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5n.12xlarge" + "smithy.api#enumValue": "x2iezn.6xlarge" } }, - "m5n_16xlarge": { + "x2iezn_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5n.16xlarge" + "smithy.api#enumValue": "x2iezn.8xlarge" } }, - "m5n_24xlarge": { + "x2iezn_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5n.24xlarge" + "smithy.api#enumValue": "x2iezn.12xlarge" } }, - "m5n_metal": { + "x2iezn_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5n.metal" + "smithy.api#enumValue": "x2iezn.metal" } }, - "m5zn_large": { + "x2gd_medium": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5zn.large" + "smithy.api#enumValue": "x2gd.medium" } }, - "m5zn_xlarge": { + "x2gd_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5zn.xlarge" + "smithy.api#enumValue": "x2gd.large" } }, - "m5zn_2xlarge": { + "x2gd_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5zn.2xlarge" + "smithy.api#enumValue": "x2gd.xlarge" } }, - "m5zn_3xlarge": { + "x2gd_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5zn.3xlarge" + "smithy.api#enumValue": "x2gd.2xlarge" } }, - "m5zn_6xlarge": { + "x2gd_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5zn.6xlarge" + "smithy.api#enumValue": "x2gd.4xlarge" } }, - "m5zn_12xlarge": { + "x2gd_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5zn.12xlarge" + "smithy.api#enumValue": "x2gd.8xlarge" } }, - "m5zn_metal": { + "x2gd_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m5zn.metal" + "smithy.api#enumValue": "x2gd.12xlarge" } }, - "m6a_large": { + "x2gd_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6a.large" + "smithy.api#enumValue": "x2gd.16xlarge" } }, - "m6a_xlarge": { + "x2gd_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6a.xlarge" + "smithy.api#enumValue": "x2gd.metal" } }, - "m6a_2xlarge": { + "z1d_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6a.2xlarge" + "smithy.api#enumValue": "z1d.large" } }, - "m6a_4xlarge": { + "z1d_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6a.4xlarge" + "smithy.api#enumValue": "z1d.xlarge" } }, - "m6a_8xlarge": { + "z1d_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6a.8xlarge" + "smithy.api#enumValue": "z1d.2xlarge" } }, - "m6a_12xlarge": { + "z1d_3xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6a.12xlarge" + "smithy.api#enumValue": "z1d.3xlarge" } }, - "m6a_16xlarge": { + "z1d_6xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6a.16xlarge" + "smithy.api#enumValue": "z1d.6xlarge" } }, - "m6a_24xlarge": { + "z1d_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6a.24xlarge" + "smithy.api#enumValue": "z1d.12xlarge" } }, - "m6a_32xlarge": { + "z1d_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6a.32xlarge" + "smithy.api#enumValue": "z1d.metal" } }, - "m6a_48xlarge": { + "x2idn_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6a.48xlarge" + "smithy.api#enumValue": "x2idn.16xlarge" } }, - "m6g_metal": { + "x2idn_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6g.metal" + "smithy.api#enumValue": "x2idn.24xlarge" } }, - "m6g_medium": { + "x2idn_32xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6g.medium" + "smithy.api#enumValue": "x2idn.32xlarge" } }, - "m6g_large": { + "x2iedn_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6g.large" + "smithy.api#enumValue": "x2iedn.xlarge" } }, - "m6g_xlarge": { + "x2iedn_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6g.xlarge" + "smithy.api#enumValue": "x2iedn.2xlarge" } }, - "m6g_2xlarge": { + "x2iedn_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6g.2xlarge" + "smithy.api#enumValue": "x2iedn.4xlarge" } }, - "m6g_4xlarge": { + "x2iedn_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6g.4xlarge" + "smithy.api#enumValue": "x2iedn.8xlarge" } }, - "m6g_8xlarge": { + "x2iedn_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6g.8xlarge" + "smithy.api#enumValue": "x2iedn.16xlarge" } }, - "m6g_12xlarge": { + "x2iedn_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6g.12xlarge" + "smithy.api#enumValue": "x2iedn.24xlarge" } }, - "m6g_16xlarge": { + "x2iedn_32xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6g.16xlarge" + "smithy.api#enumValue": "x2iedn.32xlarge" } }, - "m6gd_metal": { + "c6a_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6gd.metal" + "smithy.api#enumValue": "c6a.large" } }, - "m6gd_medium": { + "c6a_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6gd.medium" + "smithy.api#enumValue": "c6a.xlarge" } }, - "m6gd_large": { + "c6a_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6gd.large" + "smithy.api#enumValue": "c6a.2xlarge" } }, - "m6gd_xlarge": { + "c6a_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6gd.xlarge" + "smithy.api#enumValue": "c6a.4xlarge" } }, - "m6gd_2xlarge": { + "c6a_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6gd.2xlarge" + "smithy.api#enumValue": "c6a.8xlarge" } }, - "m6gd_4xlarge": { + "c6a_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6gd.4xlarge" + "smithy.api#enumValue": "c6a.12xlarge" } }, - "m6gd_8xlarge": { + "c6a_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6gd.8xlarge" + "smithy.api#enumValue": "c6a.16xlarge" } }, - "m6gd_12xlarge": { + "c6a_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6gd.12xlarge" + "smithy.api#enumValue": "c6a.24xlarge" } }, - "m6gd_16xlarge": { + "c6a_32xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6gd.16xlarge" + "smithy.api#enumValue": "c6a.32xlarge" } }, - "m6i_large": { + "c6a_48xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6i.large" + "smithy.api#enumValue": "c6a.48xlarge" } }, - "m6i_xlarge": { + "c6a_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6i.xlarge" + "smithy.api#enumValue": "c6a.metal" } }, - "m6i_2xlarge": { + "m6a_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6i.2xlarge" + "smithy.api#enumValue": "m6a.metal" } }, - "m6i_4xlarge": { + "i4i_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6i.4xlarge" + "smithy.api#enumValue": "i4i.large" } }, - "m6i_8xlarge": { + "i4i_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6i.8xlarge" + "smithy.api#enumValue": "i4i.xlarge" } }, - "m6i_12xlarge": { + "i4i_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6i.12xlarge" + "smithy.api#enumValue": "i4i.2xlarge" } }, - "m6i_16xlarge": { + "i4i_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6i.16xlarge" + "smithy.api#enumValue": "i4i.4xlarge" } }, - "m6i_24xlarge": { + "i4i_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6i.24xlarge" + "smithy.api#enumValue": "i4i.8xlarge" } }, - "m6i_32xlarge": { + "i4i_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6i.32xlarge" + "smithy.api#enumValue": "i4i.16xlarge" } }, - "m6i_metal": { + "i4i_32xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "m6i.metal" + "smithy.api#enumValue": "i4i.32xlarge" } }, - "mac1_metal": { + "i4i_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "mac1.metal" + "smithy.api#enumValue": "i4i.metal" } }, - "p2_xlarge": { + "x2idn_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "p2.xlarge" + "smithy.api#enumValue": "x2idn.metal" } }, - "p2_8xlarge": { + "x2iedn_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "p2.8xlarge" + "smithy.api#enumValue": "x2iedn.metal" } }, - "p2_16xlarge": { + "c7g_medium": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "p2.16xlarge" + "smithy.api#enumValue": "c7g.medium" } }, - "p3_2xlarge": { + "c7g_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "p3.2xlarge" + "smithy.api#enumValue": "c7g.large" } }, - "p3_8xlarge": { + "c7g_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "p3.8xlarge" + "smithy.api#enumValue": "c7g.xlarge" } }, - "p3_16xlarge": { + "c7g_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "p3.16xlarge" + "smithy.api#enumValue": "c7g.2xlarge" } }, - "p3dn_24xlarge": { + "c7g_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "p3dn.24xlarge" + "smithy.api#enumValue": "c7g.4xlarge" } }, - "p4d_24xlarge": { + "c7g_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "p4d.24xlarge" + "smithy.api#enumValue": "c7g.8xlarge" } }, - "r3_large": { + "c7g_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r3.large" + "smithy.api#enumValue": "c7g.12xlarge" } }, - "r3_xlarge": { + "c7g_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r3.xlarge" + "smithy.api#enumValue": "c7g.16xlarge" } }, - "r3_2xlarge": { + "mac2_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r3.2xlarge" + "smithy.api#enumValue": "mac2.metal" } }, - "r3_4xlarge": { + "c6id_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r3.4xlarge" + "smithy.api#enumValue": "c6id.large" } }, - "r3_8xlarge": { + "c6id_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r3.8xlarge" + "smithy.api#enumValue": "c6id.xlarge" } }, - "r4_large": { + "c6id_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r4.large" + "smithy.api#enumValue": "c6id.2xlarge" } }, - "r4_xlarge": { + "c6id_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r4.xlarge" + "smithy.api#enumValue": "c6id.4xlarge" } }, - "r4_2xlarge": { + "c6id_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r4.2xlarge" + "smithy.api#enumValue": "c6id.8xlarge" } }, - "r4_4xlarge": { + "c6id_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r4.4xlarge" + "smithy.api#enumValue": "c6id.12xlarge" } }, - "r4_8xlarge": { + "c6id_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r4.8xlarge" + "smithy.api#enumValue": "c6id.16xlarge" } }, - "r4_16xlarge": { + "c6id_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r4.16xlarge" + "smithy.api#enumValue": "c6id.24xlarge" } }, - "r5_large": { + "c6id_32xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5.large" + "smithy.api#enumValue": "c6id.32xlarge" } }, - "r5_xlarge": { + "c6id_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5.xlarge" + "smithy.api#enumValue": "c6id.metal" } }, - "r5_2xlarge": { + "m6id_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5.2xlarge" + "smithy.api#enumValue": "m6id.large" } }, - "r5_4xlarge": { + "m6id_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5.4xlarge" + "smithy.api#enumValue": "m6id.xlarge" } }, - "r5_8xlarge": { + "m6id_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5.8xlarge" + "smithy.api#enumValue": "m6id.2xlarge" } }, - "r5_12xlarge": { + "m6id_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5.12xlarge" + "smithy.api#enumValue": "m6id.4xlarge" } }, - "r5_16xlarge": { + "m6id_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5.16xlarge" + "smithy.api#enumValue": "m6id.8xlarge" } }, - "r5_24xlarge": { + "m6id_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5.24xlarge" + "smithy.api#enumValue": "m6id.12xlarge" } }, - "r5_metal": { + "m6id_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5.metal" + "smithy.api#enumValue": "m6id.16xlarge" } }, - "r5a_large": { + "m6id_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5a.large" + "smithy.api#enumValue": "m6id.24xlarge" } }, - "r5a_xlarge": { + "m6id_32xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5a.xlarge" + "smithy.api#enumValue": "m6id.32xlarge" } }, - "r5a_2xlarge": { + "m6id_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5a.2xlarge" + "smithy.api#enumValue": "m6id.metal" } }, - "r5a_4xlarge": { + "r6id_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5a.4xlarge" + "smithy.api#enumValue": "r6id.large" } }, - "r5a_8xlarge": { + "r6id_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5a.8xlarge" + "smithy.api#enumValue": "r6id.xlarge" } }, - "r5a_12xlarge": { + "r6id_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5a.12xlarge" + "smithy.api#enumValue": "r6id.2xlarge" } }, - "r5a_16xlarge": { + "r6id_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5a.16xlarge" + "smithy.api#enumValue": "r6id.4xlarge" } }, - "r5a_24xlarge": { + "r6id_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5a.24xlarge" + "smithy.api#enumValue": "r6id.8xlarge" } }, - "r5ad_large": { + "r6id_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5ad.large" + "smithy.api#enumValue": "r6id.12xlarge" } }, - "r5ad_xlarge": { + "r6id_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5ad.xlarge" + "smithy.api#enumValue": "r6id.16xlarge" } }, - "r5ad_2xlarge": { + "r6id_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5ad.2xlarge" + "smithy.api#enumValue": "r6id.24xlarge" } }, - "r5ad_4xlarge": { + "r6id_32xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5ad.4xlarge" + "smithy.api#enumValue": "r6id.32xlarge" } }, - "r5ad_8xlarge": { + "r6id_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5ad.8xlarge" + "smithy.api#enumValue": "r6id.metal" } }, - "r5ad_12xlarge": { + "r6a_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5ad.12xlarge" + "smithy.api#enumValue": "r6a.large" } }, - "r5ad_16xlarge": { + "r6a_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5ad.16xlarge" + "smithy.api#enumValue": "r6a.xlarge" } }, - "r5ad_24xlarge": { + "r6a_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5ad.24xlarge" + "smithy.api#enumValue": "r6a.2xlarge" } }, - "r5b_large": { + "r6a_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5b.large" + "smithy.api#enumValue": "r6a.4xlarge" } }, - "r5b_xlarge": { + "r6a_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5b.xlarge" + "smithy.api#enumValue": "r6a.8xlarge" } }, - "r5b_2xlarge": { + "r6a_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5b.2xlarge" + "smithy.api#enumValue": "r6a.12xlarge" } }, - "r5b_4xlarge": { + "r6a_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5b.4xlarge" + "smithy.api#enumValue": "r6a.16xlarge" } }, - "r5b_8xlarge": { + "r6a_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5b.8xlarge" + "smithy.api#enumValue": "r6a.24xlarge" } }, - "r5b_12xlarge": { + "r6a_32xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5b.12xlarge" + "smithy.api#enumValue": "r6a.32xlarge" } }, - "r5b_16xlarge": { + "r6a_48xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5b.16xlarge" + "smithy.api#enumValue": "r6a.48xlarge" } }, - "r5b_24xlarge": { + "r6a_metal": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5b.24xlarge" + "smithy.api#enumValue": "r6a.metal" } }, - "r5b_metal": { + "p4de_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5b.metal" + "smithy.api#enumValue": "p4de.24xlarge" } }, - "r5d_large": { + "u_3tb1_56xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5d.large" + "smithy.api#enumValue": "u-3tb1.56xlarge" } }, - "r5d_xlarge": { + "u_18tb1_112xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5d.xlarge" + "smithy.api#enumValue": "u-18tb1.112xlarge" } }, - "r5d_2xlarge": { + "u_24tb1_112xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5d.2xlarge" + "smithy.api#enumValue": "u-24tb1.112xlarge" } }, - "r5d_4xlarge": { + "trn1_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5d.4xlarge" + "smithy.api#enumValue": "trn1.2xlarge" } }, - "r5d_8xlarge": { + "trn1_32xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5d.8xlarge" + "smithy.api#enumValue": "trn1.32xlarge" } }, - "r5d_12xlarge": { + "hpc6id_32xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5d.12xlarge" + "smithy.api#enumValue": "hpc6id.32xlarge" } }, - "r5d_16xlarge": { + "c6in_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5d.16xlarge" + "smithy.api#enumValue": "c6in.large" } }, - "r5d_24xlarge": { + "c6in_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5d.24xlarge" + "smithy.api#enumValue": "c6in.xlarge" } }, - "r5d_metal": { + "c6in_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5d.metal" + "smithy.api#enumValue": "c6in.2xlarge" } }, - "r5dn_large": { + "c6in_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5dn.large" + "smithy.api#enumValue": "c6in.4xlarge" } }, - "r5dn_xlarge": { + "c6in_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5dn.xlarge" + "smithy.api#enumValue": "c6in.8xlarge" } }, - "r5dn_2xlarge": { + "c6in_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5dn.2xlarge" + "smithy.api#enumValue": "c6in.12xlarge" } }, - "r5dn_4xlarge": { + "c6in_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5dn.4xlarge" + "smithy.api#enumValue": "c6in.16xlarge" } }, - "r5dn_8xlarge": { + "c6in_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5dn.8xlarge" + "smithy.api#enumValue": "c6in.24xlarge" } }, - "r5dn_12xlarge": { + "c6in_32xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5dn.12xlarge" + "smithy.api#enumValue": "c6in.32xlarge" } }, - "r5dn_16xlarge": { + "m6in_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5dn.16xlarge" + "smithy.api#enumValue": "m6in.large" } }, - "r5dn_24xlarge": { + "m6in_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5dn.24xlarge" + "smithy.api#enumValue": "m6in.xlarge" } }, - "r5dn_metal": { + "m6in_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5dn.metal" + "smithy.api#enumValue": "m6in.2xlarge" } }, - "r5n_large": { + "m6in_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5n.large" + "smithy.api#enumValue": "m6in.4xlarge" } }, - "r5n_xlarge": { + "m6in_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5n.xlarge" + "smithy.api#enumValue": "m6in.8xlarge" } }, - "r5n_2xlarge": { + "m6in_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5n.2xlarge" + "smithy.api#enumValue": "m6in.12xlarge" } }, - "r5n_4xlarge": { + "m6in_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5n.4xlarge" + "smithy.api#enumValue": "m6in.16xlarge" } }, - "r5n_8xlarge": { + "m6in_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5n.8xlarge" + "smithy.api#enumValue": "m6in.24xlarge" } }, - "r5n_12xlarge": { + "m6in_32xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5n.12xlarge" + "smithy.api#enumValue": "m6in.32xlarge" } }, - "r5n_16xlarge": { + "m6idn_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5n.16xlarge" + "smithy.api#enumValue": "m6idn.large" } }, - "r5n_24xlarge": { + "m6idn_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5n.24xlarge" + "smithy.api#enumValue": "m6idn.xlarge" } }, - "r5n_metal": { + "m6idn_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r5n.metal" + "smithy.api#enumValue": "m6idn.2xlarge" } }, - "r6g_medium": { + "m6idn_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6g.medium" + "smithy.api#enumValue": "m6idn.4xlarge" } }, - "r6g_large": { + "m6idn_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6g.large" + "smithy.api#enumValue": "m6idn.8xlarge" } }, - "r6g_xlarge": { + "m6idn_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6g.xlarge" + "smithy.api#enumValue": "m6idn.12xlarge" } }, - "r6g_2xlarge": { + "m6idn_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6g.2xlarge" + "smithy.api#enumValue": "m6idn.16xlarge" } }, - "r6g_4xlarge": { + "m6idn_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6g.4xlarge" + "smithy.api#enumValue": "m6idn.24xlarge" } }, - "r6g_8xlarge": { + "m6idn_32xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6g.8xlarge" + "smithy.api#enumValue": "m6idn.32xlarge" } }, - "r6g_12xlarge": { + "r6in_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6g.12xlarge" + "smithy.api#enumValue": "r6in.large" } }, - "r6g_16xlarge": { + "r6in_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6g.16xlarge" + "smithy.api#enumValue": "r6in.xlarge" } }, - "r6g_metal": { + "r6in_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6g.metal" + "smithy.api#enumValue": "r6in.2xlarge" } }, - "r6gd_medium": { + "r6in_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6gd.medium" + "smithy.api#enumValue": "r6in.4xlarge" } }, - "r6gd_large": { + "r6in_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6gd.large" + "smithy.api#enumValue": "r6in.8xlarge" } }, - "r6gd_xlarge": { + "r6in_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6gd.xlarge" + "smithy.api#enumValue": "r6in.12xlarge" } }, - "r6gd_2xlarge": { + "r6in_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6gd.2xlarge" + "smithy.api#enumValue": "r6in.16xlarge" } }, - "r6gd_4xlarge": { + "r6in_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6gd.4xlarge" + "smithy.api#enumValue": "r6in.24xlarge" } }, - "r6gd_8xlarge": { + "r6in_32xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6gd.8xlarge" + "smithy.api#enumValue": "r6in.32xlarge" } }, - "r6gd_12xlarge": { + "r6idn_large": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6gd.12xlarge" + "smithy.api#enumValue": "r6idn.large" } }, - "r6gd_16xlarge": { + "r6idn_xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6gd.16xlarge" + "smithy.api#enumValue": "r6idn.xlarge" } }, - "r6gd_metal": { + "r6idn_2xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6gd.metal" + "smithy.api#enumValue": "r6idn.2xlarge" } }, - "r6i_large": { + "r6idn_4xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6i.large" + "smithy.api#enumValue": "r6idn.4xlarge" } }, - "r6i_xlarge": { + "r6idn_8xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6i.xlarge" + "smithy.api#enumValue": "r6idn.8xlarge" } }, - "r6i_2xlarge": { + "r6idn_12xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6i.2xlarge" + "smithy.api#enumValue": "r6idn.12xlarge" } }, - "r6i_4xlarge": { + "r6idn_16xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6i.4xlarge" + "smithy.api#enumValue": "r6idn.16xlarge" } }, - "r6i_8xlarge": { + "r6idn_24xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6i.8xlarge" + "smithy.api#enumValue": "r6idn.24xlarge" } }, - "r6i_12xlarge": { + "r6idn_32xlarge": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6i.12xlarge" + "smithy.api#enumValue": "r6idn.32xlarge" } - }, - "r6i_16xlarge": { + } + } + }, + "com.amazonaws.ec2#InstanceTypeHypervisor": { + "type": "enum", + "members": { + "NITRO": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6i.16xlarge" + "smithy.api#enumValue": "nitro" } }, - "r6i_24xlarge": { + "XEN": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6i.24xlarge" + "smithy.api#enumValue": "xen" + } + } + } + }, + "com.amazonaws.ec2#InstanceTypeInfo": { + "type": "structure", + "members": { + "InstanceType": { + "target": "com.amazonaws.ec2#InstanceType", + "traits": { + "aws.protocols#ec2QueryName": "InstanceType", + "smithy.api#documentation": "

The instance type. For more information, see Instance types in the Amazon EC2 User Guide.

", + "smithy.api#xmlName": "instanceType" } }, - "r6i_32xlarge": { - "target": "smithy.api#Unit", + "CurrentGeneration": { + "target": "com.amazonaws.ec2#CurrentGenerationFlag", "traits": { - "smithy.api#enumValue": "r6i.32xlarge" + "aws.protocols#ec2QueryName": "CurrentGeneration", + "smithy.api#documentation": "

Indicates whether the instance type is current generation.

", + "smithy.api#xmlName": "currentGeneration" } }, - "r6i_metal": { - "target": "smithy.api#Unit", + "FreeTierEligible": { + "target": "com.amazonaws.ec2#FreeTierEligibleFlag", "traits": { - "smithy.api#enumValue": "r6i.metal" + "aws.protocols#ec2QueryName": "FreeTierEligible", + "smithy.api#documentation": "

Indicates whether the instance type is eligible for the free tier.

", + "smithy.api#xmlName": "freeTierEligible" } }, - "t1_micro": { - "target": "smithy.api#Unit", + "SupportedUsageClasses": { + "target": "com.amazonaws.ec2#UsageClassTypeList", "traits": { - "smithy.api#enumValue": "t1.micro" + "aws.protocols#ec2QueryName": "SupportedUsageClasses", + "smithy.api#documentation": "

Indicates whether the instance type is offered for spot or On-Demand.

", + "smithy.api#xmlName": "supportedUsageClasses" } }, - "t2_nano": { - "target": "smithy.api#Unit", + "SupportedRootDeviceTypes": { + "target": "com.amazonaws.ec2#RootDeviceTypeList", "traits": { - "smithy.api#enumValue": "t2.nano" + "aws.protocols#ec2QueryName": "SupportedRootDeviceTypes", + "smithy.api#documentation": "

The supported root device types.

", + "smithy.api#xmlName": "supportedRootDeviceTypes" } }, - "t2_micro": { - "target": "smithy.api#Unit", + "SupportedVirtualizationTypes": { + "target": "com.amazonaws.ec2#VirtualizationTypeList", "traits": { - "smithy.api#enumValue": "t2.micro" + "aws.protocols#ec2QueryName": "SupportedVirtualizationTypes", + "smithy.api#documentation": "

The supported virtualization types.

", + "smithy.api#xmlName": "supportedVirtualizationTypes" } }, - "t2_small": { - "target": "smithy.api#Unit", + "BareMetal": { + "target": "com.amazonaws.ec2#BareMetalFlag", "traits": { - "smithy.api#enumValue": "t2.small" + "aws.protocols#ec2QueryName": "BareMetal", + "smithy.api#documentation": "

Indicates whether the instance is a bare metal instance type.

", + "smithy.api#xmlName": "bareMetal" } }, - "t2_medium": { - "target": "smithy.api#Unit", + "Hypervisor": { + "target": "com.amazonaws.ec2#InstanceTypeHypervisor", "traits": { - "smithy.api#enumValue": "t2.medium" + "aws.protocols#ec2QueryName": "Hypervisor", + "smithy.api#documentation": "

The hypervisor for the instance type.

", + "smithy.api#xmlName": "hypervisor" } }, - "t2_large": { - "target": "smithy.api#Unit", + "ProcessorInfo": { + "target": "com.amazonaws.ec2#ProcessorInfo", "traits": { - "smithy.api#enumValue": "t2.large" + "aws.protocols#ec2QueryName": "ProcessorInfo", + "smithy.api#documentation": "

Describes the processor.

", + "smithy.api#xmlName": "processorInfo" } }, - "t2_xlarge": { - "target": "smithy.api#Unit", + "VCpuInfo": { + "target": "com.amazonaws.ec2#VCpuInfo", "traits": { - "smithy.api#enumValue": "t2.xlarge" + "aws.protocols#ec2QueryName": "VCpuInfo", + "smithy.api#documentation": "

Describes the vCPU configurations for the instance type.

", + "smithy.api#xmlName": "vCpuInfo" } }, - "t2_2xlarge": { - "target": "smithy.api#Unit", + "MemoryInfo": { + "target": "com.amazonaws.ec2#MemoryInfo", "traits": { - "smithy.api#enumValue": "t2.2xlarge" + "aws.protocols#ec2QueryName": "MemoryInfo", + "smithy.api#documentation": "

Describes the memory for the instance type.

", + "smithy.api#xmlName": "memoryInfo" } }, - "t3_nano": { - "target": "smithy.api#Unit", + "InstanceStorageSupported": { + "target": "com.amazonaws.ec2#InstanceStorageFlag", "traits": { - "smithy.api#enumValue": "t3.nano" + "aws.protocols#ec2QueryName": "InstanceStorageSupported", + "smithy.api#documentation": "

Indicates whether instance storage is supported.

", + "smithy.api#xmlName": "instanceStorageSupported" } }, - "t3_micro": { - "target": "smithy.api#Unit", + "InstanceStorageInfo": { + "target": "com.amazonaws.ec2#InstanceStorageInfo", "traits": { - "smithy.api#enumValue": "t3.micro" + "aws.protocols#ec2QueryName": "InstanceStorageInfo", + "smithy.api#documentation": "

Describes the instance storage for the instance type.

", + "smithy.api#xmlName": "instanceStorageInfo" } }, - "t3_small": { - "target": "smithy.api#Unit", + "EbsInfo": { + "target": "com.amazonaws.ec2#EbsInfo", "traits": { - "smithy.api#enumValue": "t3.small" + "aws.protocols#ec2QueryName": "EbsInfo", + "smithy.api#documentation": "

Describes the Amazon EBS settings for the instance type.

", + "smithy.api#xmlName": "ebsInfo" } }, - "t3_medium": { - "target": "smithy.api#Unit", + "NetworkInfo": { + "target": "com.amazonaws.ec2#NetworkInfo", "traits": { - "smithy.api#enumValue": "t3.medium" + "aws.protocols#ec2QueryName": "NetworkInfo", + "smithy.api#documentation": "

Describes the network settings for the instance type.

", + "smithy.api#xmlName": "networkInfo" } }, - "t3_large": { - "target": "smithy.api#Unit", + "GpuInfo": { + "target": "com.amazonaws.ec2#GpuInfo", "traits": { - "smithy.api#enumValue": "t3.large" + "aws.protocols#ec2QueryName": "GpuInfo", + "smithy.api#documentation": "

Describes the GPU accelerator settings for the instance type.

", + "smithy.api#xmlName": "gpuInfo" } }, - "t3_xlarge": { - "target": "smithy.api#Unit", + "FpgaInfo": { + "target": "com.amazonaws.ec2#FpgaInfo", "traits": { - "smithy.api#enumValue": "t3.xlarge" + "aws.protocols#ec2QueryName": "FpgaInfo", + "smithy.api#documentation": "

Describes the FPGA accelerator settings for the instance type.

", + "smithy.api#xmlName": "fpgaInfo" } }, - "t3_2xlarge": { - "target": "smithy.api#Unit", + "PlacementGroupInfo": { + "target": "com.amazonaws.ec2#PlacementGroupInfo", "traits": { - "smithy.api#enumValue": "t3.2xlarge" + "aws.protocols#ec2QueryName": "PlacementGroupInfo", + "smithy.api#documentation": "

Describes the placement group settings for the instance type.

", + "smithy.api#xmlName": "placementGroupInfo" } }, - "t3a_nano": { - "target": "smithy.api#Unit", + "InferenceAcceleratorInfo": { + "target": "com.amazonaws.ec2#InferenceAcceleratorInfo", "traits": { - "smithy.api#enumValue": "t3a.nano" + "aws.protocols#ec2QueryName": "InferenceAcceleratorInfo", + "smithy.api#documentation": "

Describes the Inference accelerator settings for the instance type.

", + "smithy.api#xmlName": "inferenceAcceleratorInfo" } }, - "t3a_micro": { - "target": "smithy.api#Unit", + "HibernationSupported": { + "target": "com.amazonaws.ec2#HibernationFlag", "traits": { - "smithy.api#enumValue": "t3a.micro" + "aws.protocols#ec2QueryName": "HibernationSupported", + "smithy.api#documentation": "

Indicates whether On-Demand hibernation is supported.

", + "smithy.api#xmlName": "hibernationSupported" } }, - "t3a_small": { - "target": "smithy.api#Unit", + "BurstablePerformanceSupported": { + "target": "com.amazonaws.ec2#BurstablePerformanceFlag", "traits": { - "smithy.api#enumValue": "t3a.small" + "aws.protocols#ec2QueryName": "BurstablePerformanceSupported", + "smithy.api#documentation": "

Indicates whether the instance type is a burstable performance instance type.

", + "smithy.api#xmlName": "burstablePerformanceSupported" } }, - "t3a_medium": { - "target": "smithy.api#Unit", + "DedicatedHostsSupported": { + "target": "com.amazonaws.ec2#DedicatedHostFlag", "traits": { - "smithy.api#enumValue": "t3a.medium" + "aws.protocols#ec2QueryName": "DedicatedHostsSupported", + "smithy.api#documentation": "

Indicates whether Dedicated Hosts are supported on the instance type.

", + "smithy.api#xmlName": "dedicatedHostsSupported" } }, - "t3a_large": { - "target": "smithy.api#Unit", + "AutoRecoverySupported": { + "target": "com.amazonaws.ec2#AutoRecoveryFlag", "traits": { - "smithy.api#enumValue": "t3a.large" + "aws.protocols#ec2QueryName": "AutoRecoverySupported", + "smithy.api#documentation": "

Indicates whether auto recovery is supported.

", + "smithy.api#xmlName": "autoRecoverySupported" } }, - "t3a_xlarge": { - "target": "smithy.api#Unit", + "SupportedBootModes": { + "target": "com.amazonaws.ec2#BootModeTypeList", "traits": { - "smithy.api#enumValue": "t3a.xlarge" + "aws.protocols#ec2QueryName": "SupportedBootModes", + "smithy.api#documentation": "

The supported boot modes. For more information, see Boot modes in the\n Amazon EC2 User Guide.

", + "smithy.api#xmlName": "supportedBootModes" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the instance type.

" + } + }, + "com.amazonaws.ec2#InstanceTypeInfoFromInstanceRequirements": { + "type": "structure", + "members": { + "InstanceType": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "InstanceType", + "smithy.api#documentation": "

The matching instance type.

", + "smithy.api#xmlName": "instanceType" + } + } + }, + "traits": { + "smithy.api#documentation": "

The list of instance types with the specified instance attributes.

" + } + }, + "com.amazonaws.ec2#InstanceTypeInfoFromInstanceRequirementsSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InstanceTypeInfoFromInstanceRequirements", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#InstanceTypeInfoList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InstanceTypeInfo", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#InstanceTypeList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InstanceType" + } + }, + "com.amazonaws.ec2#InstanceTypeOffering": { + "type": "structure", + "members": { + "InstanceType": { + "target": "com.amazonaws.ec2#InstanceType", + "traits": { + "aws.protocols#ec2QueryName": "InstanceType", + "smithy.api#documentation": "

The instance type. For more information, see Instance types in the Amazon EC2 User Guide.

", + "smithy.api#xmlName": "instanceType" } }, - "t3a_2xlarge": { - "target": "smithy.api#Unit", + "LocationType": { + "target": "com.amazonaws.ec2#LocationType", "traits": { - "smithy.api#enumValue": "t3a.2xlarge" + "aws.protocols#ec2QueryName": "LocationType", + "smithy.api#documentation": "

The location type.

", + "smithy.api#xmlName": "locationType" } }, - "t4g_nano": { - "target": "smithy.api#Unit", + "Location": { + "target": "com.amazonaws.ec2#Location", "traits": { - "smithy.api#enumValue": "t4g.nano" + "aws.protocols#ec2QueryName": "Location", + "smithy.api#documentation": "

The identifier for the location. This depends on the location type. For example, if the location type is\n region, the location is the Region code (for example, us-east-2.)

", + "smithy.api#xmlName": "location" + } + } + }, + "traits": { + "smithy.api#documentation": "

The instance types offered.

" + } + }, + "com.amazonaws.ec2#InstanceTypeOfferingsList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InstanceTypeOffering", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#InstanceTypes": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#InstanceTypesList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#InstanceUsage": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AccountId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that is making use of the Capacity Reservation.

", + "smithy.api#xmlName": "accountId" } }, - "t4g_micro": { + "UsedInstanceCount": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "UsedInstanceCount", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of instances the Amazon Web Services account currently has in the Capacity Reservation.

", + "smithy.api#xmlName": "usedInstanceCount" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about the Capacity Reservation usage.

" + } + }, + "com.amazonaws.ec2#InstanceUsageSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InstanceUsage", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#Integer": { + "type": "integer", + "traits": { + "smithy.api#default": 0 + } + }, + "com.amazonaws.ec2#IntegerWithConstraints": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 0 + } + } + }, + "com.amazonaws.ec2#IntegrateServices": { + "type": "structure", + "members": { + "AthenaIntegrations": { + "target": "com.amazonaws.ec2#AthenaIntegrationsSet", + "traits": { + "smithy.api#documentation": "

Information about the integration with Amazon Athena.

", + "smithy.api#xmlName": "AthenaIntegration" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes service integrations with VPC Flow logs.

" + } + }, + "com.amazonaws.ec2#InterfacePermissionType": { + "type": "enum", + "members": { + "INSTANCE_ATTACH": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "t4g.micro" + "smithy.api#enumValue": "INSTANCE-ATTACH" } }, - "t4g_small": { + "EIP_ASSOCIATE": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "t4g.small" + "smithy.api#enumValue": "EIP-ASSOCIATE" } - }, - "t4g_medium": { + } + } + }, + "com.amazonaws.ec2#InterfaceProtocolType": { + "type": "enum", + "members": { + "VLAN": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "t4g.medium" + "smithy.api#enumValue": "VLAN" } }, - "t4g_large": { + "GRE": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "t4g.large" + "smithy.api#enumValue": "GRE" + } + } + } + }, + "com.amazonaws.ec2#InternetGateway": { + "type": "structure", + "members": { + "Attachments": { + "target": "com.amazonaws.ec2#InternetGatewayAttachmentList", + "traits": { + "aws.protocols#ec2QueryName": "AttachmentSet", + "smithy.api#documentation": "

Any VPCs attached to the internet gateway.

", + "smithy.api#xmlName": "attachmentSet" } }, - "t4g_xlarge": { - "target": "smithy.api#Unit", + "InternetGatewayId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "t4g.xlarge" + "aws.protocols#ec2QueryName": "InternetGatewayId", + "smithy.api#documentation": "

The ID of the internet gateway.

", + "smithy.api#xmlName": "internetGatewayId" } }, - "t4g_2xlarge": { - "target": "smithy.api#Unit", + "OwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "t4g.2xlarge" + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the internet gateway.

", + "smithy.api#xmlName": "ownerId" } }, - "u_6tb1_56xlarge": { - "target": "smithy.api#Unit", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "smithy.api#enumValue": "u-6tb1.56xlarge" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Any tags assigned to the internet gateway.

", + "smithy.api#xmlName": "tagSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes an internet gateway.

" + } + }, + "com.amazonaws.ec2#InternetGatewayAttachment": { + "type": "structure", + "members": { + "State": { + "target": "com.amazonaws.ec2#AttachmentStatus", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The current state of the attachment. For an internet gateway, the state is\n\t\t\t\tavailable when attached to a VPC; otherwise, this value is not\n\t\t\treturned.

", + "smithy.api#xmlName": "state" } }, - "u_6tb1_112xlarge": { - "target": "smithy.api#Unit", + "VpcId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "u-6tb1.112xlarge" + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#documentation": "

The ID of the VPC.

", + "smithy.api#xmlName": "vpcId" } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the attachment of a VPC to an internet gateway or an egress-only internet\n\t\t\tgateway.

" + } + }, + "com.amazonaws.ec2#InternetGatewayAttachmentList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InternetGatewayAttachment", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#InternetGatewayId": { + "type": "string" + }, + "com.amazonaws.ec2#InternetGatewayIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InternetGatewayId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#InternetGatewayList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InternetGateway", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IpAddress": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 15 }, - "u_9tb1_112xlarge": { + "smithy.api#pattern": "^([0-9]{1,3}.){3}[0-9]{1,3}$" + } + }, + "com.amazonaws.ec2#IpAddressList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IpAddress", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IpAddressType": { + "type": "enum", + "members": { + "ipv4": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "u-9tb1.112xlarge" + "smithy.api#enumValue": "ipv4" } }, - "u_12tb1_112xlarge": { + "dualstack": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "u-12tb1.112xlarge" + "smithy.api#enumValue": "dualstack" } }, - "u_6tb1_metal": { + "ipv6": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "u-6tb1.metal" + "smithy.api#enumValue": "ipv6" } - }, - "u_9tb1_metal": { - "target": "smithy.api#Unit", + } + } + }, + "com.amazonaws.ec2#IpPermission": { + "type": "structure", + "members": { + "FromPort": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "u-9tb1.metal" + "aws.protocols#ec2QueryName": "FromPort", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

If the protocol is TCP or UDP, this is the start of the port range.\n If the protocol is ICMP or ICMPv6, this is the type number. A value of -1 indicates all ICMP/ICMPv6 types. \n If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes.

", + "smithy.api#xmlName": "fromPort" } }, - "u_12tb1_metal": { - "target": "smithy.api#Unit", + "IpProtocol": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "u-12tb1.metal" + "aws.protocols#ec2QueryName": "IpProtocol", + "smithy.api#documentation": "

The IP protocol name (tcp, udp, icmp, icmpv6) \n or number (see Protocol Numbers).

\n

[VPC only] Use -1 to specify all protocols. When authorizing\n security group rules, specifying -1 or a protocol number other than\n tcp, udp, icmp, or icmpv6 allows\n traffic on all ports, regardless of any port range you specify. For tcp,\n udp, and icmp, you must specify a port range. For icmpv6,\n the port range is optional; if you omit the port range, traffic for all types and codes is allowed.

", + "smithy.api#xmlName": "ipProtocol" } }, - "u_18tb1_metal": { - "target": "smithy.api#Unit", + "IpRanges": { + "target": "com.amazonaws.ec2#IpRangeList", "traits": { - "smithy.api#enumValue": "u-18tb1.metal" + "aws.protocols#ec2QueryName": "IpRanges", + "smithy.api#documentation": "

The IPv4 ranges.

", + "smithy.api#xmlName": "ipRanges" } }, - "u_24tb1_metal": { - "target": "smithy.api#Unit", + "Ipv6Ranges": { + "target": "com.amazonaws.ec2#Ipv6RangeList", "traits": { - "smithy.api#enumValue": "u-24tb1.metal" + "aws.protocols#ec2QueryName": "Ipv6Ranges", + "smithy.api#documentation": "

[VPC only] The IPv6 ranges.

", + "smithy.api#xmlName": "ipv6Ranges" } }, - "vt1_3xlarge": { - "target": "smithy.api#Unit", + "PrefixListIds": { + "target": "com.amazonaws.ec2#PrefixListIdList", "traits": { - "smithy.api#enumValue": "vt1.3xlarge" + "aws.protocols#ec2QueryName": "PrefixListIds", + "smithy.api#documentation": "

[VPC only] The prefix list IDs.

", + "smithy.api#xmlName": "prefixListIds" } }, - "vt1_6xlarge": { - "target": "smithy.api#Unit", + "ToPort": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "vt1.6xlarge" + "aws.protocols#ec2QueryName": "ToPort", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

If the protocol is TCP or UDP, this is the end of the port range.\n If the protocol is ICMP or ICMPv6, this is the code. A value of -1 indicates all ICMP/ICMPv6 codes. \n If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes.

", + "smithy.api#xmlName": "toPort" } }, - "vt1_24xlarge": { - "target": "smithy.api#Unit", + "UserIdGroupPairs": { + "target": "com.amazonaws.ec2#UserIdGroupPairList", "traits": { - "smithy.api#enumValue": "vt1.24xlarge" + "aws.protocols#ec2QueryName": "Groups", + "smithy.api#documentation": "

The security group and Amazon Web Services account ID pairs.

", + "smithy.api#xmlName": "groups" } - }, - "x1_16xlarge": { - "target": "smithy.api#Unit", + } + }, + "traits": { + "smithy.api#documentation": "

Describes a set of permissions for a security group rule.

" + } + }, + "com.amazonaws.ec2#IpPermissionList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IpPermission", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IpPrefixList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IpRange": { + "type": "structure", + "members": { + "CidrIp": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "x1.16xlarge" + "aws.protocols#ec2QueryName": "CidrIp", + "smithy.api#documentation": "

The IPv4 CIDR range. You can either specify a CIDR range or a source security group,\n not both. To specify a single IPv4 address, use the /32 prefix length.

", + "smithy.api#xmlName": "cidrIp" } }, - "x1_32xlarge": { - "target": "smithy.api#Unit", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "x1.32xlarge" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A description for the security group rule that references this IPv4 address range.

\n

Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9,\n spaces, and ._-:/()#,@[]+=&;{}!$*

", + "smithy.api#xmlName": "description" } - }, - "x1e_xlarge": { - "target": "smithy.api#Unit", + } + }, + "traits": { + "smithy.api#documentation": "

Describes an IPv4 range.

" + } + }, + "com.amazonaws.ec2#IpRangeList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IpRange", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IpRanges": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#Ipam": { + "type": "structure", + "members": { + "OwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "x1e.xlarge" + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The Amazon Web Services account ID of the owner of the IPAM.

", + "smithy.api#xmlName": "ownerId" } }, - "x1e_2xlarge": { - "target": "smithy.api#Unit", + "IpamId": { + "target": "com.amazonaws.ec2#IpamId", "traits": { - "smithy.api#enumValue": "x1e.2xlarge" + "aws.protocols#ec2QueryName": "IpamId", + "smithy.api#documentation": "

The ID of the IPAM.

", + "smithy.api#xmlName": "ipamId" } }, - "x1e_4xlarge": { - "target": "smithy.api#Unit", + "IpamArn": { + "target": "com.amazonaws.ec2#ResourceArn", "traits": { - "smithy.api#enumValue": "x1e.4xlarge" + "aws.protocols#ec2QueryName": "IpamArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IPAM.

", + "smithy.api#xmlName": "ipamArn" } }, - "x1e_8xlarge": { - "target": "smithy.api#Unit", + "IpamRegion": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "x1e.8xlarge" + "aws.protocols#ec2QueryName": "IpamRegion", + "smithy.api#documentation": "

The Amazon Web Services Region of the IPAM.

", + "smithy.api#xmlName": "ipamRegion" } }, - "x1e_16xlarge": { - "target": "smithy.api#Unit", + "PublicDefaultScopeId": { + "target": "com.amazonaws.ec2#IpamScopeId", "traits": { - "smithy.api#enumValue": "x1e.16xlarge" + "aws.protocols#ec2QueryName": "PublicDefaultScopeId", + "smithy.api#documentation": "

The ID of the IPAM's default public scope.

", + "smithy.api#xmlName": "publicDefaultScopeId" } }, - "x1e_32xlarge": { - "target": "smithy.api#Unit", + "PrivateDefaultScopeId": { + "target": "com.amazonaws.ec2#IpamScopeId", "traits": { - "smithy.api#enumValue": "x1e.32xlarge" + "aws.protocols#ec2QueryName": "PrivateDefaultScopeId", + "smithy.api#documentation": "

The ID of the IPAM's default private scope.

", + "smithy.api#xmlName": "privateDefaultScopeId" } }, - "x2iezn_2xlarge": { - "target": "smithy.api#Unit", + "ScopeCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "x2iezn.2xlarge" + "aws.protocols#ec2QueryName": "ScopeCount", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of scopes in the IPAM. The scope quota is 5. For more information on quotas, see Quotas in IPAM in the Amazon VPC IPAM User Guide.\n

", + "smithy.api#xmlName": "scopeCount" } }, - "x2iezn_4xlarge": { - "target": "smithy.api#Unit", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "x2iezn.4xlarge" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

The description for the IPAM.

", + "smithy.api#xmlName": "description" } }, - "x2iezn_6xlarge": { - "target": "smithy.api#Unit", + "OperatingRegions": { + "target": "com.amazonaws.ec2#IpamOperatingRegionSet", "traits": { - "smithy.api#enumValue": "x2iezn.6xlarge" + "aws.protocols#ec2QueryName": "OperatingRegionSet", + "smithy.api#documentation": "

The operating Regions for an IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

\n

For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide.

", + "smithy.api#xmlName": "operatingRegionSet" } }, - "x2iezn_8xlarge": { - "target": "smithy.api#Unit", + "State": { + "target": "com.amazonaws.ec2#IpamState", "traits": { - "smithy.api#enumValue": "x2iezn.8xlarge" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the IPAM.

", + "smithy.api#xmlName": "state" } }, - "x2iezn_12xlarge": { - "target": "smithy.api#Unit", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "smithy.api#enumValue": "x2iezn.12xlarge" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

", + "smithy.api#xmlName": "tagSet" } }, - "x2iezn_metal": { - "target": "smithy.api#Unit", + "DefaultResourceDiscoveryId": { + "target": "com.amazonaws.ec2#IpamResourceDiscoveryId", "traits": { - "smithy.api#enumValue": "x2iezn.metal" + "aws.protocols#ec2QueryName": "DefaultResourceDiscoveryId", + "smithy.api#documentation": "

The IPAM's default resource discovery ID.

", + "smithy.api#xmlName": "defaultResourceDiscoveryId" } }, - "x2gd_medium": { - "target": "smithy.api#Unit", + "DefaultResourceDiscoveryAssociationId": { + "target": "com.amazonaws.ec2#IpamResourceDiscoveryAssociationId", "traits": { - "smithy.api#enumValue": "x2gd.medium" + "aws.protocols#ec2QueryName": "DefaultResourceDiscoveryAssociationId", + "smithy.api#documentation": "

The IPAM's default resource discovery association ID.

", + "smithy.api#xmlName": "defaultResourceDiscoveryAssociationId" } }, - "x2gd_large": { - "target": "smithy.api#Unit", + "ResourceDiscoveryAssociationCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "x2gd.large" + "aws.protocols#ec2QueryName": "ResourceDiscoveryAssociationCount", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The IPAM's resource discovery association count.

", + "smithy.api#xmlName": "resourceDiscoveryAssociationCount" } - }, - "x2gd_xlarge": { - "target": "smithy.api#Unit", + } + }, + "traits": { + "smithy.api#documentation": "

IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across Amazon Web Services Regions and accounts throughout your Amazon Web Services Organization. For more information, see What is IPAM? in the Amazon VPC IPAM User Guide.

" + } + }, + "com.amazonaws.ec2#IpamAddressHistoryMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 1, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#IpamAddressHistoryRecord": { + "type": "structure", + "members": { + "ResourceOwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "x2gd.xlarge" + "aws.protocols#ec2QueryName": "ResourceOwnerId", + "smithy.api#documentation": "

The ID of the resource owner.

", + "smithy.api#xmlName": "resourceOwnerId" } }, - "x2gd_2xlarge": { - "target": "smithy.api#Unit", + "ResourceRegion": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "x2gd.2xlarge" + "aws.protocols#ec2QueryName": "ResourceRegion", + "smithy.api#documentation": "

The Amazon Web Services Region of the resource.

", + "smithy.api#xmlName": "resourceRegion" } }, - "x2gd_4xlarge": { - "target": "smithy.api#Unit", + "ResourceType": { + "target": "com.amazonaws.ec2#IpamAddressHistoryResourceType", "traits": { - "smithy.api#enumValue": "x2gd.4xlarge" + "aws.protocols#ec2QueryName": "ResourceType", + "smithy.api#documentation": "

The type of the resource.

", + "smithy.api#xmlName": "resourceType" } }, - "x2gd_8xlarge": { - "target": "smithy.api#Unit", + "ResourceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "x2gd.8xlarge" + "aws.protocols#ec2QueryName": "ResourceId", + "smithy.api#documentation": "

The ID of the resource.

", + "smithy.api#xmlName": "resourceId" } }, - "x2gd_12xlarge": { - "target": "smithy.api#Unit", + "ResourceCidr": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "x2gd.12xlarge" + "aws.protocols#ec2QueryName": "ResourceCidr", + "smithy.api#documentation": "

The CIDR of the resource.

", + "smithy.api#xmlName": "resourceCidr" } }, - "x2gd_16xlarge": { - "target": "smithy.api#Unit", + "ResourceName": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "x2gd.16xlarge" + "aws.protocols#ec2QueryName": "ResourceName", + "smithy.api#documentation": "

The name of the resource.

", + "smithy.api#xmlName": "resourceName" } }, - "x2gd_metal": { - "target": "smithy.api#Unit", + "ResourceComplianceStatus": { + "target": "com.amazonaws.ec2#IpamComplianceStatus", "traits": { - "smithy.api#enumValue": "x2gd.metal" + "aws.protocols#ec2QueryName": "ResourceComplianceStatus", + "smithy.api#documentation": "

The compliance status of a resource. For more information on compliance statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

", + "smithy.api#xmlName": "resourceComplianceStatus" } }, - "z1d_large": { - "target": "smithy.api#Unit", + "ResourceOverlapStatus": { + "target": "com.amazonaws.ec2#IpamOverlapStatus", "traits": { - "smithy.api#enumValue": "z1d.large" + "aws.protocols#ec2QueryName": "ResourceOverlapStatus", + "smithy.api#documentation": "

The overlap status of an IPAM resource. The overlap status tells you if the CIDR for a resource overlaps with another CIDR in the scope. For more information on overlap statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

", + "smithy.api#xmlName": "resourceOverlapStatus" } }, - "z1d_xlarge": { - "target": "smithy.api#Unit", + "VpcId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "z1d.xlarge" + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#documentation": "

The VPC ID of the resource.

", + "smithy.api#xmlName": "vpcId" } }, - "z1d_2xlarge": { - "target": "smithy.api#Unit", + "SampledStartTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "smithy.api#enumValue": "z1d.2xlarge" + "aws.protocols#ec2QueryName": "SampledStartTime", + "smithy.api#documentation": "

Sampled start time of the resource-to-CIDR association within the IPAM scope. Changes are picked up in periodic snapshots, so the start time may have occurred before this specific time.

", + "smithy.api#xmlName": "sampledStartTime" } }, - "z1d_3xlarge": { - "target": "smithy.api#Unit", + "SampledEndTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "smithy.api#enumValue": "z1d.3xlarge" + "aws.protocols#ec2QueryName": "SampledEndTime", + "smithy.api#documentation": "

Sampled end time of the resource-to-CIDR association within the IPAM scope. Changes are picked up in periodic snapshots, so the end time may have occurred before this specific time.

", + "smithy.api#xmlName": "sampledEndTime" } - }, - "z1d_6xlarge": { + } + }, + "traits": { + "smithy.api#documentation": "

The historical record of a CIDR within an IPAM scope. For more information, see View the history of IP addresses in the Amazon VPC IPAM User Guide.\n

" + } + }, + "com.amazonaws.ec2#IpamAddressHistoryRecordSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IpamAddressHistoryRecord", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IpamAddressHistoryResourceType": { + "type": "enum", + "members": { + "eip": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "z1d.6xlarge" + "smithy.api#enumValue": "eip" } }, - "z1d_12xlarge": { + "vpc": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "z1d.12xlarge" + "smithy.api#enumValue": "vpc" } }, - "z1d_metal": { + "subnet": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "z1d.metal" + "smithy.api#enumValue": "subnet" } }, - "x2idn_16xlarge": { + "network_interface": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "x2idn.16xlarge" + "smithy.api#enumValue": "network-interface" } }, - "x2idn_24xlarge": { + "instance": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "x2idn.24xlarge" + "smithy.api#enumValue": "instance" } - }, - "x2idn_32xlarge": { + } + } + }, + "com.amazonaws.ec2#IpamAssociatedResourceDiscoveryStatus": { + "type": "enum", + "members": { + "ACTIVE": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "x2idn.32xlarge" + "smithy.api#enumValue": "active" } }, - "x2iedn_xlarge": { + "NOT_FOUND": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "x2iedn.xlarge" + "smithy.api#enumValue": "not-found" } - }, - "x2iedn_2xlarge": { - "target": "smithy.api#Unit", + } + } + }, + "com.amazonaws.ec2#IpamCidrAuthorizationContext": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "x2iedn.2xlarge" + "smithy.api#documentation": "

The plain-text authorization message for the prefix and account.

" } }, - "x2iedn_4xlarge": { - "target": "smithy.api#Unit", + "Signature": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "x2iedn.4xlarge" + "smithy.api#documentation": "

The signed authorization message for the prefix and account.

" } - }, - "x2iedn_8xlarge": { + } + }, + "traits": { + "smithy.api#documentation": "

A signed document that proves that you are authorized to bring the specified IP address range to Amazon using BYOIP.

" + } + }, + "com.amazonaws.ec2#IpamComplianceStatus": { + "type": "enum", + "members": { + "compliant": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "x2iedn.8xlarge" + "smithy.api#enumValue": "compliant" } }, - "x2iedn_16xlarge": { + "noncompliant": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "x2iedn.16xlarge" + "smithy.api#enumValue": "noncompliant" } }, - "x2iedn_24xlarge": { + "unmanaged": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "x2iedn.24xlarge" + "smithy.api#enumValue": "unmanaged" } }, - "x2iedn_32xlarge": { + "ignored": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "x2iedn.32xlarge" + "smithy.api#enumValue": "ignored" } - }, - "c6a_large": { - "target": "smithy.api#Unit", + } + } + }, + "com.amazonaws.ec2#IpamDiscoveredAccount": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "c6a.large" + "aws.protocols#ec2QueryName": "AccountId", + "smithy.api#documentation": "

The account ID.

", + "smithy.api#xmlName": "accountId" } }, - "c6a_xlarge": { - "target": "smithy.api#Unit", + "DiscoveryRegion": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "c6a.xlarge" + "aws.protocols#ec2QueryName": "DiscoveryRegion", + "smithy.api#documentation": "

The Amazon Web Services Region that the account information is returned from. \n An account can be discovered in multiple regions and will have a separate discovered account for each Region.

", + "smithy.api#xmlName": "discoveryRegion" } }, - "c6a_2xlarge": { - "target": "smithy.api#Unit", + "FailureReason": { + "target": "com.amazonaws.ec2#IpamDiscoveryFailureReason", "traits": { - "smithy.api#enumValue": "c6a.2xlarge" + "aws.protocols#ec2QueryName": "FailureReason", + "smithy.api#documentation": "

The resource discovery failure reason.

", + "smithy.api#xmlName": "failureReason" } }, - "c6a_4xlarge": { - "target": "smithy.api#Unit", + "LastAttemptedDiscoveryTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "smithy.api#enumValue": "c6a.4xlarge" + "aws.protocols#ec2QueryName": "LastAttemptedDiscoveryTime", + "smithy.api#documentation": "

The last attempted resource discovery time.

", + "smithy.api#xmlName": "lastAttemptedDiscoveryTime" } }, - "c6a_8xlarge": { - "target": "smithy.api#Unit", + "LastSuccessfulDiscoveryTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "smithy.api#enumValue": "c6a.8xlarge" + "aws.protocols#ec2QueryName": "LastSuccessfulDiscoveryTime", + "smithy.api#documentation": "

The last successful resource discovery time.

", + "smithy.api#xmlName": "lastSuccessfulDiscoveryTime" } - }, - "c6a_12xlarge": { - "target": "smithy.api#Unit", + } + }, + "traits": { + "smithy.api#documentation": "

An IPAM discovered account. A discovered account is an Amazon Web Services account that is monitored under a resource discovery. If you have integrated IPAM with Amazon Web Services Organizations, all accounts in the organization are discovered accounts.

" + } + }, + "com.amazonaws.ec2#IpamDiscoveredAccountSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IpamDiscoveredAccount", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IpamDiscoveredResourceCidr": { + "type": "structure", + "members": { + "IpamResourceDiscoveryId": { + "target": "com.amazonaws.ec2#IpamResourceDiscoveryId", "traits": { - "smithy.api#enumValue": "c6a.12xlarge" + "aws.protocols#ec2QueryName": "IpamResourceDiscoveryId", + "smithy.api#documentation": "

The resource discovery ID.

", + "smithy.api#xmlName": "ipamResourceDiscoveryId" } }, - "c6a_16xlarge": { - "target": "smithy.api#Unit", + "ResourceRegion": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "c6a.16xlarge" + "aws.protocols#ec2QueryName": "ResourceRegion", + "smithy.api#documentation": "

The resource Region.

", + "smithy.api#xmlName": "resourceRegion" } }, - "c6a_24xlarge": { - "target": "smithy.api#Unit", + "ResourceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "c6a.24xlarge" + "aws.protocols#ec2QueryName": "ResourceId", + "smithy.api#documentation": "

The resource ID.

", + "smithy.api#xmlName": "resourceId" } }, - "c6a_32xlarge": { - "target": "smithy.api#Unit", + "ResourceOwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "c6a.32xlarge" + "aws.protocols#ec2QueryName": "ResourceOwnerId", + "smithy.api#documentation": "

The resource owner ID.

", + "smithy.api#xmlName": "resourceOwnerId" } }, - "c6a_48xlarge": { - "target": "smithy.api#Unit", + "ResourceCidr": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "c6a.48xlarge" + "aws.protocols#ec2QueryName": "ResourceCidr", + "smithy.api#documentation": "

The resource CIDR.

", + "smithy.api#xmlName": "resourceCidr" } }, - "c6a_metal": { - "target": "smithy.api#Unit", + "ResourceType": { + "target": "com.amazonaws.ec2#IpamResourceType", "traits": { - "smithy.api#enumValue": "c6a.metal" + "aws.protocols#ec2QueryName": "ResourceType", + "smithy.api#documentation": "

The resource type.

", + "smithy.api#xmlName": "resourceType" } }, - "m6a_metal": { - "target": "smithy.api#Unit", + "ResourceTags": { + "target": "com.amazonaws.ec2#IpamResourceTagList", "traits": { - "smithy.api#enumValue": "m6a.metal" + "aws.protocols#ec2QueryName": "ResourceTagSet", + "smithy.api#documentation": "

The resource tags.

", + "smithy.api#xmlName": "resourceTagSet" } }, - "i4i_large": { - "target": "smithy.api#Unit", + "IpUsage": { + "target": "com.amazonaws.ec2#BoxedDouble", "traits": { - "smithy.api#enumValue": "i4i.large" + "aws.protocols#ec2QueryName": "IpUsage", + "smithy.api#documentation": "

The percentage of IP address space in use. To convert the decimal to a percentage, multiply the decimal by 100. Note the following:

\n
    \n
  • \n

    For resources that are VPCs, this is the percentage of IP address space in the VPC that's taken up by subnet CIDRs.\n

    \n
  • \n
  • \n

    For resources that are subnets, if the subnet has an IPv4 CIDR provisioned to it, this is the percentage of IPv4 address space in the subnet that's in use. If the subnet has an IPv6 CIDR provisioned to it, the percentage of IPv6 address space in use is not represented. The percentage of IPv6 address space in use cannot currently be calculated.\n

    \n
  • \n
  • \n

    For resources that are public IPv4 pools, this is the percentage of IP address space in the pool that's been allocated to Elastic IP addresses (EIPs).\n

    \n
  • \n
", + "smithy.api#xmlName": "ipUsage" } }, - "i4i_xlarge": { - "target": "smithy.api#Unit", + "VpcId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "i4i.xlarge" + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#documentation": "

The VPC ID.

", + "smithy.api#xmlName": "vpcId" } }, - "i4i_2xlarge": { - "target": "smithy.api#Unit", + "SampleTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "smithy.api#enumValue": "i4i.2xlarge" + "aws.protocols#ec2QueryName": "SampleTime", + "smithy.api#documentation": "

The last successful resource discovery time.

", + "smithy.api#xmlName": "sampleTime" } - }, - "i4i_4xlarge": { + } + }, + "traits": { + "smithy.api#documentation": "

An IPAM discovered resource CIDR. A discovered resource is a resource CIDR monitored under a resource discovery. The following resources can be discovered: VPCs, Public IPv4 pools, VPC subnets, and Elastic IP addresses. The discovered resource CIDR is the IP address range in CIDR notation that is associated with the resource.

" + } + }, + "com.amazonaws.ec2#IpamDiscoveredResourceCidrSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IpamDiscoveredResourceCidr", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IpamDiscoveryFailureCode": { + "type": "enum", + "members": { + "assume_role_failure": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "i4i.4xlarge" + "smithy.api#enumValue": "assume-role-failure" } }, - "i4i_8xlarge": { + "throttling_failure": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "i4i.8xlarge" + "smithy.api#enumValue": "throttling-failure" } }, - "i4i_16xlarge": { + "unauthorized_failure": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "i4i.16xlarge" + "smithy.api#enumValue": "unauthorized-failure" } - }, - "i4i_32xlarge": { - "target": "smithy.api#Unit", + } + } + }, + "com.amazonaws.ec2#IpamDiscoveryFailureReason": { + "type": "structure", + "members": { + "Code": { + "target": "com.amazonaws.ec2#IpamDiscoveryFailureCode", "traits": { - "smithy.api#enumValue": "i4i.32xlarge" + "aws.protocols#ec2QueryName": "Code", + "smithy.api#documentation": "

The discovery failure code.

\n
    \n
  • \n

    \n assume-role-failure - IPAM could not assume the Amazon Web Services IAM service-linked role. This could be because of any of the following:

    \n
      \n
    • \n

      SLR has not been created yet and IPAM is still creating it.

      \n
    • \n
    • \n

      You have opted-out of the IPAM home Region.

      \n
    • \n
    • \n

      Account you are using as your IPAM account has been suspended.

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

    \n throttling-failure - IPAM account is already using the allotted transactions per second and IPAM is receiving a throttling error when assuming the Amazon Web Services IAM SLR.

    \n
  • \n
  • \n

    \n unauthorized-failure - Amazon Web Services account making the request is not authorized. For more information, see AuthFailure in the Amazon Elastic Compute Cloud API Reference.

    \n
  • \n
", + "smithy.api#xmlName": "code" } }, - "i4i_metal": { - "target": "smithy.api#Unit", + "Message": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "i4i.metal" + "aws.protocols#ec2QueryName": "Message", + "smithy.api#documentation": "

The discovery failure message.

", + "smithy.api#xmlName": "message" } - }, - "x2idn_metal": { + } + }, + "traits": { + "smithy.api#documentation": "

The discovery failure reason.

" + } + }, + "com.amazonaws.ec2#IpamId": { + "type": "string" + }, + "com.amazonaws.ec2#IpamManagementState": { + "type": "enum", + "members": { + "managed": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "x2idn.metal" + "smithy.api#enumValue": "managed" } }, - "x2iedn_metal": { + "unmanaged": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "x2iedn.metal" + "smithy.api#enumValue": "unmanaged" } }, - "c7g_medium": { + "ignored": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c7g.medium" + "smithy.api#enumValue": "ignored" } - }, - "c7g_large": { - "target": "smithy.api#Unit", + } + } + }, + "com.amazonaws.ec2#IpamMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#IpamNetmaskLength": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0, + "max": 128 + } + } + }, + "com.amazonaws.ec2#IpamOperatingRegion": { + "type": "structure", + "members": { + "RegionName": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "c7g.large" + "aws.protocols#ec2QueryName": "RegionName", + "smithy.api#documentation": "

The name of the operating Region.

", + "smithy.api#xmlName": "regionName" } - }, - "c7g_xlarge": { + } + }, + "traits": { + "smithy.api#documentation": "

The operating Regions for an IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

\n

For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide.

" + } + }, + "com.amazonaws.ec2#IpamOperatingRegionSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IpamOperatingRegion", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IpamOverlapStatus": { + "type": "enum", + "members": { + "overlapping": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c7g.xlarge" + "smithy.api#enumValue": "overlapping" } }, - "c7g_2xlarge": { + "nonoverlapping": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c7g.2xlarge" + "smithy.api#enumValue": "nonoverlapping" } }, - "c7g_4xlarge": { + "ignored": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "c7g.4xlarge" + "smithy.api#enumValue": "ignored" } - }, - "c7g_8xlarge": { - "target": "smithy.api#Unit", + } + } + }, + "com.amazonaws.ec2#IpamPool": { + "type": "structure", + "members": { + "OwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "c7g.8xlarge" + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The Amazon Web Services account ID of the owner of the IPAM pool.

", + "smithy.api#xmlName": "ownerId" } }, - "c7g_12xlarge": { - "target": "smithy.api#Unit", + "IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", "traits": { - "smithy.api#enumValue": "c7g.12xlarge" + "aws.protocols#ec2QueryName": "IpamPoolId", + "smithy.api#documentation": "

The ID of the IPAM pool.

", + "smithy.api#xmlName": "ipamPoolId" } }, - "c7g_16xlarge": { - "target": "smithy.api#Unit", + "SourceIpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", "traits": { - "smithy.api#enumValue": "c7g.16xlarge" + "aws.protocols#ec2QueryName": "SourceIpamPoolId", + "smithy.api#documentation": "

The ID of the source IPAM pool. You can use this option to create an IPAM pool within an existing source pool.

", + "smithy.api#xmlName": "sourceIpamPoolId" } }, - "mac2_metal": { - "target": "smithy.api#Unit", + "IpamPoolArn": { + "target": "com.amazonaws.ec2#ResourceArn", "traits": { - "smithy.api#enumValue": "mac2.metal" + "aws.protocols#ec2QueryName": "IpamPoolArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IPAM pool.

", + "smithy.api#xmlName": "ipamPoolArn" } }, - "c6id_large": { - "target": "smithy.api#Unit", + "IpamScopeArn": { + "target": "com.amazonaws.ec2#ResourceArn", "traits": { - "smithy.api#enumValue": "c6id.large" + "aws.protocols#ec2QueryName": "IpamScopeArn", + "smithy.api#documentation": "

The ARN of the scope of the IPAM pool.

", + "smithy.api#xmlName": "ipamScopeArn" } }, - "c6id_xlarge": { - "target": "smithy.api#Unit", + "IpamScopeType": { + "target": "com.amazonaws.ec2#IpamScopeType", "traits": { - "smithy.api#enumValue": "c6id.xlarge" + "aws.protocols#ec2QueryName": "IpamScopeType", + "smithy.api#documentation": "

In IPAM, a scope is the highest-level container within IPAM. An IPAM contains two default scopes. Each scope represents the IP space for a single network. The private scope is intended for all private IP address space. The public scope is intended for all public IP address space. Scopes enable you to reuse IP addresses across multiple unconnected networks without causing IP address overlap or conflict.

", + "smithy.api#xmlName": "ipamScopeType" } }, - "c6id_2xlarge": { - "target": "smithy.api#Unit", + "IpamArn": { + "target": "com.amazonaws.ec2#ResourceArn", "traits": { - "smithy.api#enumValue": "c6id.2xlarge" + "aws.protocols#ec2QueryName": "IpamArn", + "smithy.api#documentation": "

The ARN of the IPAM.

", + "smithy.api#xmlName": "ipamArn" } }, - "c6id_4xlarge": { - "target": "smithy.api#Unit", + "IpamRegion": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "c6id.4xlarge" + "aws.protocols#ec2QueryName": "IpamRegion", + "smithy.api#documentation": "

The Amazon Web Services Region of the IPAM pool.

", + "smithy.api#xmlName": "ipamRegion" } }, - "c6id_8xlarge": { - "target": "smithy.api#Unit", + "Locale": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "c6id.8xlarge" + "aws.protocols#ec2QueryName": "Locale", + "smithy.api#documentation": "

The locale of the IPAM pool. In IPAM, the locale is the Amazon Web Services Region where you want to make an IPAM pool available for allocations. Only resources in the same Region as the locale of the pool can get IP address allocations from the pool. You can only allocate a CIDR for a VPC, for example, from an IPAM pool that shares a locale with the VPC’s Region. Note that once you choose a Locale for a pool, you cannot modify it. If you choose an Amazon Web Services Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.

", + "smithy.api#xmlName": "locale" } }, - "c6id_12xlarge": { - "target": "smithy.api#Unit", + "PoolDepth": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "c6id.12xlarge" + "aws.protocols#ec2QueryName": "PoolDepth", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The depth of pools in your IPAM pool. The pool depth quota is 10. For more information, see Quotas in IPAM in the Amazon VPC IPAM User Guide.\n

", + "smithy.api#xmlName": "poolDepth" } }, - "c6id_16xlarge": { - "target": "smithy.api#Unit", + "State": { + "target": "com.amazonaws.ec2#IpamPoolState", "traits": { - "smithy.api#enumValue": "c6id.16xlarge" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the IPAM pool.

", + "smithy.api#xmlName": "state" } }, - "c6id_24xlarge": { - "target": "smithy.api#Unit", + "StateMessage": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "c6id.24xlarge" + "aws.protocols#ec2QueryName": "StateMessage", + "smithy.api#documentation": "

A message related to the failed creation of an IPAM pool.

", + "smithy.api#xmlName": "stateMessage" } }, - "c6id_32xlarge": { - "target": "smithy.api#Unit", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "c6id.32xlarge" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

The description of the IPAM pool.

", + "smithy.api#xmlName": "description" } }, - "c6id_metal": { - "target": "smithy.api#Unit", + "AutoImport": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "c6id.metal" + "aws.protocols#ec2QueryName": "AutoImport", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

If selected, IPAM will continuously look for resources within the CIDR range of this pool \n and automatically import them as allocations into your IPAM. The CIDRs that will be allocated for\n these resources must not already be allocated to other resources in order for the import to succeed. IPAM will import \n a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be imported and subsequently \n marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM \n discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only.\n

\n

A locale must be set on the pool for this feature to work.

", + "smithy.api#xmlName": "autoImport" } }, - "m6id_large": { - "target": "smithy.api#Unit", + "PubliclyAdvertisable": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "m6id.large" + "aws.protocols#ec2QueryName": "PubliclyAdvertisable", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Determines if a pool is publicly advertisable. This option is not available for pools with AddressFamily set to ipv4.

", + "smithy.api#xmlName": "publiclyAdvertisable" } }, - "m6id_xlarge": { - "target": "smithy.api#Unit", + "AddressFamily": { + "target": "com.amazonaws.ec2#AddressFamily", "traits": { - "smithy.api#enumValue": "m6id.xlarge" + "aws.protocols#ec2QueryName": "AddressFamily", + "smithy.api#documentation": "

The address family of the pool.

", + "smithy.api#xmlName": "addressFamily" } }, - "m6id_2xlarge": { - "target": "smithy.api#Unit", + "AllocationMinNetmaskLength": { + "target": "com.amazonaws.ec2#IpamNetmaskLength", "traits": { - "smithy.api#enumValue": "m6id.2xlarge" + "aws.protocols#ec2QueryName": "AllocationMinNetmaskLength", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. The minimum netmask length must be less than the maximum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.

", + "smithy.api#xmlName": "allocationMinNetmaskLength" } }, - "m6id_4xlarge": { - "target": "smithy.api#Unit", + "AllocationMaxNetmaskLength": { + "target": "com.amazonaws.ec2#IpamNetmaskLength", "traits": { - "smithy.api#enumValue": "m6id.4xlarge" + "aws.protocols#ec2QueryName": "AllocationMaxNetmaskLength", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. The maximum netmask length must be greater than the minimum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.

", + "smithy.api#xmlName": "allocationMaxNetmaskLength" } }, - "m6id_8xlarge": { - "target": "smithy.api#Unit", + "AllocationDefaultNetmaskLength": { + "target": "com.amazonaws.ec2#IpamNetmaskLength", "traits": { - "smithy.api#enumValue": "m6id.8xlarge" + "aws.protocols#ec2QueryName": "AllocationDefaultNetmaskLength", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and \n you enter 16 here, new allocations will default to 10.0.0.0/16.

", + "smithy.api#xmlName": "allocationDefaultNetmaskLength" } }, - "m6id_12xlarge": { - "target": "smithy.api#Unit", + "AllocationResourceTags": { + "target": "com.amazonaws.ec2#IpamResourceTagList", "traits": { - "smithy.api#enumValue": "m6id.12xlarge" + "aws.protocols#ec2QueryName": "AllocationResourceTagSet", + "smithy.api#documentation": "

Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these tags will not be allowed to allocate space from the pool. If the resources have their tags changed after they have allocated space or if the allocation tagging requirements are changed on the pool, the resource may be marked as noncompliant.

", + "smithy.api#xmlName": "allocationResourceTagSet" } }, - "m6id_16xlarge": { - "target": "smithy.api#Unit", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "smithy.api#enumValue": "m6id.16xlarge" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

", + "smithy.api#xmlName": "tagSet" } }, - "m6id_24xlarge": { - "target": "smithy.api#Unit", + "AwsService": { + "target": "com.amazonaws.ec2#IpamPoolAwsService", "traits": { - "smithy.api#enumValue": "m6id.24xlarge" + "aws.protocols#ec2QueryName": "AwsService", + "smithy.api#documentation": "

Limits which service in Amazon Web Services that the pool can be used in. \"ec2\", for example, allows users to use space for Elastic IP addresses and VPCs.

", + "smithy.api#xmlName": "awsService" } }, - "m6id_32xlarge": { - "target": "smithy.api#Unit", + "PublicIpSource": { + "target": "com.amazonaws.ec2#IpamPoolPublicIpSource", "traits": { - "smithy.api#enumValue": "m6id.32xlarge" + "aws.protocols#ec2QueryName": "PublicIpSource", + "smithy.api#documentation": "

The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools in the public scope. Default is BYOIP. For more information, see Create IPv6 pools in the Amazon VPC IPAM User Guide. \n By default, you can add only one Amazon-provided IPv6 CIDR block to a top-level IPv6 pool. For information on increasing the default limit, see Quotas for your IPAM in the Amazon VPC IPAM User Guide.

", + "smithy.api#xmlName": "publicIpSource" } - }, - "m6id_metal": { - "target": "smithy.api#Unit", + } + }, + "traits": { + "smithy.api#documentation": "

In IPAM, a pool is a collection of contiguous IP addresses CIDRs. Pools enable you to organize your IP addresses according to your routing and security needs. For example, if you have separate routing and security needs for development and production applications, you can create a pool for each.

" + } + }, + "com.amazonaws.ec2#IpamPoolAllocation": { + "type": "structure", + "members": { + "Cidr": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "m6id.metal" + "aws.protocols#ec2QueryName": "Cidr", + "smithy.api#documentation": "

The CIDR for the allocation. A CIDR is a representation of an IP address and its associated network mask (or netmask) and \n refers to a range of IP addresses. An IPv4 CIDR example is 10.24.34.0/23. An IPv6 CIDR example is 2001:DB8::/32.

", + "smithy.api#xmlName": "cidr" } }, - "r6id_large": { - "target": "smithy.api#Unit", + "IpamPoolAllocationId": { + "target": "com.amazonaws.ec2#IpamPoolAllocationId", "traits": { - "smithy.api#enumValue": "r6id.large" + "aws.protocols#ec2QueryName": "IpamPoolAllocationId", + "smithy.api#documentation": "

The ID of an allocation.

", + "smithy.api#xmlName": "ipamPoolAllocationId" } }, - "r6id_xlarge": { - "target": "smithy.api#Unit", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "r6id.xlarge" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A description of the pool allocation.

", + "smithy.api#xmlName": "description" } }, - "r6id_2xlarge": { - "target": "smithy.api#Unit", + "ResourceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "r6id.2xlarge" + "aws.protocols#ec2QueryName": "ResourceId", + "smithy.api#documentation": "

The ID of the resource.

", + "smithy.api#xmlName": "resourceId" } }, - "r6id_4xlarge": { - "target": "smithy.api#Unit", + "ResourceType": { + "target": "com.amazonaws.ec2#IpamPoolAllocationResourceType", "traits": { - "smithy.api#enumValue": "r6id.4xlarge" + "aws.protocols#ec2QueryName": "ResourceType", + "smithy.api#documentation": "

The type of the resource.

", + "smithy.api#xmlName": "resourceType" } }, - "r6id_8xlarge": { - "target": "smithy.api#Unit", + "ResourceRegion": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "r6id.8xlarge" + "aws.protocols#ec2QueryName": "ResourceRegion", + "smithy.api#documentation": "

The Amazon Web Services Region of the resource.

", + "smithy.api#xmlName": "resourceRegion" } }, - "r6id_12xlarge": { - "target": "smithy.api#Unit", + "ResourceOwner": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "r6id.12xlarge" + "aws.protocols#ec2QueryName": "ResourceOwner", + "smithy.api#documentation": "

The owner of the resource.

", + "smithy.api#xmlName": "resourceOwner" } - }, - "r6id_16xlarge": { + } + }, + "traits": { + "smithy.api#documentation": "

In IPAM, an allocation is a CIDR assignment from an IPAM pool to another IPAM pool or to a resource.

" + } + }, + "com.amazonaws.ec2#IpamPoolAllocationDisallowedCidrs": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IpamPoolAllocationId": { + "type": "string" + }, + "com.amazonaws.ec2#IpamPoolAllocationResourceType": { + "type": "enum", + "members": { + "ipam_pool": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6id.16xlarge" + "smithy.api#enumValue": "ipam-pool" } }, - "r6id_24xlarge": { + "vpc": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6id.24xlarge" + "smithy.api#enumValue": "vpc" } }, - "r6id_32xlarge": { + "ec2_public_ipv4_pool": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6id.32xlarge" + "smithy.api#enumValue": "ec2-public-ipv4-pool" } }, - "r6id_metal": { + "custom": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6id.metal" + "smithy.api#enumValue": "custom" } - }, - "r6a_large": { + } + } + }, + "com.amazonaws.ec2#IpamPoolAllocationSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IpamPoolAllocation", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IpamPoolAwsService": { + "type": "enum", + "members": { + "ec2": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6a.large" + "smithy.api#enumValue": "ec2" } - }, - "r6a_xlarge": { - "target": "smithy.api#Unit", + } + } + }, + "com.amazonaws.ec2#IpamPoolCidr": { + "type": "structure", + "members": { + "Cidr": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "r6a.xlarge" + "aws.protocols#ec2QueryName": "Cidr", + "smithy.api#documentation": "

The CIDR provisioned to the IPAM pool. A CIDR is a representation of an IP address and its associated network mask (or netmask) \n and refers to a range of IP addresses. An IPv4 CIDR example is 10.24.34.0/23. An IPv6 CIDR example is 2001:DB8::/32.

", + "smithy.api#xmlName": "cidr" } }, - "r6a_2xlarge": { - "target": "smithy.api#Unit", + "State": { + "target": "com.amazonaws.ec2#IpamPoolCidrState", "traits": { - "smithy.api#enumValue": "r6a.2xlarge" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the CIDR.

", + "smithy.api#xmlName": "state" } }, - "r6a_4xlarge": { - "target": "smithy.api#Unit", + "FailureReason": { + "target": "com.amazonaws.ec2#IpamPoolCidrFailureReason", "traits": { - "smithy.api#enumValue": "r6a.4xlarge" + "aws.protocols#ec2QueryName": "FailureReason", + "smithy.api#documentation": "

Details related to why an IPAM pool CIDR failed to be provisioned.

", + "smithy.api#xmlName": "failureReason" } }, - "r6a_8xlarge": { - "target": "smithy.api#Unit", + "IpamPoolCidrId": { + "target": "com.amazonaws.ec2#IpamPoolCidrId", "traits": { - "smithy.api#enumValue": "r6a.8xlarge" + "aws.protocols#ec2QueryName": "IpamPoolCidrId", + "smithy.api#documentation": "

The IPAM pool CIDR ID.

", + "smithy.api#xmlName": "ipamPoolCidrId" } }, - "r6a_12xlarge": { - "target": "smithy.api#Unit", + "NetmaskLength": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "r6a.12xlarge" + "aws.protocols#ec2QueryName": "NetmaskLength", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The netmask length of the CIDR you'd like to provision to a pool. Can be used for provisioning Amazon-provided IPv6 CIDRs to top-level pools and for provisioning CIDRs to pools with source pools. Cannot be used to provision BYOIP CIDRs to top-level pools. \"NetmaskLength\" or \"Cidr\" is required.

", + "smithy.api#xmlName": "netmaskLength" } - }, - "r6a_16xlarge": { + } + }, + "traits": { + "smithy.api#documentation": "

A CIDR provisioned to an IPAM pool.

" + } + }, + "com.amazonaws.ec2#IpamPoolCidrFailureCode": { + "type": "enum", + "members": { + "cidr_not_available": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6a.16xlarge" + "smithy.api#enumValue": "cidr-not-available" } }, - "r6a_24xlarge": { + "limit_exceeded": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6a.24xlarge" + "smithy.api#enumValue": "limit-exceeded" } - }, - "r6a_32xlarge": { - "target": "smithy.api#Unit", + } + } + }, + "com.amazonaws.ec2#IpamPoolCidrFailureReason": { + "type": "structure", + "members": { + "Code": { + "target": "com.amazonaws.ec2#IpamPoolCidrFailureCode", "traits": { - "smithy.api#enumValue": "r6a.32xlarge" + "aws.protocols#ec2QueryName": "Code", + "smithy.api#documentation": "

An error code related to why an IPAM pool CIDR failed to be provisioned.

", + "smithy.api#xmlName": "code" } }, - "r6a_48xlarge": { + "Message": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Message", + "smithy.api#documentation": "

A message related to why an IPAM pool CIDR failed to be provisioned.

", + "smithy.api#xmlName": "message" + } + } + }, + "traits": { + "smithy.api#documentation": "

Details related to why an IPAM pool CIDR failed to be provisioned.

" + } + }, + "com.amazonaws.ec2#IpamPoolCidrId": { + "type": "string" + }, + "com.amazonaws.ec2#IpamPoolCidrSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IpamPoolCidr", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IpamPoolCidrState": { + "type": "enum", + "members": { + "pending_provision": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6a.48xlarge" + "smithy.api#enumValue": "pending-provision" } }, - "r6a_metal": { + "provisioned": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "r6a.metal" + "smithy.api#enumValue": "provisioned" } }, - "p4de_24xlarge": { + "failed_provision": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "p4de.24xlarge" + "smithy.api#enumValue": "failed-provision" } }, - "u_3tb1_56xlarge": { + "pending_deprovision": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "u-3tb1.56xlarge" + "smithy.api#enumValue": "pending-deprovision" } }, - "u_18tb1_112xlarge": { + "deprovisioned": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "u-18tb1.112xlarge" + "smithy.api#enumValue": "deprovisioned" } }, - "u_24tb1_112xlarge": { + "failed_deprovision": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "u-24tb1.112xlarge" + "smithy.api#enumValue": "failed-deprovision" } }, - "trn1_2xlarge": { + "pending_import": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "trn1.2xlarge" + "smithy.api#enumValue": "pending-import" } }, - "trn1_32xlarge": { + "failed_import": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "trn1.32xlarge" + "smithy.api#enumValue": "failed-import" } } } }, - "com.amazonaws.ec2#InstanceTypeHypervisor": { + "com.amazonaws.ec2#IpamPoolId": { + "type": "string" + }, + "com.amazonaws.ec2#IpamPoolPublicIpSource": { "type": "enum", "members": { - "NITRO": { + "amazon": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "nitro" + "smithy.api#enumValue": "amazon" } }, - "XEN": { + "byoip": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "xen" + "smithy.api#enumValue": "byoip" } } } }, - "com.amazonaws.ec2#InstanceTypeInfo": { - "type": "structure", + "com.amazonaws.ec2#IpamPoolSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IpamPool", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IpamPoolState": { + "type": "enum", "members": { - "InstanceType": { - "target": "com.amazonaws.ec2#InstanceType", - "traits": { - "aws.protocols#ec2QueryName": "InstanceType", - "smithy.api#documentation": "

The instance type. For more information, see Instance types in the Amazon EC2 User Guide.

", - "smithy.api#xmlName": "instanceType" - } - }, - "CurrentGeneration": { - "target": "com.amazonaws.ec2#CurrentGenerationFlag", - "traits": { - "aws.protocols#ec2QueryName": "CurrentGeneration", - "smithy.api#documentation": "

Indicates whether the instance type is current generation.

", - "smithy.api#xmlName": "currentGeneration" - } - }, - "FreeTierEligible": { - "target": "com.amazonaws.ec2#FreeTierEligibleFlag", + "create_in_progress": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "FreeTierEligible", - "smithy.api#documentation": "

Indicates whether the instance type is eligible for the free tier.

", - "smithy.api#xmlName": "freeTierEligible" + "smithy.api#enumValue": "create-in-progress" } }, - "SupportedUsageClasses": { - "target": "com.amazonaws.ec2#UsageClassTypeList", + "create_complete": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SupportedUsageClasses", - "smithy.api#documentation": "

Indicates whether the instance type is offered for spot or On-Demand.

", - "smithy.api#xmlName": "supportedUsageClasses" + "smithy.api#enumValue": "create-complete" } }, - "SupportedRootDeviceTypes": { - "target": "com.amazonaws.ec2#RootDeviceTypeList", + "create_failed": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SupportedRootDeviceTypes", - "smithy.api#documentation": "

The supported root device types.

", - "smithy.api#xmlName": "supportedRootDeviceTypes" + "smithy.api#enumValue": "create-failed" } }, - "SupportedVirtualizationTypes": { - "target": "com.amazonaws.ec2#VirtualizationTypeList", + "modify_in_progress": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SupportedVirtualizationTypes", - "smithy.api#documentation": "

The supported virtualization types.

", - "smithy.api#xmlName": "supportedVirtualizationTypes" + "smithy.api#enumValue": "modify-in-progress" } }, - "BareMetal": { - "target": "com.amazonaws.ec2#BareMetalFlag", + "modify_complete": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "BareMetal", - "smithy.api#documentation": "

Indicates whether the instance is a bare metal instance type.

", - "smithy.api#xmlName": "bareMetal" + "smithy.api#enumValue": "modify-complete" } }, - "Hypervisor": { - "target": "com.amazonaws.ec2#InstanceTypeHypervisor", + "modify_failed": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Hypervisor", - "smithy.api#documentation": "

The hypervisor for the instance type.

", - "smithy.api#xmlName": "hypervisor" + "smithy.api#enumValue": "modify-failed" } }, - "ProcessorInfo": { - "target": "com.amazonaws.ec2#ProcessorInfo", + "delete_in_progress": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ProcessorInfo", - "smithy.api#documentation": "

Describes the processor.

", - "smithy.api#xmlName": "processorInfo" + "smithy.api#enumValue": "delete-in-progress" } }, - "VCpuInfo": { - "target": "com.amazonaws.ec2#VCpuInfo", + "delete_complete": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "VCpuInfo", - "smithy.api#documentation": "

Describes the vCPU configurations for the instance type.

", - "smithy.api#xmlName": "vCpuInfo" + "smithy.api#enumValue": "delete-complete" } }, - "MemoryInfo": { - "target": "com.amazonaws.ec2#MemoryInfo", + "delete_failed": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "MemoryInfo", - "smithy.api#documentation": "

Describes the memory for the instance type.

", - "smithy.api#xmlName": "memoryInfo" + "smithy.api#enumValue": "delete-failed" } }, - "InstanceStorageSupported": { - "target": "com.amazonaws.ec2#InstanceStorageFlag", + "isolate_in_progress": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InstanceStorageSupported", - "smithy.api#documentation": "

Indicates whether instance storage is supported.

", - "smithy.api#xmlName": "instanceStorageSupported" + "smithy.api#enumValue": "isolate-in-progress" } }, - "InstanceStorageInfo": { - "target": "com.amazonaws.ec2#InstanceStorageInfo", + "isolate_complete": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InstanceStorageInfo", - "smithy.api#documentation": "

Describes the instance storage for the instance type.

", - "smithy.api#xmlName": "instanceStorageInfo" + "smithy.api#enumValue": "isolate-complete" } }, - "EbsInfo": { - "target": "com.amazonaws.ec2#EbsInfo", + "restore_in_progress": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "EbsInfo", - "smithy.api#documentation": "

Describes the Amazon EBS settings for the instance type.

", - "smithy.api#xmlName": "ebsInfo" + "smithy.api#enumValue": "restore-in-progress" } - }, - "NetworkInfo": { - "target": "com.amazonaws.ec2#NetworkInfo", + } + } + }, + "com.amazonaws.ec2#IpamResourceCidr": { + "type": "structure", + "members": { + "IpamId": { + "target": "com.amazonaws.ec2#IpamId", "traits": { - "aws.protocols#ec2QueryName": "NetworkInfo", - "smithy.api#documentation": "

Describes the network settings for the instance type.

", - "smithy.api#xmlName": "networkInfo" + "aws.protocols#ec2QueryName": "IpamId", + "smithy.api#documentation": "

The IPAM ID for an IPAM resource.

", + "smithy.api#xmlName": "ipamId" } }, - "GpuInfo": { - "target": "com.amazonaws.ec2#GpuInfo", + "IpamScopeId": { + "target": "com.amazonaws.ec2#IpamScopeId", "traits": { - "aws.protocols#ec2QueryName": "GpuInfo", - "smithy.api#documentation": "

Describes the GPU accelerator settings for the instance type.

", - "smithy.api#xmlName": "gpuInfo" + "aws.protocols#ec2QueryName": "IpamScopeId", + "smithy.api#documentation": "

The scope ID for an IPAM resource.

", + "smithy.api#xmlName": "ipamScopeId" } }, - "FpgaInfo": { - "target": "com.amazonaws.ec2#FpgaInfo", + "IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", "traits": { - "aws.protocols#ec2QueryName": "FpgaInfo", - "smithy.api#documentation": "

Describes the FPGA accelerator settings for the instance type.

", - "smithy.api#xmlName": "fpgaInfo" + "aws.protocols#ec2QueryName": "IpamPoolId", + "smithy.api#documentation": "

The pool ID for an IPAM resource.

", + "smithy.api#xmlName": "ipamPoolId" } }, - "PlacementGroupInfo": { - "target": "com.amazonaws.ec2#PlacementGroupInfo", + "ResourceRegion": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PlacementGroupInfo", - "smithy.api#documentation": "

Describes the placement group settings for the instance type.

", - "smithy.api#xmlName": "placementGroupInfo" + "aws.protocols#ec2QueryName": "ResourceRegion", + "smithy.api#documentation": "

The Amazon Web Services Region for an IPAM resource.

", + "smithy.api#xmlName": "resourceRegion" } }, - "InferenceAcceleratorInfo": { - "target": "com.amazonaws.ec2#InferenceAcceleratorInfo", + "ResourceOwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "InferenceAcceleratorInfo", - "smithy.api#documentation": "

Describes the Inference accelerator settings for the instance type.

", - "smithy.api#xmlName": "inferenceAcceleratorInfo" + "aws.protocols#ec2QueryName": "ResourceOwnerId", + "smithy.api#documentation": "

The Amazon Web Services account number of the owner of an IPAM resource.

", + "smithy.api#xmlName": "resourceOwnerId" } }, - "HibernationSupported": { - "target": "com.amazonaws.ec2#HibernationFlag", + "ResourceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "HibernationSupported", - "smithy.api#documentation": "

Indicates whether On-Demand hibernation is supported.

", - "smithy.api#xmlName": "hibernationSupported" + "aws.protocols#ec2QueryName": "ResourceId", + "smithy.api#documentation": "

The ID of an IPAM resource.

", + "smithy.api#xmlName": "resourceId" } }, - "BurstablePerformanceSupported": { - "target": "com.amazonaws.ec2#BurstablePerformanceFlag", + "ResourceName": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "BurstablePerformanceSupported", - "smithy.api#documentation": "

Indicates whether the instance type is a burstable performance instance type.

", - "smithy.api#xmlName": "burstablePerformanceSupported" + "aws.protocols#ec2QueryName": "ResourceName", + "smithy.api#documentation": "

The name of an IPAM resource.

", + "smithy.api#xmlName": "resourceName" } }, - "DedicatedHostsSupported": { - "target": "com.amazonaws.ec2#DedicatedHostFlag", + "ResourceCidr": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DedicatedHostsSupported", - "smithy.api#documentation": "

Indicates whether Dedicated Hosts are supported on the instance type.

", - "smithy.api#xmlName": "dedicatedHostsSupported" + "aws.protocols#ec2QueryName": "ResourceCidr", + "smithy.api#documentation": "

The CIDR for an IPAM resource.

", + "smithy.api#xmlName": "resourceCidr" } }, - "AutoRecoverySupported": { - "target": "com.amazonaws.ec2#AutoRecoveryFlag", + "ResourceType": { + "target": "com.amazonaws.ec2#IpamResourceType", "traits": { - "aws.protocols#ec2QueryName": "AutoRecoverySupported", - "smithy.api#documentation": "

Indicates whether auto recovery is supported.

", - "smithy.api#xmlName": "autoRecoverySupported" + "aws.protocols#ec2QueryName": "ResourceType", + "smithy.api#documentation": "

The type of IPAM resource.

", + "smithy.api#xmlName": "resourceType" } }, - "SupportedBootModes": { - "target": "com.amazonaws.ec2#BootModeTypeList", - "traits": { - "aws.protocols#ec2QueryName": "SupportedBootModes", - "smithy.api#documentation": "

The supported boot modes. For more information, see Boot modes in the\n Amazon EC2 User Guide.

", - "smithy.api#xmlName": "supportedBootModes" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the instance type.

" - } - }, - "com.amazonaws.ec2#InstanceTypeInfoFromInstanceRequirements": { - "type": "structure", - "members": { - "InstanceType": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "InstanceType", - "smithy.api#documentation": "

The matching instance type.

", - "smithy.api#xmlName": "instanceType" - } - } - }, - "traits": { - "smithy.api#documentation": "

The list of instance types with the specified instance attributes.

" - } - }, - "com.amazonaws.ec2#InstanceTypeInfoFromInstanceRequirementsSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#InstanceTypeInfoFromInstanceRequirements", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#InstanceTypeInfoList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#InstanceTypeInfo", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#InstanceTypeList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#InstanceType" - } - }, - "com.amazonaws.ec2#InstanceTypeOffering": { - "type": "structure", - "members": { - "InstanceType": { - "target": "com.amazonaws.ec2#InstanceType", + "ResourceTags": { + "target": "com.amazonaws.ec2#IpamResourceTagList", "traits": { - "aws.protocols#ec2QueryName": "InstanceType", - "smithy.api#documentation": "

The instance type. For more information, see Instance types in the Amazon EC2 User Guide.

", - "smithy.api#xmlName": "instanceType" + "aws.protocols#ec2QueryName": "ResourceTagSet", + "smithy.api#documentation": "

The tags for an IPAM resource.

", + "smithy.api#xmlName": "resourceTagSet" } }, - "LocationType": { - "target": "com.amazonaws.ec2#LocationType", + "IpUsage": { + "target": "com.amazonaws.ec2#BoxedDouble", "traits": { - "aws.protocols#ec2QueryName": "LocationType", - "smithy.api#documentation": "

The location type.

", - "smithy.api#xmlName": "locationType" + "aws.protocols#ec2QueryName": "IpUsage", + "smithy.api#documentation": "

The percentage of IP address space in use. To convert the decimal to a percentage, multiply the decimal by 100. Note the following:

\n
    \n
  • \n

    For resources that are VPCs, this is the percentage of IP address space in the VPC that's taken up by subnet CIDRs.\n

    \n
  • \n
  • \n

    For resources that are subnets, if the subnet has an IPv4 CIDR provisioned to it, this is the percentage of IPv4 address space in the subnet that's in use. If the subnet has an IPv6 CIDR provisioned to it, the percentage of IPv6 address space in use is not represented. The percentage of IPv6 address space in use cannot currently be calculated.\n

    \n
  • \n
  • \n

    For resources that are public IPv4 pools, this is the percentage of IP address space in the pool that's been allocated to Elastic IP addresses (EIPs).\n

    \n
  • \n
", + "smithy.api#xmlName": "ipUsage" } }, - "Location": { - "target": "com.amazonaws.ec2#Location", + "ComplianceStatus": { + "target": "com.amazonaws.ec2#IpamComplianceStatus", "traits": { - "aws.protocols#ec2QueryName": "Location", - "smithy.api#documentation": "

The identifier for the location. This depends on the location type. For example, if the location type is\n region, the location is the Region code (for example, us-east-2.)

", - "smithy.api#xmlName": "location" + "aws.protocols#ec2QueryName": "ComplianceStatus", + "smithy.api#documentation": "

The compliance status of the IPAM resource. For more information on compliance statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

", + "smithy.api#xmlName": "complianceStatus" } - } - }, - "traits": { - "smithy.api#documentation": "

The instance types offered.

" - } - }, - "com.amazonaws.ec2#InstanceTypeOfferingsList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#InstanceTypeOffering", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#InstanceTypes": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#String" - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 1000 - } - } - }, - "com.amazonaws.ec2#InstanceUsage": { - "type": "structure", - "members": { - "AccountId": { - "target": "com.amazonaws.ec2#String", + }, + "ManagementState": { + "target": "com.amazonaws.ec2#IpamManagementState", "traits": { - "aws.protocols#ec2QueryName": "AccountId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that is making use of the Capacity Reservation.

", - "smithy.api#xmlName": "accountId" + "aws.protocols#ec2QueryName": "ManagementState", + "smithy.api#documentation": "

The management state of the resource. For more information about management states, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

", + "smithy.api#xmlName": "managementState" } }, - "UsedInstanceCount": { - "target": "com.amazonaws.ec2#Integer", + "OverlapStatus": { + "target": "com.amazonaws.ec2#IpamOverlapStatus", "traits": { - "aws.protocols#ec2QueryName": "UsedInstanceCount", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of instances the Amazon Web Services account currently has in the Capacity Reservation.

", - "smithy.api#xmlName": "usedInstanceCount" + "aws.protocols#ec2QueryName": "OverlapStatus", + "smithy.api#documentation": "

The overlap status of an IPAM resource. The overlap status tells you if the CIDR for a resource overlaps with another CIDR in the scope. For more information on overlap statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

", + "smithy.api#xmlName": "overlapStatus" + } + }, + "VpcId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#documentation": "

The ID of a VPC.

", + "smithy.api#xmlName": "vpcId" } } }, "traits": { - "smithy.api#documentation": "

Information about the Capacity Reservation usage.

" + "smithy.api#documentation": "

The CIDR for an IPAM resource.

" } }, - "com.amazonaws.ec2#InstanceUsageSet": { + "com.amazonaws.ec2#IpamResourceCidrSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#InstanceUsage", + "target": "com.amazonaws.ec2#IpamResourceCidr", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#Integer": { - "type": "integer", - "traits": { - "smithy.api#default": 0 - } - }, - "com.amazonaws.ec2#IntegerWithConstraints": { - "type": "integer", - "traits": { - "smithy.api#range": { - "min": 0 - } - } - }, - "com.amazonaws.ec2#IntegrateServices": { + "com.amazonaws.ec2#IpamResourceDiscovery": { "type": "structure", "members": { - "AthenaIntegrations": { - "target": "com.amazonaws.ec2#AthenaIntegrationsSet", + "OwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

Information about the integration with Amazon Athena.

", - "smithy.api#xmlName": "AthenaIntegration" + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the owner.

", + "smithy.api#xmlName": "ownerId" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes service integrations with VPC Flow logs.

" - } - }, - "com.amazonaws.ec2#InterfacePermissionType": { - "type": "enum", - "members": { - "INSTANCE_ATTACH": { - "target": "smithy.api#Unit", + }, + "IpamResourceDiscoveryId": { + "target": "com.amazonaws.ec2#IpamResourceDiscoveryId", "traits": { - "smithy.api#enumValue": "INSTANCE-ATTACH" + "aws.protocols#ec2QueryName": "IpamResourceDiscoveryId", + "smithy.api#documentation": "

The resource discovery ID.

", + "smithy.api#xmlName": "ipamResourceDiscoveryId" } }, - "EIP_ASSOCIATE": { - "target": "smithy.api#Unit", + "IpamResourceDiscoveryArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "EIP-ASSOCIATE" + "aws.protocols#ec2QueryName": "IpamResourceDiscoveryArn", + "smithy.api#documentation": "

The resource discovery Amazon Resource Name (ARN).

", + "smithy.api#xmlName": "ipamResourceDiscoveryArn" } - } - } - }, - "com.amazonaws.ec2#InterfaceProtocolType": { - "type": "enum", - "members": { - "VLAN": { - "target": "smithy.api#Unit", + }, + "IpamResourceDiscoveryRegion": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "VLAN" + "aws.protocols#ec2QueryName": "IpamResourceDiscoveryRegion", + "smithy.api#documentation": "

The resource discovery Region.

", + "smithy.api#xmlName": "ipamResourceDiscoveryRegion" } }, - "GRE": { - "target": "smithy.api#Unit", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "GRE" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

The resource discovery description.

", + "smithy.api#xmlName": "description" } - } - } - }, - "com.amazonaws.ec2#InternetGateway": { - "type": "structure", - "members": { - "Attachments": { - "target": "com.amazonaws.ec2#InternetGatewayAttachmentList", + }, + "OperatingRegions": { + "target": "com.amazonaws.ec2#IpamOperatingRegionSet", "traits": { - "aws.protocols#ec2QueryName": "AttachmentSet", - "smithy.api#documentation": "

Any VPCs attached to the internet gateway.

", - "smithy.api#xmlName": "attachmentSet" + "aws.protocols#ec2QueryName": "OperatingRegionSet", + "smithy.api#documentation": "

The operating Regions for the resource discovery. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

", + "smithy.api#xmlName": "operatingRegionSet" } }, - "InternetGatewayId": { - "target": "com.amazonaws.ec2#String", + "IsDefault": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "InternetGatewayId", - "smithy.api#documentation": "

The ID of the internet gateway.

", - "smithy.api#xmlName": "internetGatewayId" + "aws.protocols#ec2QueryName": "IsDefault", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Defines if the resource discovery is the default. The default resource discovery is the resource discovery automatically created when you create an IPAM.

", + "smithy.api#xmlName": "isDefault" } }, - "OwnerId": { - "target": "com.amazonaws.ec2#String", + "State": { + "target": "com.amazonaws.ec2#IpamResourceDiscoveryState", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the internet gateway.

", - "smithy.api#xmlName": "ownerId" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The lifecycle state of the resource discovery.

\n
    \n
  • \n

    \n create-in-progress - Resource discovery is being created.

    \n
  • \n
  • \n

    \n create-complete - Resource discovery creation is complete.

    \n
  • \n
  • \n

    \n create-failed - Resource discovery creation has failed.

    \n
  • \n
  • \n

    \n modify-in-progress - Resource discovery is being modified.

    \n
  • \n
  • \n

    \n modify-complete - Resource discovery modification is complete.

    \n
  • \n
  • \n

    \n modify-failed - Resource discovery modification has failed.

    \n
  • \n
  • \n

    \n delete-in-progress - Resource discovery is being deleted.

    \n
  • \n
  • \n

    \n delete-complete - Resource discovery deletion is complete.

    \n
  • \n
  • \n

    \n delete-failed - Resource discovery deletion has failed.

    \n
  • \n
  • \n

    \n isolate-in-progress - Amazon Web Services account that created the resource discovery has been removed and the resource discovery is being isolated.

    \n
  • \n
  • \n

    \n isolate-complete - Resource discovery isolation is complete.

    \n
  • \n
  • \n

    \n restore-in-progress - Amazon Web Services account that created the resource discovery and was isolated has been restored.

    \n
  • \n
", + "smithy.api#xmlName": "state" } }, "Tags": { "target": "com.amazonaws.ec2#TagList", "traits": { "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags assigned to the internet gateway.

", + "smithy.api#documentation": "

A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key and an optional value. You can use tags to search and filter your resources or track your Amazon Web Services costs.

", "smithy.api#xmlName": "tagSet" } } }, "traits": { - "smithy.api#documentation": "

Describes an internet gateway.

" + "smithy.api#documentation": "

A resource discovery is an IPAM component that enables IPAM Service to manage and monitor resources that belong to the owning account.

" } }, - "com.amazonaws.ec2#InternetGatewayAttachment": { + "com.amazonaws.ec2#IpamResourceDiscoveryAssociation": { "type": "structure", "members": { + "OwnerId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The Amazon Web Services account ID of the resource discovery owner.

", + "smithy.api#xmlName": "ownerId" + } + }, + "IpamResourceDiscoveryAssociationId": { + "target": "com.amazonaws.ec2#IpamResourceDiscoveryAssociationId", + "traits": { + "aws.protocols#ec2QueryName": "IpamResourceDiscoveryAssociationId", + "smithy.api#documentation": "

The resource discovery association ID.

", + "smithy.api#xmlName": "ipamResourceDiscoveryAssociationId" + } + }, + "IpamResourceDiscoveryAssociationArn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "IpamResourceDiscoveryAssociationArn", + "smithy.api#documentation": "

The resource discovery association Amazon Resource Name (ARN).

", + "smithy.api#xmlName": "ipamResourceDiscoveryAssociationArn" + } + }, + "IpamResourceDiscoveryId": { + "target": "com.amazonaws.ec2#IpamResourceDiscoveryId", + "traits": { + "aws.protocols#ec2QueryName": "IpamResourceDiscoveryId", + "smithy.api#documentation": "

The resource discovery ID.

", + "smithy.api#xmlName": "ipamResourceDiscoveryId" + } + }, + "IpamId": { + "target": "com.amazonaws.ec2#IpamId", + "traits": { + "aws.protocols#ec2QueryName": "IpamId", + "smithy.api#documentation": "

The IPAM ID.

", + "smithy.api#xmlName": "ipamId" + } + }, + "IpamArn": { + "target": "com.amazonaws.ec2#ResourceArn", + "traits": { + "aws.protocols#ec2QueryName": "IpamArn", + "smithy.api#documentation": "

The IPAM ARN.

", + "smithy.api#xmlName": "ipamArn" + } + }, + "IpamRegion": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "IpamRegion", + "smithy.api#documentation": "

The IPAM home Region.

", + "smithy.api#xmlName": "ipamRegion" + } + }, + "IsDefault": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "IsDefault", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Defines if the resource discovery is the default. When you create an IPAM, a default resource discovery is created for your IPAM and it's associated with your IPAM.

", + "smithy.api#xmlName": "isDefault" + } + }, + "ResourceDiscoveryStatus": { + "target": "com.amazonaws.ec2#IpamAssociatedResourceDiscoveryStatus", + "traits": { + "aws.protocols#ec2QueryName": "ResourceDiscoveryStatus", + "smithy.api#documentation": "

The resource discovery status.

\n
    \n
  • \n

    \n active - Connection or permissions required to read the\n results of the resource discovery are intact.

    \n
  • \n
  • \n

    \n not-found - Connection or permissions required to read the\n results of the resource discovery are broken. This may happen if the owner of the resource discovery stopped sharing it or deleted the resource discovery. Verify the resource discovery still exists and the Amazon Web Services RAM resource share is still intact.

    \n
  • \n
", + "smithy.api#xmlName": "resourceDiscoveryStatus" + } + }, "State": { - "target": "com.amazonaws.ec2#AttachmentStatus", + "target": "com.amazonaws.ec2#IpamResourceDiscoveryAssociationState", "traits": { "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The current state of the attachment. For an internet gateway, the state is\n\t\t\t\tavailable when attached to a VPC; otherwise, this value is not\n\t\t\treturned.

", + "smithy.api#documentation": "

The lifecycle state of the association when you associate or disassociate a resource discovery.

\n
    \n
  • \n

    \n associate-in-progress - Resource discovery is being associated.

    \n
  • \n
  • \n

    \n associate-complete - Resource discovery association is complete.

    \n
  • \n
  • \n

    \n associate-failed - Resource discovery association has failed.

    \n
  • \n
  • \n

    \n disassociate-in-progress - Resource discovery is being disassociated.

    \n
  • \n
  • \n

    \n disassociate-complete - Resource discovery disassociation is complete.

    \n
  • \n
  • \n

    \n disassociate-failed - Resource discovery disassociation has failed.

    \n
  • \n
  • \n

    \n isolate-in-progress - Amazon Web Services account that created the resource discovery association has been removed and the resource discovery associatation is being isolated.

    \n
  • \n
  • \n

    \n isolate-complete - Resource discovery isolation is complete..

    \n
  • \n
  • \n

    \n restore-in-progress - Resource discovery is being restored.

    \n
  • \n
", "smithy.api#xmlName": "state" } }, - "VpcId": { - "target": "com.amazonaws.ec2#String", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "VpcId", - "smithy.api#documentation": "

The ID of the VPC.

", - "smithy.api#xmlName": "vpcId" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key and an optional value. You can use tags to search and filter your resources or track your Amazon Web Services costs.

", + "smithy.api#xmlName": "tagSet" } } }, "traits": { - "smithy.api#documentation": "

Describes the attachment of a VPC to an internet gateway or an egress-only internet\n\t\t\tgateway.

" - } - }, - "com.amazonaws.ec2#InternetGatewayAttachmentList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#InternetGatewayAttachment", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

An IPAM resource discovery association. An associated resource discovery is a resource discovery that has been associated with an IPAM. IPAM aggregates the resource CIDRs discovered by the associated resource discovery.

" } }, - "com.amazonaws.ec2#InternetGatewayId": { + "com.amazonaws.ec2#IpamResourceDiscoveryAssociationId": { "type": "string" }, - "com.amazonaws.ec2#InternetGatewayIdList": { + "com.amazonaws.ec2#IpamResourceDiscoveryAssociationSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#InternetGatewayId", + "target": "com.amazonaws.ec2#IpamResourceDiscoveryAssociation", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#InternetGatewayList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#InternetGateway", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#IpamResourceDiscoveryAssociationState": { + "type": "enum", + "members": { + "ASSOCIATE_IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "associate-in-progress" + } + }, + "ASSOCIATE_COMPLETE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "associate-complete" + } + }, + "ASSOCIATE_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "associate-failed" + } + }, + "DISASSOCIATE_IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disassociate-in-progress" + } + }, + "DISASSOCIATE_COMPLETE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disassociate-complete" + } + }, + "DISASSOCIATE_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disassociate-failed" + } + }, + "ISOLATE_IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "isolate-in-progress" + } + }, + "ISOLATE_COMPLETE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "isolate-complete" + } + }, + "RESTORE_IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "restore-in-progress" + } } } }, - "com.amazonaws.ec2#IpAddress": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 15 - }, - "smithy.api#pattern": "^([0-9]{1,3}.){3}[0-9]{1,3}$" - } + "com.amazonaws.ec2#IpamResourceDiscoveryId": { + "type": "string" }, - "com.amazonaws.ec2#IpAddressList": { + "com.amazonaws.ec2#IpamResourceDiscoverySet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#IpAddress", + "target": "com.amazonaws.ec2#IpamResourceDiscovery", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#IpAddressType": { + "com.amazonaws.ec2#IpamResourceDiscoveryState": { "type": "enum", "members": { - "ipv4": { + "CREATE_IN_PROGRESS": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "ipv4" + "smithy.api#enumValue": "create-in-progress" } }, - "dualstack": { + "CREATE_COMPLETE": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "dualstack" + "smithy.api#enumValue": "create-complete" } }, - "ipv6": { + "CREATE_FAILED": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "ipv6" + "smithy.api#enumValue": "create-failed" } - } - } - }, - "com.amazonaws.ec2#IpPermission": { - "type": "structure", - "members": { - "FromPort": { - "target": "com.amazonaws.ec2#Integer", + }, + "MODIFY_IN_PROGRESS": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "FromPort", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number.\n A value of -1 indicates all ICMP/ICMPv6 types. If you specify all\n\t\tICMP/ICMPv6 types, you must specify all codes.

", - "smithy.api#xmlName": "fromPort" + "smithy.api#enumValue": "modify-in-progress" } }, - "IpProtocol": { - "target": "com.amazonaws.ec2#String", + "MODIFY_COMPLETE": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "IpProtocol", - "smithy.api#documentation": "

The IP protocol name (tcp, udp, icmp, icmpv6) \n or number (see Protocol Numbers).

\n

[VPC only] Use -1 to specify all protocols. When authorizing\n security group rules, specifying -1 or a protocol number other than\n tcp, udp, icmp, or icmpv6 allows\n traffic on all ports, regardless of any port range you specify. For tcp,\n udp, and icmp, you must specify a port range. For icmpv6,\n the port range is optional; if you omit the port range, traffic for all types and codes is allowed.

", - "smithy.api#xmlName": "ipProtocol" + "smithy.api#enumValue": "modify-complete" } }, - "IpRanges": { - "target": "com.amazonaws.ec2#IpRangeList", + "MODIFY_FAILED": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "IpRanges", - "smithy.api#documentation": "

The IPv4 ranges.

", - "smithy.api#xmlName": "ipRanges" + "smithy.api#enumValue": "modify-failed" } }, - "Ipv6Ranges": { - "target": "com.amazonaws.ec2#Ipv6RangeList", + "DELETE_IN_PROGRESS": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Ipv6Ranges", - "smithy.api#documentation": "

[VPC only] The IPv6 ranges.

", - "smithy.api#xmlName": "ipv6Ranges" + "smithy.api#enumValue": "delete-in-progress" } }, - "PrefixListIds": { - "target": "com.amazonaws.ec2#PrefixListIdList", + "DELETE_COMPLETE": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "PrefixListIds", - "smithy.api#documentation": "

[VPC only] The prefix list IDs.

", - "smithy.api#xmlName": "prefixListIds" + "smithy.api#enumValue": "delete-complete" } }, - "ToPort": { - "target": "com.amazonaws.ec2#Integer", + "DELETE_FAILED": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ToPort", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value\n\t\tof -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, \n you must specify all codes.

", - "smithy.api#xmlName": "toPort" + "smithy.api#enumValue": "delete-failed" } }, - "UserIdGroupPairs": { - "target": "com.amazonaws.ec2#UserIdGroupPairList", + "ISOLATE_IN_PROGRESS": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Groups", - "smithy.api#documentation": "

The security group and Amazon Web Services account ID pairs.

", - "smithy.api#xmlName": "groups" + "smithy.api#enumValue": "isolate-in-progress" + } + }, + "ISOLATE_COMPLETE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "isolate-complete" + } + }, + "RESTORE_IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "restore-in-progress" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a set of permissions for a security group rule.

" - } - }, - "com.amazonaws.ec2#IpPermissionList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#IpPermission", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#IpPrefixList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#IpRange": { + "com.amazonaws.ec2#IpamResourceTag": { "type": "structure", "members": { - "CidrIp": { + "Key": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CidrIp", - "smithy.api#documentation": "

The IPv4 CIDR range. You can either specify a CIDR range or a source security group,\n not both. To specify a single IPv4 address, use the /32 prefix length.

", - "smithy.api#xmlName": "cidrIp" + "aws.protocols#ec2QueryName": "Key", + "smithy.api#documentation": "

The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

", + "smithy.api#xmlName": "key" } }, - "Description": { + "Value": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

A description for the security group rule that references this IPv4 address range.

\n

Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9,\n spaces, and ._-:/()#,@[]+=&;{}!$*

", - "smithy.api#xmlName": "description" + "aws.protocols#ec2QueryName": "Value", + "smithy.api#documentation": "

The value of the tag.

", + "smithy.api#xmlName": "value" } } }, "traits": { - "smithy.api#documentation": "

Describes an IPv4 range.

" + "smithy.api#documentation": "

The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

" } }, - "com.amazonaws.ec2#IpRangeList": { + "com.amazonaws.ec2#IpamResourceTagList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#IpRange", + "target": "com.amazonaws.ec2#IpamResourceTag", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#IpRanges": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#IpamResourceType": { + "type": "enum", + "members": { + "vpc": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "vpc" + } + }, + "subnet": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "subnet" + } + }, + "eip": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "eip" + } + }, + "public_ipv4_pool": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "public-ipv4-pool" + } + }, + "ipv6_pool": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ipv6-pool" + } } } }, - "com.amazonaws.ec2#Ipam": { + "com.amazonaws.ec2#IpamScope": { "type": "structure", "members": { "OwnerId": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The Amazon Web Services account ID of the owner of the IPAM.

", + "smithy.api#documentation": "

The Amazon Web Services account ID of the owner of the scope.

", "smithy.api#xmlName": "ownerId" } }, - "IpamId": { - "target": "com.amazonaws.ec2#IpamId", + "IpamScopeId": { + "target": "com.amazonaws.ec2#IpamScopeId", "traits": { - "aws.protocols#ec2QueryName": "IpamId", - "smithy.api#documentation": "

The ID of the IPAM.

", - "smithy.api#xmlName": "ipamId" + "aws.protocols#ec2QueryName": "IpamScopeId", + "smithy.api#documentation": "

The ID of the scope.

", + "smithy.api#xmlName": "ipamScopeId" + } + }, + "IpamScopeArn": { + "target": "com.amazonaws.ec2#ResourceArn", + "traits": { + "aws.protocols#ec2QueryName": "IpamScopeArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the scope.

", + "smithy.api#xmlName": "ipamScopeArn" } }, "IpamArn": { @@ -56353,57 +61301,51 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "IpamRegion", - "smithy.api#documentation": "

The Amazon Web Services Region of the IPAM.

", + "smithy.api#documentation": "

The Amazon Web Services Region of the IPAM scope.

", "smithy.api#xmlName": "ipamRegion" } }, - "PublicDefaultScopeId": { - "target": "com.amazonaws.ec2#IpamScopeId", - "traits": { - "aws.protocols#ec2QueryName": "PublicDefaultScopeId", - "smithy.api#documentation": "

The ID of the IPAM's default public scope.

", - "smithy.api#xmlName": "publicDefaultScopeId" - } - }, - "PrivateDefaultScopeId": { - "target": "com.amazonaws.ec2#IpamScopeId", + "IpamScopeType": { + "target": "com.amazonaws.ec2#IpamScopeType", "traits": { - "aws.protocols#ec2QueryName": "PrivateDefaultScopeId", - "smithy.api#documentation": "

The ID of the IPAM's default private scope.

", - "smithy.api#xmlName": "privateDefaultScopeId" + "aws.protocols#ec2QueryName": "IpamScopeType", + "smithy.api#documentation": "

The type of the scope.

", + "smithy.api#xmlName": "ipamScopeType" } }, - "ScopeCount": { - "target": "com.amazonaws.ec2#Integer", + "IsDefault": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "ScopeCount", + "aws.protocols#ec2QueryName": "IsDefault", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of scopes in the IPAM. The scope quota is 5. For more information on quotas, see Quotas in IPAM in the Amazon VPC IPAM User Guide.\n

", - "smithy.api#xmlName": "scopeCount" + "smithy.api#default": false, + "smithy.api#documentation": "

Defines if the scope is the default scope or not.

", + "smithy.api#xmlName": "isDefault" } }, "Description": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

The description for the IPAM.

", + "smithy.api#documentation": "

The description of the scope.

", "smithy.api#xmlName": "description" } }, - "OperatingRegions": { - "target": "com.amazonaws.ec2#IpamOperatingRegionSet", + "PoolCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "OperatingRegionSet", - "smithy.api#documentation": "

The operating Regions for an IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only\n discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

\n

For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide.

", - "smithy.api#xmlName": "operatingRegionSet" + "aws.protocols#ec2QueryName": "PoolCount", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of pools in the scope.

", + "smithy.api#xmlName": "poolCount" } }, "State": { - "target": "com.amazonaws.ec2#IpamState", + "target": "com.amazonaws.ec2#IpamScopeState", "traits": { "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the IPAM.

", + "smithy.api#documentation": "

The state of the IPAM scope.

", "smithy.api#xmlName": "state" } }, @@ -56417,4172 +61359,4665 @@ } }, "traits": { - "smithy.api#documentation": "

IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across Amazon Web Services Regions and accounts throughout your Amazon Web Services Organization. For more information, see What is IPAM? in the Amazon VPC IPAM User Guide.

" + "smithy.api#documentation": "

In IPAM, a scope is the highest-level container within IPAM. An IPAM contains two default scopes. Each scope represents the IP space for a single network. The private scope is intended for all private IP address space. The public scope is intended for all public IP address space. Scopes enable you to reuse IP addresses across multiple unconnected networks without causing IP address overlap or conflict.

\n

For more information, see How IPAM works in the Amazon VPC IPAM User Guide.

" } }, - "com.amazonaws.ec2#IpamAddressHistoryMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 1, - "max": 1000 + "com.amazonaws.ec2#IpamScopeId": { + "type": "string" + }, + "com.amazonaws.ec2#IpamScopeSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IpamScope", + "traits": { + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#IpamAddressHistoryRecord": { - "type": "structure", + "com.amazonaws.ec2#IpamScopeState": { + "type": "enum", "members": { - "ResourceOwnerId": { - "target": "com.amazonaws.ec2#String", + "create_in_progress": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ResourceOwnerId", - "smithy.api#documentation": "

The ID of the resource owner.

", - "smithy.api#xmlName": "resourceOwnerId" + "smithy.api#enumValue": "create-in-progress" } }, - "ResourceRegion": { - "target": "com.amazonaws.ec2#String", + "create_complete": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ResourceRegion", - "smithy.api#documentation": "

The Amazon Web Services Region of the resource.

", - "smithy.api#xmlName": "resourceRegion" + "smithy.api#enumValue": "create-complete" } }, - "ResourceType": { - "target": "com.amazonaws.ec2#IpamAddressHistoryResourceType", + "create_failed": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ResourceType", - "smithy.api#documentation": "

The type of the resource.

", - "smithy.api#xmlName": "resourceType" + "smithy.api#enumValue": "create-failed" } }, - "ResourceId": { - "target": "com.amazonaws.ec2#String", + "modify_in_progress": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ResourceId", - "smithy.api#documentation": "

The ID of the resource.

", - "smithy.api#xmlName": "resourceId" + "smithy.api#enumValue": "modify-in-progress" } }, - "ResourceCidr": { - "target": "com.amazonaws.ec2#String", + "modify_complete": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ResourceCidr", - "smithy.api#documentation": "

The CIDR of the resource.

", - "smithy.api#xmlName": "resourceCidr" + "smithy.api#enumValue": "modify-complete" } }, - "ResourceName": { - "target": "com.amazonaws.ec2#String", + "modify_failed": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ResourceName", - "smithy.api#documentation": "

The name of the resource.

", - "smithy.api#xmlName": "resourceName" + "smithy.api#enumValue": "modify-failed" } }, - "ResourceComplianceStatus": { - "target": "com.amazonaws.ec2#IpamComplianceStatus", + "delete_in_progress": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ResourceComplianceStatus", - "smithy.api#documentation": "

The compliance status of a resource. For more information on compliance statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

", - "smithy.api#xmlName": "resourceComplianceStatus" + "smithy.api#enumValue": "delete-in-progress" } }, - "ResourceOverlapStatus": { - "target": "com.amazonaws.ec2#IpamOverlapStatus", + "delete_complete": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ResourceOverlapStatus", - "smithy.api#documentation": "

The overlap status of an IPAM resource. The overlap status tells you if the CIDR for a resource overlaps with another CIDR in the scope. For more information on overlap statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

", - "smithy.api#xmlName": "resourceOverlapStatus" + "smithy.api#enumValue": "delete-complete" } }, - "VpcId": { - "target": "com.amazonaws.ec2#String", + "delete_failed": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "VpcId", - "smithy.api#documentation": "

The VPC ID of the resource.

", - "smithy.api#xmlName": "vpcId" + "smithy.api#enumValue": "delete-failed" } }, - "SampledStartTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "isolate_in_progress": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SampledStartTime", - "smithy.api#documentation": "

Sampled start time of the resource-to-CIDR association within the IPAM scope. Changes are picked up in periodic snapshots, so the start time may have occurred before this specific time.

", - "smithy.api#xmlName": "sampledStartTime" + "smithy.api#enumValue": "isolate-in-progress" } }, - "SampledEndTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "isolate_complete": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SampledEndTime", - "smithy.api#documentation": "

Sampled end time of the resource-to-CIDR association within the IPAM scope. Changes are picked up in periodic snapshots, so the end time may have occurred before this specific time.

", - "smithy.api#xmlName": "sampledEndTime" + "smithy.api#enumValue": "isolate-complete" + } + }, + "restore_in_progress": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "restore-in-progress" } } - }, - "traits": { - "smithy.api#documentation": "

The historical record of a CIDR within an IPAM scope. For more information, see View the history of IP addresses in the Amazon VPC IPAM User Guide.\n

" } }, - "com.amazonaws.ec2#IpamAddressHistoryRecordSet": { + "com.amazonaws.ec2#IpamScopeType": { + "type": "enum", + "members": { + "public": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "public" + } + }, + "private": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "private" + } + } + } + }, + "com.amazonaws.ec2#IpamSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#IpamAddressHistoryRecord", + "target": "com.amazonaws.ec2#Ipam", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#IpamAddressHistoryResourceType": { + "com.amazonaws.ec2#IpamState": { "type": "enum", "members": { - "eip": { + "create_in_progress": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "eip" + "smithy.api#enumValue": "create-in-progress" } }, - "vpc": { + "create_complete": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "vpc" + "smithy.api#enumValue": "create-complete" } }, - "subnet": { + "create_failed": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "subnet" + "smithy.api#enumValue": "create-failed" } }, - "network_interface": { + "modify_in_progress": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "network-interface" + "smithy.api#enumValue": "modify-in-progress" } }, - "instance": { + "modify_complete": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "instance" - } - } - } - }, - "com.amazonaws.ec2#IpamCidrAuthorizationContext": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The plain-text authorization message for the prefix and account.

" + "smithy.api#enumValue": "modify-complete" } }, - "Signature": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The signed authorization message for the prefix and account.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

A signed document that proves that you are authorized to bring the specified IP address range to Amazon using BYOIP.

" - } - }, - "com.amazonaws.ec2#IpamComplianceStatus": { - "type": "enum", - "members": { - "compliant": { + "modify_failed": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "compliant" + "smithy.api#enumValue": "modify-failed" } }, - "noncompliant": { + "delete_in_progress": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "noncompliant" + "smithy.api#enumValue": "delete-in-progress" } }, - "unmanaged": { + "delete_complete": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "unmanaged" + "smithy.api#enumValue": "delete-complete" } }, - "ignored": { + "delete_failed": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "ignored" + "smithy.api#enumValue": "delete-failed" } - } - } - }, - "com.amazonaws.ec2#IpamId": { - "type": "string" - }, - "com.amazonaws.ec2#IpamManagementState": { - "type": "enum", - "members": { - "managed": { + }, + "isolate_in_progress": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "managed" + "smithy.api#enumValue": "isolate-in-progress" } }, - "unmanaged": { + "isolate_complete": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "unmanaged" + "smithy.api#enumValue": "isolate-complete" } }, - "ignored": { + "restore_in_progress": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "ignored" + "smithy.api#enumValue": "restore-in-progress" } } } }, - "com.amazonaws.ec2#IpamMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 1000 + "com.amazonaws.ec2#Ipv4PoolCoipId": { + "type": "string" + }, + "com.amazonaws.ec2#Ipv4PoolEc2Id": { + "type": "string" + }, + "com.amazonaws.ec2#Ipv4PrefixList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Ipv4PrefixSpecificationRequest", + "traits": { + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#IpamNetmaskLength": { - "type": "integer", + "com.amazonaws.ec2#Ipv4PrefixListResponse": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Ipv4PrefixSpecificationResponse", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#Ipv4PrefixSpecification": { + "type": "structure", + "members": { + "Ipv4Prefix": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Ipv4Prefix", + "smithy.api#documentation": "

The IPv4 prefix. For information, see \n Assigning prefixes to Amazon EC2 network interfaces in the\n Amazon Elastic Compute Cloud User Guide.

", + "smithy.api#xmlName": "ipv4Prefix" + } + } + }, "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 0, - "max": 128 + "smithy.api#documentation": "

Describes an IPv4 prefix.

" + } + }, + "com.amazonaws.ec2#Ipv4PrefixSpecificationRequest": { + "type": "structure", + "members": { + "Ipv4Prefix": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The IPv4 prefix. For information, see \n Assigning prefixes to Amazon EC2 network interfaces in the\n Amazon Elastic Compute Cloud User Guide.

" + } } + }, + "traits": { + "smithy.api#documentation": "

Describes the IPv4 prefix option for a network interface.

" } }, - "com.amazonaws.ec2#IpamOperatingRegion": { + "com.amazonaws.ec2#Ipv4PrefixSpecificationResponse": { "type": "structure", "members": { - "RegionName": { + "Ipv4Prefix": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "RegionName", - "smithy.api#documentation": "

The name of the operating Region.

", - "smithy.api#xmlName": "regionName" + "aws.protocols#ec2QueryName": "Ipv4Prefix", + "smithy.api#documentation": "

The IPv4 delegated prefixes assigned to the network interface.

", + "smithy.api#xmlName": "ipv4Prefix" } } }, "traits": { - "smithy.api#documentation": "

The operating Regions for an IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only\n discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

\n

For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide.

" + "smithy.api#documentation": "

Information about the IPv4 delegated prefixes assigned \n to a network interface.

" } }, - "com.amazonaws.ec2#IpamOperatingRegionSet": { + "com.amazonaws.ec2#Ipv4PrefixesList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#IpamOperatingRegion", + "target": "com.amazonaws.ec2#Ipv4PrefixSpecification", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#IpamOverlapStatus": { - "type": "enum", + "com.amazonaws.ec2#Ipv6Address": { + "type": "string" + }, + "com.amazonaws.ec2#Ipv6AddressList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#Ipv6CidrAssociation": { + "type": "structure", "members": { - "overlapping": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "overlapping" - } - }, - "nonoverlapping": { - "target": "smithy.api#Unit", + "Ipv6Cidr": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "nonoverlapping" + "aws.protocols#ec2QueryName": "Ipv6Cidr", + "smithy.api#documentation": "

The IPv6 CIDR block.

", + "smithy.api#xmlName": "ipv6Cidr" } }, - "ignored": { - "target": "smithy.api#Unit", + "AssociatedResource": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "ignored" + "aws.protocols#ec2QueryName": "AssociatedResource", + "smithy.api#documentation": "

The resource that's associated with the IPv6 CIDR block.

", + "smithy.api#xmlName": "associatedResource" } } + }, + "traits": { + "smithy.api#documentation": "

Describes an IPv6 CIDR block association.

" } }, - "com.amazonaws.ec2#IpamPool": { + "com.amazonaws.ec2#Ipv6CidrAssociationSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Ipv6CidrAssociation", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#Ipv6CidrBlock": { "type": "structure", "members": { - "OwnerId": { + "Ipv6CidrBlock": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The Amazon Web Services account ID of the owner of the IPAM pool.

", - "smithy.api#xmlName": "ownerId" - } - }, - "IpamPoolId": { - "target": "com.amazonaws.ec2#IpamPoolId", - "traits": { - "aws.protocols#ec2QueryName": "IpamPoolId", - "smithy.api#documentation": "

The ID of the IPAM pool.

", - "smithy.api#xmlName": "ipamPoolId" - } - }, - "SourceIpamPoolId": { - "target": "com.amazonaws.ec2#IpamPoolId", - "traits": { - "aws.protocols#ec2QueryName": "SourceIpamPoolId", - "smithy.api#documentation": "

The ID of the source IPAM pool. You can use this option to create an IPAM pool within an existing source pool.

", - "smithy.api#xmlName": "sourceIpamPoolId" - } - }, - "IpamPoolArn": { - "target": "com.amazonaws.ec2#ResourceArn", - "traits": { - "aws.protocols#ec2QueryName": "IpamPoolArn", - "smithy.api#documentation": "

The ARN of the IPAM pool.

", - "smithy.api#xmlName": "ipamPoolArn" + "aws.protocols#ec2QueryName": "Ipv6CidrBlock", + "smithy.api#documentation": "

The IPv6 CIDR block.

", + "smithy.api#xmlName": "ipv6CidrBlock" } - }, - "IpamScopeArn": { - "target": "com.amazonaws.ec2#ResourceArn", + } + }, + "traits": { + "smithy.api#documentation": "

Describes an IPv6 CIDR block.

" + } + }, + "com.amazonaws.ec2#Ipv6CidrBlockSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Ipv6CidrBlock", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#Ipv6Flag": { + "type": "boolean" + }, + "com.amazonaws.ec2#Ipv6Pool": { + "type": "structure", + "members": { + "PoolId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "IpamScopeArn", - "smithy.api#documentation": "

The ARN of the scope of the IPAM pool.

", - "smithy.api#xmlName": "ipamScopeArn" + "aws.protocols#ec2QueryName": "PoolId", + "smithy.api#documentation": "

The ID of the address pool.

", + "smithy.api#xmlName": "poolId" } }, - "IpamScopeType": { - "target": "com.amazonaws.ec2#IpamScopeType", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "IpamScopeType", - "smithy.api#documentation": "

In IPAM, a scope is the highest-level container within IPAM. An IPAM contains two default scopes. Each scope represents the IP space for a single network. The private scope is intended for all private IP address space. The public scope is intended for all public IP address space. Scopes enable you to reuse IP addresses across multiple unconnected networks without causing IP address overlap or conflict.

", - "smithy.api#xmlName": "ipamScopeType" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

The description for the address pool.

", + "smithy.api#xmlName": "description" } }, - "IpamArn": { - "target": "com.amazonaws.ec2#ResourceArn", + "PoolCidrBlocks": { + "target": "com.amazonaws.ec2#PoolCidrBlocksSet", "traits": { - "aws.protocols#ec2QueryName": "IpamArn", - "smithy.api#documentation": "

The ARN of the IPAM.

", - "smithy.api#xmlName": "ipamArn" + "aws.protocols#ec2QueryName": "PoolCidrBlockSet", + "smithy.api#documentation": "

The CIDR blocks for the address pool.

", + "smithy.api#xmlName": "poolCidrBlockSet" } }, - "IpamRegion": { - "target": "com.amazonaws.ec2#String", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "IpamRegion", - "smithy.api#documentation": "

The Amazon Web Services Region of the IPAM pool.

", - "smithy.api#xmlName": "ipamRegion" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Any tags for the address pool.

", + "smithy.api#xmlName": "tagSet" } - }, - "Locale": { + } + }, + "traits": { + "smithy.api#documentation": "

Describes an IPv6 address pool.

" + } + }, + "com.amazonaws.ec2#Ipv6PoolEc2Id": { + "type": "string" + }, + "com.amazonaws.ec2#Ipv6PoolIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Ipv6PoolEc2Id", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#Ipv6PoolMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 1, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#Ipv6PoolSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Ipv6Pool", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#Ipv6PrefixList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Ipv6PrefixSpecificationRequest", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#Ipv6PrefixListResponse": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Ipv6PrefixSpecificationResponse", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#Ipv6PrefixSpecification": { + "type": "structure", + "members": { + "Ipv6Prefix": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Locale", - "smithy.api#documentation": "

The locale of the IPAM pool. In IPAM, the locale is the Amazon Web Services Region where you want to make an IPAM pool available for allocations. Only resources in the same Region as the locale of the pool can get IP address allocations from the pool. You can only allocate a CIDR for a VPC, for example, from an IPAM pool that shares a locale with the VPC’s Region. Note that once you choose a Locale for a pool, you cannot modify it. If you choose an Amazon Web Services Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.

", - "smithy.api#xmlName": "locale" + "aws.protocols#ec2QueryName": "Ipv6Prefix", + "smithy.api#documentation": "

The IPv6 prefix.

", + "smithy.api#xmlName": "ipv6Prefix" } - }, - "PoolDepth": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "aws.protocols#ec2QueryName": "PoolDepth", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The depth of pools in your IPAM pool. The pool depth quota is 10. For more information, see Quotas in IPAM in the Amazon VPC IPAM User Guide.\n

", - "smithy.api#xmlName": "poolDepth" + } + }, + "traits": { + "smithy.api#documentation": "

Describes the IPv6 prefix.

" + } + }, + "com.amazonaws.ec2#Ipv6PrefixSpecificationRequest": { + "type": "structure", + "members": { + "Ipv6Prefix": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The IPv6 prefix.

" } - }, - "State": { - "target": "com.amazonaws.ec2#IpamPoolState", + } + }, + "traits": { + "smithy.api#documentation": "

Describes the IPv4 prefix option for a network interface.

" + } + }, + "com.amazonaws.ec2#Ipv6PrefixSpecificationResponse": { + "type": "structure", + "members": { + "Ipv6Prefix": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the IPAM pool.

", - "smithy.api#xmlName": "state" + "aws.protocols#ec2QueryName": "Ipv6Prefix", + "smithy.api#documentation": "

The IPv6 delegated prefixes assigned to the network interface.

", + "smithy.api#xmlName": "ipv6Prefix" } - }, - "StateMessage": { + } + }, + "traits": { + "smithy.api#documentation": "

Information about the IPv6 delegated prefixes assigned \n to a network interface.

" + } + }, + "com.amazonaws.ec2#Ipv6PrefixesList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Ipv6PrefixSpecification", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#Ipv6Range": { + "type": "structure", + "members": { + "CidrIpv6": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "StateMessage", - "smithy.api#documentation": "

A message related to the failed creation of an IPAM pool.

", - "smithy.api#xmlName": "stateMessage" + "aws.protocols#ec2QueryName": "CidrIpv6", + "smithy.api#documentation": "

The IPv6 CIDR range. You can either specify a CIDR range or a source security group,\n not both. To specify a single IPv6 address, use the /128 prefix length.

", + "smithy.api#xmlName": "cidrIpv6" } }, "Description": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

The description of the IPAM pool.

", + "smithy.api#documentation": "

A description for the security group rule that references this IPv6 address range.

\n

Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9,\n spaces, and ._-:/()#,@[]+=&;{}!$*

", "smithy.api#xmlName": "description" } - }, - "AutoImport": { - "target": "com.amazonaws.ec2#Boolean", + } + }, + "traits": { + "smithy.api#documentation": "

[EC2-VPC only] Describes an IPv6 range.

" + } + }, + "com.amazonaws.ec2#Ipv6RangeList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Ipv6Range", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#Ipv6SupportValue": { + "type": "enum", + "members": { + "enable": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AutoImport", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

If selected, IPAM will continuously look for resources within the CIDR range of this pool \n and automatically import them as allocations into your IPAM. The CIDRs that will be allocated for\n these resources must not already be allocated to other resources in order for the import to succeed. IPAM will import \n a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be imported and subsequently \n marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM \n discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only.\n

\n

A locale must be set on the pool for this feature to work.

", - "smithy.api#xmlName": "autoImport" + "smithy.api#enumValue": "enable" } }, - "PubliclyAdvertisable": { - "target": "com.amazonaws.ec2#Boolean", + "disable": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "PubliclyAdvertisable", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Determines if a pool is publicly advertisable. This option is not available for pools with AddressFamily set to ipv4.

", - "smithy.api#xmlName": "publiclyAdvertisable" + "smithy.api#enumValue": "disable" } - }, - "AddressFamily": { - "target": "com.amazonaws.ec2#AddressFamily", + } + } + }, + "com.amazonaws.ec2#KernelId": { + "type": "string" + }, + "com.amazonaws.ec2#KeyFormat": { + "type": "enum", + "members": { + "pem": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AddressFamily", - "smithy.api#documentation": "

The address family of the pool.

", - "smithy.api#xmlName": "addressFamily" + "smithy.api#enumValue": "pem" } }, - "AllocationMinNetmaskLength": { - "target": "com.amazonaws.ec2#IpamNetmaskLength", + "ppk": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AllocationMinNetmaskLength", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. The minimum netmask length must be less than the maximum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.

", - "smithy.api#xmlName": "allocationMinNetmaskLength" + "smithy.api#enumValue": "ppk" + } + } + } + }, + "com.amazonaws.ec2#KeyNameStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#KeyPairName", + "traits": { + "smithy.api#xmlName": "KeyName" + } + } + }, + "com.amazonaws.ec2#KeyPair": { + "type": "structure", + "members": { + "KeyFingerprint": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "KeyFingerprint", + "smithy.api#documentation": "
    \n
  • \n

    For RSA key pairs, the key fingerprint is the SHA-1 digest of the DER encoded private key.

    \n
  • \n
  • \n

    For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 digest, which is the default for OpenSSH, starting with OpenSSH 6.8.

    \n
  • \n
", + "smithy.api#xmlName": "keyFingerprint" } }, - "AllocationMaxNetmaskLength": { - "target": "com.amazonaws.ec2#IpamNetmaskLength", + "KeyMaterial": { + "target": "com.amazonaws.ec2#SensitiveUserData", "traits": { - "aws.protocols#ec2QueryName": "AllocationMaxNetmaskLength", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. The maximum netmask length must be greater than the minimum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.

", - "smithy.api#xmlName": "allocationMaxNetmaskLength" + "aws.protocols#ec2QueryName": "KeyMaterial", + "smithy.api#documentation": "

An unencrypted PEM encoded RSA or ED25519 private key.

", + "smithy.api#xmlName": "keyMaterial" } }, - "AllocationDefaultNetmaskLength": { - "target": "com.amazonaws.ec2#IpamNetmaskLength", + "KeyName": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AllocationDefaultNetmaskLength", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and \n you enter 16 here, new allocations will default to 10.0.0.0/16.

", - "smithy.api#xmlName": "allocationDefaultNetmaskLength" + "aws.protocols#ec2QueryName": "KeyName", + "smithy.api#documentation": "

The name of the key pair.

", + "smithy.api#xmlName": "keyName" } }, - "AllocationResourceTags": { - "target": "com.amazonaws.ec2#IpamResourceTagList", + "KeyPairId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AllocationResourceTagSet", - "smithy.api#documentation": "

Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these tags will not be allowed to allocate space from the pool. If the resources have their tags changed after they have allocated space or if the allocation tagging requirements are changed on the pool, the resource may be marked as noncompliant.

", - "smithy.api#xmlName": "allocationResourceTagSet" + "aws.protocols#ec2QueryName": "KeyPairId", + "smithy.api#documentation": "

The ID of the key pair.

", + "smithy.api#xmlName": "keyPairId" } }, "Tags": { "target": "com.amazonaws.ec2#TagList", "traits": { "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

", + "smithy.api#documentation": "

Any tags applied to the key pair.

", "smithy.api#xmlName": "tagSet" } - }, - "AwsService": { - "target": "com.amazonaws.ec2#IpamPoolAwsService", - "traits": { - "aws.protocols#ec2QueryName": "AwsService", - "smithy.api#documentation": "

Limits which service in Amazon Web Services that the pool can be used in. \"ec2\", for example, allows users to use space for Elastic IP addresses and VPCs.

", - "smithy.api#xmlName": "awsService" - } } }, "traits": { - "smithy.api#documentation": "

In IPAM, a pool is a collection of contiguous IP addresses CIDRs. Pools enable you to organize your IP addresses according to your routing and security needs. For example, if you have separate routing and security needs for development and production applications, you can create a pool for each.

" + "smithy.api#documentation": "

Describes a key pair.

" } }, - "com.amazonaws.ec2#IpamPoolAllocation": { + "com.amazonaws.ec2#KeyPairId": { + "type": "string" + }, + "com.amazonaws.ec2#KeyPairIdStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#KeyPairId", + "traits": { + "smithy.api#xmlName": "KeyPairId" + } + } + }, + "com.amazonaws.ec2#KeyPairInfo": { "type": "structure", "members": { - "Cidr": { + "KeyPairId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Cidr", - "smithy.api#documentation": "

The CIDR for the allocation. A CIDR is a representation of an IP address and its associated network mask (or netmask) and \n refers to a range of IP addresses. An IPv4 CIDR example is 10.24.34.0/23. An IPv6 CIDR example is 2001:DB8::/32.

", - "smithy.api#xmlName": "cidr" + "aws.protocols#ec2QueryName": "KeyPairId", + "smithy.api#documentation": "

The ID of the key pair.

", + "smithy.api#xmlName": "keyPairId" } }, - "IpamPoolAllocationId": { - "target": "com.amazonaws.ec2#IpamPoolAllocationId", + "KeyFingerprint": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "IpamPoolAllocationId", - "smithy.api#documentation": "

The ID of an allocation.

", - "smithy.api#xmlName": "ipamPoolAllocationId" + "aws.protocols#ec2QueryName": "KeyFingerprint", + "smithy.api#documentation": "

If you used CreateKeyPair to create the key pair:

\n
    \n
  • \n

    For RSA key pairs, the key fingerprint is the SHA-1 digest of the DER encoded private key.

    \n
  • \n
  • \n

    For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 digest, which \n is the default for OpenSSH, starting with OpenSSH 6.8.

    \n
  • \n
\n

If you used ImportKeyPair to provide Amazon Web Services the public key:

\n
    \n
  • \n

    For RSA key pairs, the key fingerprint is the MD5 public key fingerprint as specified in section 4 of RFC4716.

    \n
  • \n
  • \n

    For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256\n digest, which is the default for OpenSSH, starting with OpenSSH 6.8.

    \n
  • \n
", + "smithy.api#xmlName": "keyFingerprint" } }, - "Description": { + "KeyName": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

A description of the pool allocation.

", - "smithy.api#xmlName": "description" + "aws.protocols#ec2QueryName": "KeyName", + "smithy.api#documentation": "

The name of the key pair.

", + "smithy.api#xmlName": "keyName" } }, - "ResourceId": { - "target": "com.amazonaws.ec2#String", + "KeyType": { + "target": "com.amazonaws.ec2#KeyType", "traits": { - "aws.protocols#ec2QueryName": "ResourceId", - "smithy.api#documentation": "

The ID of the resource.

", - "smithy.api#xmlName": "resourceId" + "aws.protocols#ec2QueryName": "KeyType", + "smithy.api#documentation": "

The type of key pair.

", + "smithy.api#xmlName": "keyType" } }, - "ResourceType": { - "target": "com.amazonaws.ec2#IpamPoolAllocationResourceType", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "ResourceType", - "smithy.api#documentation": "

The type of the resource.

", - "smithy.api#xmlName": "resourceType" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Any tags applied to the key pair.

", + "smithy.api#xmlName": "tagSet" } }, - "ResourceRegion": { + "PublicKey": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ResourceRegion", - "smithy.api#documentation": "

The Amazon Web Services Region of the resource.

", - "smithy.api#xmlName": "resourceRegion" + "aws.protocols#ec2QueryName": "PublicKey", + "smithy.api#documentation": "

The public key material.

", + "smithy.api#xmlName": "publicKey" } }, - "ResourceOwner": { - "target": "com.amazonaws.ec2#String", + "CreateTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "aws.protocols#ec2QueryName": "ResourceOwner", - "smithy.api#documentation": "

The owner of the resource.

", - "smithy.api#xmlName": "resourceOwner" + "aws.protocols#ec2QueryName": "CreateTime", + "smithy.api#documentation": "

If you used Amazon EC2 to create the key pair, this is the date and time when the key\n was created, in ISO\n 8601 date-time format, in the UTC time zone.

\n

If you imported an existing key pair to Amazon EC2, this is the date and time the key\n was imported, in ISO\n 8601 date-time format, in the UTC time zone.

", + "smithy.api#xmlName": "createTime" } } }, "traits": { - "smithy.api#documentation": "

In IPAM, an allocation is a CIDR assignment from an IPAM pool to another resource or IPAM pool.

" + "smithy.api#documentation": "

Describes a key pair.

" } }, - "com.amazonaws.ec2#IpamPoolAllocationDisallowedCidrs": { + "com.amazonaws.ec2#KeyPairList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#KeyPairInfo", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#IpamPoolAllocationId": { + "com.amazonaws.ec2#KeyPairName": { "type": "string" }, - "com.amazonaws.ec2#IpamPoolAllocationResourceType": { + "com.amazonaws.ec2#KeyType": { "type": "enum", "members": { - "ipam_pool": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ipam-pool" - } - }, - "vpc": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "vpc" - } - }, - "ec2_public_ipv4_pool": { + "rsa": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "ec2-public-ipv4-pool" + "smithy.api#enumValue": "rsa" } }, - "custom": { + "ed25519": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "custom" + "smithy.api#enumValue": "ed25519" } } } }, - "com.amazonaws.ec2#IpamPoolAllocationSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#IpamPoolAllocation", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#IpamPoolAwsService": { - "type": "enum", - "members": { - "ec2": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ec2" - } - } - } + "com.amazonaws.ec2#KmsKeyId": { + "type": "string" }, - "com.amazonaws.ec2#IpamPoolCidr": { + "com.amazonaws.ec2#LastError": { "type": "structure", "members": { - "Cidr": { + "Message": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Cidr", - "smithy.api#documentation": "

The CIDR provisioned to the IPAM pool. A CIDR is a representation of an IP address and its associated network mask (or netmask) \n and refers to a range of IP addresses. An IPv4 CIDR example is 10.24.34.0/23. An IPv6 CIDR example is 2001:DB8::/32.

", - "smithy.api#xmlName": "cidr" - } - }, - "State": { - "target": "com.amazonaws.ec2#IpamPoolCidrState", - "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the CIDR.

", - "smithy.api#xmlName": "state" + "aws.protocols#ec2QueryName": "Message", + "smithy.api#documentation": "

The error message for the VPC endpoint error.

", + "smithy.api#xmlName": "message" } }, - "FailureReason": { - "target": "com.amazonaws.ec2#IpamPoolCidrFailureReason", + "Code": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "FailureReason", - "smithy.api#documentation": "

Details related to why an IPAM pool CIDR failed to be provisioned.

", - "smithy.api#xmlName": "failureReason" + "aws.protocols#ec2QueryName": "Code", + "smithy.api#documentation": "

The error code for the VPC endpoint error.

", + "smithy.api#xmlName": "code" } } }, "traits": { - "smithy.api#documentation": "

A CIDR provisioned to an IPAM pool.

" + "smithy.api#documentation": "

The last error that occurred for a VPC endpoint.

" } }, - "com.amazonaws.ec2#IpamPoolCidrFailureCode": { - "type": "enum", + "com.amazonaws.ec2#LaunchPermission": { + "type": "structure", "members": { - "cidr_not_available": { - "target": "smithy.api#Unit", + "Group": { + "target": "com.amazonaws.ec2#PermissionGroup", "traits": { - "smithy.api#enumValue": "cidr-not-available" + "aws.protocols#ec2QueryName": "Group", + "smithy.api#documentation": "

The name of the group.

", + "smithy.api#xmlName": "group" } - } - } - }, - "com.amazonaws.ec2#IpamPoolCidrFailureReason": { - "type": "structure", - "members": { - "Code": { - "target": "com.amazonaws.ec2#IpamPoolCidrFailureCode", + }, + "UserId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Code", - "smithy.api#documentation": "

An error code related to why an IPAM pool CIDR failed to be provisioned.

", - "smithy.api#xmlName": "code" + "aws.protocols#ec2QueryName": "UserId", + "smithy.api#documentation": "

The Amazon Web Services account ID.

\n

Constraints: Up to 10 000 account IDs can be specified in a single request.

", + "smithy.api#xmlName": "userId" } }, - "Message": { + "OrganizationArn": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Message", - "smithy.api#documentation": "

A message related to why an IPAM pool CIDR failed to be provisioned.

", - "smithy.api#xmlName": "message" + "aws.protocols#ec2QueryName": "OrganizationArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an organization.

", + "smithy.api#xmlName": "organizationArn" + } + }, + "OrganizationalUnitArn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "OrganizationalUnitArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an organizational unit (OU).

", + "smithy.api#xmlName": "organizationalUnitArn" } } }, "traits": { - "smithy.api#documentation": "

Details related to why an IPAM pool CIDR failed to be provisioned.

" + "smithy.api#documentation": "

Describes a launch permission.

" } }, - "com.amazonaws.ec2#IpamPoolCidrSet": { + "com.amazonaws.ec2#LaunchPermissionList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#IpamPoolCidr", + "target": "com.amazonaws.ec2#LaunchPermission", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#IpamPoolCidrState": { - "type": "enum", + "com.amazonaws.ec2#LaunchPermissionModifications": { + "type": "structure", "members": { - "pending_provision": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "pending-provision" - } - }, - "provisioned": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "provisioned" - } - }, - "failed_provision": { - "target": "smithy.api#Unit", + "Add": { + "target": "com.amazonaws.ec2#LaunchPermissionList", "traits": { - "smithy.api#enumValue": "failed-provision" + "smithy.api#documentation": "

The Amazon Web Services account ID, organization ARN, or OU ARN to add to the list of launch permissions for the AMI.

" } }, - "pending_deprovision": { - "target": "smithy.api#Unit", + "Remove": { + "target": "com.amazonaws.ec2#LaunchPermissionList", "traits": { - "smithy.api#enumValue": "pending-deprovision" + "smithy.api#documentation": "

The Amazon Web Services account ID, organization ARN, or OU ARN to remove from the list of launch permissions for the AMI.

" } - }, - "deprovisioned": { - "target": "smithy.api#Unit", + } + }, + "traits": { + "smithy.api#documentation": "

Describes a launch permission modification.

" + } + }, + "com.amazonaws.ec2#LaunchSpecification": { + "type": "structure", + "members": { + "UserData": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "deprovisioned" + "aws.protocols#ec2QueryName": "UserData", + "smithy.api#documentation": "

The Base64-encoded user data for the instance.

", + "smithy.api#xmlName": "userData" } }, - "failed_deprovision": { - "target": "smithy.api#Unit", + "SecurityGroups": { + "target": "com.amazonaws.ec2#GroupIdentifierList", "traits": { - "smithy.api#enumValue": "failed-deprovision" + "aws.protocols#ec2QueryName": "GroupSet", + "smithy.api#documentation": "

One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.

", + "smithy.api#xmlName": "groupSet" } }, - "pending_import": { - "target": "smithy.api#Unit", + "AddressingType": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "pending-import" + "aws.protocols#ec2QueryName": "AddressingType", + "smithy.api#documentation": "

Deprecated.

", + "smithy.api#xmlName": "addressingType" } }, - "failed_import": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "failed-import" - } - } - } - }, - "com.amazonaws.ec2#IpamPoolId": { - "type": "string" - }, - "com.amazonaws.ec2#IpamPoolSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#IpamPool", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#IpamPoolState": { - "type": "enum", - "members": { - "create_in_progress": { - "target": "smithy.api#Unit", + "BlockDeviceMappings": { + "target": "com.amazonaws.ec2#BlockDeviceMappingList", "traits": { - "smithy.api#enumValue": "create-in-progress" + "aws.protocols#ec2QueryName": "BlockDeviceMapping", + "smithy.api#documentation": "

One or more block device mapping entries.

", + "smithy.api#xmlName": "blockDeviceMapping" } }, - "create_complete": { - "target": "smithy.api#Unit", + "EbsOptimized": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "create-complete" + "aws.protocols#ec2QueryName": "EbsOptimized", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

\n

Default: false\n

", + "smithy.api#xmlName": "ebsOptimized" } }, - "create_failed": { - "target": "smithy.api#Unit", + "IamInstanceProfile": { + "target": "com.amazonaws.ec2#IamInstanceProfileSpecification", "traits": { - "smithy.api#enumValue": "create-failed" + "aws.protocols#ec2QueryName": "IamInstanceProfile", + "smithy.api#documentation": "

The IAM instance profile.

", + "smithy.api#xmlName": "iamInstanceProfile" } }, - "modify_in_progress": { - "target": "smithy.api#Unit", + "ImageId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "modify-in-progress" + "aws.protocols#ec2QueryName": "ImageId", + "smithy.api#documentation": "

The ID of the AMI.

", + "smithy.api#xmlName": "imageId" } }, - "modify_complete": { - "target": "smithy.api#Unit", + "InstanceType": { + "target": "com.amazonaws.ec2#InstanceType", "traits": { - "smithy.api#enumValue": "modify-complete" + "aws.protocols#ec2QueryName": "InstanceType", + "smithy.api#documentation": "

The instance type. Only one instance type can be specified.

", + "smithy.api#xmlName": "instanceType" } }, - "modify_failed": { - "target": "smithy.api#Unit", + "KernelId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "modify-failed" + "aws.protocols#ec2QueryName": "KernelId", + "smithy.api#documentation": "

The ID of the kernel.

", + "smithy.api#xmlName": "kernelId" } }, - "delete_in_progress": { - "target": "smithy.api#Unit", + "KeyName": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "delete-in-progress" + "aws.protocols#ec2QueryName": "KeyName", + "smithy.api#documentation": "

The name of the key pair.

", + "smithy.api#xmlName": "keyName" } }, - "delete_complete": { - "target": "smithy.api#Unit", + "NetworkInterfaces": { + "target": "com.amazonaws.ec2#InstanceNetworkInterfaceSpecificationList", "traits": { - "smithy.api#enumValue": "delete-complete" + "aws.protocols#ec2QueryName": "NetworkInterfaceSet", + "smithy.api#documentation": "

One or more network interfaces. If you specify a network interface, you must specify \n subnet IDs and security group IDs using the network interface.

", + "smithy.api#xmlName": "networkInterfaceSet" } }, - "delete_failed": { - "target": "smithy.api#Unit", + "Placement": { + "target": "com.amazonaws.ec2#SpotPlacement", "traits": { - "smithy.api#enumValue": "delete-failed" + "aws.protocols#ec2QueryName": "Placement", + "smithy.api#documentation": "

The placement information for the instance.

", + "smithy.api#xmlName": "placement" } }, - "isolate_in_progress": { - "target": "smithy.api#Unit", + "RamdiskId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "isolate-in-progress" + "aws.protocols#ec2QueryName": "RamdiskId", + "smithy.api#documentation": "

The ID of the RAM disk.

", + "smithy.api#xmlName": "ramdiskId" } }, - "isolate_complete": { - "target": "smithy.api#Unit", + "SubnetId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "isolate-complete" + "aws.protocols#ec2QueryName": "SubnetId", + "smithy.api#documentation": "

The ID of the subnet in which to launch the instance.

", + "smithy.api#xmlName": "subnetId" } }, - "restore_in_progress": { - "target": "smithy.api#Unit", + "Monitoring": { + "target": "com.amazonaws.ec2#RunInstancesMonitoringEnabled", "traits": { - "smithy.api#enumValue": "restore-in-progress" + "aws.protocols#ec2QueryName": "Monitoring", + "smithy.api#xmlName": "monitoring" } } + }, + "traits": { + "smithy.api#documentation": "

Describes the launch specification for an instance.

" } }, - "com.amazonaws.ec2#IpamResourceCidr": { + "com.amazonaws.ec2#LaunchSpecsList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SpotFleetLaunchSpecification", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#LaunchTemplate": { "type": "structure", "members": { - "IpamId": { - "target": "com.amazonaws.ec2#IpamId", + "LaunchTemplateId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "IpamId", - "smithy.api#documentation": "

The IPAM ID for an IPAM resource.

", - "smithy.api#xmlName": "ipamId" + "aws.protocols#ec2QueryName": "LaunchTemplateId", + "smithy.api#documentation": "

The ID of the launch template.

", + "smithy.api#xmlName": "launchTemplateId" } }, - "IpamScopeId": { - "target": "com.amazonaws.ec2#IpamScopeId", + "LaunchTemplateName": { + "target": "com.amazonaws.ec2#LaunchTemplateName", "traits": { - "aws.protocols#ec2QueryName": "IpamScopeId", - "smithy.api#documentation": "

The scope ID for an IPAM resource.

", - "smithy.api#xmlName": "ipamScopeId" + "aws.protocols#ec2QueryName": "LaunchTemplateName", + "smithy.api#documentation": "

The name of the launch template.

", + "smithy.api#xmlName": "launchTemplateName" } }, - "IpamPoolId": { - "target": "com.amazonaws.ec2#IpamPoolId", + "CreateTime": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "IpamPoolId", - "smithy.api#documentation": "

The pool ID for an IPAM resource.

", - "smithy.api#xmlName": "ipamPoolId" + "aws.protocols#ec2QueryName": "CreateTime", + "smithy.api#documentation": "

The time launch template was created.

", + "smithy.api#xmlName": "createTime" } }, - "ResourceRegion": { + "CreatedBy": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ResourceRegion", - "smithy.api#documentation": "

The Amazon Web Services Region for an IPAM resource.

", - "smithy.api#xmlName": "resourceRegion" + "aws.protocols#ec2QueryName": "CreatedBy", + "smithy.api#documentation": "

The principal that created the launch template.

", + "smithy.api#xmlName": "createdBy" } }, - "ResourceOwnerId": { - "target": "com.amazonaws.ec2#String", + "DefaultVersionNumber": { + "target": "com.amazonaws.ec2#Long", "traits": { - "aws.protocols#ec2QueryName": "ResourceOwnerId", - "smithy.api#documentation": "

The Amazon Web Services account number of the owner of an IPAM resource.

", - "smithy.api#xmlName": "resourceOwnerId" + "aws.protocols#ec2QueryName": "DefaultVersionNumber", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The version number of the default version of the launch template.

", + "smithy.api#xmlName": "defaultVersionNumber" } }, - "ResourceId": { - "target": "com.amazonaws.ec2#String", + "LatestVersionNumber": { + "target": "com.amazonaws.ec2#Long", "traits": { - "aws.protocols#ec2QueryName": "ResourceId", - "smithy.api#documentation": "

The ID of an IPAM resource.

", - "smithy.api#xmlName": "resourceId" + "aws.protocols#ec2QueryName": "LatestVersionNumber", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The version number of the latest version of the launch template.

", + "smithy.api#xmlName": "latestVersionNumber" } }, - "ResourceName": { - "target": "com.amazonaws.ec2#String", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "ResourceName", - "smithy.api#documentation": "

The name of an IPAM resource.

", - "smithy.api#xmlName": "resourceName" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags for the launch template.

", + "smithy.api#xmlName": "tagSet" } - }, - "ResourceCidr": { - "target": "com.amazonaws.ec2#String", + } + }, + "traits": { + "smithy.api#documentation": "

Describes a launch template.

" + } + }, + "com.amazonaws.ec2#LaunchTemplateAndOverridesResponse": { + "type": "structure", + "members": { + "LaunchTemplateSpecification": { + "target": "com.amazonaws.ec2#FleetLaunchTemplateSpecification", "traits": { - "aws.protocols#ec2QueryName": "ResourceCidr", - "smithy.api#documentation": "

The CIDR for an IPAM resource.

", - "smithy.api#xmlName": "resourceCidr" + "aws.protocols#ec2QueryName": "LaunchTemplateSpecification", + "smithy.api#documentation": "

The launch template.

", + "smithy.api#xmlName": "launchTemplateSpecification" } }, - "ResourceType": { - "target": "com.amazonaws.ec2#IpamResourceType", + "Overrides": { + "target": "com.amazonaws.ec2#FleetLaunchTemplateOverrides", "traits": { - "aws.protocols#ec2QueryName": "ResourceType", - "smithy.api#documentation": "

The type of IPAM resource.

", - "smithy.api#xmlName": "resourceType" + "aws.protocols#ec2QueryName": "Overrides", + "smithy.api#documentation": "

Any parameters that you specify override the same parameters in the launch\n template.

", + "smithy.api#xmlName": "overrides" } - }, - "ResourceTags": { - "target": "com.amazonaws.ec2#IpamResourceTagList", + } + }, + "traits": { + "smithy.api#documentation": "

Describes a launch template and overrides.

" + } + }, + "com.amazonaws.ec2#LaunchTemplateAutoRecoveryState": { + "type": "enum", + "members": { + "default": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ResourceTagSet", - "smithy.api#documentation": "

The tags for an IPAM resource.

", - "smithy.api#xmlName": "resourceTagSet" + "smithy.api#enumValue": "default" } }, - "IpUsage": { - "target": "com.amazonaws.ec2#BoxedDouble", + "disabled": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "IpUsage", - "smithy.api#documentation": "

The percentage of IP address space in use. To convert the decimal to a percentage, multiply the decimal by 100. Note the following:

\n
    \n
  • \n

    For a resources that are VPCs, this is the percentage of IP address space in the VPC that's taken up by subnet CIDRs.\n

    \n
  • \n
  • \n

    For resources that are subnets, if the subnet has an IPv4 CIDR provisioned to it, this is the percentage of IPv4 address space in the subnet that's in use. If the subnet has an IPv6 CIDR provisioned to it, the percentage of IPv6 address space in use is not represented. The percentage of IPv6 address space in use cannot currently be calculated.\n

    \n
  • \n
  • \n

    For resources that are public IPv4 pools, this is the percentage of IP address space in the pool that's been allocated to Elastic IP addresses (EIPs).\n

    \n
  • \n
", - "smithy.api#xmlName": "ipUsage" + "smithy.api#enumValue": "disabled" } - }, - "ComplianceStatus": { - "target": "com.amazonaws.ec2#IpamComplianceStatus", + } + } + }, + "com.amazonaws.ec2#LaunchTemplateBlockDeviceMapping": { + "type": "structure", + "members": { + "DeviceName": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ComplianceStatus", - "smithy.api#documentation": "

The compliance status of the IPAM resource. For more information on compliance statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

", - "smithy.api#xmlName": "complianceStatus" + "aws.protocols#ec2QueryName": "DeviceName", + "smithy.api#documentation": "

The device name.

", + "smithy.api#xmlName": "deviceName" } }, - "ManagementState": { - "target": "com.amazonaws.ec2#IpamManagementState", + "VirtualName": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ManagementState", - "smithy.api#documentation": "

The management state of the resource. For more information about management states, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

", - "smithy.api#xmlName": "managementState" + "aws.protocols#ec2QueryName": "VirtualName", + "smithy.api#documentation": "

The virtual device name (ephemeralN).

", + "smithy.api#xmlName": "virtualName" } }, - "OverlapStatus": { - "target": "com.amazonaws.ec2#IpamOverlapStatus", + "Ebs": { + "target": "com.amazonaws.ec2#LaunchTemplateEbsBlockDevice", "traits": { - "aws.protocols#ec2QueryName": "OverlapStatus", - "smithy.api#documentation": "

The overlap status of an IPAM resource. The overlap status tells you if the CIDR for a resource overlaps with another CIDR in the scope. For more information on overlap statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

", - "smithy.api#xmlName": "overlapStatus" + "aws.protocols#ec2QueryName": "Ebs", + "smithy.api#documentation": "

Information about the block device for an EBS volume.

", + "smithy.api#xmlName": "ebs" } }, - "VpcId": { + "NoDevice": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "VpcId", - "smithy.api#documentation": "

The ID of a VPC.

", - "smithy.api#xmlName": "vpcId" + "aws.protocols#ec2QueryName": "NoDevice", + "smithy.api#documentation": "

To omit the device from the block device mapping, specify an empty string.

", + "smithy.api#xmlName": "noDevice" } } }, "traits": { - "smithy.api#documentation": "

The CIDR for an IPAM resource.

" + "smithy.api#documentation": "

Describes a block device mapping.

" } }, - "com.amazonaws.ec2#IpamResourceCidrSet": { + "com.amazonaws.ec2#LaunchTemplateBlockDeviceMappingList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#IpamResourceCidr", + "target": "com.amazonaws.ec2#LaunchTemplateBlockDeviceMapping", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#IpamResourceTag": { + "com.amazonaws.ec2#LaunchTemplateBlockDeviceMappingRequest": { "type": "structure", "members": { - "Key": { + "DeviceName": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Key", - "smithy.api#documentation": "

The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

", - "smithy.api#xmlName": "key" + "smithy.api#documentation": "

The device name (for example, /dev/sdh or xvdh).

" } }, - "Value": { + "VirtualName": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Value", - "smithy.api#documentation": "

The value of the tag.

", - "smithy.api#xmlName": "value" + "smithy.api#documentation": "

The virtual device name (ephemeralN). Instance store volumes are numbered starting\n from 0. An instance type with 2 available instance store volumes can specify mappings\n for ephemeral0 and ephemeral1. The number of available instance store volumes depends on\n the instance type. After you connect to the instance, you must mount the volume.

" + } + }, + "Ebs": { + "target": "com.amazonaws.ec2#LaunchTemplateEbsBlockDeviceRequest", + "traits": { + "smithy.api#documentation": "

Parameters used to automatically set up EBS volumes when the instance is\n launched.

" + } + }, + "NoDevice": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

To omit the device from the block device mapping, specify an empty string.

" } } }, "traits": { - "smithy.api#documentation": "

The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

" + "smithy.api#documentation": "

Describes a block device mapping.

" } }, - "com.amazonaws.ec2#IpamResourceTagList": { + "com.amazonaws.ec2#LaunchTemplateBlockDeviceMappingRequestList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#IpamResourceTag", + "target": "com.amazonaws.ec2#LaunchTemplateBlockDeviceMappingRequest", "traits": { - "smithy.api#xmlName": "item" + "smithy.api#xmlName": "BlockDeviceMapping" } } }, - "com.amazonaws.ec2#IpamResourceType": { - "type": "enum", + "com.amazonaws.ec2#LaunchTemplateCapacityReservationSpecificationRequest": { + "type": "structure", "members": { - "vpc": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "vpc" - } - }, - "subnet": { - "target": "smithy.api#Unit", + "CapacityReservationPreference": { + "target": "com.amazonaws.ec2#CapacityReservationPreference", "traits": { - "smithy.api#enumValue": "subnet" + "smithy.api#documentation": "

Indicates the instance's Capacity Reservation preferences. Possible preferences\n include:

\n
    \n
  • \n

    \n open - The instance can run in any open Capacity\n Reservation that has matching attributes (instance type, platform, Availability\n Zone).

    \n
  • \n
  • \n

    \n none - The instance avoids running in a Capacity Reservation even\n if one is available. The instance runs in On-Demand capacity.

    \n
  • \n
" } }, - "eip": { - "target": "smithy.api#Unit", + "CapacityReservationTarget": { + "target": "com.amazonaws.ec2#CapacityReservationTarget", "traits": { - "smithy.api#enumValue": "eip" + "smithy.api#documentation": "

Information about the target Capacity Reservation or Capacity Reservation\n group.

" } - }, - "public_ipv4_pool": { - "target": "smithy.api#Unit", + } + }, + "traits": { + "smithy.api#documentation": "

Describes an instance's Capacity Reservation targeting option. You can specify only\n one option at a time. Use the CapacityReservationPreference parameter to\n configure the instance to run in On-Demand capacity or to run in any open\n Capacity Reservation that has matching attributes (instance type, platform, Availability\n Zone). Use the CapacityReservationTarget parameter to explicitly target a\n specific Capacity Reservation or a Capacity Reservation group.

" + } + }, + "com.amazonaws.ec2#LaunchTemplateCapacityReservationSpecificationResponse": { + "type": "structure", + "members": { + "CapacityReservationPreference": { + "target": "com.amazonaws.ec2#CapacityReservationPreference", "traits": { - "smithy.api#enumValue": "public-ipv4-pool" + "aws.protocols#ec2QueryName": "CapacityReservationPreference", + "smithy.api#documentation": "

Indicates the instance's Capacity Reservation preferences. Possible preferences\n include:

\n
    \n
  • \n

    \n open - The instance can run in any open Capacity\n Reservation that has matching attributes (instance type, platform, Availability\n Zone).

    \n
  • \n
  • \n

    \n none - The instance avoids running in a Capacity Reservation even\n if one is available. The instance runs in On-Demand capacity.

    \n
  • \n
", + "smithy.api#xmlName": "capacityReservationPreference" } }, - "ipv6_pool": { - "target": "smithy.api#Unit", + "CapacityReservationTarget": { + "target": "com.amazonaws.ec2#CapacityReservationTargetResponse", "traits": { - "smithy.api#enumValue": "ipv6-pool" + "aws.protocols#ec2QueryName": "CapacityReservationTarget", + "smithy.api#documentation": "

Information about the target Capacity Reservation or Capacity Reservation\n group.

", + "smithy.api#xmlName": "capacityReservationTarget" } } + }, + "traits": { + "smithy.api#documentation": "

Information about the Capacity Reservation targeting option.

" } }, - "com.amazonaws.ec2#IpamScope": { + "com.amazonaws.ec2#LaunchTemplateConfig": { "type": "structure", "members": { - "OwnerId": { - "target": "com.amazonaws.ec2#String", + "LaunchTemplateSpecification": { + "target": "com.amazonaws.ec2#FleetLaunchTemplateSpecification", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The Amazon Web Services account ID of the owner of the scope.

", - "smithy.api#xmlName": "ownerId" + "aws.protocols#ec2QueryName": "LaunchTemplateSpecification", + "smithy.api#documentation": "

The launch template.

", + "smithy.api#xmlName": "launchTemplateSpecification" } }, - "IpamScopeId": { - "target": "com.amazonaws.ec2#IpamScopeId", + "Overrides": { + "target": "com.amazonaws.ec2#LaunchTemplateOverridesList", "traits": { - "aws.protocols#ec2QueryName": "IpamScopeId", - "smithy.api#documentation": "

The ID of the scope.

", - "smithy.api#xmlName": "ipamScopeId" + "aws.protocols#ec2QueryName": "Overrides", + "smithy.api#documentation": "

Any parameters that you specify override the same parameters in the launch\n template.

", + "smithy.api#xmlName": "overrides" } - }, - "IpamScopeArn": { - "target": "com.amazonaws.ec2#ResourceArn", + } + }, + "traits": { + "smithy.api#documentation": "

Describes a launch template and overrides.

" + } + }, + "com.amazonaws.ec2#LaunchTemplateConfigList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#LaunchTemplateConfig", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#LaunchTemplateCpuOptions": { + "type": "structure", + "members": { + "CoreCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "IpamScopeArn", - "smithy.api#documentation": "

The ARN of the scope.

", - "smithy.api#xmlName": "ipamScopeArn" + "aws.protocols#ec2QueryName": "CoreCount", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of CPU cores for the instance.

", + "smithy.api#xmlName": "coreCount" } }, - "IpamArn": { - "target": "com.amazonaws.ec2#ResourceArn", + "ThreadsPerCore": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "IpamArn", - "smithy.api#documentation": "

The ARN of the IPAM.

", - "smithy.api#xmlName": "ipamArn" + "aws.protocols#ec2QueryName": "ThreadsPerCore", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of threads per CPU core.

", + "smithy.api#xmlName": "threadsPerCore" } - }, - "IpamRegion": { - "target": "com.amazonaws.ec2#String", + } + }, + "traits": { + "smithy.api#documentation": "

The CPU options for the instance.

" + } + }, + "com.amazonaws.ec2#LaunchTemplateCpuOptionsRequest": { + "type": "structure", + "members": { + "CoreCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "IpamRegion", - "smithy.api#documentation": "

The Amazon Web Services Region of the IPAM scope.

", - "smithy.api#xmlName": "ipamRegion" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of CPU cores for the instance.

" } }, - "IpamScopeType": { - "target": "com.amazonaws.ec2#IpamScopeType", + "ThreadsPerCore": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "IpamScopeType", - "smithy.api#documentation": "

The type of the scope.

", - "smithy.api#xmlName": "ipamScopeType" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of threads per CPU core. To disable multithreading for the instance,\n specify a value of 1. Otherwise, specify the default value of\n 2.

" } - }, - "IsDefault": { + } + }, + "traits": { + "smithy.api#documentation": "

The CPU options for the instance. Both the core count and threads per core must be\n specified in the request.

" + } + }, + "com.amazonaws.ec2#LaunchTemplateEbsBlockDevice": { + "type": "structure", + "members": { + "Encrypted": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "IsDefault", + "aws.protocols#ec2QueryName": "Encrypted", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Defines if the scope is the default scope or not.

", - "smithy.api#xmlName": "isDefault" + "smithy.api#documentation": "

Indicates whether the EBS volume is encrypted.

", + "smithy.api#xmlName": "encrypted" } }, - "Description": { - "target": "com.amazonaws.ec2#String", + "DeleteOnTermination": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

The description of the scope.

", - "smithy.api#xmlName": "description" + "aws.protocols#ec2QueryName": "DeleteOnTermination", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the EBS volume is deleted on instance termination.

", + "smithy.api#xmlName": "deleteOnTermination" } }, - "PoolCount": { + "Iops": { "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "PoolCount", + "aws.protocols#ec2QueryName": "Iops", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The number of pools in the scope.

", - "smithy.api#xmlName": "poolCount" + "smithy.api#documentation": "

The number of I/O operations per second (IOPS) that the volume supports.

", + "smithy.api#xmlName": "iops" } }, - "State": { - "target": "com.amazonaws.ec2#IpamScopeState", + "KmsKeyId": { + "target": "com.amazonaws.ec2#KmsKeyId", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the IPAM scope.

", - "smithy.api#xmlName": "state" + "aws.protocols#ec2QueryName": "KmsKeyId", + "smithy.api#documentation": "

The ARN of the Key Management Service (KMS) CMK used for encryption.

", + "smithy.api#xmlName": "kmsKeyId" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", - "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

", - "smithy.api#xmlName": "tagSet" - } - } - }, - "traits": { - "smithy.api#documentation": "

In IPAM, a scope is the highest-level container within IPAM. An IPAM contains two default scopes. Each scope represents the IP space for a single network. The private scope is intended for all private IP address space. The public scope is intended for all public IP address space. Scopes enable you to reuse IP addresses across multiple unconnected networks without causing IP address overlap or conflict.

\n

For more information, see How IPAM works in the Amazon VPC IPAM User Guide.

" - } - }, - "com.amazonaws.ec2#IpamScopeId": { - "type": "string" - }, - "com.amazonaws.ec2#IpamScopeSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#IpamScope", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#IpamScopeState": { - "type": "enum", - "members": { - "create_in_progress": { - "target": "smithy.api#Unit", + "SnapshotId": { + "target": "com.amazonaws.ec2#SnapshotId", "traits": { - "smithy.api#enumValue": "create-in-progress" + "aws.protocols#ec2QueryName": "SnapshotId", + "smithy.api#documentation": "

The ID of the snapshot.

", + "smithy.api#xmlName": "snapshotId" } }, - "create_complete": { - "target": "smithy.api#Unit", + "VolumeSize": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "create-complete" + "aws.protocols#ec2QueryName": "VolumeSize", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The size of the volume, in GiB.

", + "smithy.api#xmlName": "volumeSize" } }, - "create_failed": { - "target": "smithy.api#Unit", + "VolumeType": { + "target": "com.amazonaws.ec2#VolumeType", "traits": { - "smithy.api#enumValue": "create-failed" + "aws.protocols#ec2QueryName": "VolumeType", + "smithy.api#documentation": "

The volume type.

", + "smithy.api#xmlName": "volumeType" } }, - "modify_in_progress": { - "target": "smithy.api#Unit", + "Throughput": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "modify-in-progress" + "aws.protocols#ec2QueryName": "Throughput", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The throughput that the volume supports, in MiB/s.

", + "smithy.api#xmlName": "throughput" } - }, - "modify_complete": { - "target": "smithy.api#Unit", + } + }, + "traits": { + "smithy.api#documentation": "

Describes a block device for an EBS volume.

" + } + }, + "com.amazonaws.ec2#LaunchTemplateEbsBlockDeviceRequest": { + "type": "structure", + "members": { + "Encrypted": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "modify-complete" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the EBS volume is encrypted. Encrypted volumes can only be attached\n to instances that support Amazon EBS encryption. If you are creating a volume from a\n snapshot, you can't specify an encryption value.

" } }, - "modify_failed": { - "target": "smithy.api#Unit", + "DeleteOnTermination": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "modify-failed" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the EBS volume is deleted on instance termination.

" } }, - "delete_in_progress": { - "target": "smithy.api#Unit", + "Iops": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "delete-in-progress" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of I/O operations per second (IOPS). For gp3,\n io1, and io2 volumes, this represents the number of IOPS that\n are provisioned for the volume. For gp2 volumes, this represents the\n baseline performance of the volume and the rate at which the volume accumulates I/O\n credits for bursting.

\n

The following are the supported values for each volume type:

\n
    \n
  • \n

    \n gp3: 3,000-16,000 IOPS

    \n
  • \n
  • \n

    \n io1: 100-64,000 IOPS

    \n
  • \n
  • \n

    \n io2: 100-64,000 IOPS

    \n
  • \n
\n

For io1 and io2 volumes, we guarantee\n 64,000 IOPS only for Instances built on the\n Nitro System. Other instance families guarantee performance up to\n 32,000 IOPS.

\n

This parameter is supported for io1, io2, and gp3 volumes only. This parameter\n is not supported for gp2, st1, sc1, or standard volumes.

" } }, - "delete_complete": { - "target": "smithy.api#Unit", + "KmsKeyId": { + "target": "com.amazonaws.ec2#KmsKeyId", "traits": { - "smithy.api#enumValue": "delete-complete" + "smithy.api#documentation": "

The ARN of the symmetric Key Management Service (KMS) CMK used for encryption.

" } }, - "delete_failed": { - "target": "smithy.api#Unit", + "SnapshotId": { + "target": "com.amazonaws.ec2#SnapshotId", "traits": { - "smithy.api#enumValue": "delete-failed" + "smithy.api#documentation": "

The ID of the snapshot.

" } }, - "isolate_in_progress": { - "target": "smithy.api#Unit", + "VolumeSize": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "isolate-in-progress" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The size of the volume, in GiBs. You must specify either a snapshot ID or a volume\n size. The following are the supported volumes sizes for each volume type:

\n
    \n
  • \n

    \n gp2 and gp3: 1-16,384

    \n
  • \n
  • \n

    \n io1 and io2: 4-16,384

    \n
  • \n
  • \n

    \n st1 and sc1: 125-16,384

    \n
  • \n
  • \n

    \n standard: 1-1,024

    \n
  • \n
" } }, - "isolate_complete": { - "target": "smithy.api#Unit", + "VolumeType": { + "target": "com.amazonaws.ec2#VolumeType", "traits": { - "smithy.api#enumValue": "isolate-complete" + "smithy.api#documentation": "

The volume type. For more information, see Amazon EBS volume types in the\n Amazon Elastic Compute Cloud User Guide.

" } }, - "restore_in_progress": { - "target": "smithy.api#Unit", + "Throughput": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "restore-in-progress" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The throughput to provision for a gp3 volume, with a maximum of 1,000\n MiB/s.

\n

Valid Range: Minimum value of 125. Maximum value of 1000.

" } } + }, + "traits": { + "smithy.api#documentation": "

The parameters for a block device for an EBS volume.

" } }, - "com.amazonaws.ec2#IpamScopeType": { - "type": "enum", + "com.amazonaws.ec2#LaunchTemplateElasticInferenceAccelerator": { + "type": "structure", "members": { - "public": { - "target": "smithy.api#Unit", + "Type": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "public" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The type of elastic inference accelerator. The possible values are eia1.medium,\n eia1.large, and eia1.xlarge.

", + "smithy.api#required": {} } }, - "private": { - "target": "smithy.api#Unit", + "Count": { + "target": "com.amazonaws.ec2#LaunchTemplateElasticInferenceAcceleratorCount", "traits": { - "smithy.api#enumValue": "private" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of elastic inference accelerators to attach to the instance.

\n

Default: 1

" } } + }, + "traits": { + "smithy.api#documentation": "

Describes an elastic inference accelerator.

" } }, - "com.amazonaws.ec2#IpamSet": { + "com.amazonaws.ec2#LaunchTemplateElasticInferenceAcceleratorCount": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 1 + } + } + }, + "com.amazonaws.ec2#LaunchTemplateElasticInferenceAcceleratorList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#Ipam", + "target": "com.amazonaws.ec2#LaunchTemplateElasticInferenceAccelerator", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#IpamState": { - "type": "enum", + "com.amazonaws.ec2#LaunchTemplateElasticInferenceAcceleratorResponse": { + "type": "structure", "members": { - "create_in_progress": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "create-in-progress" - } - }, - "create_complete": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "create-complete" - } - }, - "create_failed": { - "target": "smithy.api#Unit", + "Type": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "create-failed" + "aws.protocols#ec2QueryName": "Type", + "smithy.api#documentation": "

The type of elastic inference accelerator. The possible values are eia1.medium,\n eia1.large, and eia1.xlarge.

", + "smithy.api#xmlName": "type" } }, - "modify_in_progress": { - "target": "smithy.api#Unit", + "Count": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "modify-in-progress" + "aws.protocols#ec2QueryName": "Count", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of elastic inference accelerators to attach to the instance.

\n

Default: 1

", + "smithy.api#xmlName": "count" } - }, - "modify_complete": { - "target": "smithy.api#Unit", + } + }, + "traits": { + "smithy.api#documentation": "

Describes an elastic inference accelerator.

" + } + }, + "com.amazonaws.ec2#LaunchTemplateElasticInferenceAcceleratorResponseList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#LaunchTemplateElasticInferenceAcceleratorResponse", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#LaunchTemplateEnclaveOptions": { + "type": "structure", + "members": { + "Enabled": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "modify-complete" + "aws.protocols#ec2QueryName": "Enabled", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

If this parameter is set to true, the instance is enabled for Amazon Web Services Nitro\n Enclaves; otherwise, it is not enabled for Amazon Web Services Nitro Enclaves.

", + "smithy.api#xmlName": "enabled" } - }, - "modify_failed": { - "target": "smithy.api#Unit", + } + }, + "traits": { + "smithy.api#documentation": "

Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

" + } + }, + "com.amazonaws.ec2#LaunchTemplateEnclaveOptionsRequest": { + "type": "structure", + "members": { + "Enabled": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "modify-failed" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

To enable the instance for Amazon Web Services Nitro Enclaves, set this parameter to\n true.

" } - }, - "delete_in_progress": { + } + }, + "traits": { + "smithy.api#documentation": "

Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more\n information, see What is Amazon Web Services Nitro Enclaves?\n in the Amazon Web Services Nitro Enclaves User Guide.

" + } + }, + "com.amazonaws.ec2#LaunchTemplateErrorCode": { + "type": "enum", + "members": { + "LAUNCH_TEMPLATE_ID_DOES_NOT_EXIST": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "delete-in-progress" + "smithy.api#enumValue": "launchTemplateIdDoesNotExist" } }, - "delete_complete": { + "LAUNCH_TEMPLATE_ID_MALFORMED": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "delete-complete" + "smithy.api#enumValue": "launchTemplateIdMalformed" } }, - "delete_failed": { + "LAUNCH_TEMPLATE_NAME_DOES_NOT_EXIST": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "delete-failed" + "smithy.api#enumValue": "launchTemplateNameDoesNotExist" } }, - "isolate_in_progress": { + "LAUNCH_TEMPLATE_NAME_MALFORMED": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "isolate-in-progress" + "smithy.api#enumValue": "launchTemplateNameMalformed" } }, - "isolate_complete": { + "LAUNCH_TEMPLATE_VERSION_DOES_NOT_EXIST": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "isolate-complete" + "smithy.api#enumValue": "launchTemplateVersionDoesNotExist" } }, - "restore_in_progress": { + "UNEXPECTED_ERROR": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "restore-in-progress" + "smithy.api#enumValue": "unexpectedError" } } } }, - "com.amazonaws.ec2#Ipv4PoolCoipId": { - "type": "string" - }, - "com.amazonaws.ec2#Ipv4PoolEc2Id": { - "type": "string" - }, - "com.amazonaws.ec2#Ipv4PrefixList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Ipv4PrefixSpecificationRequest", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#Ipv4PrefixListResponse": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Ipv4PrefixSpecificationResponse", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#Ipv4PrefixSpecification": { + "com.amazonaws.ec2#LaunchTemplateHibernationOptions": { "type": "structure", "members": { - "Ipv4Prefix": { - "target": "com.amazonaws.ec2#String", + "Configured": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Ipv4Prefix", - "smithy.api#documentation": "

The IPv4 prefix. For information, see \n Assigning prefixes to Amazon EC2 network interfaces in the\n Amazon Elastic Compute Cloud User Guide.

", - "smithy.api#xmlName": "ipv4Prefix" + "aws.protocols#ec2QueryName": "Configured", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

If this parameter is set to true, the instance is enabled for\n hibernation; otherwise, it is not enabled for hibernation.

", + "smithy.api#xmlName": "configured" } } }, "traits": { - "smithy.api#documentation": "

Describes an IPv4 prefix.

" + "smithy.api#documentation": "

Indicates whether an instance is configured for hibernation.

" } }, - "com.amazonaws.ec2#Ipv4PrefixSpecificationRequest": { + "com.amazonaws.ec2#LaunchTemplateHibernationOptionsRequest": { "type": "structure", "members": { - "Ipv4Prefix": { - "target": "com.amazonaws.ec2#String", + "Configured": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The IPv4 prefix. For information, see \n Assigning prefixes to Amazon EC2 network interfaces in the\n Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

If you set this parameter to true, the instance is enabled for\n hibernation.

\n

Default: false\n

" } } }, "traits": { - "smithy.api#documentation": "

Describes the IPv4 prefix option for a network interface.

" + "smithy.api#documentation": "

Indicates whether the instance is configured for hibernation. This parameter is valid\n only if the instance meets the hibernation\n prerequisites.

" } }, - "com.amazonaws.ec2#Ipv4PrefixSpecificationResponse": { + "com.amazonaws.ec2#LaunchTemplateHttpTokensState": { + "type": "enum", + "members": { + "optional": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "optional" + } + }, + "required": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "required" + } + } + } + }, + "com.amazonaws.ec2#LaunchTemplateIamInstanceProfileSpecification": { "type": "structure", "members": { - "Ipv4Prefix": { + "Arn": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Ipv4Prefix", - "smithy.api#documentation": "

The IPv4 delegated prefixes assigned to the network interface.

", - "smithy.api#xmlName": "ipv4Prefix" + "aws.protocols#ec2QueryName": "Arn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the instance profile.

", + "smithy.api#xmlName": "arn" + } + }, + "Name": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Name", + "smithy.api#documentation": "

The name of the instance profile.

", + "smithy.api#xmlName": "name" } } }, "traits": { - "smithy.api#documentation": "

Information about the IPv4 delegated prefixes assigned \n to a network interface.

" - } - }, - "com.amazonaws.ec2#Ipv4PrefixesList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Ipv4PrefixSpecification", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#Ipv6Address": { - "type": "string" - }, - "com.amazonaws.ec2#Ipv6AddressList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

Describes an IAM instance profile.

" } }, - "com.amazonaws.ec2#Ipv6CidrAssociation": { + "com.amazonaws.ec2#LaunchTemplateIamInstanceProfileSpecificationRequest": { "type": "structure", "members": { - "Ipv6Cidr": { + "Arn": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Ipv6Cidr", - "smithy.api#documentation": "

The IPv6 CIDR block.

", - "smithy.api#xmlName": "ipv6Cidr" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the instance profile.

" } }, - "AssociatedResource": { + "Name": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AssociatedResource", - "smithy.api#documentation": "

The resource that's associated with the IPv6 CIDR block.

", - "smithy.api#xmlName": "associatedResource" + "smithy.api#documentation": "

The name of the instance profile.

" } } }, "traits": { - "smithy.api#documentation": "

Describes an IPv6 CIDR block association.

" + "smithy.api#documentation": "

An IAM instance profile.

" } }, - "com.amazonaws.ec2#Ipv6CidrAssociationSet": { + "com.amazonaws.ec2#LaunchTemplateId": { + "type": "string" + }, + "com.amazonaws.ec2#LaunchTemplateIdStringList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#Ipv6CidrAssociation", + "target": "com.amazonaws.ec2#LaunchTemplateId", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#Ipv6CidrBlock": { + "com.amazonaws.ec2#LaunchTemplateInstanceMaintenanceOptions": { "type": "structure", "members": { - "Ipv6CidrBlock": { - "target": "com.amazonaws.ec2#String", + "AutoRecovery": { + "target": "com.amazonaws.ec2#LaunchTemplateAutoRecoveryState", "traits": { - "aws.protocols#ec2QueryName": "Ipv6CidrBlock", - "smithy.api#documentation": "

The IPv6 CIDR block.

", - "smithy.api#xmlName": "ipv6CidrBlock" + "aws.protocols#ec2QueryName": "AutoRecovery", + "smithy.api#documentation": "

Disables the automatic recovery behavior of your instance or sets it to\n default.

", + "smithy.api#xmlName": "autoRecovery" } } }, "traits": { - "smithy.api#documentation": "

Describes an IPv6 CIDR block.

" + "smithy.api#documentation": "

The maintenance options of your instance.

" } }, - "com.amazonaws.ec2#Ipv6CidrBlockSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Ipv6CidrBlock", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#LaunchTemplateInstanceMaintenanceOptionsRequest": { + "type": "structure", + "members": { + "AutoRecovery": { + "target": "com.amazonaws.ec2#LaunchTemplateAutoRecoveryState", + "traits": { + "smithy.api#documentation": "

Disables the automatic recovery behavior of your instance or sets it to default. For\n more information, see Simplified automatic recovery.

" + } } + }, + "traits": { + "smithy.api#documentation": "

The maintenance options of your instance.

" } }, - "com.amazonaws.ec2#Ipv6Flag": { - "type": "boolean" - }, - "com.amazonaws.ec2#Ipv6Pool": { + "com.amazonaws.ec2#LaunchTemplateInstanceMarketOptions": { "type": "structure", "members": { - "PoolId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "PoolId", - "smithy.api#documentation": "

The ID of the address pool.

", - "smithy.api#xmlName": "poolId" - } - }, - "Description": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

The description for the address pool.

", - "smithy.api#xmlName": "description" - } - }, - "PoolCidrBlocks": { - "target": "com.amazonaws.ec2#PoolCidrBlocksSet", + "MarketType": { + "target": "com.amazonaws.ec2#MarketType", "traits": { - "aws.protocols#ec2QueryName": "PoolCidrBlockSet", - "smithy.api#documentation": "

The CIDR blocks for the address pool.

", - "smithy.api#xmlName": "poolCidrBlockSet" + "aws.protocols#ec2QueryName": "MarketType", + "smithy.api#documentation": "

The market type.

", + "smithy.api#xmlName": "marketType" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "SpotOptions": { + "target": "com.amazonaws.ec2#LaunchTemplateSpotMarketOptions", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags for the address pool.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "SpotOptions", + "smithy.api#documentation": "

The options for Spot Instances.

", + "smithy.api#xmlName": "spotOptions" } } }, "traits": { - "smithy.api#documentation": "

Describes an IPv6 address pool.

" - } - }, - "com.amazonaws.ec2#Ipv6PoolEc2Id": { - "type": "string" - }, - "com.amazonaws.ec2#Ipv6PoolIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Ipv6PoolEc2Id", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#Ipv6PoolMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 1, - "max": 1000 - } - } - }, - "com.amazonaws.ec2#Ipv6PoolSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Ipv6Pool", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#Ipv6PrefixList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Ipv6PrefixSpecificationRequest", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#Ipv6PrefixListResponse": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Ipv6PrefixSpecificationResponse", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

The market (purchasing) option for the instances.

" } }, - "com.amazonaws.ec2#Ipv6PrefixSpecification": { + "com.amazonaws.ec2#LaunchTemplateInstanceMarketOptionsRequest": { "type": "structure", "members": { - "Ipv6Prefix": { - "target": "com.amazonaws.ec2#String", + "MarketType": { + "target": "com.amazonaws.ec2#MarketType", + "traits": { + "smithy.api#documentation": "

The market type.

" + } + }, + "SpotOptions": { + "target": "com.amazonaws.ec2#LaunchTemplateSpotMarketOptionsRequest", "traits": { - "aws.protocols#ec2QueryName": "Ipv6Prefix", - "smithy.api#documentation": "

The IPv6 prefix.

", - "smithy.api#xmlName": "ipv6Prefix" + "smithy.api#documentation": "

The options for Spot Instances.

" } } }, "traits": { - "smithy.api#documentation": "

Describes the IPv6 prefix.

" + "smithy.api#documentation": "

The market (purchasing) option for the instances.

" } }, - "com.amazonaws.ec2#Ipv6PrefixSpecificationRequest": { - "type": "structure", + "com.amazonaws.ec2#LaunchTemplateInstanceMetadataEndpointState": { + "type": "enum", "members": { - "Ipv6Prefix": { - "target": "com.amazonaws.ec2#String", + "disabled": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The IPv6 prefix.

" + "smithy.api#enumValue": "disabled" + } + }, + "enabled": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "enabled" } } - }, - "traits": { - "smithy.api#documentation": "

Describes the IPv4 prefix option for a network interface.

" } }, - "com.amazonaws.ec2#Ipv6PrefixSpecificationResponse": { + "com.amazonaws.ec2#LaunchTemplateInstanceMetadataOptions": { "type": "structure", "members": { - "Ipv6Prefix": { - "target": "com.amazonaws.ec2#String", + "State": { + "target": "com.amazonaws.ec2#LaunchTemplateInstanceMetadataOptionsState", "traits": { - "aws.protocols#ec2QueryName": "Ipv6Prefix", - "smithy.api#documentation": "

The IPv6 delegated prefixes assigned to the network interface.

", - "smithy.api#xmlName": "ipv6Prefix" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the metadata option changes.

\n

\n pending - The metadata options are being updated and the instance is not\n ready to process metadata traffic with the new selection.

\n

\n applied - The metadata options have been successfully applied on the\n instance.

", + "smithy.api#xmlName": "state" + } + }, + "HttpTokens": { + "target": "com.amazonaws.ec2#LaunchTemplateHttpTokensState", + "traits": { + "aws.protocols#ec2QueryName": "HttpTokens", + "smithy.api#documentation": "

Indicates whether IMDSv2 is optional or required.

\n

\n optional - When IMDSv2 is optional, you can choose to retrieve instance metadata with or without \n a session token in your request. If you retrieve the IAM role credentials \n without a token, the IMDSv1 role credentials are returned. If you retrieve the IAM role credentials \n using a valid session token, the IMDSv2 role credentials are returned.

\n

\n required - When IMDSv2 is required, you must send a session token \n with any instance metadata retrieval requests. In this state, retrieving the IAM role \n credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available.

\n

Default: optional\n

", + "smithy.api#xmlName": "httpTokens" + } + }, + "HttpPutResponseHopLimit": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "HttpPutResponseHopLimit", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The desired HTTP PUT response hop limit for instance metadata requests. The larger the\n number, the further instance metadata requests can travel.

\n

Default: 1

\n

Possible values: Integers from 1 to 64

", + "smithy.api#xmlName": "httpPutResponseHopLimit" + } + }, + "HttpEndpoint": { + "target": "com.amazonaws.ec2#LaunchTemplateInstanceMetadataEndpointState", + "traits": { + "aws.protocols#ec2QueryName": "HttpEndpoint", + "smithy.api#documentation": "

Enables or disables the HTTP metadata endpoint on your instances. If the parameter is\n not specified, the default state is enabled.

\n \n

If you specify a value of disabled, you will not be able to access\n your instance metadata.

\n
", + "smithy.api#xmlName": "httpEndpoint" + } + }, + "HttpProtocolIpv6": { + "target": "com.amazonaws.ec2#LaunchTemplateInstanceMetadataProtocolIpv6", + "traits": { + "aws.protocols#ec2QueryName": "HttpProtocolIpv6", + "smithy.api#documentation": "

Enables or disables the IPv6 endpoint for the instance metadata service.

\n

Default: disabled\n

", + "smithy.api#xmlName": "httpProtocolIpv6" + } + }, + "InstanceMetadataTags": { + "target": "com.amazonaws.ec2#LaunchTemplateInstanceMetadataTagsState", + "traits": { + "aws.protocols#ec2QueryName": "InstanceMetadataTags", + "smithy.api#documentation": "

Set to enabled to allow access to instance tags from the instance\n metadata. Set to disabled to turn off access to instance tags from the\n instance metadata. For more information, see Work with\n instance tags using the instance metadata.

\n

Default: disabled\n

", + "smithy.api#xmlName": "instanceMetadataTags" } } }, "traits": { - "smithy.api#documentation": "

Information about the IPv6 delegated prefixes assigned \n to a network interface.

" - } - }, - "com.amazonaws.ec2#Ipv6PrefixesList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Ipv6PrefixSpecification", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

The metadata options for the instance. For more information, see Instance metadata and user data in the\n Amazon Elastic Compute Cloud User Guide.

" } }, - "com.amazonaws.ec2#Ipv6Range": { + "com.amazonaws.ec2#LaunchTemplateInstanceMetadataOptionsRequest": { "type": "structure", "members": { - "CidrIpv6": { - "target": "com.amazonaws.ec2#String", + "HttpTokens": { + "target": "com.amazonaws.ec2#LaunchTemplateHttpTokensState", "traits": { - "aws.protocols#ec2QueryName": "CidrIpv6", - "smithy.api#documentation": "

The IPv6 CIDR range. You can either specify a CIDR range or a source security group,\n not both. To specify a single IPv6 address, use the /128 prefix length.

", - "smithy.api#xmlName": "cidrIpv6" + "smithy.api#documentation": "

IMDSv2 uses token-backed sessions. Set the use of HTTP tokens to optional\n (in other words, set the use of IMDSv2 to optional) or\n required (in other words, set the use of IMDSv2 to\n required).

\n
    \n
  • \n

    \n optional - When IMDSv2 is optional, you can choose to retrieve instance metadata with or without \n a session token in your request. If you retrieve the IAM role credentials \n without a token, the IMDSv1 role credentials are returned. If you retrieve the IAM role credentials \n using a valid session token, the IMDSv2 role credentials are returned.

    \n
  • \n
  • \n

    \n required - When IMDSv2 is required, you must send a session token \n with any instance metadata retrieval requests. In this state, retrieving the IAM role \n credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available.

    \n
  • \n
\n

Default: optional\n

" } }, - "Description": { - "target": "com.amazonaws.ec2#String", + "HttpPutResponseHopLimit": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

A description for the security group rule that references this IPv6 address range.

\n

Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9,\n spaces, and ._-:/()#,@[]+=&;{}!$*

", - "smithy.api#xmlName": "description" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The desired HTTP PUT response hop limit for instance metadata requests. The larger the\n number, the further instance metadata requests can travel.

\n

Default: 1\n

\n

Possible values: Integers from 1 to 64

" + } + }, + "HttpEndpoint": { + "target": "com.amazonaws.ec2#LaunchTemplateInstanceMetadataEndpointState", + "traits": { + "smithy.api#documentation": "

Enables or disables the HTTP metadata endpoint on your instances. If the parameter is\n not specified, the default state is enabled.

\n \n

If you specify a value of disabled, you will not be able to access\n your instance metadata.

\n
" + } + }, + "HttpProtocolIpv6": { + "target": "com.amazonaws.ec2#LaunchTemplateInstanceMetadataProtocolIpv6", + "traits": { + "smithy.api#documentation": "

Enables or disables the IPv6 endpoint for the instance metadata service.

\n

Default: disabled\n

" + } + }, + "InstanceMetadataTags": { + "target": "com.amazonaws.ec2#LaunchTemplateInstanceMetadataTagsState", + "traits": { + "smithy.api#documentation": "

Set to enabled to allow access to instance tags from the instance\n metadata. Set to disabled to turn off access to instance tags from the\n instance metadata. For more information, see Work with\n instance tags using the instance metadata.

\n

Default: disabled\n

" } } }, "traits": { - "smithy.api#documentation": "

[EC2-VPC only] Describes an IPv6 range.

" - } - }, - "com.amazonaws.ec2#Ipv6RangeList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Ipv6Range", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

The metadata options for the instance. For more information, see Instance metadata and user data in the\n Amazon Elastic Compute Cloud User Guide.

" } }, - "com.amazonaws.ec2#Ipv6SupportValue": { + "com.amazonaws.ec2#LaunchTemplateInstanceMetadataOptionsState": { "type": "enum", "members": { - "enable": { + "pending": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "enable" + "smithy.api#enumValue": "pending" } }, - "disable": { + "applied": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "disable" + "smithy.api#enumValue": "applied" } } } }, - "com.amazonaws.ec2#KernelId": { - "type": "string" - }, - "com.amazonaws.ec2#KeyFormat": { + "com.amazonaws.ec2#LaunchTemplateInstanceMetadataProtocolIpv6": { "type": "enum", "members": { - "pem": { + "disabled": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "pem" + "smithy.api#enumValue": "disabled" } }, - "ppk": { + "enabled": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "ppk" + "smithy.api#enumValue": "enabled" } } } }, - "com.amazonaws.ec2#KeyNameStringList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#KeyPairName", - "traits": { - "smithy.api#xmlName": "KeyName" + "com.amazonaws.ec2#LaunchTemplateInstanceMetadataTagsState": { + "type": "enum", + "members": { + "disabled": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disabled" + } + }, + "enabled": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "enabled" + } } } }, - "com.amazonaws.ec2#KeyPair": { + "com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecification": { "type": "structure", "members": { - "KeyFingerprint": { + "AssociateCarrierIpAddress": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "AssociateCarrierIpAddress", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to associate a Carrier IP address with eth0 for a new network\n interface.

\n

Use this option when you launch an instance in a Wavelength Zone and want to associate\n a Carrier IP address with the network interface. For more information about Carrier IP\n addresses, see Carrier IP addresses in the Wavelength Developer\n Guide.

", + "smithy.api#xmlName": "associateCarrierIpAddress" + } + }, + "AssociatePublicIpAddress": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "AssociatePublicIpAddress", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to associate a public IPv4 address with eth0 for a new network\n interface.

", + "smithy.api#xmlName": "associatePublicIpAddress" + } + }, + "DeleteOnTermination": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DeleteOnTermination", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the network interface is deleted when the instance is\n terminated.

", + "smithy.api#xmlName": "deleteOnTermination" + } + }, + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "KeyFingerprint", - "smithy.api#documentation": "
    \n
  • \n

    For RSA key pairs, the key fingerprint is the SHA-1 digest of the DER encoded private key.

    \n
  • \n
  • \n

    For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 digest, which is the default for OpenSSH, starting with OpenSSH 6.8.

    \n
  • \n
", - "smithy.api#xmlName": "keyFingerprint" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A description for the network interface.

", + "smithy.api#xmlName": "description" } }, - "KeyMaterial": { - "target": "com.amazonaws.ec2#SensitiveUserData", + "DeviceIndex": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "KeyMaterial", - "smithy.api#documentation": "

An unencrypted PEM encoded RSA or ED25519 private key.

", - "smithy.api#xmlName": "keyMaterial" + "aws.protocols#ec2QueryName": "DeviceIndex", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The device index for the network interface attachment.

", + "smithy.api#xmlName": "deviceIndex" } }, - "KeyName": { + "Groups": { + "target": "com.amazonaws.ec2#GroupIdStringList", + "traits": { + "aws.protocols#ec2QueryName": "GroupSet", + "smithy.api#documentation": "

The IDs of one or more security groups.

", + "smithy.api#xmlName": "groupSet" + } + }, + "InterfaceType": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "KeyName", - "smithy.api#documentation": "

The name of the key pair.

", - "smithy.api#xmlName": "keyName" + "aws.protocols#ec2QueryName": "InterfaceType", + "smithy.api#documentation": "

The type of network interface.

", + "smithy.api#xmlName": "interfaceType" } }, - "KeyPairId": { + "Ipv6AddressCount": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Ipv6AddressCount", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of IPv6 addresses for the network interface.

", + "smithy.api#xmlName": "ipv6AddressCount" + } + }, + "Ipv6Addresses": { + "target": "com.amazonaws.ec2#InstanceIpv6AddressList", + "traits": { + "aws.protocols#ec2QueryName": "Ipv6AddressesSet", + "smithy.api#documentation": "

The IPv6 addresses for the network interface.

", + "smithy.api#xmlName": "ipv6AddressesSet" + } + }, + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#NetworkInterfaceId", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "smithy.api#documentation": "

The ID of the network interface.

", + "smithy.api#xmlName": "networkInterfaceId" + } + }, + "PrivateIpAddress": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "KeyPairId", - "smithy.api#documentation": "

The ID of the key pair.

", - "smithy.api#xmlName": "keyPairId" + "aws.protocols#ec2QueryName": "PrivateIpAddress", + "smithy.api#documentation": "

The primary private IPv4 address of the network interface.

", + "smithy.api#xmlName": "privateIpAddress" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "PrivateIpAddresses": { + "target": "com.amazonaws.ec2#PrivateIpAddressSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags applied to the key pair.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "PrivateIpAddressesSet", + "smithy.api#documentation": "

One or more private IPv4 addresses.

", + "smithy.api#xmlName": "privateIpAddressesSet" + } + }, + "SecondaryPrivateIpAddressCount": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "SecondaryPrivateIpAddressCount", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of secondary private IPv4 addresses for the network interface.

", + "smithy.api#xmlName": "secondaryPrivateIpAddressCount" + } + }, + "SubnetId": { + "target": "com.amazonaws.ec2#SubnetId", + "traits": { + "aws.protocols#ec2QueryName": "SubnetId", + "smithy.api#documentation": "

The ID of the subnet for the network interface.

", + "smithy.api#xmlName": "subnetId" + } + }, + "NetworkCardIndex": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "NetworkCardIndex", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The index of the network card.

", + "smithy.api#xmlName": "networkCardIndex" + } + }, + "Ipv4Prefixes": { + "target": "com.amazonaws.ec2#Ipv4PrefixListResponse", + "traits": { + "aws.protocols#ec2QueryName": "Ipv4PrefixSet", + "smithy.api#documentation": "

One or more IPv4 prefixes assigned to the network interface.

", + "smithy.api#xmlName": "ipv4PrefixSet" + } + }, + "Ipv4PrefixCount": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Ipv4PrefixCount", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of IPv4 prefixes that Amazon Web Services automatically assigned to the network\n interface.

", + "smithy.api#xmlName": "ipv4PrefixCount" + } + }, + "Ipv6Prefixes": { + "target": "com.amazonaws.ec2#Ipv6PrefixListResponse", + "traits": { + "aws.protocols#ec2QueryName": "Ipv6PrefixSet", + "smithy.api#documentation": "

One or more IPv6 prefixes assigned to the network interface.

", + "smithy.api#xmlName": "ipv6PrefixSet" + } + }, + "Ipv6PrefixCount": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Ipv6PrefixCount", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of IPv6 prefixes that Amazon Web Services automatically assigned to the network\n interface.

", + "smithy.api#xmlName": "ipv6PrefixCount" } } }, "traits": { - "smithy.api#documentation": "

Describes a key pair.

" + "smithy.api#documentation": "

Describes a network interface.

" } }, - "com.amazonaws.ec2#KeyPairId": { - "type": "string" - }, - "com.amazonaws.ec2#KeyPairIdStringList": { + "com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecificationList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#KeyPairId", + "target": "com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecification", "traits": { - "smithy.api#xmlName": "KeyPairId" + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#KeyPairInfo": { + "com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecificationRequest": { "type": "structure", "members": { - "KeyPairId": { - "target": "com.amazonaws.ec2#String", + "AssociateCarrierIpAddress": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "KeyPairId", - "smithy.api#documentation": "

The ID of the key pair.

", - "smithy.api#xmlName": "keyPairId" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Associates a Carrier IP address with eth0 for a new network interface.

\n

Use this option when you launch an instance in a Wavelength Zone and want to associate\n a Carrier IP address with the network interface. For more information about Carrier IP\n addresses, see Carrier IP addresses in the Wavelength Developer\n Guide.

" } }, - "KeyFingerprint": { + "AssociatePublicIpAddress": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Associates a public IPv4 address with eth0 for a new network interface.

" + } + }, + "DeleteOnTermination": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the network interface is deleted when the instance is\n terminated.

" + } + }, + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "KeyFingerprint", - "smithy.api#documentation": "

If you used CreateKeyPair to create the key pair:

\n
    \n
  • \n

    For RSA key pairs, the key fingerprint is the SHA-1 digest of the DER encoded private key.

    \n
  • \n
  • \n

    For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 digest, which \n is the default for OpenSSH, starting with OpenSSH 6.8.

    \n
  • \n
\n

If you used ImportKeyPair to provide Amazon Web Services the public key:

\n
    \n
  • \n

    For RSA key pairs, the key fingerprint is the MD5 public key fingerprint as specified in section 4 of RFC4716.

    \n
  • \n
  • \n

    For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256\n digest, which is the default for OpenSSH, starting with OpenSSH 6.8.

    \n
  • \n
", - "smithy.api#xmlName": "keyFingerprint" + "smithy.api#documentation": "

A description for the network interface.

" } }, - "KeyName": { + "DeviceIndex": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The device index for the network interface attachment.

" + } + }, + "Groups": { + "target": "com.amazonaws.ec2#SecurityGroupIdStringList", + "traits": { + "smithy.api#documentation": "

The IDs of one or more security groups.

", + "smithy.api#xmlName": "SecurityGroupId" + } + }, + "InterfaceType": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "KeyName", - "smithy.api#documentation": "

The name of the key pair.

", - "smithy.api#xmlName": "keyName" + "smithy.api#documentation": "

The type of network interface. To create an Elastic Fabric Adapter (EFA), specify\n efa. For more information, see Elastic Fabric Adapter in the\n Amazon Elastic Compute Cloud User Guide.

\n

If you are not creating an EFA, specify interface or omit this\n parameter.

\n

Valid values: interface | efa\n

" } }, - "KeyType": { - "target": "com.amazonaws.ec2#KeyType", + "Ipv6AddressCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "KeyType", - "smithy.api#documentation": "

The type of key pair.

", - "smithy.api#xmlName": "keyType" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of IPv6 addresses to assign to a network interface. Amazon EC2\n automatically selects the IPv6 addresses from the subnet range. You can't use this\n option if specifying specific IPv6 addresses.

" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "Ipv6Addresses": { + "target": "com.amazonaws.ec2#InstanceIpv6AddressListRequest", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags applied to the key pair.

", - "smithy.api#xmlName": "tagSet" + "smithy.api#documentation": "

One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. You\n can't use this option if you're specifying a number of IPv6 addresses.

" } }, - "PublicKey": { + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#NetworkInterfaceId", + "traits": { + "smithy.api#documentation": "

The ID of the network interface.

" + } + }, + "PrivateIpAddress": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PublicKey", - "smithy.api#documentation": "

The public key material.

", - "smithy.api#xmlName": "publicKey" + "smithy.api#documentation": "

The primary private IPv4 address of the network interface.

" } }, - "CreateTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "PrivateIpAddresses": { + "target": "com.amazonaws.ec2#PrivateIpAddressSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "CreateTime", - "smithy.api#documentation": "

If you used Amazon EC2 to create the key pair, this is the date and time when the key\n was created, in ISO\n 8601 date-time format, in the UTC time zone.

\n

If you imported an existing key pair to Amazon EC2, this is the date and time the key\n was imported, in ISO\n 8601 date-time format, in the UTC time zone.

", - "smithy.api#xmlName": "createTime" + "smithy.api#documentation": "

One or more private IPv4 addresses.

" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a key pair.

" - } - }, - "com.amazonaws.ec2#KeyPairList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#KeyPairInfo", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#KeyPairName": { - "type": "string" - }, - "com.amazonaws.ec2#KeyType": { - "type": "enum", - "members": { - "rsa": { - "target": "smithy.api#Unit", + }, + "SecondaryPrivateIpAddressCount": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of secondary private IPv4 addresses to assign to a network\n interface.

" + } + }, + "SubnetId": { + "target": "com.amazonaws.ec2#SubnetId", + "traits": { + "smithy.api#documentation": "

The ID of the subnet for the network interface.

" + } + }, + "NetworkCardIndex": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The index of the network card. Some instance types support multiple network cards. The\n primary network interface must be assigned to network card index 0. The default is\n network card index 0.

" + } + }, + "Ipv4Prefixes": { + "target": "com.amazonaws.ec2#Ipv4PrefixList", + "traits": { + "smithy.api#documentation": "

One or more IPv4 prefixes to be assigned to the network interface. You cannot use this\n option if you use the Ipv4PrefixCount option.

", + "smithy.api#xmlName": "Ipv4Prefix" + } + }, + "Ipv4PrefixCount": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of IPv4 prefixes to be automatically assigned to the network interface. You\n cannot use this option if you use the Ipv4Prefix option.

" + } + }, + "Ipv6Prefixes": { + "target": "com.amazonaws.ec2#Ipv6PrefixList", "traits": { - "smithy.api#enumValue": "rsa" + "smithy.api#documentation": "

One or more IPv6 prefixes to be assigned to the network interface. You cannot use this\n option if you use the Ipv6PrefixCount option.

", + "smithy.api#xmlName": "Ipv6Prefix" } }, - "ed25519": { - "target": "smithy.api#Unit", + "Ipv6PrefixCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "ed25519" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of IPv6 prefixes to be automatically assigned to the network interface. You\n cannot use this option if you use the Ipv6Prefix option.

" } } + }, + "traits": { + "smithy.api#documentation": "

The parameters for a network interface.

" } }, - "com.amazonaws.ec2#KmsKeyId": { - "type": "string" + "com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecificationRequestList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecificationRequest", + "traits": { + "smithy.api#xmlName": "InstanceNetworkInterfaceSpecification" + } + } }, - "com.amazonaws.ec2#LastError": { + "com.amazonaws.ec2#LaunchTemplateLicenseConfiguration": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "Message", - "smithy.api#documentation": "

The error message for the VPC endpoint error.

", - "smithy.api#xmlName": "message" - } - }, - "Code": { + "LicenseConfigurationArn": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Code", - "smithy.api#documentation": "

The error code for the VPC endpoint error.

", - "smithy.api#xmlName": "code" + "aws.protocols#ec2QueryName": "LicenseConfigurationArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the license configuration.

", + "smithy.api#xmlName": "licenseConfigurationArn" } } }, "traits": { - "smithy.api#documentation": "

The last error that occurred for a VPC endpoint.

" + "smithy.api#documentation": "

Describes a license configuration.

" } }, - "com.amazonaws.ec2#LaunchPermission": { + "com.amazonaws.ec2#LaunchTemplateLicenseConfigurationRequest": { "type": "structure", "members": { - "Group": { - "target": "com.amazonaws.ec2#PermissionGroup", - "traits": { - "aws.protocols#ec2QueryName": "Group", - "smithy.api#documentation": "

The name of the group.

", - "smithy.api#xmlName": "group" - } - }, - "UserId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "UserId", - "smithy.api#documentation": "

The Amazon Web Services account ID.

\n

Constraints: Up to 10 000 account IDs can be specified in a single request.

", - "smithy.api#xmlName": "userId" - } - }, - "OrganizationArn": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "OrganizationArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an organization.

", - "smithy.api#xmlName": "organizationArn" - } - }, - "OrganizationalUnitArn": { + "LicenseConfigurationArn": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "OrganizationalUnitArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an organizational unit (OU).

", - "smithy.api#xmlName": "organizationalUnitArn" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the license configuration.

" } } }, "traits": { - "smithy.api#documentation": "

Describes a launch permission.

" + "smithy.api#documentation": "

Describes a license configuration.

" } }, - "com.amazonaws.ec2#LaunchPermissionList": { + "com.amazonaws.ec2#LaunchTemplateLicenseList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#LaunchPermission", + "target": "com.amazonaws.ec2#LaunchTemplateLicenseConfiguration", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#LaunchPermissionModifications": { - "type": "structure", - "members": { - "Add": { - "target": "com.amazonaws.ec2#LaunchPermissionList", - "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID, organization ARN, or OU ARN to add to the list of launch permissions for the AMI.

" - } - }, - "Remove": { - "target": "com.amazonaws.ec2#LaunchPermissionList", - "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID, organization ARN, or OU ARN to remove from the list of launch permissions for the AMI.

" - } + "com.amazonaws.ec2#LaunchTemplateLicenseSpecificationListRequest": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#LaunchTemplateLicenseConfigurationRequest", + "traits": { + "smithy.api#xmlName": "item" } - }, + } + }, + "com.amazonaws.ec2#LaunchTemplateName": { + "type": "string", "traits": { - "smithy.api#documentation": "

Describes a launch permission modification.

" + "smithy.api#length": { + "min": 3, + "max": 128 + }, + "smithy.api#pattern": "^[a-zA-Z0-9\\(\\)\\.\\-/_]+$" } }, - "com.amazonaws.ec2#LaunchSpecification": { + "com.amazonaws.ec2#LaunchTemplateNameStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#LaunchTemplateName", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#LaunchTemplateOverrides": { "type": "structure", "members": { - "UserData": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "UserData", - "smithy.api#documentation": "

The Base64-encoded user data for the instance.

", - "smithy.api#xmlName": "userData" - } - }, - "SecurityGroups": { - "target": "com.amazonaws.ec2#GroupIdentifierList", - "traits": { - "aws.protocols#ec2QueryName": "GroupSet", - "smithy.api#documentation": "

One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.

", - "smithy.api#xmlName": "groupSet" - } - }, - "AddressingType": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "AddressingType", - "smithy.api#documentation": "

Deprecated.

", - "smithy.api#xmlName": "addressingType" - } - }, - "BlockDeviceMappings": { - "target": "com.amazonaws.ec2#BlockDeviceMappingList", - "traits": { - "aws.protocols#ec2QueryName": "BlockDeviceMapping", - "smithy.api#documentation": "

One or more block device mapping entries.

", - "smithy.api#xmlName": "blockDeviceMapping" - } - }, - "EbsOptimized": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "EbsOptimized", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

\n

Default: false\n

", - "smithy.api#xmlName": "ebsOptimized" - } - }, - "IamInstanceProfile": { - "target": "com.amazonaws.ec2#IamInstanceProfileSpecification", - "traits": { - "aws.protocols#ec2QueryName": "IamInstanceProfile", - "smithy.api#documentation": "

The IAM instance profile.

", - "smithy.api#xmlName": "iamInstanceProfile" - } - }, - "ImageId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "ImageId", - "smithy.api#documentation": "

The ID of the AMI.

", - "smithy.api#xmlName": "imageId" - } - }, "InstanceType": { "target": "com.amazonaws.ec2#InstanceType", "traits": { "aws.protocols#ec2QueryName": "InstanceType", - "smithy.api#documentation": "

The instance type. Only one instance type can be specified.

", + "smithy.api#documentation": "

The instance type.

", "smithy.api#xmlName": "instanceType" } }, - "KernelId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "KernelId", - "smithy.api#documentation": "

The ID of the kernel.

", - "smithy.api#xmlName": "kernelId" - } - }, - "KeyName": { + "SpotPrice": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "KeyName", - "smithy.api#documentation": "

The name of the key pair.

", - "smithy.api#xmlName": "keyName" + "aws.protocols#ec2QueryName": "SpotPrice", + "smithy.api#documentation": "

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to \n increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

\n \n

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

\n
", + "smithy.api#xmlName": "spotPrice" } }, - "NetworkInterfaces": { - "target": "com.amazonaws.ec2#InstanceNetworkInterfaceSpecificationList", + "SubnetId": { + "target": "com.amazonaws.ec2#SubnetId", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceSet", - "smithy.api#documentation": "

One or more network interfaces. If you specify a network interface, you must specify \n subnet IDs and security group IDs using the network interface.

", - "smithy.api#xmlName": "networkInterfaceSet" + "aws.protocols#ec2QueryName": "SubnetId", + "smithy.api#documentation": "

The ID of the subnet in which to launch the instances.

", + "smithy.api#xmlName": "subnetId" } }, - "Placement": { - "target": "com.amazonaws.ec2#SpotPlacement", + "AvailabilityZone": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Placement", - "smithy.api#documentation": "

The placement information for the instance.

", - "smithy.api#xmlName": "placement" + "aws.protocols#ec2QueryName": "AvailabilityZone", + "smithy.api#documentation": "

The Availability Zone in which to launch the instances.

", + "smithy.api#xmlName": "availabilityZone" } }, - "RamdiskId": { - "target": "com.amazonaws.ec2#String", + "WeightedCapacity": { + "target": "com.amazonaws.ec2#Double", "traits": { - "aws.protocols#ec2QueryName": "RamdiskId", - "smithy.api#documentation": "

The ID of the RAM disk.

", - "smithy.api#xmlName": "ramdiskId" + "aws.protocols#ec2QueryName": "WeightedCapacity", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of units provided by the specified instance type.

", + "smithy.api#xmlName": "weightedCapacity" } }, - "SubnetId": { - "target": "com.amazonaws.ec2#String", + "Priority": { + "target": "com.amazonaws.ec2#Double", "traits": { - "aws.protocols#ec2QueryName": "SubnetId", - "smithy.api#documentation": "

The ID of the subnet in which to launch the instance.

", - "smithy.api#xmlName": "subnetId" + "aws.protocols#ec2QueryName": "Priority", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The priority for the launch template override. The highest priority is launched\n first.

\n

If OnDemandAllocationStrategy is set to prioritized, Spot Fleet\n uses priority to determine which launch template override to use first in fulfilling\n On-Demand capacity.

\n

If the Spot AllocationStrategy is set to\n capacityOptimizedPrioritized, Spot Fleet uses priority on a best-effort basis\n to determine which launch template override to use in fulfilling Spot capacity, but\n optimizes for capacity first.

\n

Valid values are whole numbers starting at 0. The lower the number, the\n higher the priority. If no number is set, the launch template override has the lowest\n priority. You can set the same priority for different launch template overrides.

", + "smithy.api#xmlName": "priority" } }, - "Monitoring": { - "target": "com.amazonaws.ec2#RunInstancesMonitoringEnabled", + "InstanceRequirements": { + "target": "com.amazonaws.ec2#InstanceRequirements", "traits": { - "aws.protocols#ec2QueryName": "Monitoring", - "smithy.api#xmlName": "monitoring" + "aws.protocols#ec2QueryName": "InstanceRequirements", + "smithy.api#documentation": "

The instance requirements. When you specify instance requirements, Amazon EC2 will identify\n instance types with the provided requirements, and then use your On-Demand and Spot\n allocation strategies to launch instances from these instance types, in the same way as\n when you specify a list of instance types.

\n \n

If you specify InstanceRequirements, you can't specify\n InstanceType.

\n
", + "smithy.api#xmlName": "instanceRequirements" } } }, "traits": { - "smithy.api#documentation": "

Describes the launch specification for an instance.

" + "smithy.api#documentation": "

Describes overrides for a launch template.

" } }, - "com.amazonaws.ec2#LaunchSpecsList": { + "com.amazonaws.ec2#LaunchTemplateOverridesList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#SpotFleetLaunchSpecification", + "target": "com.amazonaws.ec2#LaunchTemplateOverrides", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#LaunchTemplate": { + "com.amazonaws.ec2#LaunchTemplatePlacement": { "type": "structure", "members": { - "LaunchTemplateId": { + "AvailabilityZone": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "LaunchTemplateId", - "smithy.api#documentation": "

The ID of the launch template.

", - "smithy.api#xmlName": "launchTemplateId" + "aws.protocols#ec2QueryName": "AvailabilityZone", + "smithy.api#documentation": "

The Availability Zone of the instance.

", + "smithy.api#xmlName": "availabilityZone" } }, - "LaunchTemplateName": { - "target": "com.amazonaws.ec2#LaunchTemplateName", + "Affinity": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "LaunchTemplateName", - "smithy.api#documentation": "

The name of the launch template.

", - "smithy.api#xmlName": "launchTemplateName" + "aws.protocols#ec2QueryName": "Affinity", + "smithy.api#documentation": "

The affinity setting for the instance on the Dedicated Host.

", + "smithy.api#xmlName": "affinity" } }, - "CreateTime": { - "target": "com.amazonaws.ec2#DateTime", + "GroupName": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CreateTime", - "smithy.api#documentation": "

The time launch template was created.

", - "smithy.api#xmlName": "createTime" + "aws.protocols#ec2QueryName": "GroupName", + "smithy.api#documentation": "

The name of the placement group for the instance.

", + "smithy.api#xmlName": "groupName" } }, - "CreatedBy": { + "HostId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CreatedBy", - "smithy.api#documentation": "

The principal that created the launch template.

", - "smithy.api#xmlName": "createdBy" + "aws.protocols#ec2QueryName": "HostId", + "smithy.api#documentation": "

The ID of the Dedicated Host for the instance.

", + "smithy.api#xmlName": "hostId" } }, - "DefaultVersionNumber": { - "target": "com.amazonaws.ec2#Long", + "Tenancy": { + "target": "com.amazonaws.ec2#Tenancy", "traits": { - "aws.protocols#ec2QueryName": "DefaultVersionNumber", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The version number of the default version of the launch template.

", - "smithy.api#xmlName": "defaultVersionNumber" + "aws.protocols#ec2QueryName": "Tenancy", + "smithy.api#documentation": "

The tenancy of the instance (if the instance is running in a VPC). An instance with a\n tenancy of dedicated runs on single-tenant hardware.

", + "smithy.api#xmlName": "tenancy" } }, - "LatestVersionNumber": { - "target": "com.amazonaws.ec2#Long", + "SpreadDomain": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "LatestVersionNumber", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The version number of the latest version of the launch template.

", - "smithy.api#xmlName": "latestVersionNumber" + "aws.protocols#ec2QueryName": "SpreadDomain", + "smithy.api#documentation": "

Reserved for future use.

", + "smithy.api#xmlName": "spreadDomain" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "HostResourceGroupArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags for the launch template.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "HostResourceGroupArn", + "smithy.api#documentation": "

The ARN of the host resource group in which to launch the instances.

", + "smithy.api#xmlName": "hostResourceGroupArn" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a launch template.

" - } - }, - "com.amazonaws.ec2#LaunchTemplateAndOverridesResponse": { - "type": "structure", - "members": { - "LaunchTemplateSpecification": { - "target": "com.amazonaws.ec2#FleetLaunchTemplateSpecification", + }, + "PartitionNumber": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "LaunchTemplateSpecification", - "smithy.api#documentation": "

The launch template.

", - "smithy.api#xmlName": "launchTemplateSpecification" + "aws.protocols#ec2QueryName": "PartitionNumber", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of the partition the instance should launch in. Valid only if the placement\n group strategy is set to partition.

", + "smithy.api#xmlName": "partitionNumber" } }, - "Overrides": { - "target": "com.amazonaws.ec2#FleetLaunchTemplateOverrides", + "GroupId": { + "target": "com.amazonaws.ec2#PlacementGroupId", "traits": { - "aws.protocols#ec2QueryName": "Overrides", - "smithy.api#documentation": "

Any parameters that you specify override the same parameters in the launch\n template.

", - "smithy.api#xmlName": "overrides" + "aws.protocols#ec2QueryName": "GroupId", + "smithy.api#documentation": "

The Group ID of the placement group. You must specify the Placement Group Group ID to launch an instance in a shared placement\n group.

", + "smithy.api#xmlName": "groupId" } } }, "traits": { - "smithy.api#documentation": "

Describes a launch template and overrides.

" + "smithy.api#documentation": "

Describes the placement of an instance.

" } }, - "com.amazonaws.ec2#LaunchTemplateAutoRecoveryState": { - "type": "enum", + "com.amazonaws.ec2#LaunchTemplatePlacementRequest": { + "type": "structure", "members": { - "default": { - "target": "smithy.api#Unit", + "AvailabilityZone": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "default" + "smithy.api#documentation": "

The Availability Zone for the instance.

" } }, - "disabled": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "disabled" - } - } - } - }, - "com.amazonaws.ec2#LaunchTemplateBlockDeviceMapping": { - "type": "structure", - "members": { - "DeviceName": { + "Affinity": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DeviceName", - "smithy.api#documentation": "

The device name.

", - "smithy.api#xmlName": "deviceName" + "smithy.api#documentation": "

The affinity setting for an instance on a Dedicated Host.

" } }, - "VirtualName": { - "target": "com.amazonaws.ec2#String", + "GroupName": { + "target": "com.amazonaws.ec2#PlacementGroupName", "traits": { - "aws.protocols#ec2QueryName": "VirtualName", - "smithy.api#documentation": "

The virtual device name (ephemeralN).

", - "smithy.api#xmlName": "virtualName" + "smithy.api#documentation": "

The name of the placement group for the instance.

" } }, - "Ebs": { - "target": "com.amazonaws.ec2#LaunchTemplateEbsBlockDevice", + "HostId": { + "target": "com.amazonaws.ec2#DedicatedHostId", "traits": { - "aws.protocols#ec2QueryName": "Ebs", - "smithy.api#documentation": "

Information about the block device for an EBS volume.

", - "smithy.api#xmlName": "ebs" + "smithy.api#documentation": "

The ID of the Dedicated Host for the instance.

" } }, - "NoDevice": { - "target": "com.amazonaws.ec2#String", + "Tenancy": { + "target": "com.amazonaws.ec2#Tenancy", "traits": { - "aws.protocols#ec2QueryName": "NoDevice", - "smithy.api#documentation": "

To omit the device from the block device mapping, specify an empty string.

", - "smithy.api#xmlName": "noDevice" + "smithy.api#documentation": "

The tenancy of the instance (if the instance is running in a VPC). An instance with a\n tenancy of dedicated runs on single-tenant hardware.

" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a block device mapping.

" - } - }, - "com.amazonaws.ec2#LaunchTemplateBlockDeviceMappingList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#LaunchTemplateBlockDeviceMapping", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#LaunchTemplateBlockDeviceMappingRequest": { - "type": "structure", - "members": { - "DeviceName": { + }, + "SpreadDomain": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The device name (for example, /dev/sdh or xvdh).

" + "smithy.api#documentation": "

Reserved for future use.

" } }, - "VirtualName": { + "HostResourceGroupArn": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The virtual device name (ephemeralN). Instance store volumes are numbered starting\n from 0. An instance type with 2 available instance store volumes can specify mappings\n for ephemeral0 and ephemeral1. The number of available instance store volumes depends on\n the instance type. After you connect to the instance, you must mount the volume.

" + "smithy.api#documentation": "

The ARN of the host resource group in which to launch the instances. If you specify a\n host resource group ARN, omit the Tenancy parameter or\n set it to host.

" } }, - "Ebs": { - "target": "com.amazonaws.ec2#LaunchTemplateEbsBlockDeviceRequest", + "PartitionNumber": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#documentation": "

Parameters used to automatically set up EBS volumes when the instance is\n launched.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of the partition the instance should launch in. Valid only if the placement\n group strategy is set to partition.

" } }, - "NoDevice": { - "target": "com.amazonaws.ec2#String", + "GroupId": { + "target": "com.amazonaws.ec2#PlacementGroupId", "traits": { - "smithy.api#documentation": "

To omit the device from the block device mapping, specify an empty string.

" + "smithy.api#documentation": "

The Group Id of a placement group. You must specify the Placement Group Group Id to launch an instance in a shared placement\n group.

" } } }, "traits": { - "smithy.api#documentation": "

Describes a block device mapping.

" - } - }, - "com.amazonaws.ec2#LaunchTemplateBlockDeviceMappingRequestList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#LaunchTemplateBlockDeviceMappingRequest", - "traits": { - "smithy.api#xmlName": "BlockDeviceMapping" - } + "smithy.api#documentation": "

Describes the placement of an instance.

" } }, - "com.amazonaws.ec2#LaunchTemplateCapacityReservationSpecificationRequest": { + "com.amazonaws.ec2#LaunchTemplatePrivateDnsNameOptions": { "type": "structure", "members": { - "CapacityReservationPreference": { - "target": "com.amazonaws.ec2#CapacityReservationPreference", + "HostnameType": { + "target": "com.amazonaws.ec2#HostnameType", "traits": { - "smithy.api#documentation": "

Indicates the instance's Capacity Reservation preferences. Possible preferences\n include:

\n
    \n
  • \n

    \n open - The instance can run in any open Capacity\n Reservation that has matching attributes (instance type, platform, Availability\n Zone).

    \n
  • \n
  • \n

    \n none - The instance avoids running in a Capacity Reservation even\n if one is available. The instance runs in On-Demand capacity.

    \n
  • \n
" + "aws.protocols#ec2QueryName": "HostnameType", + "smithy.api#documentation": "

The type of hostname to assign to an instance.

", + "smithy.api#xmlName": "hostnameType" } }, - "CapacityReservationTarget": { - "target": "com.amazonaws.ec2#CapacityReservationTarget", - "traits": { - "smithy.api#documentation": "

Information about the target Capacity Reservation or Capacity Reservation\n group.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes an instance's Capacity Reservation targeting option. You can specify only\n one option at a time. Use the CapacityReservationPreference parameter to\n configure the instance to run in On-Demand capacity or to run in any open\n Capacity Reservation that has matching attributes (instance type, platform, Availability\n Zone). Use the CapacityReservationTarget parameter to explicitly target a\n specific Capacity Reservation or a Capacity Reservation group.

" - } - }, - "com.amazonaws.ec2#LaunchTemplateCapacityReservationSpecificationResponse": { - "type": "structure", - "members": { - "CapacityReservationPreference": { - "target": "com.amazonaws.ec2#CapacityReservationPreference", + "EnableResourceNameDnsARecord": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "CapacityReservationPreference", - "smithy.api#documentation": "

Indicates the instance's Capacity Reservation preferences. Possible preferences\n include:

\n
    \n
  • \n

    \n open - The instance can run in any open Capacity\n Reservation that has matching attributes (instance type, platform, Availability\n Zone).

    \n
  • \n
  • \n

    \n none - The instance avoids running in a Capacity Reservation even\n if one is available. The instance runs in On-Demand capacity.

    \n
  • \n
", - "smithy.api#xmlName": "capacityReservationPreference" + "aws.protocols#ec2QueryName": "EnableResourceNameDnsARecord", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to respond to DNS queries for instance hostnames with DNS A\n records.

", + "smithy.api#xmlName": "enableResourceNameDnsARecord" } }, - "CapacityReservationTarget": { - "target": "com.amazonaws.ec2#CapacityReservationTargetResponse", + "EnableResourceNameDnsAAAARecord": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "CapacityReservationTarget", - "smithy.api#documentation": "

Information about the target Capacity Reservation or Capacity Reservation\n group.

", - "smithy.api#xmlName": "capacityReservationTarget" + "aws.protocols#ec2QueryName": "EnableResourceNameDnsAAAARecord", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA\n records.

", + "smithy.api#xmlName": "enableResourceNameDnsAAAARecord" } } }, "traits": { - "smithy.api#documentation": "

Information about the Capacity Reservation targeting option.

" + "smithy.api#documentation": "

Describes the options for instance hostnames.

" } }, - "com.amazonaws.ec2#LaunchTemplateConfig": { + "com.amazonaws.ec2#LaunchTemplatePrivateDnsNameOptionsRequest": { "type": "structure", "members": { - "LaunchTemplateSpecification": { - "target": "com.amazonaws.ec2#FleetLaunchTemplateSpecification", + "HostnameType": { + "target": "com.amazonaws.ec2#HostnameType", "traits": { - "aws.protocols#ec2QueryName": "LaunchTemplateSpecification", - "smithy.api#documentation": "

The launch template.

", - "smithy.api#xmlName": "launchTemplateSpecification" + "smithy.api#documentation": "

The type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name\n must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS\n name must be based on the instance ID. For dual-stack subnets, you can specify whether\n DNS names use the instance IPv4 address or the instance ID.

" } }, - "Overrides": { - "target": "com.amazonaws.ec2#LaunchTemplateOverridesList", + "EnableResourceNameDnsARecord": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Overrides", - "smithy.api#documentation": "

Any parameters that you specify override the same parameters in the launch\n template.

", - "smithy.api#xmlName": "overrides" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to respond to DNS queries for instance hostnames with DNS A\n records.

" + } + }, + "EnableResourceNameDnsAAAARecord": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA\n records.

" } } }, "traits": { - "smithy.api#documentation": "

Describes a launch template and overrides.

" + "smithy.api#documentation": "

Describes the options for instance hostnames.

" } }, - "com.amazonaws.ec2#LaunchTemplateConfigList": { + "com.amazonaws.ec2#LaunchTemplateSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#LaunchTemplateConfig", + "target": "com.amazonaws.ec2#LaunchTemplate", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#LaunchTemplateCpuOptions": { + "com.amazonaws.ec2#LaunchTemplateSpecification": { "type": "structure", "members": { - "CoreCount": { - "target": "com.amazonaws.ec2#Integer", + "LaunchTemplateId": { + "target": "com.amazonaws.ec2#LaunchTemplateId", "traits": { - "aws.protocols#ec2QueryName": "CoreCount", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of CPU cores for the instance.

", - "smithy.api#xmlName": "coreCount" + "smithy.api#documentation": "

The ID of the launch template.

\n

You must specify the LaunchTemplateId or the\n LaunchTemplateName, but not both.

" } }, - "ThreadsPerCore": { - "target": "com.amazonaws.ec2#Integer", + "LaunchTemplateName": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ThreadsPerCore", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of threads per CPU core.

", - "smithy.api#xmlName": "threadsPerCore" + "smithy.api#documentation": "

The name of the launch template.

\n

You must specify the LaunchTemplateName or the\n LaunchTemplateId, but not both.

" + } + }, + "Version": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The launch template version number, $Latest, or\n $Default.

\n

If the value is $Latest, Amazon EC2 uses the latest version of the launch\n template.

\n

If the value is $Default, Amazon EC2 uses the default version of the\n launch template.

\n

Default: The default version of the launch template.

" } } }, "traits": { - "smithy.api#documentation": "

The CPU options for the instance.

" + "smithy.api#documentation": "

The launch template to use. You must specify either the launch template ID or launch\n template name in the request, but not both.

" } }, - "com.amazonaws.ec2#LaunchTemplateCpuOptionsRequest": { + "com.amazonaws.ec2#LaunchTemplateSpotMarketOptions": { "type": "structure", "members": { - "CoreCount": { - "target": "com.amazonaws.ec2#Integer", + "MaxPrice": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of CPU cores for the instance.

" + "aws.protocols#ec2QueryName": "MaxPrice", + "smithy.api#documentation": "

The maximum hourly price you're willing to pay for the Spot Instances. We do not\n recommend using this parameter because it can lead to increased interruptions. If you do\n not specify this parameter, you will pay the current Spot price.

\n \n

If you specify a maximum price, your Spot Instances will be interrupted more\n frequently than if you do not specify this parameter.

\n
", + "smithy.api#xmlName": "maxPrice" } }, - "ThreadsPerCore": { + "SpotInstanceType": { + "target": "com.amazonaws.ec2#SpotInstanceType", + "traits": { + "aws.protocols#ec2QueryName": "SpotInstanceType", + "smithy.api#documentation": "

The Spot Instance request type.

", + "smithy.api#xmlName": "spotInstanceType" + } + }, + "BlockDurationMinutes": { "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "BlockDurationMinutes", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The number of threads per CPU core. To disable multithreading for the instance,\n specify a value of 1. Otherwise, specify the default value of\n 2.

" + "smithy.api#documentation": "

The required duration for the Spot Instances (also known as Spot blocks), in minutes.\n This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).

", + "smithy.api#xmlName": "blockDurationMinutes" + } + }, + "ValidUntil": { + "target": "com.amazonaws.ec2#DateTime", + "traits": { + "aws.protocols#ec2QueryName": "ValidUntil", + "smithy.api#documentation": "

The end date of the request. For a one-time request, the request remains active until\n all instances launch, the request is canceled, or this date is reached. If the request\n is persistent, it remains active until it is canceled or this date and time is\n reached.

", + "smithy.api#xmlName": "validUntil" + } + }, + "InstanceInterruptionBehavior": { + "target": "com.amazonaws.ec2#InstanceInterruptionBehavior", + "traits": { + "aws.protocols#ec2QueryName": "InstanceInterruptionBehavior", + "smithy.api#documentation": "

The behavior when a Spot Instance is interrupted.

", + "smithy.api#xmlName": "instanceInterruptionBehavior" } } }, "traits": { - "smithy.api#documentation": "

The CPU options for the instance. Both the core count and threads per core must be\n specified in the request.

" + "smithy.api#documentation": "

The options for Spot Instances.

" } }, - "com.amazonaws.ec2#LaunchTemplateEbsBlockDevice": { + "com.amazonaws.ec2#LaunchTemplateSpotMarketOptionsRequest": { "type": "structure", "members": { - "Encrypted": { - "target": "com.amazonaws.ec2#Boolean", + "MaxPrice": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Encrypted", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the EBS volume is encrypted.

", - "smithy.api#xmlName": "encrypted" + "smithy.api#documentation": "

The maximum hourly price you're willing to pay for the Spot Instances. We do not\n recommend using this parameter because it can lead to increased interruptions. If you do\n not specify this parameter, you will pay the current Spot price.

\n \n

If you specify a maximum price, your Spot Instances will be interrupted more\n frequently than if you do not specify this parameter.

\n
" } }, - "DeleteOnTermination": { - "target": "com.amazonaws.ec2#Boolean", + "SpotInstanceType": { + "target": "com.amazonaws.ec2#SpotInstanceType", "traits": { - "aws.protocols#ec2QueryName": "DeleteOnTermination", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the EBS volume is deleted on instance termination.

", - "smithy.api#xmlName": "deleteOnTermination" + "smithy.api#documentation": "

The Spot Instance request type.

" } }, - "Iops": { + "BlockDurationMinutes": { "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "Iops", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The number of I/O operations per second (IOPS) that the volume supports.

", - "smithy.api#xmlName": "iops" + "smithy.api#documentation": "

Deprecated.

" } }, - "KmsKeyId": { - "target": "com.amazonaws.ec2#KmsKeyId", + "ValidUntil": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "KmsKeyId", - "smithy.api#documentation": "

The ARN of the Key Management Service (KMS) CMK used for encryption.

", - "smithy.api#xmlName": "kmsKeyId" + "smithy.api#documentation": "

The end date of the request, in UTC format\n (YYYY-MM-DDTHH:MM:SSZ). Supported only for\n persistent requests.

\n
    \n
  • \n

    For a persistent request, the request remains active until the\n ValidUntil date and time is reached. Otherwise, the request\n remains active until you cancel it.

    \n
  • \n
  • \n

    For a one-time request, ValidUntil is not supported. The request\n remains active until all instances launch or you cancel the request.

    \n
  • \n
\n

Default: 7 days from the current date

" } }, - "SnapshotId": { - "target": "com.amazonaws.ec2#SnapshotId", + "InstanceInterruptionBehavior": { + "target": "com.amazonaws.ec2#InstanceInterruptionBehavior", "traits": { - "aws.protocols#ec2QueryName": "SnapshotId", - "smithy.api#documentation": "

The ID of the snapshot.

", - "smithy.api#xmlName": "snapshotId" + "smithy.api#documentation": "

The behavior when a Spot Instance is interrupted. The default is\n terminate.

" } - }, - "VolumeSize": { - "target": "com.amazonaws.ec2#Integer", + } + }, + "traits": { + "smithy.api#documentation": "

The options for Spot Instances.

" + } + }, + "com.amazonaws.ec2#LaunchTemplateTagSpecification": { + "type": "structure", + "members": { + "ResourceType": { + "target": "com.amazonaws.ec2#ResourceType", "traits": { - "aws.protocols#ec2QueryName": "VolumeSize", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The size of the volume, in GiB.

", - "smithy.api#xmlName": "volumeSize" + "aws.protocols#ec2QueryName": "ResourceType", + "smithy.api#documentation": "

The type of resource to tag.

", + "smithy.api#xmlName": "resourceType" } }, - "VolumeType": { - "target": "com.amazonaws.ec2#VolumeType", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "VolumeType", - "smithy.api#documentation": "

The volume type.

", - "smithy.api#xmlName": "volumeType" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags for the resource.

", + "smithy.api#xmlName": "tagSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

The tags specification for the launch template.

" + } + }, + "com.amazonaws.ec2#LaunchTemplateTagSpecificationList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#LaunchTemplateTagSpecification", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#LaunchTemplateTagSpecificationRequest": { + "type": "structure", + "members": { + "ResourceType": { + "target": "com.amazonaws.ec2#ResourceType", + "traits": { + "smithy.api#documentation": "

The type of resource to tag.

\n

The Valid Values are all the resource types that can be tagged. However,\n when creating a launch template, you can specify tags for the following resource types\n only: instance | volume | elastic-gpu |\n network-interface | spot-instances-request\n

\n

To tag a resource after it has been created, see CreateTags.

" } }, - "Throughput": { - "target": "com.amazonaws.ec2#Integer", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "Throughput", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The throughput that the volume supports, in MiB/s.

", - "smithy.api#xmlName": "throughput" + "smithy.api#documentation": "

The tags to apply to the resource.

", + "smithy.api#xmlName": "Tag" } } }, "traits": { - "smithy.api#documentation": "

Describes a block device for an EBS volume.

" + "smithy.api#documentation": "

The tags specification for the resources that are created during instance\n launch.

" } }, - "com.amazonaws.ec2#LaunchTemplateEbsBlockDeviceRequest": { + "com.amazonaws.ec2#LaunchTemplateTagSpecificationRequestList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#LaunchTemplateTagSpecificationRequest", + "traits": { + "smithy.api#xmlName": "LaunchTemplateTagSpecificationRequest" + } + } + }, + "com.amazonaws.ec2#LaunchTemplateVersion": { "type": "structure", "members": { - "Encrypted": { - "target": "com.amazonaws.ec2#Boolean", + "LaunchTemplateId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the EBS volume is encrypted. Encrypted volumes can only be attached\n to instances that support Amazon EBS encryption. If you are creating a volume from a\n snapshot, you can't specify an encryption value.

" + "aws.protocols#ec2QueryName": "LaunchTemplateId", + "smithy.api#documentation": "

The ID of the launch template.

", + "smithy.api#xmlName": "launchTemplateId" } }, - "DeleteOnTermination": { - "target": "com.amazonaws.ec2#Boolean", + "LaunchTemplateName": { + "target": "com.amazonaws.ec2#LaunchTemplateName", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the EBS volume is deleted on instance termination.

" + "aws.protocols#ec2QueryName": "LaunchTemplateName", + "smithy.api#documentation": "

The name of the launch template.

", + "smithy.api#xmlName": "launchTemplateName" } }, - "Iops": { - "target": "com.amazonaws.ec2#Integer", + "VersionNumber": { + "target": "com.amazonaws.ec2#Long", "traits": { + "aws.protocols#ec2QueryName": "VersionNumber", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The number of I/O operations per second (IOPS). For gp3,\n io1, and io2 volumes, this represents the number of IOPS that\n are provisioned for the volume. For gp2 volumes, this represents the\n baseline performance of the volume and the rate at which the volume accumulates I/O\n credits for bursting.

\n

The following are the supported values for each volume type:

\n
    \n
  • \n

    \n gp3: 3,000-16,000 IOPS

    \n
  • \n
  • \n

    \n io1: 100-64,000 IOPS

    \n
  • \n
  • \n

    \n io2: 100-64,000 IOPS

    \n
  • \n
\n

For io1 and io2 volumes, we guarantee\n 64,000 IOPS only for Instances built on the\n Nitro System. Other instance families guarantee performance up to\n 32,000 IOPS.

\n

This parameter is supported for io1, io2, and gp3 volumes only. This parameter\n is not supported for gp2, st1, sc1, or standard volumes.

" + "smithy.api#documentation": "

The version number.

", + "smithy.api#xmlName": "versionNumber" } }, - "KmsKeyId": { - "target": "com.amazonaws.ec2#KmsKeyId", + "VersionDescription": { + "target": "com.amazonaws.ec2#VersionDescription", "traits": { - "smithy.api#documentation": "

The ARN of the symmetric Key Management Service (KMS) CMK used for encryption.

" + "aws.protocols#ec2QueryName": "VersionDescription", + "smithy.api#documentation": "

The description for the version.

", + "smithy.api#xmlName": "versionDescription" } }, - "SnapshotId": { - "target": "com.amazonaws.ec2#SnapshotId", + "CreateTime": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "smithy.api#documentation": "

The ID of the snapshot.

" + "aws.protocols#ec2QueryName": "CreateTime", + "smithy.api#documentation": "

The time the version was created.

", + "smithy.api#xmlName": "createTime" } }, - "VolumeSize": { - "target": "com.amazonaws.ec2#Integer", + "CreatedBy": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The size of the volume, in GiBs. You must specify either a snapshot ID or a volume\n size. The following are the supported volumes sizes for each volume type:

\n
    \n
  • \n

    \n gp2 and gp3: 1-16,384

    \n
  • \n
  • \n

    \n io1 and io2: 4-16,384

    \n
  • \n
  • \n

    \n st1 and sc1: 125-16,384

    \n
  • \n
  • \n

    \n standard: 1-1,024

    \n
  • \n
" + "aws.protocols#ec2QueryName": "CreatedBy", + "smithy.api#documentation": "

The principal that created the version.

", + "smithy.api#xmlName": "createdBy" } }, - "VolumeType": { - "target": "com.amazonaws.ec2#VolumeType", + "DefaultVersion": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The volume type. For more information, see Amazon EBS volume types in the\n Amazon Elastic Compute Cloud User Guide.

" + "aws.protocols#ec2QueryName": "DefaultVersion", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the version is the default version.

", + "smithy.api#xmlName": "defaultVersion" } }, - "Throughput": { - "target": "com.amazonaws.ec2#Integer", + "LaunchTemplateData": { + "target": "com.amazonaws.ec2#ResponseLaunchTemplateData", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The throughput to provision for a gp3 volume, with a maximum of 1,000\n MiB/s.

\n

Valid Range: Minimum value of 125. Maximum value of 1000.

" + "aws.protocols#ec2QueryName": "LaunchTemplateData", + "smithy.api#documentation": "

Information about the launch template.

", + "smithy.api#xmlName": "launchTemplateData" } } }, "traits": { - "smithy.api#documentation": "

The parameters for a block device for an EBS volume.

" + "smithy.api#documentation": "

Describes a launch template version.

" } }, - "com.amazonaws.ec2#LaunchTemplateElasticInferenceAccelerator": { + "com.amazonaws.ec2#LaunchTemplateVersionSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#LaunchTemplateVersion", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#LaunchTemplatesMonitoring": { "type": "structure", "members": { - "Type": { - "target": "com.amazonaws.ec2#String", + "Enabled": { + "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "Enabled", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The type of elastic inference accelerator. The possible values are eia1.medium,\n eia1.large, and eia1.xlarge.

", - "smithy.api#required": {} + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is\n enabled.

", + "smithy.api#xmlName": "enabled" } - }, - "Count": { - "target": "com.amazonaws.ec2#LaunchTemplateElasticInferenceAcceleratorCount", + } + }, + "traits": { + "smithy.api#documentation": "

Describes the monitoring for the instance.

" + } + }, + "com.amazonaws.ec2#LaunchTemplatesMonitoringRequest": { + "type": "structure", + "members": { + "Enabled": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of elastic inference accelerators to attach to the instance.

\n

Default: 1

" + "smithy.api#default": false, + "smithy.api#documentation": "

Specify true to enable detailed monitoring. Otherwise, basic monitoring\n is enabled.

" } } }, "traits": { - "smithy.api#documentation": "

Describes an elastic inference accelerator.

" + "smithy.api#documentation": "

Describes the monitoring for the instance.

" } }, - "com.amazonaws.ec2#LaunchTemplateElasticInferenceAcceleratorCount": { - "type": "integer", + "com.amazonaws.ec2#LicenseConfiguration": { + "type": "structure", + "members": { + "LicenseConfigurationArn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "LicenseConfigurationArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the license configuration.

", + "smithy.api#xmlName": "licenseConfigurationArn" + } + } + }, "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 1 + "smithy.api#documentation": "

Describes a license configuration.

" + } + }, + "com.amazonaws.ec2#LicenseConfigurationRequest": { + "type": "structure", + "members": { + "LicenseConfigurationArn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the license configuration.

" + } } + }, + "traits": { + "smithy.api#documentation": "

Describes a license configuration.

" } }, - "com.amazonaws.ec2#LaunchTemplateElasticInferenceAcceleratorList": { + "com.amazonaws.ec2#LicenseList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#LaunchTemplateElasticInferenceAccelerator", + "target": "com.amazonaws.ec2#LicenseConfiguration", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#LaunchTemplateElasticInferenceAcceleratorResponse": { + "com.amazonaws.ec2#LicenseSpecificationListRequest": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#LicenseConfigurationRequest", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ListImagesInRecycleBin": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ListImagesInRecycleBinRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ListImagesInRecycleBinResult" + }, + "traits": { + "smithy.api#documentation": "

Lists one or more AMIs that are currently in the Recycle Bin. For more information, \n see Recycle\n Bin in the Amazon EC2 User Guide.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Images", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#ListImagesInRecycleBinMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#ListImagesInRecycleBinRequest": { "type": "structure", "members": { - "Type": { + "ImageIds": { + "target": "com.amazonaws.ec2#ImageIdStringList", + "traits": { + "smithy.api#documentation": "

The IDs of the AMIs to list. Omit this parameter to list all of the AMIs that \n are in the Recycle Bin. You can specify up to 20 IDs in a single request.

", + "smithy.api#xmlName": "ImageId" + } + }, + "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Type", - "smithy.api#documentation": "

The type of elastic inference accelerator. The possible values are eia1.medium,\n eia1.large, and eia1.xlarge.

", - "smithy.api#xmlName": "type" + "smithy.api#documentation": "

The token for the next page of results.

" } }, - "Count": { - "target": "com.amazonaws.ec2#Integer", + "MaxResults": { + "target": "com.amazonaws.ec2#ListImagesInRecycleBinMaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

\n

If you do not specify a value for MaxResults, the request \n returns 1,000 items per page by default. For more information, see \n \n Pagination.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Count", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of elastic inference accelerators to attach to the instance.

\n

Default: 1

", - "smithy.api#xmlName": "count" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Describes an elastic inference accelerator.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#LaunchTemplateElasticInferenceAcceleratorResponseList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#LaunchTemplateElasticInferenceAcceleratorResponse", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#ListImagesInRecycleBinResult": { + "type": "structure", + "members": { + "Images": { + "target": "com.amazonaws.ec2#ImageRecycleBinInfoList", + "traits": { + "aws.protocols#ec2QueryName": "ImageSet", + "smithy.api#documentation": "

Information about the AMIs.

", + "smithy.api#xmlName": "imageSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" + } } } }, - "com.amazonaws.ec2#LaunchTemplateEnclaveOptions": { + "com.amazonaws.ec2#ListSnapshotsInRecycleBin": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ListSnapshotsInRecycleBinRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ListSnapshotsInRecycleBinResult" + }, + "traits": { + "smithy.api#documentation": "

Lists one or more snapshots that are currently in the Recycle Bin.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Snapshots", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#ListSnapshotsInRecycleBinMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 5, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#ListSnapshotsInRecycleBinRequest": { "type": "structure", "members": { - "Enabled": { + "MaxResults": { + "target": "com.amazonaws.ec2#ListSnapshotsInRecycleBinMaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" + } + }, + "SnapshotIds": { + "target": "com.amazonaws.ec2#SnapshotIdStringList", + "traits": { + "smithy.api#documentation": "

The IDs of the snapshots to list. Omit this parameter to list all of the \n snapshots that are in the Recycle Bin.

", + "smithy.api#xmlName": "SnapshotId" + } + }, + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Enabled", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

If this parameter is set to true, the instance is enabled for Amazon Web Services Nitro\n Enclaves; otherwise, it is not enabled for Amazon Web Services Nitro Enclaves.

", - "smithy.api#xmlName": "enabled" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#LaunchTemplateEnclaveOptionsRequest": { + "com.amazonaws.ec2#ListSnapshotsInRecycleBinResult": { "type": "structure", "members": { - "Enabled": { - "target": "com.amazonaws.ec2#Boolean", + "Snapshots": { + "target": "com.amazonaws.ec2#SnapshotRecycleBinInfoList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

To enable the instance for Amazon Web Services Nitro Enclaves, set this parameter to\n true.

" + "aws.protocols#ec2QueryName": "SnapshotSet", + "smithy.api#documentation": "

Information about the snapshots.

", + "smithy.api#xmlName": "snapshotSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } } - }, - "traits": { - "smithy.api#documentation": "

Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more\n information, see What is Amazon Web Services Nitro Enclaves?\n in the Amazon Web Services Nitro Enclaves User Guide.

" } }, - "com.amazonaws.ec2#LaunchTemplateErrorCode": { + "com.amazonaws.ec2#ListingState": { "type": "enum", "members": { - "LAUNCH_TEMPLATE_ID_DOES_NOT_EXIST": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "launchTemplateIdDoesNotExist" - } - }, - "LAUNCH_TEMPLATE_ID_MALFORMED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "launchTemplateIdMalformed" - } - }, - "LAUNCH_TEMPLATE_NAME_DOES_NOT_EXIST": { + "available": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "launchTemplateNameDoesNotExist" + "smithy.api#enumValue": "available" } }, - "LAUNCH_TEMPLATE_NAME_MALFORMED": { + "sold": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "launchTemplateNameMalformed" + "smithy.api#enumValue": "sold" } }, - "LAUNCH_TEMPLATE_VERSION_DOES_NOT_EXIST": { + "cancelled": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "launchTemplateVersionDoesNotExist" + "smithy.api#enumValue": "cancelled" } }, - "UNEXPECTED_ERROR": { + "pending": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "unexpectedError" + "smithy.api#enumValue": "pending" } } } }, - "com.amazonaws.ec2#LaunchTemplateHibernationOptions": { - "type": "structure", + "com.amazonaws.ec2#ListingStatus": { + "type": "enum", "members": { - "Configured": { - "target": "com.amazonaws.ec2#Boolean", + "active": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Configured", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

If this parameter is set to true, the instance is enabled for\n hibernation; otherwise, it is not enabled for hibernation.

", - "smithy.api#xmlName": "configured" + "smithy.api#enumValue": "active" } - } - }, - "traits": { - "smithy.api#documentation": "

Indicates whether an instance is configured for hibernation.

" - } - }, - "com.amazonaws.ec2#LaunchTemplateHibernationOptionsRequest": { - "type": "structure", - "members": { - "Configured": { - "target": "com.amazonaws.ec2#Boolean", + }, + "pending": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

If you set this parameter to true, the instance is enabled for\n hibernation.

\n

Default: false\n

" + "smithy.api#enumValue": "pending" } - } - }, - "traits": { - "smithy.api#documentation": "

Indicates whether the instance is configured for hibernation. This parameter is valid\n only if the instance meets the hibernation\n prerequisites.

" - } - }, - "com.amazonaws.ec2#LaunchTemplateHttpTokensState": { - "type": "enum", - "members": { - "optional": { + }, + "cancelled": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "optional" + "smithy.api#enumValue": "cancelled" } }, - "required": { + "closed": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "required" + "smithy.api#enumValue": "closed" } } } }, - "com.amazonaws.ec2#LaunchTemplateIamInstanceProfileSpecification": { + "com.amazonaws.ec2#LoadBalancerArn": { + "type": "string" + }, + "com.amazonaws.ec2#LoadBalancersConfig": { "type": "structure", "members": { - "Arn": { - "target": "com.amazonaws.ec2#String", + "ClassicLoadBalancersConfig": { + "target": "com.amazonaws.ec2#ClassicLoadBalancersConfig", "traits": { - "aws.protocols#ec2QueryName": "Arn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the instance profile.

", - "smithy.api#xmlName": "arn" + "aws.protocols#ec2QueryName": "ClassicLoadBalancersConfig", + "smithy.api#documentation": "

The Classic Load Balancers.

", + "smithy.api#xmlName": "classicLoadBalancersConfig" } }, - "Name": { - "target": "com.amazonaws.ec2#String", + "TargetGroupsConfig": { + "target": "com.amazonaws.ec2#TargetGroupsConfig", "traits": { - "aws.protocols#ec2QueryName": "Name", - "smithy.api#documentation": "

The name of the instance profile.

", - "smithy.api#xmlName": "name" + "aws.protocols#ec2QueryName": "TargetGroupsConfig", + "smithy.api#documentation": "

The target groups.

", + "smithy.api#xmlName": "targetGroupsConfig" } } }, "traits": { - "smithy.api#documentation": "

Describes an IAM instance profile.

" + "smithy.api#documentation": "

Describes the Classic Load Balancers and target groups to attach to a Spot Fleet\n request.

" } }, - "com.amazonaws.ec2#LaunchTemplateIamInstanceProfileSpecificationRequest": { + "com.amazonaws.ec2#LoadPermission": { "type": "structure", "members": { - "Arn": { + "UserId": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the instance profile.

" + "aws.protocols#ec2QueryName": "UserId", + "smithy.api#documentation": "

The Amazon Web Services account ID.

", + "smithy.api#xmlName": "userId" } }, - "Name": { - "target": "com.amazonaws.ec2#String", + "Group": { + "target": "com.amazonaws.ec2#PermissionGroup", "traits": { - "smithy.api#documentation": "

The name of the instance profile.

" + "aws.protocols#ec2QueryName": "Group", + "smithy.api#documentation": "

The name of the group.

", + "smithy.api#xmlName": "group" } } }, "traits": { - "smithy.api#documentation": "

An IAM instance profile.

" + "smithy.api#documentation": "

Describes a load permission.

" } }, - "com.amazonaws.ec2#LaunchTemplateId": { - "type": "string" - }, - "com.amazonaws.ec2#LaunchTemplateIdStringList": { + "com.amazonaws.ec2#LoadPermissionList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#LaunchTemplateId", + "target": "com.amazonaws.ec2#LoadPermission", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#LaunchTemplateInstanceMaintenanceOptions": { - "type": "structure", - "members": { - "AutoRecovery": { - "target": "com.amazonaws.ec2#LaunchTemplateAutoRecoveryState", - "traits": { - "aws.protocols#ec2QueryName": "AutoRecovery", - "smithy.api#documentation": "

Disables the automatic recovery behavior of your instance or sets it to\n default.

", - "smithy.api#xmlName": "autoRecovery" - } + "com.amazonaws.ec2#LoadPermissionListRequest": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#LoadPermissionRequest", + "traits": { + "smithy.api#xmlName": "item" } - }, - "traits": { - "smithy.api#documentation": "

The maintenance options of your instance.

" } }, - "com.amazonaws.ec2#LaunchTemplateInstanceMaintenanceOptionsRequest": { + "com.amazonaws.ec2#LoadPermissionModifications": { "type": "structure", "members": { - "AutoRecovery": { - "target": "com.amazonaws.ec2#LaunchTemplateAutoRecoveryState", + "Add": { + "target": "com.amazonaws.ec2#LoadPermissionListRequest", "traits": { - "smithy.api#documentation": "

Disables the automatic recovery behavior of your instance or sets it to default. For\n more information, see Simplified automatic recovery.

" + "smithy.api#documentation": "

The load permissions to add.

" + } + }, + "Remove": { + "target": "com.amazonaws.ec2#LoadPermissionListRequest", + "traits": { + "smithy.api#documentation": "

The load permissions to remove.

" } } }, "traits": { - "smithy.api#documentation": "

The maintenance options of your instance.

" + "smithy.api#documentation": "

Describes modifications to the load permissions of an Amazon FPGA image (AFI).

" } }, - "com.amazonaws.ec2#LaunchTemplateInstanceMarketOptions": { + "com.amazonaws.ec2#LoadPermissionRequest": { "type": "structure", "members": { - "MarketType": { - "target": "com.amazonaws.ec2#MarketType", + "Group": { + "target": "com.amazonaws.ec2#PermissionGroup", "traits": { - "aws.protocols#ec2QueryName": "MarketType", - "smithy.api#documentation": "

The market type.

", - "smithy.api#xmlName": "marketType" + "smithy.api#documentation": "

The name of the group.

" } }, - "SpotOptions": { - "target": "com.amazonaws.ec2#LaunchTemplateSpotMarketOptions", + "UserId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SpotOptions", - "smithy.api#documentation": "

The options for Spot Instances.

", - "smithy.api#xmlName": "spotOptions" + "smithy.api#documentation": "

The Amazon Web Services account ID.

" } } }, "traits": { - "smithy.api#documentation": "

The market (purchasing) option for the instances.

" + "smithy.api#documentation": "

Describes a load permission.

" } }, - "com.amazonaws.ec2#LaunchTemplateInstanceMarketOptionsRequest": { + "com.amazonaws.ec2#LocalGateway": { "type": "structure", "members": { - "MarketType": { - "target": "com.amazonaws.ec2#MarketType", + "LocalGatewayId": { + "target": "com.amazonaws.ec2#LocalGatewayId", "traits": { - "smithy.api#documentation": "

The market type.

" + "aws.protocols#ec2QueryName": "LocalGatewayId", + "smithy.api#documentation": "

The ID of the local gateway.

", + "smithy.api#xmlName": "localGatewayId" } }, - "SpotOptions": { - "target": "com.amazonaws.ec2#LaunchTemplateSpotMarketOptionsRequest", + "OutpostArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The options for Spot Instances.

" + "aws.protocols#ec2QueryName": "OutpostArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Outpost.

", + "smithy.api#xmlName": "outpostArn" + } + }, + "OwnerId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the local gateway.

", + "smithy.api#xmlName": "ownerId" + } + }, + "State": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the local gateway.

", + "smithy.api#xmlName": "state" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags assigned to the local gateway.

", + "smithy.api#xmlName": "tagSet" } } }, "traits": { - "smithy.api#documentation": "

The market (purchasing) option for the instances.

" + "smithy.api#documentation": "

Describes a local gateway.

" } }, - "com.amazonaws.ec2#LaunchTemplateInstanceMetadataEndpointState": { - "type": "enum", + "com.amazonaws.ec2#LocalGatewayId": { + "type": "string" + }, + "com.amazonaws.ec2#LocalGatewayIdSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#LocalGatewayId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#LocalGatewayMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#LocalGatewayRoute": { + "type": "structure", "members": { - "disabled": { - "target": "smithy.api#Unit", + "DestinationCidrBlock": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "disabled" + "aws.protocols#ec2QueryName": "DestinationCidrBlock", + "smithy.api#documentation": "

The CIDR block used for destination matches.

", + "smithy.api#xmlName": "destinationCidrBlock" } }, - "enabled": { - "target": "smithy.api#Unit", + "LocalGatewayVirtualInterfaceGroupId": { + "target": "com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroupId", "traits": { - "smithy.api#enumValue": "enabled" + "aws.protocols#ec2QueryName": "LocalGatewayVirtualInterfaceGroupId", + "smithy.api#documentation": "

The ID of the virtual interface group.

", + "smithy.api#xmlName": "localGatewayVirtualInterfaceGroupId" } - } - } - }, - "com.amazonaws.ec2#LaunchTemplateInstanceMetadataOptions": { - "type": "structure", - "members": { + }, + "Type": { + "target": "com.amazonaws.ec2#LocalGatewayRouteType", + "traits": { + "aws.protocols#ec2QueryName": "Type", + "smithy.api#documentation": "

The route type.

", + "smithy.api#xmlName": "type" + } + }, "State": { - "target": "com.amazonaws.ec2#LaunchTemplateInstanceMetadataOptionsState", + "target": "com.amazonaws.ec2#LocalGatewayRouteState", "traits": { "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the metadata option changes.

\n

\n pending - The metadata options are being updated and the instance is not\n ready to process metadata traffic with the new selection.

\n

\n applied - The metadata options have been successfully applied on the\n instance.

", + "smithy.api#documentation": "

The state of the route.

", "smithy.api#xmlName": "state" } }, - "HttpTokens": { - "target": "com.amazonaws.ec2#LaunchTemplateHttpTokensState", + "LocalGatewayRouteTableId": { + "target": "com.amazonaws.ec2#LocalGatewayRoutetableId", "traits": { - "aws.protocols#ec2QueryName": "HttpTokens", - "smithy.api#documentation": "

The state of token usage for your instance metadata requests. If the parameter is not\n specified in the request, the default state is optional.

\n

If the state is optional, you can choose to retrieve instance metadata\n with or without a signed token header on your request. If you retrieve the IAM role\n credentials without a token, the version 1.0 role credentials are returned. If you\n retrieve the IAM role credentials using a valid signed token, the version 2.0 role\n credentials are returned.

\n

If the state is required, you must send a signed token header with any\n instance metadata retrieval requests. In this state, retrieving the IAM role credentials\n always returns the version 2.0 credentials; the version 1.0 credentials are not\n available.

", - "smithy.api#xmlName": "httpTokens" + "aws.protocols#ec2QueryName": "LocalGatewayRouteTableId", + "smithy.api#documentation": "

The ID of the local gateway route table.

", + "smithy.api#xmlName": "localGatewayRouteTableId" } }, - "HttpPutResponseHopLimit": { - "target": "com.amazonaws.ec2#Integer", + "LocalGatewayRouteTableArn": { + "target": "com.amazonaws.ec2#ResourceArn", "traits": { - "aws.protocols#ec2QueryName": "HttpPutResponseHopLimit", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The desired HTTP PUT response hop limit for instance metadata requests. The larger the\n number, the further instance metadata requests can travel.

\n

Default: 1

\n

Possible values: Integers from 1 to 64

", - "smithy.api#xmlName": "httpPutResponseHopLimit" + "aws.protocols#ec2QueryName": "LocalGatewayRouteTableArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the local gateway route table.

", + "smithy.api#xmlName": "localGatewayRouteTableArn" } }, - "HttpEndpoint": { - "target": "com.amazonaws.ec2#LaunchTemplateInstanceMetadataEndpointState", + "OwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "HttpEndpoint", - "smithy.api#documentation": "

Enables or disables the HTTP metadata endpoint on your instances. If the parameter is\n not specified, the default state is enabled.

\n \n

If you specify a value of disabled, you will not be able to access\n your instance metadata.

\n
", - "smithy.api#xmlName": "httpEndpoint" + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the local gateway route.

", + "smithy.api#xmlName": "ownerId" } }, - "HttpProtocolIpv6": { - "target": "com.amazonaws.ec2#LaunchTemplateInstanceMetadataProtocolIpv6", + "SubnetId": { + "target": "com.amazonaws.ec2#SubnetId", "traits": { - "aws.protocols#ec2QueryName": "HttpProtocolIpv6", - "smithy.api#documentation": "

Enables or disables the IPv6 endpoint for the instance metadata service.

\n

Default: disabled\n

", - "smithy.api#xmlName": "httpProtocolIpv6" + "aws.protocols#ec2QueryName": "SubnetId", + "smithy.api#documentation": "

The ID of the subnet.

", + "smithy.api#xmlName": "subnetId" } }, - "InstanceMetadataTags": { - "target": "com.amazonaws.ec2#LaunchTemplateInstanceMetadataTagsState", + "CoipPoolId": { + "target": "com.amazonaws.ec2#CoipPoolId", "traits": { - "aws.protocols#ec2QueryName": "InstanceMetadataTags", - "smithy.api#documentation": "

Set to enabled to allow access to instance tags from the instance\n metadata. Set to disabled to turn off access to instance tags from the\n instance metadata. For more information, see Work with\n instance tags using the instance metadata.

\n

Default: disabled\n

", - "smithy.api#xmlName": "instanceMetadataTags" + "aws.protocols#ec2QueryName": "CoipPoolId", + "smithy.api#documentation": "

The ID of the customer-owned address pool.

", + "smithy.api#xmlName": "coipPoolId" + } + }, + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#NetworkInterfaceId", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "smithy.api#documentation": "

The ID of the network interface.

", + "smithy.api#xmlName": "networkInterfaceId" } } }, "traits": { - "smithy.api#documentation": "

The metadata options for the instance. For more information, see Instance metadata and user data in the\n Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Describes a route for a local gateway route table.

" } }, - "com.amazonaws.ec2#LaunchTemplateInstanceMetadataOptionsRequest": { - "type": "structure", + "com.amazonaws.ec2#LocalGatewayRouteList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#LocalGatewayRoute", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#LocalGatewayRouteState": { + "type": "enum", "members": { - "HttpTokens": { - "target": "com.amazonaws.ec2#LaunchTemplateHttpTokensState", + "pending": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The state of token usage for your instance metadata requests. If the parameter is not\n specified in the request, the default state is optional.

\n

If the state is optional, you can choose to retrieve instance metadata\n with or without a signed token header on your request. If you retrieve the IAM role\n credentials without a token, the version 1.0 role credentials are returned. If you\n retrieve the IAM role credentials using a valid signed token, the version 2.0 role\n credentials are returned.

\n

If the state is required, you must send a signed token header with any\n instance metadata retrieval requests. In this state, retrieving the IAM role credentials\n always returns the version 2.0 credentials; the version 1.0 credentials are not\n available.

" + "smithy.api#enumValue": "pending" } }, - "HttpPutResponseHopLimit": { - "target": "com.amazonaws.ec2#Integer", + "active": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The desired HTTP PUT response hop limit for instance metadata requests. The larger the\n number, the further instance metadata requests can travel.

\n

Default: 1\n

\n

Possible values: Integers from 1 to 64

" + "smithy.api#enumValue": "active" } }, - "HttpEndpoint": { - "target": "com.amazonaws.ec2#LaunchTemplateInstanceMetadataEndpointState", + "blackhole": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Enables or disables the HTTP metadata endpoint on your instances. If the parameter is\n not specified, the default state is enabled.

\n \n

If you specify a value of disabled, you will not be able to access\n your instance metadata.

\n
" + "smithy.api#enumValue": "blackhole" } }, - "HttpProtocolIpv6": { - "target": "com.amazonaws.ec2#LaunchTemplateInstanceMetadataProtocolIpv6", + "deleting": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Enables or disables the IPv6 endpoint for the instance metadata service.

\n

Default: disabled\n

" + "smithy.api#enumValue": "deleting" } }, - "InstanceMetadataTags": { - "target": "com.amazonaws.ec2#LaunchTemplateInstanceMetadataTagsState", + "deleted": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Set to enabled to allow access to instance tags from the instance\n metadata. Set to disabled to turn off access to instance tags from the\n instance metadata. For more information, see Work with\n instance tags using the instance metadata.

\n

Default: disabled\n

" + "smithy.api#enumValue": "deleted" } } - }, - "traits": { - "smithy.api#documentation": "

The metadata options for the instance. For more information, see Instance metadata and user data in the\n Amazon Elastic Compute Cloud User Guide.

" } }, - "com.amazonaws.ec2#LaunchTemplateInstanceMetadataOptionsState": { - "type": "enum", + "com.amazonaws.ec2#LocalGatewayRouteTable": { + "type": "structure", "members": { - "pending": { - "target": "smithy.api#Unit", + "LocalGatewayRouteTableId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "pending" + "aws.protocols#ec2QueryName": "LocalGatewayRouteTableId", + "smithy.api#documentation": "

The ID of the local gateway route table.

", + "smithy.api#xmlName": "localGatewayRouteTableId" } }, - "applied": { - "target": "smithy.api#Unit", + "LocalGatewayRouteTableArn": { + "target": "com.amazonaws.ec2#ResourceArn", "traits": { - "smithy.api#enumValue": "applied" + "aws.protocols#ec2QueryName": "LocalGatewayRouteTableArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the local gateway route table.

", + "smithy.api#xmlName": "localGatewayRouteTableArn" } - } - } - }, - "com.amazonaws.ec2#LaunchTemplateInstanceMetadataProtocolIpv6": { - "type": "enum", - "members": { - "disabled": { - "target": "smithy.api#Unit", + }, + "LocalGatewayId": { + "target": "com.amazonaws.ec2#LocalGatewayId", "traits": { - "smithy.api#enumValue": "disabled" + "aws.protocols#ec2QueryName": "LocalGatewayId", + "smithy.api#documentation": "

The ID of the local gateway.

", + "smithy.api#xmlName": "localGatewayId" } }, - "enabled": { - "target": "smithy.api#Unit", + "OutpostArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "enabled" + "aws.protocols#ec2QueryName": "OutpostArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Outpost.

", + "smithy.api#xmlName": "outpostArn" + } + }, + "OwnerId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the local gateway route table.

", + "smithy.api#xmlName": "ownerId" + } + }, + "State": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the local gateway route table.

", + "smithy.api#xmlName": "state" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags assigned to the local gateway route table.

", + "smithy.api#xmlName": "tagSet" + } + }, + "Mode": { + "target": "com.amazonaws.ec2#LocalGatewayRouteTableMode", + "traits": { + "aws.protocols#ec2QueryName": "Mode", + "smithy.api#documentation": "

The mode of the local gateway route table.

", + "smithy.api#xmlName": "mode" + } + }, + "StateReason": { + "target": "com.amazonaws.ec2#StateReason", + "traits": { + "aws.protocols#ec2QueryName": "StateReason", + "smithy.api#documentation": "

Information about the state change.

", + "smithy.api#xmlName": "stateReason" } } + }, + "traits": { + "smithy.api#documentation": "

Describes a local gateway route table.

" + } + }, + "com.amazonaws.ec2#LocalGatewayRouteTableIdSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#LocalGatewayRoutetableId", + "traits": { + "smithy.api#xmlName": "item" + } } }, - "com.amazonaws.ec2#LaunchTemplateInstanceMetadataTagsState": { + "com.amazonaws.ec2#LocalGatewayRouteTableMode": { "type": "enum", "members": { - "disabled": { + "direct_vpc_routing": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "disabled" + "smithy.api#enumValue": "direct-vpc-routing" } }, - "enabled": { + "coip": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "enabled" + "smithy.api#enumValue": "coip" } } } }, - "com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecification": { + "com.amazonaws.ec2#LocalGatewayRouteTableSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#LocalGatewayRouteTable", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociation": { "type": "structure", "members": { - "AssociateCarrierIpAddress": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "AssociateCarrierIpAddress", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to associate a Carrier IP address with eth0 for a new network\n interface.

\n

Use this option when you launch an instance in a Wavelength Zone and want to associate\n a Carrier IP address with the network interface. For more information about Carrier IP\n addresses, see Carrier IP addresses in the Wavelength Developer\n Guide.

", - "smithy.api#xmlName": "associateCarrierIpAddress" - } - }, - "AssociatePublicIpAddress": { - "target": "com.amazonaws.ec2#Boolean", + "LocalGatewayRouteTableVirtualInterfaceGroupAssociationId": { + "target": "com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociationId", "traits": { - "aws.protocols#ec2QueryName": "AssociatePublicIpAddress", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to associate a public IPv4 address with eth0 for a new network\n interface.

", - "smithy.api#xmlName": "associatePublicIpAddress" + "aws.protocols#ec2QueryName": "LocalGatewayRouteTableVirtualInterfaceGroupAssociationId", + "smithy.api#documentation": "

The ID of the association.

", + "smithy.api#xmlName": "localGatewayRouteTableVirtualInterfaceGroupAssociationId" } }, - "DeleteOnTermination": { - "target": "com.amazonaws.ec2#Boolean", + "LocalGatewayVirtualInterfaceGroupId": { + "target": "com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroupId", "traits": { - "aws.protocols#ec2QueryName": "DeleteOnTermination", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the network interface is deleted when the instance is\n terminated.

", - "smithy.api#xmlName": "deleteOnTermination" + "aws.protocols#ec2QueryName": "LocalGatewayVirtualInterfaceGroupId", + "smithy.api#documentation": "

The ID of the virtual interface group.

", + "smithy.api#xmlName": "localGatewayVirtualInterfaceGroupId" } }, - "Description": { + "LocalGatewayId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

A description for the network interface.

", - "smithy.api#xmlName": "description" + "aws.protocols#ec2QueryName": "LocalGatewayId", + "smithy.api#documentation": "

The ID of the local gateway.

", + "smithy.api#xmlName": "localGatewayId" } }, - "DeviceIndex": { - "target": "com.amazonaws.ec2#Integer", + "LocalGatewayRouteTableId": { + "target": "com.amazonaws.ec2#LocalGatewayId", "traits": { - "aws.protocols#ec2QueryName": "DeviceIndex", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The device index for the network interface attachment.

", - "smithy.api#xmlName": "deviceIndex" + "aws.protocols#ec2QueryName": "LocalGatewayRouteTableId", + "smithy.api#documentation": "

The ID of the local gateway route table.

", + "smithy.api#xmlName": "localGatewayRouteTableId" } }, - "Groups": { - "target": "com.amazonaws.ec2#GroupIdStringList", + "LocalGatewayRouteTableArn": { + "target": "com.amazonaws.ec2#ResourceArn", "traits": { - "aws.protocols#ec2QueryName": "GroupSet", - "smithy.api#documentation": "

The IDs of one or more security groups.

", - "smithy.api#xmlName": "groupSet" + "aws.protocols#ec2QueryName": "LocalGatewayRouteTableArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the local gateway route table for the virtual interface group.

", + "smithy.api#xmlName": "localGatewayRouteTableArn" } }, - "InterfaceType": { + "OwnerId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "InterfaceType", - "smithy.api#documentation": "

The type of network interface.

", - "smithy.api#xmlName": "interfaceType" + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the local gateway virtual interface group association.

", + "smithy.api#xmlName": "ownerId" } }, - "Ipv6AddressCount": { - "target": "com.amazonaws.ec2#Integer", + "State": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Ipv6AddressCount", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of IPv6 addresses for the network interface.

", - "smithy.api#xmlName": "ipv6AddressCount" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the association.

", + "smithy.api#xmlName": "state" } }, - "Ipv6Addresses": { - "target": "com.amazonaws.ec2#InstanceIpv6AddressList", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "Ipv6AddressesSet", - "smithy.api#documentation": "

The IPv6 addresses for the network interface.

", - "smithy.api#xmlName": "ipv6AddressesSet" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags assigned to the association.

", + "smithy.api#xmlName": "tagSet" } - }, - "NetworkInterfaceId": { - "target": "com.amazonaws.ec2#NetworkInterfaceId", + } + }, + "traits": { + "smithy.api#documentation": "

Describes an association between a local gateway route table and a virtual interface group.

" + } + }, + "com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociationId": { + "type": "string" + }, + "com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociationIdSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociationId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociationSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociation", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#LocalGatewayRouteTableVpcAssociation": { + "type": "structure", + "members": { + "LocalGatewayRouteTableVpcAssociationId": { + "target": "com.amazonaws.ec2#LocalGatewayRouteTableVpcAssociationId", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceId", - "smithy.api#documentation": "

The ID of the network interface.

", - "smithy.api#xmlName": "networkInterfaceId" + "aws.protocols#ec2QueryName": "LocalGatewayRouteTableVpcAssociationId", + "smithy.api#documentation": "

The ID of the association.

", + "smithy.api#xmlName": "localGatewayRouteTableVpcAssociationId" } }, - "PrivateIpAddress": { + "LocalGatewayRouteTableId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PrivateIpAddress", - "smithy.api#documentation": "

The primary private IPv4 address of the network interface.

", - "smithy.api#xmlName": "privateIpAddress" - } - }, - "PrivateIpAddresses": { - "target": "com.amazonaws.ec2#PrivateIpAddressSpecificationList", - "traits": { - "aws.protocols#ec2QueryName": "PrivateIpAddressesSet", - "smithy.api#documentation": "

One or more private IPv4 addresses.

", - "smithy.api#xmlName": "privateIpAddressesSet" - } - }, - "SecondaryPrivateIpAddressCount": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "aws.protocols#ec2QueryName": "SecondaryPrivateIpAddressCount", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of secondary private IPv4 addresses for the network interface.

", - "smithy.api#xmlName": "secondaryPrivateIpAddressCount" + "aws.protocols#ec2QueryName": "LocalGatewayRouteTableId", + "smithy.api#documentation": "

The ID of the local gateway route table.

", + "smithy.api#xmlName": "localGatewayRouteTableId" } }, - "SubnetId": { - "target": "com.amazonaws.ec2#SubnetId", + "LocalGatewayRouteTableArn": { + "target": "com.amazonaws.ec2#ResourceArn", "traits": { - "aws.protocols#ec2QueryName": "SubnetId", - "smithy.api#documentation": "

The ID of the subnet for the network interface.

", - "smithy.api#xmlName": "subnetId" + "aws.protocols#ec2QueryName": "LocalGatewayRouteTableArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the local gateway route table for the association.

", + "smithy.api#xmlName": "localGatewayRouteTableArn" } }, - "NetworkCardIndex": { - "target": "com.amazonaws.ec2#Integer", + "LocalGatewayId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NetworkCardIndex", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The index of the network card.

", - "smithy.api#xmlName": "networkCardIndex" + "aws.protocols#ec2QueryName": "LocalGatewayId", + "smithy.api#documentation": "

The ID of the local gateway.

", + "smithy.api#xmlName": "localGatewayId" } }, - "Ipv4Prefixes": { - "target": "com.amazonaws.ec2#Ipv4PrefixListResponse", + "VpcId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Ipv4PrefixSet", - "smithy.api#documentation": "

One or more IPv4 prefixes assigned to the network interface.

", - "smithy.api#xmlName": "ipv4PrefixSet" + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#documentation": "

The ID of the VPC.

", + "smithy.api#xmlName": "vpcId" } }, - "Ipv4PrefixCount": { - "target": "com.amazonaws.ec2#Integer", + "OwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Ipv4PrefixCount", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of IPv4 prefixes that Amazon Web Services automatically assigned to the network\n interface.

", - "smithy.api#xmlName": "ipv4PrefixCount" + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the local gateway route table for the association.

", + "smithy.api#xmlName": "ownerId" } }, - "Ipv6Prefixes": { - "target": "com.amazonaws.ec2#Ipv6PrefixListResponse", + "State": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Ipv6PrefixSet", - "smithy.api#documentation": "

One or more IPv6 prefixes assigned to the network interface.

", - "smithy.api#xmlName": "ipv6PrefixSet" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the association.

", + "smithy.api#xmlName": "state" } }, - "Ipv6PrefixCount": { - "target": "com.amazonaws.ec2#Integer", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "Ipv6PrefixCount", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of IPv6 prefixes that Amazon Web Services automatically assigned to the network\n interface.

", - "smithy.api#xmlName": "ipv6PrefixCount" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags assigned to the association.

", + "smithy.api#xmlName": "tagSet" } } }, "traits": { - "smithy.api#documentation": "

Describes a network interface.

" + "smithy.api#documentation": "

Describes an association between a local gateway route table and a VPC.

" } }, - "com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecificationList": { + "com.amazonaws.ec2#LocalGatewayRouteTableVpcAssociationId": { + "type": "string" + }, + "com.amazonaws.ec2#LocalGatewayRouteTableVpcAssociationIdSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecification", + "target": "com.amazonaws.ec2#LocalGatewayRouteTableVpcAssociationId", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecificationRequest": { - "type": "structure", + "com.amazonaws.ec2#LocalGatewayRouteTableVpcAssociationSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#LocalGatewayRouteTableVpcAssociation", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#LocalGatewayRouteType": { + "type": "enum", "members": { - "AssociateCarrierIpAddress": { - "target": "com.amazonaws.ec2#Boolean", + "static": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Associates a Carrier IP address with eth0 for a new network interface.

\n

Use this option when you launch an instance in a Wavelength Zone and want to associate\n a Carrier IP address with the network interface. For more information about Carrier IP\n addresses, see Carrier IP addresses in the Wavelength Developer\n Guide.

" + "smithy.api#enumValue": "static" } }, - "AssociatePublicIpAddress": { - "target": "com.amazonaws.ec2#Boolean", + "propagated": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Associates a public IPv4 address with eth0 for a new network interface.

" + "smithy.api#enumValue": "propagated" } - }, - "DeleteOnTermination": { - "target": "com.amazonaws.ec2#Boolean", + } + } + }, + "com.amazonaws.ec2#LocalGatewayRoutetableId": { + "type": "string" + }, + "com.amazonaws.ec2#LocalGatewaySet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#LocalGateway", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#LocalGatewayVirtualInterface": { + "type": "structure", + "members": { + "LocalGatewayVirtualInterfaceId": { + "target": "com.amazonaws.ec2#LocalGatewayVirtualInterfaceId", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the network interface is deleted when the instance is\n terminated.

" + "aws.protocols#ec2QueryName": "LocalGatewayVirtualInterfaceId", + "smithy.api#documentation": "

The ID of the virtual interface.

", + "smithy.api#xmlName": "localGatewayVirtualInterfaceId" } }, - "Description": { + "LocalGatewayId": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

A description for the network interface.

" + "aws.protocols#ec2QueryName": "LocalGatewayId", + "smithy.api#documentation": "

The ID of the local gateway.

", + "smithy.api#xmlName": "localGatewayId" } }, - "DeviceIndex": { + "Vlan": { "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "Vlan", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The device index for the network interface attachment.

" + "smithy.api#documentation": "

The ID of the VLAN.

", + "smithy.api#xmlName": "vlan" } }, - "Groups": { - "target": "com.amazonaws.ec2#SecurityGroupIdStringList", + "LocalAddress": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The IDs of one or more security groups.

", - "smithy.api#xmlName": "SecurityGroupId" + "aws.protocols#ec2QueryName": "LocalAddress", + "smithy.api#documentation": "

The local address.

", + "smithy.api#xmlName": "localAddress" } }, - "InterfaceType": { + "PeerAddress": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The type of network interface. To create an Elastic Fabric Adapter (EFA), specify\n efa. For more information, see Elastic Fabric Adapter in the\n Amazon Elastic Compute Cloud User Guide.

\n

If you are not creating an EFA, specify interface or omit this\n parameter.

\n

Valid values: interface | efa\n

" + "aws.protocols#ec2QueryName": "PeerAddress", + "smithy.api#documentation": "

The peer address.

", + "smithy.api#xmlName": "peerAddress" } }, - "Ipv6AddressCount": { + "LocalBgpAsn": { "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "LocalBgpAsn", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The number of IPv6 addresses to assign to a network interface. Amazon EC2\n automatically selects the IPv6 addresses from the subnet range. You can't use this\n option if specifying specific IPv6 addresses.

" - } - }, - "Ipv6Addresses": { - "target": "com.amazonaws.ec2#InstanceIpv6AddressListRequest", - "traits": { - "smithy.api#documentation": "

One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. You\n can't use this option if you're specifying a number of IPv6 addresses.

" - } - }, - "NetworkInterfaceId": { - "target": "com.amazonaws.ec2#NetworkInterfaceId", - "traits": { - "smithy.api#documentation": "

The ID of the network interface.

" - } - }, - "PrivateIpAddress": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The primary private IPv4 address of the network interface.

" - } - }, - "PrivateIpAddresses": { - "target": "com.amazonaws.ec2#PrivateIpAddressSpecificationList", - "traits": { - "smithy.api#documentation": "

One or more private IPv4 addresses.

" + "smithy.api#documentation": "

The Border Gateway Protocol (BGP) Autonomous System Number (ASN) of the local gateway.

", + "smithy.api#xmlName": "localBgpAsn" } }, - "SecondaryPrivateIpAddressCount": { + "PeerBgpAsn": { "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "PeerBgpAsn", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The number of secondary private IPv4 addresses to assign to a network\n interface.

" + "smithy.api#documentation": "

The peer BGP ASN.

", + "smithy.api#xmlName": "peerBgpAsn" } }, - "SubnetId": { - "target": "com.amazonaws.ec2#SubnetId", + "OwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The ID of the subnet for the network interface.

" + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the local gateway virtual interface.

", + "smithy.api#xmlName": "ownerId" } }, - "NetworkCardIndex": { - "target": "com.amazonaws.ec2#Integer", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The index of the network card. Some instance types support multiple network cards. The\n primary network interface must be assigned to network card index 0. The default is\n network card index 0.

" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags assigned to the virtual interface.

", + "smithy.api#xmlName": "tagSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a local gateway virtual interface.

" + } + }, + "com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroup": { + "type": "structure", + "members": { + "LocalGatewayVirtualInterfaceGroupId": { + "target": "com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroupId", + "traits": { + "aws.protocols#ec2QueryName": "LocalGatewayVirtualInterfaceGroupId", + "smithy.api#documentation": "

The ID of the virtual interface group.

", + "smithy.api#xmlName": "localGatewayVirtualInterfaceGroupId" } }, - "Ipv4Prefixes": { - "target": "com.amazonaws.ec2#Ipv4PrefixList", + "LocalGatewayVirtualInterfaceIds": { + "target": "com.amazonaws.ec2#LocalGatewayVirtualInterfaceIdSet", "traits": { - "smithy.api#documentation": "

One or more IPv4 prefixes to be assigned to the network interface. You cannot use this\n option if you use the Ipv4PrefixCount option.

", - "smithy.api#xmlName": "Ipv4Prefix" + "aws.protocols#ec2QueryName": "LocalGatewayVirtualInterfaceIdSet", + "smithy.api#documentation": "

The IDs of the virtual interfaces.

", + "smithy.api#xmlName": "localGatewayVirtualInterfaceIdSet" } }, - "Ipv4PrefixCount": { - "target": "com.amazonaws.ec2#Integer", + "LocalGatewayId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of IPv4 prefixes to be automatically assigned to the network interface. You\n cannot use this option if you use the Ipv4Prefix option.

" + "aws.protocols#ec2QueryName": "LocalGatewayId", + "smithy.api#documentation": "

The ID of the local gateway.

", + "smithy.api#xmlName": "localGatewayId" } }, - "Ipv6Prefixes": { - "target": "com.amazonaws.ec2#Ipv6PrefixList", + "OwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

One or more IPv6 prefixes to be assigned to the network interface. You cannot use this\n option if you use the Ipv6PrefixCount option.

", - "smithy.api#xmlName": "Ipv6Prefix" + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the local gateway virtual interface group.

", + "smithy.api#xmlName": "ownerId" } }, - "Ipv6PrefixCount": { - "target": "com.amazonaws.ec2#Integer", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of IPv6 prefixes to be automatically assigned to the network interface. You\n cannot use this option if you use the Ipv6Prefix option.

" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags assigned to the virtual interface group.

", + "smithy.api#xmlName": "tagSet" } } }, "traits": { - "smithy.api#documentation": "

The parameters for a network interface.

" + "smithy.api#documentation": "

Describes a local gateway virtual interface group.

" } }, - "com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecificationRequestList": { + "com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroupId": { + "type": "string" + }, + "com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroupIdSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecificationRequest", + "target": "com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroupId", "traits": { - "smithy.api#xmlName": "InstanceNetworkInterfaceSpecification" - } - } - }, - "com.amazonaws.ec2#LaunchTemplateLicenseConfiguration": { - "type": "structure", - "members": { - "LicenseConfigurationArn": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "LicenseConfigurationArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the license configuration.

", - "smithy.api#xmlName": "licenseConfigurationArn" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a license configuration.

" - } - }, - "com.amazonaws.ec2#LaunchTemplateLicenseConfigurationRequest": { - "type": "structure", - "members": { - "LicenseConfigurationArn": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the license configuration.

" - } + "smithy.api#xmlName": "item" } - }, - "traits": { - "smithy.api#documentation": "

Describes a license configuration.

" } }, - "com.amazonaws.ec2#LaunchTemplateLicenseList": { + "com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroupSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#LaunchTemplateLicenseConfiguration", + "target": "com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroup", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#LaunchTemplateLicenseSpecificationListRequest": { + "com.amazonaws.ec2#LocalGatewayVirtualInterfaceId": { + "type": "string" + }, + "com.amazonaws.ec2#LocalGatewayVirtualInterfaceIdSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#LaunchTemplateLicenseConfigurationRequest", + "target": "com.amazonaws.ec2#LocalGatewayVirtualInterfaceId", "traits": { "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#LaunchTemplateName": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 3, - "max": 128 - }, - "smithy.api#pattern": "^[a-zA-Z0-9\\(\\)\\.\\-/_]+$" + } } }, - "com.amazonaws.ec2#LaunchTemplateNameStringList": { + "com.amazonaws.ec2#LocalGatewayVirtualInterfaceSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#LaunchTemplateName", + "target": "com.amazonaws.ec2#LocalGatewayVirtualInterface", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#LaunchTemplateOverrides": { - "type": "structure", + "com.amazonaws.ec2#LocalStorage": { + "type": "enum", "members": { - "InstanceType": { - "target": "com.amazonaws.ec2#InstanceType", - "traits": { - "aws.protocols#ec2QueryName": "InstanceType", - "smithy.api#documentation": "

The instance type.

", - "smithy.api#xmlName": "instanceType" - } - }, - "SpotPrice": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "SpotPrice", - "smithy.api#documentation": "

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to \n increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

\n \n

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

\n
", - "smithy.api#xmlName": "spotPrice" - } - }, - "SubnetId": { - "target": "com.amazonaws.ec2#SubnetId", + "INCLUDED": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SubnetId", - "smithy.api#documentation": "

The ID of the subnet in which to launch the instances.

", - "smithy.api#xmlName": "subnetId" + "smithy.api#enumValue": "included" } }, - "AvailabilityZone": { - "target": "com.amazonaws.ec2#String", + "REQUIRED": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZone", - "smithy.api#documentation": "

The Availability Zone in which to launch the instances.

", - "smithy.api#xmlName": "availabilityZone" + "smithy.api#enumValue": "required" } }, - "WeightedCapacity": { - "target": "com.amazonaws.ec2#Double", + "EXCLUDED": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "WeightedCapacity", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of units provided by the specified instance type.

", - "smithy.api#xmlName": "weightedCapacity" + "smithy.api#enumValue": "excluded" } - }, - "Priority": { - "target": "com.amazonaws.ec2#Double", + } + } + }, + "com.amazonaws.ec2#LocalStorageType": { + "type": "enum", + "members": { + "HDD": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Priority", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The priority for the launch template override. The highest priority is launched\n first.

\n

If OnDemandAllocationStrategy is set to prioritized, Spot Fleet\n uses priority to determine which launch template override to use first in fulfilling\n On-Demand capacity.

\n

If the Spot AllocationStrategy is set to\n capacityOptimizedPrioritized, Spot Fleet uses priority on a best-effort basis\n to determine which launch template override to use in fulfilling Spot capacity, but\n optimizes for capacity first.

\n

Valid values are whole numbers starting at 0. The lower the number, the\n higher the priority. If no number is set, the launch template override has the lowest\n priority. You can set the same priority for different launch template overrides.

", - "smithy.api#xmlName": "priority" + "smithy.api#enumValue": "hdd" } }, - "InstanceRequirements": { - "target": "com.amazonaws.ec2#InstanceRequirements", + "SSD": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InstanceRequirements", - "smithy.api#documentation": "

The instance requirements. When you specify instance requirements, Amazon EC2 will identify\n instance types with the provided requirements, and then use your On-Demand and Spot\n allocation strategies to launch instances from these instance types, in the same way as\n when you specify a list of instance types.

\n \n

If you specify InstanceRequirements, you can't specify\n InstanceType.

\n
", - "smithy.api#xmlName": "instanceRequirements" + "smithy.api#enumValue": "ssd" } } - }, - "traits": { - "smithy.api#documentation": "

Describes overrides for a launch template.

" } }, - "com.amazonaws.ec2#LaunchTemplateOverridesList": { + "com.amazonaws.ec2#LocalStorageTypeSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#LaunchTemplateOverrides", + "target": "com.amazonaws.ec2#LocalStorageType", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#LaunchTemplatePlacement": { - "type": "structure", + "com.amazonaws.ec2#Location": { + "type": "string" + }, + "com.amazonaws.ec2#LocationType": { + "type": "enum", "members": { - "AvailabilityZone": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZone", - "smithy.api#documentation": "

The Availability Zone of the instance.

", - "smithy.api#xmlName": "availabilityZone" - } - }, - "Affinity": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "Affinity", - "smithy.api#documentation": "

The affinity setting for the instance on the Dedicated Host.

", - "smithy.api#xmlName": "affinity" - } - }, - "GroupName": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "GroupName", - "smithy.api#documentation": "

The name of the placement group for the instance.

", - "smithy.api#xmlName": "groupName" - } - }, - "HostId": { - "target": "com.amazonaws.ec2#String", + "region": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "HostId", - "smithy.api#documentation": "

The ID of the Dedicated Host for the instance.

", - "smithy.api#xmlName": "hostId" + "smithy.api#enumValue": "region" } }, - "Tenancy": { - "target": "com.amazonaws.ec2#Tenancy", + "availability_zone": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Tenancy", - "smithy.api#documentation": "

The tenancy of the instance (if the instance is running in a VPC). An instance with a\n tenancy of dedicated runs on single-tenant hardware.

", - "smithy.api#xmlName": "tenancy" + "smithy.api#enumValue": "availability-zone" } }, - "SpreadDomain": { - "target": "com.amazonaws.ec2#String", + "availability_zone_id": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SpreadDomain", - "smithy.api#documentation": "

Reserved for future use.

", - "smithy.api#xmlName": "spreadDomain" + "smithy.api#enumValue": "availability-zone-id" } - }, - "HostResourceGroupArn": { - "target": "com.amazonaws.ec2#String", + } + } + }, + "com.amazonaws.ec2#LogDestinationType": { + "type": "enum", + "members": { + "cloud_watch_logs": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "HostResourceGroupArn", - "smithy.api#documentation": "

The ARN of the host resource group in which to launch the instances.

", - "smithy.api#xmlName": "hostResourceGroupArn" + "smithy.api#enumValue": "cloud-watch-logs" } }, - "PartitionNumber": { - "target": "com.amazonaws.ec2#Integer", + "s3": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "PartitionNumber", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of the partition the instance should launch in. Valid only if the placement\n group strategy is set to partition.

", - "smithy.api#xmlName": "partitionNumber" + "smithy.api#enumValue": "s3" } }, - "GroupId": { - "target": "com.amazonaws.ec2#PlacementGroupId", + "kinesis_data_firehose": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "GroupId", - "smithy.api#documentation": "

The Group ID of the placement group. You must specify the Placement Group Group ID to launch an instance in a shared placement\n group.

", - "smithy.api#xmlName": "groupId" + "smithy.api#enumValue": "kinesis-data-firehose" } } - }, + } + }, + "com.amazonaws.ec2#Long": { + "type": "long", "traits": { - "smithy.api#documentation": "

Describes the placement of an instance.

" + "smithy.api#default": 0 } }, - "com.amazonaws.ec2#LaunchTemplatePlacementRequest": { + "com.amazonaws.ec2#ManagedPrefixList": { "type": "structure", "members": { - "AvailabilityZone": { - "target": "com.amazonaws.ec2#String", + "PrefixListId": { + "target": "com.amazonaws.ec2#PrefixListResourceId", "traits": { - "smithy.api#documentation": "

The Availability Zone for the instance.

" + "aws.protocols#ec2QueryName": "PrefixListId", + "smithy.api#documentation": "

The ID of the prefix list.

", + "smithy.api#xmlName": "prefixListId" } }, - "Affinity": { + "AddressFamily": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The affinity setting for an instance on a Dedicated Host.

" - } - }, - "GroupName": { - "target": "com.amazonaws.ec2#PlacementGroupName", - "traits": { - "smithy.api#documentation": "

The name of the placement group for the instance.

" + "aws.protocols#ec2QueryName": "AddressFamily", + "smithy.api#documentation": "

The IP address version.

", + "smithy.api#xmlName": "addressFamily" } }, - "HostId": { - "target": "com.amazonaws.ec2#DedicatedHostId", + "State": { + "target": "com.amazonaws.ec2#PrefixListState", "traits": { - "smithy.api#documentation": "

The ID of the Dedicated Host for the instance.

" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The current state of the prefix list.

", + "smithy.api#xmlName": "state" } }, - "Tenancy": { - "target": "com.amazonaws.ec2#Tenancy", + "StateMessage": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The tenancy of the instance (if the instance is running in a VPC). An instance with a\n tenancy of dedicated runs on single-tenant hardware.

" + "aws.protocols#ec2QueryName": "StateMessage", + "smithy.api#documentation": "

The state message.

", + "smithy.api#xmlName": "stateMessage" } }, - "SpreadDomain": { - "target": "com.amazonaws.ec2#String", + "PrefixListArn": { + "target": "com.amazonaws.ec2#ResourceArn", "traits": { - "smithy.api#documentation": "

Reserved for future use.

" + "aws.protocols#ec2QueryName": "PrefixListArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the prefix list.

", + "smithy.api#xmlName": "prefixListArn" } }, - "HostResourceGroupArn": { + "PrefixListName": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The ARN of the host resource group in which to launch the instances. If you specify a\n host resource group ARN, omit the Tenancy parameter or\n set it to host.

" + "aws.protocols#ec2QueryName": "PrefixListName", + "smithy.api#documentation": "

The name of the prefix list.

", + "smithy.api#xmlName": "prefixListName" } }, - "PartitionNumber": { + "MaxEntries": { "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "MaxEntries", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The number of the partition the instance should launch in. Valid only if the placement\n group strategy is set to partition.

" - } - }, - "GroupId": { - "target": "com.amazonaws.ec2#PlacementGroupId", - "traits": { - "smithy.api#documentation": "

The Group Id of a placement group. You must specify the Placement Group Group Id to launch an instance in a shared placement\n group.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the placement of an instance.

" - } - }, - "com.amazonaws.ec2#LaunchTemplatePrivateDnsNameOptions": { - "type": "structure", - "members": { - "HostnameType": { - "target": "com.amazonaws.ec2#HostnameType", - "traits": { - "aws.protocols#ec2QueryName": "HostnameType", - "smithy.api#documentation": "

The type of hostname to assign to an instance.

", - "smithy.api#xmlName": "hostnameType" - } - }, - "EnableResourceNameDnsARecord": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "EnableResourceNameDnsARecord", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to respond to DNS queries for instance hostnames with DNS A\n records.

", - "smithy.api#xmlName": "enableResourceNameDnsARecord" + "smithy.api#documentation": "

The maximum number of entries for the prefix list.

", + "smithy.api#xmlName": "maxEntries" } }, - "EnableResourceNameDnsAAAARecord": { - "target": "com.amazonaws.ec2#Boolean", + "Version": { + "target": "com.amazonaws.ec2#Long", "traits": { - "aws.protocols#ec2QueryName": "EnableResourceNameDnsAAAARecord", + "aws.protocols#ec2QueryName": "Version", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA\n records.

", - "smithy.api#xmlName": "enableResourceNameDnsAAAARecord" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the options for instance hostnames.

" - } - }, - "com.amazonaws.ec2#LaunchTemplatePrivateDnsNameOptionsRequest": { - "type": "structure", - "members": { - "HostnameType": { - "target": "com.amazonaws.ec2#HostnameType", - "traits": { - "smithy.api#documentation": "

The type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name\n must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS\n name must be based on the instance ID. For dual-stack subnets, you can specify whether\n DNS names use the instance IPv4 address or the instance ID.

" + "smithy.api#default": 0, + "smithy.api#documentation": "

The version of the prefix list.

", + "smithy.api#xmlName": "version" } }, - "EnableResourceNameDnsARecord": { - "target": "com.amazonaws.ec2#Boolean", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to respond to DNS queries for instance hostnames with DNS A\n records.

" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags for the prefix list.

", + "smithy.api#xmlName": "tagSet" } }, - "EnableResourceNameDnsAAAARecord": { - "target": "com.amazonaws.ec2#Boolean", + "OwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA\n records.

" + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the owner of the prefix list.

", + "smithy.api#xmlName": "ownerId" } } }, "traits": { - "smithy.api#documentation": "

Describes the options for instance hostnames.

" + "smithy.api#documentation": "

Describes a managed prefix list.

" } }, - "com.amazonaws.ec2#LaunchTemplateSet": { + "com.amazonaws.ec2#ManagedPrefixListSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#LaunchTemplate", + "target": "com.amazonaws.ec2#ManagedPrefixList", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#LaunchTemplateSpecification": { - "type": "structure", + "com.amazonaws.ec2#MarketType": { + "type": "enum", "members": { - "LaunchTemplateId": { - "target": "com.amazonaws.ec2#LaunchTemplateId", - "traits": { - "smithy.api#documentation": "

The ID of the launch template.

\n

You must specify the LaunchTemplateId or the\n LaunchTemplateName, but not both.

" - } - }, - "LaunchTemplateName": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The name of the launch template.

\n

You must specify the LaunchTemplateName or the\n LaunchTemplateId, but not both.

" - } - }, - "Version": { - "target": "com.amazonaws.ec2#String", + "spot": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The launch template version number, $Latest, or\n $Default.

\n

If the value is $Latest, Amazon EC2 uses the latest version of the launch\n template.

\n

If the value is $Default, Amazon EC2 uses the default version of the\n launch template.

\n

Default: The default version of the launch template.

" + "smithy.api#enumValue": "spot" } } - }, + } + }, + "com.amazonaws.ec2#MaxIpv4AddrPerInterface": { + "type": "integer" + }, + "com.amazonaws.ec2#MaxIpv6AddrPerInterface": { + "type": "integer" + }, + "com.amazonaws.ec2#MaxNetworkInterfaces": { + "type": "integer" + }, + "com.amazonaws.ec2#MaxResults": { + "type": "integer" + }, + "com.amazonaws.ec2#MaxResultsParam": { + "type": "integer", "traits": { - "smithy.api#documentation": "

The launch template to use. You must specify either the launch template ID or launch\n template name in the request, but not both.

" + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0, + "max": 100 + } } }, - "com.amazonaws.ec2#LaunchTemplateSpotMarketOptions": { - "type": "structure", + "com.amazonaws.ec2#MaximumBandwidthInMbps": { + "type": "integer" + }, + "com.amazonaws.ec2#MaximumEfaInterfaces": { + "type": "integer" + }, + "com.amazonaws.ec2#MaximumIops": { + "type": "integer" + }, + "com.amazonaws.ec2#MaximumNetworkCards": { + "type": "integer" + }, + "com.amazonaws.ec2#MaximumThroughputInMBps": { + "type": "double" + }, + "com.amazonaws.ec2#MembershipType": { + "type": "enum", "members": { - "MaxPrice": { - "target": "com.amazonaws.ec2#String", + "static": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "MaxPrice", - "smithy.api#documentation": "

The maximum hourly price you're willing to pay for the Spot Instances. We do not\n recommend using this parameter because it can lead to increased interruptions. If you do\n not specify this parameter, you will pay the current Spot price.

\n \n

If you specify a maximum price, your Spot Instances will be interrupted more\n frequently than if you do not specify this parameter.

\n
", - "smithy.api#xmlName": "maxPrice" + "smithy.api#enumValue": "static" } }, - "SpotInstanceType": { - "target": "com.amazonaws.ec2#SpotInstanceType", + "igmp": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SpotInstanceType", - "smithy.api#documentation": "

The Spot Instance request type.

", - "smithy.api#xmlName": "spotInstanceType" + "smithy.api#enumValue": "igmp" } - }, - "BlockDurationMinutes": { - "target": "com.amazonaws.ec2#Integer", + } + } + }, + "com.amazonaws.ec2#MemoryGiBPerVCpu": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Double", "traits": { - "aws.protocols#ec2QueryName": "BlockDurationMinutes", + "aws.protocols#ec2QueryName": "Min", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The required duration for the Spot Instances (also known as Spot blocks), in minutes.\n This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).

", - "smithy.api#xmlName": "blockDurationMinutes" - } - }, - "ValidUntil": { - "target": "com.amazonaws.ec2#DateTime", - "traits": { - "aws.protocols#ec2QueryName": "ValidUntil", - "smithy.api#documentation": "

The end date of the request. For a one-time request, the request remains active until\n all instances launch, the request is canceled, or this date is reached. If the request\n is persistent, it remains active until it is canceled or this date and time is\n reached.

", - "smithy.api#xmlName": "validUntil" + "smithy.api#documentation": "

The minimum amount of memory per vCPU, in GiB. If this parameter is not specified, there is\n no minimum limit.

", + "smithy.api#xmlName": "min" } }, - "InstanceInterruptionBehavior": { - "target": "com.amazonaws.ec2#InstanceInterruptionBehavior", + "Max": { + "target": "com.amazonaws.ec2#Double", "traits": { - "aws.protocols#ec2QueryName": "InstanceInterruptionBehavior", - "smithy.api#documentation": "

The behavior when a Spot Instance is interrupted.

", - "smithy.api#xmlName": "instanceInterruptionBehavior" + "aws.protocols#ec2QueryName": "Max", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum amount of memory per vCPU, in GiB. If this parameter is not specified, there is\n no maximum limit.

", + "smithy.api#xmlName": "max" } } }, "traits": { - "smithy.api#documentation": "

The options for Spot Instances.

" + "smithy.api#documentation": "

The minimum and maximum amount of memory per vCPU, in GiB.

\n

" } }, - "com.amazonaws.ec2#LaunchTemplateSpotMarketOptionsRequest": { + "com.amazonaws.ec2#MemoryGiBPerVCpuRequest": { "type": "structure", "members": { - "MaxPrice": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The maximum hourly price you're willing to pay for the Spot Instances. We do not\n recommend using this parameter because it can lead to increased interruptions. If you do\n not specify this parameter, you will pay the current Spot price.

\n \n

If you specify a maximum price, your Spot Instances will be interrupted more\n frequently than if you do not specify this parameter.

\n
" - } - }, - "SpotInstanceType": { - "target": "com.amazonaws.ec2#SpotInstanceType", - "traits": { - "smithy.api#documentation": "

The Spot Instance request type.

" - } - }, - "BlockDurationMinutes": { - "target": "com.amazonaws.ec2#Integer", + "Min": { + "target": "com.amazonaws.ec2#Double", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

Deprecated.

" - } - }, - "ValidUntil": { - "target": "com.amazonaws.ec2#DateTime", - "traits": { - "smithy.api#documentation": "

The end date of the request, in UTC format\n (YYYY-MM-DDTHH:MM:SSZ). Supported only for\n persistent requests.

\n
    \n
  • \n

    For a persistent request, the request remains active until the\n ValidUntil date and time is reached. Otherwise, the request\n remains active until you cancel it.

    \n
  • \n
  • \n

    For a one-time request, ValidUntil is not supported. The request\n remains active until all instances launch or you cancel the request.

    \n
  • \n
\n

Default: 7 days from the current date

" + "smithy.api#documentation": "

The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this\n parameter.

" } }, - "InstanceInterruptionBehavior": { - "target": "com.amazonaws.ec2#InstanceInterruptionBehavior", + "Max": { + "target": "com.amazonaws.ec2#Double", "traits": { - "smithy.api#documentation": "

The behavior when a Spot Instance is interrupted. The default is\n terminate.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this\n parameter.

" } } }, "traits": { - "smithy.api#documentation": "

The options for Spot Instances.

" + "smithy.api#documentation": "

The minimum and maximum amount of memory per vCPU, in GiB.

" } }, - "com.amazonaws.ec2#LaunchTemplateTagSpecification": { + "com.amazonaws.ec2#MemoryInfo": { "type": "structure", "members": { - "ResourceType": { - "target": "com.amazonaws.ec2#ResourceType", - "traits": { - "aws.protocols#ec2QueryName": "ResourceType", - "smithy.api#documentation": "

The type of resource to tag.

", - "smithy.api#xmlName": "resourceType" - } - }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "SizeInMiB": { + "target": "com.amazonaws.ec2#MemorySize", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags for the resource.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "SizeInMiB", + "smithy.api#documentation": "

The size of the memory, in MiB.

", + "smithy.api#xmlName": "sizeInMiB" } } }, "traits": { - "smithy.api#documentation": "

The tags specification for the launch template.

" + "smithy.api#documentation": "

Describes the memory for the instance type.

" } }, - "com.amazonaws.ec2#LaunchTemplateTagSpecificationList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#LaunchTemplateTagSpecification", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#MemoryMiB": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Min", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The minimum amount of memory, in MiB. If this parameter is not specified, there is no minimum\n limit.

", + "smithy.api#xmlName": "min" + } + }, + "Max": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Max", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum amount of memory, in MiB. If this parameter is not specified, there is no\n maximum limit.

", + "smithy.api#xmlName": "max" + } } + }, + "traits": { + "smithy.api#documentation": "

The minimum and maximum amount of memory, in MiB.

" } }, - "com.amazonaws.ec2#LaunchTemplateTagSpecificationRequest": { + "com.amazonaws.ec2#MemoryMiBRequest": { "type": "structure", "members": { - "ResourceType": { - "target": "com.amazonaws.ec2#ResourceType", + "Min": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#documentation": "

The type of resource to tag.

\n

The Valid Values are all the resource types that can be tagged. However,\n when creating a launch template, you can specify tags for the following resource types\n only: instance | volume | elastic-gpu |\n network-interface | spot-instances-request\n

\n

To tag a resource after it has been created, see CreateTags.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The minimum amount of memory, in MiB. To specify no minimum limit, specify\n 0.

", + "smithy.api#required": {} } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "Max": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#documentation": "

The tags to apply to the resource.

", - "smithy.api#xmlName": "Tag" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum amount of memory, in MiB. To specify no maximum limit, omit this\n parameter.

" } } }, "traits": { - "smithy.api#documentation": "

The tags specification for the resources that are created during instance\n launch.

" + "smithy.api#documentation": "

The minimum and maximum amount of memory, in MiB.

" } }, - "com.amazonaws.ec2#LaunchTemplateTagSpecificationRequestList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#LaunchTemplateTagSpecificationRequest", - "traits": { - "smithy.api#xmlName": "LaunchTemplateTagSpecificationRequest" - } - } + "com.amazonaws.ec2#MemorySize": { + "type": "long" }, - "com.amazonaws.ec2#LaunchTemplateVersion": { + "com.amazonaws.ec2#MetricPoint": { "type": "structure", "members": { - "LaunchTemplateId": { - "target": "com.amazonaws.ec2#String", + "StartDate": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "aws.protocols#ec2QueryName": "LaunchTemplateId", - "smithy.api#documentation": "

The ID of the launch template.

", - "smithy.api#xmlName": "launchTemplateId" + "aws.protocols#ec2QueryName": "StartDate", + "smithy.api#documentation": "

The start date for the metric point. The starting date for the metric point. The starting time must be formatted\n as yyyy-mm-ddThh:mm:ss. For example, 2022-06-10T12:00:00.000Z.

", + "smithy.api#xmlName": "startDate" } }, - "LaunchTemplateName": { - "target": "com.amazonaws.ec2#LaunchTemplateName", + "EndDate": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "aws.protocols#ec2QueryName": "LaunchTemplateName", - "smithy.api#documentation": "

The name of the launch template.

", - "smithy.api#xmlName": "launchTemplateName" + "aws.protocols#ec2QueryName": "EndDate", + "smithy.api#documentation": "

The end date for the metric point. The ending time must be formatted as yyyy-mm-ddThh:mm:ss. For example, 2022-06-12T12:00:00.000Z.

", + "smithy.api#xmlName": "endDate" } }, - "VersionNumber": { - "target": "com.amazonaws.ec2#Long", + "Value": { + "target": "com.amazonaws.ec2#Float", "traits": { - "aws.protocols#ec2QueryName": "VersionNumber", + "aws.protocols#ec2QueryName": "Value", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The version number.

", - "smithy.api#xmlName": "versionNumber" - } - }, - "VersionDescription": { - "target": "com.amazonaws.ec2#VersionDescription", - "traits": { - "aws.protocols#ec2QueryName": "VersionDescription", - "smithy.api#documentation": "

The description for the version.

", - "smithy.api#xmlName": "versionDescription" - } - }, - "CreateTime": { - "target": "com.amazonaws.ec2#DateTime", - "traits": { - "aws.protocols#ec2QueryName": "CreateTime", - "smithy.api#documentation": "

The time the version was created.

", - "smithy.api#xmlName": "createTime" + "smithy.api#xmlName": "value" } }, - "CreatedBy": { + "Status": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CreatedBy", - "smithy.api#documentation": "

The principal that created the version.

", - "smithy.api#xmlName": "createdBy" - } - }, - "DefaultVersion": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "DefaultVersion", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the version is the default version.

", - "smithy.api#xmlName": "defaultVersion" - } - }, - "LaunchTemplateData": { - "target": "com.amazonaws.ec2#ResponseLaunchTemplateData", - "traits": { - "aws.protocols#ec2QueryName": "LaunchTemplateData", - "smithy.api#documentation": "

Information about the launch template.

", - "smithy.api#xmlName": "launchTemplateData" + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The status of the metric point.

", + "smithy.api#xmlName": "status" } } }, "traits": { - "smithy.api#documentation": "

Describes a launch template version.

" + "smithy.api#documentation": "

Indicates whether the network was healthy or degraded at a particular point. The value is aggregated from the startDate to the endDate. Currently only five_minutes is supported.

" } }, - "com.amazonaws.ec2#LaunchTemplateVersionSet": { + "com.amazonaws.ec2#MetricPoints": { "type": "list", "member": { - "target": "com.amazonaws.ec2#LaunchTemplateVersion", + "target": "com.amazonaws.ec2#MetricPoint", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#LaunchTemplatesMonitoring": { - "type": "structure", + "com.amazonaws.ec2#MetricType": { + "type": "enum", "members": { - "Enabled": { - "target": "com.amazonaws.ec2#Boolean", + "aggregate_latency": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Enabled", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is\n enabled.

", - "smithy.api#xmlName": "enabled" + "smithy.api#enumValue": "aggregate-latency" } } + } + }, + "com.amazonaws.ec2#MillisecondDateTime": { + "type": "timestamp" + }, + "com.amazonaws.ec2#ModifyAddressAttribute": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyAddressAttributeRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ModifyAddressAttributeResult" }, "traits": { - "smithy.api#documentation": "

Describes the monitoring for the instance.

" + "smithy.api#documentation": "

Modifies an attribute of the specified Elastic IP address. For requirements, see Using reverse DNS for email applications.

" } }, - "com.amazonaws.ec2#LaunchTemplatesMonitoringRequest": { + "com.amazonaws.ec2#ModifyAddressAttributeRequest": { "type": "structure", "members": { - "Enabled": { + "AllocationId": { + "target": "com.amazonaws.ec2#AllocationId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

[EC2-VPC] The allocation ID.

", + "smithy.api#required": {} + } + }, + "DomainName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The domain name to modify for the IP address.

" + } + }, + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Specify true to enable detailed monitoring. Otherwise, basic monitoring\n is enabled.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Describes the monitoring for the instance.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#LicenseConfiguration": { + "com.amazonaws.ec2#ModifyAddressAttributeResult": { "type": "structure", "members": { - "LicenseConfigurationArn": { - "target": "com.amazonaws.ec2#String", + "Address": { + "target": "com.amazonaws.ec2#AddressAttribute", "traits": { - "aws.protocols#ec2QueryName": "LicenseConfigurationArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the license configuration.

", - "smithy.api#xmlName": "licenseConfigurationArn" + "aws.protocols#ec2QueryName": "Address", + "smithy.api#documentation": "

Information about the Elastic IP address.

", + "smithy.api#xmlName": "address" } } + } + }, + "com.amazonaws.ec2#ModifyAvailabilityZoneGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyAvailabilityZoneGroupRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ModifyAvailabilityZoneGroupResult" }, "traits": { - "smithy.api#documentation": "

Describes a license configuration.

" + "smithy.api#documentation": "

Changes the opt-in status of the Local Zone and Wavelength Zone group for your\n account.

\n

Use \n \t\tDescribeAvailabilityZones to view the value for GroupName.

" } }, - "com.amazonaws.ec2#LicenseConfigurationRequest": { + "com.amazonaws.ec2#ModifyAvailabilityZoneGroupRequest": { "type": "structure", "members": { - "LicenseConfigurationArn": { + "GroupName": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the license configuration.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The name of the Availability Zone group, Local Zone group, or Wavelength Zone\n group.

", + "smithy.api#required": {} + } + }, + "OptInStatus": { + "target": "com.amazonaws.ec2#ModifyAvailabilityZoneOptInStatus", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

Indicates whether you are opted in to the Local Zone group or Wavelength Zone group. The\n only valid value is opted-in. You must contact Amazon Web Services Support to opt out of a Local Zone or Wavelength Zone group.

", + "smithy.api#required": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Describes a license configuration.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#LicenseList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#LicenseConfiguration", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#ModifyAvailabilityZoneGroupResult": { + "type": "structure", + "members": { + "Return": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Is true if the request succeeds, and an error otherwise.

", + "smithy.api#xmlName": "return" + } } } }, - "com.amazonaws.ec2#LicenseSpecificationListRequest": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#LicenseConfigurationRequest", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#ModifyAvailabilityZoneOptInStatus": { + "type": "enum", + "members": { + "opted_in": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "opted-in" + } + }, + "not_opted_in": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "not-opted-in" + } } } }, - "com.amazonaws.ec2#ListImagesInRecycleBin": { + "com.amazonaws.ec2#ModifyCapacityReservation": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ListImagesInRecycleBinRequest" + "target": "com.amazonaws.ec2#ModifyCapacityReservationRequest" }, "output": { - "target": "com.amazonaws.ec2#ListImagesInRecycleBinResult" + "target": "com.amazonaws.ec2#ModifyCapacityReservationResult" }, "traits": { - "smithy.api#documentation": "

Lists one or more AMIs that are currently in the Recycle Bin. For more information, \n see Recycle\n Bin in the Amazon Elastic Compute Cloud User Guide.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "Images", - "pageSize": "MaxResults" - } + "smithy.api#documentation": "

Modifies a Capacity Reservation's capacity and the conditions under which it is to be released. You\n\t\t\tcannot change a Capacity Reservation's instance type, EBS optimization, instance store settings,\n\t\t\tplatform, Availability Zone, or instance eligibility. If you need to modify any of these\n\t\t\tattributes, we recommend that you cancel the Capacity Reservation, and then create a new one with\n\t\t\tthe required attributes.

" } }, - "com.amazonaws.ec2#ListImagesInRecycleBinMaxResults": { - "type": "integer", + "com.amazonaws.ec2#ModifyCapacityReservationFleet": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyCapacityReservationFleetRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ModifyCapacityReservationFleetResult" + }, "traits": { - "smithy.api#range": { - "min": 1, - "max": 1000 - } + "smithy.api#documentation": "

Modifies a Capacity Reservation Fleet.

\n

When you modify the total target capacity of a Capacity Reservation Fleet, the Fleet automatically \n\t\t\tcreates new Capacity Reservations, or modifies or cancels existing Capacity Reservations in the Fleet \n\t\t\tto meet the new total target capacity. When you modify the end date for the Fleet, the end dates for \n\t\t\tall of the individual Capacity Reservations in the Fleet are updated accordingly.

" } }, - "com.amazonaws.ec2#ListImagesInRecycleBinRequest": { + "com.amazonaws.ec2#ModifyCapacityReservationFleetRequest": { "type": "structure", "members": { - "ImageIds": { - "target": "com.amazonaws.ec2#ImageIdStringList", + "CapacityReservationFleetId": { + "target": "com.amazonaws.ec2#CapacityReservationFleetId", "traits": { - "smithy.api#documentation": "

The IDs of the AMIs to list. Omit this parameter to list all of the AMIs that \n are in the Recycle Bin. You can specify up to 20 IDs in a single request.

", - "smithy.api#xmlName": "ImageId" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Capacity Reservation Fleet to modify.

", + "smithy.api#required": {} } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "TotalTargetCapacity": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The total number of capacity units to be reserved by the Capacity Reservation Fleet. This value, \n\t\t\ttogether with the instance type weights that you assign to each instance type used by the Fleet \n\t\t\tdetermine the number of instances for which the Fleet reserves capacity. Both values are based on \n\t\t\tunits that make sense for your workload. For more information, see Total target capacity \n\t\t\tin the Amazon EC2 User Guide.

" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#ListImagesInRecycleBinMaxResults", + "EndDate": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

\n

If you do not specify a value for MaxResults, the request \n returns 1,000 items per page by default. For more information, see \n \n Pagination.

" + "smithy.api#documentation": "

The date and time at which the Capacity Reservation Fleet expires. When the Capacity Reservation \n\t\t\tFleet expires, its state changes to expired and all of the Capacity Reservations in the \n\t\t\tFleet expire.

\n

The Capacity Reservation Fleet expires within an hour after the specified time. For example, if you \n\t\t\tspecify 5/31/2019, 13:30:55, the Capacity Reservation Fleet is guaranteed \n\t\t\tto expire between 13:30:55 and 14:30:55 on 5/31/2019.

\n

You can't specify EndDate and \n\t\t\tRemoveEndDate in the same request.

" } }, "DryRun": { @@ -60590,1397 +66025,1306 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + }, + "RemoveEndDate": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to remove the end date from the Capacity Reservation Fleet. If you remove the \n\t\t\tend date, the Capacity Reservation Fleet does not expire and it remains active until you explicitly \n\t\t\tcancel it using the CancelCapacityReservationFleet action.

\n

You can't specify RemoveEndDate and \n\t\t\tEndDate in the same request.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ListImagesInRecycleBinResult": { + "com.amazonaws.ec2#ModifyCapacityReservationFleetResult": { "type": "structure", "members": { - "Images": { - "target": "com.amazonaws.ec2#ImageRecycleBinInfoList", + "Return": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "ImageSet", - "smithy.api#documentation": "

Information about the AMIs.

", - "smithy.api#xmlName": "imageSet" + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "smithy.api#xmlName": "return" + } + } + } + }, + "com.amazonaws.ec2#ModifyCapacityReservationRequest": { + "type": "structure", + "members": { + "CapacityReservationId": { + "target": "com.amazonaws.ec2#CapacityReservationId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Capacity Reservation.

", + "smithy.api#required": {} } }, - "NextToken": { + "InstanceCount": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of instances for which to reserve capacity. The number of instances can't be increased or \n\t\t \tdecreased by more than 1000 in a single request.

" + } + }, + "EndDate": { + "target": "com.amazonaws.ec2#DateTime", + "traits": { + "smithy.api#documentation": "

The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity\n\t\t\tis released and you can no longer launch instances into it. The Capacity Reservation's state changes to\n\t\t\t\texpired when it reaches its end date and time.

\n

The Capacity Reservation is cancelled within an hour from the specified time. For example, if you specify \n\t\t\t5/31/2019, 13:30:55, the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.

\n

You must provide an EndDate value if EndDateType is\n\t\t\t\tlimited. Omit EndDate if EndDateType is\n\t\t\t\tunlimited.

" + } + }, + "EndDateType": { + "target": "com.amazonaws.ec2#EndDateType", + "traits": { + "smithy.api#documentation": "

Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end\n\t\t\ttypes:

\n
    \n
  • \n

    \n unlimited - The Capacity Reservation remains active until you explicitly cancel it. Do not\n\t\t\t\t\tprovide an EndDate value if EndDateType is\n\t\t\t\t\t\tunlimited.

    \n
  • \n
  • \n

    \n limited - The Capacity Reservation expires automatically at a specified date and time. You must\n\t\t\t\t\tprovide an EndDate value if EndDateType is\n\t\t\t\t\t\tlimited.

    \n
  • \n
" + } + }, + "Accept": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Reserved. Capacity Reservations you have created are accepted by default.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + }, + "AdditionalInfo": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "smithy.api#documentation": "

Reserved for future use.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ListSnapshotsInRecycleBin": { + "com.amazonaws.ec2#ModifyCapacityReservationResult": { + "type": "structure", + "members": { + "Return": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "smithy.api#xmlName": "return" + } + } + } + }, + "com.amazonaws.ec2#ModifyClientVpnEndpoint": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ListSnapshotsInRecycleBinRequest" + "target": "com.amazonaws.ec2#ModifyClientVpnEndpointRequest" }, "output": { - "target": "com.amazonaws.ec2#ListSnapshotsInRecycleBinResult" + "target": "com.amazonaws.ec2#ModifyClientVpnEndpointResult" }, "traits": { - "smithy.api#documentation": "

Lists one or more snapshots that are currently in the Recycle Bin.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "Snapshots", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.ec2#ListSnapshotsInRecycleBinMaxResults": { - "type": "integer", - "traits": { - "smithy.api#range": { - "min": 5, - "max": 1000 - } + "smithy.api#documentation": "

Modifies the specified Client VPN endpoint. Modifying the DNS server resets existing client connections.

" } }, - "com.amazonaws.ec2#ListSnapshotsInRecycleBinRequest": { + "com.amazonaws.ec2#ModifyClientVpnEndpointRequest": { "type": "structure", "members": { - "MaxResults": { - "target": "com.amazonaws.ec2#ListSnapshotsInRecycleBinMaxResults", + "ClientVpnEndpointId": { + "target": "com.amazonaws.ec2#ClientVpnEndpointId", "traits": { - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Client VPN endpoint to modify.

", + "smithy.api#required": {} } }, - "NextToken": { + "ServerCertificateArn": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "smithy.api#documentation": "

The ARN of the server certificate to be used. The server certificate must be provisioned in \n\t\t\tCertificate Manager (ACM).

" } }, - "SnapshotIds": { - "target": "com.amazonaws.ec2#SnapshotIdStringList", + "ConnectionLogOptions": { + "target": "com.amazonaws.ec2#ConnectionLogOptions", "traits": { - "smithy.api#documentation": "

The IDs of the snapshots to list. Omit this parameter to list all of the \n snapshots that are in the Recycle Bin.

", - "smithy.api#xmlName": "SnapshotId" + "smithy.api#documentation": "

Information about the client connection logging options.

\n

If you enable client connection logging, data about client connections is sent to a\n\t\t\tCloudwatch Logs log stream. The following information is logged:

\n
    \n
  • \n

    Client connection requests

    \n
  • \n
  • \n

    Client connection results (successful and unsuccessful)

    \n
  • \n
  • \n

    Reasons for unsuccessful client connection requests

    \n
  • \n
  • \n

    Client connection termination time

    \n
  • \n
" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "DnsServers": { + "target": "com.amazonaws.ec2#DnsServersOptionsModifyStructure", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Information about the DNS servers to be used by Client VPN connections. A Client VPN endpoint can have \n\t\t\tup to two DNS servers.

" } - } - } - }, - "com.amazonaws.ec2#ListSnapshotsInRecycleBinResult": { - "type": "structure", - "members": { - "Snapshots": { - "target": "com.amazonaws.ec2#SnapshotRecycleBinInfoList", + }, + "VpnPort": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "SnapshotSet", - "smithy.api#documentation": "

Information about the snapshots.

", - "smithy.api#xmlName": "snapshotSet" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The port number to assign to the Client VPN endpoint for TCP and UDP traffic.

\n

Valid Values: 443 | 1194\n

\n

Default Value: 443\n

" } }, - "NextToken": { + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "smithy.api#documentation": "

A brief description of the Client VPN endpoint.

" } - } - } - }, - "com.amazonaws.ec2#ListingState": { - "type": "enum", - "members": { - "available": { - "target": "smithy.api#Unit", + }, + "SplitTunnel": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "available" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the VPN is split-tunnel.

\n

For information about split-tunnel VPN endpoints, see Split-tunnel Client VPN endpoint in the \n \tClient VPN Administrator Guide.

" } }, - "sold": { - "target": "smithy.api#Unit", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "sold" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } }, - "cancelled": { - "target": "smithy.api#Unit", + "SecurityGroupIds": { + "target": "com.amazonaws.ec2#ClientVpnSecurityGroupIdSet", "traits": { - "smithy.api#enumValue": "cancelled" + "smithy.api#documentation": "

The IDs of one or more security groups to apply to the target network.

", + "smithy.api#xmlName": "SecurityGroupId" } }, - "pending": { - "target": "smithy.api#Unit", + "VpcId": { + "target": "com.amazonaws.ec2#VpcId", "traits": { - "smithy.api#enumValue": "pending" + "smithy.api#documentation": "

The ID of the VPC to associate with the Client VPN endpoint.

" } - } - } - }, - "com.amazonaws.ec2#ListingStatus": { - "type": "enum", - "members": { - "active": { - "target": "smithy.api#Unit", + }, + "SelfServicePortal": { + "target": "com.amazonaws.ec2#SelfServicePortal", "traits": { - "smithy.api#enumValue": "active" + "smithy.api#documentation": "

Specify whether to enable the self-service portal for the Client VPN endpoint.

" } }, - "pending": { - "target": "smithy.api#Unit", + "ClientConnectOptions": { + "target": "com.amazonaws.ec2#ClientConnectOptions", "traits": { - "smithy.api#enumValue": "pending" + "smithy.api#documentation": "

The options for managing connection authorization for new client connections.

" } }, - "cancelled": { - "target": "smithy.api#Unit", + "SessionTimeoutHours": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "cancelled" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum VPN session duration time in hours.

\n

Valid values: 8 | 10 | 12 | 24\n

\n

Default value: 24\n

" } }, - "closed": { - "target": "smithy.api#Unit", + "ClientLoginBannerOptions": { + "target": "com.amazonaws.ec2#ClientLoginBannerOptions", "traits": { - "smithy.api#enumValue": "closed" + "smithy.api#documentation": "

Options for enabling a customizable text banner that will be displayed on\n\t\t\tAmazon Web Services provided clients when a VPN session is established.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#LoadBalancersConfig": { + "com.amazonaws.ec2#ModifyClientVpnEndpointResult": { "type": "structure", "members": { - "ClassicLoadBalancersConfig": { - "target": "com.amazonaws.ec2#ClassicLoadBalancersConfig", - "traits": { - "aws.protocols#ec2QueryName": "ClassicLoadBalancersConfig", - "smithy.api#documentation": "

The Classic Load Balancers.

", - "smithy.api#xmlName": "classicLoadBalancersConfig" - } - }, - "TargetGroupsConfig": { - "target": "com.amazonaws.ec2#TargetGroupsConfig", + "Return": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "TargetGroupsConfig", - "smithy.api#documentation": "

The target groups.

", - "smithy.api#xmlName": "targetGroupsConfig" + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "smithy.api#xmlName": "return" } } + } + }, + "com.amazonaws.ec2#ModifyDefaultCreditSpecification": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyDefaultCreditSpecificationRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ModifyDefaultCreditSpecificationResult" }, "traits": { - "smithy.api#documentation": "

Describes the Classic Load Balancers and target groups to attach to a Spot Fleet\n request.

" + "smithy.api#documentation": "

Modifies the default credit option for CPU usage of burstable performance instances.\n The default credit option is set at the account level per Amazon Web Services Region, and\n is specified per instance family. All new burstable performance instances in the account\n launch using the default credit option.

\n

\n ModifyDefaultCreditSpecification is an asynchronous operation, which\n works at an Amazon Web Services Region level and modifies the credit option for each\n Availability Zone. All zones in a Region are updated within five minutes. But if\n instances are launched during this operation, they might not get the new credit option\n until the zone is updated. To verify whether the update has occurred, you can call\n GetDefaultCreditSpecification and check\n DefaultCreditSpecification for updates.

\n

For more information, see Burstable\n performance instances in the Amazon EC2 User Guide.

" } }, - "com.amazonaws.ec2#LoadPermission": { + "com.amazonaws.ec2#ModifyDefaultCreditSpecificationRequest": { "type": "structure", "members": { - "UserId": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "UserId", - "smithy.api#documentation": "

The Amazon Web Services account ID.

", - "smithy.api#xmlName": "userId" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "Group": { - "target": "com.amazonaws.ec2#PermissionGroup", + "InstanceFamily": { + "target": "com.amazonaws.ec2#UnlimitedSupportedInstanceFamily", "traits": { - "aws.protocols#ec2QueryName": "Group", - "smithy.api#documentation": "

The name of the group.

", - "smithy.api#xmlName": "group" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The instance family.

", + "smithy.api#required": {} + } + }, + "CpuCredits": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The credit option for CPU usage of the instance family.

\n

Valid Values: standard | unlimited\n

", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Describes a load permission.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#LoadPermissionList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#LoadPermission", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#ModifyDefaultCreditSpecificationResult": { + "type": "structure", + "members": { + "InstanceFamilyCreditSpecification": { + "target": "com.amazonaws.ec2#InstanceFamilyCreditSpecification", + "traits": { + "aws.protocols#ec2QueryName": "InstanceFamilyCreditSpecification", + "smithy.api#documentation": "

The default credit option for CPU usage of the instance family.

", + "smithy.api#xmlName": "instanceFamilyCreditSpecification" + } } } }, - "com.amazonaws.ec2#LoadPermissionListRequest": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#LoadPermissionRequest", - "traits": { - "smithy.api#xmlName": "item" - } + "com.amazonaws.ec2#ModifyEbsDefaultKmsKeyId": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyEbsDefaultKmsKeyIdRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ModifyEbsDefaultKmsKeyIdResult" + }, + "traits": { + "smithy.api#documentation": "

Changes the default KMS key for EBS encryption by default for your account in this Region.

\n

Amazon Web Services creates a unique Amazon Web Services managed KMS key in each Region for use with encryption by default. If\n you change the default KMS key to a symmetric customer managed KMS key, it is used instead of the Amazon Web Services\n managed KMS key. To reset the default KMS key to the Amazon Web Services managed KMS key for EBS, use ResetEbsDefaultKmsKeyId. Amazon EBS does not support asymmetric KMS keys.

\n

If you delete or disable the customer managed KMS key that you specified for use with\n encryption by default, your instances will fail to launch.

\n

For more information, see Amazon EBS encryption\n in the Amazon Elastic Compute Cloud User Guide.

" } }, - "com.amazonaws.ec2#LoadPermissionModifications": { + "com.amazonaws.ec2#ModifyEbsDefaultKmsKeyIdRequest": { "type": "structure", "members": { - "Add": { - "target": "com.amazonaws.ec2#LoadPermissionListRequest", + "KmsKeyId": { + "target": "com.amazonaws.ec2#KmsKeyId", "traits": { - "smithy.api#documentation": "

The load permissions to add.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption.\n If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is\n specified, the encrypted state must be true.

\n

You can specify the KMS key using any of the following:

\n
    \n
  • \n

    Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

    \n
  • \n
  • \n

    Key alias. For example, alias/ExampleAlias.

    \n
  • \n
  • \n

    Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

    \n
  • \n
  • \n

    Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

    \n
  • \n
\n

Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, \n the action can appear to complete, but eventually fails.

\n

Amazon EBS does not support asymmetric KMS keys.

", + "smithy.api#required": {} } }, - "Remove": { - "target": "com.amazonaws.ec2#LoadPermissionListRequest", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The load permissions to remove.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Describes modifications to the load permissions of an Amazon FPGA image (AFI).

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#LoadPermissionRequest": { + "com.amazonaws.ec2#ModifyEbsDefaultKmsKeyIdResult": { "type": "structure", "members": { - "Group": { - "target": "com.amazonaws.ec2#PermissionGroup", - "traits": { - "smithy.api#documentation": "

The name of the group.

" - } - }, - "UserId": { + "KmsKeyId": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID.

" + "aws.protocols#ec2QueryName": "KmsKeyId", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the default KMS key for encryption by default.

", + "smithy.api#xmlName": "kmsKeyId" } } + } + }, + "com.amazonaws.ec2#ModifyFleet": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyFleetRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ModifyFleetResult" }, "traits": { - "smithy.api#documentation": "

Describes a load permission.

" + "smithy.api#documentation": "

Modifies the specified EC2 Fleet.

\n

You can only modify an EC2 Fleet request of type maintain.

\n

While the EC2 Fleet is being modified, it is in the modifying state.

\n

To scale up your EC2 Fleet, increase its target capacity. The EC2 Fleet launches the additional\n Spot Instances according to the allocation strategy for the EC2 Fleet request. If the allocation\n strategy is lowest-price, the EC2 Fleet launches instances using the Spot Instance\n pool with the lowest price. If the allocation strategy is diversified, the\n EC2 Fleet distributes the instances across the Spot Instance pools. If the allocation strategy\n is capacity-optimized, EC2 Fleet launches instances from Spot Instance pools with optimal\n capacity for the number of instances that are launching.

\n

To scale down your EC2 Fleet, decrease its target capacity. First, the EC2 Fleet cancels any open\n requests that exceed the new target capacity. You can request that the EC2 Fleet terminate Spot\n Instances until the size of the fleet no longer exceeds the new target capacity. If the\n allocation strategy is lowest-price, the EC2 Fleet terminates the instances with\n the highest price per unit. If the allocation strategy is capacity-optimized,\n the EC2 Fleet terminates the instances in the Spot Instance pools that have the least available\n Spot Instance capacity. If the allocation strategy is diversified, the EC2 Fleet terminates\n instances across the Spot Instance pools. Alternatively, you can request that the EC2 Fleet keep\n the fleet at its current size, but not replace any Spot Instances that are interrupted or\n that you terminate manually.

\n

If you are finished with your EC2 Fleet for now, but will use it again later, you can set the\n target capacity to 0.

" } }, - "com.amazonaws.ec2#LocalGateway": { + "com.amazonaws.ec2#ModifyFleetRequest": { "type": "structure", "members": { - "LocalGatewayId": { - "target": "com.amazonaws.ec2#LocalGatewayId", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayId", - "smithy.api#documentation": "

The ID of the local gateway.

", - "smithy.api#xmlName": "localGatewayId" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "OutpostArn": { - "target": "com.amazonaws.ec2#String", + "ExcessCapacityTerminationPolicy": { + "target": "com.amazonaws.ec2#FleetExcessCapacityTerminationPolicy", "traits": { - "aws.protocols#ec2QueryName": "OutpostArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Outpost.

", - "smithy.api#xmlName": "outpostArn" + "smithy.api#documentation": "

Indicates whether running instances should be terminated if the total target capacity of\n the EC2 Fleet is decreased below the current size of the EC2 Fleet.

" } }, - "OwnerId": { - "target": "com.amazonaws.ec2#String", + "LaunchTemplateConfigs": { + "target": "com.amazonaws.ec2#FleetLaunchTemplateConfigListRequest", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the local gateway.

", - "smithy.api#xmlName": "ownerId" + "smithy.api#documentation": "

The launch template and overrides.

", + "smithy.api#xmlName": "LaunchTemplateConfig" } }, - "State": { - "target": "com.amazonaws.ec2#String", + "FleetId": { + "target": "com.amazonaws.ec2#FleetId", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the local gateway.

", - "smithy.api#xmlName": "state" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the EC2 Fleet.

", + "smithy.api#required": {} } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "TargetCapacitySpecification": { + "target": "com.amazonaws.ec2#TargetCapacitySpecificationRequest", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags assigned to the local gateway.

", - "smithy.api#xmlName": "tagSet" + "smithy.api#documentation": "

The size of the EC2 Fleet.

" + } + }, + "Context": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

Reserved.

" } } }, "traits": { - "smithy.api#documentation": "

Describes a local gateway.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#LocalGatewayId": { - "type": "string" - }, - "com.amazonaws.ec2#LocalGatewayIdSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#LocalGatewayId", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#ModifyFleetResult": { + "type": "structure", + "members": { + "Return": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

If the request succeeds, the response returns true. If the request fails,\n no response is returned, and instead an error message is returned.

", + "smithy.api#xmlName": "return" + } } } }, - "com.amazonaws.ec2#LocalGatewayMaxResults": { - "type": "integer", + "com.amazonaws.ec2#ModifyFpgaImageAttribute": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyFpgaImageAttributeRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ModifyFpgaImageAttributeResult" + }, "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 1000 - } + "smithy.api#documentation": "

Modifies the specified attribute of the specified Amazon FPGA Image (AFI).

" } }, - "com.amazonaws.ec2#LocalGatewayRoute": { + "com.amazonaws.ec2#ModifyFpgaImageAttributeRequest": { "type": "structure", "members": { - "DestinationCidrBlock": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DestinationCidrBlock", - "smithy.api#documentation": "

The CIDR block used for destination matches.

", - "smithy.api#xmlName": "destinationCidrBlock" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "LocalGatewayVirtualInterfaceGroupId": { - "target": "com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroupId", + "FpgaImageId": { + "target": "com.amazonaws.ec2#FpgaImageId", "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayVirtualInterfaceGroupId", - "smithy.api#documentation": "

The ID of the virtual interface group.

", - "smithy.api#xmlName": "localGatewayVirtualInterfaceGroupId" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the AFI.

", + "smithy.api#required": {} } }, - "Type": { - "target": "com.amazonaws.ec2#LocalGatewayRouteType", + "Attribute": { + "target": "com.amazonaws.ec2#FpgaImageAttributeName", "traits": { - "aws.protocols#ec2QueryName": "Type", - "smithy.api#documentation": "

The route type.

", - "smithy.api#xmlName": "type" + "smithy.api#documentation": "

The name of the attribute.

" } }, - "State": { - "target": "com.amazonaws.ec2#LocalGatewayRouteState", + "OperationType": { + "target": "com.amazonaws.ec2#OperationType", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the route.

", - "smithy.api#xmlName": "state" + "smithy.api#documentation": "

The operation type.

" } }, - "LocalGatewayRouteTableId": { - "target": "com.amazonaws.ec2#LocalGatewayRoutetableId", + "UserIds": { + "target": "com.amazonaws.ec2#UserIdStringList", "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayRouteTableId", - "smithy.api#documentation": "

The ID of the local gateway route table.

", - "smithy.api#xmlName": "localGatewayRouteTableId" + "smithy.api#documentation": "

The Amazon Web Services account IDs. This parameter is valid only when modifying the loadPermission attribute.

", + "smithy.api#xmlName": "UserId" } }, - "LocalGatewayRouteTableArn": { - "target": "com.amazonaws.ec2#ResourceArn", + "UserGroups": { + "target": "com.amazonaws.ec2#UserGroupStringList", "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayRouteTableArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the local gateway route table.

", - "smithy.api#xmlName": "localGatewayRouteTableArn" + "smithy.api#documentation": "

The user groups. This parameter is valid only when modifying the loadPermission attribute.

", + "smithy.api#xmlName": "UserGroup" } }, - "OwnerId": { - "target": "com.amazonaws.ec2#String", + "ProductCodes": { + "target": "com.amazonaws.ec2#ProductCodeStringList", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the local gateway route.

", - "smithy.api#xmlName": "ownerId" + "smithy.api#documentation": "

The product codes. After you add a product code to an AFI, it can't be removed.\n\t\t This parameter is valid only when modifying the productCodes attribute.

", + "smithy.api#xmlName": "ProductCode" } }, - "SubnetId": { - "target": "com.amazonaws.ec2#SubnetId", + "LoadPermission": { + "target": "com.amazonaws.ec2#LoadPermissionModifications", "traits": { - "aws.protocols#ec2QueryName": "SubnetId", - "smithy.api#documentation": "

The ID of the subnet.

", - "smithy.api#xmlName": "subnetId" + "smithy.api#documentation": "

The load permission for the AFI.

" } }, - "CoipPoolId": { - "target": "com.amazonaws.ec2#CoipPoolId", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CoipPoolId", - "smithy.api#documentation": "

The ID of the customer-owned address pool.

", - "smithy.api#xmlName": "coipPoolId" + "smithy.api#documentation": "

A description for the AFI.

" } }, - "NetworkInterfaceId": { - "target": "com.amazonaws.ec2#NetworkInterfaceId", + "Name": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceId", - "smithy.api#documentation": "

The ID of the network interface.

", - "smithy.api#xmlName": "networkInterfaceId" + "smithy.api#documentation": "

A name for the AFI.

" } } }, "traits": { - "smithy.api#documentation": "

Describes a route for a local gateway route table.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#LocalGatewayRouteList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#LocalGatewayRoute", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#LocalGatewayRouteState": { - "type": "enum", + "com.amazonaws.ec2#ModifyFpgaImageAttributeResult": { + "type": "structure", "members": { - "pending": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "pending" - } - }, - "active": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "active" - } - }, - "blackhole": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "blackhole" - } - }, - "deleting": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "deleting" - } - }, - "deleted": { - "target": "smithy.api#Unit", + "FpgaImageAttribute": { + "target": "com.amazonaws.ec2#FpgaImageAttribute", "traits": { - "smithy.api#enumValue": "deleted" + "aws.protocols#ec2QueryName": "FpgaImageAttribute", + "smithy.api#documentation": "

Information about the attribute.

", + "smithy.api#xmlName": "fpgaImageAttribute" } } } }, - "com.amazonaws.ec2#LocalGatewayRouteTable": { + "com.amazonaws.ec2#ModifyHosts": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyHostsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ModifyHostsResult" + }, + "traits": { + "smithy.api#documentation": "

Modify the auto-placement setting of a Dedicated Host. When auto-placement is enabled,\n any instances that you launch with a tenancy of host but without a specific\n host ID are placed onto any available Dedicated Host in your account that has\n auto-placement enabled. When auto-placement is disabled, you need to provide a host ID\n to have the instance launch onto a specific host. If no host ID is provided, the\n instance is launched onto a suitable host with auto-placement enabled.

\n

You can also use this API action to modify a Dedicated Host to support either multiple\n instance types in an instance family, or to support a specific instance type\n only.

" + } + }, + "com.amazonaws.ec2#ModifyHostsRequest": { "type": "structure", "members": { - "LocalGatewayRouteTableId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayRouteTableId", - "smithy.api#documentation": "

The ID of the local gateway route table.

", - "smithy.api#xmlName": "localGatewayRouteTableId" - } - }, - "LocalGatewayRouteTableArn": { - "target": "com.amazonaws.ec2#ResourceArn", + "AutoPlacement": { + "target": "com.amazonaws.ec2#AutoPlacement", "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayRouteTableArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the local gateway route table.

", - "smithy.api#xmlName": "localGatewayRouteTableArn" + "aws.protocols#ec2QueryName": "AutoPlacement", + "smithy.api#documentation": "

Specify whether to enable or disable auto-placement.

", + "smithy.api#xmlName": "autoPlacement" } }, - "LocalGatewayId": { - "target": "com.amazonaws.ec2#LocalGatewayId", + "HostIds": { + "target": "com.amazonaws.ec2#RequestHostIdList", "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayId", - "smithy.api#documentation": "

The ID of the local gateway.

", - "smithy.api#xmlName": "localGatewayId" + "aws.protocols#ec2QueryName": "HostId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The IDs of the Dedicated Hosts to modify.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "hostId" } }, - "OutpostArn": { - "target": "com.amazonaws.ec2#String", + "HostRecovery": { + "target": "com.amazonaws.ec2#HostRecovery", "traits": { - "aws.protocols#ec2QueryName": "OutpostArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Outpost.

", - "smithy.api#xmlName": "outpostArn" + "smithy.api#documentation": "

Indicates whether to enable or disable host recovery for the Dedicated Host. For more\n information, see Host recovery\n in the Amazon EC2 User Guide.

" } }, - "OwnerId": { + "InstanceType": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the local gateway route table.

", - "smithy.api#xmlName": "ownerId" + "smithy.api#documentation": "

Specifies the instance type to be supported by the Dedicated Host. Specify this\n parameter to modify a Dedicated Host to support only a specific instance type.

\n

If you want to modify a Dedicated Host to support multiple instance types in its\n current instance family, omit this parameter and specify InstanceFamily instead. You cannot specify InstanceType and InstanceFamily in the\n same request.

" } }, - "State": { + "InstanceFamily": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the local gateway route table.

", - "smithy.api#xmlName": "state" - } - }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", - "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags assigned to the local gateway route table.

", - "smithy.api#xmlName": "tagSet" - } - }, - "Mode": { - "target": "com.amazonaws.ec2#LocalGatewayRouteTableMode", - "traits": { - "aws.protocols#ec2QueryName": "Mode", - "smithy.api#documentation": "

The mode of the local gateway route table.

", - "smithy.api#xmlName": "mode" - } - }, - "StateReason": { - "target": "com.amazonaws.ec2#StateReason", - "traits": { - "aws.protocols#ec2QueryName": "StateReason", - "smithy.api#xmlName": "stateReason" + "smithy.api#documentation": "

Specifies the instance family to be supported by the Dedicated Host. Specify this\n parameter to modify a Dedicated Host to support multiple instance types within its\n current instance family.

\n

If you want to modify a Dedicated Host to support a specific instance type only, omit\n this parameter and specify InstanceType instead. You\n cannot specify InstanceFamily and InstanceType in the same request.

" } } }, "traits": { - "smithy.api#documentation": "

Describes a local gateway route table.

" - } - }, - "com.amazonaws.ec2#LocalGatewayRouteTableIdSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#LocalGatewayRoutetableId", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#input": {} } }, - "com.amazonaws.ec2#LocalGatewayRouteTableMode": { - "type": "enum", + "com.amazonaws.ec2#ModifyHostsResult": { + "type": "structure", "members": { - "direct_vpc_routing": { - "target": "smithy.api#Unit", + "Successful": { + "target": "com.amazonaws.ec2#ResponseHostIdList", "traits": { - "smithy.api#enumValue": "direct-vpc-routing" + "aws.protocols#ec2QueryName": "Successful", + "smithy.api#documentation": "

The IDs of the Dedicated Hosts that were successfully modified.

", + "smithy.api#xmlName": "successful" } }, - "coip": { - "target": "smithy.api#Unit", + "Unsuccessful": { + "target": "com.amazonaws.ec2#UnsuccessfulItemList", "traits": { - "smithy.api#enumValue": "coip" + "aws.protocols#ec2QueryName": "Unsuccessful", + "smithy.api#documentation": "

The IDs of the Dedicated Hosts that could not be modified. Check whether the setting\n you requested can be used.

", + "smithy.api#xmlName": "unsuccessful" } } } }, - "com.amazonaws.ec2#LocalGatewayRouteTableSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#LocalGatewayRouteTable", - "traits": { - "smithy.api#xmlName": "item" - } + "com.amazonaws.ec2#ModifyIdFormat": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyIdFormatRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "

Modifies the ID format for the specified resource on a per-Region basis. You can\n specify that resources should receive longer IDs (17-character IDs) when they are\n created.

\n

This request can only be used to modify longer ID settings for resource types that\n are within the opt-in period. Resources currently in their opt-in period include:\n bundle | conversion-task | customer-gateway | dhcp-options |\n elastic-ip-allocation | elastic-ip-association |\n export-task | flow-log | image |\n import-task | internet-gateway | network-acl\n | network-acl-association | network-interface |\n network-interface-attachment | prefix-list |\n route-table | route-table-association |\n security-group | subnet |\n subnet-cidr-block-association | vpc |\n vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

\n

This setting applies to the IAM user who makes the request; it does not apply to the\n entire Amazon Web Services account. By default, an IAM user defaults to the same settings as the root user. If\n you're using this action as the root user, then these settings apply to the entire account,\n unless an IAM user explicitly overrides these settings for themselves. For more information,\n see Resource IDs \n in the Amazon Elastic Compute Cloud User Guide.

\n

Resources created with longer IDs are visible to all IAM roles and users, regardless\n of these settings and provided that they have permission to use the relevant\n Describe command for the resource type.

" } }, - "com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociation": { + "com.amazonaws.ec2#ModifyIdFormatRequest": { "type": "structure", "members": { - "LocalGatewayRouteTableVirtualInterfaceGroupAssociationId": { - "target": "com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociationId", - "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayRouteTableVirtualInterfaceGroupAssociationId", - "smithy.api#documentation": "

The ID of the association.

", - "smithy.api#xmlName": "localGatewayRouteTableVirtualInterfaceGroupAssociationId" - } - }, - "LocalGatewayVirtualInterfaceGroupId": { - "target": "com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroupId", - "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayVirtualInterfaceGroupId", - "smithy.api#documentation": "

The ID of the virtual interface group.

", - "smithy.api#xmlName": "localGatewayVirtualInterfaceGroupId" - } - }, - "LocalGatewayId": { + "Resource": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayId", - "smithy.api#documentation": "

The ID of the local gateway.

", - "smithy.api#xmlName": "localGatewayId" - } - }, - "LocalGatewayRouteTableId": { - "target": "com.amazonaws.ec2#LocalGatewayId", - "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayRouteTableId", - "smithy.api#documentation": "

The ID of the local gateway route table.

", - "smithy.api#xmlName": "localGatewayRouteTableId" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The type of resource: bundle | conversion-task | customer-gateway | dhcp-options |\n elastic-ip-allocation | elastic-ip-association |\n export-task | flow-log | image |\n import-task | internet-gateway | network-acl\n | network-acl-association | network-interface |\n network-interface-attachment | prefix-list |\n route-table | route-table-association |\n security-group | subnet |\n subnet-cidr-block-association | vpc |\n vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

\n

Alternatively, use the all-current option to include all resource types that are\n currently within their opt-in period for longer IDs.

", + "smithy.api#required": {} } }, - "LocalGatewayRouteTableArn": { - "target": "com.amazonaws.ec2#ResourceArn", + "UseLongIds": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayRouteTableArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the local gateway route table for the virtual interface group.

", - "smithy.api#xmlName": "localGatewayRouteTableArn" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicate whether the resource should use longer IDs (17-character IDs).

", + "smithy.api#required": {} } - }, - "OwnerId": { + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#ModifyIdentityIdFormat": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyIdentityIdFormatRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "

Modifies the ID format of a resource for a specified IAM user, IAM role, or the root\n user for an account; or all IAM users, IAM roles, and the root user for an account. You can\n specify that resources should receive longer IDs (17-character IDs) when they are created.

\n

This request can only be used to modify longer ID settings for resource types that are\n within the opt-in period. Resources currently in their opt-in period include:\n bundle | conversion-task | customer-gateway | dhcp-options |\n elastic-ip-allocation | elastic-ip-association |\n export-task | flow-log | image |\n import-task | internet-gateway | network-acl\n | network-acl-association | network-interface |\n network-interface-attachment | prefix-list |\n route-table | route-table-association |\n security-group | subnet |\n subnet-cidr-block-association | vpc |\n vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

\n

For more information, see Resource IDs in the\n Amazon Elastic Compute Cloud User Guide.

\n

This setting applies to the principal specified in the request; it does not apply to the\n principal that makes the request.

\n

Resources created with longer IDs are visible to all IAM roles and users, regardless of these\n settings and provided that they have permission to use the relevant Describe\n command for the resource type.

" + } + }, + "com.amazonaws.ec2#ModifyIdentityIdFormatRequest": { + "type": "structure", + "members": { + "PrincipalArn": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the local gateway virtual interface group association.

", - "smithy.api#xmlName": "ownerId" + "aws.protocols#ec2QueryName": "PrincipalArn", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ARN of the principal, which can be an IAM user, IAM role, or the root user. Specify\n all to modify the ID format for all IAM users, IAM roles, and the root user of\n the account.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "principalArn" } }, - "State": { + "Resource": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the association.

", - "smithy.api#xmlName": "state" + "aws.protocols#ec2QueryName": "Resource", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The type of resource: bundle | conversion-task | customer-gateway | dhcp-options |\n elastic-ip-allocation | elastic-ip-association |\n export-task | flow-log | image |\n import-task | internet-gateway | network-acl\n | network-acl-association | network-interface |\n network-interface-attachment | prefix-list |\n route-table | route-table-association |\n security-group | subnet |\n subnet-cidr-block-association | vpc |\n vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

\n

Alternatively, use the all-current option to include all resource types that are\n currently within their opt-in period for longer IDs.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "resource" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "UseLongIds": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags assigned to the association.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "UseLongIds", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the resource should use longer IDs (17-character IDs)

", + "smithy.api#required": {}, + "smithy.api#xmlName": "useLongIds" } } }, "traits": { - "smithy.api#documentation": "

Describes an association between a local gateway route table and a virtual interface group.

" - } - }, - "com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociationId": { - "type": "string" - }, - "com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociationIdSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociationId", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#input": {} } }, - "com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociationSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociation", - "traits": { - "smithy.api#xmlName": "item" - } + "com.amazonaws.ec2#ModifyImageAttribute": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyImageAttributeRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "

Modifies the specified attribute of the specified AMI. You can specify only one attribute at a time.\n You can use the Attribute parameter to specify the attribute or one of the following parameters: \n Description or LaunchPermission.

\n

Images with an Amazon Web Services Marketplace product code cannot be made public.

\n

To enable the SriovNetSupport enhanced networking attribute of an image, enable SriovNetSupport on an instance \n and create an AMI from the instance.

" } }, - "com.amazonaws.ec2#LocalGatewayRouteTableVpcAssociation": { + "com.amazonaws.ec2#ModifyImageAttributeRequest": { "type": "structure", "members": { - "LocalGatewayRouteTableVpcAssociationId": { - "target": "com.amazonaws.ec2#LocalGatewayRouteTableVpcAssociationId", + "Attribute": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayRouteTableVpcAssociationId", - "smithy.api#documentation": "

The ID of the association.

", - "smithy.api#xmlName": "localGatewayRouteTableVpcAssociationId" + "smithy.api#documentation": "

The name of the attribute to modify.

\n

Valid values: description | launchPermission\n

" } }, - "LocalGatewayRouteTableId": { - "target": "com.amazonaws.ec2#String", + "Description": { + "target": "com.amazonaws.ec2#AttributeValue", "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayRouteTableId", - "smithy.api#documentation": "

The ID of the local gateway route table.

", - "smithy.api#xmlName": "localGatewayRouteTableId" + "smithy.api#documentation": "

A new description for the AMI.

" } }, - "LocalGatewayRouteTableArn": { - "target": "com.amazonaws.ec2#ResourceArn", + "ImageId": { + "target": "com.amazonaws.ec2#ImageId", "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayRouteTableArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the local gateway route table for the association.

", - "smithy.api#xmlName": "localGatewayRouteTableArn" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the AMI.

", + "smithy.api#required": {} } }, - "LocalGatewayId": { - "target": "com.amazonaws.ec2#String", + "LaunchPermission": { + "target": "com.amazonaws.ec2#LaunchPermissionModifications", "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayId", - "smithy.api#documentation": "

The ID of the local gateway.

", - "smithy.api#xmlName": "localGatewayId" + "smithy.api#documentation": "

A new launch permission for the AMI.

" } }, - "VpcId": { - "target": "com.amazonaws.ec2#String", + "OperationType": { + "target": "com.amazonaws.ec2#OperationType", "traits": { - "aws.protocols#ec2QueryName": "VpcId", - "smithy.api#documentation": "

The ID of the VPC.

", - "smithy.api#xmlName": "vpcId" + "smithy.api#documentation": "

The operation type. \n This parameter can be used only when the Attribute parameter is launchPermission.

" } }, - "OwnerId": { - "target": "com.amazonaws.ec2#String", + "ProductCodes": { + "target": "com.amazonaws.ec2#ProductCodeStringList", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the local gateway route table for the association.

", - "smithy.api#xmlName": "ownerId" + "smithy.api#documentation": "

Not supported.

", + "smithy.api#xmlName": "ProductCode" } }, - "State": { + "UserGroups": { + "target": "com.amazonaws.ec2#UserGroupStringList", + "traits": { + "smithy.api#documentation": "

The user groups. \n This parameter can be used only when the Attribute parameter is launchPermission.

", + "smithy.api#xmlName": "UserGroup" + } + }, + "UserIds": { + "target": "com.amazonaws.ec2#UserIdStringList", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account IDs. \n This parameter can be used only when the Attribute parameter is launchPermission.

", + "smithy.api#xmlName": "UserId" + } + }, + "Value": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the association.

", - "smithy.api#xmlName": "state" + "smithy.api#documentation": "

The value of the attribute being modified. \n This parameter can be used only when the Attribute parameter is description.

" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags assigned to the association.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes an association between a local gateway route table and a VPC.

" - } - }, - "com.amazonaws.ec2#LocalGatewayRouteTableVpcAssociationId": { - "type": "string" - }, - "com.amazonaws.ec2#LocalGatewayRouteTableVpcAssociationIdSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#LocalGatewayRouteTableVpcAssociationId", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#LocalGatewayRouteTableVpcAssociationSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#LocalGatewayRouteTableVpcAssociation", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#LocalGatewayRouteType": { - "type": "enum", - "members": { - "static": { - "target": "smithy.api#Unit", + }, + "OrganizationArns": { + "target": "com.amazonaws.ec2#OrganizationArnStringList", "traits": { - "smithy.api#enumValue": "static" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an organization. This parameter can be used only when the Attribute parameter is launchPermission.

", + "smithy.api#xmlName": "OrganizationArn" } }, - "propagated": { - "target": "smithy.api#Unit", + "OrganizationalUnitArns": { + "target": "com.amazonaws.ec2#OrganizationalUnitArnStringList", "traits": { - "smithy.api#enumValue": "propagated" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an organizational unit (OU). This parameter can be used only when the Attribute parameter is launchPermission.

", + "smithy.api#xmlName": "OrganizationalUnitArn" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for ModifyImageAttribute.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#LocalGatewayRoutetableId": { - "type": "string" - }, - "com.amazonaws.ec2#LocalGatewaySet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#LocalGateway", - "traits": { - "smithy.api#xmlName": "item" - } + "com.amazonaws.ec2#ModifyInstanceAttribute": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyInstanceAttributeRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "

Modifies the specified attribute of the specified instance. You can specify only one\n attribute at a time.

\n

\n Note: Using this action to change the security groups\n associated with an elastic network interface (ENI) attached to an instance in a VPC can\n result in an error if the instance has more than one ENI. To change the security groups\n associated with an ENI attached to an instance that has multiple ENIs, we recommend that\n you use the ModifyNetworkInterfaceAttribute action.

\n

To modify some attributes, the instance must be stopped. For more information, see\n Modify a stopped instance in the\n Amazon EC2 User Guide.

" } }, - "com.amazonaws.ec2#LocalGatewayVirtualInterface": { + "com.amazonaws.ec2#ModifyInstanceAttributeRequest": { "type": "structure", "members": { - "LocalGatewayVirtualInterfaceId": { - "target": "com.amazonaws.ec2#LocalGatewayVirtualInterfaceId", - "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayVirtualInterfaceId", - "smithy.api#documentation": "

The ID of the virtual interface.

", - "smithy.api#xmlName": "localGatewayVirtualInterfaceId" - } - }, - "LocalGatewayId": { - "target": "com.amazonaws.ec2#String", + "SourceDestCheck": { + "target": "com.amazonaws.ec2#AttributeBooleanValue", "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayId", - "smithy.api#documentation": "

The ID of the local gateway.

", - "smithy.api#xmlName": "localGatewayId" + "smithy.api#documentation": "

Enable or disable source/destination checks, which ensure that the instance is either\n the source or the destination of any traffic that it receives. If the value is\n true, source/destination checks are enabled; otherwise, they are\n disabled. The default value is true. You must disable source/destination\n checks if the instance runs services such as network address translation, routing, or\n firewalls.

" } }, - "Vlan": { - "target": "com.amazonaws.ec2#Integer", + "Attribute": { + "target": "com.amazonaws.ec2#InstanceAttributeName", "traits": { - "aws.protocols#ec2QueryName": "Vlan", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The ID of the VLAN.

", - "smithy.api#xmlName": "vlan" + "aws.protocols#ec2QueryName": "Attribute", + "smithy.api#documentation": "

The name of the attribute to modify.

\n \n

You can modify the following attributes only: disableApiTermination |\n instanceType | kernel | ramdisk |\n instanceInitiatedShutdownBehavior | blockDeviceMapping\n | userData | sourceDestCheck | groupSet |\n ebsOptimized | sriovNetSupport |\n enaSupport | nvmeSupport | disableApiStop\n | enclaveOptions\n

\n
", + "smithy.api#xmlName": "attribute" } }, - "LocalAddress": { - "target": "com.amazonaws.ec2#String", + "BlockDeviceMappings": { + "target": "com.amazonaws.ec2#InstanceBlockDeviceMappingSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "LocalAddress", - "smithy.api#documentation": "

The local address.

", - "smithy.api#xmlName": "localAddress" + "aws.protocols#ec2QueryName": "BlockDeviceMapping", + "smithy.api#documentation": "

Modifies the DeleteOnTermination attribute for volumes that are currently\n attached. The volume must be owned by the caller. If no value is specified for\n DeleteOnTermination, the default is true and the volume is\n deleted when the instance is terminated.

\n

To add instance store volumes to an Amazon EBS-backed instance, you must add them when\n you launch the instance. For more information, see Update the block device mapping when launching an instance in the\n Amazon EC2 User Guide.

", + "smithy.api#xmlName": "blockDeviceMapping" } }, - "PeerAddress": { - "target": "com.amazonaws.ec2#String", + "DisableApiTermination": { + "target": "com.amazonaws.ec2#AttributeBooleanValue", "traits": { - "aws.protocols#ec2QueryName": "PeerAddress", - "smithy.api#documentation": "

The peer address.

", - "smithy.api#xmlName": "peerAddress" + "aws.protocols#ec2QueryName": "DisableApiTermination", + "smithy.api#documentation": "

If the value is true, you can't terminate the instance using the Amazon\n EC2 console, CLI, or API; otherwise, you can. You cannot use this parameter for Spot\n Instances.

", + "smithy.api#xmlName": "disableApiTermination" } }, - "LocalBgpAsn": { - "target": "com.amazonaws.ec2#Integer", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "LocalBgpAsn", + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The Border Gateway Protocol (BGP) Autonomous System Number (ASN) of the local gateway.

", - "smithy.api#xmlName": "localBgpAsn" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "PeerBgpAsn": { - "target": "com.amazonaws.ec2#Integer", + "EbsOptimized": { + "target": "com.amazonaws.ec2#AttributeBooleanValue", "traits": { - "aws.protocols#ec2QueryName": "PeerBgpAsn", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The peer BGP ASN.

", - "smithy.api#xmlName": "peerBgpAsn" + "aws.protocols#ec2QueryName": "EbsOptimized", + "smithy.api#documentation": "

Specifies whether the instance is optimized for Amazon EBS I/O. This optimization\n provides dedicated throughput to Amazon EBS and an optimized configuration stack to\n provide optimal EBS I/O performance. This optimization isn't available with all instance\n types. Additional usage charges apply when using an EBS Optimized instance.

", + "smithy.api#xmlName": "ebsOptimized" } }, - "OwnerId": { - "target": "com.amazonaws.ec2#String", + "EnaSupport": { + "target": "com.amazonaws.ec2#AttributeBooleanValue", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the local gateway virtual interface.

", - "smithy.api#xmlName": "ownerId" + "aws.protocols#ec2QueryName": "EnaSupport", + "smithy.api#documentation": "

Set to true to enable enhanced networking with ENA for the\n instance.

\n

This option is supported only for HVM instances. Specifying this option with a PV\n instance can make it unreachable.

", + "smithy.api#xmlName": "enaSupport" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", - "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags assigned to the virtual interface.

", - "smithy.api#xmlName": "tagSet" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a local gateway virtual interface.

" - } - }, - "com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroup": { - "type": "structure", - "members": { - "LocalGatewayVirtualInterfaceGroupId": { - "target": "com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroupId", + "Groups": { + "target": "com.amazonaws.ec2#GroupIdStringList", "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayVirtualInterfaceGroupId", - "smithy.api#documentation": "

The ID of the virtual interface group.

", - "smithy.api#xmlName": "localGatewayVirtualInterfaceGroupId" + "smithy.api#documentation": "

[EC2-VPC] Replaces the security groups of the instance with the specified security\n groups. You must specify at least one security group, even if it's just the default\n security group for the VPC. You must specify the security group ID, not the security\n group name.

", + "smithy.api#xmlName": "GroupId" } }, - "LocalGatewayVirtualInterfaceIds": { - "target": "com.amazonaws.ec2#LocalGatewayVirtualInterfaceIdSet", + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayVirtualInterfaceIdSet", - "smithy.api#documentation": "

The IDs of the virtual interfaces.

", - "smithy.api#xmlName": "localGatewayVirtualInterfaceIdSet" + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the instance.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "instanceId" } }, - "LocalGatewayId": { - "target": "com.amazonaws.ec2#String", + "InstanceInitiatedShutdownBehavior": { + "target": "com.amazonaws.ec2#AttributeValue", "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayId", - "smithy.api#documentation": "

The ID of the local gateway.

", - "smithy.api#xmlName": "localGatewayId" + "aws.protocols#ec2QueryName": "InstanceInitiatedShutdownBehavior", + "smithy.api#documentation": "

Specifies whether an instance stops or terminates when you initiate shutdown from the\n instance (using the operating system command for system shutdown).

", + "smithy.api#xmlName": "instanceInitiatedShutdownBehavior" } }, - "OwnerId": { - "target": "com.amazonaws.ec2#String", + "InstanceType": { + "target": "com.amazonaws.ec2#AttributeValue", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the local gateway virtual interface group.

", - "smithy.api#xmlName": "ownerId" + "aws.protocols#ec2QueryName": "InstanceType", + "smithy.api#documentation": "

Changes the instance type to the specified value. For more information, see Instance\n types in the Amazon EC2 User Guide. If the instance type is\n not valid, the error returned is InvalidInstanceAttributeValue.

", + "smithy.api#xmlName": "instanceType" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "Kernel": { + "target": "com.amazonaws.ec2#AttributeValue", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags assigned to the virtual interface group.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "Kernel", + "smithy.api#documentation": "

Changes the instance's kernel to the specified value. We recommend that you use\n PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

", + "smithy.api#xmlName": "kernel" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a local gateway virtual interface group.

" - } - }, - "com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroupId": { - "type": "string" - }, - "com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroupIdSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroupId", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroupSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroup", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#LocalGatewayVirtualInterfaceId": { - "type": "string" - }, - "com.amazonaws.ec2#LocalGatewayVirtualInterfaceIdSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#LocalGatewayVirtualInterfaceId", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#LocalGatewayVirtualInterfaceSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#LocalGatewayVirtualInterface", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#LocalStorage": { - "type": "enum", - "members": { - "INCLUDED": { - "target": "smithy.api#Unit", + }, + "Ramdisk": { + "target": "com.amazonaws.ec2#AttributeValue", "traits": { - "smithy.api#enumValue": "included" + "aws.protocols#ec2QueryName": "Ramdisk", + "smithy.api#documentation": "

Changes the instance's RAM disk to the specified value. We recommend that you use\n PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

", + "smithy.api#xmlName": "ramdisk" } }, - "REQUIRED": { - "target": "smithy.api#Unit", + "SriovNetSupport": { + "target": "com.amazonaws.ec2#AttributeValue", "traits": { - "smithy.api#enumValue": "required" + "aws.protocols#ec2QueryName": "SriovNetSupport", + "smithy.api#documentation": "

Set to simple to enable enhanced networking with the Intel 82599 Virtual\n Function interface for the instance.

\n

There is no way to disable enhanced networking with the Intel 82599 Virtual Function\n interface at this time.

\n

This option is supported only for HVM instances. Specifying this option with a PV\n instance can make it unreachable.

", + "smithy.api#xmlName": "sriovNetSupport" } }, - "EXCLUDED": { - "target": "smithy.api#Unit", + "UserData": { + "target": "com.amazonaws.ec2#BlobAttributeValue", "traits": { - "smithy.api#enumValue": "excluded" + "aws.protocols#ec2QueryName": "UserData", + "smithy.api#documentation": "

Changes the instance's user data to the specified value. If you are using an Amazon Web Services SDK or command line tool, base64-encoding is performed for you, and you\n can load the text from a file. Otherwise, you must provide base64-encoded text.

", + "smithy.api#xmlName": "userData" } - } - } - }, - "com.amazonaws.ec2#LocalStorageType": { - "type": "enum", - "members": { - "HDD": { - "target": "smithy.api#Unit", + }, + "Value": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "hdd" + "aws.protocols#ec2QueryName": "Value", + "smithy.api#documentation": "

A new value for the attribute. Use only with the kernel,\n ramdisk, userData, disableApiTermination, or\n instanceInitiatedShutdownBehavior attribute.

", + "smithy.api#xmlName": "value" } }, - "SSD": { - "target": "smithy.api#Unit", + "DisableApiStop": { + "target": "com.amazonaws.ec2#AttributeBooleanValue", "traits": { - "smithy.api#enumValue": "ssd" + "smithy.api#documentation": "

Indicates whether an instance is enabled for stop protection. For more information,\n see Stop\n Protection.

\n

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#LocalStorageTypeSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#LocalStorageType", - "traits": { - "smithy.api#xmlName": "item" - } + "com.amazonaws.ec2#ModifyInstanceCapacityReservationAttributes": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyInstanceCapacityReservationAttributesRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ModifyInstanceCapacityReservationAttributesResult" + }, + "traits": { + "smithy.api#documentation": "

Modifies the Capacity Reservation settings for a stopped instance. Use this action to configure an\n\t\t\tinstance to target a specific Capacity Reservation, run in any open Capacity Reservation with matching\n\t\t\tattributes, or run On-Demand Instance capacity.

" } }, - "com.amazonaws.ec2#Location": { - "type": "string" - }, - "com.amazonaws.ec2#LocationType": { - "type": "enum", + "com.amazonaws.ec2#ModifyInstanceCapacityReservationAttributesRequest": { + "type": "structure", "members": { - "region": { - "target": "smithy.api#Unit", + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", "traits": { - "smithy.api#enumValue": "region" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the instance to be modified.

", + "smithy.api#required": {} } }, - "availability_zone": { - "target": "smithy.api#Unit", + "CapacityReservationSpecification": { + "target": "com.amazonaws.ec2#CapacityReservationSpecification", "traits": { - "smithy.api#enumValue": "availability-zone" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

Information about the Capacity Reservation targeting option.

", + "smithy.api#required": {} } }, - "availability_zone_id": { - "target": "smithy.api#Unit", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "availability-zone-id" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#LogDestinationType": { - "type": "enum", + "com.amazonaws.ec2#ModifyInstanceCapacityReservationAttributesResult": { + "type": "structure", "members": { - "cloud_watch_logs": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "cloud-watch-logs" - } - }, - "s3": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "s3" - } - }, - "kinesis_data_firehose": { - "target": "smithy.api#Unit", + "Return": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "kinesis-data-firehose" + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "smithy.api#xmlName": "return" } } } }, - "com.amazonaws.ec2#Long": { - "type": "long", + "com.amazonaws.ec2#ModifyInstanceCreditSpecification": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyInstanceCreditSpecificationRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ModifyInstanceCreditSpecificationResult" + }, "traits": { - "smithy.api#default": 0 + "smithy.api#documentation": "

Modifies the credit option for CPU usage on a running or stopped burstable performance\n instance. The credit options are standard and\n unlimited.

\n

For more information, see Burstable\n performance instances in the Amazon EC2 User Guide.

" } }, - "com.amazonaws.ec2#ManagedPrefixList": { + "com.amazonaws.ec2#ModifyInstanceCreditSpecificationRequest": { "type": "structure", "members": { - "PrefixListId": { - "target": "com.amazonaws.ec2#PrefixListResourceId", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "PrefixListId", - "smithy.api#documentation": "

The ID of the prefix list.

", - "smithy.api#xmlName": "prefixListId" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "AddressFamily": { + "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AddressFamily", - "smithy.api#documentation": "

The IP address version.

", - "smithy.api#xmlName": "addressFamily" - } - }, - "State": { - "target": "com.amazonaws.ec2#PrefixListState", - "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The current state of the prefix list.

", - "smithy.api#xmlName": "state" + "smithy.api#documentation": "

A unique, case-sensitive token that you provide to ensure idempotency of your\n modification request. For more information, see Ensuring\n Idempotency.

" } }, - "StateMessage": { - "target": "com.amazonaws.ec2#String", + "InstanceCreditSpecifications": { + "target": "com.amazonaws.ec2#InstanceCreditSpecificationListRequest", "traits": { - "aws.protocols#ec2QueryName": "StateMessage", - "smithy.api#documentation": "

The state message.

", - "smithy.api#xmlName": "stateMessage" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

Information about the credit option for CPU usage.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "InstanceCreditSpecification" } - }, - "PrefixListArn": { - "target": "com.amazonaws.ec2#ResourceArn", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#ModifyInstanceCreditSpecificationResult": { + "type": "structure", + "members": { + "SuccessfulInstanceCreditSpecifications": { + "target": "com.amazonaws.ec2#SuccessfulInstanceCreditSpecificationSet", "traits": { - "aws.protocols#ec2QueryName": "PrefixListArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the prefix list.

", - "smithy.api#xmlName": "prefixListArn" + "aws.protocols#ec2QueryName": "SuccessfulInstanceCreditSpecificationSet", + "smithy.api#documentation": "

Information about the instances whose credit option for CPU usage was successfully\n modified.

", + "smithy.api#xmlName": "successfulInstanceCreditSpecificationSet" } }, - "PrefixListName": { - "target": "com.amazonaws.ec2#String", + "UnsuccessfulInstanceCreditSpecifications": { + "target": "com.amazonaws.ec2#UnsuccessfulInstanceCreditSpecificationSet", "traits": { - "aws.protocols#ec2QueryName": "PrefixListName", - "smithy.api#documentation": "

The name of the prefix list.

", - "smithy.api#xmlName": "prefixListName" + "aws.protocols#ec2QueryName": "UnsuccessfulInstanceCreditSpecificationSet", + "smithy.api#documentation": "

Information about the instances whose credit option for CPU usage was not\n modified.

", + "smithy.api#xmlName": "unsuccessfulInstanceCreditSpecificationSet" } - }, - "MaxEntries": { - "target": "com.amazonaws.ec2#Integer", + } + } + }, + "com.amazonaws.ec2#ModifyInstanceEventStartTime": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyInstanceEventStartTimeRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ModifyInstanceEventStartTimeResult" + }, + "traits": { + "smithy.api#documentation": "

Modifies the start time for a scheduled Amazon EC2 instance event.

" + } + }, + "com.amazonaws.ec2#ModifyInstanceEventStartTimeRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "MaxEntries", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of entries for the prefix list.

", - "smithy.api#xmlName": "maxEntries" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "Version": { - "target": "com.amazonaws.ec2#Long", + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", "traits": { - "aws.protocols#ec2QueryName": "Version", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The version of the prefix list.

", - "smithy.api#xmlName": "version" + "smithy.api#documentation": "

The ID of the instance with the scheduled event.

", + "smithy.api#required": {} } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "InstanceEventId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags for the prefix list.

", - "smithy.api#xmlName": "tagSet" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the event whose date and time you are modifying.

", + "smithy.api#required": {} } }, - "OwnerId": { - "target": "com.amazonaws.ec2#String", + "NotBefore": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The ID of the owner of the prefix list.

", - "smithy.api#xmlName": "ownerId" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The new date and time when the event will take place.

", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Describes a managed prefix list.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ManagedPrefixListSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ManagedPrefixList", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#MarketType": { - "type": "enum", + "com.amazonaws.ec2#ModifyInstanceEventStartTimeResult": { + "type": "structure", "members": { - "spot": { - "target": "smithy.api#Unit", + "Event": { + "target": "com.amazonaws.ec2#InstanceStatusEvent", "traits": { - "smithy.api#enumValue": "spot" + "aws.protocols#ec2QueryName": "Event", + "smithy.api#documentation": "

Information about the event.

", + "smithy.api#xmlName": "event" } } } }, - "com.amazonaws.ec2#MaxIpv4AddrPerInterface": { - "type": "integer" - }, - "com.amazonaws.ec2#MaxIpv6AddrPerInterface": { - "type": "integer" - }, - "com.amazonaws.ec2#MaxNetworkInterfaces": { - "type": "integer" - }, - "com.amazonaws.ec2#MaxResults": { - "type": "integer" - }, - "com.amazonaws.ec2#MaximumBandwidthInMbps": { - "type": "integer" - }, - "com.amazonaws.ec2#MaximumEfaInterfaces": { - "type": "integer" - }, - "com.amazonaws.ec2#MaximumIops": { - "type": "integer" - }, - "com.amazonaws.ec2#MaximumNetworkCards": { - "type": "integer" - }, - "com.amazonaws.ec2#MaximumThroughputInMBps": { - "type": "double" - }, - "com.amazonaws.ec2#MembershipType": { - "type": "enum", - "members": { - "static": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "static" - } - }, - "igmp": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "igmp" - } - } + "com.amazonaws.ec2#ModifyInstanceEventWindow": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyInstanceEventWindowRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ModifyInstanceEventWindowResult" + }, + "traits": { + "smithy.api#documentation": "

Modifies the specified event window.

\n

You can define either a set of time ranges or a cron expression when modifying the event\n window, but not both.

\n

To modify the targets associated with the event window, use the AssociateInstanceEventWindow and DisassociateInstanceEventWindow API.

\n

If Amazon Web Services has already scheduled an event, modifying an event window won't change the time\n of the scheduled event.

\n

For more information, see Define event windows for scheduled\n events in the Amazon EC2 User Guide.

" } }, - "com.amazonaws.ec2#MemoryGiBPerVCpu": { + "com.amazonaws.ec2#ModifyInstanceEventWindowRequest": { "type": "structure", "members": { - "Min": { - "target": "com.amazonaws.ec2#Double", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Min", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The minimum amount of memory per vCPU, in GiB. If this parameter is not specified, there is\n no minimum limit.

", - "smithy.api#xmlName": "min" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "Max": { - "target": "com.amazonaws.ec2#Double", + "Name": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Max", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum amount of memory per vCPU, in GiB. If this parameter is not specified, there is\n no maximum limit.

", - "smithy.api#xmlName": "max" + "smithy.api#documentation": "

The name of the event window.

" } - } - }, - "traits": { - "smithy.api#documentation": "

The minimum and maximum amount of memory per vCPU, in GiB.

\n

" - } - }, - "com.amazonaws.ec2#MemoryGiBPerVCpuRequest": { - "type": "structure", - "members": { - "Min": { - "target": "com.amazonaws.ec2#Double", + }, + "InstanceEventWindowId": { + "target": "com.amazonaws.ec2#InstanceEventWindowId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this\n parameter.

" + "smithy.api#documentation": "

The ID of the event window.

", + "smithy.api#required": {} } }, - "Max": { - "target": "com.amazonaws.ec2#Double", + "TimeRanges": { + "target": "com.amazonaws.ec2#InstanceEventWindowTimeRangeRequestSet", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this\n parameter.

" + "smithy.api#documentation": "

The time ranges of the event window.

", + "smithy.api#xmlName": "TimeRange" + } + }, + "CronExpression": { + "target": "com.amazonaws.ec2#InstanceEventWindowCronExpression", + "traits": { + "smithy.api#documentation": "

The cron expression of the event window, for example, * 0-4,20-23 * * 1,5.

\n

Constraints:

\n
    \n
  • \n

    Only hour and day of the week values are supported.

    \n
  • \n
  • \n

    For day of the week values, you can specify either integers 0 through\n 6, or alternative single values SUN through\n SAT.

    \n
  • \n
  • \n

    The minute, month, and year must be specified by *.

    \n
  • \n
  • \n

    The hour value must be one or a multiple range, for example, 0-4 or\n 0-4,20-23.

    \n
  • \n
  • \n

    Each hour range must be >= 2 hours, for example, 0-2 or\n 20-23.

    \n
  • \n
  • \n

    The event window must be >= 4 hours. The combined total time ranges in the event\n window must be >= 4 hours.

    \n
  • \n
\n

For more information about cron expressions, see cron on the Wikipedia\n website.

" } } }, "traits": { - "smithy.api#documentation": "

The minimum and maximum amount of memory per vCPU, in GiB.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#MemoryInfo": { + "com.amazonaws.ec2#ModifyInstanceEventWindowResult": { "type": "structure", "members": { - "SizeInMiB": { - "target": "com.amazonaws.ec2#MemorySize", + "InstanceEventWindow": { + "target": "com.amazonaws.ec2#InstanceEventWindow", "traits": { - "aws.protocols#ec2QueryName": "SizeInMiB", - "smithy.api#documentation": "

The size of the memory, in MiB.

", - "smithy.api#xmlName": "sizeInMiB" + "aws.protocols#ec2QueryName": "InstanceEventWindow", + "smithy.api#documentation": "

Information about the event window.

", + "smithy.api#xmlName": "instanceEventWindow" } } + } + }, + "com.amazonaws.ec2#ModifyInstanceMaintenanceOptions": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyInstanceMaintenanceOptionsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ModifyInstanceMaintenanceOptionsResult" }, "traits": { - "smithy.api#documentation": "

Describes the memory for the instance type.

" + "smithy.api#documentation": "

Modifies the recovery behavior of your instance to disable simplified automatic\n recovery or set the recovery behavior to default. The default configuration will not\n enable simplified automatic recovery for an unsupported instance type. For more\n information, see Simplified automatic recovery.

" } }, - "com.amazonaws.ec2#MemoryMiB": { + "com.amazonaws.ec2#ModifyInstanceMaintenanceOptionsRequest": { "type": "structure", "members": { - "Min": { - "target": "com.amazonaws.ec2#Integer", + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", "traits": { - "aws.protocols#ec2QueryName": "Min", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The minimum amount of memory, in MiB. If this parameter is not specified, there is no minimum\n limit.

", - "smithy.api#xmlName": "min" + "smithy.api#documentation": "

The ID of the instance.

", + "smithy.api#required": {} } }, - "Max": { - "target": "com.amazonaws.ec2#Integer", + "AutoRecovery": { + "target": "com.amazonaws.ec2#InstanceAutoRecoveryState", + "traits": { + "smithy.api#documentation": "

Disables the automatic recovery behavior of your instance or sets it to\n default.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Max", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum amount of memory, in MiB. If this parameter is not specified, there is no\n maximum limit.

", - "smithy.api#xmlName": "max" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

The minimum and maximum amount of memory, in MiB.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#MemoryMiBRequest": { + "com.amazonaws.ec2#ModifyInstanceMaintenanceOptionsResult": { "type": "structure", "members": { - "Min": { - "target": "com.amazonaws.ec2#Integer", + "InstanceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The minimum amount of memory, in MiB. To specify no minimum limit, specify\n 0.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#documentation": "

The ID of the instance.

", + "smithy.api#xmlName": "instanceId" } }, - "Max": { - "target": "com.amazonaws.ec2#Integer", + "AutoRecovery": { + "target": "com.amazonaws.ec2#InstanceAutoRecoveryState", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum amount of memory, in MiB. To specify no maximum limit, omit this\n parameter.

" + "aws.protocols#ec2QueryName": "AutoRecovery", + "smithy.api#documentation": "

Provides information on the current automatic recovery behavior of your\n instance.

", + "smithy.api#xmlName": "autoRecovery" } } - }, - "traits": { - "smithy.api#documentation": "

The minimum and maximum amount of memory, in MiB.

" } }, - "com.amazonaws.ec2#MemorySize": { - "type": "long" - }, - "com.amazonaws.ec2#MillisecondDateTime": { - "type": "timestamp" - }, - "com.amazonaws.ec2#ModifyAddressAttribute": { + "com.amazonaws.ec2#ModifyInstanceMetadataOptions": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyAddressAttributeRequest" + "target": "com.amazonaws.ec2#ModifyInstanceMetadataOptionsRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifyAddressAttributeResult" + "target": "com.amazonaws.ec2#ModifyInstanceMetadataOptionsResult" }, "traits": { - "smithy.api#documentation": "

Modifies an attribute of the specified Elastic IP address. For requirements, see Using reverse DNS for email applications.

" + "smithy.api#documentation": "

Modify the instance metadata parameters on a running or stopped instance. When you\n modify the parameters on a stopped instance, they are applied when the instance is\n started. When you modify the parameters on a running instance, the API responds with a\n state of β€œpending”. After the parameter modifications are successfully applied to the\n instance, the state of the modifications changes from β€œpending” to β€œapplied” in\n subsequent describe-instances API calls. For more information, see Instance metadata and user data in the\n Amazon EC2 User Guide.

" } }, - "com.amazonaws.ec2#ModifyAddressAttributeRequest": { + "com.amazonaws.ec2#ModifyInstanceMetadataOptionsRequest": { "type": "structure", "members": { - "AllocationId": { - "target": "com.amazonaws.ec2#AllocationId", + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

[EC2-VPC] The allocation ID.

", + "smithy.api#documentation": "

The ID of the instance.

", "smithy.api#required": {} } }, - "DomainName": { - "target": "com.amazonaws.ec2#String", + "HttpTokens": { + "target": "com.amazonaws.ec2#HttpTokensState", "traits": { - "smithy.api#documentation": "

The domain name to modify for the IP address.

" + "smithy.api#documentation": "

IMDSv2 uses token-backed sessions. Set the use of HTTP tokens to optional\n (in other words, set the use of IMDSv2 to optional) or\n required (in other words, set the use of IMDSv2 to\n required).

\n
    \n
  • \n

    \n optional - When IMDSv2 is optional, you can choose to retrieve instance metadata with or without \n a session token in your request. If you retrieve the IAM role credentials \n without a token, the IMDSv1 role credentials are returned. If you retrieve the IAM role credentials \n using a valid session token, the IMDSv2 role credentials are returned.

    \n
  • \n
  • \n

    \n required - When IMDSv2 is required, you must send a session token \n with any instance metadata retrieval requests. In this state, retrieving the IAM role \n credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available.

    \n
  • \n
\n

Default: optional\n

" + } + }, + "HttpPutResponseHopLimit": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The desired HTTP PUT response hop limit for instance metadata requests. The larger the\n number, the further instance metadata requests can travel. If no parameter is specified,\n the existing state is maintained.

\n

Possible values: Integers from 1 to 64

" + } + }, + "HttpEndpoint": { + "target": "com.amazonaws.ec2#InstanceMetadataEndpointState", + "traits": { + "smithy.api#documentation": "

Enables or disables the HTTP metadata endpoint on your instances. If this parameter is\n not specified, the existing state is maintained.

\n

If you specify a value of disabled, you cannot access your instance\n metadata.

" } }, "DryRun": { @@ -61988,66 +67332,128 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" + } + }, + "HttpProtocolIpv6": { + "target": "com.amazonaws.ec2#InstanceMetadataProtocolState", + "traits": { + "smithy.api#documentation": "

Enables or disables the IPv6 endpoint for the instance metadata service. This setting\n applies only if you have enabled the HTTP metadata endpoint.

" + } + }, + "InstanceMetadataTags": { + "target": "com.amazonaws.ec2#InstanceMetadataTagsState", + "traits": { + "smithy.api#documentation": "

Set to enabled to allow access to instance tags from the instance\n metadata. Set to disabled to turn off access to instance tags from the\n instance metadata. For more information, see Work with\n instance tags using the instance metadata.

\n

Default: disabled\n

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyAddressAttributeResult": { + "com.amazonaws.ec2#ModifyInstanceMetadataOptionsResult": { "type": "structure", "members": { - "Address": { - "target": "com.amazonaws.ec2#AddressAttribute", + "InstanceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Address", - "smithy.api#documentation": "

Information about the Elastic IP address.

", - "smithy.api#xmlName": "address" + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#documentation": "

The ID of the instance.

", + "smithy.api#xmlName": "instanceId" + } + }, + "InstanceMetadataOptions": { + "target": "com.amazonaws.ec2#InstanceMetadataOptionsResponse", + "traits": { + "aws.protocols#ec2QueryName": "InstanceMetadataOptions", + "smithy.api#documentation": "

The metadata options for the instance.

", + "smithy.api#xmlName": "instanceMetadataOptions" } } } }, - "com.amazonaws.ec2#ModifyAvailabilityZoneGroup": { + "com.amazonaws.ec2#ModifyInstancePlacement": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyAvailabilityZoneGroupRequest" + "target": "com.amazonaws.ec2#ModifyInstancePlacementRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifyAvailabilityZoneGroupResult" + "target": "com.amazonaws.ec2#ModifyInstancePlacementResult" }, "traits": { - "smithy.api#documentation": "

Changes the opt-in status of the Local Zone and Wavelength Zone group for your\n account.

\n

Use \n \t\tDescribeAvailabilityZones to view the value for GroupName.

" + "smithy.api#documentation": "

Modifies the placement attributes for a specified instance. You can do the\n following:

\n
    \n
  • \n

    Modify the affinity between an instance and a Dedicated\n Host. When affinity is set to host and the instance is\n not associated with a specific Dedicated Host, the next time the instance is\n launched, it is automatically associated with the host on which it lands. If the\n instance is restarted or rebooted, this relationship persists.

    \n
  • \n
  • \n

    Change the Dedicated Host with which an instance is associated.

    \n
  • \n
  • \n

    Change the instance tenancy of an instance.

    \n
  • \n
  • \n

    Move an instance to or from a placement\n group.

    \n
  • \n
\n

At least one attribute for affinity, host ID, tenancy, or placement group name must be\n specified in the request. Affinity and tenancy can be modified in the same\n request.

\n

To modify the host ID, tenancy, placement group, or partition for an instance, the\n instance must be in the stopped state.

" } }, - "com.amazonaws.ec2#ModifyAvailabilityZoneGroupRequest": { + "com.amazonaws.ec2#ModifyInstancePlacementRequest": { "type": "structure", "members": { + "Affinity": { + "target": "com.amazonaws.ec2#Affinity", + "traits": { + "aws.protocols#ec2QueryName": "Affinity", + "smithy.api#documentation": "

The affinity setting for the instance.

", + "smithy.api#xmlName": "affinity" + } + }, "GroupName": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#PlacementGroupName", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The name of the Availability Zone group, Local Zone group, or Wavelength Zone\n group.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The name of the placement group in which to place the instance. For spread placement\n groups, the instance must have a tenancy of default. For cluster and\n partition placement groups, the instance must have a tenancy of default or\n dedicated.

\n

To remove an instance from a placement group, specify an empty string (\"\").

" } }, - "OptInStatus": { - "target": "com.amazonaws.ec2#ModifyAvailabilityZoneOptInStatus", + "HostId": { + "target": "com.amazonaws.ec2#DedicatedHostId", + "traits": { + "aws.protocols#ec2QueryName": "HostId", + "smithy.api#documentation": "

The ID of the Dedicated Host with which to associate the instance.

", + "smithy.api#xmlName": "hostId" + } + }, + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", "traits": { + "aws.protocols#ec2QueryName": "InstanceId", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

Indicates whether you are opted in to the Local Zone group or Wavelength Zone group. The\n only valid value is opted-in. You must contact Amazon Web Services Support to opt out of a Local Zone or Wavelength Zone group.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The ID of the instance that you are modifying.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "instanceId" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Tenancy": { + "target": "com.amazonaws.ec2#HostTenancy", + "traits": { + "aws.protocols#ec2QueryName": "Tenancy", + "smithy.api#documentation": "

The tenancy for the instance.

\n \n

For T3 instances, you can't change the tenancy from dedicated to\n host, or from host to dedicated.\n Attempting to make one of these unsupported tenancy changes results in the\n InvalidTenancy error code.

\n
", + "smithy.api#xmlName": "tenancy" + } + }, + "PartitionNumber": { + "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of the partition in which to place the instance. Valid only if the\n placement group strategy is set to partition.

" + } + }, + "HostResourceGroupArn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The ARN of the host resource group in which to place the instance.

" + } + }, + "GroupId": { + "target": "com.amazonaws.ec2#PlacementGroupId", + "traits": { + "smithy.api#documentation": "

The Group Id of a placement group. You must specify the Placement Group Group Id to launch an instance in a shared placement\n group.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyAvailabilityZoneGroupResult": { + "com.amazonaws.ec2#ModifyInstancePlacementResult": { "type": "structure", "members": { "Return": { @@ -62062,315 +67468,354 @@ } } }, - "com.amazonaws.ec2#ModifyAvailabilityZoneOptInStatus": { - "type": "enum", - "members": { - "opted_in": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "opted-in" - } - }, - "not_opted_in": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "not-opted-in" - } - } - } - }, - "com.amazonaws.ec2#ModifyCapacityReservation": { + "com.amazonaws.ec2#ModifyIpam": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyCapacityReservationRequest" + "target": "com.amazonaws.ec2#ModifyIpamRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifyCapacityReservationResult" + "target": "com.amazonaws.ec2#ModifyIpamResult" }, "traits": { - "smithy.api#documentation": "

Modifies a Capacity Reservation's capacity and the conditions under which it is to be released. You\n\t\t\tcannot change a Capacity Reservation's instance type, EBS optimization, instance store settings,\n\t\t\tplatform, Availability Zone, or instance eligibility. If you need to modify any of these\n\t\t\tattributes, we recommend that you cancel the Capacity Reservation, and then create a new one with\n\t\t\tthe required attributes.

" + "smithy.api#documentation": "

Modify the configurations of an IPAM.\n

" } }, - "com.amazonaws.ec2#ModifyCapacityReservationFleet": { + "com.amazonaws.ec2#ModifyIpamPool": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyCapacityReservationFleetRequest" + "target": "com.amazonaws.ec2#ModifyIpamPoolRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifyCapacityReservationFleetResult" + "target": "com.amazonaws.ec2#ModifyIpamPoolResult" }, "traits": { - "smithy.api#documentation": "

Modifies a Capacity Reservation Fleet.

\n\t\t

When you modify the total target capacity of a Capacity Reservation Fleet, the Fleet automatically \n\t\t\tcreates new Capacity Reservations, or modifies or cancels existing Capacity Reservations in the Fleet \n\t\t\tto meet the new total target capacity. When you modify the end date for the Fleet, the end dates for \n\t\t\tall of the individual Capacity Reservations in the Fleet are updated accordingly.

" + "smithy.api#documentation": "

Modify the configurations of an IPAM pool.

\n

For more information, see Modify a pool in the Amazon VPC IPAM User Guide.\n

" } }, - "com.amazonaws.ec2#ModifyCapacityReservationFleetRequest": { + "com.amazonaws.ec2#ModifyIpamPoolRequest": { "type": "structure", "members": { - "CapacityReservationFleetId": { - "target": "com.amazonaws.ec2#CapacityReservationFleetId", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Capacity Reservation Fleet to modify.

", - "smithy.api#required": {} + "smithy.api#default": false, + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "TotalTargetCapacity": { - "target": "com.amazonaws.ec2#Integer", + "IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The total number of capacity units to be reserved by the Capacity Reservation Fleet. This value, \n\t\t\ttogether with the instance type weights that you assign to each instance type used by the Fleet \n\t\t\tdetermine the number of instances for which the Fleet reserves capacity. Both values are based on \n\t\t\tunits that make sense for your workload. For more information, see Total target capacity \n\t\t\tin the Amazon EC2 User Guide.

" + "smithy.api#documentation": "

The ID of the IPAM pool you want to modify.

", + "smithy.api#required": {} } }, - "EndDate": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The date and time at which the Capacity Reservation Fleet expires. When the Capacity Reservation \n\t\t\tFleet expires, its state changes to expired and all of the Capacity Reservations in the \n\t\t\tFleet expire.

\t\n\t\t

The Capacity Reservation Fleet expires within an hour after the specified time. For example, if you \n\t\t\tspecify 5/31/2019, 13:30:55, the Capacity Reservation Fleet is guaranteed \n\t\t\tto expire between 13:30:55 and 14:30:55 on 5/31/2019.

\n\t\t

You can't specify EndDate and \n\t\t\tRemoveEndDate in the same request.

" + "smithy.api#documentation": "

The description of the IPAM pool you want to modify.

" } }, - "DryRun": { + "AutoImport": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

If true, IPAM will continuously look for resources within the CIDR range of this pool \n and automatically import them as allocations into your IPAM. The CIDRs that will be allocated for\n these resources must not already be allocated to other resources in order for the import to succeed. IPAM will import \n a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be imported and subsequently \n marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM \n discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only.\n

\n

A locale must be set on the pool for this feature to work.

" } }, - "RemoveEndDate": { - "target": "com.amazonaws.ec2#Boolean", + "AllocationMinNetmaskLength": { + "target": "com.amazonaws.ec2#IpamNetmaskLength", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to remove the end date from the Capacity Reservation Fleet. If you remove the \n\t\t\tend date, the Capacity Reservation Fleet does not expire and it remains active until you explicitly \n\t\t\tcancel it using the CancelCapacityReservationFleet action.

\n\t\t

You can't specify RemoveEndDate and \n\t\t\tEndDate in the same request.

" + "smithy.api#default": 0, + "smithy.api#documentation": "

The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. Possible \n netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128. The minimum netmask \n length must be less than the maximum netmask length.

" } - } - } - }, - "com.amazonaws.ec2#ModifyCapacityReservationFleetResult": { - "type": "structure", - "members": { - "Return": { - "target": "com.amazonaws.ec2#Boolean", + }, + "AllocationMaxNetmaskLength": { + "target": "com.amazonaws.ec2#IpamNetmaskLength", "traits": { - "aws.protocols#ec2QueryName": "Return", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "smithy.api#xmlName": "return" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. Possible \n netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.The maximum netmask \n length must be greater than the minimum netmask length.

" } - } - } - }, - "com.amazonaws.ec2#ModifyCapacityReservationRequest": { - "type": "structure", - "members": { - "CapacityReservationId": { - "target": "com.amazonaws.ec2#CapacityReservationId", + }, + "AllocationDefaultNetmaskLength": { + "target": "com.amazonaws.ec2#IpamNetmaskLength", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Capacity Reservation.

", - "smithy.api#required": {} + "smithy.api#default": 0, + "smithy.api#documentation": "

The default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16.

" } }, - "InstanceCount": { - "target": "com.amazonaws.ec2#Integer", + "ClearAllocationDefaultNetmaskLength": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of instances for which to reserve capacity. The number of instances can't be increased or \n\t\t \tdecreased by more than 1000 in a single request.

" + "smithy.api#default": false, + "smithy.api#documentation": "

Clear the default netmask length allocation rule for this pool.

" } }, - "EndDate": { - "target": "com.amazonaws.ec2#DateTime", + "AddAllocationResourceTags": { + "target": "com.amazonaws.ec2#RequestIpamResourceTagList", "traits": { - "smithy.api#documentation": "

The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity\n\t\t\tis released and you can no longer launch instances into it. The Capacity Reservation's state changes to\n\t\t\t\texpired when it reaches its end date and time.

\n\t\t

The Capacity Reservation is cancelled within an hour from the specified time. For example, if you specify \n\t\t\t5/31/2019, 13:30:55, the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.

\n\t\t

You must provide an EndDate value if EndDateType is\n\t\t\t\tlimited. Omit EndDate if EndDateType is\n\t\t\t\tunlimited.

" + "smithy.api#documentation": "

Add tag allocation rules to a pool. For more information about allocation rules, see Create a top-level pool in the Amazon VPC IPAM User Guide.

", + "smithy.api#xmlName": "AddAllocationResourceTag" } }, - "EndDateType": { - "target": "com.amazonaws.ec2#EndDateType", + "RemoveAllocationResourceTags": { + "target": "com.amazonaws.ec2#RequestIpamResourceTagList", "traits": { - "smithy.api#documentation": "

Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end\n\t\t\ttypes:

\n\t\t
    \n
  • \n

    \n unlimited - The Capacity Reservation remains active until you explicitly cancel it. Do not\n\t\t\t\t\tprovide an EndDate value if EndDateType is\n\t\t\t\t\t\tunlimited.

    \n
  • \n
  • \n

    \n limited - The Capacity Reservation expires automatically at a specified date and time. You must\n\t\t\t\t\tprovide an EndDate value if EndDateType is\n\t\t\t\t\t\tlimited.

    \n
  • \n
" + "smithy.api#documentation": "

Remove tag allocation rules from a pool.

", + "smithy.api#xmlName": "RemoveAllocationResourceTag" } - }, - "Accept": { + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#ModifyIpamPoolResult": { + "type": "structure", + "members": { + "IpamPool": { + "target": "com.amazonaws.ec2#IpamPool", + "traits": { + "aws.protocols#ec2QueryName": "IpamPool", + "smithy.api#documentation": "

The results of the modification.

", + "smithy.api#xmlName": "ipamPool" + } + } + } + }, + "com.amazonaws.ec2#ModifyIpamRequest": { + "type": "structure", + "members": { + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Reserved. Capacity Reservations you have created are accepted by default.

" + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "IpamId": { + "target": "com.amazonaws.ec2#IpamId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The ID of the IPAM you want to modify.

", + "smithy.api#required": {} } }, - "AdditionalInfo": { + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

Reserved for future use.

" + "smithy.api#documentation": "

The description of the IPAM you want to modify.

" } - } - } - }, - "com.amazonaws.ec2#ModifyCapacityReservationResult": { - "type": "structure", - "members": { - "Return": { - "target": "com.amazonaws.ec2#Boolean", + }, + "AddOperatingRegions": { + "target": "com.amazonaws.ec2#AddIpamOperatingRegionSet", "traits": { - "aws.protocols#ec2QueryName": "Return", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "smithy.api#xmlName": "return" + "smithy.api#documentation": "

Choose the operating Regions for the IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

\n

For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide.

", + "smithy.api#xmlName": "AddOperatingRegion" + } + }, + "RemoveOperatingRegions": { + "target": "com.amazonaws.ec2#RemoveIpamOperatingRegionSet", + "traits": { + "smithy.api#documentation": "

The operating Regions to remove.

", + "smithy.api#xmlName": "RemoveOperatingRegion" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyClientVpnEndpoint": { + "com.amazonaws.ec2#ModifyIpamResourceCidr": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyClientVpnEndpointRequest" + "target": "com.amazonaws.ec2#ModifyIpamResourceCidrRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifyClientVpnEndpointResult" + "target": "com.amazonaws.ec2#ModifyIpamResourceCidrResult" }, "traits": { - "smithy.api#documentation": "

Modifies the specified Client VPN endpoint. Modifying the DNS server resets existing client connections.

" + "smithy.api#documentation": "

Modify a resource CIDR. You can use this action to transfer resource CIDRs between scopes and ignore resource CIDRs that you do not want to manage. If set to false, the resource will not be tracked for overlap, it cannot be auto-imported into a pool, and it will be removed from any pool it has an allocation in.

\n

For more information, see Move resource CIDRs between scopes and Change the monitoring state of resource CIDRs in the Amazon VPC IPAM User Guide.

" } }, - "com.amazonaws.ec2#ModifyClientVpnEndpointRequest": { + "com.amazonaws.ec2#ModifyIpamResourceCidrRequest": { "type": "structure", "members": { - "ClientVpnEndpointId": { - "target": "com.amazonaws.ec2#ClientVpnEndpointId", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Client VPN endpoint to modify.

", - "smithy.api#required": {} + "smithy.api#default": false, + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "ServerCertificateArn": { + "ResourceId": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The ARN of the server certificate to be used. The server certificate must be provisioned in \n\t\t\tCertificate Manager (ACM).

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the resource you want to modify.

", + "smithy.api#required": {} } }, - "ConnectionLogOptions": { - "target": "com.amazonaws.ec2#ConnectionLogOptions", + "ResourceCidr": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

Information about the client connection logging options.

\n\t\t

If you enable client connection logging, data about client connections is sent to a\n\t\t\tCloudwatch Logs log stream. The following information is logged:

\n\t\t
    \n
  • \n

    Client connection requests

    \n
  • \n
  • \n

    Client connection results (successful and unsuccessful)

    \n
  • \n
  • \n

    Reasons for unsuccessful client connection requests

    \n
  • \n
  • \n

    Client connection termination time

    \n
  • \n
" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The CIDR of the resource you want to modify.

", + "smithy.api#required": {} } }, - "DnsServers": { - "target": "com.amazonaws.ec2#DnsServersOptionsModifyStructure", + "ResourceRegion": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

Information about the DNS servers to be used by Client VPN connections. A Client VPN endpoint can have \n\t\t\tup to two DNS servers.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Amazon Web Services Region of the resource you want to modify.

", + "smithy.api#required": {} } }, - "VpnPort": { - "target": "com.amazonaws.ec2#Integer", + "CurrentIpamScopeId": { + "target": "com.amazonaws.ec2#IpamScopeId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The port number to assign to the Client VPN endpoint for TCP and UDP traffic.

\n\t

Valid Values: 443 | 1194\n

\n\t

Default Value: 443\n

" + "smithy.api#documentation": "

The ID of the current scope that the resource CIDR is in.

", + "smithy.api#required": {} } }, - "Description": { - "target": "com.amazonaws.ec2#String", + "DestinationIpamScopeId": { + "target": "com.amazonaws.ec2#IpamScopeId", "traits": { - "smithy.api#documentation": "

A brief description of the Client VPN endpoint.

" + "smithy.api#documentation": "

The ID of the scope you want to transfer the resource CIDR to.

" } }, - "SplitTunnel": { + "Monitored": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the VPN is split-tunnel.

\n

For information about split-tunnel VPN endpoints, see Split-tunnel Client VPN endpoint in the \n \tClient VPN Administrator Guide.

" + "smithy.api#documentation": "

Determines if the resource is monitored by IPAM. If a resource is monitored, the resource is discovered by IPAM and you can view details about the resource’s CIDR.

", + "smithy.api#required": {} } - }, + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#ModifyIpamResourceCidrResult": { + "type": "structure", + "members": { + "IpamResourceCidr": { + "target": "com.amazonaws.ec2#IpamResourceCidr", + "traits": { + "aws.protocols#ec2QueryName": "IpamResourceCidr", + "smithy.api#documentation": "

The CIDR of the resource.

", + "smithy.api#xmlName": "ipamResourceCidr" + } + } + } + }, + "com.amazonaws.ec2#ModifyIpamResourceDiscovery": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyIpamResourceDiscoveryRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ModifyIpamResourceDiscoveryResult" + }, + "traits": { + "smithy.api#documentation": "

Modifies a resource discovery. A resource discovery is an IPAM component that enables IPAM Service to manage and monitor resources that belong to the owning account.

" + } + }, + "com.amazonaws.ec2#ModifyIpamResourceDiscoveryRequest": { + "type": "structure", + "members": { "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - } - }, - "SecurityGroupIds": { - "target": "com.amazonaws.ec2#ClientVpnSecurityGroupIdSet", - "traits": { - "smithy.api#documentation": "

The IDs of one or more security groups to apply to the target network.

", - "smithy.api#xmlName": "SecurityGroupId" + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "VpcId": { - "target": "com.amazonaws.ec2#VpcId", + "IpamResourceDiscoveryId": { + "target": "com.amazonaws.ec2#IpamResourceDiscoveryId", "traits": { - "smithy.api#documentation": "

The ID of the VPC to associate with the Client VPN endpoint.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

A resource discovery ID.

", + "smithy.api#required": {} } }, - "SelfServicePortal": { - "target": "com.amazonaws.ec2#SelfServicePortal", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

Specify whether to enable the self-service portal for the Client VPN endpoint.

" + "smithy.api#documentation": "

A resource discovery description.

" } }, - "ClientConnectOptions": { - "target": "com.amazonaws.ec2#ClientConnectOptions", + "AddOperatingRegions": { + "target": "com.amazonaws.ec2#AddIpamOperatingRegionSet", "traits": { - "smithy.api#documentation": "

The options for managing connection authorization for new client connections.

" + "smithy.api#documentation": "

Add operating Regions to the resource discovery. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

", + "smithy.api#xmlName": "AddOperatingRegion" } }, - "SessionTimeoutHours": { - "target": "com.amazonaws.ec2#Integer", + "RemoveOperatingRegions": { + "target": "com.amazonaws.ec2#RemoveIpamOperatingRegionSet", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum VPN session duration time in hours.

\n\t\t

Valid values: 8 | 10 | 12 | 24\n

\n\t\t

Default value: 24\n

" + "smithy.api#documentation": "

Remove operating Regions.

", + "smithy.api#xmlName": "RemoveOperatingRegion" } - }, - "ClientLoginBannerOptions": { - "target": "com.amazonaws.ec2#ClientLoginBannerOptions", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#ModifyIpamResourceDiscoveryResult": { + "type": "structure", + "members": { + "IpamResourceDiscovery": { + "target": "com.amazonaws.ec2#IpamResourceDiscovery", "traits": { - "smithy.api#documentation": "

Options for enabling a customizable text banner that will be displayed on\n\t\t\tAmazon Web Services provided clients when a VPN session is established.

" + "aws.protocols#ec2QueryName": "IpamResourceDiscovery", + "smithy.api#documentation": "

A resource discovery.

", + "smithy.api#xmlName": "ipamResourceDiscovery" } } } }, - "com.amazonaws.ec2#ModifyClientVpnEndpointResult": { + "com.amazonaws.ec2#ModifyIpamResult": { "type": "structure", "members": { - "Return": { - "target": "com.amazonaws.ec2#Boolean", + "Ipam": { + "target": "com.amazonaws.ec2#Ipam", "traits": { - "aws.protocols#ec2QueryName": "Return", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "smithy.api#xmlName": "return" + "aws.protocols#ec2QueryName": "Ipam", + "smithy.api#documentation": "

The results of the modification.

", + "smithy.api#xmlName": "ipam" } } } }, - "com.amazonaws.ec2#ModifyDefaultCreditSpecification": { + "com.amazonaws.ec2#ModifyIpamScope": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyDefaultCreditSpecificationRequest" + "target": "com.amazonaws.ec2#ModifyIpamScopeRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifyDefaultCreditSpecificationResult" + "target": "com.amazonaws.ec2#ModifyIpamScopeResult" }, "traits": { - "smithy.api#documentation": "

Modifies the default credit option for CPU usage of burstable performance instances.\n The default credit option is set at the account level per Amazon Web Services Region, and\n is specified per instance family. All new burstable performance instances in the account\n launch using the default credit option.

\n

\n ModifyDefaultCreditSpecification is an asynchronous operation, which\n works at an Amazon Web Services Region level and modifies the credit option for each\n Availability Zone. All zones in a Region are updated within five minutes. But if\n instances are launched during this operation, they might not get the new credit option\n until the zone is updated. To verify whether the update has occurred, you can call\n GetDefaultCreditSpecification and check\n DefaultCreditSpecification for updates.

\n

For more information, see Burstable\n performance instances in the Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Modify an IPAM scope.

" } }, - "com.amazonaws.ec2#ModifyDefaultCreditSpecificationRequest": { + "com.amazonaws.ec2#ModifyIpamScopeRequest": { "type": "structure", "members": { "DryRun": { @@ -62378,172 +67823,189 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "InstanceFamily": { - "target": "com.amazonaws.ec2#UnlimitedSupportedInstanceFamily", + "IpamScopeId": { + "target": "com.amazonaws.ec2#IpamScopeId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The instance family.

", + "smithy.api#documentation": "

The ID of the scope you want to modify.

", "smithy.api#required": {} } }, - "CpuCredits": { + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The credit option for CPU usage of the instance family.

\n

Valid Values: standard | unlimited\n

", - "smithy.api#required": {} + "smithy.api#documentation": "

The description of the scope you want to modify.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyDefaultCreditSpecificationResult": { + "com.amazonaws.ec2#ModifyIpamScopeResult": { "type": "structure", "members": { - "InstanceFamilyCreditSpecification": { - "target": "com.amazonaws.ec2#InstanceFamilyCreditSpecification", + "IpamScope": { + "target": "com.amazonaws.ec2#IpamScope", "traits": { - "aws.protocols#ec2QueryName": "InstanceFamilyCreditSpecification", - "smithy.api#documentation": "

The default credit option for CPU usage of the instance family.

", - "smithy.api#xmlName": "instanceFamilyCreditSpecification" + "aws.protocols#ec2QueryName": "IpamScope", + "smithy.api#documentation": "

The results of the modification.

", + "smithy.api#xmlName": "ipamScope" } } } }, - "com.amazonaws.ec2#ModifyEbsDefaultKmsKeyId": { + "com.amazonaws.ec2#ModifyLaunchTemplate": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyEbsDefaultKmsKeyIdRequest" + "target": "com.amazonaws.ec2#ModifyLaunchTemplateRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifyEbsDefaultKmsKeyIdResult" + "target": "com.amazonaws.ec2#ModifyLaunchTemplateResult" }, "traits": { - "smithy.api#documentation": "

Changes the default KMS key for EBS encryption by default for your account in this Region.

\n \t

Amazon Web Services creates a unique Amazon Web Services managed KMS key in each Region for use with encryption by default. If\n you change the default KMS key to a symmetric customer managed KMS key, it is used instead of the Amazon Web Services\n managed KMS key. To reset the default KMS key to the Amazon Web Services managed KMS key for EBS, use ResetEbsDefaultKmsKeyId. Amazon EBS does not support asymmetric KMS keys.

\n

If you delete or disable the customer managed KMS key that you specified for use with\n encryption by default, your instances will fail to launch.

\n

For more information, see Amazon EBS encryption\n in the Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Modifies a launch template. You can specify which version of the launch template to\n set as the default version. When launching an instance, the default version applies when\n a launch template version is not specified.

" } }, - "com.amazonaws.ec2#ModifyEbsDefaultKmsKeyIdRequest": { + "com.amazonaws.ec2#ModifyLaunchTemplateRequest": { "type": "structure", "members": { - "KmsKeyId": { - "target": "com.amazonaws.ec2#KmsKeyId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption.\n If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is\n specified, the encrypted state must be true.

\n

You can specify the KMS key using any of the following:

\n
    \n
  • \n

    Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

    \n
  • \n
  • \n

    Key alias. For example, alias/ExampleAlias.

    \n
  • \n
  • \n

    Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

    \n
  • \n
  • \n

    Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

    \n
  • \n
\n

Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, \n the action can appear to complete, but eventually fails.

\n

Amazon EBS does not support asymmetric KMS keys.

", - "smithy.api#required": {} - } - }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the\n request. For more information, see Ensuring\n idempotency.

\n

Constraint: Maximum 128 ASCII characters.

" + } + }, + "LaunchTemplateId": { + "target": "com.amazonaws.ec2#LaunchTemplateId", + "traits": { + "smithy.api#documentation": "

The ID of the launch template.

\n

You must specify either the LaunchTemplateId or the\n LaunchTemplateName, but not both.

" + } + }, + "LaunchTemplateName": { + "target": "com.amazonaws.ec2#LaunchTemplateName", + "traits": { + "smithy.api#documentation": "

The name of the launch template.

\n

You must specify either the LaunchTemplateName or the\n LaunchTemplateId, but not both.

" + } + }, + "DefaultVersion": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The version number of the launch template to set as the default version.

", + "smithy.api#xmlName": "SetDefaultVersion" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyEbsDefaultKmsKeyIdResult": { + "com.amazonaws.ec2#ModifyLaunchTemplateResult": { "type": "structure", "members": { - "KmsKeyId": { - "target": "com.amazonaws.ec2#String", + "LaunchTemplate": { + "target": "com.amazonaws.ec2#LaunchTemplate", "traits": { - "aws.protocols#ec2QueryName": "KmsKeyId", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the default KMS key for encryption by default.

", - "smithy.api#xmlName": "kmsKeyId" + "aws.protocols#ec2QueryName": "LaunchTemplate", + "smithy.api#documentation": "

Information about the launch template.

", + "smithy.api#xmlName": "launchTemplate" } } } }, - "com.amazonaws.ec2#ModifyFleet": { + "com.amazonaws.ec2#ModifyLocalGatewayRoute": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyFleetRequest" + "target": "com.amazonaws.ec2#ModifyLocalGatewayRouteRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifyFleetResult" + "target": "com.amazonaws.ec2#ModifyLocalGatewayRouteResult" }, "traits": { - "smithy.api#documentation": "

Modifies the specified EC2 Fleet.

\n

You can only modify an EC2 Fleet request of type maintain.

\n

While the EC2 Fleet is being modified, it is in the modifying state.

\n

To scale up your EC2 Fleet, increase its target capacity. The EC2 Fleet launches the additional\n Spot Instances according to the allocation strategy for the EC2 Fleet request. If the allocation\n strategy is lowest-price, the EC2 Fleet launches instances using the Spot Instance\n pool with the lowest price. If the allocation strategy is diversified, the\n EC2 Fleet distributes the instances across the Spot Instance pools. If the allocation strategy\n is capacity-optimized, EC2 Fleet launches instances from Spot Instance pools with optimal\n capacity for the number of instances that are launching.

\n

To scale down your EC2 Fleet, decrease its target capacity. First, the EC2 Fleet cancels any open\n requests that exceed the new target capacity. You can request that the EC2 Fleet terminate Spot\n Instances until the size of the fleet no longer exceeds the new target capacity. If the\n allocation strategy is lowest-price, the EC2 Fleet terminates the instances with\n the highest price per unit. If the allocation strategy is capacity-optimized,\n the EC2 Fleet terminates the instances in the Spot Instance pools that have the least available\n Spot Instance capacity. If the allocation strategy is diversified, the EC2 Fleet terminates\n instances across the Spot Instance pools. Alternatively, you can request that the EC2 Fleet keep\n the fleet at its current size, but not replace any Spot Instances that are interrupted or\n that you terminate manually.

\n

If you are finished with your EC2 Fleet for now, but will use it again later, you can set the\n target capacity to 0.

" + "smithy.api#documentation": "

Modifies the specified local gateway route.

" } }, - "com.amazonaws.ec2#ModifyFleetRequest": { + "com.amazonaws.ec2#ModifyLocalGatewayRouteRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "DestinationCidrBlock": { + "target": "com.amazonaws.ec2#String", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - }, - "ExcessCapacityTerminationPolicy": { - "target": "com.amazonaws.ec2#FleetExcessCapacityTerminationPolicy", - "traits": { - "smithy.api#documentation": "

Indicates whether running instances should be terminated if the total target capacity of\n the EC2 Fleet is decreased below the current size of the EC2 Fleet.

" - } - }, - "LaunchTemplateConfigs": { - "target": "com.amazonaws.ec2#FleetLaunchTemplateConfigListRequest", - "traits": { - "smithy.api#documentation": "

The launch template and overrides.

", - "smithy.api#xmlName": "LaunchTemplateConfig" + "smithy.api#documentation": "

The CIDR block used for destination matches. The value that you provide must match the CIDR of an existing route in the table.

", + "smithy.api#required": {} } - }, - "FleetId": { - "target": "com.amazonaws.ec2#FleetId", + }, + "LocalGatewayRouteTableId": { + "target": "com.amazonaws.ec2#LocalGatewayRoutetableId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the EC2 Fleet.

", + "smithy.api#documentation": "

The ID of the local gateway route table.

", "smithy.api#required": {} } }, - "TargetCapacitySpecification": { - "target": "com.amazonaws.ec2#TargetCapacitySpecificationRequest", + "LocalGatewayVirtualInterfaceGroupId": { + "target": "com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroupId", "traits": { - "smithy.api#documentation": "

The size of the EC2 Fleet.

" + "smithy.api#documentation": "

\n The ID of the virtual interface group.\n

" } }, - "Context": { - "target": "com.amazonaws.ec2#String", + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#NetworkInterfaceId", "traits": { - "smithy.api#documentation": "

Reserved.

" + "smithy.api#documentation": "

The ID of the network interface.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyFleetResult": { + "com.amazonaws.ec2#ModifyLocalGatewayRouteResult": { "type": "structure", "members": { - "Return": { - "target": "com.amazonaws.ec2#Boolean", + "Route": { + "target": "com.amazonaws.ec2#LocalGatewayRoute", "traits": { - "aws.protocols#ec2QueryName": "Return", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

If the request succeeds, the response returns true. If the request fails,\n no response is returned, and instead an error message is returned.

", - "smithy.api#xmlName": "return" + "aws.protocols#ec2QueryName": "Route", + "smithy.api#documentation": "

Information about the local gateway route table.

", + "smithy.api#xmlName": "route" } } } }, - "com.amazonaws.ec2#ModifyFpgaImageAttribute": { + "com.amazonaws.ec2#ModifyManagedPrefixList": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyFpgaImageAttributeRequest" + "target": "com.amazonaws.ec2#ModifyManagedPrefixListRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifyFpgaImageAttributeResult" + "target": "com.amazonaws.ec2#ModifyManagedPrefixListResult" }, "traits": { - "smithy.api#documentation": "

Modifies the specified attribute of the specified Amazon FPGA Image (AFI).

" + "smithy.api#documentation": "

Modifies the specified managed prefix list.

\n

Adding or removing entries in a prefix list creates a new version of the prefix list.\n Changing the name of the prefix list does not affect the version.

\n

If you specify a current version number that does not match the true current version\n number, the request fails.

" } }, - "com.amazonaws.ec2#ModifyFpgaImageAttributeRequest": { + "com.amazonaws.ec2#ModifyManagedPrefixListRequest": { "type": "structure", "members": { "DryRun": { @@ -62554,520 +68016,437 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "FpgaImageId": { - "target": "com.amazonaws.ec2#FpgaImageId", + "PrefixListId": { + "target": "com.amazonaws.ec2#PrefixListResourceId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the AFI.

", + "smithy.api#documentation": "

The ID of the prefix list.

", "smithy.api#required": {} } }, - "Attribute": { - "target": "com.amazonaws.ec2#FpgaImageAttributeName", - "traits": { - "smithy.api#documentation": "

The name of the attribute.

" - } - }, - "OperationType": { - "target": "com.amazonaws.ec2#OperationType", - "traits": { - "smithy.api#documentation": "

The operation type.

" - } - }, - "UserIds": { - "target": "com.amazonaws.ec2#UserIdStringList", - "traits": { - "smithy.api#documentation": "

The Amazon Web Services account IDs. This parameter is valid only when modifying the loadPermission attribute.

", - "smithy.api#xmlName": "UserId" - } - }, - "UserGroups": { - "target": "com.amazonaws.ec2#UserGroupStringList", + "CurrentVersion": { + "target": "com.amazonaws.ec2#Long", "traits": { - "smithy.api#documentation": "

The user groups. This parameter is valid only when modifying the loadPermission attribute.

", - "smithy.api#xmlName": "UserGroup" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The current version of the prefix list.

" } }, - "ProductCodes": { - "target": "com.amazonaws.ec2#ProductCodeStringList", + "PrefixListName": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The product codes. After you add a product code to an AFI, it can't be removed.\n\t\t This parameter is valid only when modifying the productCodes attribute.

", - "smithy.api#xmlName": "ProductCode" + "smithy.api#documentation": "

A name for the prefix list.

" } }, - "LoadPermission": { - "target": "com.amazonaws.ec2#LoadPermissionModifications", + "AddEntries": { + "target": "com.amazonaws.ec2#AddPrefixListEntries", "traits": { - "smithy.api#documentation": "

The load permission for the AFI.

" + "smithy.api#documentation": "

One or more entries to add to the prefix list.

", + "smithy.api#xmlName": "AddEntry" } }, - "Description": { - "target": "com.amazonaws.ec2#String", + "RemoveEntries": { + "target": "com.amazonaws.ec2#RemovePrefixListEntries", "traits": { - "smithy.api#documentation": "

A description for the AFI.

" + "smithy.api#documentation": "

One or more entries to remove from the prefix list.

", + "smithy.api#xmlName": "RemoveEntry" } }, - "Name": { - "target": "com.amazonaws.ec2#String", + "MaxEntries": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#documentation": "

A name for the AFI.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of entries for the prefix list. You cannot modify the entries \n of a prefix list and modify the size of a prefix list at the same time.

\n

If any of the resources that reference the prefix list cannot support the new\n maximum size, the modify operation fails. Check the state message for the IDs of \n the first ten resources that do not support the new maximum size.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyFpgaImageAttributeResult": { + "com.amazonaws.ec2#ModifyManagedPrefixListResult": { "type": "structure", "members": { - "FpgaImageAttribute": { - "target": "com.amazonaws.ec2#FpgaImageAttribute", + "PrefixList": { + "target": "com.amazonaws.ec2#ManagedPrefixList", "traits": { - "aws.protocols#ec2QueryName": "FpgaImageAttribute", - "smithy.api#documentation": "

Information about the attribute.

", - "smithy.api#xmlName": "fpgaImageAttribute" + "aws.protocols#ec2QueryName": "PrefixList", + "smithy.api#documentation": "

Information about the prefix list.

", + "smithy.api#xmlName": "prefixList" } } } }, - "com.amazonaws.ec2#ModifyHosts": { + "com.amazonaws.ec2#ModifyNetworkInterfaceAttribute": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyHostsRequest" + "target": "com.amazonaws.ec2#ModifyNetworkInterfaceAttributeRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifyHostsResult" + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Modify the auto-placement setting of a Dedicated Host. When auto-placement is enabled,\n any instances that you launch with a tenancy of host but without a specific\n host ID are placed onto any available Dedicated Host in your account that has\n auto-placement enabled. When auto-placement is disabled, you need to provide a host ID\n to have the instance launch onto a specific host. If no host ID is provided, the\n instance is launched onto a suitable host with auto-placement enabled.

\n

You can also use this API action to modify a Dedicated Host to support either multiple\n instance types in an instance family, or to support a specific instance type\n only.

" + "smithy.api#documentation": "

Modifies the specified network interface attribute. You can specify only one\n attribute at a time. You can use this action to attach and detach security groups from\n an existing EC2 instance.

" } }, - "com.amazonaws.ec2#ModifyHostsRequest": { + "com.amazonaws.ec2#ModifyNetworkInterfaceAttributeRequest": { "type": "structure", "members": { - "AutoPlacement": { - "target": "com.amazonaws.ec2#AutoPlacement", + "Attachment": { + "target": "com.amazonaws.ec2#NetworkInterfaceAttachmentChanges", "traits": { - "aws.protocols#ec2QueryName": "AutoPlacement", - "smithy.api#documentation": "

Specify whether to enable or disable auto-placement.

", - "smithy.api#xmlName": "autoPlacement" + "aws.protocols#ec2QueryName": "Attachment", + "smithy.api#documentation": "

Information about the interface attachment. If modifying the delete on\n\t\t\t\ttermination attribute, you must specify the ID of the interface\n\t\t\tattachment.

", + "smithy.api#xmlName": "attachment" } }, - "HostIds": { - "target": "com.amazonaws.ec2#RequestHostIdList", + "Description": { + "target": "com.amazonaws.ec2#AttributeValue", "traits": { - "aws.protocols#ec2QueryName": "HostId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IDs of the Dedicated Hosts to modify.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "hostId" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A description for the network interface.

", + "smithy.api#xmlName": "description" } }, - "HostRecovery": { - "target": "com.amazonaws.ec2#HostRecovery", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

Indicates whether to enable or disable host recovery for the Dedicated Host. For more\n information, see Host recovery\n in the Amazon EC2 User Guide.

" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "InstanceType": { - "target": "com.amazonaws.ec2#String", + "Groups": { + "target": "com.amazonaws.ec2#SecurityGroupIdStringList", "traits": { - "smithy.api#documentation": "

Specifies the instance type to be supported by the Dedicated Host. Specify this\n parameter to modify a Dedicated Host to support only a specific instance type.

\n\n

If you want to modify a Dedicated Host to support multiple instance types in its\n current instance family, omit this parameter and specify InstanceFamily instead. You cannot specify InstanceType and InstanceFamily in the\n same request.

" + "smithy.api#documentation": "

Changes the security groups for the network interface. The new set of groups you specify replaces the current set. You must specify at least one group, even if it's just the default security group in the VPC. You must specify the ID of the security group, not the name.

", + "smithy.api#xmlName": "SecurityGroupId" } }, - "InstanceFamily": { - "target": "com.amazonaws.ec2#String", + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#NetworkInterfaceId", "traits": { - "smithy.api#documentation": "

Specifies the instance family to be supported by the Dedicated Host. Specify this\n parameter to modify a Dedicated Host to support multiple instance types within its\n current instance family.

\n\n

If you want to modify a Dedicated Host to support a specific instance type only, omit\n this parameter and specify InstanceType instead. You\n cannot specify InstanceFamily and InstanceType in the same request.

" + "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the network interface.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "networkInterfaceId" } - } - } - }, - "com.amazonaws.ec2#ModifyHostsResult": { - "type": "structure", - "members": { - "Successful": { - "target": "com.amazonaws.ec2#ResponseHostIdList", + }, + "SourceDestCheck": { + "target": "com.amazonaws.ec2#AttributeBooleanValue", "traits": { - "aws.protocols#ec2QueryName": "Successful", - "smithy.api#documentation": "

The IDs of the Dedicated Hosts that were successfully modified.

", - "smithy.api#xmlName": "successful" + "aws.protocols#ec2QueryName": "SourceDestCheck", + "smithy.api#documentation": "

Enable or disable source/destination checks, which ensure that the instance\n is either the source or the destination of any traffic that it receives.\n If the value is true, source/destination checks are enabled;\n otherwise, they are disabled. The default value is true. \n You must disable source/destination checks if the instance runs services \n such as network address translation, routing, or firewalls.

", + "smithy.api#xmlName": "sourceDestCheck" } }, - "Unsuccessful": { - "target": "com.amazonaws.ec2#UnsuccessfulItemList", + "EnaSrdSpecification": { + "target": "com.amazonaws.ec2#EnaSrdSpecification", "traits": { - "aws.protocols#ec2QueryName": "Unsuccessful", - "smithy.api#documentation": "

The IDs of the Dedicated Hosts that could not be modified. Check whether the setting\n you requested can be used.

", - "smithy.api#xmlName": "unsuccessful" + "smithy.api#documentation": "

Updates the ENA Express configuration for the network interface that’s attached to the\n\t\t\tinstance.

" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for ModifyNetworkInterfaceAttribute.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyIdFormat": { + "com.amazonaws.ec2#ModifyPrivateDnsNameOptions": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyIdFormatRequest" + "target": "com.amazonaws.ec2#ModifyPrivateDnsNameOptionsRequest" }, "output": { - "target": "smithy.api#Unit" + "target": "com.amazonaws.ec2#ModifyPrivateDnsNameOptionsResult" }, "traits": { - "smithy.api#documentation": "

Modifies the ID format for the specified resource on a per-Region basis. You can\n specify that resources should receive longer IDs (17-character IDs) when they are\n created.

\n

This request can only be used to modify longer ID settings for resource types that\n are within the opt-in period. Resources currently in their opt-in period include:\n bundle | conversion-task | customer-gateway | dhcp-options |\n elastic-ip-allocation | elastic-ip-association |\n export-task | flow-log | image |\n import-task | internet-gateway | network-acl\n | network-acl-association | network-interface |\n network-interface-attachment | prefix-list |\n route-table | route-table-association |\n security-group | subnet |\n subnet-cidr-block-association | vpc |\n vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

\n

This setting applies to the IAM user who makes the request; it does not apply to the\n entire Amazon Web Services account. By default, an IAM user defaults to the same settings as the root user. If\n you're using this action as the root user, then these settings apply to the entire account,\n unless an IAM user explicitly overrides these settings for themselves. For more information,\n see Resource IDs \n in the Amazon Elastic Compute Cloud User Guide.

\n

Resources created with longer IDs are visible to all IAM roles and users, regardless\n of these settings and provided that they have permission to use the relevant\n Describe command for the resource type.

" + "smithy.api#documentation": "

Modifies the options for instance hostnames for the specified instance.

" } }, - "com.amazonaws.ec2#ModifyIdFormatRequest": { + "com.amazonaws.ec2#ModifyPrivateDnsNameOptionsRequest": { "type": "structure", "members": { - "Resource": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The type of resource: bundle | conversion-task | customer-gateway | dhcp-options |\n elastic-ip-allocation | elastic-ip-association |\n export-task | flow-log | image |\n import-task | internet-gateway | network-acl\n | network-acl-association | network-interface |\n network-interface-attachment | prefix-list |\n route-table | route-table-association |\n security-group | subnet |\n subnet-cidr-block-association | vpc |\n vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

\n

Alternatively, use the all-current option to include all resource types that are\n currently within their opt-in period for longer IDs.

", - "smithy.api#required": {} + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" } }, - "UseLongIds": { + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", + "traits": { + "smithy.api#documentation": "

The ID of the instance.

" + } + }, + "PrivateDnsHostnameType": { + "target": "com.amazonaws.ec2#HostnameType", + "traits": { + "smithy.api#documentation": "

The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name\n must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name\n must be based on the instance ID. For dual-stack subnets, you can specify whether DNS\n names use the instance IPv4 address or the instance ID.

" + } + }, + "EnableResourceNameDnsARecord": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicate whether the resource should use longer IDs (17-character IDs).

", - "smithy.api#required": {} + "smithy.api#documentation": "

Indicates whether to respond to DNS queries for instance hostnames with DNS A\n records.

" + } + }, + "EnableResourceNameDnsAAAARecord": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA\n records.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyIdentityIdFormat": { + "com.amazonaws.ec2#ModifyPrivateDnsNameOptionsResult": { + "type": "structure", + "members": { + "Return": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an\n error.

", + "smithy.api#xmlName": "return" + } + } + } + }, + "com.amazonaws.ec2#ModifyReservedInstances": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyIdentityIdFormatRequest" + "target": "com.amazonaws.ec2#ModifyReservedInstancesRequest" }, "output": { - "target": "smithy.api#Unit" + "target": "com.amazonaws.ec2#ModifyReservedInstancesResult" }, "traits": { - "smithy.api#documentation": "

Modifies the ID format of a resource for a specified IAM user, IAM role, or the root\n user for an account; or all IAM users, IAM roles, and the root user for an account. You can\n specify that resources should receive longer IDs (17-character IDs) when they are created.

\n

This request can only be used to modify longer ID settings for resource types that are\n within the opt-in period. Resources currently in their opt-in period include:\n bundle | conversion-task | customer-gateway | dhcp-options |\n elastic-ip-allocation | elastic-ip-association |\n export-task | flow-log | image |\n import-task | internet-gateway | network-acl\n | network-acl-association | network-interface |\n network-interface-attachment | prefix-list |\n route-table | route-table-association |\n security-group | subnet |\n subnet-cidr-block-association | vpc |\n vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

\n

For more information, see Resource IDs in the\n Amazon Elastic Compute Cloud User Guide.

\n

This setting applies to the principal specified in the request; it does not apply to the\n principal that makes the request.

\n

Resources created with longer IDs are visible to all IAM roles and users, regardless of these\n settings and provided that they have permission to use the relevant Describe\n command for the resource type.

" + "smithy.api#documentation": "

Modifies the configuration of your Reserved Instances, such as the Availability Zone, \n instance count, or instance type. The Reserved Instances to be modified must be identical, \n except for Availability Zone, network platform, and instance type.

\n

For more information, see Modifying Reserved\n\t\t\t\tInstances in the Amazon EC2 User Guide.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" } }, - "com.amazonaws.ec2#ModifyIdentityIdFormatRequest": { + "com.amazonaws.ec2#ModifyReservedInstancesRequest": { "type": "structure", "members": { - "PrincipalArn": { - "target": "com.amazonaws.ec2#String", + "ReservedInstancesIds": { + "target": "com.amazonaws.ec2#ReservedInstancesIdStringList", "traits": { - "aws.protocols#ec2QueryName": "PrincipalArn", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ARN of the principal, which can be an IAM user, IAM role, or the root user. Specify\n all to modify the ID format for all IAM users, IAM roles, and the root user of\n the account.

", + "smithy.api#documentation": "

The IDs of the Reserved Instances to modify.

", "smithy.api#required": {}, - "smithy.api#xmlName": "principalArn" + "smithy.api#xmlName": "ReservedInstancesId" } }, - "Resource": { + "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Resource", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The type of resource: bundle | conversion-task | customer-gateway | dhcp-options |\n elastic-ip-allocation | elastic-ip-association |\n export-task | flow-log | image |\n import-task | internet-gateway | network-acl\n | network-acl-association | network-interface |\n network-interface-attachment | prefix-list |\n route-table | route-table-association |\n security-group | subnet |\n subnet-cidr-block-association | vpc |\n vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

\n

Alternatively, use the all-current option to include all resource types that are\n currently within their opt-in period for longer IDs.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "resource" + "aws.protocols#ec2QueryName": "ClientToken", + "smithy.api#documentation": "

A unique, case-sensitive token you provide to ensure idempotency of your modification request. For more information, see \n \t\tEnsuring Idempotency.

", + "smithy.api#xmlName": "clientToken" } }, - "UseLongIds": { - "target": "com.amazonaws.ec2#Boolean", + "TargetConfigurations": { + "target": "com.amazonaws.ec2#ReservedInstancesConfigurationList", "traits": { - "aws.protocols#ec2QueryName": "UseLongIds", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the resource should use longer IDs (17-character IDs)

", + "smithy.api#documentation": "

The configuration settings for the Reserved Instances to modify.

", "smithy.api#required": {}, - "smithy.api#xmlName": "useLongIds" + "smithy.api#xmlName": "ReservedInstancesConfigurationSetItemType" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for ModifyReservedInstances.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyImageAttribute": { + "com.amazonaws.ec2#ModifyReservedInstancesResult": { + "type": "structure", + "members": { + "ReservedInstancesModificationId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ReservedInstancesModificationId", + "smithy.api#documentation": "

The ID for the modification.

", + "smithy.api#xmlName": "reservedInstancesModificationId" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of ModifyReservedInstances.

" + } + }, + "com.amazonaws.ec2#ModifySecurityGroupRules": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyImageAttributeRequest" + "target": "com.amazonaws.ec2#ModifySecurityGroupRulesRequest" }, "output": { - "target": "smithy.api#Unit" + "target": "com.amazonaws.ec2#ModifySecurityGroupRulesResult" }, "traits": { - "smithy.api#documentation": "

Modifies the specified attribute of the specified AMI. You can specify only one attribute at a time.\n You can use the Attribute parameter to specify the attribute or one of the following parameters: \n Description or LaunchPermission.

\n \t

Images with an Amazon Web Services Marketplace product code cannot be made public.

\n

To enable the SriovNetSupport enhanced networking attribute of an image, enable SriovNetSupport on an instance \n and create an AMI from the instance.

" + "smithy.api#documentation": "

Modifies the rules of a security group.

" } }, - "com.amazonaws.ec2#ModifyImageAttributeRequest": { + "com.amazonaws.ec2#ModifySecurityGroupRulesRequest": { "type": "structure", "members": { - "Attribute": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The name of the attribute to modify.

\n

Valid values: description | launchPermission\n

" - } - }, - "Description": { - "target": "com.amazonaws.ec2#AttributeValue", - "traits": { - "smithy.api#documentation": "

A new description for the AMI.

" - } - }, - "ImageId": { - "target": "com.amazonaws.ec2#ImageId", + "GroupId": { + "target": "com.amazonaws.ec2#SecurityGroupId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the AMI.

", + "smithy.api#documentation": "

The ID of the security group.

", "smithy.api#required": {} } }, - "LaunchPermission": { - "target": "com.amazonaws.ec2#LaunchPermissionModifications", - "traits": { - "smithy.api#documentation": "

A new launch permission for the AMI.

" - } - }, - "OperationType": { - "target": "com.amazonaws.ec2#OperationType", - "traits": { - "smithy.api#documentation": "

The operation type. \n This parameter can be used only when the Attribute parameter is launchPermission.

" - } - }, - "ProductCodes": { - "target": "com.amazonaws.ec2#ProductCodeStringList", - "traits": { - "smithy.api#documentation": "

Not supported.

", - "smithy.api#xmlName": "ProductCode" - } - }, - "UserGroups": { - "target": "com.amazonaws.ec2#UserGroupStringList", - "traits": { - "smithy.api#documentation": "

The user groups. \n This parameter can be used only when the Attribute parameter is launchPermission.

", - "smithy.api#xmlName": "UserGroup" - } - }, - "UserIds": { - "target": "com.amazonaws.ec2#UserIdStringList", - "traits": { - "smithy.api#documentation": "

The Amazon Web Services account IDs. \n This parameter can be used only when the Attribute parameter is launchPermission.

", - "smithy.api#xmlName": "UserId" - } - }, - "Value": { - "target": "com.amazonaws.ec2#String", + "SecurityGroupRules": { + "target": "com.amazonaws.ec2#SecurityGroupRuleUpdateList", "traits": { - "smithy.api#documentation": "

The value of the attribute being modified. \n This parameter can be used only when the Attribute parameter is description.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

Information about the security group properties to update.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "SecurityGroupRule" } }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" - } - }, - "OrganizationArns": { - "target": "com.amazonaws.ec2#OrganizationArnStringList", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an organization. This parameter can be used only when the Attribute parameter is launchPermission.

", - "smithy.api#xmlName": "OrganizationArn" - } - }, - "OrganizationalUnitArns": { - "target": "com.amazonaws.ec2#OrganizationalUnitArnStringList", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an organizational unit (OU). This parameter can be used only when the Attribute parameter is launchPermission.

", - "smithy.api#xmlName": "OrganizationalUnitArn" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for ModifyImageAttribute.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyInstanceAttribute": { + "com.amazonaws.ec2#ModifySecurityGroupRulesResult": { + "type": "structure", + "members": { + "Return": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, returns an error.

", + "smithy.api#xmlName": "return" + } + } + } + }, + "com.amazonaws.ec2#ModifySnapshotAttribute": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyInstanceAttributeRequest" + "target": "com.amazonaws.ec2#ModifySnapshotAttributeRequest" }, "output": { "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Modifies the specified attribute of the specified instance. You can specify only one\n attribute at a time.

\n

\n Note: Using this action to change the security groups\n associated with an elastic network interface (ENI) attached to an instance in a VPC can\n result in an error if the instance has more than one ENI. To change the security groups\n associated with an ENI attached to an instance that has multiple ENIs, we recommend that\n you use the ModifyNetworkInterfaceAttribute action.

\n

To modify some attributes, the instance must be stopped. For more information, see\n Modify a stopped instance in the\n Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Adds or removes permission settings for the specified snapshot. You may add or remove\n specified Amazon Web Services account IDs from a snapshot's list of create volume permissions, but you cannot\n do both in a single operation. If you need to both add and remove account IDs for a snapshot,\n you must use multiple operations. You can make up to 500 modifications to a snapshot in a single operation.

\n

Encrypted snapshots and snapshots with Amazon Web Services Marketplace product codes cannot be made\n public. Snapshots encrypted with your default KMS key cannot be shared with other accounts.

\n

For more information about modifying snapshot permissions, see Share a snapshot in the\n Amazon Elastic Compute Cloud User Guide.

" } }, - "com.amazonaws.ec2#ModifyInstanceAttributeRequest": { + "com.amazonaws.ec2#ModifySnapshotAttributeRequest": { "type": "structure", "members": { - "SourceDestCheck": { - "target": "com.amazonaws.ec2#AttributeBooleanValue", - "traits": { - "smithy.api#documentation": "

Enable or disable source/destination checks, which ensure that the instance is either\n the source or the destination of any traffic that it receives. If the value is\n true, source/destination checks are enabled; otherwise, they are\n disabled. The default value is true. You must disable source/destination\n checks if the instance runs services such as network address translation, routing, or\n firewalls.

" - } - }, "Attribute": { - "target": "com.amazonaws.ec2#InstanceAttributeName", - "traits": { - "aws.protocols#ec2QueryName": "Attribute", - "smithy.api#documentation": "

The name of the attribute to modify.

\n \n

You can modify the following attributes only: disableApiTermination |\n instanceType | kernel | ramdisk |\n instanceInitiatedShutdownBehavior | blockDeviceMapping\n | userData | sourceDestCheck | groupSet |\n ebsOptimized | sriovNetSupport |\n enaSupport | nvmeSupport | disableApiStop\n | enclaveOptions\n

\n
", - "smithy.api#xmlName": "attribute" - } - }, - "BlockDeviceMappings": { - "target": "com.amazonaws.ec2#InstanceBlockDeviceMappingSpecificationList", - "traits": { - "aws.protocols#ec2QueryName": "BlockDeviceMapping", - "smithy.api#documentation": "

Modifies the DeleteOnTermination attribute for volumes that are currently\n attached. The volume must be owned by the caller. If no value is specified for\n DeleteOnTermination, the default is true and the volume is\n deleted when the instance is terminated.

\n

To add instance store volumes to an Amazon EBS-backed instance, you must add them when\n you launch the instance. For more information, see Update the block device mapping when launching an instance in the\n Amazon EC2 User Guide.

", - "smithy.api#xmlName": "blockDeviceMapping" - } - }, - "DisableApiTermination": { - "target": "com.amazonaws.ec2#AttributeBooleanValue", - "traits": { - "aws.protocols#ec2QueryName": "DisableApiTermination", - "smithy.api#documentation": "

If the value is true, you can't terminate the instance using the Amazon\n EC2 console, CLI, or API; otherwise, you can. You cannot use this parameter for Spot\n Instances.

", - "smithy.api#xmlName": "disableApiTermination" - } - }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" - } - }, - "EbsOptimized": { - "target": "com.amazonaws.ec2#AttributeBooleanValue", - "traits": { - "aws.protocols#ec2QueryName": "EbsOptimized", - "smithy.api#documentation": "

Specifies whether the instance is optimized for Amazon EBS I/O. This optimization\n provides dedicated throughput to Amazon EBS and an optimized configuration stack to\n provide optimal EBS I/O performance. This optimization isn't available with all instance\n types. Additional usage charges apply when using an EBS Optimized instance.

", - "smithy.api#xmlName": "ebsOptimized" - } - }, - "EnaSupport": { - "target": "com.amazonaws.ec2#AttributeBooleanValue", - "traits": { - "aws.protocols#ec2QueryName": "EnaSupport", - "smithy.api#documentation": "

Set to true to enable enhanced networking with ENA for the\n instance.

\n

This option is supported only for HVM instances. Specifying this option with a PV\n instance can make it unreachable.

", - "smithy.api#xmlName": "enaSupport" - } - }, - "Groups": { - "target": "com.amazonaws.ec2#GroupIdStringList", - "traits": { - "smithy.api#documentation": "

[EC2-VPC] Replaces the security groups of the instance with the specified security\n groups. You must specify at least one security group, even if it's just the default\n security group for the VPC. You must specify the security group ID, not the security\n group name.

", - "smithy.api#xmlName": "GroupId" - } - }, - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", - "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the instance.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "instanceId" - } - }, - "InstanceInitiatedShutdownBehavior": { - "target": "com.amazonaws.ec2#AttributeValue", - "traits": { - "aws.protocols#ec2QueryName": "InstanceInitiatedShutdownBehavior", - "smithy.api#documentation": "

Specifies whether an instance stops or terminates when you initiate shutdown from the\n instance (using the operating system command for system shutdown).

", - "smithy.api#xmlName": "instanceInitiatedShutdownBehavior" - } - }, - "InstanceType": { - "target": "com.amazonaws.ec2#AttributeValue", + "target": "com.amazonaws.ec2#SnapshotAttributeName", "traits": { - "aws.protocols#ec2QueryName": "InstanceType", - "smithy.api#documentation": "

Changes the instance type to the specified value. For more information, see Instance\n types in the Amazon EC2 User Guide. If the instance type is\n not valid, the error returned is InvalidInstanceAttributeValue.

", - "smithy.api#xmlName": "instanceType" + "smithy.api#documentation": "

The snapshot attribute to modify. Only volume creation permissions can be modified.

" } }, - "Kernel": { - "target": "com.amazonaws.ec2#AttributeValue", + "CreateVolumePermission": { + "target": "com.amazonaws.ec2#CreateVolumePermissionModifications", "traits": { - "aws.protocols#ec2QueryName": "Kernel", - "smithy.api#documentation": "

Changes the instance's kernel to the specified value. We recommend that you use\n PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

", - "smithy.api#xmlName": "kernel" + "smithy.api#documentation": "

A JSON representation of the snapshot attribute modification.

" } }, - "Ramdisk": { - "target": "com.amazonaws.ec2#AttributeValue", + "GroupNames": { + "target": "com.amazonaws.ec2#GroupNameStringList", "traits": { - "aws.protocols#ec2QueryName": "Ramdisk", - "smithy.api#documentation": "

Changes the instance's RAM disk to the specified value. We recommend that you use\n PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

", - "smithy.api#xmlName": "ramdisk" + "smithy.api#documentation": "

The group to modify for the snapshot.

", + "smithy.api#xmlName": "UserGroup" } }, - "SriovNetSupport": { - "target": "com.amazonaws.ec2#AttributeValue", + "OperationType": { + "target": "com.amazonaws.ec2#OperationType", "traits": { - "aws.protocols#ec2QueryName": "SriovNetSupport", - "smithy.api#documentation": "

Set to simple to enable enhanced networking with the Intel 82599 Virtual\n Function interface for the instance.

\n

There is no way to disable enhanced networking with the Intel 82599 Virtual Function\n interface at this time.

\n

This option is supported only for HVM instances. Specifying this option with a PV\n instance can make it unreachable.

", - "smithy.api#xmlName": "sriovNetSupport" + "smithy.api#documentation": "

The type of operation to perform to the attribute.

" } }, - "UserData": { - "target": "com.amazonaws.ec2#BlobAttributeValue", + "SnapshotId": { + "target": "com.amazonaws.ec2#SnapshotId", "traits": { - "aws.protocols#ec2QueryName": "UserData", - "smithy.api#documentation": "

Changes the instance's user data to the specified value. If you are using an Amazon Web Services SDK or command line tool, base64-encoding is performed for you, and you\n can load the text from a file. Otherwise, you must provide base64-encoded text.

", - "smithy.api#xmlName": "userData" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the snapshot.

", + "smithy.api#required": {} } }, - "Value": { - "target": "com.amazonaws.ec2#String", + "UserIds": { + "target": "com.amazonaws.ec2#UserIdStringList", "traits": { - "aws.protocols#ec2QueryName": "Value", - "smithy.api#documentation": "

A new value for the attribute. Use only with the kernel,\n ramdisk, userData, disableApiTermination, or\n instanceInitiatedShutdownBehavior attribute.

", - "smithy.api#xmlName": "value" + "smithy.api#documentation": "

The account ID to modify for the snapshot.

", + "smithy.api#xmlName": "UserId" } }, - "DisableApiStop": { - "target": "com.amazonaws.ec2#AttributeBooleanValue", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

Indicates whether an instance is enabled for stop protection. For more information,\n see Stop\n Protection.

\n

" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyInstanceCapacityReservationAttributes": { + "com.amazonaws.ec2#ModifySnapshotTier": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyInstanceCapacityReservationAttributesRequest" + "target": "com.amazonaws.ec2#ModifySnapshotTierRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifyInstanceCapacityReservationAttributesResult" + "target": "com.amazonaws.ec2#ModifySnapshotTierResult" }, "traits": { - "smithy.api#documentation": "

Modifies the Capacity Reservation settings for a stopped instance. Use this action to configure an\n\t\t\tinstance to target a specific Capacity Reservation, run in any open Capacity Reservation with matching\n\t\t\tattributes, or run On-Demand Instance capacity.

" + "smithy.api#documentation": "

Archives an Amazon EBS snapshot. When you archive a snapshot, it is converted to a full \n snapshot that includes all of the blocks of data that were written to the volume at the \n time the snapshot was created, and moved from the standard tier to the archive \n tier. For more information, see Archive Amazon EBS snapshots \n in the Amazon Elastic Compute Cloud User Guide.

" } }, - "com.amazonaws.ec2#ModifyInstanceCapacityReservationAttributesRequest": { + "com.amazonaws.ec2#ModifySnapshotTierRequest": { "type": "structure", "members": { - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", + "SnapshotId": { + "target": "com.amazonaws.ec2#SnapshotId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the instance to be modified.

", + "smithy.api#documentation": "

The ID of the snapshot.

", "smithy.api#required": {} } }, - "CapacityReservationSpecification": { - "target": "com.amazonaws.ec2#CapacityReservationSpecification", + "StorageTier": { + "target": "com.amazonaws.ec2#TargetStorageTier", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

Information about the Capacity Reservation targeting option.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The name of the storage tier. You must specify archive.

" } }, "DryRun": { @@ -63075,241 +68454,365 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyInstanceCapacityReservationAttributesResult": { + "com.amazonaws.ec2#ModifySnapshotTierResult": { "type": "structure", "members": { - "Return": { - "target": "com.amazonaws.ec2#Boolean", + "SnapshotId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Return", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "smithy.api#xmlName": "return" + "aws.protocols#ec2QueryName": "SnapshotId", + "smithy.api#documentation": "

The ID of the snapshot.

", + "smithy.api#xmlName": "snapshotId" + } + }, + "TieringStartTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "TieringStartTime", + "smithy.api#documentation": "

The date and time when the archive process was started.

", + "smithy.api#xmlName": "tieringStartTime" } } } }, - "com.amazonaws.ec2#ModifyInstanceCreditSpecification": { + "com.amazonaws.ec2#ModifySpotFleetRequest": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyInstanceCreditSpecificationRequest" + "target": "com.amazonaws.ec2#ModifySpotFleetRequestRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifyInstanceCreditSpecificationResult" + "target": "com.amazonaws.ec2#ModifySpotFleetRequestResponse" }, "traits": { - "smithy.api#documentation": "

Modifies the credit option for CPU usage on a running or stopped burstable performance\n instance. The credit options are standard and\n unlimited.

\n

For more information, see Burstable\n performance instances in the Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Modifies the specified Spot Fleet request.

\n

You can only modify a Spot Fleet request of type maintain.

\n

While the Spot Fleet request is being modified, it is in the modifying\n state.

\n

To scale up your Spot Fleet, increase its target capacity. The Spot Fleet launches the\n additional Spot Instances according to the allocation strategy for the Spot Fleet\n request. If the allocation strategy is lowestPrice, the Spot Fleet launches\n instances using the Spot Instance pool with the lowest price. If the allocation strategy\n is diversified, the Spot Fleet distributes the instances across the Spot\n Instance pools. If the allocation strategy is capacityOptimized, Spot Fleet\n launches instances from Spot Instance pools with optimal capacity for the number of instances\n that are launching.

\n

To scale down your Spot Fleet, decrease its target capacity. First, the Spot Fleet\n cancels any open requests that exceed the new target capacity. You can request that the\n Spot Fleet terminate Spot Instances until the size of the fleet no longer exceeds the\n new target capacity. If the allocation strategy is lowestPrice, the Spot\n Fleet terminates the instances with the highest price per unit. If the allocation\n strategy is capacityOptimized, the Spot Fleet terminates the instances in\n the Spot Instance pools that have the least available Spot Instance capacity. If the allocation\n strategy is diversified, the Spot Fleet terminates instances across the\n Spot Instance pools. Alternatively, you can request that the Spot Fleet keep the fleet\n at its current size, but not replace any Spot Instances that are interrupted or that you\n terminate manually.

\n

If you are finished with your Spot Fleet for now, but will use it again later, you can\n set the target capacity to 0.

" } }, - "com.amazonaws.ec2#ModifyInstanceCreditSpecificationRequest": { + "com.amazonaws.ec2#ModifySpotFleetRequestRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "ExcessCapacityTerminationPolicy": { + "target": "com.amazonaws.ec2#ExcessCapacityTerminationPolicy", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "ExcessCapacityTerminationPolicy", + "smithy.api#documentation": "

Indicates whether running Spot Instances should be terminated if the target capacity\n of the Spot Fleet request is decreased below the current size of the Spot Fleet.

", + "smithy.api#xmlName": "excessCapacityTerminationPolicy" } }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", + "LaunchTemplateConfigs": { + "target": "com.amazonaws.ec2#LaunchTemplateConfigList", "traits": { - "smithy.api#documentation": "

A unique, case-sensitive token that you provide to ensure idempotency of your\n modification request. For more information, see Ensuring\n Idempotency.

" + "smithy.api#documentation": "

The launch template and overrides. You can only use this parameter if you specified a\n launch template (LaunchTemplateConfigs) in your Spot Fleet request. If you\n specified LaunchSpecifications in your Spot Fleet request, then omit this\n parameter.

", + "smithy.api#xmlName": "LaunchTemplateConfig" } }, - "InstanceCreditSpecifications": { - "target": "com.amazonaws.ec2#InstanceCreditSpecificationListRequest", + "SpotFleetRequestId": { + "target": "com.amazonaws.ec2#SpotFleetRequestId", "traits": { + "aws.protocols#ec2QueryName": "SpotFleetRequestId", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

Information about the credit option for CPU usage.

", + "smithy.api#documentation": "

The ID of the Spot Fleet request.

", "smithy.api#required": {}, - "smithy.api#xmlName": "InstanceCreditSpecification" + "smithy.api#xmlName": "spotFleetRequestId" + } + }, + "TargetCapacity": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "TargetCapacity", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The size of the fleet.

", + "smithy.api#xmlName": "targetCapacity" + } + }, + "OnDemandTargetCapacity": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of On-Demand Instances in the fleet.

" + } + }, + "Context": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

Reserved.

" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for ModifySpotFleetRequest.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyInstanceCreditSpecificationResult": { + "com.amazonaws.ec2#ModifySpotFleetRequestResponse": { "type": "structure", "members": { - "SuccessfulInstanceCreditSpecifications": { - "target": "com.amazonaws.ec2#SuccessfulInstanceCreditSpecificationSet", - "traits": { - "aws.protocols#ec2QueryName": "SuccessfulInstanceCreditSpecificationSet", - "smithy.api#documentation": "

Information about the instances whose credit option for CPU usage was successfully\n modified.

", - "smithy.api#xmlName": "successfulInstanceCreditSpecificationSet" - } - }, - "UnsuccessfulInstanceCreditSpecifications": { - "target": "com.amazonaws.ec2#UnsuccessfulInstanceCreditSpecificationSet", + "Return": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "UnsuccessfulInstanceCreditSpecificationSet", - "smithy.api#documentation": "

Information about the instances whose credit option for CPU usage was not\n modified.

", - "smithy.api#xmlName": "unsuccessfulInstanceCreditSpecificationSet" + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

If the request succeeds, the response returns true. If the request fails,\n no response is returned, and instead an error message is returned.

", + "smithy.api#xmlName": "return" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of ModifySpotFleetRequest.

", + "smithy.api#output": {} } }, - "com.amazonaws.ec2#ModifyInstanceEventStartTime": { + "com.amazonaws.ec2#ModifySubnetAttribute": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyInstanceEventStartTimeRequest" + "target": "com.amazonaws.ec2#ModifySubnetAttributeRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifyInstanceEventStartTimeResult" + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Modifies the start time for a scheduled Amazon EC2 instance event.

" + "smithy.api#documentation": "

Modifies a subnet attribute. You can only modify one attribute at a time.

\n

Use this action to modify subnets on Amazon Web Services Outposts.

\n
    \n
  • \n

    To modify a subnet on an Outpost rack, set both\n MapCustomerOwnedIpOnLaunch and\n CustomerOwnedIpv4Pool. These two parameters act as a single\n attribute.

    \n
  • \n
  • \n

    To modify a subnet on an Outpost server, set either\n EnableLniAtDeviceIndex or\n DisableLniAtDeviceIndex.

    \n
  • \n
\n

For more information about Amazon Web Services Outposts, see the following:

\n " } }, - "com.amazonaws.ec2#ModifyInstanceEventStartTimeRequest": { + "com.amazonaws.ec2#ModifySubnetAttributeRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "AssignIpv6AddressOnCreation": { + "target": "com.amazonaws.ec2#AttributeBooleanValue", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Specify true to indicate that network interfaces created in the\n specified subnet should be assigned an IPv6 address. This includes a network interface\n that's created when launching an instance into the subnet (the instance therefore\n receives an IPv6 address).

\n

If you enable the IPv6 addressing feature for your subnet, your network interface\n or instance only receives an IPv6 address if it's created using version\n 2016-11-15 or later of the Amazon EC2 API.

" } }, - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", + "MapPublicIpOnLaunch": { + "target": "com.amazonaws.ec2#AttributeBooleanValue", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the instance with the scheduled event.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Specify true to indicate that network interfaces attached to instances created in the\n specified subnet should be assigned a public IPv4 address.

" } }, - "InstanceEventId": { - "target": "com.amazonaws.ec2#String", + "SubnetId": { + "target": "com.amazonaws.ec2#SubnetId", "traits": { + "aws.protocols#ec2QueryName": "SubnetId", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the event whose date and time you are modifying.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The ID of the subnet.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "subnetId" } }, - "NotBefore": { - "target": "com.amazonaws.ec2#DateTime", + "MapCustomerOwnedIpOnLaunch": { + "target": "com.amazonaws.ec2#AttributeBooleanValue", + "traits": { + "smithy.api#documentation": "

Specify true to indicate that network interfaces attached to instances created in the\n specified subnet should be assigned a customer-owned IPv4 address.

\n

When this value is true, you must specify the customer-owned IP pool using CustomerOwnedIpv4Pool.

" + } + }, + "CustomerOwnedIpv4Pool": { + "target": "com.amazonaws.ec2#CoipPoolId", + "traits": { + "smithy.api#documentation": "

The customer-owned IPv4 address pool associated with the subnet.

\n

You must set this value when you specify true for MapCustomerOwnedIpOnLaunch.

" + } + }, + "EnableDns64": { + "target": "com.amazonaws.ec2#AttributeBooleanValue", + "traits": { + "smithy.api#documentation": "

Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet \n should return synthetic IPv6 addresses for IPv4-only destinations.

" + } + }, + "PrivateDnsHostnameTypeOnLaunch": { + "target": "com.amazonaws.ec2#HostnameType", + "traits": { + "smithy.api#documentation": "

The type of hostname to assign to instances in the subnet at launch. For IPv4-only and dual-stack (IPv4 and IPv6) subnets, an\n instance DNS name can be based on the instance IPv4 address (ip-name) or the instance ID (resource-name). For IPv6 only subnets, an instance\n DNS name must be based on the instance ID (resource-name).

" + } + }, + "EnableResourceNameDnsARecordOnLaunch": { + "target": "com.amazonaws.ec2#AttributeBooleanValue", + "traits": { + "smithy.api#documentation": "

Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

" + } + }, + "EnableResourceNameDnsAAAARecordOnLaunch": { + "target": "com.amazonaws.ec2#AttributeBooleanValue", + "traits": { + "smithy.api#documentation": "

Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

" + } + }, + "EnableLniAtDeviceIndex": { + "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The new date and time when the event will take place.

", - "smithy.api#required": {} + "smithy.api#default": 0, + "smithy.api#documentation": "

\n Indicates the device position for local network interfaces in this subnet. For example, \n 1 indicates local network interfaces in this subnet are the secondary \n network interface (eth1). A local network interface cannot be the primary network\n interface (eth0).\n

" } - } - } - }, - "com.amazonaws.ec2#ModifyInstanceEventStartTimeResult": { - "type": "structure", - "members": { - "Event": { - "target": "com.amazonaws.ec2#InstanceStatusEvent", + }, + "DisableLniAtDeviceIndex": { + "target": "com.amazonaws.ec2#AttributeBooleanValue", "traits": { - "aws.protocols#ec2QueryName": "Event", - "smithy.api#documentation": "

Information about the event.

", - "smithy.api#xmlName": "event" + "smithy.api#documentation": "

\n Specify true to indicate that local network interfaces at the current \n position should be disabled. \n

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyInstanceEventWindow": { + "com.amazonaws.ec2#ModifyTrafficMirrorFilterNetworkServices": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyInstanceEventWindowRequest" + "target": "com.amazonaws.ec2#ModifyTrafficMirrorFilterNetworkServicesRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifyInstanceEventWindowResult" + "target": "com.amazonaws.ec2#ModifyTrafficMirrorFilterNetworkServicesResult" }, "traits": { - "smithy.api#documentation": "

Modifies the specified event window.

\n

You can define either a set of time ranges or a cron expression when modifying the event\n window, but not both.

\n

To modify the targets associated with the event window, use the AssociateInstanceEventWindow and DisassociateInstanceEventWindow API.

\n

If Amazon Web Services has already scheduled an event, modifying an event window won't change the time\n of the scheduled event.

\n

For more information, see Define event windows for scheduled\n events in the Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Allows or restricts mirroring network services.

\n

By default, Amazon DNS network services are not eligible for Traffic Mirror. Use AddNetworkServices to add network services to a Traffic Mirror filter. When a network service is added to the Traffic Mirror filter, all traffic related to that network service will be mirrored.\n When you no longer want to mirror network services, use RemoveNetworkServices to remove the network services from the Traffic Mirror filter.\n

" } }, - "com.amazonaws.ec2#ModifyInstanceEventWindowRequest": { + "com.amazonaws.ec2#ModifyTrafficMirrorFilterNetworkServicesRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "TrafficMirrorFilterId": { + "target": "com.amazonaws.ec2#TrafficMirrorFilterId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - }, - "Name": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The name of the event window.

" + "smithy.api#documentation": "

The ID of the Traffic Mirror filter.

", + "smithy.api#required": {} } }, - "InstanceEventWindowId": { - "target": "com.amazonaws.ec2#InstanceEventWindowId", + "AddNetworkServices": { + "target": "com.amazonaws.ec2#TrafficMirrorNetworkServiceList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the event window.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The network service, for example Amazon DNS, that you want to mirror.

", + "smithy.api#xmlName": "AddNetworkService" } }, - "TimeRanges": { - "target": "com.amazonaws.ec2#InstanceEventWindowTimeRangeRequestSet", + "RemoveNetworkServices": { + "target": "com.amazonaws.ec2#TrafficMirrorNetworkServiceList", "traits": { - "smithy.api#documentation": "

The time ranges of the event window.

", - "smithy.api#xmlName": "TimeRange" + "smithy.api#documentation": "

The network service, for example Amazon DNS, that you no longer want to mirror.

", + "smithy.api#xmlName": "RemoveNetworkService" } }, - "CronExpression": { - "target": "com.amazonaws.ec2#InstanceEventWindowCronExpression", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The cron expression of the event window, for example, * 0-4,20-23 * * 1,5.

\n

Constraints:

\n
    \n
  • \n

    Only hour and day of the week values are supported.

    \n
  • \n
  • \n

    For day of the week values, you can specify either integers 0 through\n 6, or alternative single values SUN through\n SAT.

    \n
  • \n
  • \n

    The minute, month, and year must be specified by *.

    \n
  • \n
  • \n

    The hour value must be one or a multiple range, for example, 0-4 or\n 0-4,20-23.

    \n
  • \n
  • \n

    Each hour range must be >= 2 hours, for example, 0-2 or\n 20-23.

    \n
  • \n
  • \n

    The event window must be >= 4 hours. The combined total time ranges in the event\n window must be >= 4 hours.

    \n
  • \n
\n

For more information about cron expressions, see cron on the Wikipedia\n website.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyInstanceEventWindowResult": { + "com.amazonaws.ec2#ModifyTrafficMirrorFilterNetworkServicesResult": { "type": "structure", "members": { - "InstanceEventWindow": { - "target": "com.amazonaws.ec2#InstanceEventWindow", + "TrafficMirrorFilter": { + "target": "com.amazonaws.ec2#TrafficMirrorFilter", "traits": { - "aws.protocols#ec2QueryName": "InstanceEventWindow", - "smithy.api#documentation": "

Information about the event window.

", - "smithy.api#xmlName": "instanceEventWindow" + "aws.protocols#ec2QueryName": "TrafficMirrorFilter", + "smithy.api#documentation": "

The Traffic Mirror filter that the network service is associated with.

", + "smithy.api#xmlName": "trafficMirrorFilter" } } } }, - "com.amazonaws.ec2#ModifyInstanceMaintenanceOptions": { + "com.amazonaws.ec2#ModifyTrafficMirrorFilterRule": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyInstanceMaintenanceOptionsRequest" + "target": "com.amazonaws.ec2#ModifyTrafficMirrorFilterRuleRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifyInstanceMaintenanceOptionsResult" + "target": "com.amazonaws.ec2#ModifyTrafficMirrorFilterRuleResult" }, "traits": { - "smithy.api#documentation": "

Modifies the recovery behavior of your instance to disable simplified automatic\n recovery or set the recovery behavior to default. The default configuration will not\n enable simplified automatic recovery for an unsupported instance type. For more\n information, see Simplified automatic recovery.

" + "smithy.api#documentation": "

Modifies the specified Traffic Mirror rule.

\n

\n DestinationCidrBlock and SourceCidrBlock must both be an IPv4\n range or an IPv6 range.

" } }, - "com.amazonaws.ec2#ModifyInstanceMaintenanceOptionsRequest": { + "com.amazonaws.ec2#ModifyTrafficMirrorFilterRuleRequest": { "type": "structure", "members": { - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", + "TrafficMirrorFilterRuleId": { + "target": "com.amazonaws.ec2#TrafficMirrorFilterRuleId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the instance.

", + "smithy.api#documentation": "

The ID of the Traffic Mirror rule.

", "smithy.api#required": {} } }, - "AutoRecovery": { - "target": "com.amazonaws.ec2#InstanceAutoRecoveryState", + "TrafficDirection": { + "target": "com.amazonaws.ec2#TrafficDirection", "traits": { - "smithy.api#documentation": "

Disables the automatic recovery behavior of your instance or sets it to\n default.

" + "smithy.api#documentation": "

The type of traffic to assign to the rule.

" + } + }, + "RuleNumber": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given\n direction. The rules are processed in ascending order by rule number.

" + } + }, + "RuleAction": { + "target": "com.amazonaws.ec2#TrafficMirrorRuleAction", + "traits": { + "smithy.api#documentation": "

The action to assign to the rule.

" + } + }, + "DestinationPortRange": { + "target": "com.amazonaws.ec2#TrafficMirrorPortRangeRequest", + "traits": { + "smithy.api#documentation": "

The destination ports that are associated with the Traffic Mirror rule.

" + } + }, + "SourcePortRange": { + "target": "com.amazonaws.ec2#TrafficMirrorPortRangeRequest", + "traits": { + "smithy.api#documentation": "

The port range to assign to the Traffic Mirror rule.

" + } + }, + "Protocol": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The protocol, for example TCP, to assign to the Traffic Mirror rule.

" + } + }, + "DestinationCidrBlock": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The destination CIDR block to assign to the Traffic Mirror rule.

" + } + }, + "SourceCidrBlock": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The source CIDR block to assign to the Traffic Mirror rule.

" + } + }, + "Description": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The description to assign to the Traffic Mirror rule.

" + } + }, + "RemoveFields": { + "target": "com.amazonaws.ec2#TrafficMirrorFilterRuleFieldList", + "traits": { + "smithy.api#documentation": "

The properties that you want to remove from the Traffic Mirror filter rule.

\n

When you remove a property from a Traffic Mirror filter rule, the property is set to the default.

", + "smithy.api#xmlName": "RemoveField" } }, "DryRun": { @@ -63317,623 +68820,696 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyInstanceMaintenanceOptionsResult": { + "com.amazonaws.ec2#ModifyTrafficMirrorFilterRuleResult": { "type": "structure", "members": { - "InstanceId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#documentation": "

The ID of the instance.

", - "smithy.api#xmlName": "instanceId" - } - }, - "AutoRecovery": { - "target": "com.amazonaws.ec2#InstanceAutoRecoveryState", + "TrafficMirrorFilterRule": { + "target": "com.amazonaws.ec2#TrafficMirrorFilterRule", "traits": { - "aws.protocols#ec2QueryName": "AutoRecovery", - "smithy.api#documentation": "

Provides information on the current automatic recovery behavior of your\n instance.

", - "smithy.api#xmlName": "autoRecovery" + "aws.protocols#ec2QueryName": "TrafficMirrorFilterRule", + "smithy.api#documentation": "

Modifies a Traffic Mirror rule.

", + "smithy.api#xmlName": "trafficMirrorFilterRule" } } } }, - "com.amazonaws.ec2#ModifyInstanceMetadataOptions": { + "com.amazonaws.ec2#ModifyTrafficMirrorSession": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyInstanceMetadataOptionsRequest" + "target": "com.amazonaws.ec2#ModifyTrafficMirrorSessionRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifyInstanceMetadataOptionsResult" + "target": "com.amazonaws.ec2#ModifyTrafficMirrorSessionResult" }, "traits": { - "smithy.api#documentation": "

Modify the instance metadata parameters on a running or stopped instance. When you\n modify the parameters on a stopped instance, they are applied when the instance is\n started. When you modify the parameters on a running instance, the API responds with a\n state of β€œpending”. After the parameter modifications are successfully applied to the\n instance, the state of the modifications changes from β€œpending” to β€œapplied” in\n subsequent describe-instances API calls. For more information, see Instance metadata and user data in the\n Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Modifies a Traffic Mirror session.

" } }, - "com.amazonaws.ec2#ModifyInstanceMetadataOptionsRequest": { + "com.amazonaws.ec2#ModifyTrafficMirrorSessionRequest": { "type": "structure", "members": { - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", + "TrafficMirrorSessionId": { + "target": "com.amazonaws.ec2#TrafficMirrorSessionId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the instance.

", + "smithy.api#documentation": "

The ID of the Traffic Mirror session.

", "smithy.api#required": {} } }, - "HttpTokens": { - "target": "com.amazonaws.ec2#HttpTokensState", + "TrafficMirrorTargetId": { + "target": "com.amazonaws.ec2#TrafficMirrorTargetId", "traits": { - "smithy.api#documentation": "

The state of token usage for your instance metadata requests. If the parameter is not\n specified in the request, the default state is optional.

\n

If the state is optional, you can choose to retrieve instance metadata\n with or without a session token on your request. If you retrieve the IAM\n role credentials without a token, the version 1.0 role credentials are returned. If you\n retrieve the IAM role credentials using a valid session token, the\n version 2.0 role credentials are returned.

\n

If the state is required, you must send a session token with any instance\n metadata retrieval requests. In this state, retrieving the IAM role\n credentials always returns the version 2.0 credentials; the version 1.0 credentials are\n not available.

" + "smithy.api#documentation": "

The Traffic Mirror target. The target must be in the same VPC as the source, or have a VPC peering connection with the source.

" } }, - "HttpPutResponseHopLimit": { + "TrafficMirrorFilterId": { + "target": "com.amazonaws.ec2#TrafficMirrorFilterId", + "traits": { + "smithy.api#documentation": "

The ID of the Traffic Mirror filter.

" + } + }, + "PacketLength": { "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The desired HTTP PUT response hop limit for instance metadata requests. The larger the\n number, the further instance metadata requests can travel. If no parameter is specified,\n the existing state is maintained.

\n

Possible values: Integers from 1 to 64

" + "smithy.api#documentation": "

The number of bytes in each packet to mirror. These are bytes after the VXLAN header. To mirror a subset, set this to the length (in bytes) to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target. Do not specify this parameter when you want to mirror the entire packet.

" } }, - "HttpEndpoint": { - "target": "com.amazonaws.ec2#InstanceMetadataEndpointState", + "SessionNumber": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#documentation": "

Enables or disables the HTTP metadata endpoint on your instances. If this parameter is\n not specified, the existing state is maintained.

\n

If you specify a value of disabled, you cannot access your instance\n metadata.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

\n

Valid values are 1-32766.

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "VirtualNetworkId": { + "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" + "smithy.api#default": 0, + "smithy.api#documentation": "

The virtual network ID of the Traffic Mirror session.

" } }, - "HttpProtocolIpv6": { - "target": "com.amazonaws.ec2#InstanceMetadataProtocolState", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

Enables or disables the IPv6 endpoint for the instance metadata service. This setting\n applies only if you have enabled the HTTP metadata endpoint.

" + "smithy.api#documentation": "

The description to assign to the Traffic Mirror session.

" } }, - "InstanceMetadataTags": { - "target": "com.amazonaws.ec2#InstanceMetadataTagsState", + "RemoveFields": { + "target": "com.amazonaws.ec2#TrafficMirrorSessionFieldList", "traits": { - "smithy.api#documentation": "

Set to enabled to allow access to instance tags from the instance\n metadata. Set to disabled to turn off access to instance tags from the\n instance metadata. For more information, see Work with\n instance tags using the instance metadata.

\n

Default: disabled\n

" + "smithy.api#documentation": "

The properties that you want to remove from the Traffic Mirror session.

\n

When you remove a property from a Traffic Mirror session, the property is set to the default.

", + "smithy.api#xmlName": "RemoveField" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyInstanceMetadataOptionsResult": { + "com.amazonaws.ec2#ModifyTrafficMirrorSessionResult": { "type": "structure", "members": { - "InstanceId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#documentation": "

The ID of the instance.

", - "smithy.api#xmlName": "instanceId" - } - }, - "InstanceMetadataOptions": { - "target": "com.amazonaws.ec2#InstanceMetadataOptionsResponse", + "TrafficMirrorSession": { + "target": "com.amazonaws.ec2#TrafficMirrorSession", "traits": { - "aws.protocols#ec2QueryName": "InstanceMetadataOptions", - "smithy.api#documentation": "

The metadata options for the instance.

", - "smithy.api#xmlName": "instanceMetadataOptions" + "aws.protocols#ec2QueryName": "TrafficMirrorSession", + "smithy.api#documentation": "

Information about the Traffic Mirror session.

", + "smithy.api#xmlName": "trafficMirrorSession" } } } }, - "com.amazonaws.ec2#ModifyInstancePlacement": { + "com.amazonaws.ec2#ModifyTransitGateway": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyInstancePlacementRequest" + "target": "com.amazonaws.ec2#ModifyTransitGatewayRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifyInstancePlacementResult" + "target": "com.amazonaws.ec2#ModifyTransitGatewayResult" }, "traits": { - "smithy.api#documentation": "

Modifies the placement attributes for a specified instance. You can do the\n following:

\n
    \n
  • \n

    Modify the affinity between an instance and a Dedicated\n Host. When affinity is set to host and the instance is\n not associated with a specific Dedicated Host, the next time the instance is\n launched, it is automatically associated with the host on which it lands. If the\n instance is restarted or rebooted, this relationship persists.

    \n
  • \n
  • \n

    Change the Dedicated Host with which an instance is associated.

    \n
  • \n
  • \n

    Change the instance tenancy of an instance.

    \n
  • \n
  • \n

    Move an instance to or from a placement\n group.

    \n
  • \n
\n

At least one attribute for affinity, host ID, tenancy, or placement group name must be\n specified in the request. Affinity and tenancy can be modified in the same\n request.

\n

To modify the host ID, tenancy, placement group, or partition for an instance, the\n instance must be in the stopped state.

" + "smithy.api#documentation": "

Modifies the specified transit gateway. When you modify a transit gateway, the modified options are applied to new transit gateway attachments only. Your existing transit gateway attachments are not modified.

" } }, - "com.amazonaws.ec2#ModifyInstancePlacementRequest": { + "com.amazonaws.ec2#ModifyTransitGatewayOptions": { "type": "structure", "members": { - "Affinity": { - "target": "com.amazonaws.ec2#Affinity", + "AddTransitGatewayCidrBlocks": { + "target": "com.amazonaws.ec2#TransitGatewayCidrBlockStringList", "traits": { - "aws.protocols#ec2QueryName": "Affinity", - "smithy.api#documentation": "

The affinity setting for the instance.

", - "smithy.api#xmlName": "affinity" + "smithy.api#documentation": "

Adds IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for IPv6.

" } }, - "GroupName": { - "target": "com.amazonaws.ec2#PlacementGroupName", + "RemoveTransitGatewayCidrBlocks": { + "target": "com.amazonaws.ec2#TransitGatewayCidrBlockStringList", "traits": { - "smithy.api#documentation": "

The name of the placement group in which to place the instance. For spread placement\n groups, the instance must have a tenancy of default. For cluster and\n partition placement groups, the instance must have a tenancy of default or\n dedicated.

\n

To remove an instance from a placement group, specify an empty string (\"\").

" + "smithy.api#documentation": "

Removes CIDR blocks for the transit gateway.

" } }, - "HostId": { - "target": "com.amazonaws.ec2#DedicatedHostId", + "VpnEcmpSupport": { + "target": "com.amazonaws.ec2#VpnEcmpSupportValue", "traits": { - "aws.protocols#ec2QueryName": "HostId", - "smithy.api#documentation": "

The ID of the Dedicated Host with which to associate the instance.

", - "smithy.api#xmlName": "hostId" + "smithy.api#documentation": "

Enable or disable Equal Cost Multipath Protocol support.

" } }, - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", + "DnsSupport": { + "target": "com.amazonaws.ec2#DnsSupportValue", "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the instance that you are modifying.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "instanceId" + "smithy.api#documentation": "

Enable or disable DNS support.

" } }, - "Tenancy": { - "target": "com.amazonaws.ec2#HostTenancy", + "AutoAcceptSharedAttachments": { + "target": "com.amazonaws.ec2#AutoAcceptSharedAttachmentsValue", "traits": { - "aws.protocols#ec2QueryName": "Tenancy", - "smithy.api#documentation": "

The tenancy for the instance.

\n\n \n

For T3 instances, you can't change the tenancy from dedicated to\n host, or from host to dedicated.\n Attempting to make one of these unsupported tenancy changes results in the\n InvalidTenancy error code.

\n
", - "smithy.api#xmlName": "tenancy" + "smithy.api#documentation": "

Enable or disable automatic acceptance of attachment requests.

" } }, - "PartitionNumber": { - "target": "com.amazonaws.ec2#Integer", + "DefaultRouteTableAssociation": { + "target": "com.amazonaws.ec2#DefaultRouteTableAssociationValue", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of the partition in which to place the instance. Valid only if the\n placement group strategy is set to partition.

" + "smithy.api#documentation": "

Enable or disable automatic association with the default association route table.

" } }, - "HostResourceGroupArn": { - "target": "com.amazonaws.ec2#String", + "AssociationDefaultRouteTableId": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", "traits": { - "smithy.api#documentation": "

The ARN of the host resource group in which to place the instance.

" + "smithy.api#documentation": "

The ID of the default association route table.

" } }, - "GroupId": { - "target": "com.amazonaws.ec2#PlacementGroupId", + "DefaultRouteTablePropagation": { + "target": "com.amazonaws.ec2#DefaultRouteTablePropagationValue", "traits": { - "smithy.api#documentation": "

The Group Id of a placement group. You must specify the Placement Group Group Id to launch an instance in a shared placement\n group.

" + "smithy.api#documentation": "

Enable or disable automatic propagation of routes to the default propagation route table.

" } - } - } - }, - "com.amazonaws.ec2#ModifyInstancePlacementResult": { - "type": "structure", - "members": { - "Return": { - "target": "com.amazonaws.ec2#Boolean", + }, + "PropagationDefaultRouteTableId": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", + "traits": { + "smithy.api#documentation": "

The ID of the default propagation route table.

" + } + }, + "AmazonSideAsn": { + "target": "com.amazonaws.ec2#Long", "traits": { - "aws.protocols#ec2QueryName": "Return", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Is true if the request succeeds, and an error otherwise.

", - "smithy.api#xmlName": "return" + "smithy.api#default": 0, + "smithy.api#documentation": "

A private Autonomous System Number (ASN) for the Amazon side of a BGP session. \n The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 for 32-bit ASNs.

\n

The modify ASN operation is not allowed on a transit gateway with active BGP sessions. You must first delete all transit gateway attachments that have BGP configured prior to modifying the ASN on the transit gateway.

" } } - } - }, - "com.amazonaws.ec2#ModifyIpam": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ModifyIpamRequest" - }, - "output": { - "target": "com.amazonaws.ec2#ModifyIpamResult" }, "traits": { - "smithy.api#documentation": "

Modify the configurations of an IPAM.\n

" + "smithy.api#documentation": "

The transit gateway options.

" } }, - "com.amazonaws.ec2#ModifyIpamPool": { + "com.amazonaws.ec2#ModifyTransitGatewayPrefixListReference": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyIpamPoolRequest" + "target": "com.amazonaws.ec2#ModifyTransitGatewayPrefixListReferenceRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifyIpamPoolResult" + "target": "com.amazonaws.ec2#ModifyTransitGatewayPrefixListReferenceResult" }, "traits": { - "smithy.api#documentation": "

Modify the configurations of an IPAM pool.

\n

For more information, see Modify a pool in the Amazon VPC IPAM User Guide.\n

" + "smithy.api#documentation": "

Modifies a reference (route) to a prefix list in a specified transit gateway route table.

" } }, - "com.amazonaws.ec2#ModifyIpamPoolRequest": { + "com.amazonaws.ec2#ModifyTransitGatewayPrefixListReferenceRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "TransitGatewayRouteTableId": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The ID of the transit gateway route table.

", + "smithy.api#required": {} } }, - "IpamPoolId": { - "target": "com.amazonaws.ec2#IpamPoolId", + "PrefixListId": { + "target": "com.amazonaws.ec2#PrefixListResourceId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the IPAM pool you want to modify.

", + "smithy.api#documentation": "

The ID of the prefix list.

", "smithy.api#required": {} } }, - "Description": { - "target": "com.amazonaws.ec2#String", + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", "traits": { - "smithy.api#documentation": "

The description of the IPAM pool you want to modify.

" + "smithy.api#documentation": "

The ID of the attachment to which traffic is routed.

" } }, - "AutoImport": { + "Blackhole": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

If true, IPAM will continuously look for resources within the CIDR range of this pool \n and automatically import them as allocations into your IPAM. The CIDRs that will be allocated for\n these resources must not already be allocated to other resources in order for the import to succeed. IPAM will import \n a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be imported and subsequently \n marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM \n discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only.\n

\n

A locale must be set on the pool for this feature to work.

" - } - }, - "AllocationMinNetmaskLength": { - "target": "com.amazonaws.ec2#IpamNetmaskLength", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. Possible \n netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128. The minimum netmask \n length must be less than the maximum netmask length.

" - } - }, - "AllocationMaxNetmaskLength": { - "target": "com.amazonaws.ec2#IpamNetmaskLength", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. Possible \n netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.The maximum netmask \n length must be greater than the minimum netmask length.

" - } - }, - "AllocationDefaultNetmaskLength": { - "target": "com.amazonaws.ec2#IpamNetmaskLength", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16.

" + "smithy.api#documentation": "

Indicates whether to drop traffic that matches this route.

" } }, - "ClearAllocationDefaultNetmaskLength": { + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Clear the default netmask length allocation rule for this pool.

" - } - }, - "AddAllocationResourceTags": { - "target": "com.amazonaws.ec2#RequestIpamResourceTagList", - "traits": { - "smithy.api#documentation": "

Add tag allocation rules to a pool. For more information about allocation rules, see Create a top-level pool in the Amazon VPC IPAM User Guide.

", - "smithy.api#xmlName": "AddAllocationResourceTag" - } - }, - "RemoveAllocationResourceTags": { - "target": "com.amazonaws.ec2#RequestIpamResourceTagList", - "traits": { - "smithy.api#documentation": "

Remove tag allocation rules from a pool.

", - "smithy.api#xmlName": "RemoveAllocationResourceTag" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyIpamPoolResult": { + "com.amazonaws.ec2#ModifyTransitGatewayPrefixListReferenceResult": { "type": "structure", "members": { - "IpamPool": { - "target": "com.amazonaws.ec2#IpamPool", + "TransitGatewayPrefixListReference": { + "target": "com.amazonaws.ec2#TransitGatewayPrefixListReference", "traits": { - "aws.protocols#ec2QueryName": "IpamPool", - "smithy.api#documentation": "

The results of the modification.

", - "smithy.api#xmlName": "ipamPool" + "aws.protocols#ec2QueryName": "TransitGatewayPrefixListReference", + "smithy.api#documentation": "

Information about the prefix list reference.

", + "smithy.api#xmlName": "transitGatewayPrefixListReference" } } } }, - "com.amazonaws.ec2#ModifyIpamRequest": { + "com.amazonaws.ec2#ModifyTransitGatewayRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - }, - "IpamId": { - "target": "com.amazonaws.ec2#IpamId", + "TransitGatewayId": { + "target": "com.amazonaws.ec2#TransitGatewayId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the IPAM you want to modify.

", + "smithy.api#documentation": "

The ID of the transit gateway.

", "smithy.api#required": {} } }, "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The description of the IPAM you want to modify.

" + "smithy.api#documentation": "

The description for the transit gateway.

" } }, - "AddOperatingRegions": { - "target": "com.amazonaws.ec2#AddIpamOperatingRegionSet", + "Options": { + "target": "com.amazonaws.ec2#ModifyTransitGatewayOptions", "traits": { - "smithy.api#documentation": "

Choose the operating Regions for the IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only\n discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

\n

For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide.

", - "smithy.api#xmlName": "AddOperatingRegion" + "smithy.api#documentation": "

The options to modify.

" } }, - "RemoveOperatingRegions": { - "target": "com.amazonaws.ec2#RemoveIpamOperatingRegionSet", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The operating Regions to remove.

", - "smithy.api#xmlName": "RemoveOperatingRegion" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyIpamResourceCidr": { + "com.amazonaws.ec2#ModifyTransitGatewayResult": { + "type": "structure", + "members": { + "TransitGateway": { + "target": "com.amazonaws.ec2#TransitGateway", + "traits": { + "aws.protocols#ec2QueryName": "TransitGateway", + "smithy.api#documentation": "

Information about the transit gateway.

", + "smithy.api#xmlName": "transitGateway" + } + } + } + }, + "com.amazonaws.ec2#ModifyTransitGatewayVpcAttachment": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyIpamResourceCidrRequest" + "target": "com.amazonaws.ec2#ModifyTransitGatewayVpcAttachmentRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifyIpamResourceCidrResult" + "target": "com.amazonaws.ec2#ModifyTransitGatewayVpcAttachmentResult" }, "traits": { - "smithy.api#documentation": "

Modify a resource CIDR. You can use this action to transfer resource CIDRs between scopes and ignore resource CIDRs that you do not want to manage. If set to false, the resource will not be tracked for overlap, it cannot be auto-imported into a pool, and it will be removed from any pool it has an allocation in.

\n

For more information, see Move resource CIDRs between scopes and Change the monitoring state of resource CIDRs in the Amazon VPC IPAM User Guide.

" + "smithy.api#documentation": "

Modifies the specified VPC attachment.

" } }, - "com.amazonaws.ec2#ModifyIpamResourceCidrRequest": { + "com.amazonaws.ec2#ModifyTransitGatewayVpcAttachmentRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - }, - "ResourceId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the resource you want to modify.

", - "smithy.api#required": {} - } - }, - "ResourceCidr": { - "target": "com.amazonaws.ec2#String", + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The CIDR of the resource you want to modify.

", + "smithy.api#documentation": "

The ID of the attachment.

", "smithy.api#required": {} } }, - "ResourceRegion": { - "target": "com.amazonaws.ec2#String", + "AddSubnetIds": { + "target": "com.amazonaws.ec2#TransitGatewaySubnetIdList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The Amazon Web Services Region of the resource you want to modify.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The IDs of one or more subnets to add. You can specify at most one subnet per Availability Zone.

" } }, - "CurrentIpamScopeId": { - "target": "com.amazonaws.ec2#IpamScopeId", + "RemoveSubnetIds": { + "target": "com.amazonaws.ec2#TransitGatewaySubnetIdList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the current scope that the resource CIDR is in.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The IDs of one or more subnets to remove.

" } }, - "DestinationIpamScopeId": { - "target": "com.amazonaws.ec2#IpamScopeId", + "Options": { + "target": "com.amazonaws.ec2#ModifyTransitGatewayVpcAttachmentRequestOptions", "traits": { - "smithy.api#documentation": "

The ID of the scope you want to transfer the resource CIDR to.

" + "smithy.api#documentation": "

The new VPC attachment options.

" } }, - "Monitored": { + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Determines if the resource is monitored by IPAM. If a resource is monitored, the resource is discovered by IPAM and you can view details about the resource’s CIDR.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyIpamResourceCidrResult": { + "com.amazonaws.ec2#ModifyTransitGatewayVpcAttachmentRequestOptions": { "type": "structure", "members": { - "IpamResourceCidr": { - "target": "com.amazonaws.ec2#IpamResourceCidr", + "DnsSupport": { + "target": "com.amazonaws.ec2#DnsSupportValue", "traits": { - "aws.protocols#ec2QueryName": "IpamResourceCidr", - "smithy.api#documentation": "

The CIDR of the resource.

", - "smithy.api#xmlName": "ipamResourceCidr" + "smithy.api#documentation": "

Enable or disable DNS support. The default is enable.

" + } + }, + "Ipv6Support": { + "target": "com.amazonaws.ec2#Ipv6SupportValue", + "traits": { + "smithy.api#documentation": "

Enable or disable IPv6 support. The default is enable.

" + } + }, + "ApplianceModeSupport": { + "target": "com.amazonaws.ec2#ApplianceModeSupportValue", + "traits": { + "smithy.api#documentation": "

Enable or disable support for appliance mode. If enabled, a traffic flow between a source and destination uses the same Availability Zone for the VPC attachment for the lifetime of that flow. The default is disable.

" } } + }, + "traits": { + "smithy.api#documentation": "

Describes the options for a VPC attachment.

" } }, - "com.amazonaws.ec2#ModifyIpamResult": { + "com.amazonaws.ec2#ModifyTransitGatewayVpcAttachmentResult": { "type": "structure", "members": { - "Ipam": { - "target": "com.amazonaws.ec2#Ipam", + "TransitGatewayVpcAttachment": { + "target": "com.amazonaws.ec2#TransitGatewayVpcAttachment", "traits": { - "aws.protocols#ec2QueryName": "Ipam", - "smithy.api#documentation": "

The results of the modification.

", - "smithy.api#xmlName": "ipam" + "aws.protocols#ec2QueryName": "TransitGatewayVpcAttachment", + "smithy.api#documentation": "

Information about the modified attachment.

", + "smithy.api#xmlName": "transitGatewayVpcAttachment" } } } }, - "com.amazonaws.ec2#ModifyIpamScope": { + "com.amazonaws.ec2#ModifyVerifiedAccessEndpoint": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyIpamScopeRequest" + "target": "com.amazonaws.ec2#ModifyVerifiedAccessEndpointRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifyIpamScopeResult" + "target": "com.amazonaws.ec2#ModifyVerifiedAccessEndpointResult" }, "traits": { - "smithy.api#documentation": "

Modify an IPAM scope.

" + "smithy.api#documentation": "

Modifies the configuration of an Amazon Web Services Verified Access endpoint.

" } }, - "com.amazonaws.ec2#ModifyIpamScopeRequest": { + "com.amazonaws.ec2#ModifyVerifiedAccessEndpointEniOptions": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Protocol": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointProtocol", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The IP protocol.

" } }, - "IpamScopeId": { - "target": "com.amazonaws.ec2#IpamScopeId", + "Port": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointPortNumber", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the scope you want to modify.

", - "smithy.api#required": {} - } - }, - "Description": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The description of the scope you want to modify.

" + "smithy.api#default": 0, + "smithy.api#documentation": "

The IP port number.

" } } + }, + "traits": { + "smithy.api#documentation": "

Options for a network-interface type Verified Access endpoint.

" } }, - "com.amazonaws.ec2#ModifyIpamScopeResult": { + "com.amazonaws.ec2#ModifyVerifiedAccessEndpointLoadBalancerOptions": { "type": "structure", "members": { - "IpamScope": { - "target": "com.amazonaws.ec2#IpamScope", + "SubnetIds": { + "target": "com.amazonaws.ec2#ModifyVerifiedAccessEndpointSubnetIdList", "traits": { - "aws.protocols#ec2QueryName": "IpamScope", - "smithy.api#documentation": "

The results of the modification.

", - "smithy.api#xmlName": "ipamScope" + "smithy.api#documentation": "

The IDs of the subnets.

", + "smithy.api#xmlName": "SubnetId" + } + }, + "Protocol": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointProtocol", + "traits": { + "smithy.api#documentation": "

The IP protocol.

" + } + }, + "Port": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointPortNumber", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The IP port number.

" } } + }, + "traits": { + "smithy.api#documentation": "

Describes a load balancer when creating an Amazon Web Services Verified Access endpoint using the\n load-balancer type.

" } }, - "com.amazonaws.ec2#ModifyLaunchTemplate": { + "com.amazonaws.ec2#ModifyVerifiedAccessEndpointPolicy": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyLaunchTemplateRequest" + "target": "com.amazonaws.ec2#ModifyVerifiedAccessEndpointPolicyRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifyLaunchTemplateResult" + "target": "com.amazonaws.ec2#ModifyVerifiedAccessEndpointPolicyResult" }, "traits": { - "smithy.api#documentation": "

Modifies a launch template. You can specify which version of the launch template to\n set as the default version. When launching an instance, the default version applies when\n a launch template version is not specified.

" + "smithy.api#documentation": "

Modifies the specified Verified Access endpoint policy.

" } }, - "com.amazonaws.ec2#ModifyLaunchTemplateRequest": { + "com.amazonaws.ec2#ModifyVerifiedAccessEndpointPolicyRequest": { "type": "structure", "members": { - "DryRun": { + "VerifiedAccessEndpointId": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access endpoint.

", + "smithy.api#required": {} + } + }, + "PolicyEnabled": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" + "smithy.api#documentation": "

The status of the Verified Access policy.

", + "smithy.api#required": {} + } + }, + "PolicyDocument": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services Verified Access policy document.

" } }, "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the\n request. For more information, see Ensuring\n idempotency.

\n

Constraint: Maximum 128 ASCII characters.

" + "smithy.api#documentation": "

A unique, case-sensitive token that you provide to ensure idempotency of your\n modification request. For more information, see Ensuring Idempotency.

", + "smithy.api#idempotencyToken": {} } }, - "LaunchTemplateId": { - "target": "com.amazonaws.ec2#LaunchTemplateId", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#ModifyVerifiedAccessEndpointPolicyResult": { + "type": "structure", + "members": { + "PolicyEnabled": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The ID of the launch template.

\n

You must specify either the LaunchTemplateId or the\n LaunchTemplateName, but not both.

" + "aws.protocols#ec2QueryName": "PolicyEnabled", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

The status of the Verified Access policy.

", + "smithy.api#xmlName": "policyEnabled" } }, - "LaunchTemplateName": { - "target": "com.amazonaws.ec2#LaunchTemplateName", + "PolicyDocument": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The name of the launch template.

\n

You must specify either the LaunchTemplateName or the\n LaunchTemplateId, but not both.

" + "aws.protocols#ec2QueryName": "PolicyDocument", + "smithy.api#documentation": "

The Amazon Web Services Verified Access policy document.

", + "smithy.api#xmlName": "policyDocument" + } + } + } + }, + "com.amazonaws.ec2#ModifyVerifiedAccessEndpointRequest": { + "type": "structure", + "members": { + "VerifiedAccessEndpointId": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access endpoint.

", + "smithy.api#required": {} } }, - "DefaultVersion": { + "VerifiedAccessGroupId": { + "target": "com.amazonaws.ec2#VerifiedAccessGroupId", + "traits": { + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access group.

" + } + }, + "LoadBalancerOptions": { + "target": "com.amazonaws.ec2#ModifyVerifiedAccessEndpointLoadBalancerOptions", + "traits": { + "smithy.api#documentation": "

The load balancer details if creating the Amazon Web Services Verified Access endpoint as\n load-balancertype.

" + } + }, + "NetworkInterfaceOptions": { + "target": "com.amazonaws.ec2#ModifyVerifiedAccessEndpointEniOptions", + "traits": { + "smithy.api#documentation": "

The network interface options.

" + } + }, + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The version number of the launch template to set as the default version.

", - "smithy.api#xmlName": "SetDefaultVersion" + "smithy.api#documentation": "

A description for the Amazon Web Services Verified Access endpoint.

" + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

A unique, case-sensitive token that you provide to ensure idempotency of your\n modification request. For more information, see Ensuring Idempotency.

", + "smithy.api#idempotencyToken": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyLaunchTemplateResult": { + "com.amazonaws.ec2#ModifyVerifiedAccessEndpointResult": { "type": "structure", "members": { - "LaunchTemplate": { - "target": "com.amazonaws.ec2#LaunchTemplate", + "VerifiedAccessEndpoint": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpoint", "traits": { - "aws.protocols#ec2QueryName": "LaunchTemplate", - "smithy.api#documentation": "

Information about the launch template.

", - "smithy.api#xmlName": "launchTemplate" + "aws.protocols#ec2QueryName": "VerifiedAccessEndpoint", + "smithy.api#documentation": "

The Amazon Web Services Verified Access endpoint details.

", + "smithy.api#xmlName": "verifiedAccessEndpoint" } } } }, - "com.amazonaws.ec2#ModifyLocalGatewayRoute": { + "com.amazonaws.ec2#ModifyVerifiedAccessEndpointSubnetIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SubnetId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ModifyVerifiedAccessGroup": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyLocalGatewayRouteRequest" + "target": "com.amazonaws.ec2#ModifyVerifiedAccessGroupRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ModifyVerifiedAccessGroupResult" + }, + "traits": { + "smithy.api#documentation": "

Modifies the specified Verified Access group configuration.

" + } + }, + "com.amazonaws.ec2#ModifyVerifiedAccessGroupPolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyVerifiedAccessGroupPolicyRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifyLocalGatewayRouteResult" + "target": "com.amazonaws.ec2#ModifyVerifiedAccessGroupPolicyResult" }, "traits": { - "smithy.api#documentation": "

Modifies the specified local gateway route.

" + "smithy.api#documentation": "

Modifies the specified Verified Access group policy.

" } }, - "com.amazonaws.ec2#ModifyLocalGatewayRouteRequest": { + "com.amazonaws.ec2#ModifyVerifiedAccessGroupPolicyRequest": { "type": "structure", "members": { - "DestinationCidrBlock": { - "target": "com.amazonaws.ec2#String", + "VerifiedAccessGroupId": { + "target": "com.amazonaws.ec2#VerifiedAccessGroupId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The CIDR block used for destination matches. The value that you provide must match the CIDR of an existing route in the table.

", + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access group.

", "smithy.api#required": {} } }, - "LocalGatewayRouteTableId": { - "target": "com.amazonaws.ec2#LocalGatewayRoutetableId", + "PolicyEnabled": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the local gateway route table.

", + "smithy.api#default": false, + "smithy.api#documentation": "

The status of the Verified Access policy.

", "smithy.api#required": {} } }, - "LocalGatewayVirtualInterfaceGroupId": { - "target": "com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroupId", + "PolicyDocument": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

\n The ID of the virtual interface group.\n

" + "smithy.api#documentation": "

The Amazon Web Services Verified Access policy document.

" } }, - "NetworkInterfaceId": { - "target": "com.amazonaws.ec2#NetworkInterfaceId", + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The ID of the network interface.

" + "smithy.api#documentation": "

A unique, case-sensitive token that you provide to ensure idempotency of your\n modification request. For more information, see Ensuring Idempotency.

", + "smithy.api#idempotencyToken": {} } }, "DryRun": { @@ -63944,1054 +69520,1097 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } - } - }, - "com.amazonaws.ec2#ModifyLocalGatewayRouteResult": { - "type": "structure", - "members": { - "Route": { - "target": "com.amazonaws.ec2#LocalGatewayRoute", - "traits": { - "aws.protocols#ec2QueryName": "Route", - "smithy.api#xmlName": "route" - } - } - } - }, - "com.amazonaws.ec2#ModifyManagedPrefixList": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ModifyManagedPrefixListRequest" - }, - "output": { - "target": "com.amazonaws.ec2#ModifyManagedPrefixListResult" }, "traits": { - "smithy.api#documentation": "

Modifies the specified managed prefix list.

\n

Adding or removing entries in a prefix list creates a new version of the prefix list.\n Changing the name of the prefix list does not affect the version.

\n

If you specify a current version number that does not match the true current version\n number, the request fails.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyManagedPrefixListRequest": { + "com.amazonaws.ec2#ModifyVerifiedAccessGroupPolicyResult": { "type": "structure", "members": { - "DryRun": { + "PolicyEnabled": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "PolicyEnabled", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The status of the Verified Access policy.

", + "smithy.api#xmlName": "policyEnabled" } }, - "PrefixListId": { - "target": "com.amazonaws.ec2#PrefixListResourceId", + "PolicyDocument": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the prefix list.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "PolicyDocument", + "smithy.api#documentation": "

The Amazon Web Services Verified Access policy document.

", + "smithy.api#xmlName": "policyDocument" } - }, - "CurrentVersion": { - "target": "com.amazonaws.ec2#Long", + } + } + }, + "com.amazonaws.ec2#ModifyVerifiedAccessGroupRequest": { + "type": "structure", + "members": { + "VerifiedAccessGroupId": { + "target": "com.amazonaws.ec2#VerifiedAccessGroupId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The current version of the prefix list.

" + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access group.

", + "smithy.api#required": {} } }, - "PrefixListName": { - "target": "com.amazonaws.ec2#String", + "VerifiedAccessInstanceId": { + "target": "com.amazonaws.ec2#VerifiedAccessInstanceId", "traits": { - "smithy.api#documentation": "

A name for the prefix list.

" + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access instance.

" } }, - "AddEntries": { - "target": "com.amazonaws.ec2#AddPrefixListEntries", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

One or more entries to add to the prefix list.

", - "smithy.api#xmlName": "AddEntry" + "smithy.api#documentation": "

A description for the Amazon Web Services Verified Access group.

" } }, - "RemoveEntries": { - "target": "com.amazonaws.ec2#RemovePrefixListEntries", + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

One or more entries to remove from the prefix list.

", - "smithy.api#xmlName": "RemoveEntry" + "smithy.api#documentation": "

A unique, case-sensitive token that you provide to ensure idempotency of your\n modification request. For more information, see Ensuring Idempotency.

", + "smithy.api#idempotencyToken": {} } }, - "MaxEntries": { - "target": "com.amazonaws.ec2#Integer", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of entries for the prefix list. You cannot modify the entries \n of a prefix list and modify the size of a prefix list at the same time.

\n

If any of the resources that reference the prefix list cannot support the new\n maximum size, the modify operation fails. Check the state message for the IDs of \n the first ten resources that do not support the new maximum size.

" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyManagedPrefixListResult": { + "com.amazonaws.ec2#ModifyVerifiedAccessGroupResult": { "type": "structure", "members": { - "PrefixList": { - "target": "com.amazonaws.ec2#ManagedPrefixList", + "VerifiedAccessGroup": { + "target": "com.amazonaws.ec2#VerifiedAccessGroup", "traits": { - "aws.protocols#ec2QueryName": "PrefixList", - "smithy.api#documentation": "

Information about the prefix list.

", - "smithy.api#xmlName": "prefixList" + "aws.protocols#ec2QueryName": "VerifiedAccessGroup", + "smithy.api#documentation": "

Details of Amazon Web Services Verified Access group.

", + "smithy.api#xmlName": "verifiedAccessGroup" } } } }, - "com.amazonaws.ec2#ModifyNetworkInterfaceAttribute": { + "com.amazonaws.ec2#ModifyVerifiedAccessInstance": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyNetworkInterfaceAttributeRequest" + "target": "com.amazonaws.ec2#ModifyVerifiedAccessInstanceRequest" }, "output": { - "target": "smithy.api#Unit" + "target": "com.amazonaws.ec2#ModifyVerifiedAccessInstanceResult" }, "traits": { - "smithy.api#documentation": "

Modifies the specified network interface attribute. You can specify only one\n attribute at a time. You can use this action to attach and detach security groups from\n an existing EC2 instance.

" + "smithy.api#documentation": "

Modifies the configuration of the specified Verified Access instance.

" } }, - "com.amazonaws.ec2#ModifyNetworkInterfaceAttributeRequest": { + "com.amazonaws.ec2#ModifyVerifiedAccessInstanceLoggingConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyVerifiedAccessInstanceLoggingConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ModifyVerifiedAccessInstanceLoggingConfigurationResult" + }, + "traits": { + "smithy.api#documentation": "

Modifies the logging configuration for the specified Amazon Web Services Verified Access instance.

" + } + }, + "com.amazonaws.ec2#ModifyVerifiedAccessInstanceLoggingConfigurationRequest": { "type": "structure", "members": { - "Attachment": { - "target": "com.amazonaws.ec2#NetworkInterfaceAttachmentChanges", + "VerifiedAccessInstanceId": { + "target": "com.amazonaws.ec2#VerifiedAccessInstanceId", "traits": { - "aws.protocols#ec2QueryName": "Attachment", - "smithy.api#documentation": "

Information about the interface attachment. If modifying the 'delete on termination' attribute, you must specify the ID of the interface attachment.

", - "smithy.api#xmlName": "attachment" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access instance.

", + "smithy.api#required": {} } }, - "Description": { - "target": "com.amazonaws.ec2#AttributeValue", + "AccessLogs": { + "target": "com.amazonaws.ec2#VerifiedAccessLogOptions", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

A description for the network interface.

", - "smithy.api#xmlName": "description" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The configuration options for Amazon Web Services Verified Access instances.

", + "smithy.api#required": {} } }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" - } - }, - "Groups": { - "target": "com.amazonaws.ec2#SecurityGroupIdStringList", - "traits": { - "smithy.api#documentation": "

Changes the security groups for the network interface. The new set of groups you specify replaces the current set. You must specify at least one group, even if it's just the default security group in the VPC. You must specify the ID of the security group, not the name.

", - "smithy.api#xmlName": "SecurityGroupId" - } - }, - "NetworkInterfaceId": { - "target": "com.amazonaws.ec2#NetworkInterfaceId", - "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the network interface.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "networkInterfaceId" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "SourceDestCheck": { - "target": "com.amazonaws.ec2#AttributeBooleanValue", + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SourceDestCheck", - "smithy.api#documentation": "

Enable or disable source/destination checks, which ensure that the instance\n is either the source or the destination of any traffic that it receives.\n If the value is true, source/destination checks are enabled;\n otherwise, they are disabled. The default value is true. \n You must disable source/destination checks if the instance runs services \n such as network address translation, routing, or firewalls.

", - "smithy.api#xmlName": "sourceDestCheck" + "smithy.api#documentation": "

A unique, case-sensitive token that you provide to ensure idempotency of your\n modification request. For more information, see Ensuring Idempotency.

", + "smithy.api#idempotencyToken": {} } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for ModifyNetworkInterfaceAttribute.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyPrivateDnsNameOptions": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ModifyPrivateDnsNameOptionsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#ModifyPrivateDnsNameOptionsResult" - }, - "traits": { - "smithy.api#documentation": "

Modifies the options for instance hostnames for the specified instance.

" + "com.amazonaws.ec2#ModifyVerifiedAccessInstanceLoggingConfigurationResult": { + "type": "structure", + "members": { + "LoggingConfiguration": { + "target": "com.amazonaws.ec2#VerifiedAccessInstanceLoggingConfiguration", + "traits": { + "aws.protocols#ec2QueryName": "LoggingConfiguration", + "smithy.api#documentation": "

The logging configuration for Amazon Web Services Verified Access instance.

", + "smithy.api#xmlName": "loggingConfiguration" + } + } } }, - "com.amazonaws.ec2#ModifyPrivateDnsNameOptionsRequest": { + "com.amazonaws.ec2#ModifyVerifiedAccessInstanceRequest": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "VerifiedAccessInstanceId": { + "target": "com.amazonaws.ec2#VerifiedAccessInstanceId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" - } - }, - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", - "traits": { - "smithy.api#documentation": "

The ID of the instance.

" + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access instance.

", + "smithy.api#required": {} } }, - "PrivateDnsHostnameType": { - "target": "com.amazonaws.ec2#HostnameType", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name\n must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name\n must be based on the instance ID. For dual-stack subnets, you can specify whether DNS\n names use the instance IPv4 address or the instance ID.

" + "smithy.api#documentation": "

A description for the Amazon Web Services Verified Access instance.

" } }, - "EnableResourceNameDnsARecord": { + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to respond to DNS queries for instance hostnames with DNS A\n records.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "EnableResourceNameDnsAAAARecord": { - "target": "com.amazonaws.ec2#Boolean", + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA\n records.

" + "smithy.api#documentation": "

A unique, case-sensitive token that you provide to ensure idempotency of your\n modification request. For more information, see Ensuring Idempotency.

", + "smithy.api#idempotencyToken": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyPrivateDnsNameOptionsResult": { + "com.amazonaws.ec2#ModifyVerifiedAccessInstanceResult": { "type": "structure", "members": { - "Return": { - "target": "com.amazonaws.ec2#Boolean", + "VerifiedAccessInstance": { + "target": "com.amazonaws.ec2#VerifiedAccessInstance", "traits": { - "aws.protocols#ec2QueryName": "Return", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an\n error.

", - "smithy.api#xmlName": "return" + "aws.protocols#ec2QueryName": "VerifiedAccessInstance", + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access instance.

", + "smithy.api#xmlName": "verifiedAccessInstance" } } } }, - "com.amazonaws.ec2#ModifyReservedInstances": { + "com.amazonaws.ec2#ModifyVerifiedAccessTrustProvider": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyReservedInstancesRequest" + "target": "com.amazonaws.ec2#ModifyVerifiedAccessTrustProviderRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifyReservedInstancesResult" + "target": "com.amazonaws.ec2#ModifyVerifiedAccessTrustProviderResult" }, "traits": { - "smithy.api#documentation": "

Modifies the configuration of your Reserved Instances, such as the Availability Zone, \n instance count, or instance type. The Reserved Instances to be modified must be identical, \n except for Availability Zone, network platform, and instance type.

\n\t\t

For more information, see Modifying Reserved\n\t\t\t\tInstances in the Amazon EC2 User Guide.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" + "smithy.api#documentation": "

Modifies the configuration of the specified Amazon Web Services Verified Access trust provider.

" } }, - "com.amazonaws.ec2#ModifyReservedInstancesRequest": { + "com.amazonaws.ec2#ModifyVerifiedAccessTrustProviderOidcOptions": { "type": "structure", "members": { - "ReservedInstancesIds": { - "target": "com.amazonaws.ec2#ReservedInstancesIdStringList", + "Scope": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

OpenID Connect (OIDC) scopes are used by an application during authentication to authorize access to a user's details. Each scope returns a specific set of user attributes.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

OpenID Connect options for an oidc-type, user-identity based trust\n provider.

" + } + }, + "com.amazonaws.ec2#ModifyVerifiedAccessTrustProviderRequest": { + "type": "structure", + "members": { + "VerifiedAccessTrustProviderId": { + "target": "com.amazonaws.ec2#VerifiedAccessTrustProviderId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IDs of the Reserved Instances to modify.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "ReservedInstancesId" + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access trust provider.

", + "smithy.api#required": {} } }, - "ClientToken": { + "OidcOptions": { + "target": "com.amazonaws.ec2#ModifyVerifiedAccessTrustProviderOidcOptions", + "traits": { + "smithy.api#documentation": "

The OpenID Connect details for an oidc-type, user-identity based trust provider.

" + } + }, + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ClientToken", - "smithy.api#documentation": "

A unique, case-sensitive token you provide to ensure idempotency of your modification request. For more information, see \n \t\tEnsuring Idempotency.

", - "smithy.api#xmlName": "clientToken" + "smithy.api#documentation": "

A description for the Amazon Web Services Verified Access trust provider.

" } }, - "TargetConfigurations": { - "target": "com.amazonaws.ec2#ReservedInstancesConfigurationList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The configuration settings for the Reserved Instances to modify.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "ReservedInstancesConfigurationSetItemType" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

A unique, case-sensitive token that you provide to ensure idempotency of your\n modification request. For more information, see Ensuring Idempotency.

", + "smithy.api#idempotencyToken": {} } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for ModifyReservedInstances.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyReservedInstancesResult": { + "com.amazonaws.ec2#ModifyVerifiedAccessTrustProviderResult": { "type": "structure", "members": { - "ReservedInstancesModificationId": { - "target": "com.amazonaws.ec2#String", + "VerifiedAccessTrustProvider": { + "target": "com.amazonaws.ec2#VerifiedAccessTrustProvider", "traits": { - "aws.protocols#ec2QueryName": "ReservedInstancesModificationId", - "smithy.api#documentation": "

The ID for the modification.

", - "smithy.api#xmlName": "reservedInstancesModificationId" + "aws.protocols#ec2QueryName": "VerifiedAccessTrustProvider", + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access trust provider.

", + "smithy.api#xmlName": "verifiedAccessTrustProvider" } } + } + }, + "com.amazonaws.ec2#ModifyVolume": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyVolumeRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ModifyVolumeResult" }, "traits": { - "smithy.api#documentation": "

Contains the output of ModifyReservedInstances.

" + "smithy.api#documentation": "

You can modify several parameters of an existing EBS volume, including volume size, volume\n type, and IOPS capacity. If your EBS volume is attached to a current-generation EC2 instance\n type, you might be able to apply these changes without stopping the instance or detaching the\n volume from it. For more information about modifying EBS volumes, see Amazon EBS Elastic Volumes (Linux instances) \n or Amazon EBS Elastic Volumes (Windows instances).

\n

When you complete a resize operation on your volume, you need to extend the volume's\n file-system size to take advantage of the new storage capacity. For more information, see Extend a Linux file system or \n Extend a Windows file system.

\n

You can use CloudWatch Events to check the status of a modification to an EBS volume. For\n information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. You can also track the status of a\n modification using DescribeVolumesModifications. For information\n about tracking status changes using either method, see Monitor the progress of volume modifications.

\n

With previous-generation instance types, resizing an EBS volume might require detaching and\n reattaching the volume or stopping and restarting the instance.

\n

After modifying a volume, you must wait at least six hours and ensure that the volume \n is in the in-use or available state before you can modify the same \n volume. This is sometimes referred to as a cooldown period.

" } }, - "com.amazonaws.ec2#ModifySecurityGroupRules": { + "com.amazonaws.ec2#ModifyVolumeAttribute": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifySecurityGroupRulesRequest" + "target": "com.amazonaws.ec2#ModifyVolumeAttributeRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifySecurityGroupRulesResult" + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Modifies the rules of a security group.

" + "smithy.api#documentation": "

Modifies a volume attribute.

\n

By default, all I/O operations for the volume are suspended when the data on the volume is\n determined to be potentially inconsistent, to prevent undetectable, latent data corruption.\n The I/O access to the volume can be resumed by first enabling I/O access and then checking the\n data consistency on your volume.

\n

You can change the default behavior to resume I/O operations. We recommend that you change\n this only for boot volumes or for volumes that are stateless or disposable.

" } }, - "com.amazonaws.ec2#ModifySecurityGroupRulesRequest": { + "com.amazonaws.ec2#ModifyVolumeAttributeRequest": { "type": "structure", "members": { - "GroupId": { - "target": "com.amazonaws.ec2#SecurityGroupId", + "AutoEnableIO": { + "target": "com.amazonaws.ec2#AttributeBooleanValue", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the security group.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Indicates whether the volume should be auto-enabled for I/O operations.

" } }, - "SecurityGroupRules": { - "target": "com.amazonaws.ec2#SecurityGroupRuleUpdateList", + "VolumeId": { + "target": "com.amazonaws.ec2#VolumeId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

Information about the security group properties to update.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "SecurityGroupRule" + "smithy.api#documentation": "

The ID of the volume.

", + "smithy.api#required": {} } }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifySecurityGroupRulesResult": { + "com.amazonaws.ec2#ModifyVolumeRequest": { "type": "structure", "members": { - "Return": { + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Return", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, returns an error.

", - "smithy.api#xmlName": "return" - } - } - } - }, - "com.amazonaws.ec2#ModifySnapshotAttribute": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ModifySnapshotAttributeRequest" - }, - "output": { - "target": "smithy.api#Unit" - }, - "traits": { - "smithy.api#documentation": "

Adds or removes permission settings for the specified snapshot. You may add or remove\n specified Amazon Web Services account IDs from a snapshot's list of create volume permissions, but you cannot\n do both in a single operation. If you need to both add and remove account IDs for a snapshot,\n you must use multiple operations. You can make up to 500 modifications to a snapshot in a single operation.

\n

Encrypted snapshots and snapshots with Amazon Web Services Marketplace product codes cannot be made\n public. Snapshots encrypted with your default KMS key cannot be shared with other accounts.

\n

For more information about modifying snapshot permissions, see Share a snapshot in the\n Amazon Elastic Compute Cloud User Guide.

" - } - }, - "com.amazonaws.ec2#ModifySnapshotAttributeRequest": { - "type": "structure", - "members": { - "Attribute": { - "target": "com.amazonaws.ec2#SnapshotAttributeName", - "traits": { - "smithy.api#documentation": "

The snapshot attribute to modify. Only volume creation permissions can be modified.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "CreateVolumePermission": { - "target": "com.amazonaws.ec2#CreateVolumePermissionModifications", + "VolumeId": { + "target": "com.amazonaws.ec2#VolumeId", "traits": { - "smithy.api#documentation": "

A JSON representation of the snapshot attribute modification.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the volume.

", + "smithy.api#required": {} } }, - "GroupNames": { - "target": "com.amazonaws.ec2#GroupNameStringList", + "Size": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#documentation": "

The group to modify for the snapshot.

", - "smithy.api#xmlName": "UserGroup" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The target size of the volume, in GiB. The target volume size must be greater than or\n equal to the existing size of the volume.

\n

The following are the supported volumes sizes for each volume type:

\n
    \n
  • \n

    \n gp2 and gp3: 1-16,384

    \n
  • \n
  • \n

    \n io1 and io2: 4-16,384

    \n
  • \n
  • \n

    \n st1 and sc1: 125-16,384

    \n
  • \n
  • \n

    \n standard: 1-1,024

    \n
  • \n
\n

Default: The existing size is retained.

" } }, - "OperationType": { - "target": "com.amazonaws.ec2#OperationType", + "VolumeType": { + "target": "com.amazonaws.ec2#VolumeType", "traits": { - "smithy.api#documentation": "

The type of operation to perform to the attribute.

" + "smithy.api#documentation": "

The target EBS volume type of the volume. For more information, see Amazon EBS volume types in the Amazon Elastic Compute Cloud User Guide.

\n

Default: The existing type is retained.

" } }, - "SnapshotId": { - "target": "com.amazonaws.ec2#SnapshotId", + "Iops": { + "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the snapshot.

", - "smithy.api#required": {} + "smithy.api#default": 0, + "smithy.api#documentation": "

The target IOPS rate of the volume. This parameter is valid only for gp3, io1, and io2 volumes.

\n

The following are the supported values for each volume type:

\n
    \n
  • \n

    \n gp3: 3,000-16,000 IOPS

    \n
  • \n
  • \n

    \n io1: 100-64,000 IOPS

    \n
  • \n
  • \n

    \n io2: 100-64,000 IOPS

    \n
  • \n
\n

Default: The existing value is retained if you keep the same volume type. If you change\n the volume type to io1, io2, or gp3, the default is 3,000.

" } }, - "UserIds": { - "target": "com.amazonaws.ec2#UserIdStringList", + "Throughput": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#documentation": "

The account ID to modify for the snapshot.

", - "smithy.api#xmlName": "UserId" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The target throughput of the volume, in MiB/s. This parameter is valid only for gp3 volumes. \n The maximum value is 1,000.

\n

Default: The existing value is retained if the source and target volume type is gp3.\n Otherwise, the default value is 125.

\n

Valid Range: Minimum value of 125. Maximum value of 1000.

" } }, - "DryRun": { + "MultiAttachEnabled": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Specifies whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the \n\t\tvolume to up to 16 \n\t\t\tNitro-based instances in the same Availability Zone. This parameter is \n\t\tsupported with io1 and io2 volumes only. For more information, see \n\t\t\n\t\t\tAmazon EBS Multi-Attach in the Amazon Elastic Compute Cloud User Guide.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifySnapshotTier": { + "com.amazonaws.ec2#ModifyVolumeResult": { + "type": "structure", + "members": { + "VolumeModification": { + "target": "com.amazonaws.ec2#VolumeModification", + "traits": { + "aws.protocols#ec2QueryName": "VolumeModification", + "smithy.api#documentation": "

Information about the volume modification.

", + "smithy.api#xmlName": "volumeModification" + } + } + } + }, + "com.amazonaws.ec2#ModifyVpcAttribute": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifySnapshotTierRequest" + "target": "com.amazonaws.ec2#ModifyVpcAttributeRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifySnapshotTierResult" + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Archives an Amazon EBS snapshot. When you archive a snapshot, it is converted to a full \n snapshot that includes all of the blocks of data that were written to the volume at the \n time the snapshot was created, and moved from the standard tier to the archive \n tier. For more information, see Archive Amazon EBS snapshots \n in the Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Modifies the specified attribute of the specified VPC.

" } }, - "com.amazonaws.ec2#ModifySnapshotTierRequest": { + "com.amazonaws.ec2#ModifyVpcAttributeRequest": { "type": "structure", "members": { - "SnapshotId": { - "target": "com.amazonaws.ec2#SnapshotId", + "EnableDnsHostnames": { + "target": "com.amazonaws.ec2#AttributeBooleanValue", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the snapshot.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Indicates whether the instances launched in the VPC get DNS hostnames. If enabled, instances in the VPC get DNS hostnames; otherwise, they do not.

\n

You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute. You can only enable DNS hostnames if you've enabled DNS support.

" } }, - "StorageTier": { - "target": "com.amazonaws.ec2#TargetStorageTier", + "EnableDnsSupport": { + "target": "com.amazonaws.ec2#AttributeBooleanValue", "traits": { - "smithy.api#documentation": "

The name of the storage tier. You must specify archive.

" + "smithy.api#documentation": "

Indicates whether the DNS resolution is supported for the VPC. If enabled, queries to\n\t\t\tthe Amazon provided DNS server at the 169.254.169.253 IP address, or the reserved IP\n\t\t\taddress at the base of the VPC network range \"plus two\" succeed. If disabled, the Amazon\n\t\t\tprovided DNS service in the VPC that resolves public DNS hostnames to IP addresses is\n\t\t\tnot enabled.

\n

You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute.

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "VpcId": { + "target": "com.amazonaws.ec2#VpcId", "traits": { + "aws.protocols#ec2QueryName": "VpcId", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - } - } - }, - "com.amazonaws.ec2#ModifySnapshotTierResult": { - "type": "structure", - "members": { - "SnapshotId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "SnapshotId", - "smithy.api#documentation": "

The ID of the snapshot.

", - "smithy.api#xmlName": "snapshotId" + "smithy.api#documentation": "

The ID of the VPC.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "vpcId" } }, - "TieringStartTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "EnableNetworkAddressUsageMetrics": { + "target": "com.amazonaws.ec2#AttributeBooleanValue", "traits": { - "aws.protocols#ec2QueryName": "TieringStartTime", - "smithy.api#documentation": "

The date and time when the archive process was started.

", - "smithy.api#xmlName": "tieringStartTime" + "smithy.api#documentation": "

Indicates whether Network Address Usage metrics are enabled for your VPC.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifySpotFleetRequest": { + "com.amazonaws.ec2#ModifyVpcEndpoint": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifySpotFleetRequestRequest" + "target": "com.amazonaws.ec2#ModifyVpcEndpointRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifySpotFleetRequestResponse" + "target": "com.amazonaws.ec2#ModifyVpcEndpointResult" }, "traits": { - "smithy.api#documentation": "

Modifies the specified Spot Fleet request.

\n

You can only modify a Spot Fleet request of type maintain.

\n

While the Spot Fleet request is being modified, it is in the modifying\n state.

\n

To scale up your Spot Fleet, increase its target capacity. The Spot Fleet launches the\n additional Spot Instances according to the allocation strategy for the Spot Fleet\n request. If the allocation strategy is lowestPrice, the Spot Fleet launches\n instances using the Spot Instance pool with the lowest price. If the allocation strategy\n is diversified, the Spot Fleet distributes the instances across the Spot\n Instance pools. If the allocation strategy is capacityOptimized, Spot Fleet\n launches instances from Spot Instance pools with optimal capacity for the number of instances\n that are launching.

\n

To scale down your Spot Fleet, decrease its target capacity. First, the Spot Fleet\n cancels any open requests that exceed the new target capacity. You can request that the\n Spot Fleet terminate Spot Instances until the size of the fleet no longer exceeds the\n new target capacity. If the allocation strategy is lowestPrice, the Spot\n Fleet terminates the instances with the highest price per unit. If the allocation\n strategy is capacityOptimized, the Spot Fleet terminates the instances in\n the Spot Instance pools that have the least available Spot Instance capacity. If the allocation\n strategy is diversified, the Spot Fleet terminates instances across the\n Spot Instance pools. Alternatively, you can request that the Spot Fleet keep the fleet\n at its current size, but not replace any Spot Instances that are interrupted or that you\n terminate manually.

\n

If you are finished with your Spot Fleet for now, but will use it again later, you can\n set the target capacity to 0.

" + "smithy.api#documentation": "

Modifies attributes of a specified VPC endpoint. The attributes that you can modify\n depend on the type of VPC endpoint (interface, gateway, or Gateway Load Balancer). For more information, \n see the Amazon Web Services PrivateLink \n Guide.

" } }, - "com.amazonaws.ec2#ModifySpotFleetRequestRequest": { + "com.amazonaws.ec2#ModifyVpcEndpointConnectionNotification": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyVpcEndpointConnectionNotificationRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ModifyVpcEndpointConnectionNotificationResult" + }, + "traits": { + "smithy.api#documentation": "

Modifies a connection notification for VPC endpoint or VPC endpoint service. You\n can change the SNS topic for the notification, or the events for which to be notified.

" + } + }, + "com.amazonaws.ec2#ModifyVpcEndpointConnectionNotificationRequest": { "type": "structure", "members": { - "ExcessCapacityTerminationPolicy": { - "target": "com.amazonaws.ec2#ExcessCapacityTerminationPolicy", - "traits": { - "aws.protocols#ec2QueryName": "ExcessCapacityTerminationPolicy", - "smithy.api#documentation": "

Indicates whether running Spot Instances should be terminated if the target capacity\n of the Spot Fleet request is decreased below the current size of the Spot Fleet.

", - "smithy.api#xmlName": "excessCapacityTerminationPolicy" - } - }, - "LaunchTemplateConfigs": { - "target": "com.amazonaws.ec2#LaunchTemplateConfigList", - "traits": { - "smithy.api#documentation": "

The launch template and overrides. You can only use this parameter if you specified a\n launch template (LaunchTemplateConfigs) in your Spot Fleet request. If you\n specified LaunchSpecifications in your Spot Fleet request, then omit this\n parameter.

", - "smithy.api#xmlName": "LaunchTemplateConfig" - } - }, - "SpotFleetRequestId": { - "target": "com.amazonaws.ec2#SpotFleetRequestId", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "SpotFleetRequestId", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Spot Fleet request.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "spotFleetRequestId" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "TargetCapacity": { - "target": "com.amazonaws.ec2#Integer", + "ConnectionNotificationId": { + "target": "com.amazonaws.ec2#ConnectionNotificationId", "traits": { - "aws.protocols#ec2QueryName": "TargetCapacity", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The size of the fleet.

", - "smithy.api#xmlName": "targetCapacity" + "smithy.api#documentation": "

The ID of the notification.

", + "smithy.api#required": {} } }, - "OnDemandTargetCapacity": { - "target": "com.amazonaws.ec2#Integer", + "ConnectionNotificationArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of On-Demand Instances in the fleet.

" + "smithy.api#documentation": "

The ARN for the SNS topic for the notification.

" } }, - "Context": { - "target": "com.amazonaws.ec2#String", + "ConnectionEvents": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "smithy.api#documentation": "

Reserved.

" + "smithy.api#documentation": "

The events for the endpoint. Valid values are Accept,\n Connect, Delete, and Reject.

" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for ModifySpotFleetRequest.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifySpotFleetRequestResponse": { + "com.amazonaws.ec2#ModifyVpcEndpointConnectionNotificationResult": { "type": "structure", "members": { - "Return": { + "ReturnValue": { "target": "com.amazonaws.ec2#Boolean", "traits": { "aws.protocols#ec2QueryName": "Return", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

If the request succeeds, the response returns true. If the request fails,\n no response is returned, and instead an error message is returned.

", + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", "smithy.api#xmlName": "return" } } - }, - "traits": { - "smithy.api#documentation": "

Contains the output of ModifySpotFleetRequest.

" - } - }, - "com.amazonaws.ec2#ModifySubnetAttribute": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ModifySubnetAttributeRequest" - }, - "output": { - "target": "smithy.api#Unit" - }, - "traits": { - "smithy.api#documentation": "

Modifies a subnet attribute. You can only modify one attribute at a time.

\n\t \n\t

Use this action to modify subnets on Amazon Web Services Outposts.

\n
    \n
  • \n

    To modify a subnet on an Outpost rack, set both\n MapCustomerOwnedIpOnLaunch and\n CustomerOwnedIpv4Pool. These two parameters act as a single\n attribute.

    \n
  • \n
  • \n

    To modify a subnet on an Outpost server, set either\n EnableLniAtDeviceIndex or\n DisableLniAtDeviceIndex.

    \n
  • \n
\n\t \n\t

For more information about Amazon Web Services Outposts, see the following:

\n\t \n\t " } }, - "com.amazonaws.ec2#ModifySubnetAttributeRequest": { + "com.amazonaws.ec2#ModifyVpcEndpointRequest": { "type": "structure", "members": { - "AssignIpv6AddressOnCreation": { - "target": "com.amazonaws.ec2#AttributeBooleanValue", - "traits": { - "smithy.api#documentation": "

Specify true to indicate that network interfaces created in the\n specified subnet should be assigned an IPv6 address. This includes a network interface\n that's created when launching an instance into the subnet (the instance therefore\n receives an IPv6 address).

\n

If you enable the IPv6 addressing feature for your subnet, your network interface\n or instance only receives an IPv6 address if it's created using version\n 2016-11-15 or later of the Amazon EC2 API.

" - } - }, - "MapPublicIpOnLaunch": { - "target": "com.amazonaws.ec2#AttributeBooleanValue", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

Specify true to indicate that network interfaces attached to instances created in the\n specified subnet should be assigned a public IPv4 address.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "SubnetId": { - "target": "com.amazonaws.ec2#SubnetId", + "VpcEndpointId": { + "target": "com.amazonaws.ec2#VpcEndpointId", "traits": { - "aws.protocols#ec2QueryName": "SubnetId", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the subnet.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "subnetId" + "smithy.api#documentation": "

The ID of the endpoint.

", + "smithy.api#required": {} } }, - "MapCustomerOwnedIpOnLaunch": { - "target": "com.amazonaws.ec2#AttributeBooleanValue", + "ResetPolicy": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

Specify true to indicate that network interfaces attached to instances created in the\n specified subnet should be assigned a customer-owned IPv4 address.

\n

When this value is true, you must specify the customer-owned IP pool using CustomerOwnedIpv4Pool.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

(Gateway endpoint) Specify true to reset the policy document to the\n default policy. The default policy allows full access to the service.

" } }, - "CustomerOwnedIpv4Pool": { - "target": "com.amazonaws.ec2#CoipPoolId", + "PolicyDocument": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The customer-owned IPv4 address pool associated with the subnet.

\n

You must set this value when you specify true for MapCustomerOwnedIpOnLaunch.

" + "smithy.api#documentation": "

(Interface and gateway endpoints) A policy to attach to the endpoint that controls access to the service. The policy must\n be in valid JSON format.

" } }, - "EnableDns64": { - "target": "com.amazonaws.ec2#AttributeBooleanValue", + "AddRouteTableIds": { + "target": "com.amazonaws.ec2#VpcEndpointRouteTableIdList", "traits": { - "smithy.api#documentation": "

Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet \n should return synthetic IPv6 addresses for IPv4-only destinations.

" + "smithy.api#documentation": "

(Gateway endpoint) The IDs of the route tables to associate with the endpoint.

", + "smithy.api#xmlName": "AddRouteTableId" } }, - "PrivateDnsHostnameTypeOnLaunch": { - "target": "com.amazonaws.ec2#HostnameType", + "RemoveRouteTableIds": { + "target": "com.amazonaws.ec2#VpcEndpointRouteTableIdList", "traits": { - "smithy.api#documentation": "

The type of hostname to assign to instances in the subnet at launch. For IPv4-only and dual-stack (IPv4 and IPv6) subnets, an\n instance DNS name can be based on the instance IPv4 address (ip-name) or the instance ID (resource-name). For IPv6 only subnets, an instance\n DNS name must be based on the instance ID (resource-name).

" + "smithy.api#documentation": "

(Gateway endpoint) The IDs of the route tables to disassociate from the endpoint.

", + "smithy.api#xmlName": "RemoveRouteTableId" } }, - "EnableResourceNameDnsARecordOnLaunch": { - "target": "com.amazonaws.ec2#AttributeBooleanValue", + "AddSubnetIds": { + "target": "com.amazonaws.ec2#VpcEndpointSubnetIdList", "traits": { - "smithy.api#documentation": "

Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

" + "smithy.api#documentation": "

(Interface and Gateway Load Balancer endpoints) The IDs of the subnets in which to serve the endpoint. \n For a Gateway Load Balancer endpoint, you can specify only one subnet.

", + "smithy.api#xmlName": "AddSubnetId" } }, - "EnableResourceNameDnsAAAARecordOnLaunch": { - "target": "com.amazonaws.ec2#AttributeBooleanValue", + "RemoveSubnetIds": { + "target": "com.amazonaws.ec2#VpcEndpointSubnetIdList", "traits": { - "smithy.api#documentation": "

Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

" + "smithy.api#documentation": "

(Interface endpoint) The IDs of the subnets from which to remove the endpoint.

", + "smithy.api#xmlName": "RemoveSubnetId" } }, - "EnableLniAtDeviceIndex": { - "target": "com.amazonaws.ec2#Integer", + "AddSecurityGroupIds": { + "target": "com.amazonaws.ec2#VpcEndpointSecurityGroupIdList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

\n Indicates the device position for local network interfaces in this subnet. For example, \n 1 indicates local network interfaces in this subnet are the secondary \n network interface (eth1). A local network interface cannot be the primary network\n interface (eth0).\n

" + "smithy.api#documentation": "

(Interface endpoint) The IDs of the security groups to associate with the network interface.

", + "smithy.api#xmlName": "AddSecurityGroupId" } }, - "DisableLniAtDeviceIndex": { - "target": "com.amazonaws.ec2#AttributeBooleanValue", - "traits": { - "smithy.api#documentation": "

\n Specify true to indicate that local network interfaces at the current \n position should be disabled. \n

" - } - } - } - }, - "com.amazonaws.ec2#ModifyTrafficMirrorFilterNetworkServices": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ModifyTrafficMirrorFilterNetworkServicesRequest" - }, - "output": { - "target": "com.amazonaws.ec2#ModifyTrafficMirrorFilterNetworkServicesResult" - }, - "traits": { - "smithy.api#documentation": "

Allows or restricts mirroring network services.

\n

By default, Amazon DNS network services are not eligible for Traffic Mirror. Use AddNetworkServices to add network services to a Traffic Mirror filter. When a network service is added to the Traffic Mirror filter, all traffic related to that network service will be mirrored.\n When you no longer want to mirror network services, use RemoveNetworkServices to remove the network services from the Traffic Mirror filter.\n

" - } - }, - "com.amazonaws.ec2#ModifyTrafficMirrorFilterNetworkServicesRequest": { - "type": "structure", - "members": { - "TrafficMirrorFilterId": { - "target": "com.amazonaws.ec2#TrafficMirrorFilterId", + "RemoveSecurityGroupIds": { + "target": "com.amazonaws.ec2#VpcEndpointSecurityGroupIdList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Traffic Mirror filter.

", - "smithy.api#required": {} + "smithy.api#documentation": "

(Interface endpoint) The IDs of the security groups to disassociate from the network interface.

", + "smithy.api#xmlName": "RemoveSecurityGroupId" } }, - "AddNetworkServices": { - "target": "com.amazonaws.ec2#TrafficMirrorNetworkServiceList", + "IpAddressType": { + "target": "com.amazonaws.ec2#IpAddressType", "traits": { - "smithy.api#documentation": "

The network service, for example Amazon DNS, that you want to mirror.

", - "smithy.api#xmlName": "AddNetworkService" + "smithy.api#documentation": "

The IP address type for the endpoint.

" } }, - "RemoveNetworkServices": { - "target": "com.amazonaws.ec2#TrafficMirrorNetworkServiceList", + "DnsOptions": { + "target": "com.amazonaws.ec2#DnsOptionsSpecification", "traits": { - "smithy.api#documentation": "

The network service, for example Amazon DNS, that you no longer want to mirror.

", - "smithy.api#xmlName": "RemoveNetworkService" + "smithy.api#documentation": "

The DNS options for the endpoint.

" } }, - "DryRun": { + "PrivateDnsEnabled": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

(Interface endpoint) Indicates whether a private hosted zone is associated with the\n VPC.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyTrafficMirrorFilterNetworkServicesResult": { + "com.amazonaws.ec2#ModifyVpcEndpointResult": { "type": "structure", "members": { - "TrafficMirrorFilter": { - "target": "com.amazonaws.ec2#TrafficMirrorFilter", + "Return": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "TrafficMirrorFilter", - "smithy.api#documentation": "

The Traffic Mirror filter that the network service is associated with.

", - "smithy.api#xmlName": "trafficMirrorFilter" + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "smithy.api#xmlName": "return" } } } }, - "com.amazonaws.ec2#ModifyTrafficMirrorFilterRule": { + "com.amazonaws.ec2#ModifyVpcEndpointServiceConfiguration": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyTrafficMirrorFilterRuleRequest" + "target": "com.amazonaws.ec2#ModifyVpcEndpointServiceConfigurationRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifyTrafficMirrorFilterRuleResult" + "target": "com.amazonaws.ec2#ModifyVpcEndpointServiceConfigurationResult" }, "traits": { - "smithy.api#documentation": "

Modifies the specified Traffic Mirror rule.

\n

\n DestinationCidrBlock and SourceCidrBlock must both be an IPv4\n range or an IPv6 range.

" + "smithy.api#documentation": "

Modifies the attributes of your VPC endpoint service configuration. You can change the\n Network Load Balancers or Gateway Load Balancers for your service, and you can specify whether acceptance is\n required for requests to connect to your endpoint service through an interface VPC\n endpoint.

\n

If you set or modify the private DNS name, you must prove that you own the private DNS\n domain name.

" } }, - "com.amazonaws.ec2#ModifyTrafficMirrorFilterRuleRequest": { + "com.amazonaws.ec2#ModifyVpcEndpointServiceConfigurationRequest": { "type": "structure", "members": { - "TrafficMirrorFilterRuleId": { - "target": "com.amazonaws.ec2#TrafficMirrorFilterRuleId", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Traffic Mirror rule.

", - "smithy.api#required": {} - } - }, - "TrafficDirection": { - "target": "com.amazonaws.ec2#TrafficDirection", - "traits": { - "smithy.api#documentation": "

The type of traffic to assign to the rule.

" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "RuleNumber": { - "target": "com.amazonaws.ec2#Integer", + "ServiceId": { + "target": "com.amazonaws.ec2#VpcEndpointServiceId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given\n direction. The rules are processed in ascending order by rule number.

" + "smithy.api#documentation": "

The ID of the service.

", + "smithy.api#required": {} } }, - "RuleAction": { - "target": "com.amazonaws.ec2#TrafficMirrorRuleAction", + "PrivateDnsName": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The action to assign to the rule.

" + "smithy.api#documentation": "

(Interface endpoint configuration) The private DNS name to assign to the endpoint service.

" } }, - "DestinationPortRange": { - "target": "com.amazonaws.ec2#TrafficMirrorPortRangeRequest", + "RemovePrivateDnsName": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The destination ports that are associated with the Traffic Mirror rule.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

(Interface endpoint configuration) Removes the private DNS name of the endpoint service.

" } }, - "SourcePortRange": { - "target": "com.amazonaws.ec2#TrafficMirrorPortRangeRequest", + "AcceptanceRequired": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The port range to assign to the Traffic Mirror rule.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether requests to create an endpoint to your service must be accepted.

" } }, - "Protocol": { - "target": "com.amazonaws.ec2#Integer", + "AddNetworkLoadBalancerArns": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The protocol, for example TCP, to assign to the Traffic Mirror rule.

" + "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of Network Load Balancers to add to your service\n configuration.

", + "smithy.api#xmlName": "AddNetworkLoadBalancerArn" } }, - "DestinationCidrBlock": { - "target": "com.amazonaws.ec2#String", + "RemoveNetworkLoadBalancerArns": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "smithy.api#documentation": "

The destination CIDR block to assign to the Traffic Mirror rule.

" + "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of Network Load Balancers to remove from your service\n configuration.

", + "smithy.api#xmlName": "RemoveNetworkLoadBalancerArn" } }, - "SourceCidrBlock": { - "target": "com.amazonaws.ec2#String", + "AddGatewayLoadBalancerArns": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "smithy.api#documentation": "

The source CIDR block to assign to the Traffic Mirror rule.

" + "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of Gateway Load Balancers to add to your service\n configuration.

", + "smithy.api#xmlName": "AddGatewayLoadBalancerArn" } }, - "Description": { - "target": "com.amazonaws.ec2#String", + "RemoveGatewayLoadBalancerArns": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "smithy.api#documentation": "

The description to assign to the Traffic Mirror rule.

" + "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of Gateway Load Balancers to remove from your service\n configuration.

", + "smithy.api#xmlName": "RemoveGatewayLoadBalancerArn" } }, - "RemoveFields": { - "target": "com.amazonaws.ec2#TrafficMirrorFilterRuleFieldList", + "AddSupportedIpAddressTypes": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "smithy.api#documentation": "

The properties that you want to remove from the Traffic Mirror filter rule.

\n

When you remove a property from a Traffic Mirror filter rule, the property is set to the default.

", - "smithy.api#xmlName": "RemoveField" + "smithy.api#documentation": "

The IP address types to add to your service configuration.

", + "smithy.api#xmlName": "AddSupportedIpAddressType" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "RemoveSupportedIpAddressTypes": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The IP address types to remove from your service configuration.

", + "smithy.api#xmlName": "RemoveSupportedIpAddressType" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyTrafficMirrorFilterRuleResult": { + "com.amazonaws.ec2#ModifyVpcEndpointServiceConfigurationResult": { "type": "structure", "members": { - "TrafficMirrorFilterRule": { - "target": "com.amazonaws.ec2#TrafficMirrorFilterRule", + "Return": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "TrafficMirrorFilterRule", - "smithy.api#documentation": "

Modifies a Traffic Mirror rule.

", - "smithy.api#xmlName": "trafficMirrorFilterRule" + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "smithy.api#xmlName": "return" } } } }, - "com.amazonaws.ec2#ModifyTrafficMirrorSession": { + "com.amazonaws.ec2#ModifyVpcEndpointServicePayerResponsibility": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyTrafficMirrorSessionRequest" + "target": "com.amazonaws.ec2#ModifyVpcEndpointServicePayerResponsibilityRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifyTrafficMirrorSessionResult" + "target": "com.amazonaws.ec2#ModifyVpcEndpointServicePayerResponsibilityResult" }, "traits": { - "smithy.api#documentation": "

Modifies a Traffic Mirror session.

" + "smithy.api#documentation": "

Modifies the payer responsibility for your VPC endpoint service.

" } }, - "com.amazonaws.ec2#ModifyTrafficMirrorSessionRequest": { + "com.amazonaws.ec2#ModifyVpcEndpointServicePayerResponsibilityRequest": { "type": "structure", "members": { - "TrafficMirrorSessionId": { - "target": "com.amazonaws.ec2#TrafficMirrorSessionId", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Traffic Mirror session.

", - "smithy.api#required": {} - } - }, - "TrafficMirrorTargetId": { - "target": "com.amazonaws.ec2#TrafficMirrorTargetId", - "traits": { - "smithy.api#documentation": "

The Traffic Mirror target. The target must be in the same VPC as the source, or have a VPC peering connection with the source.

" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "TrafficMirrorFilterId": { - "target": "com.amazonaws.ec2#TrafficMirrorFilterId", + "ServiceId": { + "target": "com.amazonaws.ec2#VpcEndpointServiceId", "traits": { - "smithy.api#documentation": "

The ID of the Traffic Mirror filter.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the service.

", + "smithy.api#required": {} } }, - "PacketLength": { - "target": "com.amazonaws.ec2#Integer", + "PayerResponsibility": { + "target": "com.amazonaws.ec2#PayerResponsibility", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of bytes in each packet to mirror. These are bytes after the VXLAN header. To mirror a subset, set this to the length (in bytes) to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target. Do not specify this parameter when you want to mirror the entire packet.

" + "smithy.api#documentation": "

The entity that is responsible for the endpoint costs. The default is the endpoint owner.\n If you set the payer responsibility to the service owner, you cannot set it back to the\n endpoint owner.

", + "smithy.api#required": {} } - }, - "SessionNumber": { - "target": "com.amazonaws.ec2#Integer", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#ModifyVpcEndpointServicePayerResponsibilityResult": { + "type": "structure", + "members": { + "ReturnValue": { + "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "Return", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

\n

Valid values are 1-32766.

" + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "smithy.api#xmlName": "return" } - }, - "VirtualNetworkId": { - "target": "com.amazonaws.ec2#Integer", + } + } + }, + "com.amazonaws.ec2#ModifyVpcEndpointServicePermissions": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyVpcEndpointServicePermissionsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ModifyVpcEndpointServicePermissionsResult" + }, + "traits": { + "smithy.api#documentation": "

Modifies the permissions for your VPC endpoint service. You can add or remove permissions\n for service consumers (Amazon Web Services accounts, users, and IAM roles) to connect to\n your endpoint service.

\n

If you grant permissions to all principals, the service is public. Any users who know the name of a\n\t public service can send a request to attach an endpoint. If the service does not require manual approval,\n\t attachments are automatically approved.

" + } + }, + "com.amazonaws.ec2#ModifyVpcEndpointServicePermissionsRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The virtual network ID of the Traffic Mirror session.

" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "Description": { - "target": "com.amazonaws.ec2#String", + "ServiceId": { + "target": "com.amazonaws.ec2#VpcEndpointServiceId", "traits": { - "smithy.api#documentation": "

The description to assign to the Traffic Mirror session.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the service.

", + "smithy.api#required": {} } }, - "RemoveFields": { - "target": "com.amazonaws.ec2#TrafficMirrorSessionFieldList", + "AddAllowedPrincipals": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "smithy.api#documentation": "

The properties that you want to remove from the Traffic Mirror session.

\n

When you remove a property from a Traffic Mirror session, the property is set to the default.

", - "smithy.api#xmlName": "RemoveField" + "smithy.api#documentation": "

The Amazon Resource Names (ARN) of the principals.\n\t Permissions are granted to the principals in this list.\n\t To grant permissions to all principals, specify an asterisk (*).

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "RemoveAllowedPrincipals": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The Amazon Resource Names (ARN) of the principals.\n\t Permissions are revoked for principals in this list.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyTrafficMirrorSessionResult": { + "com.amazonaws.ec2#ModifyVpcEndpointServicePermissionsResult": { "type": "structure", "members": { - "TrafficMirrorSession": { - "target": "com.amazonaws.ec2#TrafficMirrorSession", + "AddedPrincipals": { + "target": "com.amazonaws.ec2#AddedPrincipalSet", "traits": { - "aws.protocols#ec2QueryName": "TrafficMirrorSession", - "smithy.api#documentation": "

Information about the Traffic Mirror session.

", - "smithy.api#xmlName": "trafficMirrorSession" + "aws.protocols#ec2QueryName": "AddedPrincipalSet", + "smithy.api#documentation": "

Information about the added principals.

", + "smithy.api#xmlName": "addedPrincipalSet" + } + }, + "ReturnValue": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "smithy.api#xmlName": "return" } } } }, - "com.amazonaws.ec2#ModifyTransitGateway": { + "com.amazonaws.ec2#ModifyVpcPeeringConnectionOptions": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyTransitGatewayRequest" + "target": "com.amazonaws.ec2#ModifyVpcPeeringConnectionOptionsRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifyTransitGatewayResult" + "target": "com.amazonaws.ec2#ModifyVpcPeeringConnectionOptionsResult" }, "traits": { - "smithy.api#documentation": "

Modifies the specified transit gateway. When you modify a transit gateway, the modified options are applied to new transit gateway attachments only. Your existing transit gateway attachments are not modified.

" + "smithy.api#documentation": "\n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
\n

Modifies the VPC peering connection options on one side of a VPC peering connection. You can do the following:

\n
    \n
  • \n

    Enable/disable communication over the peering connection between an EC2-Classic instance that's linked to your VPC (using ClassicLink) and instances in the peer VPC.

    \n
  • \n
  • \n

    Enable/disable communication over the peering connection between instances in your VPC and an EC2-Classic instance that's linked to the peer VPC.

    \n
  • \n
  • \n

    Enable/disable the ability to resolve public DNS hostnames to private IP\n addresses when queried from instances in the peer VPC.

    \n
  • \n
\n

If the peered VPCs are in the same Amazon Web Services account, you can enable DNS resolution \n for queries from the local VPC. This ensures that queries from the local VPC resolve to private IP\n addresses in the peer VPC. This option is not available if the peered VPCs are in different\n different Amazon Web Services accounts or different Regions. For peered VPCs in different \n Amazon Web Services accounts, each Amazon Web Services account owner must initiate a separate request \n to modify the peering connection options. For inter-region peering connections, you must use the \n Region for the requester VPC to modify the requester VPC peering options and the Region for the \n accepter VPC to modify the accepter VPC peering options. To verify which VPCs are the accepter and \n the requester for a VPC peering connection, use the DescribeVpcPeeringConnections command.

" } }, - "com.amazonaws.ec2#ModifyTransitGatewayOptions": { + "com.amazonaws.ec2#ModifyVpcPeeringConnectionOptionsRequest": { "type": "structure", "members": { - "AddTransitGatewayCidrBlocks": { - "target": "com.amazonaws.ec2#TransitGatewayCidrBlockStringList", + "AccepterPeeringConnectionOptions": { + "target": "com.amazonaws.ec2#PeeringConnectionOptionsRequest", "traits": { - "smithy.api#documentation": "

Adds IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for IPv6.

" + "smithy.api#documentation": "

The VPC peering connection options for the accepter VPC.

" } }, - "RemoveTransitGatewayCidrBlocks": { - "target": "com.amazonaws.ec2#TransitGatewayCidrBlockStringList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

Removes CIDR blocks for the transit gateway.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "VpnEcmpSupport": { - "target": "com.amazonaws.ec2#VpnEcmpSupportValue", + "RequesterPeeringConnectionOptions": { + "target": "com.amazonaws.ec2#PeeringConnectionOptionsRequest", "traits": { - "smithy.api#documentation": "

Enable or disable Equal Cost Multipath Protocol support.

" + "smithy.api#documentation": "

The VPC peering connection options for the requester VPC.

" } }, - "DnsSupport": { - "target": "com.amazonaws.ec2#DnsSupportValue", + "VpcPeeringConnectionId": { + "target": "com.amazonaws.ec2#VpcPeeringConnectionId", "traits": { - "smithy.api#documentation": "

Enable or disable DNS support.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the VPC peering connection.

", + "smithy.api#required": {} } - }, - "AutoAcceptSharedAttachments": { - "target": "com.amazonaws.ec2#AutoAcceptSharedAttachmentsValue", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#ModifyVpcPeeringConnectionOptionsResult": { + "type": "structure", + "members": { + "AccepterPeeringConnectionOptions": { + "target": "com.amazonaws.ec2#PeeringConnectionOptions", "traits": { - "smithy.api#documentation": "

Enable or disable automatic acceptance of attachment requests.

" + "aws.protocols#ec2QueryName": "AccepterPeeringConnectionOptions", + "smithy.api#documentation": "

Information about the VPC peering connection options for the accepter VPC.

", + "smithy.api#xmlName": "accepterPeeringConnectionOptions" } }, - "DefaultRouteTableAssociation": { - "target": "com.amazonaws.ec2#DefaultRouteTableAssociationValue", + "RequesterPeeringConnectionOptions": { + "target": "com.amazonaws.ec2#PeeringConnectionOptions", "traits": { - "smithy.api#documentation": "

Enable or disable automatic association with the default association route table.

" + "aws.protocols#ec2QueryName": "RequesterPeeringConnectionOptions", + "smithy.api#documentation": "

Information about the VPC peering connection options for the requester VPC.

", + "smithy.api#xmlName": "requesterPeeringConnectionOptions" } - }, - "AssociationDefaultRouteTableId": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", + } + } + }, + "com.amazonaws.ec2#ModifyVpcTenancy": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyVpcTenancyRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ModifyVpcTenancyResult" + }, + "traits": { + "smithy.api#documentation": "

Modifies the instance tenancy attribute of the specified VPC. You can change the\n instance tenancy attribute of a VPC to default only. You cannot change the\n instance tenancy attribute to dedicated.

\n

After you modify the tenancy of the VPC, any new instances that you launch into the\n VPC have a tenancy of default, unless you specify otherwise during launch.\n The tenancy of any existing instances in the VPC is not affected.

\n

For more information, see Dedicated Instances in the\n\t\t\t\tAmazon Elastic Compute Cloud User Guide.

" + } + }, + "com.amazonaws.ec2#ModifyVpcTenancyRequest": { + "type": "structure", + "members": { + "VpcId": { + "target": "com.amazonaws.ec2#VpcId", "traits": { - "smithy.api#documentation": "

The ID of the default association route table.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the VPC.

", + "smithy.api#required": {} } }, - "DefaultRouteTablePropagation": { - "target": "com.amazonaws.ec2#DefaultRouteTablePropagationValue", + "InstanceTenancy": { + "target": "com.amazonaws.ec2#VpcTenancy", "traits": { - "smithy.api#documentation": "

Enable or disable automatic propagation of routes to the default propagation route table.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The instance tenancy attribute for the VPC.

", + "smithy.api#required": {} } }, - "PropagationDefaultRouteTableId": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The ID of the default propagation route table.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - }, - "AmazonSideAsn": { - "target": "com.amazonaws.ec2#Long", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#ModifyVpcTenancyResult": { + "type": "structure", + "members": { + "ReturnValue": { + "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "Return", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

A private Autonomous System Number (ASN) for the Amazon side of a BGP session. \n The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 for 32-bit ASNs.

\n

The modify ASN operation is not allowed on a transit gateway with active BGP sessions. You must first delete all transit gateway attachments that have BGP configured prior to modifying the ASN on the transit gateway.

" + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, returns an\n error.

", + "smithy.api#xmlName": "return" } } + } + }, + "com.amazonaws.ec2#ModifyVpnConnection": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyVpnConnectionRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ModifyVpnConnectionResult" }, "traits": { - "smithy.api#documentation": "

The transit gateway options.

" + "smithy.api#documentation": "

Modifies the customer gateway or the target gateway of an Amazon Web Services Site-to-Site VPN connection. To\n modify the target gateway, the following migration options are available:

\n
    \n
  • \n

    An existing virtual private gateway to a new virtual private gateway

    \n
  • \n
  • \n

    An existing virtual private gateway to a transit gateway

    \n
  • \n
  • \n

    An existing transit gateway to a new transit gateway

    \n
  • \n
  • \n

    An existing transit gateway to a virtual private gateway

    \n
  • \n
\n

Before you perform the migration to the new gateway, you must configure the new\n gateway. Use CreateVpnGateway to create a virtual private gateway, or\n CreateTransitGateway to create a transit gateway.

\n

This step is required when you migrate from a virtual private gateway with static\n routes to a transit gateway.

\n

You must delete the static routes before you migrate to the new gateway.

\n

Keep a copy of the static route before you delete it. You will need to add back these\n routes to the transit gateway after the VPN connection migration is complete.

\n

After you migrate to the new gateway, you might need to modify your VPC route table.\n Use CreateRoute and DeleteRoute to make the changes\n described in Update VPC route\n tables in the Amazon Web Services Site-to-Site VPN User Guide.

\n

When the new gateway is a transit gateway, modify the transit gateway route table to\n allow traffic between the VPC and the Amazon Web Services Site-to-Site VPN connection.\n Use CreateTransitGatewayRoute to add the routes.

\n

If you deleted VPN static routes, you must add the static routes to the transit\n gateway route table.

\n

After you perform this operation, the VPN endpoint's IP addresses on the Amazon Web Services side and the tunnel options remain intact. Your Amazon Web Services Site-to-Site VPN connection will\n be temporarily unavailable for a brief period while we provision the new\n endpoints.

" } }, - "com.amazonaws.ec2#ModifyTransitGatewayPrefixListReference": { + "com.amazonaws.ec2#ModifyVpnConnectionOptions": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyTransitGatewayPrefixListReferenceRequest" + "target": "com.amazonaws.ec2#ModifyVpnConnectionOptionsRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifyTransitGatewayPrefixListReferenceResult" + "target": "com.amazonaws.ec2#ModifyVpnConnectionOptionsResult" }, "traits": { - "smithy.api#documentation": "

Modifies a reference (route) to a prefix list in a specified transit gateway route table.

" + "smithy.api#documentation": "

Modifies the connection options for your Site-to-Site VPN connection.

\n

When you modify the VPN connection options, the VPN endpoint IP addresses on the\n Amazon Web Services side do not change, and the tunnel options do not change. Your\n VPN connection will be temporarily unavailable for a brief period while the VPN\n connection is updated.

" } }, - "com.amazonaws.ec2#ModifyTransitGatewayPrefixListReferenceRequest": { + "com.amazonaws.ec2#ModifyVpnConnectionOptionsRequest": { "type": "structure", "members": { - "TransitGatewayRouteTableId": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", + "VpnConnectionId": { + "target": "com.amazonaws.ec2#VpnConnectionId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the transit gateway route table.

", + "smithy.api#documentation": "

The ID of the Site-to-Site VPN connection.

", "smithy.api#required": {} } }, - "PrefixListId": { - "target": "com.amazonaws.ec2#PrefixListResourceId", + "LocalIpv4NetworkCidr": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the prefix list.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.

\n

Default: 0.0.0.0/0\n

" } }, - "TransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", + "RemoteIpv4NetworkCidr": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The ID of the attachment to which traffic is routed.

" + "smithy.api#documentation": "

The IPv4 CIDR on the Amazon Web Services side of the VPN connection.

\n

Default: 0.0.0.0/0\n

" } }, - "Blackhole": { - "target": "com.amazonaws.ec2#Boolean", + "LocalIpv6NetworkCidr": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to drop traffic that matches this route.

" + "smithy.api#documentation": "

The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.

\n

Default: ::/0\n

" + } + }, + "RemoteIpv6NetworkCidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The IPv6 CIDR on the Amazon Web Services side of the VPN connection.

\n

Default: ::/0\n

" } }, "DryRun": { @@ -64999,45 +70618,54 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyTransitGatewayPrefixListReferenceResult": { + "com.amazonaws.ec2#ModifyVpnConnectionOptionsResult": { "type": "structure", "members": { - "TransitGatewayPrefixListReference": { - "target": "com.amazonaws.ec2#TransitGatewayPrefixListReference", + "VpnConnection": { + "target": "com.amazonaws.ec2#VpnConnection", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayPrefixListReference", - "smithy.api#documentation": "

Information about the prefix list reference.

", - "smithy.api#xmlName": "transitGatewayPrefixListReference" + "aws.protocols#ec2QueryName": "VpnConnection", + "smithy.api#documentation": "

Information about the VPN connection.

", + "smithy.api#xmlName": "vpnConnection" } } } }, - "com.amazonaws.ec2#ModifyTransitGatewayRequest": { + "com.amazonaws.ec2#ModifyVpnConnectionRequest": { "type": "structure", "members": { - "TransitGatewayId": { - "target": "com.amazonaws.ec2#TransitGatewayId", + "VpnConnectionId": { + "target": "com.amazonaws.ec2#VpnConnectionId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the transit gateway.

", + "smithy.api#documentation": "

The ID of the VPN connection.

", "smithy.api#required": {} } }, - "Description": { - "target": "com.amazonaws.ec2#String", + "TransitGatewayId": { + "target": "com.amazonaws.ec2#TransitGatewayId", "traits": { - "smithy.api#documentation": "

The description for the transit gateway.

" + "smithy.api#documentation": "

The ID of the transit gateway.

" } }, - "Options": { - "target": "com.amazonaws.ec2#ModifyTransitGatewayOptions", + "CustomerGatewayId": { + "target": "com.amazonaws.ec2#CustomerGatewayId", "traits": { - "smithy.api#documentation": "

The options to modify.

" + "smithy.api#documentation": "

The ID of the customer gateway at your end of the VPN connection.

" + } + }, + "VpnGatewayId": { + "target": "com.amazonaws.ec2#VpnGatewayId", + "traits": { + "smithy.api#documentation": "

The ID of the virtual private gateway at the Amazon Web Services side of the VPN\n connection.

" } }, "DryRun": { @@ -65045,62 +70673,56 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyTransitGatewayResult": { + "com.amazonaws.ec2#ModifyVpnConnectionResult": { "type": "structure", "members": { - "TransitGateway": { - "target": "com.amazonaws.ec2#TransitGateway", + "VpnConnection": { + "target": "com.amazonaws.ec2#VpnConnection", "traits": { - "aws.protocols#ec2QueryName": "TransitGateway", - "smithy.api#xmlName": "transitGateway" + "aws.protocols#ec2QueryName": "VpnConnection", + "smithy.api#documentation": "

Information about the VPN connection.

", + "smithy.api#xmlName": "vpnConnection" } } } }, - "com.amazonaws.ec2#ModifyTransitGatewayVpcAttachment": { + "com.amazonaws.ec2#ModifyVpnTunnelCertificate": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyTransitGatewayVpcAttachmentRequest" + "target": "com.amazonaws.ec2#ModifyVpnTunnelCertificateRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifyTransitGatewayVpcAttachmentResult" + "target": "com.amazonaws.ec2#ModifyVpnTunnelCertificateResult" }, "traits": { - "smithy.api#documentation": "

Modifies the specified VPC attachment.

" + "smithy.api#documentation": "

Modifies the VPN tunnel endpoint certificate.

" } }, - "com.amazonaws.ec2#ModifyTransitGatewayVpcAttachmentRequest": { + "com.amazonaws.ec2#ModifyVpnTunnelCertificateRequest": { "type": "structure", "members": { - "TransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", + "VpnConnectionId": { + "target": "com.amazonaws.ec2#VpnConnectionId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the attachment.

", + "smithy.api#documentation": "

The ID of the Amazon Web Services Site-to-Site VPN connection.

", "smithy.api#required": {} } }, - "AddSubnetIds": { - "target": "com.amazonaws.ec2#TransitGatewaySubnetIdList", - "traits": { - "smithy.api#documentation": "

The IDs of one or more subnets to add. You can specify at most one subnet per Availability Zone.

" - } - }, - "RemoveSubnetIds": { - "target": "com.amazonaws.ec2#TransitGatewaySubnetIdList", - "traits": { - "smithy.api#documentation": "

The IDs of one or more subnets to remove.

" - } - }, - "Options": { - "target": "com.amazonaws.ec2#ModifyTransitGatewayVpcAttachmentRequestOptions", + "VpnTunnelOutsideIpAddress": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The new VPC attachment options.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The external IP address of the VPN tunnel.

", + "smithy.api#required": {} } }, "DryRun": { @@ -65108,245 +70730,404 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - } - } - }, - "com.amazonaws.ec2#ModifyTransitGatewayVpcAttachmentRequestOptions": { - "type": "structure", - "members": { - "DnsSupport": { - "target": "com.amazonaws.ec2#DnsSupportValue", - "traits": { - "smithy.api#documentation": "

Enable or disable DNS support. The default is enable.

" - } - }, - "Ipv6Support": { - "target": "com.amazonaws.ec2#Ipv6SupportValue", - "traits": { - "smithy.api#documentation": "

Enable or disable IPv6 support. The default is enable.

" - } - }, - "ApplianceModeSupport": { - "target": "com.amazonaws.ec2#ApplianceModeSupportValue", - "traits": { - "smithy.api#documentation": "

Enable or disable support for appliance mode. If enabled, a traffic flow between a source and destination uses the same Availability Zone for the VPC attachment for the lifetime of that flow. The default is disable.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Describes the options for a VPC attachment.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyTransitGatewayVpcAttachmentResult": { + "com.amazonaws.ec2#ModifyVpnTunnelCertificateResult": { "type": "structure", "members": { - "TransitGatewayVpcAttachment": { - "target": "com.amazonaws.ec2#TransitGatewayVpcAttachment", + "VpnConnection": { + "target": "com.amazonaws.ec2#VpnConnection", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayVpcAttachment", - "smithy.api#documentation": "

Information about the modified attachment.

", - "smithy.api#xmlName": "transitGatewayVpcAttachment" + "aws.protocols#ec2QueryName": "VpnConnection", + "smithy.api#documentation": "

Information about the VPN connection.

", + "smithy.api#xmlName": "vpnConnection" } } } }, - "com.amazonaws.ec2#ModifyVolume": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ModifyVolumeRequest" - }, - "output": { - "target": "com.amazonaws.ec2#ModifyVolumeResult" - }, - "traits": { - "smithy.api#documentation": "

You can modify several parameters of an existing EBS volume, including volume size, volume\n type, and IOPS capacity. If your EBS volume is attached to a current-generation EC2 instance\n type, you might be able to apply these changes without stopping the instance or detaching the\n volume from it. For more information about modifying EBS volumes, see Amazon EBS Elastic Volumes (Linux instances) \n or Amazon EBS Elastic Volumes (Windows instances).

\n

When you complete a resize operation on your volume, you need to extend the volume's\n file-system size to take advantage of the new storage capacity. For more information, see Extend a Linux file system or \n Extend a Windows file system.

\n

You can use CloudWatch Events to check the status of a modification to an EBS volume. For\n information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. You can also track the status of a\n modification using DescribeVolumesModifications. For information\n about tracking status changes using either method, see Monitor the progress of volume modifications.

\n

With previous-generation instance types, resizing an EBS volume might require detaching and\n reattaching the volume or stopping and restarting the instance.

\n

After modifying a volume, you must wait at least six hours and ensure that the volume \n is in the in-use or available state before you can modify the same \n volume. This is sometimes referred to as a cooldown period.

" - } - }, - "com.amazonaws.ec2#ModifyVolumeAttribute": { + "com.amazonaws.ec2#ModifyVpnTunnelOptions": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyVolumeAttributeRequest" + "target": "com.amazonaws.ec2#ModifyVpnTunnelOptionsRequest" }, "output": { - "target": "smithy.api#Unit" + "target": "com.amazonaws.ec2#ModifyVpnTunnelOptionsResult" }, "traits": { - "smithy.api#documentation": "

Modifies a volume attribute.

\n

By default, all I/O operations for the volume are suspended when the data on the volume is\n determined to be potentially inconsistent, to prevent undetectable, latent data corruption.\n The I/O access to the volume can be resumed by first enabling I/O access and then checking the\n data consistency on your volume.

\n

You can change the default behavior to resume I/O operations. We recommend that you change\n this only for boot volumes or for volumes that are stateless or disposable.

" + "smithy.api#documentation": "

Modifies the options for a VPN tunnel in an Amazon Web Services Site-to-Site VPN connection. You can modify\n multiple options for a tunnel in a single request, but you can only modify one tunnel at\n a time. For more information, see Site-to-Site VPN tunnel options for your Site-to-Site VPN\n connection in the Amazon Web Services Site-to-Site VPN User Guide.

" } }, - "com.amazonaws.ec2#ModifyVolumeAttributeRequest": { + "com.amazonaws.ec2#ModifyVpnTunnelOptionsRequest": { "type": "structure", "members": { - "AutoEnableIO": { - "target": "com.amazonaws.ec2#AttributeBooleanValue", + "VpnConnectionId": { + "target": "com.amazonaws.ec2#VpnConnectionId", "traits": { - "smithy.api#documentation": "

Indicates whether the volume should be auto-enabled for I/O operations.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Amazon Web Services Site-to-Site VPN connection.

", + "smithy.api#required": {} } }, - "VolumeId": { - "target": "com.amazonaws.ec2#VolumeId", + "VpnTunnelOutsideIpAddress": { + "target": "com.amazonaws.ec2#String", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the volume.

", + "smithy.api#documentation": "

The external IP address of the VPN tunnel.

", + "smithy.api#required": {} + } + }, + "TunnelOptions": { + "target": "com.amazonaws.ec2#ModifyVpnTunnelOptionsSpecification", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The tunnel options to modify.

", "smithy.api#required": {} } }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyVolumeRequest": { + "com.amazonaws.ec2#ModifyVpnTunnelOptionsResult": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "VpnConnection": { + "target": "com.amazonaws.ec2#VpnConnection", + "traits": { + "aws.protocols#ec2QueryName": "VpnConnection", + "smithy.api#documentation": "

Information about the VPN connection.

", + "smithy.api#xmlName": "vpnConnection" + } + } + } + }, + "com.amazonaws.ec2#ModifyVpnTunnelOptionsSpecification": { + "type": "structure", + "members": { + "TunnelInsideCidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks must be\n unique across all VPN connections that use the same virtual private gateway.

\n

Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The\n following CIDR blocks are reserved and cannot be used:

\n
    \n
  • \n

    \n 169.254.0.0/30\n

    \n
  • \n
  • \n

    \n 169.254.1.0/30\n

    \n
  • \n
  • \n

    \n 169.254.2.0/30\n

    \n
  • \n
  • \n

    \n 169.254.3.0/30\n

    \n
  • \n
  • \n

    \n 169.254.4.0/30\n

    \n
  • \n
  • \n

    \n 169.254.5.0/30\n

    \n
  • \n
  • \n

    \n 169.254.169.252/30\n

    \n
  • \n
" + } + }, + "TunnelInsideIpv6Cidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be\n unique across all VPN connections that use the same transit gateway.

\n

Constraints: A size /126 CIDR block from the local fd00::/8 range.

" + } + }, + "PreSharedKey": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The pre-shared key (PSK) to establish initial authentication between the virtual\n private gateway and the customer gateway.

\n

Constraints: Allowed characters are alphanumeric characters, periods (.), and\n underscores (_). Must be between 8 and 64 characters in length and cannot start with\n zero (0).

" + } + }, + "Phase1LifetimeSeconds": { + "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#default": 0, + "smithy.api#documentation": "

The lifetime for phase 1 of the IKE negotiation, in seconds.

\n

Constraints: A value between 900 and 28,800.

\n

Default: 28800\n

" } }, - "VolumeId": { - "target": "com.amazonaws.ec2#VolumeId", + "Phase2LifetimeSeconds": { + "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the volume.

", - "smithy.api#required": {} + "smithy.api#default": 0, + "smithy.api#documentation": "

The lifetime for phase 2 of the IKE negotiation, in seconds.

\n

Constraints: A value between 900 and 3,600. The value must be less than the value for\n Phase1LifetimeSeconds.

\n

Default: 3600\n

" } }, - "Size": { + "RekeyMarginTimeSeconds": { "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The target size of the volume, in GiB. The target volume size must be greater than or\n equal to the existing size of the volume.

\n

The following are the supported volumes sizes for each volume type:

\n
    \n
  • \n

    \n gp2 and gp3: 1-16,384

    \n
  • \n
  • \n

    \n io1 and io2: 4-16,384

    \n
  • \n
  • \n

    \n st1 and sc1: 125-16,384

    \n
  • \n
  • \n

    \n standard: 1-1,024

    \n
  • \n
\n

Default: The existing size is retained.

" + "smithy.api#documentation": "

The margin time, in seconds, before the phase 2 lifetime expires, during which the\n Amazon Web Services side of the VPN connection performs an IKE rekey. The exact time\n of the rekey is randomly selected based on the value for\n RekeyFuzzPercentage.

\n

Constraints: A value between 60 and half of Phase2LifetimeSeconds.

\n

Default: 540\n

" } }, - "VolumeType": { - "target": "com.amazonaws.ec2#VolumeType", + "RekeyFuzzPercentage": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#documentation": "

The target EBS volume type of the volume. For more information, see Amazon EBS volume types in the Amazon Elastic Compute Cloud User Guide.

\n

Default: The existing type is retained.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The percentage of the rekey window (determined by RekeyMarginTimeSeconds)\n during which the rekey time is randomly selected.

\n

Constraints: A value between 0 and 100.

\n

Default: 100\n

" } }, - "Iops": { + "ReplayWindowSize": { "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The target IOPS rate of the volume. This parameter is valid only for gp3, io1, and io2 volumes.

\n

The following are the supported values for each volume type:

\n
    \n
  • \n

    \n gp3: 3,000-16,000 IOPS

    \n
  • \n
  • \n

    \n io1: 100-64,000 IOPS

    \n
  • \n
  • \n

    \n io2: 100-64,000 IOPS

    \n
  • \n
\n

Default: The existing value is retained if you keep the same volume type. If you change\n the volume type to io1, io2, or gp3, the default is 3,000.

" + "smithy.api#documentation": "

The number of packets in an IKE replay window.

\n

Constraints: A value between 64 and 2048.

\n

Default: 1024\n

" } }, - "Throughput": { + "DPDTimeoutSeconds": { "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The target throughput of the volume, in MiB/s. This parameter is valid only for gp3 volumes. \n The maximum value is 1,000.

\n

Default: The existing value is retained if the source and target volume type is gp3.\n Otherwise, the default value is 125.

\n \t

Valid Range: Minimum value of 125. Maximum value of 1000.

" + "smithy.api#documentation": "

The number of seconds after which a DPD timeout occurs.

\n

Constraints: A value greater than or equal to 30.

\n

Default: 30\n

" } }, - "MultiAttachEnabled": { + "DPDTimeoutAction": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The action to take after DPD timeout occurs. Specify restart to restart\n the IKE initiation. Specify clear to end the IKE session.

\n

Valid Values: clear | none | restart\n

\n

Default: clear\n

" + } + }, + "Phase1EncryptionAlgorithms": { + "target": "com.amazonaws.ec2#Phase1EncryptionAlgorithmsRequestList", + "traits": { + "smithy.api#documentation": "

One or more encryption algorithms that are permitted for the VPN tunnel for phase 1\n IKE negotiations.

\n

Valid values: AES128 | AES256 | AES128-GCM-16 |\n AES256-GCM-16\n

", + "smithy.api#xmlName": "Phase1EncryptionAlgorithm" + } + }, + "Phase2EncryptionAlgorithms": { + "target": "com.amazonaws.ec2#Phase2EncryptionAlgorithmsRequestList", + "traits": { + "smithy.api#documentation": "

One or more encryption algorithms that are permitted for the VPN tunnel for phase 2\n IKE negotiations.

\n

Valid values: AES128 | AES256 | AES128-GCM-16 |\n AES256-GCM-16\n

", + "smithy.api#xmlName": "Phase2EncryptionAlgorithm" + } + }, + "Phase1IntegrityAlgorithms": { + "target": "com.amazonaws.ec2#Phase1IntegrityAlgorithmsRequestList", + "traits": { + "smithy.api#documentation": "

One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE\n negotiations.

\n

Valid values: SHA1 | SHA2-256 | SHA2-384 |\n SHA2-512\n

", + "smithy.api#xmlName": "Phase1IntegrityAlgorithm" + } + }, + "Phase2IntegrityAlgorithms": { + "target": "com.amazonaws.ec2#Phase2IntegrityAlgorithmsRequestList", + "traits": { + "smithy.api#documentation": "

One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE\n negotiations.

\n

Valid values: SHA1 | SHA2-256 | SHA2-384 |\n SHA2-512\n

", + "smithy.api#xmlName": "Phase2IntegrityAlgorithm" + } + }, + "Phase1DHGroupNumbers": { + "target": "com.amazonaws.ec2#Phase1DHGroupNumbersRequestList", + "traits": { + "smithy.api#documentation": "

One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for\n phase 1 IKE negotiations.

\n

Valid values: 2 | 14 | 15 | 16 |\n 17 | 18 | 19 | 20 |\n 21 | 22 | 23 | 24\n

", + "smithy.api#xmlName": "Phase1DHGroupNumber" + } + }, + "Phase2DHGroupNumbers": { + "target": "com.amazonaws.ec2#Phase2DHGroupNumbersRequestList", + "traits": { + "smithy.api#documentation": "

One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for\n phase 2 IKE negotiations.

\n

Valid values: 2 | 5 | 14 | 15 |\n 16 | 17 | 18 | 19 |\n 20 | 21 | 22 | 23 |\n 24\n

", + "smithy.api#xmlName": "Phase2DHGroupNumber" + } + }, + "IKEVersions": { + "target": "com.amazonaws.ec2#IKEVersionsRequestList", + "traits": { + "smithy.api#documentation": "

The IKE versions that are permitted for the VPN tunnel.

\n

Valid values: ikev1 | ikev2\n

", + "smithy.api#xmlName": "IKEVersion" + } + }, + "StartupAction": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The action to take when the establishing the tunnel for the VPN connection. By\n default, your customer gateway device must initiate the IKE negotiation and bring up the\n tunnel. Specify start for Amazon Web Services to initiate the IKE\n negotiation.

\n

Valid Values: add | start\n

\n

Default: add\n

" + } + }, + "LogOptions": { + "target": "com.amazonaws.ec2#VpnTunnelLogOptionsSpecification", + "traits": { + "smithy.api#documentation": "

Options for logging VPN tunnel activity.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The Amazon Web Services Site-to-Site VPN tunnel options to modify.

" + } + }, + "com.amazonaws.ec2#MonitorInstances": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#MonitorInstancesRequest" + }, + "output": { + "target": "com.amazonaws.ec2#MonitorInstancesResult" + }, + "traits": { + "smithy.api#documentation": "

Enables detailed monitoring for a running instance. Otherwise, basic monitoring is\n enabled. For more information, see Monitor your instances using\n CloudWatch in the Amazon EC2 User Guide.

\n

To disable detailed monitoring, see UnmonitorInstances.

" + } + }, + "com.amazonaws.ec2#MonitorInstancesRequest": { + "type": "structure", + "members": { + "InstanceIds": { + "target": "com.amazonaws.ec2#InstanceIdStringList", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The IDs of the instances.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "InstanceId" + } + }, + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Specifies whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the \n\t\tvolume to up to 16 \n\t\t\tNitro-based instances in the same Availability Zone. This parameter is \n\t\tsupported with io1 and io2 volumes only. For more information, see \n\t\t\n\t\t\tAmazon EBS Multi-Attach in the Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyVolumeResult": { + "com.amazonaws.ec2#MonitorInstancesResult": { "type": "structure", "members": { - "VolumeModification": { - "target": "com.amazonaws.ec2#VolumeModification", + "InstanceMonitorings": { + "target": "com.amazonaws.ec2#InstanceMonitoringList", "traits": { - "aws.protocols#ec2QueryName": "VolumeModification", - "smithy.api#documentation": "

Information about the volume modification.

", - "smithy.api#xmlName": "volumeModification" + "aws.protocols#ec2QueryName": "InstancesSet", + "smithy.api#documentation": "

The monitoring information.

", + "smithy.api#xmlName": "instancesSet" } } } }, - "com.amazonaws.ec2#ModifyVpcAttribute": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ModifyVpcAttributeRequest" - }, - "output": { - "target": "smithy.api#Unit" + "com.amazonaws.ec2#Monitoring": { + "type": "structure", + "members": { + "State": { + "target": "com.amazonaws.ec2#MonitoringState", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is\n enabled.

", + "smithy.api#xmlName": "state" + } + } }, "traits": { - "smithy.api#documentation": "

Modifies the specified attribute of the specified VPC.

" + "smithy.api#documentation": "

Describes the monitoring of an instance.

" } }, - "com.amazonaws.ec2#ModifyVpcAttributeRequest": { - "type": "structure", + "com.amazonaws.ec2#MonitoringState": { + "type": "enum", "members": { - "EnableDnsHostnames": { - "target": "com.amazonaws.ec2#AttributeBooleanValue", + "disabled": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Indicates whether the instances launched in the VPC get DNS hostnames. If enabled, instances in the VPC get DNS hostnames; otherwise, they do not.

\n

You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute. You can only enable DNS hostnames if you've enabled DNS support.

" + "smithy.api#enumValue": "disabled" } }, - "EnableDnsSupport": { - "target": "com.amazonaws.ec2#AttributeBooleanValue", + "disabling": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Indicates whether the DNS resolution is supported for the VPC. If enabled, queries to\n\t\t\tthe Amazon provided DNS server at the 169.254.169.253 IP address, or the reserved IP\n\t\t\taddress at the base of the VPC network range \"plus two\" succeed. If disabled, the Amazon\n\t\t\tprovided DNS service in the VPC that resolves public DNS hostnames to IP addresses is\n\t\t\tnot enabled.

\n

You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute.

" + "smithy.api#enumValue": "disabling" } }, - "VpcId": { - "target": "com.amazonaws.ec2#VpcId", + "enabled": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "VpcId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the VPC.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "vpcId" + "smithy.api#enumValue": "enabled" } }, - "EnableNetworkAddressUsageMetrics": { - "target": "com.amazonaws.ec2#AttributeBooleanValue", + "pending": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Indicates whether Network Address Usage metrics are enabled for your VPC.

" + "smithy.api#enumValue": "pending" } } } }, - "com.amazonaws.ec2#ModifyVpcEndpoint": { + "com.amazonaws.ec2#MoveAddressToVpc": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyVpcEndpointRequest" + "target": "com.amazonaws.ec2#MoveAddressToVpcRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifyVpcEndpointResult" + "target": "com.amazonaws.ec2#MoveAddressToVpcResult" }, "traits": { - "smithy.api#documentation": "

Modifies attributes of a specified VPC endpoint. The attributes that you can modify\n depend on the type of VPC endpoint (interface, gateway, or Gateway Load Balancer). For more information, \n see the Amazon Web Services PrivateLink \n Guide.

" + "smithy.api#documentation": "

Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC platform. The\n Elastic IP address must be allocated to your account for more than 24 hours, and it must not\n be associated with an instance. After the Elastic IP address is moved, it is no longer\n available for use in the EC2-Classic platform, unless you move it back using the\n RestoreAddressToClassic request. You cannot move an Elastic IP address that was\n originally allocated for use in the EC2-VPC platform to the EC2-Classic platform.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" + } + }, + "com.amazonaws.ec2#MoveAddressToVpcRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + }, + "PublicIp": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "PublicIp", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Elastic IP address.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "publicIp" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#MoveAddressToVpcResult": { + "type": "structure", + "members": { + "AllocationId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AllocationId", + "smithy.api#documentation": "

The allocation ID for the Elastic IP address.

", + "smithy.api#xmlName": "allocationId" + } + }, + "Status": { + "target": "com.amazonaws.ec2#Status", + "traits": { + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The status of the move of the IP address.

", + "smithy.api#xmlName": "status" + } + } } }, - "com.amazonaws.ec2#ModifyVpcEndpointConnectionNotification": { + "com.amazonaws.ec2#MoveByoipCidrToIpam": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ModifyVpcEndpointConnectionNotificationRequest" + "target": "com.amazonaws.ec2#MoveByoipCidrToIpamRequest" }, "output": { - "target": "com.amazonaws.ec2#ModifyVpcEndpointConnectionNotificationResult" + "target": "com.amazonaws.ec2#MoveByoipCidrToIpamResult" }, "traits": { - "smithy.api#documentation": "

Modifies a connection notification for VPC endpoint or VPC endpoint service. You\n can change the SNS topic for the notification, or the events for which to be notified.

" + "smithy.api#documentation": "

Move a BYOIPv4 CIDR to IPAM from a public IPv4 pool.

\n

If you already have a BYOIPv4 CIDR with Amazon Web Services, you can move the CIDR to IPAM from a public IPv4 pool. You cannot move an IPv6 CIDR to IPAM. If you are bringing a new IP address to Amazon Web Services for the first time, complete the steps in Tutorial: BYOIP address CIDRs to IPAM.

" } }, - "com.amazonaws.ec2#ModifyVpcEndpointConnectionNotificationRequest": { + "com.amazonaws.ec2#MoveByoipCidrToIpamRequest": { "type": "structure", "members": { "DryRun": { @@ -65354,1441 +71135,1453 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "ConnectionNotificationId": { - "target": "com.amazonaws.ec2#ConnectionNotificationId", + "Cidr": { + "target": "com.amazonaws.ec2#String", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the notification.

", + "smithy.api#documentation": "

The BYOIP CIDR.

", "smithy.api#required": {} } }, - "ConnectionNotificationArn": { - "target": "com.amazonaws.ec2#String", + "IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", "traits": { - "smithy.api#documentation": "

The ARN for the SNS topic for the notification.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The IPAM pool ID.

", + "smithy.api#required": {} } }, - "ConnectionEvents": { - "target": "com.amazonaws.ec2#ValueStringList", + "IpamPoolOwner": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

One or more events for the endpoint. Valid values are Accept,\n Connect, Delete, and Reject.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Amazon Web Services account ID of the owner of the IPAM pool.

", + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ModifyVpcEndpointConnectionNotificationResult": { + "com.amazonaws.ec2#MoveByoipCidrToIpamResult": { "type": "structure", "members": { - "ReturnValue": { - "target": "com.amazonaws.ec2#Boolean", + "ByoipCidr": { + "target": "com.amazonaws.ec2#ByoipCidr", "traits": { - "aws.protocols#ec2QueryName": "Return", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "smithy.api#xmlName": "return" + "aws.protocols#ec2QueryName": "ByoipCidr", + "smithy.api#documentation": "

The BYOIP CIDR.

", + "smithy.api#xmlName": "byoipCidr" } } } }, - "com.amazonaws.ec2#ModifyVpcEndpointRequest": { + "com.amazonaws.ec2#MoveStatus": { + "type": "enum", + "members": { + "movingToVpc": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "movingToVpc" + } + }, + "restoringToClassic": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "restoringToClassic" + } + } + } + }, + "com.amazonaws.ec2#MovingAddressStatus": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "MoveStatus": { + "target": "com.amazonaws.ec2#MoveStatus", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "MoveStatus", + "smithy.api#documentation": "

The status of the Elastic IP address that's being moved to the EC2-VPC platform, or restored to the EC2-Classic platform.

", + "smithy.api#xmlName": "moveStatus" } }, - "VpcEndpointId": { - "target": "com.amazonaws.ec2#VpcEndpointId", + "PublicIp": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the endpoint.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "PublicIp", + "smithy.api#documentation": "

The Elastic IP address.

", + "smithy.api#xmlName": "publicIp" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the status of a moving Elastic IP address.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" + } + }, + "com.amazonaws.ec2#MovingAddressStatusSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#MovingAddressStatus", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#MulticastSupportValue": { + "type": "enum", + "members": { + "enable": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "enable" } }, - "ResetPolicy": { - "target": "com.amazonaws.ec2#Boolean", + "disable": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

(Gateway endpoint) Specify true to reset the policy document to the\n default policy. The default policy allows full access to the service.

" + "smithy.api#enumValue": "disable" + } + } + } + }, + "com.amazonaws.ec2#NatGateway": { + "type": "structure", + "members": { + "CreateTime": { + "target": "com.amazonaws.ec2#DateTime", + "traits": { + "aws.protocols#ec2QueryName": "CreateTime", + "smithy.api#documentation": "

The date and time the NAT gateway was created.

", + "smithy.api#xmlName": "createTime" } }, - "PolicyDocument": { + "DeleteTime": { + "target": "com.amazonaws.ec2#DateTime", + "traits": { + "aws.protocols#ec2QueryName": "DeleteTime", + "smithy.api#documentation": "

The date and time the NAT gateway was deleted, if applicable.

", + "smithy.api#xmlName": "deleteTime" + } + }, + "FailureCode": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

(Interface and gateway endpoints) A policy to attach to the endpoint that controls access to the service. The policy must\n be in valid JSON format.

" + "aws.protocols#ec2QueryName": "FailureCode", + "smithy.api#documentation": "

If the NAT gateway could not be created, specifies the error code for the failure.\n (InsufficientFreeAddressesInSubnet | Gateway.NotAttached |\n InvalidAllocationID.NotFound | Resource.AlreadyAssociated |\n InternalError | InvalidSubnetID.NotFound)

", + "smithy.api#xmlName": "failureCode" } }, - "AddRouteTableIds": { - "target": "com.amazonaws.ec2#VpcEndpointRouteTableIdList", + "FailureMessage": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

(Gateway endpoint) One or more route tables IDs to associate with the endpoint.

", - "smithy.api#xmlName": "AddRouteTableId" + "aws.protocols#ec2QueryName": "FailureMessage", + "smithy.api#documentation": "

If the NAT gateway could not be created, specifies the error message for the failure, that corresponds to the error code.

\n
    \n
  • \n

    For InsufficientFreeAddressesInSubnet: \"Subnet has insufficient free addresses to create this NAT gateway\"

    \n
  • \n
  • \n

    For Gateway.NotAttached: \"Network vpc-xxxxxxxx has no Internet gateway attached\"

    \n
  • \n
  • \n

    For InvalidAllocationID.NotFound: \"Elastic IP address eipalloc-xxxxxxxx could not be associated with this NAT gateway\"

    \n
  • \n
  • \n

    For Resource.AlreadyAssociated: \"Elastic IP address eipalloc-xxxxxxxx is already associated\"

    \n
  • \n
  • \n

    For InternalError: \"Network interface eni-xxxxxxxx, created and used internally by this NAT gateway is in an invalid state. Please try again.\"

    \n
  • \n
  • \n

    For InvalidSubnetID.NotFound: \"The specified subnet subnet-xxxxxxxx does not exist or could not be found.\"

    \n
  • \n
", + "smithy.api#xmlName": "failureMessage" } }, - "RemoveRouteTableIds": { - "target": "com.amazonaws.ec2#VpcEndpointRouteTableIdList", + "NatGatewayAddresses": { + "target": "com.amazonaws.ec2#NatGatewayAddressList", "traits": { - "smithy.api#documentation": "

(Gateway endpoint) One or more route table IDs to disassociate from the endpoint.

", - "smithy.api#xmlName": "RemoveRouteTableId" + "aws.protocols#ec2QueryName": "NatGatewayAddressSet", + "smithy.api#documentation": "

Information about the IP addresses and network interface associated with the NAT gateway.

", + "smithy.api#xmlName": "natGatewayAddressSet" } }, - "AddSubnetIds": { - "target": "com.amazonaws.ec2#VpcEndpointSubnetIdList", + "NatGatewayId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

(Interface and Gateway Load Balancer endpoints) One or more subnet IDs in which to serve the endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet.

", - "smithy.api#xmlName": "AddSubnetId" + "aws.protocols#ec2QueryName": "NatGatewayId", + "smithy.api#documentation": "

The ID of the NAT gateway.

", + "smithy.api#xmlName": "natGatewayId" } }, - "RemoveSubnetIds": { - "target": "com.amazonaws.ec2#VpcEndpointSubnetIdList", + "ProvisionedBandwidth": { + "target": "com.amazonaws.ec2#ProvisionedBandwidth", "traits": { - "smithy.api#documentation": "

(Interface endpoint) One or more subnets IDs in which to remove the endpoint.

", - "smithy.api#xmlName": "RemoveSubnetId" + "aws.protocols#ec2QueryName": "ProvisionedBandwidth", + "smithy.api#documentation": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through \n the Support Center.

", + "smithy.api#xmlName": "provisionedBandwidth" } }, - "AddSecurityGroupIds": { - "target": "com.amazonaws.ec2#VpcEndpointSecurityGroupIdList", + "State": { + "target": "com.amazonaws.ec2#NatGatewayState", "traits": { - "smithy.api#documentation": "

(Interface endpoint) One or more security group IDs to associate with the network interface.

", - "smithy.api#xmlName": "AddSecurityGroupId" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the NAT gateway.

\n
    \n
  • \n

    \n pending: The NAT gateway is being created and is not ready to process\n traffic.

    \n
  • \n
  • \n

    \n failed: The NAT gateway could not be created. Check the\n failureCode and failureMessage fields for the reason.

    \n
  • \n
  • \n

    \n available: The NAT gateway is able to process traffic. This status remains\n until you delete the NAT gateway, and does not indicate the health of the NAT gateway.

    \n
  • \n
  • \n

    \n deleting: The NAT gateway is in the process of being terminated and may\n still be processing traffic.

    \n
  • \n
  • \n

    \n deleted: The NAT gateway has been terminated and is no longer processing\n traffic.

    \n
  • \n
", + "smithy.api#xmlName": "state" } }, - "RemoveSecurityGroupIds": { - "target": "com.amazonaws.ec2#VpcEndpointSecurityGroupIdList", + "SubnetId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

(Interface endpoint) One or more security group IDs to disassociate from the network interface.

", - "smithy.api#xmlName": "RemoveSecurityGroupId" + "aws.protocols#ec2QueryName": "SubnetId", + "smithy.api#documentation": "

The ID of the subnet in which the NAT gateway is located.

", + "smithy.api#xmlName": "subnetId" } }, - "IpAddressType": { - "target": "com.amazonaws.ec2#IpAddressType", + "VpcId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The IP address type for the endpoint.

" + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#documentation": "

The ID of the VPC in which the NAT gateway is located.

", + "smithy.api#xmlName": "vpcId" } }, - "DnsOptions": { - "target": "com.amazonaws.ec2#DnsOptionsSpecification", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "smithy.api#documentation": "

The DNS options for the endpoint.

" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags for the NAT gateway.

", + "smithy.api#xmlName": "tagSet" } }, - "PrivateDnsEnabled": { - "target": "com.amazonaws.ec2#Boolean", + "ConnectivityType": { + "target": "com.amazonaws.ec2#ConnectivityType", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

(Interface endpoint) Indicates whether a private hosted zone is associated with the\n VPC.

" + "aws.protocols#ec2QueryName": "ConnectivityType", + "smithy.api#documentation": "

Indicates whether the NAT gateway supports public or private connectivity.

", + "smithy.api#xmlName": "connectivityType" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for ModifyVpcEndpoint.

" + "smithy.api#documentation": "

Describes a NAT gateway.

" } }, - "com.amazonaws.ec2#ModifyVpcEndpointResult": { + "com.amazonaws.ec2#NatGatewayAddress": { "type": "structure", "members": { - "Return": { - "target": "com.amazonaws.ec2#Boolean", + "AllocationId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Return", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "smithy.api#xmlName": "return" + "aws.protocols#ec2QueryName": "AllocationId", + "smithy.api#documentation": "

[Public NAT gateway only] The allocation ID of the Elastic IP address that's associated with the NAT gateway.

", + "smithy.api#xmlName": "allocationId" + } + }, + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "smithy.api#documentation": "

The ID of the network interface associated with the NAT gateway.

", + "smithy.api#xmlName": "networkInterfaceId" + } + }, + "PrivateIp": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "PrivateIp", + "smithy.api#documentation": "

The private IP address associated with the NAT gateway.

", + "smithy.api#xmlName": "privateIp" + } + }, + "PublicIp": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "PublicIp", + "smithy.api#documentation": "

[Public NAT gateway only] The Elastic IP address associated with the NAT gateway.

", + "smithy.api#xmlName": "publicIp" } } - } - }, - "com.amazonaws.ec2#ModifyVpcEndpointServiceConfiguration": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ModifyVpcEndpointServiceConfigurationRequest" - }, - "output": { - "target": "com.amazonaws.ec2#ModifyVpcEndpointServiceConfigurationResult" }, "traits": { - "smithy.api#documentation": "

Modifies the attributes of your VPC endpoint service configuration. You can change the\n Network Load Balancers or Gateway Load Balancers for your service, and you can specify whether acceptance is\n required for requests to connect to your endpoint service through an interface VPC\n endpoint.

\n\t

If you set or modify the private DNS name, you must prove that you own the private DNS\n domain name.

" + "smithy.api#documentation": "

Describes the IP addresses and network interface associated with a NAT gateway.

" } }, - "com.amazonaws.ec2#ModifyVpcEndpointServiceConfigurationRequest": { - "type": "structure", + "com.amazonaws.ec2#NatGatewayAddressList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#NatGatewayAddress", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#NatGatewayId": { + "type": "string" + }, + "com.amazonaws.ec2#NatGatewayIdStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#NatGatewayId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#NatGatewayList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#NatGateway", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#NatGatewayState": { + "type": "enum", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "PENDING": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#enumValue": "pending" } }, - "ServiceId": { - "target": "com.amazonaws.ec2#VpcEndpointServiceId", + "FAILED": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the service.

", - "smithy.api#required": {} + "smithy.api#enumValue": "failed" } }, - "PrivateDnsName": { - "target": "com.amazonaws.ec2#String", + "AVAILABLE": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

(Interface endpoint configuration) The private DNS name to assign to the endpoint service.

" + "smithy.api#enumValue": "available" } }, - "RemovePrivateDnsName": { - "target": "com.amazonaws.ec2#Boolean", + "DELETING": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

(Interface endpoint configuration) Removes the private DNS name of the endpoint service.

" + "smithy.api#enumValue": "deleting" } }, - "AcceptanceRequired": { - "target": "com.amazonaws.ec2#Boolean", + "DELETED": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether requests to create an endpoint to your service must be accepted.

" + "smithy.api#enumValue": "deleted" } - }, - "AddNetworkLoadBalancerArns": { - "target": "com.amazonaws.ec2#ValueStringList", + } + } + }, + "com.amazonaws.ec2#NetmaskLength": { + "type": "integer" + }, + "com.amazonaws.ec2#NetworkAcl": { + "type": "structure", + "members": { + "Associations": { + "target": "com.amazonaws.ec2#NetworkAclAssociationList", "traits": { - "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of Network Load Balancers to add to your service\n configuration.

", - "smithy.api#xmlName": "AddNetworkLoadBalancerArn" + "aws.protocols#ec2QueryName": "AssociationSet", + "smithy.api#documentation": "

Any associations between the network ACL and one or more subnets

", + "smithy.api#xmlName": "associationSet" } }, - "RemoveNetworkLoadBalancerArns": { - "target": "com.amazonaws.ec2#ValueStringList", + "Entries": { + "target": "com.amazonaws.ec2#NetworkAclEntryList", "traits": { - "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of Network Load Balancers to remove from your service\n configuration.

", - "smithy.api#xmlName": "RemoveNetworkLoadBalancerArn" + "aws.protocols#ec2QueryName": "EntrySet", + "smithy.api#documentation": "

One or more entries (rules) in the network ACL.

", + "smithy.api#xmlName": "entrySet" } }, - "AddGatewayLoadBalancerArns": { - "target": "com.amazonaws.ec2#ValueStringList", + "IsDefault": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of Gateway Load Balancers to add to your service\n configuration.

", - "smithy.api#xmlName": "AddGatewayLoadBalancerArn" + "aws.protocols#ec2QueryName": "Default", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether this is the default network ACL for the VPC.

", + "smithy.api#xmlName": "default" } }, - "RemoveGatewayLoadBalancerArns": { - "target": "com.amazonaws.ec2#ValueStringList", + "NetworkAclId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of Gateway Load Balancers to remove from your service\n configuration.

", - "smithy.api#xmlName": "RemoveGatewayLoadBalancerArn" + "aws.protocols#ec2QueryName": "NetworkAclId", + "smithy.api#documentation": "

The ID of the network ACL.

", + "smithy.api#xmlName": "networkAclId" } }, - "AddSupportedIpAddressTypes": { - "target": "com.amazonaws.ec2#ValueStringList", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "smithy.api#documentation": "

The IP address types to add to your service configuration.

", - "smithy.api#xmlName": "AddSupportedIpAddressType" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Any tags assigned to the network ACL.

", + "smithy.api#xmlName": "tagSet" } }, - "RemoveSupportedIpAddressTypes": { - "target": "com.amazonaws.ec2#ValueStringList", + "VpcId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The IP address types to remove from your service configuration.

", - "smithy.api#xmlName": "RemoveSupportedIpAddressType" + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#documentation": "

The ID of the VPC for the network ACL.

", + "smithy.api#xmlName": "vpcId" } - } - } - }, - "com.amazonaws.ec2#ModifyVpcEndpointServiceConfigurationResult": { - "type": "structure", - "members": { - "Return": { - "target": "com.amazonaws.ec2#Boolean", + }, + "OwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Return", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "smithy.api#xmlName": "return" + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the network ACL.

", + "smithy.api#xmlName": "ownerId" } } - } - }, - "com.amazonaws.ec2#ModifyVpcEndpointServicePayerResponsibility": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ModifyVpcEndpointServicePayerResponsibilityRequest" - }, - "output": { - "target": "com.amazonaws.ec2#ModifyVpcEndpointServicePayerResponsibilityResult" }, "traits": { - "smithy.api#documentation": "

Modifies the payer responsibility for your VPC endpoint service.

" + "smithy.api#documentation": "

Describes a network ACL.

" } }, - "com.amazonaws.ec2#ModifyVpcEndpointServicePayerResponsibilityRequest": { + "com.amazonaws.ec2#NetworkAclAssociation": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "NetworkAclAssociationId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "NetworkAclAssociationId", + "smithy.api#documentation": "

The ID of the association between a network ACL and a subnet.

", + "smithy.api#xmlName": "networkAclAssociationId" } }, - "ServiceId": { - "target": "com.amazonaws.ec2#VpcEndpointServiceId", + "NetworkAclId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the service.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "NetworkAclId", + "smithy.api#documentation": "

The ID of the network ACL.

", + "smithy.api#xmlName": "networkAclId" } }, - "PayerResponsibility": { - "target": "com.amazonaws.ec2#PayerResponsibility", + "SubnetId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The entity that is responsible for the endpoint costs. The default is the endpoint owner.\n If you set the payer responsibility to the service owner, you cannot set it back to the\n endpoint owner.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "SubnetId", + "smithy.api#documentation": "

The ID of the subnet.

", + "smithy.api#xmlName": "subnetId" } } + }, + "traits": { + "smithy.api#documentation": "

Describes an association between a network ACL and a subnet.

" } }, - "com.amazonaws.ec2#ModifyVpcEndpointServicePayerResponsibilityResult": { - "type": "structure", - "members": { - "ReturnValue": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "Return", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "smithy.api#xmlName": "return" - } - } - } + "com.amazonaws.ec2#NetworkAclAssociationId": { + "type": "string" }, - "com.amazonaws.ec2#ModifyVpcEndpointServicePermissions": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ModifyVpcEndpointServicePermissionsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#ModifyVpcEndpointServicePermissionsResult" - }, - "traits": { - "smithy.api#documentation": "

Modifies the permissions for your VPC endpoint service. You can add or remove permissions for service consumers \n\t (IAM users, IAM roles, and Amazon Web Services accounts) to connect to your endpoint service.

\n\t

If you grant permissions to all principals, the service is public. Any users who know the name of a\n\t public service can send a request to attach an endpoint. If the service does not require manual approval,\n\t attachments are automatically approved.

" + "com.amazonaws.ec2#NetworkAclAssociationList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#NetworkAclAssociation", + "traits": { + "smithy.api#xmlName": "item" + } } }, - "com.amazonaws.ec2#ModifyVpcEndpointServicePermissionsRequest": { + "com.amazonaws.ec2#NetworkAclEntry": { "type": "structure", "members": { - "DryRun": { + "CidrBlock": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "CidrBlock", + "smithy.api#documentation": "

The IPv4 network range to allow or deny, in CIDR notation.

", + "smithy.api#xmlName": "cidrBlock" + } + }, + "Egress": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "Egress", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Indicates whether the rule is an egress rule (applied to traffic leaving the subnet).

", + "smithy.api#xmlName": "egress" } }, - "ServiceId": { - "target": "com.amazonaws.ec2#VpcEndpointServiceId", + "IcmpTypeCode": { + "target": "com.amazonaws.ec2#IcmpTypeCode", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the service.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "IcmpTypeCode", + "smithy.api#documentation": "

ICMP protocol: The ICMP type and code.

", + "smithy.api#xmlName": "icmpTypeCode" } }, - "AddAllowedPrincipals": { - "target": "com.amazonaws.ec2#ValueStringList", + "Ipv6CidrBlock": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Names (ARN) of one or more principals.\n\t Permissions are granted to the principals in this list.\n\t To grant permissions to all principals, specify an asterisk (*).

" + "aws.protocols#ec2QueryName": "Ipv6CidrBlock", + "smithy.api#documentation": "

The IPv6 network range to allow or deny, in CIDR notation.

", + "smithy.api#xmlName": "ipv6CidrBlock" } }, - "RemoveAllowedPrincipals": { - "target": "com.amazonaws.ec2#ValueStringList", + "PortRange": { + "target": "com.amazonaws.ec2#PortRange", "traits": { - "smithy.api#documentation": "

The Amazon Resource Names (ARN) of one or more principals.\n\t Permissions are revoked for principals in this list.

" + "aws.protocols#ec2QueryName": "PortRange", + "smithy.api#documentation": "

TCP or UDP protocols: The range of ports the rule applies to.

", + "smithy.api#xmlName": "portRange" } - } - } - }, - "com.amazonaws.ec2#ModifyVpcEndpointServicePermissionsResult": { - "type": "structure", - "members": { - "AddedPrincipals": { - "target": "com.amazonaws.ec2#AddedPrincipalSet", + }, + "Protocol": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AddedPrincipalSet", - "smithy.api#documentation": "

Information about the added principals.

", - "smithy.api#xmlName": "addedPrincipalSet" + "aws.protocols#ec2QueryName": "Protocol", + "smithy.api#documentation": "

The protocol number. A value of \"-1\" means all protocols.

", + "smithy.api#xmlName": "protocol" } }, - "ReturnValue": { - "target": "com.amazonaws.ec2#Boolean", + "RuleAction": { + "target": "com.amazonaws.ec2#RuleAction", "traits": { - "aws.protocols#ec2QueryName": "Return", + "aws.protocols#ec2QueryName": "RuleAction", + "smithy.api#documentation": "

Indicates whether to allow or deny the traffic that matches the rule.

", + "smithy.api#xmlName": "ruleAction" + } + }, + "RuleNumber": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "RuleNumber", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "smithy.api#xmlName": "return" + "smithy.api#default": 0, + "smithy.api#documentation": "

The rule number for the entry. ACL entries are processed in ascending order by rule number.

", + "smithy.api#xmlName": "ruleNumber" } } - } - }, - "com.amazonaws.ec2#ModifyVpcPeeringConnectionOptions": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ModifyVpcPeeringConnectionOptionsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#ModifyVpcPeeringConnectionOptionsResult" }, "traits": { - "smithy.api#documentation": "\n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
\n

Modifies the VPC peering connection options on one side of a VPC peering connection. You can do the following:

\n
    \n
  • \n

    Enable/disable communication over the peering connection between an EC2-Classic instance that's linked to your VPC (using ClassicLink) and instances in the peer VPC.

    \n
  • \n
  • \n

    Enable/disable communication over the peering connection between instances in your VPC and an EC2-Classic instance that's linked to the peer VPC.

    \n
  • \n
  • \n

    Enable/disable the ability to resolve public DNS hostnames to private IP\n addresses when queried from instances in the peer VPC.

    \n
  • \n
\n

If the peered VPCs are in the same Amazon Web Services account, you can enable DNS resolution \n for queries from the local VPC. This ensures that queries from the local VPC resolve to private IP\n addresses in the peer VPC. This option is not available if the peered VPCs are in different\n different Amazon Web Services accounts or different Regions. For peered VPCs in different \n Amazon Web Services accounts, each Amazon Web Services account owner must initiate a separate request \n to modify the peering connection options. For inter-region peering connections, you must use the \n Region for the requester VPC to modify the requester VPC peering options and the Region for the \n accepter VPC to modify the accepter VPC peering options. To verify which VPCs are the accepter and \n the requester for a VPC peering connection, use the DescribeVpcPeeringConnections command.

" + "smithy.api#documentation": "

Describes an entry in a network ACL.

" } }, - "com.amazonaws.ec2#ModifyVpcPeeringConnectionOptionsRequest": { + "com.amazonaws.ec2#NetworkAclEntryList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#NetworkAclEntry", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#NetworkAclId": { + "type": "string" + }, + "com.amazonaws.ec2#NetworkAclIdStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#NetworkAclId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#NetworkAclList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#NetworkAcl", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#NetworkBandwidthGbps": { "type": "structure", "members": { - "AccepterPeeringConnectionOptions": { - "target": "com.amazonaws.ec2#PeeringConnectionOptionsRequest", - "traits": { - "smithy.api#documentation": "

The VPC peering connection options for the accepter VPC.

" - } - }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Min": { + "target": "com.amazonaws.ec2#Double", "traits": { + "aws.protocols#ec2QueryName": "Min", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - }, - "RequesterPeeringConnectionOptions": { - "target": "com.amazonaws.ec2#PeeringConnectionOptionsRequest", - "traits": { - "smithy.api#documentation": "

The VPC peering connection options for the requester VPC.

" + "smithy.api#default": 0, + "smithy.api#documentation": "

The minimum amount of network bandwidth, in Gbps. If this parameter is not specified, there is no minimum\n limit.

", + "smithy.api#xmlName": "min" } }, - "VpcPeeringConnectionId": { - "target": "com.amazonaws.ec2#VpcPeeringConnectionId", + "Max": { + "target": "com.amazonaws.ec2#Double", "traits": { + "aws.protocols#ec2QueryName": "Max", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the VPC peering connection.

", - "smithy.api#required": {} + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum amount of network bandwidth, in Gbps. If this parameter is not specified, there is no\n maximum limit.

", + "smithy.api#xmlName": "max" } } + }, + "traits": { + "smithy.api#documentation": "

The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).

\n \n

Setting the minimum bandwidth does not guarantee that your instance will achieve the \n minimum bandwidth. Amazon EC2 will identify instance types that support the specified minimum \n bandwidth, but the actual bandwidth of your instance might go below the specified minimum \n at times. For more information, see Available instance bandwidth in the\n Amazon EC2 User Guide.

\n
" } }, - "com.amazonaws.ec2#ModifyVpcPeeringConnectionOptionsResult": { + "com.amazonaws.ec2#NetworkBandwidthGbpsRequest": { "type": "structure", "members": { - "AccepterPeeringConnectionOptions": { - "target": "com.amazonaws.ec2#PeeringConnectionOptions", + "Min": { + "target": "com.amazonaws.ec2#Double", "traits": { - "aws.protocols#ec2QueryName": "AccepterPeeringConnectionOptions", - "smithy.api#documentation": "

Information about the VPC peering connection options for the accepter VPC.

", - "smithy.api#xmlName": "accepterPeeringConnectionOptions" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The minimum amount of network bandwidth, in Gbps. To specify no minimum limit, omit this\n parameter.

" } }, - "RequesterPeeringConnectionOptions": { - "target": "com.amazonaws.ec2#PeeringConnectionOptions", + "Max": { + "target": "com.amazonaws.ec2#Double", "traits": { - "aws.protocols#ec2QueryName": "RequesterPeeringConnectionOptions", - "smithy.api#documentation": "

Information about the VPC peering connection options for the requester VPC.

", - "smithy.api#xmlName": "requesterPeeringConnectionOptions" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum amount of network bandwidth, in Gbps. To specify no maximum limit, omit this\n parameter.

" } } - } - }, - "com.amazonaws.ec2#ModifyVpcTenancy": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ModifyVpcTenancyRequest" - }, - "output": { - "target": "com.amazonaws.ec2#ModifyVpcTenancyResult" }, "traits": { - "smithy.api#documentation": "

Modifies the instance tenancy attribute of the specified VPC. You can change the\n instance tenancy attribute of a VPC to default only. You cannot change the\n instance tenancy attribute to dedicated.

\n

After you modify the tenancy of the VPC, any new instances that you launch into the\n VPC have a tenancy of default, unless you specify otherwise during launch.\n The tenancy of any existing instances in the VPC is not affected.

\n

For more information, see Dedicated Instances in the\n\t\t\t\tAmazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).

\n \n

Setting the minimum bandwidth does not guarantee that your instance will achieve the \n minimum bandwidth. Amazon EC2 will identify instance types that support the specified minimum \n bandwidth, but the actual bandwidth of your instance might go below the specified minimum \n at times. For more information, see Available instance bandwidth in the\n Amazon EC2 User Guide.

\n
" } }, - "com.amazonaws.ec2#ModifyVpcTenancyRequest": { + "com.amazonaws.ec2#NetworkCardIndex": { + "type": "integer" + }, + "com.amazonaws.ec2#NetworkCardInfo": { "type": "structure", "members": { - "VpcId": { - "target": "com.amazonaws.ec2#VpcId", + "NetworkCardIndex": { + "target": "com.amazonaws.ec2#NetworkCardIndex", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the VPC.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "NetworkCardIndex", + "smithy.api#documentation": "

The index of the network card.

", + "smithy.api#xmlName": "networkCardIndex" } }, - "InstanceTenancy": { - "target": "com.amazonaws.ec2#VpcTenancy", + "NetworkPerformance": { + "target": "com.amazonaws.ec2#NetworkPerformance", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The instance tenancy attribute for the VPC.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "NetworkPerformance", + "smithy.api#documentation": "

The network performance of the network card.

", + "smithy.api#xmlName": "networkPerformance" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - } - } - }, - "com.amazonaws.ec2#ModifyVpcTenancyResult": { - "type": "structure", - "members": { - "ReturnValue": { - "target": "com.amazonaws.ec2#Boolean", + "MaximumNetworkInterfaces": { + "target": "com.amazonaws.ec2#MaxNetworkInterfaces", "traits": { - "aws.protocols#ec2QueryName": "Return", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, returns an\n error.

", - "smithy.api#xmlName": "return" + "aws.protocols#ec2QueryName": "MaximumNetworkInterfaces", + "smithy.api#documentation": "

The maximum number of network interfaces for the network card.

", + "smithy.api#xmlName": "maximumNetworkInterfaces" } } - } - }, - "com.amazonaws.ec2#ModifyVpnConnection": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ModifyVpnConnectionRequest" - }, - "output": { - "target": "com.amazonaws.ec2#ModifyVpnConnectionResult" }, "traits": { - "smithy.api#documentation": "

Modifies the customer gateway or the target gateway of an Amazon Web Services Site-to-Site VPN connection. To\n modify the target gateway, the following migration options are available:

\n
    \n
  • \n

    An existing virtual private gateway to a new virtual private gateway

    \n
  • \n
  • \n

    An existing virtual private gateway to a transit gateway

    \n
  • \n
  • \n

    An existing transit gateway to a new transit gateway

    \n
  • \n
  • \n

    An existing transit gateway to a virtual private gateway

    \n
  • \n
\n

Before you perform the migration to the new gateway, you must configure the new\n gateway. Use CreateVpnGateway to create a virtual private gateway, or\n CreateTransitGateway to create a transit gateway.

\n

This step is required when you migrate from a virtual private gateway with static\n routes to a transit gateway.

\n

You must delete the static routes before you migrate to the new gateway.

\n\n

Keep a copy of the static route before you delete it. You will need to add back these\n routes to the transit gateway after the VPN connection migration is complete.

\n\n

After you migrate to the new gateway, you might need to modify your VPC route table.\n Use CreateRoute and DeleteRoute to make the changes\n described in Update VPC route\n tables in the Amazon Web Services Site-to-Site VPN User Guide.

\n

When the new gateway is a transit gateway, modify the transit gateway route table to\n allow traffic between the VPC and the Amazon Web Services Site-to-Site VPN connection.\n Use CreateTransitGatewayRoute to add the routes.

\n

If you deleted VPN static routes, you must add the static routes to the transit\n gateway route table.

\n

After you perform this operation, the VPN endpoint's IP addresses on the Amazon Web Services side and the tunnel options remain intact. Your Amazon Web Services Site-to-Site VPN connection will\n be temporarily unavailable for a brief period while we provision the new\n endpoints.

" + "smithy.api#documentation": "

Describes the network card support of the instance type.

" } }, - "com.amazonaws.ec2#ModifyVpnConnectionOptions": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ModifyVpnConnectionOptionsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#ModifyVpnConnectionOptionsResult" - }, - "traits": { - "smithy.api#documentation": "

Modifies the connection options for your Site-to-Site VPN connection.

\n

When you modify the VPN connection options, the VPN endpoint IP addresses on the\n Amazon Web Services side do not change, and the tunnel options do not change. Your\n VPN connection will be temporarily unavailable for a brief period while the VPN\n connection is updated.

" + "com.amazonaws.ec2#NetworkCardInfoList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#NetworkCardInfo", + "traits": { + "smithy.api#xmlName": "item" + } } }, - "com.amazonaws.ec2#ModifyVpnConnectionOptionsRequest": { + "com.amazonaws.ec2#NetworkInfo": { "type": "structure", "members": { - "VpnConnectionId": { - "target": "com.amazonaws.ec2#VpnConnectionId", + "NetworkPerformance": { + "target": "com.amazonaws.ec2#NetworkPerformance", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Site-to-Site VPN connection.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "NetworkPerformance", + "smithy.api#documentation": "

The network performance.

", + "smithy.api#xmlName": "networkPerformance" } }, - "LocalIpv4NetworkCidr": { - "target": "com.amazonaws.ec2#String", + "MaximumNetworkInterfaces": { + "target": "com.amazonaws.ec2#MaxNetworkInterfaces", "traits": { - "smithy.api#documentation": "

The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.

\n

Default: 0.0.0.0/0\n

" + "aws.protocols#ec2QueryName": "MaximumNetworkInterfaces", + "smithy.api#documentation": "

The maximum number of network interfaces for the instance type.

", + "smithy.api#xmlName": "maximumNetworkInterfaces" } }, - "RemoteIpv4NetworkCidr": { - "target": "com.amazonaws.ec2#String", + "MaximumNetworkCards": { + "target": "com.amazonaws.ec2#MaximumNetworkCards", "traits": { - "smithy.api#documentation": "

The IPv4 CIDR on the Amazon Web Services side of the VPN connection.

\n

Default: 0.0.0.0/0\n

" + "aws.protocols#ec2QueryName": "MaximumNetworkCards", + "smithy.api#documentation": "

The maximum number of physical network cards that can be allocated to the instance.

", + "smithy.api#xmlName": "maximumNetworkCards" } }, - "LocalIpv6NetworkCidr": { - "target": "com.amazonaws.ec2#String", + "DefaultNetworkCardIndex": { + "target": "com.amazonaws.ec2#DefaultNetworkCardIndex", "traits": { - "smithy.api#documentation": "

The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.

\n

Default: ::/0\n

" + "aws.protocols#ec2QueryName": "DefaultNetworkCardIndex", + "smithy.api#documentation": "

The index of the default network card, starting at 0.

", + "smithy.api#xmlName": "defaultNetworkCardIndex" } }, - "RemoteIpv6NetworkCidr": { - "target": "com.amazonaws.ec2#String", + "NetworkCards": { + "target": "com.amazonaws.ec2#NetworkCardInfoList", "traits": { - "smithy.api#documentation": "

The IPv6 CIDR on the Amazon Web Services side of the VPN connection.

\n

Default: ::/0\n

" + "aws.protocols#ec2QueryName": "NetworkCards", + "smithy.api#documentation": "

Describes the network cards for the instance type.

", + "smithy.api#xmlName": "networkCards" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Ipv4AddressesPerInterface": { + "target": "com.amazonaws.ec2#MaxIpv4AddrPerInterface", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "Ipv4AddressesPerInterface", + "smithy.api#documentation": "

The maximum number of IPv4 addresses per network interface.

", + "smithy.api#xmlName": "ipv4AddressesPerInterface" } - } - } - }, - "com.amazonaws.ec2#ModifyVpnConnectionOptionsResult": { - "type": "structure", - "members": { - "VpnConnection": { - "target": "com.amazonaws.ec2#VpnConnection", + }, + "Ipv6AddressesPerInterface": { + "target": "com.amazonaws.ec2#MaxIpv6AddrPerInterface", "traits": { - "aws.protocols#ec2QueryName": "VpnConnection", - "smithy.api#xmlName": "vpnConnection" + "aws.protocols#ec2QueryName": "Ipv6AddressesPerInterface", + "smithy.api#documentation": "

The maximum number of IPv6 addresses per network interface.

", + "smithy.api#xmlName": "ipv6AddressesPerInterface" } - } - } - }, - "com.amazonaws.ec2#ModifyVpnConnectionRequest": { - "type": "structure", - "members": { - "VpnConnectionId": { - "target": "com.amazonaws.ec2#VpnConnectionId", + }, + "Ipv6Supported": { + "target": "com.amazonaws.ec2#Ipv6Flag", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the VPN connection.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "Ipv6Supported", + "smithy.api#documentation": "

Indicates whether IPv6 is supported.

", + "smithy.api#xmlName": "ipv6Supported" } }, - "TransitGatewayId": { - "target": "com.amazonaws.ec2#TransitGatewayId", + "EnaSupport": { + "target": "com.amazonaws.ec2#EnaSupport", "traits": { - "smithy.api#documentation": "

The ID of the transit gateway.

" + "aws.protocols#ec2QueryName": "EnaSupport", + "smithy.api#documentation": "

Indicates whether Elastic Network Adapter (ENA) is supported.

", + "smithy.api#xmlName": "enaSupport" } }, - "CustomerGatewayId": { - "target": "com.amazonaws.ec2#CustomerGatewayId", + "EfaSupported": { + "target": "com.amazonaws.ec2#EfaSupportedFlag", "traits": { - "smithy.api#documentation": "

The ID of the customer gateway at your end of the VPN connection.

" + "aws.protocols#ec2QueryName": "EfaSupported", + "smithy.api#documentation": "

Indicates whether Elastic Fabric Adapter (EFA) is supported.

", + "smithy.api#xmlName": "efaSupported" } }, - "VpnGatewayId": { - "target": "com.amazonaws.ec2#VpnGatewayId", + "EfaInfo": { + "target": "com.amazonaws.ec2#EfaInfo", "traits": { - "smithy.api#documentation": "

The ID of the virtual private gateway at the Amazon Web Services side of the VPN\n connection.

" + "aws.protocols#ec2QueryName": "EfaInfo", + "smithy.api#documentation": "

Describes the Elastic Fabric Adapters for the instance type.

", + "smithy.api#xmlName": "efaInfo" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "EncryptionInTransitSupported": { + "target": "com.amazonaws.ec2#EncryptionInTransitSupported", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "EncryptionInTransitSupported", + "smithy.api#documentation": "

Indicates whether the instance type automatically encrypts in-transit traffic between instances.

", + "smithy.api#xmlName": "encryptionInTransitSupported" } - } - } - }, - "com.amazonaws.ec2#ModifyVpnConnectionResult": { - "type": "structure", - "members": { - "VpnConnection": { - "target": "com.amazonaws.ec2#VpnConnection", + }, + "EnaSrdSupported": { + "target": "com.amazonaws.ec2#EnaSrdSupported", "traits": { - "aws.protocols#ec2QueryName": "VpnConnection", - "smithy.api#xmlName": "vpnConnection" + "aws.protocols#ec2QueryName": "EnaSrdSupported", + "smithy.api#documentation": "

Indicates whether the instance type supports ENA Express. ENA Express uses Amazon Web Services Scalable \n Reliable Datagram (SRD) technology to increase the maximum bandwidth used per stream and \n minimize tail latency of network traffic between EC2 instances.

", + "smithy.api#xmlName": "enaSrdSupported" } } - } - }, - "com.amazonaws.ec2#ModifyVpnTunnelCertificate": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ModifyVpnTunnelCertificateRequest" - }, - "output": { - "target": "com.amazonaws.ec2#ModifyVpnTunnelCertificateResult" }, "traits": { - "smithy.api#documentation": "

Modifies the VPN tunnel endpoint certificate.

" + "smithy.api#documentation": "

Describes the networking features of the instance type.

" } }, - "com.amazonaws.ec2#ModifyVpnTunnelCertificateRequest": { + "com.amazonaws.ec2#NetworkInsightsAccessScope": { "type": "structure", "members": { - "VpnConnectionId": { - "target": "com.amazonaws.ec2#VpnConnectionId", + "NetworkInsightsAccessScopeId": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeId", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Amazon Web Services Site-to-Site VPN connection.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeId", + "smithy.api#documentation": "

The ID of the Network Access Scope.

", + "smithy.api#xmlName": "networkInsightsAccessScopeId" } }, - "VpnTunnelOutsideIpAddress": { - "target": "com.amazonaws.ec2#String", + "NetworkInsightsAccessScopeArn": { + "target": "com.amazonaws.ec2#ResourceArn", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The external IP address of the VPN tunnel.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Network Access Scope.

", + "smithy.api#xmlName": "networkInsightsAccessScopeArn" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "CreatedDate": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "CreatedDate", + "smithy.api#documentation": "

The creation date.

", + "smithy.api#xmlName": "createdDate" } - } - } - }, - "com.amazonaws.ec2#ModifyVpnTunnelCertificateResult": { - "type": "structure", - "members": { - "VpnConnection": { - "target": "com.amazonaws.ec2#VpnConnection", + }, + "UpdatedDate": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "aws.protocols#ec2QueryName": "VpnConnection", - "smithy.api#xmlName": "vpnConnection" + "aws.protocols#ec2QueryName": "UpdatedDate", + "smithy.api#documentation": "

The last updated date.

", + "smithy.api#xmlName": "updatedDate" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags.

", + "smithy.api#xmlName": "tagSet" } } - } - }, - "com.amazonaws.ec2#ModifyVpnTunnelOptions": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ModifyVpnTunnelOptionsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#ModifyVpnTunnelOptionsResult" }, "traits": { - "smithy.api#documentation": "

Modifies the options for a VPN tunnel in an Amazon Web Services Site-to-Site VPN connection. You can modify\n multiple options for a tunnel in a single request, but you can only modify one tunnel at\n a time. For more information, see Site-to-Site VPN tunnel options for your Site-to-Site VPN\n connection in the Amazon Web Services Site-to-Site VPN User Guide.

" + "smithy.api#documentation": "

Describes a Network Access Scope.

" } }, - "com.amazonaws.ec2#ModifyVpnTunnelOptionsRequest": { + "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysis": { "type": "structure", "members": { - "VpnConnectionId": { - "target": "com.amazonaws.ec2#VpnConnectionId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Amazon Web Services Site-to-Site VPN connection.

", - "smithy.api#required": {} - } - }, - "VpnTunnelOutsideIpAddress": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The external IP address of the VPN tunnel.

", - "smithy.api#required": {} - } - }, - "TunnelOptions": { - "target": "com.amazonaws.ec2#ModifyVpnTunnelOptionsSpecification", + "NetworkInsightsAccessScopeAnalysisId": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisId", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The tunnel options to modify.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeAnalysisId", + "smithy.api#documentation": "

The ID of the Network Access Scope analysis.

", + "smithy.api#xmlName": "networkInsightsAccessScopeAnalysisId" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "NetworkInsightsAccessScopeAnalysisArn": { + "target": "com.amazonaws.ec2#ResourceArn", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

" - } - } - } - }, - "com.amazonaws.ec2#ModifyVpnTunnelOptionsResult": { - "type": "structure", - "members": { - "VpnConnection": { - "target": "com.amazonaws.ec2#VpnConnection", + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeAnalysisArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Network Access Scope analysis.

", + "smithy.api#xmlName": "networkInsightsAccessScopeAnalysisArn" + } + }, + "NetworkInsightsAccessScopeId": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeId", "traits": { - "aws.protocols#ec2QueryName": "VpnConnection", - "smithy.api#xmlName": "vpnConnection" + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeId", + "smithy.api#documentation": "

The ID of the Network Access Scope.

", + "smithy.api#xmlName": "networkInsightsAccessScopeId" } - } - } - }, - "com.amazonaws.ec2#ModifyVpnTunnelOptionsSpecification": { - "type": "structure", - "members": { - "TunnelInsideCidr": { - "target": "com.amazonaws.ec2#String", + }, + "Status": { + "target": "com.amazonaws.ec2#AnalysisStatus", "traits": { - "smithy.api#documentation": "

The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks must be\n unique across all VPN connections that use the same virtual private gateway.

\n

Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The\n following CIDR blocks are reserved and cannot be used:

\n
    \n
  • \n

    \n 169.254.0.0/30\n

    \n
  • \n
  • \n

    \n 169.254.1.0/30\n

    \n
  • \n
  • \n

    \n 169.254.2.0/30\n

    \n
  • \n
  • \n

    \n 169.254.3.0/30\n

    \n
  • \n
  • \n

    \n 169.254.4.0/30\n

    \n
  • \n
  • \n

    \n 169.254.5.0/30\n

    \n
  • \n
  • \n

    \n 169.254.169.252/30\n

    \n
  • \n
" + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The status.

", + "smithy.api#xmlName": "status" } }, - "TunnelInsideIpv6Cidr": { + "StatusMessage": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be\n unique across all VPN connections that use the same transit gateway.

\n

Constraints: A size /126 CIDR block from the local fd00::/8 range.

" + "aws.protocols#ec2QueryName": "StatusMessage", + "smithy.api#documentation": "

The status message.

", + "smithy.api#xmlName": "statusMessage" } }, - "PreSharedKey": { + "WarningMessage": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The pre-shared key (PSK) to establish initial authentication between the virtual\n private gateway and the customer gateway.

\n

Constraints: Allowed characters are alphanumeric characters, periods (.), and\n underscores (_). Must be between 8 and 64 characters in length and cannot start with\n zero (0).

" + "aws.protocols#ec2QueryName": "WarningMessage", + "smithy.api#documentation": "

The warning message.

", + "smithy.api#xmlName": "warningMessage" } }, - "Phase1LifetimeSeconds": { - "target": "com.amazonaws.ec2#Integer", + "StartDate": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The lifetime for phase 1 of the IKE negotiation, in seconds.

\n

Constraints: A value between 900 and 28,800.

\n

Default: 28800\n

" + "aws.protocols#ec2QueryName": "StartDate", + "smithy.api#documentation": "

The analysis start date.

", + "smithy.api#xmlName": "startDate" } }, - "Phase2LifetimeSeconds": { - "target": "com.amazonaws.ec2#Integer", + "EndDate": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The lifetime for phase 2 of the IKE negotiation, in seconds.

\n

Constraints: A value between 900 and 3,600. The value must be less than the value for\n Phase1LifetimeSeconds.

\n

Default: 3600\n

" + "aws.protocols#ec2QueryName": "EndDate", + "smithy.api#documentation": "

The analysis end date.

", + "smithy.api#xmlName": "endDate" } }, - "RekeyMarginTimeSeconds": { - "target": "com.amazonaws.ec2#Integer", + "FindingsFound": { + "target": "com.amazonaws.ec2#FindingsFound", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The margin time, in seconds, before the phase 2 lifetime expires, during which the\n Amazon Web Services side of the VPN connection performs an IKE rekey. The exact time\n of the rekey is randomly selected based on the value for\n RekeyFuzzPercentage.

\n

Constraints: A value between 60 and half of Phase2LifetimeSeconds.

\n

Default: 540\n

" + "aws.protocols#ec2QueryName": "FindingsFound", + "smithy.api#documentation": "

Indicates whether there are findings.

", + "smithy.api#xmlName": "findingsFound" } }, - "RekeyFuzzPercentage": { + "AnalyzedEniCount": { "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "AnalyzedEniCount", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The percentage of the rekey window (determined by RekeyMarginTimeSeconds)\n during which the rekey time is randomly selected.

\n

Constraints: A value between 0 and 100.

\n

Default: 100\n

" + "smithy.api#documentation": "

The number of network interfaces analyzed.

", + "smithy.api#xmlName": "analyzedEniCount" } }, - "ReplayWindowSize": { - "target": "com.amazonaws.ec2#Integer", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of packets in an IKE replay window.

\n

Constraints: A value between 64 and 2048.

\n

Default: 1024\n

" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags.

", + "smithy.api#xmlName": "tagSet" } - }, - "DPDTimeoutSeconds": { - "target": "com.amazonaws.ec2#Integer", + } + }, + "traits": { + "smithy.api#documentation": "

Describes a Network Access Scope analysis.

" + } + }, + "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisId": { + "type": "string" + }, + "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysis", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#NetworkInsightsAccessScopeContent": { + "type": "structure", + "members": { + "NetworkInsightsAccessScopeId": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeId", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of seconds after which a DPD timeout occurs.

\n

Constraints: A value greater than or equal to 30.

\n

Default: 30\n

" + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeId", + "smithy.api#documentation": "

The ID of the Network Access Scope.

", + "smithy.api#xmlName": "networkInsightsAccessScopeId" } }, - "DPDTimeoutAction": { - "target": "com.amazonaws.ec2#String", + "MatchPaths": { + "target": "com.amazonaws.ec2#AccessScopePathList", "traits": { - "smithy.api#documentation": "

The action to take after DPD timeout occurs. Specify restart to restart\n the IKE initiation. Specify clear to end the IKE session.

\n

Valid Values: clear | none | restart\n

\n

Default: clear\n

" + "aws.protocols#ec2QueryName": "MatchPathSet", + "smithy.api#documentation": "

The paths to match.

", + "smithy.api#xmlName": "matchPathSet" } }, - "Phase1EncryptionAlgorithms": { - "target": "com.amazonaws.ec2#Phase1EncryptionAlgorithmsRequestList", + "ExcludePaths": { + "target": "com.amazonaws.ec2#AccessScopePathList", "traits": { - "smithy.api#documentation": "

One or more encryption algorithms that are permitted for the VPN tunnel for phase 1\n IKE negotiations.

\n

Valid values: AES128 | AES256 | AES128-GCM-16 |\n AES256-GCM-16\n

", - "smithy.api#xmlName": "Phase1EncryptionAlgorithm" + "aws.protocols#ec2QueryName": "ExcludePathSet", + "smithy.api#documentation": "

The paths to exclude.

", + "smithy.api#xmlName": "excludePathSet" } - }, - "Phase2EncryptionAlgorithms": { - "target": "com.amazonaws.ec2#Phase2EncryptionAlgorithmsRequestList", + } + }, + "traits": { + "smithy.api#documentation": "

Describes the Network Access Scope content.

" + } + }, + "com.amazonaws.ec2#NetworkInsightsAccessScopeId": { + "type": "string" + }, + "com.amazonaws.ec2#NetworkInsightsAccessScopeIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#NetworkInsightsAccessScopeList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScope", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#NetworkInsightsAnalysis": { + "type": "structure", + "members": { + "NetworkInsightsAnalysisId": { + "target": "com.amazonaws.ec2#NetworkInsightsAnalysisId", "traits": { - "smithy.api#documentation": "

One or more encryption algorithms that are permitted for the VPN tunnel for phase 2\n IKE negotiations.

\n

Valid values: AES128 | AES256 | AES128-GCM-16 |\n AES256-GCM-16\n

", - "smithy.api#xmlName": "Phase2EncryptionAlgorithm" + "aws.protocols#ec2QueryName": "NetworkInsightsAnalysisId", + "smithy.api#documentation": "

The ID of the network insights analysis.

", + "smithy.api#xmlName": "networkInsightsAnalysisId" } }, - "Phase1IntegrityAlgorithms": { - "target": "com.amazonaws.ec2#Phase1IntegrityAlgorithmsRequestList", + "NetworkInsightsAnalysisArn": { + "target": "com.amazonaws.ec2#ResourceArn", "traits": { - "smithy.api#documentation": "

One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE\n negotiations.

\n

Valid values: SHA1 | SHA2-256 | SHA2-384 |\n SHA2-512\n

", - "smithy.api#xmlName": "Phase1IntegrityAlgorithm" + "aws.protocols#ec2QueryName": "NetworkInsightsAnalysisArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the network insights analysis.

", + "smithy.api#xmlName": "networkInsightsAnalysisArn" } }, - "Phase2IntegrityAlgorithms": { - "target": "com.amazonaws.ec2#Phase2IntegrityAlgorithmsRequestList", + "NetworkInsightsPathId": { + "target": "com.amazonaws.ec2#NetworkInsightsPathId", "traits": { - "smithy.api#documentation": "

One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE\n negotiations.

\n

Valid values: SHA1 | SHA2-256 | SHA2-384 |\n SHA2-512\n

", - "smithy.api#xmlName": "Phase2IntegrityAlgorithm" + "aws.protocols#ec2QueryName": "NetworkInsightsPathId", + "smithy.api#documentation": "

The ID of the path.

", + "smithy.api#xmlName": "networkInsightsPathId" } }, - "Phase1DHGroupNumbers": { - "target": "com.amazonaws.ec2#Phase1DHGroupNumbersRequestList", + "AdditionalAccounts": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "smithy.api#documentation": "

One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for\n phase 1 IKE negotiations.

\n

Valid values: 2 | 14 | 15 | 16 |\n 17 | 18 | 19 | 20 |\n 21 | 22 | 23 | 24\n

", - "smithy.api#xmlName": "Phase1DHGroupNumber" + "aws.protocols#ec2QueryName": "AdditionalAccountSet", + "smithy.api#documentation": "

The member accounts that contain resources that the path can traverse.

", + "smithy.api#xmlName": "additionalAccountSet" } }, - "Phase2DHGroupNumbers": { - "target": "com.amazonaws.ec2#Phase2DHGroupNumbersRequestList", + "FilterInArns": { + "target": "com.amazonaws.ec2#ArnList", "traits": { - "smithy.api#documentation": "

One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for\n phase 2 IKE negotiations.

\n

Valid values: 2 | 5 | 14 | 15 |\n 16 | 17 | 18 | 19 |\n 20 | 21 | 22 | 23 |\n 24\n

", - "smithy.api#xmlName": "Phase2DHGroupNumber" + "aws.protocols#ec2QueryName": "FilterInArnSet", + "smithy.api#documentation": "

The Amazon Resource Names (ARN) of the Amazon Web Services resources that the path must traverse.

", + "smithy.api#xmlName": "filterInArnSet" } }, - "IKEVersions": { - "target": "com.amazonaws.ec2#IKEVersionsRequestList", + "StartDate": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "smithy.api#documentation": "

The IKE versions that are permitted for the VPN tunnel.

\n

Valid values: ikev1 | ikev2\n

", - "smithy.api#xmlName": "IKEVersion" + "aws.protocols#ec2QueryName": "StartDate", + "smithy.api#documentation": "

The time the analysis started.

", + "smithy.api#xmlName": "startDate" } }, - "StartupAction": { - "target": "com.amazonaws.ec2#String", + "Status": { + "target": "com.amazonaws.ec2#AnalysisStatus", "traits": { - "smithy.api#documentation": "

The action to take when the establishing the tunnel for the VPN connection. By\n default, your customer gateway device must initiate the IKE negotiation and bring up the\n tunnel. Specify start for Amazon Web Services to initiate the IKE\n negotiation.

\n

Valid Values: add | start\n

\n

Default: add\n

" + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The status of the network insights analysis.

", + "smithy.api#xmlName": "status" } }, - "LogOptions": { - "target": "com.amazonaws.ec2#VpnTunnelLogOptionsSpecification", + "StatusMessage": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

Options for logging VPN tunnel activity.

" + "aws.protocols#ec2QueryName": "StatusMessage", + "smithy.api#documentation": "

The status message, if the status is failed.

", + "smithy.api#xmlName": "statusMessage" } - } - }, - "traits": { - "smithy.api#documentation": "

The Amazon Web Services Site-to-Site VPN tunnel options to modify.

" - } - }, - "com.amazonaws.ec2#MonitorInstances": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#MonitorInstancesRequest" - }, - "output": { - "target": "com.amazonaws.ec2#MonitorInstancesResult" - }, - "traits": { - "smithy.api#documentation": "

Enables detailed monitoring for a running instance. Otherwise, basic monitoring is\n enabled. For more information, see Monitor your instances using\n CloudWatch in the Amazon EC2 User Guide.

\n

To disable detailed monitoring, see UnmonitorInstances.

" - } - }, - "com.amazonaws.ec2#MonitorInstancesRequest": { - "type": "structure", - "members": { - "InstanceIds": { - "target": "com.amazonaws.ec2#InstanceIdStringList", + }, + "WarningMessage": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IDs of the instances.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "InstanceId" + "aws.protocols#ec2QueryName": "WarningMessage", + "smithy.api#documentation": "

The warning message.

", + "smithy.api#xmlName": "warningMessage" } }, - "DryRun": { + "NetworkPathFound": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", + "aws.protocols#ec2QueryName": "NetworkPathFound", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Indicates whether the destination is reachable from the source.

", + "smithy.api#xmlName": "networkPathFound" } - } - } - }, - "com.amazonaws.ec2#MonitorInstancesResult": { - "type": "structure", - "members": { - "InstanceMonitorings": { - "target": "com.amazonaws.ec2#InstanceMonitoringList", + }, + "ForwardPathComponents": { + "target": "com.amazonaws.ec2#PathComponentList", "traits": { - "aws.protocols#ec2QueryName": "InstancesSet", - "smithy.api#documentation": "

The monitoring information.

", - "smithy.api#xmlName": "instancesSet" + "aws.protocols#ec2QueryName": "ForwardPathComponentSet", + "smithy.api#documentation": "

The components in the path from source to destination.

", + "smithy.api#xmlName": "forwardPathComponentSet" } - } - } - }, - "com.amazonaws.ec2#Monitoring": { - "type": "structure", - "members": { - "State": { - "target": "com.amazonaws.ec2#MonitoringState", + }, + "ReturnPathComponents": { + "target": "com.amazonaws.ec2#PathComponentList", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is\n enabled.

", - "smithy.api#xmlName": "state" + "aws.protocols#ec2QueryName": "ReturnPathComponentSet", + "smithy.api#documentation": "

The components in the path from destination to source.

", + "smithy.api#xmlName": "returnPathComponentSet" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the monitoring of an instance.

" - } - }, - "com.amazonaws.ec2#MonitoringState": { - "type": "enum", - "members": { - "disabled": { - "target": "smithy.api#Unit", + }, + "Explanations": { + "target": "com.amazonaws.ec2#ExplanationList", "traits": { - "smithy.api#enumValue": "disabled" + "aws.protocols#ec2QueryName": "ExplanationSet", + "smithy.api#documentation": "

The explanations. For more information, see Reachability Analyzer explanation codes.

", + "smithy.api#xmlName": "explanationSet" } }, - "disabling": { - "target": "smithy.api#Unit", + "AlternatePathHints": { + "target": "com.amazonaws.ec2#AlternatePathHintList", "traits": { - "smithy.api#enumValue": "disabling" + "aws.protocols#ec2QueryName": "AlternatePathHintSet", + "smithy.api#documentation": "

Potential intermediate components.

", + "smithy.api#xmlName": "alternatePathHintSet" } }, - "enabled": { - "target": "smithy.api#Unit", + "SuggestedAccounts": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "smithy.api#enumValue": "enabled" + "aws.protocols#ec2QueryName": "SuggestedAccountSet", + "smithy.api#documentation": "

Potential intermediate accounts.

", + "smithy.api#xmlName": "suggestedAccountSet" } }, - "pending": { - "target": "smithy.api#Unit", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "smithy.api#enumValue": "pending" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags.

", + "smithy.api#xmlName": "tagSet" } } - } - }, - "com.amazonaws.ec2#MoveAddressToVpc": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#MoveAddressToVpcRequest" - }, - "output": { - "target": "com.amazonaws.ec2#MoveAddressToVpcResult" }, "traits": { - "smithy.api#documentation": "

Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC platform. The\n Elastic IP address must be allocated to your account for more than 24 hours, and it must not\n be associated with an instance. After the Elastic IP address is moved, it is no longer\n available for use in the EC2-Classic platform, unless you move it back using the\n RestoreAddressToClassic request. You cannot move an Elastic IP address that was\n originally allocated for use in the EC2-VPC platform to the EC2-Classic platform.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" + "smithy.api#documentation": "

Describes a network insights analysis.

" } }, - "com.amazonaws.ec2#MoveAddressToVpcRequest": { - "type": "structure", - "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" - } - }, - "PublicIp": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "PublicIp", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The Elastic IP address.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "publicIp" - } + "com.amazonaws.ec2#NetworkInsightsAnalysisId": { + "type": "string" + }, + "com.amazonaws.ec2#NetworkInsightsAnalysisIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#NetworkInsightsAnalysisId", + "traits": { + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#MoveAddressToVpcResult": { - "type": "structure", - "members": { - "AllocationId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "AllocationId", - "smithy.api#documentation": "

The allocation ID for the Elastic IP address.

", - "smithy.api#xmlName": "allocationId" - } - }, - "Status": { - "target": "com.amazonaws.ec2#Status", - "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The status of the move of the IP address.

", - "smithy.api#xmlName": "status" - } + "com.amazonaws.ec2#NetworkInsightsAnalysisList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#NetworkInsightsAnalysis", + "traits": { + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#MoveByoipCidrToIpam": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#MoveByoipCidrToIpamRequest" - }, - "output": { - "target": "com.amazonaws.ec2#MoveByoipCidrToIpamResult" - }, + "com.amazonaws.ec2#NetworkInsightsMaxResults": { + "type": "integer", "traits": { - "smithy.api#documentation": "

Move an BYOIP IPv4 CIDR to IPAM from a public IPv4 pool.

\n

If you already have an IPv4 BYOIP CIDR with Amazon Web Services, you can move the CIDR to IPAM from a public IPv4 pool. You cannot move an IPv6 CIDR to IPAM. If you are bringing a new IP address to Amazon Web Services for the first time, complete the steps in Tutorial: BYOIP address CIDRs to IPAM.

" + "smithy.api#default": 0, + "smithy.api#range": { + "min": 1, + "max": 100 + } } }, - "com.amazonaws.ec2#MoveByoipCidrToIpamRequest": { + "com.amazonaws.ec2#NetworkInsightsPath": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "NetworkInsightsPathId": { + "target": "com.amazonaws.ec2#NetworkInsightsPathId", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "NetworkInsightsPathId", + "smithy.api#documentation": "

The ID of the path.

", + "smithy.api#xmlName": "networkInsightsPathId" } }, - "Cidr": { - "target": "com.amazonaws.ec2#String", + "NetworkInsightsPathArn": { + "target": "com.amazonaws.ec2#ResourceArn", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The BYOIP CIDR.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "NetworkInsightsPathArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the path.

", + "smithy.api#xmlName": "networkInsightsPathArn" } }, - "IpamPoolId": { - "target": "com.amazonaws.ec2#IpamPoolId", + "CreatedDate": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IPAM pool ID.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "CreatedDate", + "smithy.api#documentation": "

The time stamp when the path was created.

", + "smithy.api#xmlName": "createdDate" } }, - "IpamPoolOwner": { + "Source": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The Amazon Web Services account ID of the owner of the IPAM pool.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "Source", + "smithy.api#documentation": "

The Amazon Web Services resource that is the source of the path.

", + "smithy.api#xmlName": "source" } - } - } - }, - "com.amazonaws.ec2#MoveByoipCidrToIpamResult": { - "type": "structure", - "members": { - "ByoipCidr": { - "target": "com.amazonaws.ec2#ByoipCidr", + }, + "Destination": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ByoipCidr", - "smithy.api#documentation": "

The BYOIP CIDR.

", - "smithy.api#xmlName": "byoipCidr" + "aws.protocols#ec2QueryName": "Destination", + "smithy.api#documentation": "

The Amazon Web Services resource that is the destination of the path.

", + "smithy.api#xmlName": "destination" } - } - } - }, - "com.amazonaws.ec2#MoveStatus": { - "type": "enum", - "members": { - "movingToVpc": { - "target": "smithy.api#Unit", + }, + "SourceArn": { + "target": "com.amazonaws.ec2#ResourceArn", "traits": { - "smithy.api#enumValue": "movingToVpc" + "aws.protocols#ec2QueryName": "SourceArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the source.

", + "smithy.api#xmlName": "sourceArn" } }, - "restoringToClassic": { - "target": "smithy.api#Unit", + "DestinationArn": { + "target": "com.amazonaws.ec2#ResourceArn", "traits": { - "smithy.api#enumValue": "restoringToClassic" + "aws.protocols#ec2QueryName": "DestinationArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the destination.

", + "smithy.api#xmlName": "destinationArn" } - } - } - }, - "com.amazonaws.ec2#MovingAddressStatus": { - "type": "structure", - "members": { - "MoveStatus": { - "target": "com.amazonaws.ec2#MoveStatus", + }, + "SourceIp": { + "target": "com.amazonaws.ec2#IpAddress", + "traits": { + "aws.protocols#ec2QueryName": "SourceIp", + "smithy.api#documentation": "

The IP address of the Amazon Web Services resource that is the source of the path.

", + "smithy.api#xmlName": "sourceIp" + } + }, + "DestinationIp": { + "target": "com.amazonaws.ec2#IpAddress", + "traits": { + "aws.protocols#ec2QueryName": "DestinationIp", + "smithy.api#documentation": "

The IP address of the Amazon Web Services resource that is the destination of the path.

", + "smithy.api#xmlName": "destinationIp" + } + }, + "Protocol": { + "target": "com.amazonaws.ec2#Protocol", "traits": { - "aws.protocols#ec2QueryName": "MoveStatus", - "smithy.api#documentation": "

The status of the Elastic IP address that's being moved to the EC2-VPC platform, or restored to the EC2-Classic platform.

", - "smithy.api#xmlName": "moveStatus" + "aws.protocols#ec2QueryName": "Protocol", + "smithy.api#documentation": "

The protocol.

", + "smithy.api#xmlName": "protocol" } }, - "PublicIp": { - "target": "com.amazonaws.ec2#String", + "DestinationPort": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "PublicIp", - "smithy.api#documentation": "

The Elastic IP address.

", - "smithy.api#xmlName": "publicIp" + "aws.protocols#ec2QueryName": "DestinationPort", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The destination port.

", + "smithy.api#xmlName": "destinationPort" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags associated with the path.

", + "smithy.api#xmlName": "tagSet" } } }, "traits": { - "smithy.api#documentation": "

Describes the status of a moving Elastic IP address.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" + "smithy.api#documentation": "

Describes a path.

" } }, - "com.amazonaws.ec2#MovingAddressStatusSet": { + "com.amazonaws.ec2#NetworkInsightsPathId": { + "type": "string" + }, + "com.amazonaws.ec2#NetworkInsightsPathIdList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#MovingAddressStatus", + "target": "com.amazonaws.ec2#NetworkInsightsPathId", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#MulticastSupportValue": { - "type": "enum", - "members": { - "enable": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "enable" - } - }, - "disable": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "disable" - } + "com.amazonaws.ec2#NetworkInsightsPathList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#NetworkInsightsPath", + "traits": { + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#NatGateway": { + "com.amazonaws.ec2#NetworkInsightsResourceId": { + "type": "string" + }, + "com.amazonaws.ec2#NetworkInterface": { "type": "structure", "members": { - "CreateTime": { - "target": "com.amazonaws.ec2#DateTime", + "Association": { + "target": "com.amazonaws.ec2#NetworkInterfaceAssociation", "traits": { - "aws.protocols#ec2QueryName": "CreateTime", - "smithy.api#documentation": "

The date and time the NAT gateway was created.

", - "smithy.api#xmlName": "createTime" + "aws.protocols#ec2QueryName": "Association", + "smithy.api#documentation": "

The association information for an Elastic IP address (IPv4) associated with the network interface.

", + "smithy.api#xmlName": "association" } }, - "DeleteTime": { - "target": "com.amazonaws.ec2#DateTime", + "Attachment": { + "target": "com.amazonaws.ec2#NetworkInterfaceAttachment", "traits": { - "aws.protocols#ec2QueryName": "DeleteTime", - "smithy.api#documentation": "

The date and time the NAT gateway was deleted, if applicable.

", - "smithy.api#xmlName": "deleteTime" + "aws.protocols#ec2QueryName": "Attachment", + "smithy.api#documentation": "

The network interface attachment.

", + "smithy.api#xmlName": "attachment" } }, - "FailureCode": { + "AvailabilityZone": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "FailureCode", - "smithy.api#documentation": "

If the NAT gateway could not be created, specifies the error code for the failure.\n (InsufficientFreeAddressesInSubnet | Gateway.NotAttached |\n InvalidAllocationID.NotFound | Resource.AlreadyAssociated |\n InternalError | InvalidSubnetID.NotFound)

", - "smithy.api#xmlName": "failureCode" + "aws.protocols#ec2QueryName": "AvailabilityZone", + "smithy.api#documentation": "

The Availability Zone.

", + "smithy.api#xmlName": "availabilityZone" } }, - "FailureMessage": { + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "FailureMessage", - "smithy.api#documentation": "

If the NAT gateway could not be created, specifies the error message for the failure, that corresponds to the error code.

\n
    \n
  • \n

    For InsufficientFreeAddressesInSubnet: \"Subnet has insufficient free addresses to create this NAT gateway\"

    \n
  • \n
  • \n

    For Gateway.NotAttached: \"Network vpc-xxxxxxxx has no Internet gateway attached\"

    \n
  • \n
  • \n

    For InvalidAllocationID.NotFound: \"Elastic IP address eipalloc-xxxxxxxx could not be associated with this NAT gateway\"

    \n
  • \n
  • \n

    For Resource.AlreadyAssociated: \"Elastic IP address eipalloc-xxxxxxxx is already associated\"

    \n
  • \n
  • \n

    For InternalError: \"Network interface eni-xxxxxxxx, created and used internally by this NAT gateway is in an invalid state. Please try again.\"

    \n
  • \n
  • \n

    For InvalidSubnetID.NotFound: \"The specified subnet subnet-xxxxxxxx does not exist or could not be found.\"

    \n
  • \n
", - "smithy.api#xmlName": "failureMessage" - } - }, - "NatGatewayAddresses": { - "target": "com.amazonaws.ec2#NatGatewayAddressList", - "traits": { - "aws.protocols#ec2QueryName": "NatGatewayAddressSet", - "smithy.api#documentation": "

Information about the IP addresses and network interface associated with the NAT gateway.

", - "smithy.api#xmlName": "natGatewayAddressSet" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A description.

", + "smithy.api#xmlName": "description" } }, - "NatGatewayId": { - "target": "com.amazonaws.ec2#String", + "Groups": { + "target": "com.amazonaws.ec2#GroupIdentifierList", "traits": { - "aws.protocols#ec2QueryName": "NatGatewayId", - "smithy.api#documentation": "

The ID of the NAT gateway.

", - "smithy.api#xmlName": "natGatewayId" + "aws.protocols#ec2QueryName": "GroupSet", + "smithy.api#documentation": "

Any security groups for the network interface.

", + "smithy.api#xmlName": "groupSet" } }, - "ProvisionedBandwidth": { - "target": "com.amazonaws.ec2#ProvisionedBandwidth", + "InterfaceType": { + "target": "com.amazonaws.ec2#NetworkInterfaceType", "traits": { - "aws.protocols#ec2QueryName": "ProvisionedBandwidth", - "smithy.api#documentation": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through \n the Support Center.

", - "smithy.api#xmlName": "provisionedBandwidth" + "aws.protocols#ec2QueryName": "InterfaceType", + "smithy.api#documentation": "

The type of network interface.

", + "smithy.api#xmlName": "interfaceType" } }, - "State": { - "target": "com.amazonaws.ec2#NatGatewayState", + "Ipv6Addresses": { + "target": "com.amazonaws.ec2#NetworkInterfaceIpv6AddressesList", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the NAT gateway.

\n
    \n
  • \n

    \n pending: The NAT gateway is being created and is not ready to process\n traffic.

    \n
  • \n
  • \n

    \n failed: The NAT gateway could not be created. Check the\n failureCode and failureMessage fields for the reason.

    \n
  • \n
  • \n

    \n available: The NAT gateway is able to process traffic. This status remains\n until you delete the NAT gateway, and does not indicate the health of the NAT gateway.

    \n
  • \n
  • \n

    \n deleting: The NAT gateway is in the process of being terminated and may\n still be processing traffic.

    \n
  • \n
  • \n

    \n deleted: The NAT gateway has been terminated and is no longer processing\n traffic.

    \n
  • \n
", - "smithy.api#xmlName": "state" + "aws.protocols#ec2QueryName": "Ipv6AddressesSet", + "smithy.api#documentation": "

The IPv6 addresses associated with the network interface.

", + "smithy.api#xmlName": "ipv6AddressesSet" } }, - "SubnetId": { + "MacAddress": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SubnetId", - "smithy.api#documentation": "

The ID of the subnet in which the NAT gateway is located.

", - "smithy.api#xmlName": "subnetId" + "aws.protocols#ec2QueryName": "MacAddress", + "smithy.api#documentation": "

The MAC address.

", + "smithy.api#xmlName": "macAddress" } }, - "VpcId": { + "NetworkInterfaceId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "VpcId", - "smithy.api#documentation": "

The ID of the VPC in which the NAT gateway is located.

", - "smithy.api#xmlName": "vpcId" - } - }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", - "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags for the NAT gateway.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "smithy.api#documentation": "

The ID of the network interface.

", + "smithy.api#xmlName": "networkInterfaceId" } }, - "ConnectivityType": { - "target": "com.amazonaws.ec2#ConnectivityType", - "traits": { - "aws.protocols#ec2QueryName": "ConnectivityType", - "smithy.api#documentation": "

Indicates whether the NAT gateway supports public or private connectivity.

", - "smithy.api#xmlName": "connectivityType" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a NAT gateway.

" - } - }, - "com.amazonaws.ec2#NatGatewayAddress": { - "type": "structure", - "members": { - "AllocationId": { + "OutpostArn": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AllocationId", - "smithy.api#documentation": "

[Public NAT gateway only] The allocation ID of the Elastic IP address that's associated with the NAT gateway.

", - "smithy.api#xmlName": "allocationId" + "aws.protocols#ec2QueryName": "OutpostArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Outpost.

", + "smithy.api#xmlName": "outpostArn" } }, - "NetworkInterfaceId": { + "OwnerId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceId", - "smithy.api#documentation": "

The ID of the network interface associated with the NAT gateway.

", - "smithy.api#xmlName": "networkInterfaceId" + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The Amazon Web Services account ID of the owner of the network interface.

", + "smithy.api#xmlName": "ownerId" } }, - "PrivateIp": { + "PrivateDnsName": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PrivateIp", - "smithy.api#documentation": "

The private IP address associated with the NAT gateway.

", - "smithy.api#xmlName": "privateIp" + "aws.protocols#ec2QueryName": "PrivateDnsName", + "smithy.api#documentation": "

The private DNS name.

", + "smithy.api#xmlName": "privateDnsName" } }, - "PublicIp": { + "PrivateIpAddress": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PublicIp", - "smithy.api#documentation": "

[Public NAT gateway only] The Elastic IP address associated with the NAT gateway.

", - "smithy.api#xmlName": "publicIp" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the IP addresses and network interface associated with a NAT gateway.

" - } - }, - "com.amazonaws.ec2#NatGatewayAddressList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#NatGatewayAddress", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#NatGatewayId": { - "type": "string" - }, - "com.amazonaws.ec2#NatGatewayIdStringList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#NatGatewayId", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#NatGatewayList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#NatGateway", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#NatGatewayState": { - "type": "enum", - "members": { - "PENDING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "pending" + "aws.protocols#ec2QueryName": "PrivateIpAddress", + "smithy.api#documentation": "

The IPv4 address of the network interface within the subnet.

", + "smithy.api#xmlName": "privateIpAddress" } }, - "FAILED": { - "target": "smithy.api#Unit", + "PrivateIpAddresses": { + "target": "com.amazonaws.ec2#NetworkInterfacePrivateIpAddressList", "traits": { - "smithy.api#enumValue": "failed" + "aws.protocols#ec2QueryName": "PrivateIpAddressesSet", + "smithy.api#documentation": "

The private IPv4 addresses associated with the network interface.

", + "smithy.api#xmlName": "privateIpAddressesSet" } }, - "AVAILABLE": { - "target": "smithy.api#Unit", + "Ipv4Prefixes": { + "target": "com.amazonaws.ec2#Ipv4PrefixesList", "traits": { - "smithy.api#enumValue": "available" + "aws.protocols#ec2QueryName": "Ipv4PrefixSet", + "smithy.api#documentation": "

The IPv4 prefixes that are assigned to the network interface.

", + "smithy.api#xmlName": "ipv4PrefixSet" } }, - "DELETING": { - "target": "smithy.api#Unit", + "Ipv6Prefixes": { + "target": "com.amazonaws.ec2#Ipv6PrefixesList", "traits": { - "smithy.api#enumValue": "deleting" + "aws.protocols#ec2QueryName": "Ipv6PrefixSet", + "smithy.api#documentation": "

The IPv6 prefixes that are assigned to the network interface.

", + "smithy.api#xmlName": "ipv6PrefixSet" } }, - "DELETED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "deleted" - } - } - } - }, - "com.amazonaws.ec2#NetmaskLength": { - "type": "integer" - }, - "com.amazonaws.ec2#NetworkAcl": { - "type": "structure", - "members": { - "Associations": { - "target": "com.amazonaws.ec2#NetworkAclAssociationList", + "RequesterId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AssociationSet", - "smithy.api#documentation": "

Any associations between the network ACL and one or more subnets

", - "smithy.api#xmlName": "associationSet" + "aws.protocols#ec2QueryName": "RequesterId", + "smithy.api#documentation": "

The alias or Amazon Web Services account ID of the principal or service that created the network interface.

", + "smithy.api#xmlName": "requesterId" } }, - "Entries": { - "target": "com.amazonaws.ec2#NetworkAclEntryList", + "RequesterManaged": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "EntrySet", - "smithy.api#documentation": "

One or more entries (rules) in the network ACL.

", - "smithy.api#xmlName": "entrySet" + "aws.protocols#ec2QueryName": "RequesterManaged", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the network interface is being managed by Amazon Web Services.

", + "smithy.api#xmlName": "requesterManaged" } }, - "IsDefault": { + "SourceDestCheck": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Default", + "aws.protocols#ec2QueryName": "SourceDestCheck", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether this is the default network ACL for the VPC.

", - "smithy.api#xmlName": "default" + "smithy.api#documentation": "

Indicates whether source/destination checking is enabled.

", + "smithy.api#xmlName": "sourceDestCheck" } }, - "NetworkAclId": { + "Status": { + "target": "com.amazonaws.ec2#NetworkInterfaceStatus", + "traits": { + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The status of the network interface.

", + "smithy.api#xmlName": "status" + } + }, + "SubnetId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NetworkAclId", - "smithy.api#documentation": "

The ID of the network ACL.

", - "smithy.api#xmlName": "networkAclId" + "aws.protocols#ec2QueryName": "SubnetId", + "smithy.api#documentation": "

The ID of the subnet.

", + "smithy.api#xmlName": "subnetId" } }, - "Tags": { + "TagSet": { "target": "com.amazonaws.ec2#TagList", "traits": { "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags assigned to the network ACL.

", + "smithy.api#documentation": "

Any tags assigned to the network interface.

", "smithy.api#xmlName": "tagSet" } }, @@ -66796,4263 +72589,4430 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "VpcId", - "smithy.api#documentation": "

The ID of the VPC for the network ACL.

", + "smithy.api#documentation": "

The ID of the VPC.

", "smithy.api#xmlName": "vpcId" } }, - "OwnerId": { + "DenyAllIgwTraffic": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DenyAllIgwTraffic", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether a network interface with an IPv6 address is unreachable from the \n public internet. If the value is true, inbound traffic from the internet \n is dropped and you cannot assign an elastic IP address to the network interface. The \n network interface is reachable from peered VPCs and resources connected through a \n transit gateway, including on-premises networks.

", + "smithy.api#xmlName": "denyAllIgwTraffic" + } + }, + "Ipv6Native": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "Ipv6Native", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether this is an IPv6 only network interface.

", + "smithy.api#xmlName": "ipv6Native" + } + }, + "Ipv6Address": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the network ACL.

", - "smithy.api#xmlName": "ownerId" + "aws.protocols#ec2QueryName": "Ipv6Address", + "smithy.api#documentation": "

The IPv6 globally unique address associated with the network interface.

", + "smithy.api#xmlName": "ipv6Address" } } }, "traits": { - "smithy.api#documentation": "

Describes a network ACL.

" + "smithy.api#documentation": "

Describes a network interface.

" } }, - "com.amazonaws.ec2#NetworkAclAssociation": { + "com.amazonaws.ec2#NetworkInterfaceAssociation": { "type": "structure", "members": { - "NetworkAclAssociationId": { + "AllocationId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NetworkAclAssociationId", - "smithy.api#documentation": "

The ID of the association between a network ACL and a subnet.

", - "smithy.api#xmlName": "networkAclAssociationId" + "aws.protocols#ec2QueryName": "AllocationId", + "smithy.api#documentation": "

The allocation ID.

", + "smithy.api#xmlName": "allocationId" } }, - "NetworkAclId": { + "AssociationId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NetworkAclId", - "smithy.api#documentation": "

The ID of the network ACL.

", - "smithy.api#xmlName": "networkAclId" + "aws.protocols#ec2QueryName": "AssociationId", + "smithy.api#documentation": "

The association ID.

", + "smithy.api#xmlName": "associationId" } }, - "SubnetId": { + "IpOwnerId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SubnetId", - "smithy.api#documentation": "

The ID of the subnet.

", - "smithy.api#xmlName": "subnetId" + "aws.protocols#ec2QueryName": "IpOwnerId", + "smithy.api#documentation": "

The ID of the Elastic IP address owner.

", + "smithy.api#xmlName": "ipOwnerId" + } + }, + "PublicDnsName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "PublicDnsName", + "smithy.api#documentation": "

The public DNS name.

", + "smithy.api#xmlName": "publicDnsName" + } + }, + "PublicIp": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "PublicIp", + "smithy.api#documentation": "

The address of the Elastic IP address bound to the network\n interface.

", + "smithy.api#xmlName": "publicIp" + } + }, + "CustomerOwnedIp": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "CustomerOwnedIp", + "smithy.api#documentation": "

The customer-owned IP address associated with the network interface.

", + "smithy.api#xmlName": "customerOwnedIp" + } + }, + "CarrierIp": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "CarrierIp", + "smithy.api#documentation": "

The carrier IP address associated with the network interface.

\n

This option is only available when the network interface is in a subnet which is associated with a Wavelength Zone.

", + "smithy.api#xmlName": "carrierIp" } } }, "traits": { - "smithy.api#documentation": "

Describes an association between a network ACL and a subnet.

" - } - }, - "com.amazonaws.ec2#NetworkAclAssociationId": { - "type": "string" - }, - "com.amazonaws.ec2#NetworkAclAssociationList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#NetworkAclAssociation", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

Describes association information for an Elastic IP address (IPv4 only), or a Carrier\n IP address (for a network interface which resides in a subnet in a Wavelength\n Zone).

" } }, - "com.amazonaws.ec2#NetworkAclEntry": { + "com.amazonaws.ec2#NetworkInterfaceAttachment": { "type": "structure", "members": { - "CidrBlock": { + "AttachTime": { + "target": "com.amazonaws.ec2#DateTime", + "traits": { + "aws.protocols#ec2QueryName": "AttachTime", + "smithy.api#documentation": "

The timestamp indicating when the attachment initiated.

", + "smithy.api#xmlName": "attachTime" + } + }, + "AttachmentId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CidrBlock", - "smithy.api#documentation": "

The IPv4 network range to allow or deny, in CIDR notation.

", - "smithy.api#xmlName": "cidrBlock" + "aws.protocols#ec2QueryName": "AttachmentId", + "smithy.api#documentation": "

The ID of the network interface attachment.

", + "smithy.api#xmlName": "attachmentId" } }, - "Egress": { + "DeleteOnTermination": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Egress", + "aws.protocols#ec2QueryName": "DeleteOnTermination", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the rule is an egress rule (applied to traffic leaving the subnet).

", - "smithy.api#xmlName": "egress" + "smithy.api#documentation": "

Indicates whether the network interface is deleted when the instance is terminated.

", + "smithy.api#xmlName": "deleteOnTermination" } }, - "IcmpTypeCode": { - "target": "com.amazonaws.ec2#IcmpTypeCode", + "DeviceIndex": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "IcmpTypeCode", - "smithy.api#documentation": "

ICMP protocol: The ICMP type and code.

", - "smithy.api#xmlName": "icmpTypeCode" + "aws.protocols#ec2QueryName": "DeviceIndex", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The device index of the network interface attachment on the instance.

", + "smithy.api#xmlName": "deviceIndex" } }, - "Ipv6CidrBlock": { - "target": "com.amazonaws.ec2#String", + "NetworkCardIndex": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "Ipv6CidrBlock", - "smithy.api#documentation": "

The IPv6 network range to allow or deny, in CIDR notation.

", - "smithy.api#xmlName": "ipv6CidrBlock" + "aws.protocols#ec2QueryName": "NetworkCardIndex", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The index of the network card.

", + "smithy.api#xmlName": "networkCardIndex" } }, - "PortRange": { - "target": "com.amazonaws.ec2#PortRange", + "InstanceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PortRange", - "smithy.api#documentation": "

TCP or UDP protocols: The range of ports the rule applies to.

", - "smithy.api#xmlName": "portRange" + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#documentation": "

The ID of the instance.

", + "smithy.api#xmlName": "instanceId" } }, - "Protocol": { + "InstanceOwnerId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Protocol", - "smithy.api#documentation": "

The protocol number. A value of \"-1\" means all protocols.

", - "smithy.api#xmlName": "protocol" + "aws.protocols#ec2QueryName": "InstanceOwnerId", + "smithy.api#documentation": "

The Amazon Web Services account ID of the owner of the instance.

", + "smithy.api#xmlName": "instanceOwnerId" } }, - "RuleAction": { - "target": "com.amazonaws.ec2#RuleAction", + "Status": { + "target": "com.amazonaws.ec2#AttachmentStatus", "traits": { - "aws.protocols#ec2QueryName": "RuleAction", - "smithy.api#documentation": "

Indicates whether to allow or deny the traffic that matches the rule.

", - "smithy.api#xmlName": "ruleAction" + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The attachment state.

", + "smithy.api#xmlName": "status" } }, - "RuleNumber": { - "target": "com.amazonaws.ec2#Integer", + "EnaSrdSpecification": { + "target": "com.amazonaws.ec2#AttachmentEnaSrdSpecification", "traits": { - "aws.protocols#ec2QueryName": "RuleNumber", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The rule number for the entry. ACL entries are processed in ascending order by rule number.

", - "smithy.api#xmlName": "ruleNumber" + "aws.protocols#ec2QueryName": "EnaSrdSpecification", + "smithy.api#documentation": "

Configures ENA Express for the network interface that this action attaches to the instance.

", + "smithy.api#xmlName": "enaSrdSpecification" } } }, "traits": { - "smithy.api#documentation": "

Describes an entry in a network ACL.

" + "smithy.api#documentation": "

Describes a network interface attachment.

" } }, - "com.amazonaws.ec2#NetworkAclEntryList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#NetworkAclEntry", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#NetworkInterfaceAttachmentChanges": { + "type": "structure", + "members": { + "AttachmentId": { + "target": "com.amazonaws.ec2#NetworkInterfaceAttachmentId", + "traits": { + "aws.protocols#ec2QueryName": "AttachmentId", + "smithy.api#documentation": "

The ID of the network interface attachment.

", + "smithy.api#xmlName": "attachmentId" + } + }, + "DeleteOnTermination": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DeleteOnTermination", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the network interface is deleted when the instance is terminated.

", + "smithy.api#xmlName": "deleteOnTermination" + } } + }, + "traits": { + "smithy.api#documentation": "

Describes an attachment change.

" } }, - "com.amazonaws.ec2#NetworkAclId": { + "com.amazonaws.ec2#NetworkInterfaceAttachmentId": { "type": "string" }, - "com.amazonaws.ec2#NetworkAclIdStringList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#NetworkAclId", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#NetworkAclList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#NetworkAcl", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#NetworkInterfaceAttribute": { + "type": "enum", + "members": { + "description": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "description" + } + }, + "groupSet": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "groupSet" + } + }, + "sourceDestCheck": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "sourceDestCheck" + } + }, + "attachment": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "attachment" + } } } }, - "com.amazonaws.ec2#NetworkBandwidthGbps": { + "com.amazonaws.ec2#NetworkInterfaceCount": { "type": "structure", "members": { "Min": { - "target": "com.amazonaws.ec2#Double", + "target": "com.amazonaws.ec2#Integer", "traits": { "aws.protocols#ec2QueryName": "Min", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The minimum amount of network bandwidth, in Gbps. If this parameter is not specified, there is no minimum\n limit.

", + "smithy.api#documentation": "

The minimum number of network interfaces. If this parameter is not specified, there is no\n minimum limit.

", "smithy.api#xmlName": "min" } }, "Max": { - "target": "com.amazonaws.ec2#Double", + "target": "com.amazonaws.ec2#Integer", "traits": { "aws.protocols#ec2QueryName": "Max", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum amount of network bandwidth, in Gbps. If this parameter is not specified, there is no\n maximum limit.

", + "smithy.api#documentation": "

The maximum number of network interfaces. If this parameter is not specified, there is no\n maximum limit.

", "smithy.api#xmlName": "max" } } }, "traits": { - "smithy.api#documentation": "

The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).

\n \n

Setting the minimum bandwidth does not guarantee that your instance will achieve the \n minimum bandwidth. Amazon EC2 will identify instance types that support the specified minimum \n bandwidth, but the actual bandwidth of your instance might go below the specified minimum \n at times. For more information, see Available instance bandwidth in the\n Amazon EC2 User Guide.

\n
" + "smithy.api#documentation": "

The minimum and maximum number of network interfaces.

" } }, - "com.amazonaws.ec2#NetworkBandwidthGbpsRequest": { + "com.amazonaws.ec2#NetworkInterfaceCountRequest": { "type": "structure", "members": { "Min": { - "target": "com.amazonaws.ec2#Double", + "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The minimum amount of network bandwidth, in Gbps. To specify no minimum limit, omit this\n parameter.

" + "smithy.api#documentation": "

The minimum number of network interfaces. To specify no minimum limit, omit this\n parameter.

" } }, "Max": { - "target": "com.amazonaws.ec2#Double", + "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum amount of network bandwidth, in Gbps. To specify no maximum limit, omit this\n parameter.

" + "smithy.api#documentation": "

The maximum number of network interfaces. To specify no maximum limit, omit this\n parameter.

" } } }, "traits": { - "smithy.api#documentation": "

The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).

\n \n

Setting the minimum bandwidth does not guarantee that your instance will achieve the \n minimum bandwidth. Amazon EC2 will identify instance types that support the specified minimum \n bandwidth, but the actual bandwidth of your instance might go below the specified minimum \n at times. For more information, see Available instance bandwidth in the\n Amazon EC2 User Guide.

\n
" + "smithy.api#documentation": "

The minimum and maximum number of network interfaces.

" } }, - "com.amazonaws.ec2#NetworkCardIndex": { - "type": "integer" - }, - "com.amazonaws.ec2#NetworkCardInfo": { - "type": "structure", + "com.amazonaws.ec2#NetworkInterfaceCreationType": { + "type": "enum", "members": { - "NetworkCardIndex": { - "target": "com.amazonaws.ec2#NetworkCardIndex", + "efa": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "NetworkCardIndex", - "smithy.api#documentation": "

The index of the network card.

", - "smithy.api#xmlName": "networkCardIndex" + "smithy.api#enumValue": "efa" } }, - "NetworkPerformance": { - "target": "com.amazonaws.ec2#NetworkPerformance", + "branch": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "NetworkPerformance", - "smithy.api#documentation": "

The network performance of the network card.

", - "smithy.api#xmlName": "networkPerformance" + "smithy.api#enumValue": "branch" } }, - "MaximumNetworkInterfaces": { - "target": "com.amazonaws.ec2#MaxNetworkInterfaces", + "trunk": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "MaximumNetworkInterfaces", - "smithy.api#documentation": "

The maximum number of network interfaces for the network card.

", - "smithy.api#xmlName": "maximumNetworkInterfaces" + "smithy.api#enumValue": "trunk" } } - }, - "traits": { - "smithy.api#documentation": "

Describes the network card support of the instance type.

" } }, - "com.amazonaws.ec2#NetworkCardInfoList": { + "com.amazonaws.ec2#NetworkInterfaceId": { + "type": "string" + }, + "com.amazonaws.ec2#NetworkInterfaceIdList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#NetworkCardInfo", + "target": "com.amazonaws.ec2#NetworkInterfaceId", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#NetworkInfo": { + "com.amazonaws.ec2#NetworkInterfaceIpv6Address": { "type": "structure", "members": { - "NetworkPerformance": { - "target": "com.amazonaws.ec2#NetworkPerformance", - "traits": { - "aws.protocols#ec2QueryName": "NetworkPerformance", - "smithy.api#documentation": "

The network performance.

", - "smithy.api#xmlName": "networkPerformance" - } - }, - "MaximumNetworkInterfaces": { - "target": "com.amazonaws.ec2#MaxNetworkInterfaces", - "traits": { - "aws.protocols#ec2QueryName": "MaximumNetworkInterfaces", - "smithy.api#documentation": "

The maximum number of network interfaces for the instance type.

", - "smithy.api#xmlName": "maximumNetworkInterfaces" - } - }, - "MaximumNetworkCards": { - "target": "com.amazonaws.ec2#MaximumNetworkCards", - "traits": { - "aws.protocols#ec2QueryName": "MaximumNetworkCards", - "smithy.api#documentation": "

The maximum number of physical network cards that can be allocated to the instance.

", - "smithy.api#xmlName": "maximumNetworkCards" - } - }, - "DefaultNetworkCardIndex": { - "target": "com.amazonaws.ec2#DefaultNetworkCardIndex", - "traits": { - "aws.protocols#ec2QueryName": "DefaultNetworkCardIndex", - "smithy.api#documentation": "

The index of the default network card, starting at 0.

", - "smithy.api#xmlName": "defaultNetworkCardIndex" - } - }, - "NetworkCards": { - "target": "com.amazonaws.ec2#NetworkCardInfoList", - "traits": { - "aws.protocols#ec2QueryName": "NetworkCards", - "smithy.api#documentation": "

Describes the network cards for the instance type.

", - "smithy.api#xmlName": "networkCards" - } - }, - "Ipv4AddressesPerInterface": { - "target": "com.amazonaws.ec2#MaxIpv4AddrPerInterface", - "traits": { - "aws.protocols#ec2QueryName": "Ipv4AddressesPerInterface", - "smithy.api#documentation": "

The maximum number of IPv4 addresses per network interface.

", - "smithy.api#xmlName": "ipv4AddressesPerInterface" - } - }, - "Ipv6AddressesPerInterface": { - "target": "com.amazonaws.ec2#MaxIpv6AddrPerInterface", - "traits": { - "aws.protocols#ec2QueryName": "Ipv6AddressesPerInterface", - "smithy.api#documentation": "

The maximum number of IPv6 addresses per network interface.

", - "smithy.api#xmlName": "ipv6AddressesPerInterface" - } - }, - "Ipv6Supported": { - "target": "com.amazonaws.ec2#Ipv6Flag", - "traits": { - "aws.protocols#ec2QueryName": "Ipv6Supported", - "smithy.api#documentation": "

Indicates whether IPv6 is supported.

", - "smithy.api#xmlName": "ipv6Supported" - } - }, - "EnaSupport": { - "target": "com.amazonaws.ec2#EnaSupport", - "traits": { - "aws.protocols#ec2QueryName": "EnaSupport", - "smithy.api#documentation": "

Indicates whether Elastic Network Adapter (ENA) is supported.

", - "smithy.api#xmlName": "enaSupport" - } - }, - "EfaSupported": { - "target": "com.amazonaws.ec2#EfaSupportedFlag", - "traits": { - "aws.protocols#ec2QueryName": "EfaSupported", - "smithy.api#documentation": "

Indicates whether Elastic Fabric Adapter (EFA) is supported.

", - "smithy.api#xmlName": "efaSupported" - } - }, - "EfaInfo": { - "target": "com.amazonaws.ec2#EfaInfo", - "traits": { - "aws.protocols#ec2QueryName": "EfaInfo", - "smithy.api#documentation": "

Describes the Elastic Fabric Adapters for the instance type.

", - "smithy.api#xmlName": "efaInfo" - } - }, - "EncryptionInTransitSupported": { - "target": "com.amazonaws.ec2#EncryptionInTransitSupported", + "Ipv6Address": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "EncryptionInTransitSupported", - "smithy.api#documentation": "

Indicates whether the instance type automatically encrypts in-transit traffic between instances.

", - "smithy.api#xmlName": "encryptionInTransitSupported" + "aws.protocols#ec2QueryName": "Ipv6Address", + "smithy.api#documentation": "

The IPv6 address.

", + "smithy.api#xmlName": "ipv6Address" } } }, "traits": { - "smithy.api#documentation": "

Describes the networking features of the instance type.

" + "smithy.api#documentation": "

Describes an IPv6 address associated with a network interface.

" } }, - "com.amazonaws.ec2#NetworkInsightsAccessScope": { + "com.amazonaws.ec2#NetworkInterfaceIpv6AddressesList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#NetworkInterfaceIpv6Address", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#NetworkInterfaceList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#NetworkInterface", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#NetworkInterfacePermission": { "type": "structure", "members": { - "NetworkInsightsAccessScopeId": { - "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeId", + "NetworkInterfacePermissionId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeId", - "smithy.api#documentation": "

The ID of the Network Access Scope.

", - "smithy.api#xmlName": "networkInsightsAccessScopeId" + "aws.protocols#ec2QueryName": "NetworkInterfacePermissionId", + "smithy.api#documentation": "

The ID of the network interface permission.

", + "smithy.api#xmlName": "networkInterfacePermissionId" } }, - "NetworkInsightsAccessScopeArn": { - "target": "com.amazonaws.ec2#ResourceArn", + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Network Access Scope.

", - "smithy.api#xmlName": "networkInsightsAccessScopeArn" + "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "smithy.api#documentation": "

The ID of the network interface.

", + "smithy.api#xmlName": "networkInterfaceId" } }, - "CreatedDate": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "AwsAccountId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CreatedDate", - "smithy.api#documentation": "

The creation date.

", - "smithy.api#xmlName": "createdDate" + "aws.protocols#ec2QueryName": "AwsAccountId", + "smithy.api#documentation": "

The Amazon Web Services account ID.

", + "smithy.api#xmlName": "awsAccountId" } }, - "UpdatedDate": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "AwsService": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "UpdatedDate", - "smithy.api#documentation": "

The last updated date.

", - "smithy.api#xmlName": "updatedDate" + "aws.protocols#ec2QueryName": "AwsService", + "smithy.api#documentation": "

The Amazon Web Service.

", + "smithy.api#xmlName": "awsService" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "Permission": { + "target": "com.amazonaws.ec2#InterfacePermissionType", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "Permission", + "smithy.api#documentation": "

The type of permission.

", + "smithy.api#xmlName": "permission" + } + }, + "PermissionState": { + "target": "com.amazonaws.ec2#NetworkInterfacePermissionState", + "traits": { + "aws.protocols#ec2QueryName": "PermissionState", + "smithy.api#documentation": "

Information about the state of the permission.

", + "smithy.api#xmlName": "permissionState" } } }, "traits": { - "smithy.api#documentation": "

Describes a Network Access Scope.

" + "smithy.api#documentation": "

Describes a permission for a network interface.

" } }, - "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysis": { + "com.amazonaws.ec2#NetworkInterfacePermissionId": { + "type": "string" + }, + "com.amazonaws.ec2#NetworkInterfacePermissionIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#NetworkInterfacePermissionId" + } + }, + "com.amazonaws.ec2#NetworkInterfacePermissionList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#NetworkInterfacePermission", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#NetworkInterfacePermissionState": { "type": "structure", "members": { - "NetworkInsightsAccessScopeAnalysisId": { - "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisId", - "traits": { - "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeAnalysisId", - "smithy.api#documentation": "

The ID of the Network Access Scope analysis.

", - "smithy.api#xmlName": "networkInsightsAccessScopeAnalysisId" - } - }, - "NetworkInsightsAccessScopeAnalysisArn": { - "target": "com.amazonaws.ec2#ResourceArn", - "traits": { - "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeAnalysisArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Network Access Scope analysis.

", - "smithy.api#xmlName": "networkInsightsAccessScopeAnalysisArn" - } - }, - "NetworkInsightsAccessScopeId": { - "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeId", - "traits": { - "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeId", - "smithy.api#documentation": "

The ID of the Network Access Scope.

", - "smithy.api#xmlName": "networkInsightsAccessScopeId" - } - }, - "Status": { - "target": "com.amazonaws.ec2#AnalysisStatus", + "State": { + "target": "com.amazonaws.ec2#NetworkInterfacePermissionStateCode", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The status.

", - "smithy.api#xmlName": "status" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the permission.

", + "smithy.api#xmlName": "state" } }, "StatusMessage": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "StatusMessage", - "smithy.api#documentation": "

The status message.

", + "smithy.api#documentation": "

A status message, if applicable.

", "smithy.api#xmlName": "statusMessage" } - }, - "WarningMessage": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "WarningMessage", - "smithy.api#documentation": "

The warning message.

", - "smithy.api#xmlName": "warningMessage" - } - }, - "StartDate": { - "target": "com.amazonaws.ec2#MillisecondDateTime", - "traits": { - "aws.protocols#ec2QueryName": "StartDate", - "smithy.api#documentation": "

The analysis start date.

", - "smithy.api#xmlName": "startDate" - } - }, - "EndDate": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + } + }, + "traits": { + "smithy.api#documentation": "

Describes the state of a network interface permission.

" + } + }, + "com.amazonaws.ec2#NetworkInterfacePermissionStateCode": { + "type": "enum", + "members": { + "pending": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "EndDate", - "smithy.api#documentation": "

The analysis end date.

", - "smithy.api#xmlName": "endDate" + "smithy.api#enumValue": "pending" } }, - "FindingsFound": { - "target": "com.amazonaws.ec2#FindingsFound", + "granted": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "FindingsFound", - "smithy.api#documentation": "

Indicates whether there are findings.

", - "smithy.api#xmlName": "findingsFound" + "smithy.api#enumValue": "granted" } }, - "AnalyzedEniCount": { - "target": "com.amazonaws.ec2#Integer", + "revoking": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AnalyzedEniCount", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of network interfaces analyzed.

", - "smithy.api#xmlName": "analyzedEniCount" + "smithy.api#enumValue": "revoking" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "revoked": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags.

", - "smithy.api#xmlName": "tagSet" + "smithy.api#enumValue": "revoked" } } - }, - "traits": { - "smithy.api#documentation": "

Describes a Network Access Scope analysis.

" - } - }, - "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisId": { - "type": "string" - }, - "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisId", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysisList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysis", - "traits": { - "smithy.api#xmlName": "item" - } } }, - "com.amazonaws.ec2#NetworkInsightsAccessScopeContent": { + "com.amazonaws.ec2#NetworkInterfacePrivateIpAddress": { "type": "structure", "members": { - "NetworkInsightsAccessScopeId": { - "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeId", + "Association": { + "target": "com.amazonaws.ec2#NetworkInterfaceAssociation", "traits": { - "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeId", - "smithy.api#documentation": "

The ID of the Network Access Scope.

", - "smithy.api#xmlName": "networkInsightsAccessScopeId" + "aws.protocols#ec2QueryName": "Association", + "smithy.api#documentation": "

The association information for an Elastic IP address (IPv4) associated with the network interface.

", + "smithy.api#xmlName": "association" } }, - "MatchPaths": { - "target": "com.amazonaws.ec2#AccessScopePathList", + "Primary": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "MatchPathSet", - "smithy.api#documentation": "

The paths to match.

", - "smithy.api#xmlName": "matchPathSet" + "aws.protocols#ec2QueryName": "Primary", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether this IPv4 address is the primary private IPv4 address of the network interface.

", + "smithy.api#xmlName": "primary" } }, - "ExcludePaths": { - "target": "com.amazonaws.ec2#AccessScopePathList", + "PrivateDnsName": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ExcludePathSet", - "smithy.api#documentation": "

The paths to exclude.

", - "smithy.api#xmlName": "excludePathSet" + "aws.protocols#ec2QueryName": "PrivateDnsName", + "smithy.api#documentation": "

The private DNS name.

", + "smithy.api#xmlName": "privateDnsName" + } + }, + "PrivateIpAddress": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "PrivateIpAddress", + "smithy.api#documentation": "

The private IPv4 address.

", + "smithy.api#xmlName": "privateIpAddress" } } }, "traits": { - "smithy.api#documentation": "

Describes the Network Access Scope content.

" - } - }, - "com.amazonaws.ec2#NetworkInsightsAccessScopeId": { - "type": "string" - }, - "com.amazonaws.ec2#NetworkInsightsAccessScopeIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeId", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

Describes the private IPv4 address of a network interface.

" } }, - "com.amazonaws.ec2#NetworkInsightsAccessScopeList": { + "com.amazonaws.ec2#NetworkInterfacePrivateIpAddressList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#NetworkInsightsAccessScope", + "target": "com.amazonaws.ec2#NetworkInterfacePrivateIpAddress", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#NetworkInsightsAnalysis": { - "type": "structure", + "com.amazonaws.ec2#NetworkInterfaceStatus": { + "type": "enum", "members": { - "NetworkInsightsAnalysisId": { - "target": "com.amazonaws.ec2#NetworkInsightsAnalysisId", + "available": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "NetworkInsightsAnalysisId", - "smithy.api#documentation": "

The ID of the network insights analysis.

", - "smithy.api#xmlName": "networkInsightsAnalysisId" + "smithy.api#enumValue": "available" } }, - "NetworkInsightsAnalysisArn": { - "target": "com.amazonaws.ec2#ResourceArn", + "associated": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "NetworkInsightsAnalysisArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the network insights analysis.

", - "smithy.api#xmlName": "networkInsightsAnalysisArn" + "smithy.api#enumValue": "associated" } }, - "NetworkInsightsPathId": { - "target": "com.amazonaws.ec2#NetworkInsightsPathId", + "attaching": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "NetworkInsightsPathId", - "smithy.api#documentation": "

The ID of the path.

", - "smithy.api#xmlName": "networkInsightsPathId" + "smithy.api#enumValue": "attaching" } }, - "FilterInArns": { - "target": "com.amazonaws.ec2#ArnList", + "in_use": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "FilterInArnSet", - "smithy.api#documentation": "

The Amazon Resource Names (ARN) of the Amazon Web Services resources that the path must traverse.

", - "smithy.api#xmlName": "filterInArnSet" + "smithy.api#enumValue": "in-use" } }, - "StartDate": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "detaching": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "StartDate", - "smithy.api#documentation": "

The time the analysis started.

", - "smithy.api#xmlName": "startDate" + "smithy.api#enumValue": "detaching" } - }, - "Status": { - "target": "com.amazonaws.ec2#AnalysisStatus", + } + } + }, + "com.amazonaws.ec2#NetworkInterfaceType": { + "type": "enum", + "members": { + "interface": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The status of the network insights analysis.

", - "smithy.api#xmlName": "status" + "smithy.api#enumValue": "interface" } }, - "StatusMessage": { - "target": "com.amazonaws.ec2#String", + "natGateway": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "StatusMessage", - "smithy.api#documentation": "

The status message, if the status is failed.

", - "smithy.api#xmlName": "statusMessage" + "smithy.api#enumValue": "natGateway" } }, - "WarningMessage": { - "target": "com.amazonaws.ec2#String", + "efa": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "WarningMessage", - "smithy.api#documentation": "

The warning message.

", - "smithy.api#xmlName": "warningMessage" + "smithy.api#enumValue": "efa" } }, - "NetworkPathFound": { - "target": "com.amazonaws.ec2#Boolean", + "trunk": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "NetworkPathFound", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the destination is reachable from the source.

", - "smithy.api#xmlName": "networkPathFound" + "smithy.api#enumValue": "trunk" } }, - "ForwardPathComponents": { - "target": "com.amazonaws.ec2#PathComponentList", + "load_balancer": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ForwardPathComponentSet", - "smithy.api#documentation": "

The components in the path from source to destination.

", - "smithy.api#xmlName": "forwardPathComponentSet" + "smithy.api#enumValue": "load_balancer" } }, - "ReturnPathComponents": { - "target": "com.amazonaws.ec2#PathComponentList", + "network_load_balancer": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ReturnPathComponentSet", - "smithy.api#documentation": "

The components in the path from destination to source.

", - "smithy.api#xmlName": "returnPathComponentSet" + "smithy.api#enumValue": "network_load_balancer" } }, - "Explanations": { - "target": "com.amazonaws.ec2#ExplanationList", + "vpc_endpoint": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ExplanationSet", - "smithy.api#documentation": "

The explanations. For more information, see Reachability Analyzer explanation codes.

", - "smithy.api#xmlName": "explanationSet" + "smithy.api#enumValue": "vpc_endpoint" } }, - "AlternatePathHints": { - "target": "com.amazonaws.ec2#AlternatePathHintList", + "branch": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AlternatePathHintSet", - "smithy.api#documentation": "

Potential intermediate components.

", - "smithy.api#xmlName": "alternatePathHintSet" + "smithy.api#enumValue": "branch" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "transit_gateway": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags.

", - "smithy.api#xmlName": "tagSet" + "smithy.api#enumValue": "transit_gateway" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a network insights analysis.

" - } - }, - "com.amazonaws.ec2#NetworkInsightsAnalysisId": { - "type": "string" - }, - "com.amazonaws.ec2#NetworkInsightsAnalysisIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#NetworkInsightsAnalysisId", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#NetworkInsightsAnalysisList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#NetworkInsightsAnalysis", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#NetworkInsightsMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 1, - "max": 100 - } - } - }, - "com.amazonaws.ec2#NetworkInsightsPath": { - "type": "structure", - "members": { - "NetworkInsightsPathId": { - "target": "com.amazonaws.ec2#NetworkInsightsPathId", + }, + "lambda": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "NetworkInsightsPathId", - "smithy.api#documentation": "

The ID of the path.

", - "smithy.api#xmlName": "networkInsightsPathId" + "smithy.api#enumValue": "lambda" } }, - "NetworkInsightsPathArn": { - "target": "com.amazonaws.ec2#ResourceArn", + "quicksight": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "NetworkInsightsPathArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the path.

", - "smithy.api#xmlName": "networkInsightsPathArn" + "smithy.api#enumValue": "quicksight" } }, - "CreatedDate": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "global_accelerator_managed": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "CreatedDate", - "smithy.api#documentation": "

The time stamp when the path was created.

", - "smithy.api#xmlName": "createdDate" + "smithy.api#enumValue": "global_accelerator_managed" } }, - "Source": { - "target": "com.amazonaws.ec2#String", + "api_gateway_managed": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Source", - "smithy.api#documentation": "

The Amazon Web Services resource that is the source of the path.

", - "smithy.api#xmlName": "source" + "smithy.api#enumValue": "api_gateway_managed" } }, - "Destination": { - "target": "com.amazonaws.ec2#String", + "gateway_load_balancer": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Destination", - "smithy.api#documentation": "

The Amazon Web Services resource that is the destination of the path.

", - "smithy.api#xmlName": "destination" + "smithy.api#enumValue": "gateway_load_balancer" } }, - "SourceIp": { - "target": "com.amazonaws.ec2#IpAddress", + "gateway_load_balancer_endpoint": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SourceIp", - "smithy.api#documentation": "

The IP address of the Amazon Web Services resource that is the source of the path.

", - "smithy.api#xmlName": "sourceIp" + "smithy.api#enumValue": "gateway_load_balancer_endpoint" } }, - "DestinationIp": { - "target": "com.amazonaws.ec2#IpAddress", + "iot_rules_managed": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "DestinationIp", - "smithy.api#documentation": "

The IP address of the Amazon Web Services resource that is the destination of the path.

", - "smithy.api#xmlName": "destinationIp" + "smithy.api#enumValue": "iot_rules_managed" } }, - "Protocol": { - "target": "com.amazonaws.ec2#Protocol", + "aws_codestar_connections_managed": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Protocol", - "smithy.api#documentation": "

The protocol.

", - "smithy.api#xmlName": "protocol" + "smithy.api#enumValue": "aws_codestar_connections_managed" } - }, - "DestinationPort": { - "target": "com.amazonaws.ec2#Integer", + } + } + }, + "com.amazonaws.ec2#NetworkPerformance": { + "type": "string" + }, + "com.amazonaws.ec2#NewDhcpConfiguration": { + "type": "structure", + "members": { + "Key": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DestinationPort", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The destination port.

", - "smithy.api#xmlName": "destinationPort" + "aws.protocols#ec2QueryName": "Key", + "smithy.api#documentation": "

The name of a DHCP option.

", + "smithy.api#xmlName": "key" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "Values": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags associated with the path.

", - "smithy.api#xmlName": "tagSet" + "smithy.api#documentation": "

One or more values for the DHCP option.

", + "smithy.api#xmlName": "Value" } } }, "traits": { - "smithy.api#documentation": "

Describes a path.

" + "smithy.api#documentation": "

Describes a DHCP configuration option.

" } }, - "com.amazonaws.ec2#NetworkInsightsPathId": { + "com.amazonaws.ec2#NewDhcpConfigurationList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#NewDhcpConfiguration", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#NextToken": { "type": "string" }, - "com.amazonaws.ec2#NetworkInsightsPathIdList": { + "com.amazonaws.ec2#OccurrenceDayRequestSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#NetworkInsightsPathId", + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#xmlName": "item" + "smithy.api#xmlName": "OccurenceDay" } } }, - "com.amazonaws.ec2#NetworkInsightsPathList": { + "com.amazonaws.ec2#OccurrenceDaySet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#NetworkInsightsPath", + "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#NetworkInsightsResourceId": { - "type": "string" - }, - "com.amazonaws.ec2#NetworkInterface": { - "type": "structure", + "com.amazonaws.ec2#OfferingClassType": { + "type": "enum", "members": { - "Association": { - "target": "com.amazonaws.ec2#NetworkInterfaceAssociation", + "STANDARD": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Association", - "smithy.api#documentation": "

The association information for an Elastic IP address (IPv4) associated with the network interface.

", - "smithy.api#xmlName": "association" + "smithy.api#enumValue": "standard" } }, - "Attachment": { - "target": "com.amazonaws.ec2#NetworkInterfaceAttachment", + "CONVERTIBLE": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Attachment", - "smithy.api#documentation": "

The network interface attachment.

", - "smithy.api#xmlName": "attachment" + "smithy.api#enumValue": "convertible" } - }, - "AvailabilityZone": { - "target": "com.amazonaws.ec2#String", + } + } + }, + "com.amazonaws.ec2#OfferingId": { + "type": "string" + }, + "com.amazonaws.ec2#OfferingTypeValues": { + "type": "enum", + "members": { + "Heavy_Utilization": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZone", - "smithy.api#documentation": "

The Availability Zone.

", - "smithy.api#xmlName": "availabilityZone" + "smithy.api#enumValue": "Heavy Utilization" } }, - "Description": { - "target": "com.amazonaws.ec2#String", + "Medium_Utilization": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

A description.

", - "smithy.api#xmlName": "description" + "smithy.api#enumValue": "Medium Utilization" } }, - "Groups": { - "target": "com.amazonaws.ec2#GroupIdentifierList", + "Light_Utilization": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "GroupSet", - "smithy.api#documentation": "

Any security groups for the network interface.

", - "smithy.api#xmlName": "groupSet" + "smithy.api#enumValue": "Light Utilization" } }, - "InterfaceType": { - "target": "com.amazonaws.ec2#NetworkInterfaceType", + "No_Upfront": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InterfaceType", - "smithy.api#documentation": "

The type of network interface.

", - "smithy.api#xmlName": "interfaceType" + "smithy.api#enumValue": "No Upfront" } }, - "Ipv6Addresses": { - "target": "com.amazonaws.ec2#NetworkInterfaceIpv6AddressesList", + "Partial_Upfront": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Ipv6AddressesSet", - "smithy.api#documentation": "

The IPv6 addresses associated with the network interface.

", - "smithy.api#xmlName": "ipv6AddressesSet" + "smithy.api#enumValue": "Partial Upfront" } }, - "MacAddress": { - "target": "com.amazonaws.ec2#String", + "All_Upfront": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "MacAddress", - "smithy.api#documentation": "

The MAC address.

", - "smithy.api#xmlName": "macAddress" + "smithy.api#enumValue": "All Upfront" } - }, - "NetworkInterfaceId": { + } + } + }, + "com.amazonaws.ec2#OidcOptions": { + "type": "structure", + "members": { + "Issuer": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceId", - "smithy.api#documentation": "

The ID of the network interface.

", - "smithy.api#xmlName": "networkInterfaceId" + "aws.protocols#ec2QueryName": "Issuer", + "smithy.api#documentation": "

The OIDC issuer.

", + "smithy.api#xmlName": "issuer" } }, - "OutpostArn": { + "AuthorizationEndpoint": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "OutpostArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Outpost.

", - "smithy.api#xmlName": "outpostArn" + "aws.protocols#ec2QueryName": "AuthorizationEndpoint", + "smithy.api#documentation": "

The OIDC authorization endpoint.

", + "smithy.api#xmlName": "authorizationEndpoint" } }, - "OwnerId": { + "TokenEndpoint": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The Amazon Web Services account ID of the owner of the network interface.

", - "smithy.api#xmlName": "ownerId" + "aws.protocols#ec2QueryName": "TokenEndpoint", + "smithy.api#documentation": "

The OIDC token endpoint.

", + "smithy.api#xmlName": "tokenEndpoint" } }, - "PrivateDnsName": { + "UserInfoEndpoint": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PrivateDnsName", - "smithy.api#documentation": "

The private DNS name.

", - "smithy.api#xmlName": "privateDnsName" + "aws.protocols#ec2QueryName": "UserInfoEndpoint", + "smithy.api#documentation": "

The OIDC user info endpoint.

", + "smithy.api#xmlName": "userInfoEndpoint" } }, - "PrivateIpAddress": { + "ClientId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PrivateIpAddress", - "smithy.api#documentation": "

The IPv4 address of the network interface within the subnet.

", - "smithy.api#xmlName": "privateIpAddress" - } - }, - "PrivateIpAddresses": { - "target": "com.amazonaws.ec2#NetworkInterfacePrivateIpAddressList", - "traits": { - "aws.protocols#ec2QueryName": "PrivateIpAddressesSet", - "smithy.api#documentation": "

The private IPv4 addresses associated with the network interface.

", - "smithy.api#xmlName": "privateIpAddressesSet" - } - }, - "Ipv4Prefixes": { - "target": "com.amazonaws.ec2#Ipv4PrefixesList", - "traits": { - "aws.protocols#ec2QueryName": "Ipv4PrefixSet", - "smithy.api#documentation": "

The IPv4 prefixes that are assigned to the network interface.

", - "smithy.api#xmlName": "ipv4PrefixSet" - } - }, - "Ipv6Prefixes": { - "target": "com.amazonaws.ec2#Ipv6PrefixesList", - "traits": { - "aws.protocols#ec2QueryName": "Ipv6PrefixSet", - "smithy.api#documentation": "

The IPv6 prefixes that are assigned to the network interface.

", - "smithy.api#xmlName": "ipv6PrefixSet" + "aws.protocols#ec2QueryName": "ClientId", + "smithy.api#documentation": "

The client identifier.

", + "smithy.api#xmlName": "clientId" } }, - "RequesterId": { + "ClientSecret": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "RequesterId", - "smithy.api#documentation": "

The alias or Amazon Web Services account ID of the principal or service that created the network interface.

", - "smithy.api#xmlName": "requesterId" - } - }, - "RequesterManaged": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "RequesterManaged", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the network interface is being managed by Amazon Web Services.

", - "smithy.api#xmlName": "requesterManaged" + "aws.protocols#ec2QueryName": "ClientSecret", + "smithy.api#documentation": "

The client secret.

", + "smithy.api#xmlName": "clientSecret" } }, - "SourceDestCheck": { - "target": "com.amazonaws.ec2#Boolean", + "Scope": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SourceDestCheck", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether source/destination checking is enabled.

", - "smithy.api#xmlName": "sourceDestCheck" + "aws.protocols#ec2QueryName": "Scope", + "smithy.api#documentation": "

The OpenID Connect (OIDC) scope specified.

", + "smithy.api#xmlName": "scope" } - }, - "Status": { - "target": "com.amazonaws.ec2#NetworkInterfaceStatus", + } + }, + "traits": { + "smithy.api#documentation": "

Options for OIDC-based, user-identity type trust provider.

" + } + }, + "com.amazonaws.ec2#OnDemandAllocationStrategy": { + "type": "enum", + "members": { + "LOWEST_PRICE": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The status of the network interface.

", - "smithy.api#xmlName": "status" + "smithy.api#enumValue": "lowestPrice" } }, - "SubnetId": { - "target": "com.amazonaws.ec2#String", + "PRIORITIZED": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SubnetId", - "smithy.api#documentation": "

The ID of the subnet.

", - "smithy.api#xmlName": "subnetId" + "smithy.api#enumValue": "prioritized" } - }, - "TagSet": { - "target": "com.amazonaws.ec2#TagList", + } + } + }, + "com.amazonaws.ec2#OnDemandOptions": { + "type": "structure", + "members": { + "AllocationStrategy": { + "target": "com.amazonaws.ec2#FleetOnDemandAllocationStrategy", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags assigned to the network interface.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "AllocationStrategy", + "smithy.api#documentation": "

The strategy that determines the order of the launch template overrides to use in\n fulfilling On-Demand capacity.

\n

\n lowest-price - EC2 Fleet uses price to determine the order, launching the lowest\n price first.

\n

\n prioritized - EC2 Fleet uses the priority that you assigned to each launch\n template override, launching the highest priority first.

\n

Default: lowest-price\n

", + "smithy.api#xmlName": "allocationStrategy" } }, - "VpcId": { - "target": "com.amazonaws.ec2#String", + "CapacityReservationOptions": { + "target": "com.amazonaws.ec2#CapacityReservationOptions", "traits": { - "aws.protocols#ec2QueryName": "VpcId", - "smithy.api#documentation": "

The ID of the VPC.

", - "smithy.api#xmlName": "vpcId" + "aws.protocols#ec2QueryName": "CapacityReservationOptions", + "smithy.api#documentation": "

The strategy for using unused Capacity Reservations for fulfilling On-Demand\n capacity.

\n

Supported only for fleets of type instant.

", + "smithy.api#xmlName": "capacityReservationOptions" } }, - "DenyAllIgwTraffic": { + "SingleInstanceType": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DenyAllIgwTraffic", + "aws.protocols#ec2QueryName": "SingleInstanceType", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether a network interface with an IPv6 address is unreachable from the \n public internet. If the value is true, inbound traffic from the internet \n is dropped and you cannot assign an elastic IP address to the network interface. The \n network interface is reachable from peered VPCs and resources connected through a \n transit gateway, including on-premises networks.

", - "smithy.api#xmlName": "denyAllIgwTraffic" + "smithy.api#documentation": "

Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the\n fleet.

\n

Supported only for fleets of type instant.

", + "smithy.api#xmlName": "singleInstanceType" } }, - "Ipv6Native": { + "SingleAvailabilityZone": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Ipv6Native", + "aws.protocols#ec2QueryName": "SingleAvailabilityZone", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether this is an IPv6 only network interface.

", - "smithy.api#xmlName": "ipv6Native" + "smithy.api#documentation": "

Indicates that the fleet launches all On-Demand Instances into a single Availability Zone.

\n

Supported only for fleets of type instant.

", + "smithy.api#xmlName": "singleAvailabilityZone" } }, - "Ipv6Address": { + "MinTargetCapacity": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "MinTargetCapacity", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is\n not reached, the fleet launches no instances.

\n

Supported only for fleets of type instant.

\n

At least one of the following must be specified: SingleAvailabilityZone |\n SingleInstanceType\n

", + "smithy.api#xmlName": "minTargetCapacity" + } + }, + "MaxTotalPrice": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Ipv6Address", - "smithy.api#documentation": "

The IPv6 globally unique address associated with the network interface.

", - "smithy.api#xmlName": "ipv6Address" + "aws.protocols#ec2QueryName": "MaxTotalPrice", + "smithy.api#documentation": "

The maximum amount per hour for On-Demand Instances that you're willing to pay.

", + "smithy.api#xmlName": "maxTotalPrice" } } }, "traits": { - "smithy.api#documentation": "

Describes a network interface.

" + "smithy.api#documentation": "

Describes the configuration of On-Demand Instances in an EC2 Fleet.

" } }, - "com.amazonaws.ec2#NetworkInterfaceAssociation": { + "com.amazonaws.ec2#OnDemandOptionsRequest": { "type": "structure", "members": { - "AllocationId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "AllocationId", - "smithy.api#documentation": "

The allocation ID.

", - "smithy.api#xmlName": "allocationId" - } - }, - "AssociationId": { - "target": "com.amazonaws.ec2#String", + "AllocationStrategy": { + "target": "com.amazonaws.ec2#FleetOnDemandAllocationStrategy", "traits": { - "aws.protocols#ec2QueryName": "AssociationId", - "smithy.api#documentation": "

The association ID.

", - "smithy.api#xmlName": "associationId" + "smithy.api#documentation": "

The strategy that determines the order of the launch template overrides to use in\n fulfilling On-Demand capacity.

\n

\n lowest-price - EC2 Fleet uses price to determine the order, launching the lowest\n price first.

\n

\n prioritized - EC2 Fleet uses the priority that you assigned to each launch\n template override, launching the highest priority first.

\n

Default: lowest-price\n

" } }, - "IpOwnerId": { - "target": "com.amazonaws.ec2#String", + "CapacityReservationOptions": { + "target": "com.amazonaws.ec2#CapacityReservationOptionsRequest", "traits": { - "aws.protocols#ec2QueryName": "IpOwnerId", - "smithy.api#documentation": "

The ID of the Elastic IP address owner.

", - "smithy.api#xmlName": "ipOwnerId" + "smithy.api#documentation": "

The strategy for using unused Capacity Reservations for fulfilling On-Demand\n capacity.

\n

Supported only for fleets of type instant.

" } }, - "PublicDnsName": { - "target": "com.amazonaws.ec2#String", + "SingleInstanceType": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "PublicDnsName", - "smithy.api#documentation": "

The public DNS name.

", - "smithy.api#xmlName": "publicDnsName" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the\n fleet.

\n

Supported only for fleets of type instant.

" } }, - "PublicIp": { - "target": "com.amazonaws.ec2#String", + "SingleAvailabilityZone": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "PublicIp", - "smithy.api#documentation": "

The address of the Elastic IP address bound to the network\n interface.

", - "smithy.api#xmlName": "publicIp" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates that the fleet launches all On-Demand Instances into a single Availability Zone.

\n

Supported only for fleets of type instant.

" } }, - "CustomerOwnedIp": { - "target": "com.amazonaws.ec2#String", + "MinTargetCapacity": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "CustomerOwnedIp", - "smithy.api#documentation": "

The customer-owned IP address associated with the network interface.

", - "smithy.api#xmlName": "customerOwnedIp" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is\n not reached, the fleet launches no instances.

\n

Supported only for fleets of type instant.

\n

At least one of the following must be specified: SingleAvailabilityZone |\n SingleInstanceType\n

" } }, - "CarrierIp": { + "MaxTotalPrice": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CarrierIp", - "smithy.api#documentation": "

The carrier IP address associated with the network interface.

\n

This option is only available when the network interface is in a subnet which is associated with a Wavelength Zone.

", - "smithy.api#xmlName": "carrierIp" + "smithy.api#documentation": "

The maximum amount per hour for On-Demand Instances that you're willing to pay.

" } } }, "traits": { - "smithy.api#documentation": "

Describes association information for an Elastic IP address (IPv4 only), or a Carrier\n IP address (for a network interface which resides in a subnet in a Wavelength\n Zone).

" + "smithy.api#documentation": "

Describes the configuration of On-Demand Instances in an EC2 Fleet.

" } }, - "com.amazonaws.ec2#NetworkInterfaceAttachment": { - "type": "structure", + "com.amazonaws.ec2#OperationType": { + "type": "enum", "members": { - "AttachTime": { - "target": "com.amazonaws.ec2#DateTime", + "add": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AttachTime", - "smithy.api#documentation": "

The timestamp indicating when the attachment initiated.

", - "smithy.api#xmlName": "attachTime" + "smithy.api#enumValue": "add" } }, - "AttachmentId": { - "target": "com.amazonaws.ec2#String", + "remove": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AttachmentId", - "smithy.api#documentation": "

The ID of the network interface attachment.

", - "smithy.api#xmlName": "attachmentId" + "smithy.api#enumValue": "remove" + } + } + } + }, + "com.amazonaws.ec2#OrganizationArnStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#xmlName": "OrganizationArn" + } + } + }, + "com.amazonaws.ec2#OrganizationalUnitArnStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#xmlName": "OrganizationalUnitArn" + } + } + }, + "com.amazonaws.ec2#OutpostArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:aws([a-z-]+)?:outposts:[a-z\\d-]+:\\d{12}:outpost/op-[a-f0-9]{17}$" + } + }, + "com.amazonaws.ec2#OwnerStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#xmlName": "Owner" + } + } + }, + "com.amazonaws.ec2#PacketHeaderStatement": { + "type": "structure", + "members": { + "SourceAddresses": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "aws.protocols#ec2QueryName": "SourceAddressSet", + "smithy.api#documentation": "

The source addresses.

", + "smithy.api#xmlName": "sourceAddressSet" } }, - "DeleteOnTermination": { - "target": "com.amazonaws.ec2#Boolean", + "DestinationAddresses": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "aws.protocols#ec2QueryName": "DeleteOnTermination", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the network interface is deleted when the instance is terminated.

", - "smithy.api#xmlName": "deleteOnTermination" + "aws.protocols#ec2QueryName": "DestinationAddressSet", + "smithy.api#documentation": "

The destination addresses.

", + "smithy.api#xmlName": "destinationAddressSet" } }, - "DeviceIndex": { - "target": "com.amazonaws.ec2#Integer", + "SourcePorts": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "aws.protocols#ec2QueryName": "DeviceIndex", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The device index of the network interface attachment on the instance.

", - "smithy.api#xmlName": "deviceIndex" + "aws.protocols#ec2QueryName": "SourcePortSet", + "smithy.api#documentation": "

The source ports.

", + "smithy.api#xmlName": "sourcePortSet" } }, - "NetworkCardIndex": { - "target": "com.amazonaws.ec2#Integer", + "DestinationPorts": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "aws.protocols#ec2QueryName": "NetworkCardIndex", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The index of the network card.

", - "smithy.api#xmlName": "networkCardIndex" + "aws.protocols#ec2QueryName": "DestinationPortSet", + "smithy.api#documentation": "

The destination ports.

", + "smithy.api#xmlName": "destinationPortSet" } }, - "InstanceId": { - "target": "com.amazonaws.ec2#String", + "SourcePrefixLists": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#documentation": "

The ID of the instance.

", - "smithy.api#xmlName": "instanceId" + "aws.protocols#ec2QueryName": "SourcePrefixListSet", + "smithy.api#documentation": "

The source prefix lists.

", + "smithy.api#xmlName": "sourcePrefixListSet" } }, - "InstanceOwnerId": { - "target": "com.amazonaws.ec2#String", + "DestinationPrefixLists": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "aws.protocols#ec2QueryName": "InstanceOwnerId", - "smithy.api#documentation": "

The Amazon Web Services account ID of the owner of the instance.

", - "smithy.api#xmlName": "instanceOwnerId" + "aws.protocols#ec2QueryName": "DestinationPrefixListSet", + "smithy.api#documentation": "

The destination prefix lists.

", + "smithy.api#xmlName": "destinationPrefixListSet" } }, - "Status": { - "target": "com.amazonaws.ec2#AttachmentStatus", + "Protocols": { + "target": "com.amazonaws.ec2#ProtocolList", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The attachment state.

", - "smithy.api#xmlName": "status" + "aws.protocols#ec2QueryName": "ProtocolSet", + "smithy.api#documentation": "

The protocols.

", + "smithy.api#xmlName": "protocolSet" } } }, "traits": { - "smithy.api#documentation": "

Describes a network interface attachment.

" + "smithy.api#documentation": "

Describes a packet header statement.

" } }, - "com.amazonaws.ec2#NetworkInterfaceAttachmentChanges": { + "com.amazonaws.ec2#PacketHeaderStatementRequest": { "type": "structure", "members": { - "AttachmentId": { - "target": "com.amazonaws.ec2#NetworkInterfaceAttachmentId", + "SourceAddresses": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "aws.protocols#ec2QueryName": "AttachmentId", - "smithy.api#documentation": "

The ID of the network interface attachment.

", - "smithy.api#xmlName": "attachmentId" + "smithy.api#documentation": "

The source addresses.

", + "smithy.api#xmlName": "SourceAddress" } }, - "DeleteOnTermination": { - "target": "com.amazonaws.ec2#Boolean", + "DestinationAddresses": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "aws.protocols#ec2QueryName": "DeleteOnTermination", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the network interface is deleted when the instance is terminated.

", - "smithy.api#xmlName": "deleteOnTermination" + "smithy.api#documentation": "

The destination addresses.

", + "smithy.api#xmlName": "DestinationAddress" + } + }, + "SourcePorts": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "smithy.api#documentation": "

The source ports.

", + "smithy.api#xmlName": "SourcePort" + } + }, + "DestinationPorts": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "smithy.api#documentation": "

The destination ports.

", + "smithy.api#xmlName": "DestinationPort" + } + }, + "SourcePrefixLists": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "smithy.api#documentation": "

The source prefix lists.

", + "smithy.api#xmlName": "SourcePrefixList" + } + }, + "DestinationPrefixLists": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "smithy.api#documentation": "

The destination prefix lists.

", + "smithy.api#xmlName": "DestinationPrefixList" + } + }, + "Protocols": { + "target": "com.amazonaws.ec2#ProtocolList", + "traits": { + "smithy.api#documentation": "

The protocols.

", + "smithy.api#xmlName": "Protocol" } } }, "traits": { - "smithy.api#documentation": "

Describes an attachment change.

" + "smithy.api#documentation": "

Describes a packet header statement.

" } }, - "com.amazonaws.ec2#NetworkInterfaceAttachmentId": { - "type": "string" - }, - "com.amazonaws.ec2#NetworkInterfaceAttribute": { + "com.amazonaws.ec2#PartitionLoadFrequency": { "type": "enum", "members": { - "description": { + "NONE": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "description" + "smithy.api#enumValue": "none" } }, - "groupSet": { + "DAILY": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "groupSet" + "smithy.api#enumValue": "daily" } }, - "sourceDestCheck": { + "WEEKLY": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "sourceDestCheck" + "smithy.api#enumValue": "weekly" } }, - "attachment": { + "MONTHLY": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "attachment" + "smithy.api#enumValue": "monthly" } } } }, - "com.amazonaws.ec2#NetworkInterfaceCount": { + "com.amazonaws.ec2#PathComponent": { "type": "structure", "members": { - "Min": { + "SequenceNumber": { "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "Min", + "aws.protocols#ec2QueryName": "SequenceNumber", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The minimum number of network interfaces. If this parameter is not specified, there is no\n minimum limit.

", - "smithy.api#xmlName": "min" + "smithy.api#documentation": "

The sequence number.

", + "smithy.api#xmlName": "sequenceNumber" } }, - "Max": { - "target": "com.amazonaws.ec2#Integer", + "AclRule": { + "target": "com.amazonaws.ec2#AnalysisAclRule", "traits": { - "aws.protocols#ec2QueryName": "Max", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of network interfaces. If this parameter is not specified, there is no\n maximum limit.

", - "smithy.api#xmlName": "max" + "aws.protocols#ec2QueryName": "AclRule", + "smithy.api#documentation": "

The network ACL rule.

", + "smithy.api#xmlName": "aclRule" } - } - }, - "traits": { - "smithy.api#documentation": "

The minimum and maximum number of network interfaces.

" - } - }, - "com.amazonaws.ec2#NetworkInterfaceCountRequest": { - "type": "structure", - "members": { - "Min": { - "target": "com.amazonaws.ec2#Integer", + }, + "AttachedTo": { + "target": "com.amazonaws.ec2#AnalysisComponent", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The minimum number of network interfaces. To specify no minimum limit, omit this\n parameter.

" + "aws.protocols#ec2QueryName": "AttachedTo", + "smithy.api#documentation": "

The resource to which the path component is attached.

", + "smithy.api#xmlName": "attachedTo" } }, - "Max": { - "target": "com.amazonaws.ec2#Integer", + "Component": { + "target": "com.amazonaws.ec2#AnalysisComponent", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of network interfaces. To specify no maximum limit, omit this\n parameter.

" + "aws.protocols#ec2QueryName": "Component", + "smithy.api#documentation": "

The component.

", + "smithy.api#xmlName": "component" } - } - }, - "traits": { - "smithy.api#documentation": "

The minimum and maximum number of network interfaces.

" - } - }, - "com.amazonaws.ec2#NetworkInterfaceCreationType": { - "type": "enum", - "members": { - "efa": { - "target": "smithy.api#Unit", + }, + "DestinationVpc": { + "target": "com.amazonaws.ec2#AnalysisComponent", "traits": { - "smithy.api#enumValue": "efa" + "aws.protocols#ec2QueryName": "DestinationVpc", + "smithy.api#documentation": "

The destination VPC.

", + "smithy.api#xmlName": "destinationVpc" } }, - "branch": { - "target": "smithy.api#Unit", + "OutboundHeader": { + "target": "com.amazonaws.ec2#AnalysisPacketHeader", "traits": { - "smithy.api#enumValue": "branch" + "aws.protocols#ec2QueryName": "OutboundHeader", + "smithy.api#documentation": "

The outbound header.

", + "smithy.api#xmlName": "outboundHeader" } }, - "trunk": { - "target": "smithy.api#Unit", + "InboundHeader": { + "target": "com.amazonaws.ec2#AnalysisPacketHeader", "traits": { - "smithy.api#enumValue": "trunk" + "aws.protocols#ec2QueryName": "InboundHeader", + "smithy.api#documentation": "

The inbound header.

", + "smithy.api#xmlName": "inboundHeader" } - } - } - }, - "com.amazonaws.ec2#NetworkInterfaceId": { - "type": "string" - }, - "com.amazonaws.ec2#NetworkInterfaceIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#NetworkInterfaceId", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#NetworkInterfaceIpv6Address": { - "type": "structure", - "members": { - "Ipv6Address": { - "target": "com.amazonaws.ec2#String", + }, + "RouteTableRoute": { + "target": "com.amazonaws.ec2#AnalysisRouteTableRoute", "traits": { - "aws.protocols#ec2QueryName": "Ipv6Address", - "smithy.api#documentation": "

The IPv6 address.

", - "smithy.api#xmlName": "ipv6Address" + "aws.protocols#ec2QueryName": "RouteTableRoute", + "smithy.api#documentation": "

The route table route.

", + "smithy.api#xmlName": "routeTableRoute" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes an IPv6 address associated with a network interface.

" - } - }, - "com.amazonaws.ec2#NetworkInterfaceIpv6AddressesList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#NetworkInterfaceIpv6Address", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#NetworkInterfaceList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#NetworkInterface", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#NetworkInterfacePermission": { - "type": "structure", - "members": { - "NetworkInterfacePermissionId": { - "target": "com.amazonaws.ec2#String", + }, + "SecurityGroupRule": { + "target": "com.amazonaws.ec2#AnalysisSecurityGroupRule", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfacePermissionId", - "smithy.api#documentation": "

The ID of the network interface permission.

", - "smithy.api#xmlName": "networkInterfacePermissionId" + "aws.protocols#ec2QueryName": "SecurityGroupRule", + "smithy.api#documentation": "

The security group rule.

", + "smithy.api#xmlName": "securityGroupRule" } }, - "NetworkInterfaceId": { - "target": "com.amazonaws.ec2#String", + "SourceVpc": { + "target": "com.amazonaws.ec2#AnalysisComponent", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceId", - "smithy.api#documentation": "

The ID of the network interface.

", - "smithy.api#xmlName": "networkInterfaceId" + "aws.protocols#ec2QueryName": "SourceVpc", + "smithy.api#documentation": "

The source VPC.

", + "smithy.api#xmlName": "sourceVpc" } }, - "AwsAccountId": { - "target": "com.amazonaws.ec2#String", + "Subnet": { + "target": "com.amazonaws.ec2#AnalysisComponent", "traits": { - "aws.protocols#ec2QueryName": "AwsAccountId", - "smithy.api#documentation": "

The Amazon Web Services account ID.

", - "smithy.api#xmlName": "awsAccountId" + "aws.protocols#ec2QueryName": "Subnet", + "smithy.api#documentation": "

The subnet.

", + "smithy.api#xmlName": "subnet" + } + }, + "Vpc": { + "target": "com.amazonaws.ec2#AnalysisComponent", + "traits": { + "aws.protocols#ec2QueryName": "Vpc", + "smithy.api#documentation": "

The component VPC.

", + "smithy.api#xmlName": "vpc" + } + }, + "AdditionalDetails": { + "target": "com.amazonaws.ec2#AdditionalDetailList", + "traits": { + "aws.protocols#ec2QueryName": "AdditionalDetailSet", + "smithy.api#documentation": "

The additional details.

", + "smithy.api#xmlName": "additionalDetailSet" + } + }, + "TransitGateway": { + "target": "com.amazonaws.ec2#AnalysisComponent", + "traits": { + "aws.protocols#ec2QueryName": "TransitGateway", + "smithy.api#documentation": "

The transit gateway.

", + "smithy.api#xmlName": "transitGateway" } }, - "AwsService": { - "target": "com.amazonaws.ec2#String", + "TransitGatewayRouteTableRoute": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableRoute", "traits": { - "aws.protocols#ec2QueryName": "AwsService", - "smithy.api#documentation": "

The Amazon Web Service.

", - "smithy.api#xmlName": "awsService" + "aws.protocols#ec2QueryName": "TransitGatewayRouteTableRoute", + "smithy.api#documentation": "

The route in a transit gateway route table.

", + "smithy.api#xmlName": "transitGatewayRouteTableRoute" } }, - "Permission": { - "target": "com.amazonaws.ec2#InterfacePermissionType", + "Explanations": { + "target": "com.amazonaws.ec2#ExplanationList", "traits": { - "aws.protocols#ec2QueryName": "Permission", - "smithy.api#documentation": "

The type of permission.

", - "smithy.api#xmlName": "permission" + "aws.protocols#ec2QueryName": "ExplanationSet", + "smithy.api#documentation": "

The explanation codes.

", + "smithy.api#xmlName": "explanationSet" } }, - "PermissionState": { - "target": "com.amazonaws.ec2#NetworkInterfacePermissionState", + "ElasticLoadBalancerListener": { + "target": "com.amazonaws.ec2#AnalysisComponent", "traits": { - "aws.protocols#ec2QueryName": "PermissionState", - "smithy.api#documentation": "

Information about the state of the permission.

", - "smithy.api#xmlName": "permissionState" + "aws.protocols#ec2QueryName": "ElasticLoadBalancerListener", + "smithy.api#documentation": "

The load balancer listener.

", + "smithy.api#xmlName": "elasticLoadBalancerListener" } } }, "traits": { - "smithy.api#documentation": "

Describes a permission for a network interface.

" - } - }, - "com.amazonaws.ec2#NetworkInterfacePermissionId": { - "type": "string" - }, - "com.amazonaws.ec2#NetworkInterfacePermissionIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#NetworkInterfacePermissionId" + "smithy.api#documentation": "

Describes a path component.

" } }, - "com.amazonaws.ec2#NetworkInterfacePermissionList": { + "com.amazonaws.ec2#PathComponentList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#NetworkInterfacePermission", + "target": "com.amazonaws.ec2#PathComponent", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#NetworkInterfacePermissionState": { + "com.amazonaws.ec2#PathStatement": { "type": "structure", "members": { - "State": { - "target": "com.amazonaws.ec2#NetworkInterfacePermissionStateCode", + "PacketHeaderStatement": { + "target": "com.amazonaws.ec2#PacketHeaderStatement", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the permission.

", - "smithy.api#xmlName": "state" + "aws.protocols#ec2QueryName": "PacketHeaderStatement", + "smithy.api#documentation": "

The packet header statement.

", + "smithy.api#xmlName": "packetHeaderStatement" } }, - "StatusMessage": { - "target": "com.amazonaws.ec2#String", + "ResourceStatement": { + "target": "com.amazonaws.ec2#ResourceStatement", "traits": { - "aws.protocols#ec2QueryName": "StatusMessage", - "smithy.api#documentation": "

A status message, if applicable.

", - "smithy.api#xmlName": "statusMessage" + "aws.protocols#ec2QueryName": "ResourceStatement", + "smithy.api#documentation": "

The resource statement.

", + "smithy.api#xmlName": "resourceStatement" } } }, "traits": { - "smithy.api#documentation": "

Describes the state of a network interface permission.

" + "smithy.api#documentation": "

Describes a path statement.

" } }, - "com.amazonaws.ec2#NetworkInterfacePermissionStateCode": { + "com.amazonaws.ec2#PathStatementRequest": { + "type": "structure", + "members": { + "PacketHeaderStatement": { + "target": "com.amazonaws.ec2#PacketHeaderStatementRequest", + "traits": { + "smithy.api#documentation": "

The packet header statement.

" + } + }, + "ResourceStatement": { + "target": "com.amazonaws.ec2#ResourceStatementRequest", + "traits": { + "smithy.api#documentation": "

The resource statement.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a path statement.

" + } + }, + "com.amazonaws.ec2#PayerResponsibility": { "type": "enum", "members": { - "pending": { + "ServiceOwner": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "pending" + "smithy.api#enumValue": "ServiceOwner" } - }, - "granted": { + } + } + }, + "com.amazonaws.ec2#PaymentOption": { + "type": "enum", + "members": { + "ALL_UPFRONT": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "granted" + "smithy.api#enumValue": "AllUpfront" } }, - "revoking": { + "PARTIAL_UPFRONT": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "revoking" + "smithy.api#enumValue": "PartialUpfront" } }, - "revoked": { + "NO_UPFRONT": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "revoked" + "smithy.api#enumValue": "NoUpfront" } } } }, - "com.amazonaws.ec2#NetworkInterfacePrivateIpAddress": { + "com.amazonaws.ec2#PciId": { "type": "structure", "members": { - "Association": { - "target": "com.amazonaws.ec2#NetworkInterfaceAssociation", + "DeviceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Association", - "smithy.api#documentation": "

The association information for an Elastic IP address (IPv4) associated with the network interface.

", - "smithy.api#xmlName": "association" + "smithy.api#documentation": "

The ID of the device.

" } }, - "Primary": { - "target": "com.amazonaws.ec2#Boolean", + "VendorId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Primary", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether this IPv4 address is the primary private IPv4 address of the network interface.

", - "smithy.api#xmlName": "primary" + "smithy.api#documentation": "

The ID of the vendor.

" } }, - "PrivateDnsName": { + "SubsystemId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PrivateDnsName", - "smithy.api#documentation": "

The private DNS name.

", - "smithy.api#xmlName": "privateDnsName" + "smithy.api#documentation": "

The ID of the subsystem.

" } }, - "PrivateIpAddress": { + "SubsystemVendorId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PrivateIpAddress", - "smithy.api#documentation": "

The private IPv4 address.

", - "smithy.api#xmlName": "privateIpAddress" + "smithy.api#documentation": "

The ID of the vendor for the subsystem.

" } } }, "traits": { - "smithy.api#documentation": "

Describes the private IPv4 address of a network interface.

" - } - }, - "com.amazonaws.ec2#NetworkInterfacePrivateIpAddressList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#NetworkInterfacePrivateIpAddress", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

Describes the data that identifies an Amazon FPGA image (AFI) on the PCI bus.

" } }, - "com.amazonaws.ec2#NetworkInterfaceStatus": { - "type": "enum", + "com.amazonaws.ec2#PeeringAttachmentStatus": { + "type": "structure", "members": { - "available": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "available" - } - }, - "associated": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "associated" - } - }, - "attaching": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "attaching" - } - }, - "in_use": { - "target": "smithy.api#Unit", + "Code": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "in-use" + "aws.protocols#ec2QueryName": "Code", + "smithy.api#documentation": "

The status code.

", + "smithy.api#xmlName": "code" } }, - "detaching": { - "target": "smithy.api#Unit", + "Message": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "detaching" + "aws.protocols#ec2QueryName": "Message", + "smithy.api#documentation": "

The status message, if applicable.

", + "smithy.api#xmlName": "message" } } + }, + "traits": { + "smithy.api#documentation": "

The status of the transit gateway peering attachment.

" } }, - "com.amazonaws.ec2#NetworkInterfaceType": { - "type": "enum", + "com.amazonaws.ec2#PeeringConnectionOptions": { + "type": "structure", "members": { - "interface": { - "target": "smithy.api#Unit", + "AllowDnsResolutionFromRemoteVpc": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "interface" + "aws.protocols#ec2QueryName": "AllowDnsResolutionFromRemoteVpc", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

If true, the public DNS hostnames of instances in the specified VPC resolve to private\n IP addresses when queried from instances in the peer VPC.

", + "smithy.api#xmlName": "allowDnsResolutionFromRemoteVpc" } }, - "natGateway": { - "target": "smithy.api#Unit", + "AllowEgressFromLocalClassicLinkToRemoteVpc": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "natGateway" + "aws.protocols#ec2QueryName": "AllowEgressFromLocalClassicLinkToRemoteVpc", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

If true, enables outbound communication from an EC2-Classic instance that's linked to\n a local VPC using ClassicLink to instances in a peer VPC.

", + "smithy.api#xmlName": "allowEgressFromLocalClassicLinkToRemoteVpc" } }, - "efa": { - "target": "smithy.api#Unit", + "AllowEgressFromLocalVpcToRemoteClassicLink": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "efa" + "aws.protocols#ec2QueryName": "AllowEgressFromLocalVpcToRemoteClassicLink", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

If true, enables outbound communication from instances in a local VPC to an\n EC2-Classic instance that's linked to a peer VPC using ClassicLink.

", + "smithy.api#xmlName": "allowEgressFromLocalVpcToRemoteClassicLink" } - }, - "trunk": { - "target": "smithy.api#Unit", + } + }, + "traits": { + "smithy.api#documentation": "\n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
\n

Describes the VPC peering connection options.

" + } + }, + "com.amazonaws.ec2#PeeringConnectionOptionsRequest": { + "type": "structure", + "members": { + "AllowDnsResolutionFromRemoteVpc": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "trunk" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

If true, enables a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.

" } }, - "load_balancer": { - "target": "smithy.api#Unit", + "AllowEgressFromLocalClassicLinkToRemoteVpc": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "load_balancer" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

If true, enables outbound communication from an EC2-Classic instance that's linked to\n a local VPC using ClassicLink to instances in a peer VPC.

" } }, - "network_load_balancer": { - "target": "smithy.api#Unit", + "AllowEgressFromLocalVpcToRemoteClassicLink": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "network_load_balancer" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

If true, enables outbound communication from instances in a local VPC to an\n EC2-Classic instance that's linked to a peer VPC using ClassicLink.

" } - }, - "vpc_endpoint": { - "target": "smithy.api#Unit", + } + }, + "traits": { + "smithy.api#documentation": "\n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
\n

The VPC peering connection options.

" + } + }, + "com.amazonaws.ec2#PeeringTgwInfo": { + "type": "structure", + "members": { + "TransitGatewayId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "vpc_endpoint" + "aws.protocols#ec2QueryName": "TransitGatewayId", + "smithy.api#documentation": "

The ID of the transit gateway.

", + "smithy.api#xmlName": "transitGatewayId" } }, - "branch": { - "target": "smithy.api#Unit", + "CoreNetworkId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "branch" + "aws.protocols#ec2QueryName": "CoreNetworkId", + "smithy.api#documentation": "

The ID of the core network where the transit gateway peer is located.

", + "smithy.api#xmlName": "coreNetworkId" } }, - "transit_gateway": { - "target": "smithy.api#Unit", + "OwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "transit_gateway" + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the transit gateway.

", + "smithy.api#xmlName": "ownerId" } }, - "lambda": { - "target": "smithy.api#Unit", + "Region": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "lambda" + "aws.protocols#ec2QueryName": "Region", + "smithy.api#documentation": "

The Region of the transit gateway.

", + "smithy.api#xmlName": "region" } - }, - "quicksight": { + } + }, + "traits": { + "smithy.api#documentation": "

Information about the transit gateway in the peering attachment.

" + } + }, + "com.amazonaws.ec2#PeriodType": { + "type": "enum", + "members": { + "five_minutes": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "quicksight" + "smithy.api#enumValue": "five-minutes" } }, - "global_accelerator_managed": { + "fifteen_minutes": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "global_accelerator_managed" + "smithy.api#enumValue": "fifteen-minutes" } }, - "api_gateway_managed": { + "one_hour": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "api_gateway_managed" + "smithy.api#enumValue": "one-hour" } }, - "gateway_load_balancer": { + "three_hours": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "gateway_load_balancer" + "smithy.api#enumValue": "three-hours" } }, - "gateway_load_balancer_endpoint": { + "one_day": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "gateway_load_balancer_endpoint" + "smithy.api#enumValue": "one-day" } }, - "iot_rules_managed": { + "one_week": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "iot_rules_managed" + "smithy.api#enumValue": "one-week" } - }, - "aws_codestar_connections_managed": { + } + } + }, + "com.amazonaws.ec2#PermissionGroup": { + "type": "enum", + "members": { + "all": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "aws_codestar_connections_managed" + "smithy.api#enumValue": "all" } } } }, - "com.amazonaws.ec2#NetworkPerformance": { - "type": "string" + "com.amazonaws.ec2#Phase1DHGroupNumbersList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Phase1DHGroupNumbersListValue", + "traits": { + "smithy.api#xmlName": "item" + } + } }, - "com.amazonaws.ec2#NewDhcpConfiguration": { + "com.amazonaws.ec2#Phase1DHGroupNumbersListValue": { "type": "structure", "members": { - "Key": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "Key", - "smithy.api#documentation": "

The name of a DHCP option.

", - "smithy.api#xmlName": "key" - } - }, - "Values": { - "target": "com.amazonaws.ec2#ValueStringList", + "Value": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#documentation": "

One or more values for the DHCP option.

", - "smithy.api#xmlName": "Value" + "aws.protocols#ec2QueryName": "Value", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The Diffie-Hellmann group number.

", + "smithy.api#xmlName": "value" } } }, "traits": { - "smithy.api#documentation": "

Describes a DHCP configuration option.

" + "smithy.api#documentation": "

The Diffie-Hellmann group number for phase 1 IKE negotiations.

" } }, - "com.amazonaws.ec2#NewDhcpConfigurationList": { + "com.amazonaws.ec2#Phase1DHGroupNumbersRequestList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#NewDhcpConfiguration", + "target": "com.amazonaws.ec2#Phase1DHGroupNumbersRequestListValue", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#NextToken": { - "type": "string" + "com.amazonaws.ec2#Phase1DHGroupNumbersRequestListValue": { + "type": "structure", + "members": { + "Value": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The Diffie-Hellmann group number.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a Diffie-Hellman group number for the VPN tunnel for phase 1 IKE\n negotiations.

" + } }, - "com.amazonaws.ec2#OccurrenceDayRequestSet": { + "com.amazonaws.ec2#Phase1EncryptionAlgorithmsList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#Integer", + "target": "com.amazonaws.ec2#Phase1EncryptionAlgorithmsListValue", "traits": { - "smithy.api#xmlName": "OccurenceDay" + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#OccurrenceDaySet": { + "com.amazonaws.ec2#Phase1EncryptionAlgorithmsListValue": { + "type": "structure", + "members": { + "Value": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Value", + "smithy.api#documentation": "

The value for the encryption algorithm.

", + "smithy.api#xmlName": "value" + } + } + }, + "traits": { + "smithy.api#documentation": "

The encryption algorithm for phase 1 IKE negotiations.

" + } + }, + "com.amazonaws.ec2#Phase1EncryptionAlgorithmsRequestList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#Integer", + "target": "com.amazonaws.ec2#Phase1EncryptionAlgorithmsRequestListValue", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#OfferingClassType": { - "type": "enum", + "com.amazonaws.ec2#Phase1EncryptionAlgorithmsRequestListValue": { + "type": "structure", "members": { - "STANDARD": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "standard" - } - }, - "CONVERTIBLE": { - "target": "smithy.api#Unit", + "Value": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "convertible" + "smithy.api#documentation": "

The value for the encryption algorithm.

" } } + }, + "traits": { + "smithy.api#documentation": "

Specifies the encryption algorithm for the VPN tunnel for phase 1 IKE\n negotiations.

" } }, - "com.amazonaws.ec2#OfferingId": { - "type": "string" + "com.amazonaws.ec2#Phase1IntegrityAlgorithmsList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Phase1IntegrityAlgorithmsListValue", + "traits": { + "smithy.api#xmlName": "item" + } + } }, - "com.amazonaws.ec2#OfferingTypeValues": { - "type": "enum", + "com.amazonaws.ec2#Phase1IntegrityAlgorithmsListValue": { + "type": "structure", "members": { - "Heavy_Utilization": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Heavy Utilization" - } - }, - "Medium_Utilization": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Medium Utilization" - } - }, - "Light_Utilization": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Light Utilization" - } - }, - "No_Upfront": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "No Upfront" - } - }, - "Partial_Upfront": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Partial Upfront" - } - }, - "All_Upfront": { - "target": "smithy.api#Unit", + "Value": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "All Upfront" + "aws.protocols#ec2QueryName": "Value", + "smithy.api#documentation": "

The value for the integrity algorithm.

", + "smithy.api#xmlName": "value" } } + }, + "traits": { + "smithy.api#documentation": "

The integrity algorithm for phase 1 IKE negotiations.

" } }, - "com.amazonaws.ec2#OnDemandAllocationStrategy": { - "type": "enum", - "members": { - "LOWEST_PRICE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "lowestPrice" - } - }, - "PRIORITIZED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "prioritized" - } + "com.amazonaws.ec2#Phase1IntegrityAlgorithmsRequestList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Phase1IntegrityAlgorithmsRequestListValue", + "traits": { + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#OnDemandOptions": { + "com.amazonaws.ec2#Phase1IntegrityAlgorithmsRequestListValue": { "type": "structure", "members": { - "AllocationStrategy": { - "target": "com.amazonaws.ec2#FleetOnDemandAllocationStrategy", - "traits": { - "aws.protocols#ec2QueryName": "AllocationStrategy", - "smithy.api#documentation": "

The strategy that determines the order of the launch template overrides to use in\n fulfilling On-Demand capacity.

\n

\n lowest-price - EC2 Fleet uses price to determine the order, launching the lowest\n price first.

\n

\n prioritized - EC2 Fleet uses the priority that you assigned to each launch\n template override, launching the highest priority first.

\n

Default: lowest-price\n

", - "smithy.api#xmlName": "allocationStrategy" - } - }, - "CapacityReservationOptions": { - "target": "com.amazonaws.ec2#CapacityReservationOptions", - "traits": { - "aws.protocols#ec2QueryName": "CapacityReservationOptions", - "smithy.api#documentation": "

The strategy for using unused Capacity Reservations for fulfilling On-Demand\n capacity.

\n

Supported only for fleets of type instant.

", - "smithy.api#xmlName": "capacityReservationOptions" - } - }, - "SingleInstanceType": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "SingleInstanceType", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the\n fleet.

\n

Supported only for fleets of type instant.

", - "smithy.api#xmlName": "singleInstanceType" - } - }, - "SingleAvailabilityZone": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "SingleAvailabilityZone", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates that the fleet launches all On-Demand Instances into a single Availability Zone.

\n

Supported only for fleets of type instant.

", - "smithy.api#xmlName": "singleAvailabilityZone" - } - }, - "MinTargetCapacity": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "aws.protocols#ec2QueryName": "MinTargetCapacity", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is\n not reached, the fleet launches no instances.

\n

Supported only for fleets of type instant.

\n

At least one of the following must be specified: SingleAvailabilityZone |\n SingleInstanceType\n

", - "smithy.api#xmlName": "minTargetCapacity" - } - }, - "MaxTotalPrice": { + "Value": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "MaxTotalPrice", - "smithy.api#documentation": "

The maximum amount per hour for On-Demand Instances that you're willing to pay.

", - "smithy.api#xmlName": "maxTotalPrice" + "smithy.api#documentation": "

The value for the integrity algorithm.

" } } }, "traits": { - "smithy.api#documentation": "

Describes the configuration of On-Demand Instances in an EC2 Fleet.

" + "smithy.api#documentation": "

Specifies the integrity algorithm for the VPN tunnel for phase 1 IKE\n negotiations.

" } }, - "com.amazonaws.ec2#OnDemandOptionsRequest": { + "com.amazonaws.ec2#Phase2DHGroupNumbersList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Phase2DHGroupNumbersListValue", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#Phase2DHGroupNumbersListValue": { "type": "structure", "members": { - "AllocationStrategy": { - "target": "com.amazonaws.ec2#FleetOnDemandAllocationStrategy", - "traits": { - "smithy.api#documentation": "

The strategy that determines the order of the launch template overrides to use in\n fulfilling On-Demand capacity.

\n

\n lowest-price - EC2 Fleet uses price to determine the order, launching the lowest\n price first.

\n

\n prioritized - EC2 Fleet uses the priority that you assigned to each launch\n template override, launching the highest priority first.

\n

Default: lowest-price\n

" - } - }, - "CapacityReservationOptions": { - "target": "com.amazonaws.ec2#CapacityReservationOptionsRequest", - "traits": { - "smithy.api#documentation": "

The strategy for using unused Capacity Reservations for fulfilling On-Demand\n capacity.

\n

Supported only for fleets of type instant.

" - } - }, - "SingleInstanceType": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the\n fleet.

\n

Supported only for fleets of type instant.

" - } - }, - "SingleAvailabilityZone": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates that the fleet launches all On-Demand Instances into a single Availability Zone.

\n

Supported only for fleets of type instant.

" - } - }, - "MinTargetCapacity": { + "Value": { "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "Value", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is\n not reached, the fleet launches no instances.

\n

Supported only for fleets of type instant.

\n

At least one of the following must be specified: SingleAvailabilityZone |\n SingleInstanceType\n

" - } - }, - "MaxTotalPrice": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The maximum amount per hour for On-Demand Instances that you're willing to pay.

" + "smithy.api#documentation": "

The Diffie-Hellmann group number.

", + "smithy.api#xmlName": "value" } } }, "traits": { - "smithy.api#documentation": "

Describes the configuration of On-Demand Instances in an EC2 Fleet.

" + "smithy.api#documentation": "

The Diffie-Hellmann group number for phase 2 IKE negotiations.

" } }, - "com.amazonaws.ec2#OperationType": { - "type": "enum", + "com.amazonaws.ec2#Phase2DHGroupNumbersRequestList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Phase2DHGroupNumbersRequestListValue", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#Phase2DHGroupNumbersRequestListValue": { + "type": "structure", "members": { - "add": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "add" - } - }, - "remove": { - "target": "smithy.api#Unit", + "Value": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "remove" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The Diffie-Hellmann group number.

" } } + }, + "traits": { + "smithy.api#documentation": "

Specifies a Diffie-Hellman group number for the VPN tunnel for phase 2 IKE\n negotiations.

" } }, - "com.amazonaws.ec2#OrganizationArnStringList": { + "com.amazonaws.ec2#Phase2EncryptionAlgorithmsList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#Phase2EncryptionAlgorithmsListValue", "traits": { - "smithy.api#xmlName": "OrganizationArn" + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#OrganizationalUnitArnStringList": { + "com.amazonaws.ec2#Phase2EncryptionAlgorithmsListValue": { + "type": "structure", + "members": { + "Value": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Value", + "smithy.api#documentation": "

The encryption algorithm.

", + "smithy.api#xmlName": "value" + } + } + }, + "traits": { + "smithy.api#documentation": "

The encryption algorithm for phase 2 IKE negotiations.

" + } + }, + "com.amazonaws.ec2#Phase2EncryptionAlgorithmsRequestList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#Phase2EncryptionAlgorithmsRequestListValue", "traits": { - "smithy.api#xmlName": "OrganizationalUnitArn" + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#OutpostArn": { - "type": "string", + "com.amazonaws.ec2#Phase2EncryptionAlgorithmsRequestListValue": { + "type": "structure", + "members": { + "Value": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The encryption algorithm.

" + } + } + }, "traits": { - "smithy.api#pattern": "^arn:aws([a-z-]+)?:outposts:[a-z\\d-]+:\\d{12}:outpost/op-[a-f0-9]{17}$" + "smithy.api#documentation": "

Specifies the encryption algorithm for the VPN tunnel for phase 2 IKE\n negotiations.

" } }, - "com.amazonaws.ec2#OwnerStringList": { + "com.amazonaws.ec2#Phase2IntegrityAlgorithmsList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#Phase2IntegrityAlgorithmsListValue", "traits": { - "smithy.api#xmlName": "Owner" + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#PacketHeaderStatement": { + "com.amazonaws.ec2#Phase2IntegrityAlgorithmsListValue": { "type": "structure", "members": { - "SourceAddresses": { - "target": "com.amazonaws.ec2#ValueStringList", - "traits": { - "aws.protocols#ec2QueryName": "SourceAddressSet", - "smithy.api#documentation": "

The source addresses.

", - "smithy.api#xmlName": "sourceAddressSet" - } - }, - "DestinationAddresses": { - "target": "com.amazonaws.ec2#ValueStringList", - "traits": { - "aws.protocols#ec2QueryName": "DestinationAddressSet", - "smithy.api#documentation": "

The destination addresses.

", - "smithy.api#xmlName": "destinationAddressSet" - } - }, - "SourcePorts": { - "target": "com.amazonaws.ec2#ValueStringList", - "traits": { - "aws.protocols#ec2QueryName": "SourcePortSet", - "smithy.api#documentation": "

The source ports.

", - "smithy.api#xmlName": "sourcePortSet" - } - }, - "DestinationPorts": { - "target": "com.amazonaws.ec2#ValueStringList", - "traits": { - "aws.protocols#ec2QueryName": "DestinationPortSet", - "smithy.api#documentation": "

The destination ports.

", - "smithy.api#xmlName": "destinationPortSet" - } - }, - "SourcePrefixLists": { - "target": "com.amazonaws.ec2#ValueStringList", - "traits": { - "aws.protocols#ec2QueryName": "SourcePrefixListSet", - "smithy.api#documentation": "

The source prefix lists.

", - "smithy.api#xmlName": "sourcePrefixListSet" - } - }, - "DestinationPrefixLists": { - "target": "com.amazonaws.ec2#ValueStringList", - "traits": { - "aws.protocols#ec2QueryName": "DestinationPrefixListSet", - "smithy.api#documentation": "

The destination prefix lists.

", - "smithy.api#xmlName": "destinationPrefixListSet" - } - }, - "Protocols": { - "target": "com.amazonaws.ec2#ProtocolList", + "Value": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ProtocolSet", - "smithy.api#documentation": "

The protocols.

", - "smithy.api#xmlName": "protocolSet" + "aws.protocols#ec2QueryName": "Value", + "smithy.api#documentation": "

The integrity algorithm.

", + "smithy.api#xmlName": "value" } } }, "traits": { - "smithy.api#documentation": "

Describes a packet header statement.

" + "smithy.api#documentation": "

The integrity algorithm for phase 2 IKE negotiations.

" } }, - "com.amazonaws.ec2#PacketHeaderStatementRequest": { + "com.amazonaws.ec2#Phase2IntegrityAlgorithmsRequestList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Phase2IntegrityAlgorithmsRequestListValue", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#Phase2IntegrityAlgorithmsRequestListValue": { "type": "structure", "members": { - "SourceAddresses": { - "target": "com.amazonaws.ec2#ValueStringList", - "traits": { - "smithy.api#documentation": "

The source addresses.

", - "smithy.api#xmlName": "SourceAddress" - } - }, - "DestinationAddresses": { - "target": "com.amazonaws.ec2#ValueStringList", - "traits": { - "smithy.api#documentation": "

The destination addresses.

", - "smithy.api#xmlName": "DestinationAddress" - } - }, - "SourcePorts": { - "target": "com.amazonaws.ec2#ValueStringList", - "traits": { - "smithy.api#documentation": "

The source ports.

", - "smithy.api#xmlName": "SourcePort" - } - }, - "DestinationPorts": { - "target": "com.amazonaws.ec2#ValueStringList", - "traits": { - "smithy.api#documentation": "

The destination ports.

", - "smithy.api#xmlName": "DestinationPort" - } - }, - "SourcePrefixLists": { - "target": "com.amazonaws.ec2#ValueStringList", - "traits": { - "smithy.api#documentation": "

The source prefix lists.

", - "smithy.api#xmlName": "SourcePrefixList" - } - }, - "DestinationPrefixLists": { - "target": "com.amazonaws.ec2#ValueStringList", - "traits": { - "smithy.api#documentation": "

The destination prefix lists.

", - "smithy.api#xmlName": "DestinationPrefixList" - } - }, - "Protocols": { - "target": "com.amazonaws.ec2#ProtocolList", + "Value": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The protocols.

", - "smithy.api#xmlName": "Protocol" + "smithy.api#documentation": "

The integrity algorithm.

" } } }, "traits": { - "smithy.api#documentation": "

Describes a packet header statement.

" + "smithy.api#documentation": "

Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE\n negotiations.

" } }, - "com.amazonaws.ec2#PartitionLoadFrequency": { - "type": "enum", + "com.amazonaws.ec2#Placement": { + "type": "structure", "members": { - "NONE": { - "target": "smithy.api#Unit", + "AvailabilityZone": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "none" + "aws.protocols#ec2QueryName": "AvailabilityZone", + "smithy.api#documentation": "

The Availability Zone of the instance.

\n

If not specified, an Availability Zone will be automatically chosen for you based on\n the load balancing criteria for the Region.

\n

This parameter is not supported for CreateFleet.

", + "smithy.api#xmlName": "availabilityZone" } }, - "DAILY": { - "target": "smithy.api#Unit", + "Affinity": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "daily" + "aws.protocols#ec2QueryName": "Affinity", + "smithy.api#documentation": "

The affinity setting for the instance on the Dedicated Host.

\n

This parameter is not supported for CreateFleet or ImportInstance.

", + "smithy.api#xmlName": "affinity" } }, - "WEEKLY": { - "target": "smithy.api#Unit", + "GroupName": { + "target": "com.amazonaws.ec2#PlacementGroupName", "traits": { - "smithy.api#enumValue": "weekly" + "aws.protocols#ec2QueryName": "GroupName", + "smithy.api#documentation": "

The name of the placement group that the instance is in. If you specify\n GroupName, you can't specify GroupId.

", + "smithy.api#xmlName": "groupName" } }, - "MONTHLY": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "monthly" - } - } - } - }, - "com.amazonaws.ec2#PathComponent": { - "type": "structure", - "members": { - "SequenceNumber": { + "PartitionNumber": { "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "SequenceNumber", + "aws.protocols#ec2QueryName": "PartitionNumber", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The sequence number.

", - "smithy.api#xmlName": "sequenceNumber" - } - }, - "AclRule": { - "target": "com.amazonaws.ec2#AnalysisAclRule", - "traits": { - "aws.protocols#ec2QueryName": "AclRule", - "smithy.api#documentation": "

The network ACL rule.

", - "smithy.api#xmlName": "aclRule" - } - }, - "AttachedTo": { - "target": "com.amazonaws.ec2#AnalysisComponent", - "traits": { - "aws.protocols#ec2QueryName": "AttachedTo", - "smithy.api#documentation": "

The resource to which the path component is attached.

", - "smithy.api#xmlName": "attachedTo" - } - }, - "Component": { - "target": "com.amazonaws.ec2#AnalysisComponent", - "traits": { - "aws.protocols#ec2QueryName": "Component", - "smithy.api#documentation": "

The component.

", - "smithy.api#xmlName": "component" + "smithy.api#documentation": "

The number of the partition that the instance is in. Valid only if the placement group\n strategy is set to partition.

\n

This parameter is not supported for CreateFleet.

", + "smithy.api#xmlName": "partitionNumber" } }, - "DestinationVpc": { - "target": "com.amazonaws.ec2#AnalysisComponent", + "HostId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DestinationVpc", - "smithy.api#documentation": "

The destination VPC.

", - "smithy.api#xmlName": "destinationVpc" + "aws.protocols#ec2QueryName": "HostId", + "smithy.api#documentation": "

The ID of the Dedicated Host on which the instance resides.

\n

This parameter is not supported for CreateFleet or ImportInstance.

", + "smithy.api#xmlName": "hostId" } }, - "OutboundHeader": { - "target": "com.amazonaws.ec2#AnalysisPacketHeader", + "Tenancy": { + "target": "com.amazonaws.ec2#Tenancy", "traits": { - "aws.protocols#ec2QueryName": "OutboundHeader", - "smithy.api#documentation": "

The outbound header.

", - "smithy.api#xmlName": "outboundHeader" + "aws.protocols#ec2QueryName": "Tenancy", + "smithy.api#documentation": "

The tenancy of the instance (if the instance is running in a VPC). An instance with a\n tenancy of dedicated runs on single-tenant hardware.

\n

This parameter is not supported for CreateFleet. The\n host tenancy is not supported for ImportInstance or\n for T3 instances that are configured for the unlimited CPU credit\n option.

", + "smithy.api#xmlName": "tenancy" } }, - "InboundHeader": { - "target": "com.amazonaws.ec2#AnalysisPacketHeader", + "SpreadDomain": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "InboundHeader", - "smithy.api#documentation": "

The inbound header.

", - "smithy.api#xmlName": "inboundHeader" + "aws.protocols#ec2QueryName": "SpreadDomain", + "smithy.api#documentation": "

Reserved for future use.

", + "smithy.api#xmlName": "spreadDomain" } }, - "RouteTableRoute": { - "target": "com.amazonaws.ec2#AnalysisRouteTableRoute", + "HostResourceGroupArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "RouteTableRoute", - "smithy.api#documentation": "

The route table route.

", - "smithy.api#xmlName": "routeTableRoute" + "aws.protocols#ec2QueryName": "HostResourceGroupArn", + "smithy.api#documentation": "

The ARN of the host resource group in which to launch the instances.

\n

If you specify this parameter, either omit the Tenancy parameter or set it to host.

\n

This parameter is not supported for CreateFleet.

", + "smithy.api#xmlName": "hostResourceGroupArn" } }, - "SecurityGroupRule": { - "target": "com.amazonaws.ec2#AnalysisSecurityGroupRule", + "GroupId": { + "target": "com.amazonaws.ec2#PlacementGroupId", "traits": { - "aws.protocols#ec2QueryName": "SecurityGroupRule", - "smithy.api#documentation": "

The security group rule.

", - "smithy.api#xmlName": "securityGroupRule" + "aws.protocols#ec2QueryName": "GroupId", + "smithy.api#documentation": "

The ID of the placement group that the instance is in. If you specify\n GroupId, you can't specify GroupName.

", + "smithy.api#xmlName": "groupId" } - }, - "SourceVpc": { - "target": "com.amazonaws.ec2#AnalysisComponent", + } + }, + "traits": { + "smithy.api#documentation": "

Describes the placement of an instance.

" + } + }, + "com.amazonaws.ec2#PlacementGroup": { + "type": "structure", + "members": { + "GroupName": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SourceVpc", - "smithy.api#documentation": "

The source VPC.

", - "smithy.api#xmlName": "sourceVpc" + "aws.protocols#ec2QueryName": "GroupName", + "smithy.api#documentation": "

The name of the placement group.

", + "smithy.api#xmlName": "groupName" } }, - "Subnet": { - "target": "com.amazonaws.ec2#AnalysisComponent", + "State": { + "target": "com.amazonaws.ec2#PlacementGroupState", "traits": { - "aws.protocols#ec2QueryName": "Subnet", - "smithy.api#documentation": "

The subnet.

", - "smithy.api#xmlName": "subnet" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the placement group.

", + "smithy.api#xmlName": "state" } }, - "Vpc": { - "target": "com.amazonaws.ec2#AnalysisComponent", + "Strategy": { + "target": "com.amazonaws.ec2#PlacementStrategy", "traits": { - "aws.protocols#ec2QueryName": "Vpc", - "smithy.api#documentation": "

The component VPC.

", - "smithy.api#xmlName": "vpc" + "aws.protocols#ec2QueryName": "Strategy", + "smithy.api#documentation": "

The placement strategy.

", + "smithy.api#xmlName": "strategy" } }, - "AdditionalDetails": { - "target": "com.amazonaws.ec2#AdditionalDetailList", + "PartitionCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "AdditionalDetailSet", - "smithy.api#documentation": "

The additional details.

", - "smithy.api#xmlName": "additionalDetailSet" + "aws.protocols#ec2QueryName": "PartitionCount", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of partitions. Valid only if strategy is\n set to partition.

", + "smithy.api#xmlName": "partitionCount" } }, - "TransitGateway": { - "target": "com.amazonaws.ec2#AnalysisComponent", + "GroupId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TransitGateway", - "smithy.api#documentation": "

The transit gateway.

", - "smithy.api#xmlName": "transitGateway" + "aws.protocols#ec2QueryName": "GroupId", + "smithy.api#documentation": "

The ID of the placement group.

", + "smithy.api#xmlName": "groupId" } }, - "TransitGatewayRouteTableRoute": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableRoute", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayRouteTableRoute", - "smithy.api#documentation": "

The route in a transit gateway route table.

", - "smithy.api#xmlName": "transitGatewayRouteTableRoute" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Any tags applied to the placement group.

", + "smithy.api#xmlName": "tagSet" } }, - "Explanations": { - "target": "com.amazonaws.ec2#ExplanationList", + "GroupArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ExplanationSet", - "smithy.api#documentation": "

The explanation codes.

", - "smithy.api#xmlName": "explanationSet" + "aws.protocols#ec2QueryName": "GroupArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the placement group.

", + "smithy.api#xmlName": "groupArn" } }, - "ElasticLoadBalancerListener": { - "target": "com.amazonaws.ec2#AnalysisComponent", + "SpreadLevel": { + "target": "com.amazonaws.ec2#SpreadLevel", "traits": { - "aws.protocols#ec2QueryName": "ElasticLoadBalancerListener", - "smithy.api#documentation": "

The load balancer listener.

", - "smithy.api#xmlName": "elasticLoadBalancerListener" + "aws.protocols#ec2QueryName": "SpreadLevel", + "smithy.api#documentation": "

The spread level for the placement group. Only Outpost placement\n groups can be spread across hosts.

", + "smithy.api#xmlName": "spreadLevel" } } }, "traits": { - "smithy.api#documentation": "

Describes a path component.

" + "smithy.api#documentation": "

Describes a placement group.

" } }, - "com.amazonaws.ec2#PathComponentList": { + "com.amazonaws.ec2#PlacementGroupArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:aws([a-z-]+)?:ec2:[a-z\\d-]+:\\d{12}:placement-group/([^\\s].+[^\\s]){1,255}$" + } + }, + "com.amazonaws.ec2#PlacementGroupId": { + "type": "string" + }, + "com.amazonaws.ec2#PlacementGroupIdStringList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#PathComponent", + "target": "com.amazonaws.ec2#PlacementGroupId", "traits": { - "smithy.api#xmlName": "item" + "smithy.api#xmlName": "GroupId" } } }, - "com.amazonaws.ec2#PathStatement": { + "com.amazonaws.ec2#PlacementGroupInfo": { "type": "structure", "members": { - "PacketHeaderStatement": { - "target": "com.amazonaws.ec2#PacketHeaderStatement", - "traits": { - "aws.protocols#ec2QueryName": "PacketHeaderStatement", - "smithy.api#documentation": "

The packet header statement.

", - "smithy.api#xmlName": "packetHeaderStatement" - } - }, - "ResourceStatement": { - "target": "com.amazonaws.ec2#ResourceStatement", + "SupportedStrategies": { + "target": "com.amazonaws.ec2#PlacementGroupStrategyList", "traits": { - "aws.protocols#ec2QueryName": "ResourceStatement", - "smithy.api#documentation": "

The resource statement.

", - "smithy.api#xmlName": "resourceStatement" + "aws.protocols#ec2QueryName": "SupportedStrategies", + "smithy.api#documentation": "

The supported placement group types.

", + "smithy.api#xmlName": "supportedStrategies" } } }, "traits": { - "smithy.api#documentation": "

Describes a path statement.

" + "smithy.api#documentation": "

Describes the placement group support of the instance type.

" } }, - "com.amazonaws.ec2#PathStatementRequest": { - "type": "structure", + "com.amazonaws.ec2#PlacementGroupList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#PlacementGroup", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#PlacementGroupName": { + "type": "string" + }, + "com.amazonaws.ec2#PlacementGroupState": { + "type": "enum", "members": { - "PacketHeaderStatement": { - "target": "com.amazonaws.ec2#PacketHeaderStatementRequest", + "pending": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The packet header statement.

" + "smithy.api#enumValue": "pending" } }, - "ResourceStatement": { - "target": "com.amazonaws.ec2#ResourceStatementRequest", + "available": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The resource statement.

" + "smithy.api#enumValue": "available" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a path statement.

" - } - }, - "com.amazonaws.ec2#PayerResponsibility": { - "type": "enum", - "members": { - "ServiceOwner": { + }, + "deleting": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "ServiceOwner" + "smithy.api#enumValue": "deleting" + } + }, + "deleted": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "deleted" } } } }, - "com.amazonaws.ec2#PaymentOption": { + "com.amazonaws.ec2#PlacementGroupStrategy": { "type": "enum", "members": { - "ALL_UPFRONT": { + "cluster": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "AllUpfront" + "smithy.api#enumValue": "cluster" } }, - "PARTIAL_UPFRONT": { + "partition": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "PartialUpfront" + "smithy.api#enumValue": "partition" } }, - "NO_UPFRONT": { + "spread": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "NoUpfront" + "smithy.api#enumValue": "spread" } } } }, - "com.amazonaws.ec2#PciId": { + "com.amazonaws.ec2#PlacementGroupStrategyList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#PlacementGroupStrategy", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#PlacementGroupStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#PlacementGroupName" + } + }, + "com.amazonaws.ec2#PlacementResponse": { "type": "structure", "members": { - "DeviceId": { - "target": "com.amazonaws.ec2#String", + "GroupName": { + "target": "com.amazonaws.ec2#PlacementGroupName", "traits": { - "smithy.api#documentation": "

The ID of the device.

" + "aws.protocols#ec2QueryName": "GroupName", + "smithy.api#documentation": "

The name of the placement group that the instance is in.

", + "smithy.api#xmlName": "groupName" } - }, - "VendorId": { - "target": "com.amazonaws.ec2#String", + } + }, + "traits": { + "smithy.api#documentation": "

Describes the placement of an instance.

" + } + }, + "com.amazonaws.ec2#PlacementStrategy": { + "type": "enum", + "members": { + "cluster": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The ID of the vendor.

" + "smithy.api#enumValue": "cluster" } }, - "SubsystemId": { - "target": "com.amazonaws.ec2#String", + "spread": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The ID of the subsystem.

" + "smithy.api#enumValue": "spread" } }, - "SubsystemVendorId": { - "target": "com.amazonaws.ec2#String", + "partition": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The ID of the vendor for the subsystem.

" + "smithy.api#enumValue": "partition" } } - }, - "traits": { - "smithy.api#documentation": "

Describes the data that identifies an Amazon FPGA image (AFI) on the PCI bus.

" } }, - "com.amazonaws.ec2#PeeringAttachmentStatus": { - "type": "structure", + "com.amazonaws.ec2#PlatformValues": { + "type": "enum", "members": { - "Code": { - "target": "com.amazonaws.ec2#String", + "Windows": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Code", - "smithy.api#documentation": "

The status code.

", - "smithy.api#xmlName": "code" + "smithy.api#enumValue": "Windows" } - }, - "Message": { + } + } + }, + "com.amazonaws.ec2#PoolCidrBlock": { + "type": "structure", + "members": { + "Cidr": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Message", - "smithy.api#documentation": "

The status message, if applicable.

", - "smithy.api#xmlName": "message" + "aws.protocols#ec2QueryName": "PoolCidrBlock", + "smithy.api#documentation": "

The CIDR block.

", + "smithy.api#xmlName": "poolCidrBlock" } } }, "traits": { - "smithy.api#documentation": "

The status of the transit gateway peering attachment.

" + "smithy.api#documentation": "

Describes a CIDR block for an address pool.

" } }, - "com.amazonaws.ec2#PeeringConnectionOptions": { + "com.amazonaws.ec2#PoolCidrBlocksSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#PoolCidrBlock", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#PoolMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 1, + "max": 10 + } + } + }, + "com.amazonaws.ec2#Port": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0, + "max": 65535 + } + } + }, + "com.amazonaws.ec2#PortRange": { "type": "structure", "members": { - "AllowDnsResolutionFromRemoteVpc": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "AllowDnsResolutionFromRemoteVpc", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

If true, the public DNS hostnames of instances in the specified VPC resolve to private\n IP addresses when queried from instances in the peer VPC.

", - "smithy.api#xmlName": "allowDnsResolutionFromRemoteVpc" - } - }, - "AllowEgressFromLocalClassicLinkToRemoteVpc": { - "target": "com.amazonaws.ec2#Boolean", + "From": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "AllowEgressFromLocalClassicLinkToRemoteVpc", + "aws.protocols#ec2QueryName": "From", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

If true, enables outbound communication from an EC2-Classic instance that's linked to\n a local VPC using ClassicLink to instances in a peer VPC.

", - "smithy.api#xmlName": "allowEgressFromLocalClassicLinkToRemoteVpc" + "smithy.api#default": 0, + "smithy.api#documentation": "

The first port in the range.

", + "smithy.api#xmlName": "from" } }, - "AllowEgressFromLocalVpcToRemoteClassicLink": { - "target": "com.amazonaws.ec2#Boolean", + "To": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "AllowEgressFromLocalVpcToRemoteClassicLink", + "aws.protocols#ec2QueryName": "To", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

If true, enables outbound communication from instances in a local VPC to an\n EC2-Classic instance that's linked to a peer VPC using ClassicLink.

", - "smithy.api#xmlName": "allowEgressFromLocalVpcToRemoteClassicLink" + "smithy.api#default": 0, + "smithy.api#documentation": "

The last port in the range.

", + "smithy.api#xmlName": "to" } } }, "traits": { - "smithy.api#documentation": "\n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
\n

Describes the VPC peering connection options.

" + "smithy.api#documentation": "

Describes a range of ports.

" } }, - "com.amazonaws.ec2#PeeringConnectionOptionsRequest": { + "com.amazonaws.ec2#PortRangeList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#PortRange", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#PrefixList": { "type": "structure", "members": { - "AllowDnsResolutionFromRemoteVpc": { - "target": "com.amazonaws.ec2#Boolean", + "Cidrs": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

If true, enables a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.

" + "aws.protocols#ec2QueryName": "CidrSet", + "smithy.api#documentation": "

The IP address range of the Amazon Web Service.

", + "smithy.api#xmlName": "cidrSet" } }, - "AllowEgressFromLocalClassicLinkToRemoteVpc": { - "target": "com.amazonaws.ec2#Boolean", + "PrefixListId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

If true, enables outbound communication from an EC2-Classic instance that's linked to\n a local VPC using ClassicLink to instances in a peer VPC.

" + "aws.protocols#ec2QueryName": "PrefixListId", + "smithy.api#documentation": "

The ID of the prefix.

", + "smithy.api#xmlName": "prefixListId" } }, - "AllowEgressFromLocalVpcToRemoteClassicLink": { - "target": "com.amazonaws.ec2#Boolean", + "PrefixListName": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

If true, enables outbound communication from instances in a local VPC to an\n EC2-Classic instance that's linked to a peer VPC using ClassicLink.

" + "aws.protocols#ec2QueryName": "PrefixListName", + "smithy.api#documentation": "

The name of the prefix.

", + "smithy.api#xmlName": "prefixListName" } } }, "traits": { - "smithy.api#documentation": "\n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
\n

The VPC peering connection options.

" + "smithy.api#documentation": "

Describes prefixes for Amazon Web Services services.

" } }, - "com.amazonaws.ec2#PeeringTgwInfo": { + "com.amazonaws.ec2#PrefixListAssociation": { "type": "structure", "members": { - "TransitGatewayId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayId", - "smithy.api#documentation": "

The ID of the transit gateway.

", - "smithy.api#xmlName": "transitGatewayId" - } - }, - "CoreNetworkId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "CoreNetworkId", - "smithy.api#documentation": "

The ID of the core network where the transit gateway peer is located.

", - "smithy.api#xmlName": "coreNetworkId" - } - }, - "OwnerId": { + "ResourceId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the transit gateway.

", - "smithy.api#xmlName": "ownerId" + "aws.protocols#ec2QueryName": "ResourceId", + "smithy.api#documentation": "

The ID of the resource.

", + "smithy.api#xmlName": "resourceId" } }, - "Region": { + "ResourceOwner": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Region", - "smithy.api#documentation": "

The Region of the transit gateway.

", - "smithy.api#xmlName": "region" + "aws.protocols#ec2QueryName": "ResourceOwner", + "smithy.api#documentation": "

The owner of the resource.

", + "smithy.api#xmlName": "resourceOwner" } } }, "traits": { - "smithy.api#documentation": "

Information about the transit gateway in the peering attachment.

" - } - }, - "com.amazonaws.ec2#PermissionGroup": { - "type": "enum", - "members": { - "all": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "all" - } - } + "smithy.api#documentation": "

Describes the resource with which a prefix list is associated.

" } }, - "com.amazonaws.ec2#Phase1DHGroupNumbersList": { + "com.amazonaws.ec2#PrefixListAssociationSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#Phase1DHGroupNumbersListValue", + "target": "com.amazonaws.ec2#PrefixListAssociation", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#Phase1DHGroupNumbersListValue": { + "com.amazonaws.ec2#PrefixListEntry": { "type": "structure", "members": { - "Value": { - "target": "com.amazonaws.ec2#Integer", + "Cidr": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Value", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The Diffie-Hellmann group number.

", - "smithy.api#xmlName": "value" + "aws.protocols#ec2QueryName": "Cidr", + "smithy.api#documentation": "

The CIDR block.

", + "smithy.api#xmlName": "cidr" + } + }, + "Description": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

The description.

", + "smithy.api#xmlName": "description" } } }, "traits": { - "smithy.api#documentation": "

The Diffie-Hellmann group number for phase 1 IKE negotiations.

" + "smithy.api#documentation": "

Describes a prefix list entry.

" } }, - "com.amazonaws.ec2#Phase1DHGroupNumbersRequestList": { + "com.amazonaws.ec2#PrefixListEntrySet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#Phase1DHGroupNumbersRequestListValue", + "target": "com.amazonaws.ec2#PrefixListEntry", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#Phase1DHGroupNumbersRequestListValue": { + "com.amazonaws.ec2#PrefixListId": { "type": "structure", "members": { - "Value": { - "target": "com.amazonaws.ec2#Integer", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The Diffie-Hellmann group number.

" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A description for the security group rule that references this prefix list ID.

\n

Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9,\n spaces, and ._-:/()#,@[]+=;{}!$*

", + "smithy.api#xmlName": "description" + } + }, + "PrefixListId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "PrefixListId", + "smithy.api#documentation": "

The ID of the prefix.

", + "smithy.api#xmlName": "prefixListId" } } }, "traits": { - "smithy.api#documentation": "

Specifies a Diffie-Hellman group number for the VPN tunnel for phase 1 IKE\n negotiations.

" + "smithy.api#documentation": "

Describes a prefix list ID.

" } }, - "com.amazonaws.ec2#Phase1EncryptionAlgorithmsList": { + "com.amazonaws.ec2#PrefixListIdList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#Phase1EncryptionAlgorithmsListValue", + "target": "com.amazonaws.ec2#PrefixListId", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#Phase1EncryptionAlgorithmsListValue": { - "type": "structure", - "members": { - "Value": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "Value", - "smithy.api#documentation": "

The value for the encryption algorithm.

", - "smithy.api#xmlName": "value" - } + "com.amazonaws.ec2#PrefixListIdSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#xmlName": "item" } - }, + } + }, + "com.amazonaws.ec2#PrefixListMaxResults": { + "type": "integer", "traits": { - "smithy.api#documentation": "

The encryption algorithm for phase 1 IKE negotiations.

" + "smithy.api#default": 0, + "smithy.api#range": { + "min": 1, + "max": 100 + } } }, - "com.amazonaws.ec2#Phase1EncryptionAlgorithmsRequestList": { + "com.amazonaws.ec2#PrefixListResourceId": { + "type": "string" + }, + "com.amazonaws.ec2#PrefixListResourceIdStringList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#Phase1EncryptionAlgorithmsRequestListValue", + "target": "com.amazonaws.ec2#PrefixListResourceId", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#Phase1EncryptionAlgorithmsRequestListValue": { - "type": "structure", + "com.amazonaws.ec2#PrefixListSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#PrefixList", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#PrefixListState": { + "type": "enum", "members": { - "Value": { - "target": "com.amazonaws.ec2#String", + "create_in_progress": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "create-in-progress" + } + }, + "create_complete": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "create-complete" + } + }, + "create_failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "create-failed" + } + }, + "modify_in_progress": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "modify-in-progress" + } + }, + "modify_complete": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "modify-complete" + } + }, + "modify_failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "modify-failed" + } + }, + "restore_in_progress": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "restore-in-progress" + } + }, + "restore_complete": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "restore-complete" + } + }, + "restore_failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "restore-failed" + } + }, + "delete_in_progress": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The value for the encryption algorithm.

" + "smithy.api#enumValue": "delete-in-progress" } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the encryption algorithm for the VPN tunnel for phase 1 IKE\n negotiations.

" - } - }, - "com.amazonaws.ec2#Phase1IntegrityAlgorithmsList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Phase1IntegrityAlgorithmsListValue", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#Phase1IntegrityAlgorithmsListValue": { - "type": "structure", - "members": { - "Value": { - "target": "com.amazonaws.ec2#String", + }, + "delete_complete": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Value", - "smithy.api#documentation": "

The value for the integrity algorithm.

", - "smithy.api#xmlName": "value" + "smithy.api#enumValue": "delete-complete" + } + }, + "delete_failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "delete-failed" } - } - }, - "traits": { - "smithy.api#documentation": "

The integrity algorithm for phase 1 IKE negotiations.

" - } - }, - "com.amazonaws.ec2#Phase1IntegrityAlgorithmsRequestList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Phase1IntegrityAlgorithmsRequestListValue", - "traits": { - "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#Phase1IntegrityAlgorithmsRequestListValue": { + "com.amazonaws.ec2#PriceSchedule": { "type": "structure", "members": { - "Value": { - "target": "com.amazonaws.ec2#String", + "Active": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The value for the integrity algorithm.

" + "aws.protocols#ec2QueryName": "Active", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

The current price schedule, as determined by the term remaining for the Reserved Instance in the listing.

\n

A specific price schedule is always in effect, but only one price schedule can be active at any time. Take, for example, a Reserved Instance listing that has five months remaining in its term. When you specify price schedules for five months and two months, this means that schedule 1, covering the first three months of the remaining term, will be active during months 5, 4, and 3. Then schedule 2, covering the last two months of the term, will be active for months 2 and 1.

", + "smithy.api#xmlName": "active" + } + }, + "CurrencyCode": { + "target": "com.amazonaws.ec2#CurrencyCodeValues", + "traits": { + "aws.protocols#ec2QueryName": "CurrencyCode", + "smithy.api#documentation": "

The currency for transacting the Reserved Instance resale.\n\t\t\t\tAt this time, the only supported currency is USD.

", + "smithy.api#xmlName": "currencyCode" + } + }, + "Price": { + "target": "com.amazonaws.ec2#Double", + "traits": { + "aws.protocols#ec2QueryName": "Price", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The fixed price for the term.

", + "smithy.api#xmlName": "price" + } + }, + "Term": { + "target": "com.amazonaws.ec2#Long", + "traits": { + "aws.protocols#ec2QueryName": "Term", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of months remaining in the reservation. For example, 2 is the second to the last month before the capacity reservation expires.

", + "smithy.api#xmlName": "term" } } }, "traits": { - "smithy.api#documentation": "

Specifies the integrity algorithm for the VPN tunnel for phase 1 IKE\n negotiations.

" + "smithy.api#documentation": "

Describes the price for a Reserved Instance.

" } }, - "com.amazonaws.ec2#Phase2DHGroupNumbersList": { + "com.amazonaws.ec2#PriceScheduleList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#Phase2DHGroupNumbersListValue", + "target": "com.amazonaws.ec2#PriceSchedule", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#Phase2DHGroupNumbersListValue": { + "com.amazonaws.ec2#PriceScheduleSpecification": { "type": "structure", "members": { - "Value": { - "target": "com.amazonaws.ec2#Integer", + "CurrencyCode": { + "target": "com.amazonaws.ec2#CurrencyCodeValues", "traits": { - "aws.protocols#ec2QueryName": "Value", + "aws.protocols#ec2QueryName": "CurrencyCode", + "smithy.api#documentation": "

The currency for transacting the Reserved Instance resale.\n\t\t\t\tAt this time, the only supported currency is USD.

", + "smithy.api#xmlName": "currencyCode" + } + }, + "Price": { + "target": "com.amazonaws.ec2#Double", + "traits": { + "aws.protocols#ec2QueryName": "Price", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The Diffie-Hellmann group number.

", - "smithy.api#xmlName": "value" + "smithy.api#documentation": "

The fixed price for the term.

", + "smithy.api#xmlName": "price" + } + }, + "Term": { + "target": "com.amazonaws.ec2#Long", + "traits": { + "aws.protocols#ec2QueryName": "Term", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of months remaining in the reservation. For example, 2 is the second to the last month before the capacity reservation expires.

", + "smithy.api#xmlName": "term" } } }, "traits": { - "smithy.api#documentation": "

The Diffie-Hellmann group number for phase 2 IKE negotiations.

" + "smithy.api#documentation": "

Describes the price for a Reserved Instance.

" } }, - "com.amazonaws.ec2#Phase2DHGroupNumbersRequestList": { + "com.amazonaws.ec2#PriceScheduleSpecificationList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#Phase2DHGroupNumbersRequestListValue", + "target": "com.amazonaws.ec2#PriceScheduleSpecification", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#Phase2DHGroupNumbersRequestListValue": { + "com.amazonaws.ec2#PricingDetail": { "type": "structure", "members": { - "Value": { + "Count": { "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "Count", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The Diffie-Hellmann group number.

" + "smithy.api#documentation": "

The number of reservations available for the price.

", + "smithy.api#xmlName": "count" + } + }, + "Price": { + "target": "com.amazonaws.ec2#Double", + "traits": { + "aws.protocols#ec2QueryName": "Price", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The price per instance.

", + "smithy.api#xmlName": "price" } } }, "traits": { - "smithy.api#documentation": "

Specifies a Diffie-Hellman group number for the VPN tunnel for phase 2 IKE\n negotiations.

" + "smithy.api#documentation": "

Describes a Reserved Instance offering.

" } }, - "com.amazonaws.ec2#Phase2EncryptionAlgorithmsList": { + "com.amazonaws.ec2#PricingDetailsList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#Phase2EncryptionAlgorithmsListValue", + "target": "com.amazonaws.ec2#PricingDetail", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#Phase2EncryptionAlgorithmsListValue": { + "com.amazonaws.ec2#PrincipalIdFormat": { "type": "structure", "members": { - "Value": { + "Arn": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Value", - "smithy.api#documentation": "

The encryption algorithm.

", - "smithy.api#xmlName": "value" + "aws.protocols#ec2QueryName": "Arn", + "smithy.api#documentation": "

PrincipalIdFormatARN description

", + "smithy.api#xmlName": "arn" + } + }, + "Statuses": { + "target": "com.amazonaws.ec2#IdFormatList", + "traits": { + "aws.protocols#ec2QueryName": "StatusSet", + "smithy.api#documentation": "

PrincipalIdFormatStatuses description

", + "smithy.api#xmlName": "statusSet" } } }, "traits": { - "smithy.api#documentation": "

The encryption algorithm for phase 2 IKE negotiations.

" + "smithy.api#documentation": "

PrincipalIdFormat description

" } }, - "com.amazonaws.ec2#Phase2EncryptionAlgorithmsRequestList": { + "com.amazonaws.ec2#PrincipalIdFormatList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#Phase2EncryptionAlgorithmsRequestListValue", + "target": "com.amazonaws.ec2#PrincipalIdFormat", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#Phase2EncryptionAlgorithmsRequestListValue": { - "type": "structure", + "com.amazonaws.ec2#PrincipalType": { + "type": "enum", "members": { - "Value": { - "target": "com.amazonaws.ec2#String", + "All": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The encryption algorithm.

" + "smithy.api#enumValue": "All" + } + }, + "Service": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Service" + } + }, + "OrganizationUnit": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "OrganizationUnit" + } + }, + "Account": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Account" + } + }, + "User": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "User" + } + }, + "Role": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Role" } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the encryption algorithm for the VPN tunnel for phase 2 IKE\n negotiations.

" - } - }, - "com.amazonaws.ec2#Phase2IntegrityAlgorithmsList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Phase2IntegrityAlgorithmsListValue", - "traits": { - "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#Phase2IntegrityAlgorithmsListValue": { + "com.amazonaws.ec2#PrivateDnsDetails": { "type": "structure", "members": { - "Value": { + "PrivateDnsName": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Value", - "smithy.api#documentation": "

The integrity algorithm.

", - "smithy.api#xmlName": "value" + "aws.protocols#ec2QueryName": "PrivateDnsName", + "smithy.api#documentation": "

The private DNS name assigned to the VPC endpoint service.

", + "smithy.api#xmlName": "privateDnsName" } } }, "traits": { - "smithy.api#documentation": "

The integrity algorithm for phase 2 IKE negotiations.

" + "smithy.api#documentation": "

Information about the Private DNS name for interface endpoints.

" } }, - "com.amazonaws.ec2#Phase2IntegrityAlgorithmsRequestList": { + "com.amazonaws.ec2#PrivateDnsDetailsSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#Phase2IntegrityAlgorithmsRequestListValue", + "target": "com.amazonaws.ec2#PrivateDnsDetails", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#Phase2IntegrityAlgorithmsRequestListValue": { - "type": "structure", - "members": { - "Value": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The integrity algorithm.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE\n negotiations.

" - } - }, - "com.amazonaws.ec2#Placement": { + "com.amazonaws.ec2#PrivateDnsNameConfiguration": { "type": "structure", "members": { - "AvailabilityZone": { - "target": "com.amazonaws.ec2#String", + "State": { + "target": "com.amazonaws.ec2#DnsNameState", "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZone", - "smithy.api#documentation": "

The Availability Zone of the instance.

\n

If not specified, an Availability Zone will be automatically chosen for you based on\n the load balancing criteria for the Region.

\n

This parameter is not supported by CreateFleet.

", - "smithy.api#xmlName": "availabilityZone" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The verification state of the VPC endpoint service.

\n

>Consumers\n of the endpoint service can use the private name only when the state is\n verified.

", + "smithy.api#xmlName": "state" } }, - "Affinity": { + "Type": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Affinity", - "smithy.api#documentation": "

The affinity setting for the instance on the Dedicated Host. This parameter is not\n supported for the ImportInstance\n command.

\n

This parameter is not supported by CreateFleet.

", - "smithy.api#xmlName": "affinity" - } - }, - "GroupName": { - "target": "com.amazonaws.ec2#PlacementGroupName", - "traits": { - "aws.protocols#ec2QueryName": "GroupName", - "smithy.api#documentation": "

The name of the placement group the instance is in.

", - "smithy.api#xmlName": "groupName" - } - }, - "PartitionNumber": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "aws.protocols#ec2QueryName": "PartitionNumber", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of the partition that the instance is in. Valid only if the placement group\n strategy is set to partition.

\n

This parameter is not supported by CreateFleet.

", - "smithy.api#xmlName": "partitionNumber" + "aws.protocols#ec2QueryName": "Type", + "smithy.api#documentation": "

The endpoint service verification type, for example TXT.

", + "smithy.api#xmlName": "type" } }, - "HostId": { + "Value": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "HostId", - "smithy.api#documentation": "

The ID of the Dedicated Host on which the instance resides. This parameter is not\n supported for the ImportInstance\n command.

\n

This parameter is not supported by CreateFleet.

", - "smithy.api#xmlName": "hostId" + "aws.protocols#ec2QueryName": "Value", + "smithy.api#documentation": "

The value the service provider adds to the private DNS name domain record before verification.

", + "smithy.api#xmlName": "value" } }, - "Tenancy": { - "target": "com.amazonaws.ec2#Tenancy", + "Name": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Tenancy", - "smithy.api#documentation": "

The tenancy of the instance (if the instance is running in a VPC). An instance with a\n tenancy of dedicated runs on single-tenant hardware. The host\n tenancy is not supported for the ImportInstance\n command.

\n

This parameter is not supported by CreateFleet.

\n

T3 instances that use the unlimited CPU credit option do not support\n host tenancy.

", - "smithy.api#xmlName": "tenancy" + "aws.protocols#ec2QueryName": "Name", + "smithy.api#documentation": "

The name of the record subdomain the service provider needs to create. The service provider adds the value text to the name.

", + "smithy.api#xmlName": "name" } - }, - "SpreadDomain": { - "target": "com.amazonaws.ec2#String", + } + }, + "traits": { + "smithy.api#documentation": "

Information about the private DNS name for the service endpoint.

" + } + }, + "com.amazonaws.ec2#PrivateDnsNameOptionsOnLaunch": { + "type": "structure", + "members": { + "HostnameType": { + "target": "com.amazonaws.ec2#HostnameType", "traits": { - "aws.protocols#ec2QueryName": "SpreadDomain", - "smithy.api#documentation": "

Reserved for future use.

\n

This parameter is not supported by CreateFleet.

", - "smithy.api#xmlName": "spreadDomain" + "aws.protocols#ec2QueryName": "HostnameType", + "smithy.api#documentation": "

The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name\n must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name\n must be based on the instance ID. For dual-stack subnets, you can specify whether DNS\n names use the instance IPv4 address or the instance ID.

", + "smithy.api#xmlName": "hostnameType" } }, - "HostResourceGroupArn": { - "target": "com.amazonaws.ec2#String", + "EnableResourceNameDnsARecord": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "HostResourceGroupArn", - "smithy.api#documentation": "

The ARN of the host resource group in which to launch the instances. If you specify a\n host resource group ARN, omit the Tenancy parameter or\n set it to host.

\n

This parameter is not supported by CreateFleet.

", - "smithy.api#xmlName": "hostResourceGroupArn" + "aws.protocols#ec2QueryName": "EnableResourceNameDnsARecord", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to respond to DNS queries for instance hostnames with DNS A\n records.

", + "smithy.api#xmlName": "enableResourceNameDnsARecord" } }, - "GroupId": { - "target": "com.amazonaws.ec2#PlacementGroupId", + "EnableResourceNameDnsAAAARecord": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "GroupId", - "smithy.api#documentation": "

The Group Id of the placement group.

", - "smithy.api#xmlName": "groupId" + "aws.protocols#ec2QueryName": "EnableResourceNameDnsAAAARecord", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to respond to DNS queries for instance hostname with DNS AAAA\n records.

", + "smithy.api#xmlName": "enableResourceNameDnsAAAARecord" } } }, "traits": { - "smithy.api#documentation": "

Describes the placement of an instance.

" + "smithy.api#documentation": "

Describes the options for instance hostnames.

" } }, - "com.amazonaws.ec2#PlacementGroup": { + "com.amazonaws.ec2#PrivateDnsNameOptionsRequest": { "type": "structure", "members": { - "GroupName": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "GroupName", - "smithy.api#documentation": "

The name of the placement group.

", - "smithy.api#xmlName": "groupName" - } - }, - "State": { - "target": "com.amazonaws.ec2#PlacementGroupState", - "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the placement group.

", - "smithy.api#xmlName": "state" - } - }, - "Strategy": { - "target": "com.amazonaws.ec2#PlacementStrategy", + "HostnameType": { + "target": "com.amazonaws.ec2#HostnameType", "traits": { - "aws.protocols#ec2QueryName": "Strategy", - "smithy.api#documentation": "

The placement strategy.

", - "smithy.api#xmlName": "strategy" + "smithy.api#documentation": "

The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name\n must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name\n must be based on the instance ID. For dual-stack subnets, you can specify whether DNS\n names use the instance IPv4 address or the instance ID.

" } }, - "PartitionCount": { - "target": "com.amazonaws.ec2#Integer", + "EnableResourceNameDnsARecord": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "PartitionCount", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of partitions. Valid only if strategy is\n set to partition.

", - "smithy.api#xmlName": "partitionCount" + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to respond to DNS queries for instance hostnames with DNS A\n records.

" } }, - "GroupId": { - "target": "com.amazonaws.ec2#String", + "EnableResourceNameDnsAAAARecord": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "GroupId", - "smithy.api#documentation": "

The ID of the placement group.

", - "smithy.api#xmlName": "groupId" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA\n records.

" } - }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + } + }, + "traits": { + "smithy.api#documentation": "

Describes the options for instance hostnames.

" + } + }, + "com.amazonaws.ec2#PrivateDnsNameOptionsResponse": { + "type": "structure", + "members": { + "HostnameType": { + "target": "com.amazonaws.ec2#HostnameType", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags applied to the placement group.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "HostnameType", + "smithy.api#documentation": "

The type of hostname to assign to an instance.

", + "smithy.api#xmlName": "hostnameType" } }, - "GroupArn": { - "target": "com.amazonaws.ec2#String", + "EnableResourceNameDnsARecord": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "GroupArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the placement group.

", - "smithy.api#xmlName": "groupArn" + "aws.protocols#ec2QueryName": "EnableResourceNameDnsARecord", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to respond to DNS queries for instance hostnames with DNS A\n records.

", + "smithy.api#xmlName": "enableResourceNameDnsARecord" } }, - "SpreadLevel": { - "target": "com.amazonaws.ec2#SpreadLevel", + "EnableResourceNameDnsAAAARecord": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "SpreadLevel", - "smithy.api#documentation": "

The spread level for the placement group. Only Outpost placement\n groups can be spread across hosts.

", - "smithy.api#xmlName": "spreadLevel" + "aws.protocols#ec2QueryName": "EnableResourceNameDnsAAAARecord", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA\n records.

", + "smithy.api#xmlName": "enableResourceNameDnsAAAARecord" } } }, "traits": { - "smithy.api#documentation": "

Describes a placement group.

" - } - }, - "com.amazonaws.ec2#PlacementGroupArn": { - "type": "string", - "traits": { - "smithy.api#pattern": "^arn:aws([a-z-]+)?:ec2:[a-z\\d-]+:\\d{12}:placement-group/([^\\s].+[^\\s]){1,255}$" + "smithy.api#documentation": "

Describes the options for instance hostnames.

" } }, - "com.amazonaws.ec2#PlacementGroupId": { - "type": "string" - }, - "com.amazonaws.ec2#PlacementGroupIdStringList": { + "com.amazonaws.ec2#PrivateIpAddressConfigSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#PlacementGroupId", + "target": "com.amazonaws.ec2#ScheduledInstancesPrivateIpAddressConfig", "traits": { - "smithy.api#xmlName": "GroupId" + "smithy.api#xmlName": "PrivateIpAddressConfigSet" } } }, - "com.amazonaws.ec2#PlacementGroupInfo": { + "com.amazonaws.ec2#PrivateIpAddressSpecification": { "type": "structure", "members": { - "SupportedStrategies": { - "target": "com.amazonaws.ec2#PlacementGroupStrategyList", + "Primary": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "SupportedStrategies", - "smithy.api#documentation": "

The supported placement group types.

", - "smithy.api#xmlName": "supportedStrategies" + "aws.protocols#ec2QueryName": "Primary", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the private IPv4 address is the primary private IPv4 address. Only\n one IPv4 address can be designated as primary.

", + "smithy.api#xmlName": "primary" + } + }, + "PrivateIpAddress": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "PrivateIpAddress", + "smithy.api#documentation": "

The private IPv4 address.

", + "smithy.api#xmlName": "privateIpAddress" } } }, "traits": { - "smithy.api#documentation": "

Describes the placement group support of the instance type.

" + "smithy.api#documentation": "

Describes a secondary private IPv4 address for a network interface.

" } }, - "com.amazonaws.ec2#PlacementGroupList": { + "com.amazonaws.ec2#PrivateIpAddressSpecificationList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#PlacementGroup", + "target": "com.amazonaws.ec2#PrivateIpAddressSpecification", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#PlacementGroupName": { - "type": "string" - }, - "com.amazonaws.ec2#PlacementGroupState": { - "type": "enum", - "members": { - "pending": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "pending" - } - }, - "available": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "available" - } - }, - "deleting": { - "target": "smithy.api#Unit", + "com.amazonaws.ec2#PrivateIpAddressStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#xmlName": "PrivateIpAddress" + } + } + }, + "com.amazonaws.ec2#ProcessorInfo": { + "type": "structure", + "members": { + "SupportedArchitectures": { + "target": "com.amazonaws.ec2#ArchitectureTypeList", "traits": { - "smithy.api#enumValue": "deleting" + "aws.protocols#ec2QueryName": "SupportedArchitectures", + "smithy.api#documentation": "

The architectures supported by the instance type.

", + "smithy.api#xmlName": "supportedArchitectures" } }, - "deleted": { - "target": "smithy.api#Unit", + "SustainedClockSpeedInGhz": { + "target": "com.amazonaws.ec2#ProcessorSustainedClockSpeed", "traits": { - "smithy.api#enumValue": "deleted" + "aws.protocols#ec2QueryName": "SustainedClockSpeedInGhz", + "smithy.api#documentation": "

The speed of the processor, in GHz.

", + "smithy.api#xmlName": "sustainedClockSpeedInGhz" } } + }, + "traits": { + "smithy.api#documentation": "

Describes the processor used by the instance type.

" } }, - "com.amazonaws.ec2#PlacementGroupStrategy": { - "type": "enum", + "com.amazonaws.ec2#ProcessorSustainedClockSpeed": { + "type": "double" + }, + "com.amazonaws.ec2#ProductCode": { + "type": "structure", "members": { - "cluster": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "cluster" - } - }, - "partition": { - "target": "smithy.api#Unit", + "ProductCodeId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "partition" + "aws.protocols#ec2QueryName": "ProductCode", + "smithy.api#documentation": "

The product code.

", + "smithy.api#xmlName": "productCode" } }, - "spread": { - "target": "smithy.api#Unit", + "ProductCodeType": { + "target": "com.amazonaws.ec2#ProductCodeValues", "traits": { - "smithy.api#enumValue": "spread" + "aws.protocols#ec2QueryName": "Type", + "smithy.api#documentation": "

The type of product code.

", + "smithy.api#xmlName": "type" } } + }, + "traits": { + "smithy.api#documentation": "

Describes a product code.

" } }, - "com.amazonaws.ec2#PlacementGroupStrategyList": { + "com.amazonaws.ec2#ProductCodeList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#PlacementGroupStrategy", + "target": "com.amazonaws.ec2#ProductCode", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#PlacementGroupStringList": { + "com.amazonaws.ec2#ProductCodeStringList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#PlacementGroupName" - } - }, - "com.amazonaws.ec2#PlacementResponse": { - "type": "structure", - "members": { - "GroupName": { - "target": "com.amazonaws.ec2#PlacementGroupName", - "traits": { - "aws.protocols#ec2QueryName": "GroupName", - "smithy.api#documentation": "

The name of the placement group that the instance is in.

", - "smithy.api#xmlName": "groupName" - } + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#xmlName": "ProductCode" } - }, - "traits": { - "smithy.api#documentation": "

Describes the placement of an instance.

" } }, - "com.amazonaws.ec2#PlacementStrategy": { + "com.amazonaws.ec2#ProductCodeValues": { "type": "enum", "members": { - "cluster": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "cluster" - } - }, - "spread": { + "devpay": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "spread" + "smithy.api#enumValue": "devpay" } }, - "partition": { + "marketplace": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "partition" + "smithy.api#enumValue": "marketplace" } } } }, - "com.amazonaws.ec2#PlatformValues": { - "type": "enum", - "members": { - "Windows": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Windows" - } - } + "com.amazonaws.ec2#ProductDescriptionList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String" } }, - "com.amazonaws.ec2#PoolCidrBlock": { + "com.amazonaws.ec2#PropagatingVgw": { "type": "structure", "members": { - "Cidr": { + "GatewayId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PoolCidrBlock", - "smithy.api#documentation": "

The CIDR block.

", - "smithy.api#xmlName": "poolCidrBlock" + "aws.protocols#ec2QueryName": "GatewayId", + "smithy.api#documentation": "

The ID of the virtual private gateway.

", + "smithy.api#xmlName": "gatewayId" } } }, "traits": { - "smithy.api#documentation": "

Describes a CIDR block for an address pool.

" + "smithy.api#documentation": "

Describes a virtual private gateway propagating route.

" } }, - "com.amazonaws.ec2#PoolCidrBlocksSet": { + "com.amazonaws.ec2#PropagatingVgwList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#PoolCidrBlock", + "target": "com.amazonaws.ec2#PropagatingVgw", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#PoolMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 1, - "max": 10 - } - } - }, - "com.amazonaws.ec2#Port": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 0, - "max": 65535 - } - } - }, - "com.amazonaws.ec2#PortRange": { - "type": "structure", + "com.amazonaws.ec2#Protocol": { + "type": "enum", "members": { - "From": { - "target": "com.amazonaws.ec2#Integer", + "tcp": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "From", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The first port in the range.

", - "smithy.api#xmlName": "from" + "smithy.api#enumValue": "tcp" } }, - "To": { - "target": "com.amazonaws.ec2#Integer", + "udp": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "To", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The last port in the range.

", - "smithy.api#xmlName": "to" + "smithy.api#enumValue": "udp" } } - }, - "traits": { - "smithy.api#documentation": "

Describes a range of ports.

" } }, - "com.amazonaws.ec2#PortRangeList": { + "com.amazonaws.ec2#ProtocolList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#PortRange", + "target": "com.amazonaws.ec2#Protocol", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#PrefixList": { - "type": "structure", + "com.amazonaws.ec2#ProtocolValue": { + "type": "enum", "members": { - "Cidrs": { - "target": "com.amazonaws.ec2#ValueStringList", - "traits": { - "aws.protocols#ec2QueryName": "CidrSet", - "smithy.api#documentation": "

The IP address range of the Amazon Web Service.

", - "smithy.api#xmlName": "cidrSet" - } - }, - "PrefixListId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "PrefixListId", - "smithy.api#documentation": "

The ID of the prefix.

", - "smithy.api#xmlName": "prefixListId" - } - }, - "PrefixListName": { - "target": "com.amazonaws.ec2#String", + "gre": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "PrefixListName", - "smithy.api#documentation": "

The name of the prefix.

", - "smithy.api#xmlName": "prefixListName" + "smithy.api#enumValue": "gre" } } + } + }, + "com.amazonaws.ec2#ProvisionByoipCidr": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ProvisionByoipCidrRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ProvisionByoipCidrResult" }, "traits": { - "smithy.api#documentation": "

Describes prefixes for Amazon Web Services services.

" + "smithy.api#documentation": "

Provisions an IPv4 or IPv6 address range for use with your Amazon Web Services resources through bring your own IP \n addresses (BYOIP) and creates a corresponding address pool. After the address range is\n provisioned, it is ready to be advertised using AdvertiseByoipCidr.

\n

Amazon Web Services verifies that you own the address range and are authorized to advertise it. \n You must ensure that the address range is registered to you and that you created an \n RPKI ROA to authorize Amazon ASNs 16509 and 14618 to advertise the address range. \n For more information, see Bring your own IP addresses (BYOIP) in the Amazon Elastic Compute Cloud User Guide.

\n

Provisioning an address range is an asynchronous operation, so the call returns immediately,\n but the address range is not ready to use until its status changes from pending-provision\n to provisioned. To monitor the status of an address range, use DescribeByoipCidrs. \n To allocate an Elastic IP address from your IPv4 address pool, use AllocateAddress \n with either the specific address from the address pool or the ID of the address pool.

" } }, - "com.amazonaws.ec2#PrefixListAssociation": { + "com.amazonaws.ec2#ProvisionByoipCidrRequest": { "type": "structure", "members": { - "ResourceId": { + "Cidr": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ResourceId", - "smithy.api#documentation": "

The ID of the resource.

", - "smithy.api#xmlName": "resourceId" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The public IPv4 or IPv6 address range, in CIDR notation. The most specific IPv4 prefix that you can \n specify is /24. The most specific IPv6 prefix you can specify is /56. The address range cannot overlap with another address range that you've \n brought to this or another Region.

", + "smithy.api#required": {} } }, - "ResourceOwner": { - "target": "com.amazonaws.ec2#String", + "CidrAuthorizationContext": { + "target": "com.amazonaws.ec2#CidrAuthorizationContext", "traits": { - "aws.protocols#ec2QueryName": "ResourceOwner", - "smithy.api#documentation": "

The owner of the resource.

", - "smithy.api#xmlName": "resourceOwner" + "smithy.api#documentation": "

A signed document that proves that you are authorized to bring the specified IP address \n range to Amazon using BYOIP.

" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the resource with which a prefix list is associated.

" - } - }, - "com.amazonaws.ec2#PrefixListAssociationSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#PrefixListAssociation", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#PrefixListEntry": { - "type": "structure", - "members": { - "Cidr": { - "target": "com.amazonaws.ec2#String", + }, + "PubliclyAdvertisable": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Cidr", - "smithy.api#documentation": "

The CIDR block.

", - "smithy.api#xmlName": "cidr" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

(IPv6 only) Indicate whether the address range will be publicly advertised to the\n internet.

\n

Default: true

" } }, "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

The description.

", - "smithy.api#xmlName": "description" + "smithy.api#documentation": "

A description for the address range and the address pool.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "PoolTagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

The tags to apply to the address pool.

", + "smithy.api#xmlName": "PoolTagSpecification" + } + }, + "MultiRegion": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Reserved.

" } } }, "traits": { - "smithy.api#documentation": "

Describes a prefix list entry.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#PrefixListEntrySet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#PrefixListEntry", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#ProvisionByoipCidrResult": { + "type": "structure", + "members": { + "ByoipCidr": { + "target": "com.amazonaws.ec2#ByoipCidr", + "traits": { + "aws.protocols#ec2QueryName": "ByoipCidr", + "smithy.api#documentation": "

Information about the address range.

", + "smithy.api#xmlName": "byoipCidr" + } } } }, - "com.amazonaws.ec2#PrefixListId": { + "com.amazonaws.ec2#ProvisionIpamPoolCidr": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ProvisionIpamPoolCidrRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ProvisionIpamPoolCidrResult" + }, + "traits": { + "smithy.api#documentation": "

Provision a CIDR to an IPAM pool. You can use this action to provision new CIDRs to a top-level pool or to transfer a CIDR from a top-level pool to a pool within it.

\n

For more information, see Provision CIDRs to pools in the Amazon VPC IPAM User Guide.\n

" + } + }, + "com.amazonaws.ec2#ProvisionIpamPoolCidrRequest": { "type": "structure", "members": { - "Description": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the IPAM pool to which you want to assign a CIDR.

", + "smithy.api#required": {} + } + }, + "Cidr": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

A description for the security group rule that references this prefix list ID.

\n

Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9,\n spaces, and ._-:/()#,@[]+=;{}!$*

", - "smithy.api#xmlName": "description" + "smithy.api#documentation": "

The CIDR you want to assign to the IPAM pool. Either \"NetmaskLength\" or \"Cidr\" is required. This value will be null if you specify \"NetmaskLength\" and will be filled in during the provisioning process.

" } }, - "PrefixListId": { + "CidrAuthorizationContext": { + "target": "com.amazonaws.ec2#IpamCidrAuthorizationContext", + "traits": { + "smithy.api#documentation": "

A signed document that proves that you are authorized to bring a specified IP address range to Amazon using BYOIP. This option applies to public pools only.

" + } + }, + "NetmaskLength": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The netmask length of the CIDR you'd like to provision to a pool. Can be used for provisioning Amazon-provided IPv6 CIDRs to top-level pools and for provisioning CIDRs to pools with source pools. Cannot be used to provision BYOIP CIDRs to top-level pools. Either \"NetmaskLength\" or \"Cidr\" is required.

" + } + }, + "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PrefixListId", - "smithy.api#documentation": "

The ID of the prefix.

", - "smithy.api#xmlName": "prefixListId" + "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

", + "smithy.api#idempotencyToken": {} } } }, "traits": { - "smithy.api#documentation": "

Describes a prefix list ID.

" - } - }, - "com.amazonaws.ec2#PrefixListIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#PrefixListId", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#input": {} } }, - "com.amazonaws.ec2#PrefixListIdSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#ProvisionIpamPoolCidrResult": { + "type": "structure", + "members": { + "IpamPoolCidr": { + "target": "com.amazonaws.ec2#IpamPoolCidr", + "traits": { + "aws.protocols#ec2QueryName": "IpamPoolCidr", + "smithy.api#documentation": "

Information about the provisioned CIDR.

", + "smithy.api#xmlName": "ipamPoolCidr" + } } } }, - "com.amazonaws.ec2#PrefixListMaxResults": { - "type": "integer", + "com.amazonaws.ec2#ProvisionPublicIpv4PoolCidr": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ProvisionPublicIpv4PoolCidrRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ProvisionPublicIpv4PoolCidrResult" + }, "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 1, - "max": 100 - } - } - }, - "com.amazonaws.ec2#PrefixListResourceId": { - "type": "string" - }, - "com.amazonaws.ec2#PrefixListResourceIdStringList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#PrefixListResourceId", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#PrefixListSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#PrefixList", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

Provision a CIDR to a public IPv4 pool.

\n

For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.

" } }, - "com.amazonaws.ec2#PrefixListState": { - "type": "enum", + "com.amazonaws.ec2#ProvisionPublicIpv4PoolCidrRequest": { + "type": "structure", "members": { - "create_in_progress": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "create-in-progress" - } - }, - "create_complete": { - "target": "smithy.api#Unit", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "create-complete" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "create_failed": { - "target": "smithy.api#Unit", + "IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", "traits": { - "smithy.api#enumValue": "create-failed" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the IPAM pool you would like to use to allocate this CIDR.

", + "smithy.api#required": {} } }, - "modify_in_progress": { - "target": "smithy.api#Unit", + "PoolId": { + "target": "com.amazonaws.ec2#Ipv4PoolEc2Id", "traits": { - "smithy.api#enumValue": "modify-in-progress" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the public IPv4 pool you would like to use for this CIDR.

", + "smithy.api#required": {} } }, - "modify_complete": { - "target": "smithy.api#Unit", + "NetmaskLength": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "modify-complete" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The netmask length of the CIDR you would like to allocate to the public IPv4 pool.

", + "smithy.api#required": {} } - }, - "modify_failed": { - "target": "smithy.api#Unit", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#ProvisionPublicIpv4PoolCidrResult": { + "type": "structure", + "members": { + "PoolId": { + "target": "com.amazonaws.ec2#Ipv4PoolEc2Id", "traits": { - "smithy.api#enumValue": "modify-failed" + "aws.protocols#ec2QueryName": "PoolId", + "smithy.api#documentation": "

The ID of the pool that you want to provision the CIDR to.

", + "smithy.api#xmlName": "poolId" } }, - "restore_in_progress": { - "target": "smithy.api#Unit", + "PoolAddressRange": { + "target": "com.amazonaws.ec2#PublicIpv4PoolRange", "traits": { - "smithy.api#enumValue": "restore-in-progress" + "aws.protocols#ec2QueryName": "PoolAddressRange", + "smithy.api#documentation": "

Information about the address range of the public IPv4 pool.

", + "smithy.api#xmlName": "poolAddressRange" } - }, - "restore_complete": { - "target": "smithy.api#Unit", + } + } + }, + "com.amazonaws.ec2#ProvisionedBandwidth": { + "type": "structure", + "members": { + "ProvisionTime": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "smithy.api#enumValue": "restore-complete" + "aws.protocols#ec2QueryName": "ProvisionTime", + "smithy.api#documentation": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", + "smithy.api#xmlName": "provisionTime" } }, - "restore_failed": { - "target": "smithy.api#Unit", + "Provisioned": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "restore-failed" + "aws.protocols#ec2QueryName": "Provisioned", + "smithy.api#documentation": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", + "smithy.api#xmlName": "provisioned" } }, - "delete_in_progress": { - "target": "smithy.api#Unit", + "RequestTime": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "smithy.api#enumValue": "delete-in-progress" + "aws.protocols#ec2QueryName": "RequestTime", + "smithy.api#documentation": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", + "smithy.api#xmlName": "requestTime" } }, - "delete_complete": { - "target": "smithy.api#Unit", + "Requested": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "delete-complete" + "aws.protocols#ec2QueryName": "Requested", + "smithy.api#documentation": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", + "smithy.api#xmlName": "requested" } }, - "delete_failed": { - "target": "smithy.api#Unit", + "Status": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "delete-failed" + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", + "smithy.api#xmlName": "status" } } + }, + "traits": { + "smithy.api#documentation": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

" } }, - "com.amazonaws.ec2#PriceSchedule": { + "com.amazonaws.ec2#PtrUpdateStatus": { "type": "structure", "members": { - "Active": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "Active", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

The current price schedule, as determined by the term remaining for the Reserved Instance in the listing.

\n

A specific price schedule is always in effect, but only one price schedule can be active at any time. Take, for example, a Reserved Instance listing that has five months remaining in its term. When you specify price schedules for five months and two months, this means that schedule 1, covering the first three months of the remaining term, will be active during months 5, 4, and 3. Then schedule 2, covering the last two months of the term, will be active for months 2 and 1.

", - "smithy.api#xmlName": "active" - } - }, - "CurrencyCode": { - "target": "com.amazonaws.ec2#CurrencyCodeValues", + "Value": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CurrencyCode", - "smithy.api#documentation": "

The currency for transacting the Reserved Instance resale.\n\t\t\t\tAt this time, the only supported currency is USD.

", - "smithy.api#xmlName": "currencyCode" + "aws.protocols#ec2QueryName": "Value", + "smithy.api#documentation": "

The value for the PTR record update.

", + "smithy.api#xmlName": "value" } }, - "Price": { - "target": "com.amazonaws.ec2#Double", + "Status": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Price", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The fixed price for the term.

", - "smithy.api#xmlName": "price" + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The status of the PTR record update.

", + "smithy.api#xmlName": "status" } }, - "Term": { - "target": "com.amazonaws.ec2#Long", + "Reason": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Term", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of months remaining in the reservation. For example, 2 is the second to the last month before the capacity reservation expires.

", - "smithy.api#xmlName": "term" + "aws.protocols#ec2QueryName": "Reason", + "smithy.api#documentation": "

The reason for the PTR record update.

", + "smithy.api#xmlName": "reason" } } }, "traits": { - "smithy.api#documentation": "

Describes the price for a Reserved Instance.

" + "smithy.api#documentation": "

The status of an updated pointer (PTR) record for an Elastic IP address.

" } }, - "com.amazonaws.ec2#PriceScheduleList": { + "com.amazonaws.ec2#PublicIpAddress": { + "type": "string" + }, + "com.amazonaws.ec2#PublicIpStringList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#PriceSchedule", + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#xmlName": "item" + "smithy.api#xmlName": "PublicIp" } } }, - "com.amazonaws.ec2#PriceScheduleSpecification": { + "com.amazonaws.ec2#PublicIpv4Pool": { "type": "structure", "members": { - "CurrencyCode": { - "target": "com.amazonaws.ec2#CurrencyCodeValues", + "PoolId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CurrencyCode", - "smithy.api#documentation": "

The currency for transacting the Reserved Instance resale.\n\t\t\t\tAt this time, the only supported currency is USD.

", - "smithy.api#xmlName": "currencyCode" + "aws.protocols#ec2QueryName": "PoolId", + "smithy.api#documentation": "

The ID of the address pool.

", + "smithy.api#xmlName": "poolId" } }, - "Price": { - "target": "com.amazonaws.ec2#Double", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Price", + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A description of the address pool.

", + "smithy.api#xmlName": "description" + } + }, + "PoolAddressRanges": { + "target": "com.amazonaws.ec2#PublicIpv4PoolRangeSet", + "traits": { + "aws.protocols#ec2QueryName": "PoolAddressRangeSet", + "smithy.api#documentation": "

The address ranges.

", + "smithy.api#xmlName": "poolAddressRangeSet" + } + }, + "TotalAddressCount": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "TotalAddressCount", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The fixed price for the term.

", - "smithy.api#xmlName": "price" + "smithy.api#documentation": "

The total number of addresses.

", + "smithy.api#xmlName": "totalAddressCount" } }, - "Term": { - "target": "com.amazonaws.ec2#Long", + "TotalAvailableAddressCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "Term", + "aws.protocols#ec2QueryName": "TotalAvailableAddressCount", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The number of months remaining in the reservation. For example, 2 is the second to the last month before the capacity reservation expires.

", - "smithy.api#xmlName": "term" + "smithy.api#documentation": "

The total number of available addresses.

", + "smithy.api#xmlName": "totalAvailableAddressCount" + } + }, + "NetworkBorderGroup": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NetworkBorderGroup", + "smithy.api#documentation": "

The name of the location from which the address pool is advertised. \n A network border group is a unique set of Availability Zones or Local Zones \n from where Amazon Web Services advertises public IP addresses.

", + "smithy.api#xmlName": "networkBorderGroup" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Any tags for the address pool.

", + "smithy.api#xmlName": "tagSet" } } }, "traits": { - "smithy.api#documentation": "

Describes the price for a Reserved Instance.

" + "smithy.api#documentation": "

Describes an IPv4 address pool.

" } }, - "com.amazonaws.ec2#PriceScheduleSpecificationList": { + "com.amazonaws.ec2#PublicIpv4PoolIdStringList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#PriceScheduleSpecification", + "target": "com.amazonaws.ec2#Ipv4PoolEc2Id", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#PricingDetail": { + "com.amazonaws.ec2#PublicIpv4PoolRange": { "type": "structure", "members": { - "Count": { + "FirstAddress": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "FirstAddress", + "smithy.api#documentation": "

The first IP address in the range.

", + "smithy.api#xmlName": "firstAddress" + } + }, + "LastAddress": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "LastAddress", + "smithy.api#documentation": "

The last IP address in the range.

", + "smithy.api#xmlName": "lastAddress" + } + }, + "AddressCount": { "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "Count", + "aws.protocols#ec2QueryName": "AddressCount", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The number of reservations available for the price.

", - "smithy.api#xmlName": "count" + "smithy.api#documentation": "

The number of addresses in the range.

", + "smithy.api#xmlName": "addressCount" } }, - "Price": { - "target": "com.amazonaws.ec2#Double", + "AvailableAddressCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "Price", + "aws.protocols#ec2QueryName": "AvailableAddressCount", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The price per instance.

", - "smithy.api#xmlName": "price" + "smithy.api#documentation": "

The number of available addresses in the range.

", + "smithy.api#xmlName": "availableAddressCount" } } }, "traits": { - "smithy.api#documentation": "

Describes a Reserved Instance offering.

" + "smithy.api#documentation": "

Describes an address range of an IPv4 address pool.

" } }, - "com.amazonaws.ec2#PricingDetailsList": { + "com.amazonaws.ec2#PublicIpv4PoolRangeSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#PricingDetail", + "target": "com.amazonaws.ec2#PublicIpv4PoolRange", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#PrincipalIdFormat": { + "com.amazonaws.ec2#PublicIpv4PoolSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#PublicIpv4Pool", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#Purchase": { "type": "structure", "members": { - "Arn": { + "CurrencyCode": { + "target": "com.amazonaws.ec2#CurrencyCodeValues", + "traits": { + "aws.protocols#ec2QueryName": "CurrencyCode", + "smithy.api#documentation": "

The currency in which the UpfrontPrice and HourlyPrice\n amounts are specified. At this time, the only supported currency is\n USD.

", + "smithy.api#xmlName": "currencyCode" + } + }, + "Duration": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Duration", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The duration of the reservation's term in seconds.

", + "smithy.api#xmlName": "duration" + } + }, + "HostIdSet": { + "target": "com.amazonaws.ec2#ResponseHostIdSet", + "traits": { + "aws.protocols#ec2QueryName": "HostIdSet", + "smithy.api#documentation": "

The IDs of the Dedicated Hosts associated with the reservation.

", + "smithy.api#xmlName": "hostIdSet" + } + }, + "HostReservationId": { + "target": "com.amazonaws.ec2#HostReservationId", + "traits": { + "aws.protocols#ec2QueryName": "HostReservationId", + "smithy.api#documentation": "

The ID of the reservation.

", + "smithy.api#xmlName": "hostReservationId" + } + }, + "HourlyPrice": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Arn", - "smithy.api#documentation": "

PrincipalIdFormatARN description

", - "smithy.api#xmlName": "arn" + "aws.protocols#ec2QueryName": "HourlyPrice", + "smithy.api#documentation": "

The hourly price of the reservation per hour.

", + "smithy.api#xmlName": "hourlyPrice" } }, - "Statuses": { - "target": "com.amazonaws.ec2#IdFormatList", + "InstanceFamily": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "StatusSet", - "smithy.api#documentation": "

PrincipalIdFormatStatuses description

", - "smithy.api#xmlName": "statusSet" + "aws.protocols#ec2QueryName": "InstanceFamily", + "smithy.api#documentation": "

The instance family on the Dedicated Host that the reservation can be associated\n with.

", + "smithy.api#xmlName": "instanceFamily" + } + }, + "PaymentOption": { + "target": "com.amazonaws.ec2#PaymentOption", + "traits": { + "aws.protocols#ec2QueryName": "PaymentOption", + "smithy.api#documentation": "

The payment option for the reservation.

", + "smithy.api#xmlName": "paymentOption" + } + }, + "UpfrontPrice": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "UpfrontPrice", + "smithy.api#documentation": "

The upfront price of the reservation.

", + "smithy.api#xmlName": "upfrontPrice" } } }, "traits": { - "smithy.api#documentation": "

PrincipalIdFormat description

" + "smithy.api#documentation": "

Describes the result of the purchase.

" } }, - "com.amazonaws.ec2#PrincipalIdFormatList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#PrincipalIdFormat", - "traits": { - "smithy.api#xmlName": "item" - } + "com.amazonaws.ec2#PurchaseHostReservation": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#PurchaseHostReservationRequest" + }, + "output": { + "target": "com.amazonaws.ec2#PurchaseHostReservationResult" + }, + "traits": { + "smithy.api#documentation": "

Purchase a reservation with configurations that match those of your Dedicated Host.\n You must have active Dedicated Hosts in your account before you purchase a reservation.\n This action results in the specified reservation being purchased and charged to your\n account.

" } }, - "com.amazonaws.ec2#PrincipalType": { - "type": "enum", + "com.amazonaws.ec2#PurchaseHostReservationRequest": { + "type": "structure", "members": { - "All": { - "target": "smithy.api#Unit", + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "All" + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

" } }, - "Service": { - "target": "smithy.api#Unit", + "CurrencyCode": { + "target": "com.amazonaws.ec2#CurrencyCodeValues", "traits": { - "smithy.api#enumValue": "Service" + "smithy.api#documentation": "

The currency in which the totalUpfrontPrice, LimitPrice, and\n totalHourlyPrice amounts are specified. At this time, the only\n supported currency is USD.

" } }, - "OrganizationUnit": { - "target": "smithy.api#Unit", + "HostIdSet": { + "target": "com.amazonaws.ec2#RequestHostIdSet", "traits": { - "smithy.api#enumValue": "OrganizationUnit" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The IDs of the Dedicated Hosts with which the reservation will be associated.

", + "smithy.api#required": {} } }, - "Account": { - "target": "smithy.api#Unit", + "LimitPrice": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "Account" + "smithy.api#documentation": "

The specified limit is checked against the total upfront cost of the reservation\n (calculated as the offering's upfront cost multiplied by the host count). If the total\n upfront cost is greater than the specified price limit, the request fails. This is used\n to ensure that the purchase does not exceed the expected upfront cost of the purchase.\n At this time, the only supported currency is USD. For example, to indicate\n a limit price of USD 100, specify 100.00.

" } }, - "User": { - "target": "smithy.api#Unit", + "OfferingId": { + "target": "com.amazonaws.ec2#OfferingId", "traits": { - "smithy.api#enumValue": "User" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the offering.

", + "smithy.api#required": {} } }, - "Role": { - "target": "smithy.api#Unit", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#enumValue": "Role" + "smithy.api#documentation": "

The tags to apply to the Dedicated Host Reservation during purchase.

", + "smithy.api#xmlName": "TagSpecification" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#PrivateDnsDetails": { + "com.amazonaws.ec2#PurchaseHostReservationResult": { "type": "structure", "members": { - "PrivateDnsName": { + "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PrivateDnsName", - "smithy.api#documentation": "

The private DNS name assigned to the VPC endpoint service.

", - "smithy.api#xmlName": "privateDnsName" + "aws.protocols#ec2QueryName": "ClientToken", + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

", + "smithy.api#xmlName": "clientToken" } - } - }, - "traits": { - "smithy.api#documentation": "

Information about the Private DNS name for interface endpoints.

" - } - }, - "com.amazonaws.ec2#PrivateDnsDetailsSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#PrivateDnsDetails", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#PrivateDnsNameConfiguration": { - "type": "structure", - "members": { - "State": { - "target": "com.amazonaws.ec2#DnsNameState", + }, + "CurrencyCode": { + "target": "com.amazonaws.ec2#CurrencyCodeValues", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The verification state of the VPC endpoint service.

\n

>Consumers\n of the endpoint service can use the private name only when the state is\n verified.

", - "smithy.api#xmlName": "state" + "aws.protocols#ec2QueryName": "CurrencyCode", + "smithy.api#documentation": "

The currency in which the totalUpfrontPrice and\n totalHourlyPrice amounts are specified. At this time, the only\n supported currency is USD.

", + "smithy.api#xmlName": "currencyCode" } }, - "Type": { + "Purchase": { + "target": "com.amazonaws.ec2#PurchaseSet", + "traits": { + "aws.protocols#ec2QueryName": "Purchase", + "smithy.api#documentation": "

Describes the details of the purchase.

", + "smithy.api#xmlName": "purchase" + } + }, + "TotalHourlyPrice": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Type", - "smithy.api#documentation": "

The endpoint service verification type, for example TXT.

", - "smithy.api#xmlName": "type" + "aws.protocols#ec2QueryName": "TotalHourlyPrice", + "smithy.api#documentation": "

The total hourly price of the reservation calculated per hour.

", + "smithy.api#xmlName": "totalHourlyPrice" } }, - "Value": { + "TotalUpfrontPrice": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Value", - "smithy.api#documentation": "

The value the service provider adds to the private DNS name domain record before verification.

", - "smithy.api#xmlName": "value" + "aws.protocols#ec2QueryName": "TotalUpfrontPrice", + "smithy.api#documentation": "

The total amount charged to your account when you purchase the reservation.

", + "smithy.api#xmlName": "totalUpfrontPrice" + } + } + } + }, + "com.amazonaws.ec2#PurchaseRequest": { + "type": "structure", + "members": { + "InstanceCount": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of instances.

", + "smithy.api#required": {} } }, - "Name": { + "PurchaseToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Name", - "smithy.api#documentation": "

The name of the record subdomain the service provider needs to create. The service provider adds the value text to the name.

", - "smithy.api#xmlName": "name" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The purchase token.

", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Information about the private DNS name for the service endpoint.

" + "smithy.api#documentation": "

Describes a request to purchase Scheduled Instances.

" } }, - "com.amazonaws.ec2#PrivateDnsNameOptionsOnLaunch": { + "com.amazonaws.ec2#PurchaseRequestSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#PurchaseRequest", + "traits": { + "smithy.api#xmlName": "PurchaseRequest" + } + }, + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, + "com.amazonaws.ec2#PurchaseReservedInstancesOffering": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#PurchaseReservedInstancesOfferingRequest" + }, + "output": { + "target": "com.amazonaws.ec2#PurchaseReservedInstancesOfferingResult" + }, + "traits": { + "smithy.api#documentation": "

Purchases a Reserved Instance for use with your account. With Reserved Instances, you pay a lower \n hourly rate compared to On-Demand instance pricing.

\n

Use DescribeReservedInstancesOfferings to get a list of Reserved Instance offerings \n\t\t\tthat match your specifications. After you've purchased a Reserved Instance, you can check for your\n\t\t\tnew Reserved Instance with DescribeReservedInstances.

\n

To queue a purchase for a future date and time, specify a purchase time. If you do not specify a\n purchase time, the default is the current time.

\n

For more information, see Reserved Instances and \n \t Reserved Instance Marketplace \n \t in the Amazon EC2 User Guide.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" + } + }, + "com.amazonaws.ec2#PurchaseReservedInstancesOfferingRequest": { "type": "structure", "members": { - "HostnameType": { - "target": "com.amazonaws.ec2#HostnameType", + "InstanceCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "HostnameType", - "smithy.api#documentation": "

The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name\n must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name\n must be based on the instance ID. For dual-stack subnets, you can specify whether DNS\n names use the instance IPv4 address or the instance ID.

", - "smithy.api#xmlName": "hostnameType" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of Reserved Instances to purchase.

", + "smithy.api#required": {} } }, - "EnableResourceNameDnsARecord": { - "target": "com.amazonaws.ec2#Boolean", + "ReservedInstancesOfferingId": { + "target": "com.amazonaws.ec2#ReservedInstancesOfferingId", "traits": { - "aws.protocols#ec2QueryName": "EnableResourceNameDnsARecord", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to respond to DNS queries for instance hostnames with DNS A\n records.

", - "smithy.api#xmlName": "enableResourceNameDnsARecord" + "smithy.api#documentation": "

The ID of the Reserved Instance offering to purchase.

", + "smithy.api#required": {} } }, - "EnableResourceNameDnsAAAARecord": { + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "EnableResourceNameDnsAAAARecord", + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to respond to DNS queries for instance hostname with DNS AAAA\n records.

", - "smithy.api#xmlName": "enableResourceNameDnsAAAARecord" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + }, + "LimitPrice": { + "target": "com.amazonaws.ec2#ReservedInstanceLimitPrice", + "traits": { + "aws.protocols#ec2QueryName": "LimitPrice", + "smithy.api#documentation": "

Specified for Reserved Instance Marketplace offerings to limit the total order and ensure that the Reserved Instances are not purchased at unexpected prices.

", + "smithy.api#xmlName": "limitPrice" + } + }, + "PurchaseTime": { + "target": "com.amazonaws.ec2#DateTime", + "traits": { + "smithy.api#documentation": "

The time at which to purchase the Reserved Instance, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for PurchaseReservedInstancesOffering.

", + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#PurchaseReservedInstancesOfferingResult": { + "type": "structure", + "members": { + "ReservedInstancesId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ReservedInstancesId", + "smithy.api#documentation": "

The IDs of the purchased Reserved Instances. If your purchase crosses into a discounted\n pricing tier, the final Reserved Instances IDs might change. For more information, see Crossing\n pricing tiers in the Amazon Elastic Compute Cloud User Guide.

", + "smithy.api#xmlName": "reservedInstancesId" } } }, "traits": { - "smithy.api#documentation": "

Describes the options for instance hostnames.

" + "smithy.api#documentation": "

Contains the output of PurchaseReservedInstancesOffering.

" } }, - "com.amazonaws.ec2#PrivateDnsNameOptionsRequest": { + "com.amazonaws.ec2#PurchaseScheduledInstances": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#PurchaseScheduledInstancesRequest" + }, + "output": { + "target": "com.amazonaws.ec2#PurchaseScheduledInstancesResult" + }, + "traits": { + "smithy.api#documentation": "\n

You can no longer purchase Scheduled Instances.

\n
\n

Purchases the Scheduled Instances with the specified schedule.

\n

Scheduled Instances enable you to purchase Amazon EC2 compute capacity by the hour for a one-year term.\n Before you can purchase a Scheduled Instance, you must call DescribeScheduledInstanceAvailability\n to check for available schedules and obtain a purchase token. After you purchase a Scheduled Instance,\n you must call RunScheduledInstances during each scheduled time period.

\n

After you purchase a Scheduled Instance, you can't cancel, modify, or resell your purchase.

" + } + }, + "com.amazonaws.ec2#PurchaseScheduledInstancesRequest": { "type": "structure", "members": { - "HostnameType": { - "target": "com.amazonaws.ec2#HostnameType", + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name\n must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name\n must be based on the instance ID. For dual-stack subnets, you can specify whether DNS\n names use the instance IPv4 address or the instance ID.

" + "smithy.api#documentation": "

Unique, case-sensitive identifier that ensures the idempotency of the request. \n For more information, see Ensuring Idempotency.

", + "smithy.api#idempotencyToken": {} } }, - "EnableResourceNameDnsARecord": { + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to respond to DNS queries for instance hostnames with DNS A\n records.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "EnableResourceNameDnsAAAARecord": { - "target": "com.amazonaws.ec2#Boolean", + "PurchaseRequests": { + "target": "com.amazonaws.ec2#PurchaseRequestSet", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA\n records.

" + "smithy.api#documentation": "

The purchase requests.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "PurchaseRequest" } } }, "traits": { - "smithy.api#documentation": "

Describes the options for instance hostnames.

" + "smithy.api#documentation": "

Contains the parameters for PurchaseScheduledInstances.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#PrivateDnsNameOptionsResponse": { + "com.amazonaws.ec2#PurchaseScheduledInstancesResult": { "type": "structure", "members": { - "HostnameType": { - "target": "com.amazonaws.ec2#HostnameType", - "traits": { - "aws.protocols#ec2QueryName": "HostnameType", - "smithy.api#documentation": "

The type of hostname to assign to an instance.

", - "smithy.api#xmlName": "hostnameType" - } - }, - "EnableResourceNameDnsARecord": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "EnableResourceNameDnsARecord", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to respond to DNS queries for instance hostnames with DNS A\n records.

", - "smithy.api#xmlName": "enableResourceNameDnsARecord" - } - }, - "EnableResourceNameDnsAAAARecord": { - "target": "com.amazonaws.ec2#Boolean", + "ScheduledInstanceSet": { + "target": "com.amazonaws.ec2#PurchasedScheduledInstanceSet", "traits": { - "aws.protocols#ec2QueryName": "EnableResourceNameDnsAAAARecord", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA\n records.

", - "smithy.api#xmlName": "enableResourceNameDnsAAAARecord" + "aws.protocols#ec2QueryName": "ScheduledInstanceSet", + "smithy.api#documentation": "

Information about the Scheduled Instances.

", + "smithy.api#xmlName": "scheduledInstanceSet" } } }, "traits": { - "smithy.api#documentation": "

Describes the options for instance hostnames.

" + "smithy.api#documentation": "

Contains the output of PurchaseScheduledInstances.

" } }, - "com.amazonaws.ec2#PrivateIpAddressConfigSet": { + "com.amazonaws.ec2#PurchaseSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#ScheduledInstancesPrivateIpAddressConfig", + "target": "com.amazonaws.ec2#Purchase", "traits": { - "smithy.api#xmlName": "PrivateIpAddressConfigSet" - } - } - }, - "com.amazonaws.ec2#PrivateIpAddressSpecification": { - "type": "structure", - "members": { - "Primary": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "Primary", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the private IPv4 address is the primary private IPv4 address. Only\n one IPv4 address can be designated as primary.

", - "smithy.api#xmlName": "primary" - } - }, - "PrivateIpAddress": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "PrivateIpAddress", - "smithy.api#documentation": "

The private IPv4 address.

", - "smithy.api#xmlName": "privateIpAddress" - } + "smithy.api#xmlName": "item" } - }, - "traits": { - "smithy.api#documentation": "

Describes a secondary private IPv4 address for a network interface.

" } }, - "com.amazonaws.ec2#PrivateIpAddressSpecificationList": { + "com.amazonaws.ec2#PurchasedScheduledInstanceSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#PrivateIpAddressSpecification", + "target": "com.amazonaws.ec2#ScheduledInstance", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#PrivateIpAddressStringList": { + "com.amazonaws.ec2#RIProductDescription": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "Linux/UNIX" + }, + { + "value": "Linux/UNIX (Amazon VPC)" + }, + { + "value": "Windows" + }, + { + "value": "Windows (Amazon VPC)" + } + ] + } + }, + "com.amazonaws.ec2#RamdiskId": { + "type": "string" + }, + "com.amazonaws.ec2#ReasonCodesList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#ReportInstanceReasonCodes", "traits": { - "smithy.api#xmlName": "PrivateIpAddress" + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#ProcessorInfo": { + "com.amazonaws.ec2#RebootInstances": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#RebootInstancesRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "

Requests a reboot of the specified instances. This operation is asynchronous; it only\n queues a request to reboot the specified instances. The operation succeeds if the\n instances are valid and belong to you. Requests to reboot terminated instances are\n ignored.

\n

If an instance does not cleanly shut down within a few minutes, Amazon EC2 performs a\n hard reboot.

\n

For more information about troubleshooting, see Troubleshoot an unreachable\n instance in the Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#RebootInstancesRequest": { "type": "structure", "members": { - "SupportedArchitectures": { - "target": "com.amazonaws.ec2#ArchitectureTypeList", + "InstanceIds": { + "target": "com.amazonaws.ec2#InstanceIdStringList", "traits": { - "aws.protocols#ec2QueryName": "SupportedArchitectures", - "smithy.api#documentation": "

The architectures supported by the instance type.

", - "smithy.api#xmlName": "supportedArchitectures" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The instance IDs.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "InstanceId" } }, - "SustainedClockSpeedInGhz": { - "target": "com.amazonaws.ec2#ProcessorSustainedClockSpeed", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "SustainedClockSpeedInGhz", - "smithy.api#documentation": "

The speed of the processor, in GHz.

", - "smithy.api#xmlName": "sustainedClockSpeedInGhz" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } } }, "traits": { - "smithy.api#documentation": "

Describes the processor used by the instance type.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ProcessorSustainedClockSpeed": { - "type": "double" - }, - "com.amazonaws.ec2#ProductCode": { + "com.amazonaws.ec2#RecurringCharge": { "type": "structure", "members": { - "ProductCodeId": { - "target": "com.amazonaws.ec2#String", + "Amount": { + "target": "com.amazonaws.ec2#Double", "traits": { - "aws.protocols#ec2QueryName": "ProductCode", - "smithy.api#documentation": "

The product code.

", - "smithy.api#xmlName": "productCode" + "aws.protocols#ec2QueryName": "Amount", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The amount of the recurring charge.

", + "smithy.api#xmlName": "amount" } }, - "ProductCodeType": { - "target": "com.amazonaws.ec2#ProductCodeValues", + "Frequency": { + "target": "com.amazonaws.ec2#RecurringChargeFrequency", "traits": { - "aws.protocols#ec2QueryName": "Type", - "smithy.api#documentation": "

The type of product code.

", - "smithy.api#xmlName": "type" + "aws.protocols#ec2QueryName": "Frequency", + "smithy.api#documentation": "

The frequency of the recurring charge.

", + "smithy.api#xmlName": "frequency" } } }, "traits": { - "smithy.api#documentation": "

Describes a product code.

" + "smithy.api#documentation": "

Describes a recurring charge.

" } }, - "com.amazonaws.ec2#ProductCodeList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ProductCode", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#RecurringChargeFrequency": { + "type": "enum", + "members": { + "Hourly": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Hourly" + } } } }, - "com.amazonaws.ec2#ProductCodeStringList": { + "com.amazonaws.ec2#RecurringChargesList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#RecurringCharge", "traits": { - "smithy.api#xmlName": "ProductCode" + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#ProductCodeValues": { - "type": "enum", + "com.amazonaws.ec2#ReferencedSecurityGroup": { + "type": "structure", "members": { - "devpay": { - "target": "smithy.api#Unit", + "GroupId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "devpay" + "aws.protocols#ec2QueryName": "GroupId", + "smithy.api#documentation": "

The ID of the security group.

", + "smithy.api#xmlName": "groupId" } }, - "marketplace": { - "target": "smithy.api#Unit", + "PeeringStatus": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "marketplace" + "aws.protocols#ec2QueryName": "PeeringStatus", + "smithy.api#documentation": "

The status of a VPC peering connection, if applicable.

", + "smithy.api#xmlName": "peeringStatus" + } + }, + "UserId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "UserId", + "smithy.api#documentation": "

The Amazon Web Services account ID.

", + "smithy.api#xmlName": "userId" + } + }, + "VpcId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#documentation": "

The ID of the VPC.

", + "smithy.api#xmlName": "vpcId" + } + }, + "VpcPeeringConnectionId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "VpcPeeringConnectionId", + "smithy.api#documentation": "

The ID of the VPC peering connection.

", + "smithy.api#xmlName": "vpcPeeringConnectionId" } } + }, + "traits": { + "smithy.api#documentation": "

Describes the security group that is referenced in the security group rule.

" } }, - "com.amazonaws.ec2#ProductDescriptionList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#String" - } - }, - "com.amazonaws.ec2#PropagatingVgw": { + "com.amazonaws.ec2#Region": { "type": "structure", "members": { - "GatewayId": { + "Endpoint": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "GatewayId", - "smithy.api#documentation": "

The ID of the virtual private gateway.

", - "smithy.api#xmlName": "gatewayId" + "aws.protocols#ec2QueryName": "RegionEndpoint", + "smithy.api#documentation": "

The Region service endpoint.

", + "smithy.api#xmlName": "regionEndpoint" + } + }, + "RegionName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "RegionName", + "smithy.api#documentation": "

The name of the Region.

", + "smithy.api#xmlName": "regionName" + } + }, + "OptInStatus": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "OptInStatus", + "smithy.api#documentation": "

The Region opt-in status. The possible values are opt-in-not-required, opted-in, and \n not-opted-in.

", + "smithy.api#xmlName": "optInStatus" } } }, "traits": { - "smithy.api#documentation": "

Describes a virtual private gateway propagating route.

" + "smithy.api#documentation": "

Describes a Region.

" } }, - "com.amazonaws.ec2#PropagatingVgwList": { + "com.amazonaws.ec2#RegionList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#PropagatingVgw", + "target": "com.amazonaws.ec2#Region", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#Protocol": { - "type": "enum", - "members": { - "tcp": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "tcp" - } - }, - "udp": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "udp" - } - } - } - }, - "com.amazonaws.ec2#ProtocolList": { + "com.amazonaws.ec2#RegionNameStringList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#Protocol", + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#xmlName": "item" + "smithy.api#xmlName": "RegionName" } } }, - "com.amazonaws.ec2#ProtocolValue": { - "type": "enum", - "members": { - "gre": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "gre" - } + "com.amazonaws.ec2#RegionNames": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 10 } } }, - "com.amazonaws.ec2#ProvisionByoipCidr": { + "com.amazonaws.ec2#RegisterImage": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ProvisionByoipCidrRequest" + "target": "com.amazonaws.ec2#RegisterImageRequest" }, "output": { - "target": "com.amazonaws.ec2#ProvisionByoipCidrResult" + "target": "com.amazonaws.ec2#RegisterImageResult" }, "traits": { - "smithy.api#documentation": "

Provisions an IPv4 or IPv6 address range for use with your Amazon Web Services resources through bring your own IP \n addresses (BYOIP) and creates a corresponding address pool. After the address range is\n provisioned, it is ready to be advertised using AdvertiseByoipCidr.

\n

Amazon Web Services verifies that you own the address range and are authorized to advertise it. \n You must ensure that the address range is registered to you and that you created an \n RPKI ROA to authorize Amazon ASNs 16509 and 14618 to advertise the address range. \n For more information, see Bring your own IP addresses (BYOIP) in the Amazon Elastic Compute Cloud User Guide.

\n

Provisioning an address range is an asynchronous operation, so the call returns immediately,\n but the address range is not ready to use until its status changes from pending-provision\n to provisioned. To monitor the status of an address range, use DescribeByoipCidrs. \n To allocate an Elastic IP address from your IPv4 address pool, use AllocateAddress \n with either the specific address from the address pool or the ID of the address pool.

" + "smithy.api#documentation": "

Registers an AMI. When you're creating an AMI, this is the final step you must complete\n before you can launch an instance from the AMI. For more information about creating AMIs, see\n Create your\n own AMI in the Amazon Elastic Compute Cloud User Guide.

\n \n

For Amazon EBS-backed instances, CreateImage creates and registers the AMI\n in a single request, so you don't have to register the AMI yourself. We recommend that you\n always use CreateImage unless you have a specific reason to use\n RegisterImage.

\n
\n

If needed, you can deregister an AMI at any time. Any modifications you make to an AMI backed by an instance store volume invalidates its registration. \n If you make changes to an image, deregister the previous image and register the new image.

\n

\n Register a snapshot of a root device volume\n

\n

You can use RegisterImage to create an Amazon EBS-backed Linux AMI from\n a snapshot of a root device volume. You specify the snapshot using a block device mapping.\n You can't set the encryption state of the volume using the block device mapping. If the \n snapshot is encrypted, or encryption by default is enabled, the root volume of an instance \n launched from the AMI is encrypted.

\n

For more information, see Create a Linux AMI from a snapshot and Use encryption with Amazon EBS-backed AMIs\n in the Amazon Elastic Compute Cloud User Guide.

\n

\n Amazon Web Services Marketplace product codes\n

\n

If any snapshots have Amazon Web Services Marketplace product codes, they are copied to the new\n AMI.

\n

Windows and some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE\n Linux Enterprise Server (SLES), use the Amazon EC2 billing product code associated with an AMI to\n verify the subscription status for package updates. To create a new AMI for operating systems\n that require a billing product code, instead of registering the AMI, do the following to\n preserve the billing product code association:

\n
    \n
  1. \n

    Launch an instance from an existing AMI with that billing product code.

    \n
  2. \n
  3. \n

    Customize the instance.

    \n
  4. \n
  5. \n

    Create an AMI from the instance using CreateImage.

    \n
  6. \n
\n

If you purchase a Reserved Instance to apply to an On-Demand Instance that was launched\n from an AMI with a billing product code, make sure that the Reserved Instance has the matching\n billing product code. If you purchase a Reserved Instance without the matching billing product\n code, the Reserved Instance will not be applied to the On-Demand Instance. For information\n about how to obtain the platform details and billing information of an AMI, see Understand AMI\n billing information in the Amazon EC2 User Guide.

" } }, - "com.amazonaws.ec2#ProvisionByoipCidrRequest": { + "com.amazonaws.ec2#RegisterImageRequest": { "type": "structure", "members": { - "Cidr": { + "ImageLocation": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The public IPv4 or IPv6 address range, in CIDR notation. The most specific IPv4 prefix that you can \n specify is /24. The most specific IPv6 prefix you can specify is /56. The address range cannot overlap with another address range that you've \n brought to this or another Region.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The full path to your AMI manifest in Amazon S3 storage. The specified bucket must have the \n \t\taws-exec-read canned access control list (ACL) to ensure that it can be accessed \n \t\tby Amazon EC2. For more information, see Canned ACLs in the \n \t\tAmazon S3 Service Developer Guide.

" } }, - "CidrAuthorizationContext": { - "target": "com.amazonaws.ec2#CidrAuthorizationContext", + "Architecture": { + "target": "com.amazonaws.ec2#ArchitectureValues", "traits": { - "smithy.api#documentation": "

A signed document that proves that you are authorized to bring the specified IP address \n range to Amazon using BYOIP.

" + "aws.protocols#ec2QueryName": "Architecture", + "smithy.api#documentation": "

The architecture of the AMI.

\n

Default: For Amazon EBS-backed AMIs, i386.\n For instance store-backed AMIs, the architecture specified in the manifest file.

", + "smithy.api#xmlName": "architecture" } }, - "PubliclyAdvertisable": { - "target": "com.amazonaws.ec2#Boolean", + "BlockDeviceMappings": { + "target": "com.amazonaws.ec2#BlockDeviceMappingRequestList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

(IPv6 only) Indicate whether the address range will be publicly advertised to the\n internet.

\n

Default: true

" + "smithy.api#documentation": "

The block device mapping entries.

\n

If you specify an Amazon EBS volume using the ID of an Amazon EBS snapshot, you can't specify the encryption state of the volume.

\n

If you create an AMI on an Outpost, then all backing snapshots must be on the same\n Outpost or in the Region of that Outpost. AMIs on an Outpost that include local snapshots can\n be used to launch instances on the same Outpost only. For more information, Amazon EBS local\n snapshots on Outposts in the Amazon EC2 User Guide.

", + "smithy.api#xmlName": "BlockDeviceMapping" } }, "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

A description for the address range and the address pool.

" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A description for your AMI.

", + "smithy.api#xmlName": "description" } }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - }, - "PoolTagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", - "traits": { - "smithy.api#documentation": "

The tags to apply to the address pool.

", - "smithy.api#xmlName": "PoolTagSpecification" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "MultiRegion": { + "EnaSupport": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "EnaSupport", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Reserved.

" + "smithy.api#documentation": "

Set to true to enable enhanced networking with ENA for the AMI and any instances that you launch from the AMI.

\n

This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from the AMI unreachable.

", + "smithy.api#xmlName": "enaSupport" } - } - } - }, - "com.amazonaws.ec2#ProvisionByoipCidrResult": { - "type": "structure", - "members": { - "ByoipCidr": { - "target": "com.amazonaws.ec2#ByoipCidr", + }, + "KernelId": { + "target": "com.amazonaws.ec2#KernelId", "traits": { - "aws.protocols#ec2QueryName": "ByoipCidr", - "smithy.api#documentation": "

Information about the address range.

", - "smithy.api#xmlName": "byoipCidr" + "aws.protocols#ec2QueryName": "KernelId", + "smithy.api#documentation": "

The ID of the kernel.

", + "smithy.api#xmlName": "kernelId" } - } - } - }, - "com.amazonaws.ec2#ProvisionIpamPoolCidr": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ProvisionIpamPoolCidrRequest" - }, - "output": { - "target": "com.amazonaws.ec2#ProvisionIpamPoolCidrResult" - }, - "traits": { - "smithy.api#documentation": "

Provision a CIDR to an IPAM pool. You can use this action to provision new CIDRs to a top-level pool or to transfer a CIDR from a top-level pool to a pool within it.

\n

For more information, see Provision CIDRs to pools in the Amazon VPC IPAM User Guide.\n

" - } - }, - "com.amazonaws.ec2#ProvisionIpamPoolCidrRequest": { - "type": "structure", - "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + }, + "Name": { + "target": "com.amazonaws.ec2#String", "traits": { + "aws.protocols#ec2QueryName": "Name", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

A name for your AMI.

\n

Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

", + "smithy.api#required": {}, + "smithy.api#xmlName": "name" } }, - "IpamPoolId": { - "target": "com.amazonaws.ec2#IpamPoolId", + "BillingProducts": { + "target": "com.amazonaws.ec2#BillingProductList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the IPAM pool to which you want to assign a CIDR.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The billing product codes. Your account must be authorized to specify billing product codes.

\n

If your account is not authorized to specify billing product codes, you can publish AMIs\n that include billable software and list them on the Amazon Web Services Marketplace. You must first register as a seller\n on the Amazon Web Services Marketplace. For more information, see Getting started as a\n seller and AMI-based\n products in the Amazon Web Services Marketplace Seller Guide.

", + "smithy.api#xmlName": "BillingProduct" } }, - "Cidr": { + "RamdiskId": { + "target": "com.amazonaws.ec2#RamdiskId", + "traits": { + "aws.protocols#ec2QueryName": "RamdiskId", + "smithy.api#documentation": "

The ID of the RAM disk.

", + "smithy.api#xmlName": "ramdiskId" + } + }, + "RootDeviceName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "RootDeviceName", + "smithy.api#documentation": "

The device name of the root device volume (for example, /dev/sda1).

", + "smithy.api#xmlName": "rootDeviceName" + } + }, + "SriovNetSupport": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The CIDR you want to assign to the IPAM pool.

" + "aws.protocols#ec2QueryName": "SriovNetSupport", + "smithy.api#documentation": "

Set to simple to enable enhanced networking with the Intel 82599 Virtual Function interface for the AMI and any instances that you launch from the AMI.

\n

There is no way to disable sriovNetSupport at this time.

\n

This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from the AMI unreachable.

", + "smithy.api#xmlName": "sriovNetSupport" } }, - "CidrAuthorizationContext": { - "target": "com.amazonaws.ec2#IpamCidrAuthorizationContext", + "VirtualizationType": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

A signed document that proves that you are authorized to bring a specified IP address range to Amazon using BYOIP. This option applies to public pools only.

" + "aws.protocols#ec2QueryName": "VirtualizationType", + "smithy.api#documentation": "

The type of virtualization (hvm | paravirtual).

\n

Default: paravirtual\n

", + "smithy.api#xmlName": "virtualizationType" + } + }, + "BootMode": { + "target": "com.amazonaws.ec2#BootModeValues", + "traits": { + "smithy.api#documentation": "

The boot mode of the AMI. For more information, see Boot modes in the\n Amazon EC2 User Guide.

" + } + }, + "TpmSupport": { + "target": "com.amazonaws.ec2#TpmSupportValues", + "traits": { + "smithy.api#documentation": "

Set to v2.0 to enable Trusted Platform Module (TPM) support. For more\n information, see NitroTPM in the Amazon EC2 User Guide.

" + } + }, + "UefiData": { + "target": "com.amazonaws.ec2#StringType", + "traits": { + "smithy.api#documentation": "

Base64 representation of the non-volatile UEFI variable store. To retrieve the UEFI data,\n use the GetInstanceUefiData command. You can inspect and modify the UEFI data by using the\n python-uefivars tool on\n GitHub. For more information, see UEFI Secure Boot in the\n Amazon EC2 User Guide.

" + } + }, + "ImdsSupport": { + "target": "com.amazonaws.ec2#ImdsSupportValues", + "traits": { + "smithy.api#documentation": "

Set to v2.0 to indicate that IMDSv2 is specified in the AMI. Instances\n launched from this AMI will have HttpTokens automatically set to\n required so that, by default, the instance requires that IMDSv2 is used when\n requesting instance metadata. In addition, HttpPutResponseHopLimit is set to\n 2. For more information, see Configure\n the AMI in the Amazon EC2 User Guide.

\n \n

If you set the value to v2.0, make sure that your AMI software can support IMDSv2.

\n
" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for RegisterImage.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ProvisionIpamPoolCidrResult": { + "com.amazonaws.ec2#RegisterImageResult": { "type": "structure", "members": { - "IpamPoolCidr": { - "target": "com.amazonaws.ec2#IpamPoolCidr", + "ImageId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "IpamPoolCidr", - "smithy.api#documentation": "

Information about the provisioned CIDR.

", - "smithy.api#xmlName": "ipamPoolCidr" + "aws.protocols#ec2QueryName": "ImageId", + "smithy.api#documentation": "

The ID of the newly registered AMI.

", + "smithy.api#xmlName": "imageId" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of RegisterImage.

" } }, - "com.amazonaws.ec2#ProvisionPublicIpv4PoolCidr": { + "com.amazonaws.ec2#RegisterInstanceEventNotificationAttributes": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ProvisionPublicIpv4PoolCidrRequest" + "target": "com.amazonaws.ec2#RegisterInstanceEventNotificationAttributesRequest" }, "output": { - "target": "com.amazonaws.ec2#ProvisionPublicIpv4PoolCidrResult" + "target": "com.amazonaws.ec2#RegisterInstanceEventNotificationAttributesResult" }, "traits": { - "smithy.api#documentation": "

Provision a CIDR to a public IPv4 pool.

\n

For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.

" + "smithy.api#documentation": "

Registers a set of tag keys to include in scheduled event notifications for your resources. \n \t\t

\n

To remove tags, use DeregisterInstanceEventNotificationAttributes.

" } }, - "com.amazonaws.ec2#ProvisionPublicIpv4PoolCidrRequest": { + "com.amazonaws.ec2#RegisterInstanceEventNotificationAttributesRequest": { "type": "structure", "members": { "DryRun": { @@ -71060,712 +77020,475 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - }, - "IpamPoolId": { - "target": "com.amazonaws.ec2#IpamPoolId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the IPAM pool you would like to use to allocate this CIDR.

", - "smithy.api#required": {} - } - }, - "PoolId": { - "target": "com.amazonaws.ec2#Ipv4PoolEc2Id", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the public IPv4 pool you would like to use for this CIDR.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "NetmaskLength": { - "target": "com.amazonaws.ec2#Integer", + "InstanceTagAttribute": { + "target": "com.amazonaws.ec2#RegisterInstanceTagAttributeRequest", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The netmask length of the CIDR you would like to allocate to the public IPv4 pool.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Information about the tag keys to register.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ProvisionPublicIpv4PoolCidrResult": { + "com.amazonaws.ec2#RegisterInstanceEventNotificationAttributesResult": { "type": "structure", "members": { - "PoolId": { - "target": "com.amazonaws.ec2#Ipv4PoolEc2Id", - "traits": { - "aws.protocols#ec2QueryName": "PoolId", - "smithy.api#documentation": "

The ID of the pool that you want to provision the CIDR to.

", - "smithy.api#xmlName": "poolId" - } - }, - "PoolAddressRange": { - "target": "com.amazonaws.ec2#PublicIpv4PoolRange", + "InstanceTagAttribute": { + "target": "com.amazonaws.ec2#InstanceTagNotificationAttribute", "traits": { - "aws.protocols#ec2QueryName": "PoolAddressRange", - "smithy.api#documentation": "

Information about the address range of the public IPv4 pool.

", - "smithy.api#xmlName": "poolAddressRange" + "aws.protocols#ec2QueryName": "InstanceTagAttribute", + "smithy.api#documentation": "

The resulting set of tag keys.

", + "smithy.api#xmlName": "instanceTagAttribute" } } } }, - "com.amazonaws.ec2#ProvisionedBandwidth": { + "com.amazonaws.ec2#RegisterInstanceTagAttributeRequest": { "type": "structure", "members": { - "ProvisionTime": { - "target": "com.amazonaws.ec2#DateTime", - "traits": { - "aws.protocols#ec2QueryName": "ProvisionTime", - "smithy.api#documentation": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "smithy.api#xmlName": "provisionTime" - } - }, - "Provisioned": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "Provisioned", - "smithy.api#documentation": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "smithy.api#xmlName": "provisioned" - } - }, - "RequestTime": { - "target": "com.amazonaws.ec2#DateTime", - "traits": { - "aws.protocols#ec2QueryName": "RequestTime", - "smithy.api#documentation": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "smithy.api#xmlName": "requestTime" - } - }, - "Requested": { - "target": "com.amazonaws.ec2#String", + "IncludeAllTagsOfInstance": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Requested", - "smithy.api#documentation": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "smithy.api#xmlName": "requested" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to register all tag keys in the current Region. Specify true \n \tto register all tag keys.

" } }, - "Status": { - "target": "com.amazonaws.ec2#String", + "InstanceTagKeys": { + "target": "com.amazonaws.ec2#InstanceTagKeySet", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "smithy.api#xmlName": "status" + "smithy.api#documentation": "

The tag keys to register.

", + "smithy.api#xmlName": "InstanceTagKey" } } }, "traits": { - "smithy.api#documentation": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

" + "smithy.api#documentation": "

Information about the tag keys to register for the current Region. You can either specify \n \tindividual tag keys or register all tag keys in the current Region. You must specify either\n \tIncludeAllTagsOfInstance or InstanceTagKeys in the request

" } }, - "com.amazonaws.ec2#PtrUpdateStatus": { - "type": "structure", - "members": { - "Value": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "Value", - "smithy.api#documentation": "

The value for the PTR record update.

", - "smithy.api#xmlName": "value" - } - }, - "Status": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The status of the PTR record update.

", - "smithy.api#xmlName": "status" - } - }, - "Reason": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "Reason", - "smithy.api#documentation": "

The reason for the PTR record update.

", - "smithy.api#xmlName": "reason" - } - } + "com.amazonaws.ec2#RegisterTransitGatewayMulticastGroupMembers": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#RegisterTransitGatewayMulticastGroupMembersRequest" + }, + "output": { + "target": "com.amazonaws.ec2#RegisterTransitGatewayMulticastGroupMembersResult" }, "traits": { - "smithy.api#documentation": "

The status of an updated pointer (PTR) record for an Elastic IP address.

" - } - }, - "com.amazonaws.ec2#PublicIpAddress": { - "type": "string" - }, - "com.amazonaws.ec2#PublicIpStringList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#xmlName": "PublicIp" - } + "smithy.api#documentation": "

Registers members (network interfaces) with the transit gateway multicast group. A member is a network interface associated\n with a supported EC2 instance that receives multicast traffic. For information about\n supported instances, see Multicast\n Consideration in Amazon VPC Transit Gateways.

\n

After you add the members, use SearchTransitGatewayMulticastGroups to verify that the members were added\n to the transit gateway multicast group.

" } }, - "com.amazonaws.ec2#PublicIpv4Pool": { + "com.amazonaws.ec2#RegisterTransitGatewayMulticastGroupMembersRequest": { "type": "structure", "members": { - "PoolId": { - "target": "com.amazonaws.ec2#String", + "TransitGatewayMulticastDomainId": { + "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainId", "traits": { - "aws.protocols#ec2QueryName": "PoolId", - "smithy.api#documentation": "

The ID of the address pool.

", - "smithy.api#xmlName": "poolId" + "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

" } }, - "Description": { + "GroupIpAddress": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

A description of the address pool.

", - "smithy.api#xmlName": "description" - } - }, - "PoolAddressRanges": { - "target": "com.amazonaws.ec2#PublicIpv4PoolRangeSet", - "traits": { - "aws.protocols#ec2QueryName": "PoolAddressRangeSet", - "smithy.api#documentation": "

The address ranges.

", - "smithy.api#xmlName": "poolAddressRangeSet" + "smithy.api#documentation": "

The IP address assigned to the transit gateway multicast group.

" } }, - "TotalAddressCount": { - "target": "com.amazonaws.ec2#Integer", + "NetworkInterfaceIds": { + "target": "com.amazonaws.ec2#TransitGatewayNetworkInterfaceIdList", "traits": { - "aws.protocols#ec2QueryName": "TotalAddressCount", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The total number of addresses.

", - "smithy.api#xmlName": "totalAddressCount" + "smithy.api#documentation": "

The group members' network interface IDs to register with the transit gateway multicast group.

" } }, - "TotalAvailableAddressCount": { - "target": "com.amazonaws.ec2#Integer", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "TotalAvailableAddressCount", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The total number of available addresses.

", - "smithy.api#xmlName": "totalAvailableAddressCount" - } - }, - "NetworkBorderGroup": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "NetworkBorderGroup", - "smithy.api#documentation": "

The name of the location from which the address pool is advertised. \n A network border group is a unique set of Availability Zones or Local Zones \n from where Amazon Web Services advertises public IP addresses.

", - "smithy.api#xmlName": "networkBorderGroup" - } - }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", - "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags for the address pool.

", - "smithy.api#xmlName": "tagSet" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Describes an IPv4 address pool.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#PublicIpv4PoolIdStringList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Ipv4PoolEc2Id", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#RegisterTransitGatewayMulticastGroupMembersResult": { + "type": "structure", + "members": { + "RegisteredMulticastGroupMembers": { + "target": "com.amazonaws.ec2#TransitGatewayMulticastRegisteredGroupMembers", + "traits": { + "aws.protocols#ec2QueryName": "RegisteredMulticastGroupMembers", + "smithy.api#documentation": "

Information about the registered transit gateway multicast group members.

", + "smithy.api#xmlName": "registeredMulticastGroupMembers" + } } } }, - "com.amazonaws.ec2#PublicIpv4PoolRange": { + "com.amazonaws.ec2#RegisterTransitGatewayMulticastGroupSources": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#RegisterTransitGatewayMulticastGroupSourcesRequest" + }, + "output": { + "target": "com.amazonaws.ec2#RegisterTransitGatewayMulticastGroupSourcesResult" + }, + "traits": { + "smithy.api#documentation": "

Registers sources (network interfaces) with the specified transit gateway multicast group.

\n

A multicast source is a network interface attached to a supported instance that sends\n multicast traffic. For information about supported instances, see Multicast\n Considerations in Amazon VPC Transit Gateways.

\n

After you add the source, use SearchTransitGatewayMulticastGroups to verify that the source was added to the multicast\n group.

" + } + }, + "com.amazonaws.ec2#RegisterTransitGatewayMulticastGroupSourcesRequest": { "type": "structure", "members": { - "FirstAddress": { - "target": "com.amazonaws.ec2#String", + "TransitGatewayMulticastDomainId": { + "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainId", "traits": { - "aws.protocols#ec2QueryName": "FirstAddress", - "smithy.api#documentation": "

The first IP address in the range.

", - "smithy.api#xmlName": "firstAddress" + "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

" } }, - "LastAddress": { + "GroupIpAddress": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "LastAddress", - "smithy.api#documentation": "

The last IP address in the range.

", - "smithy.api#xmlName": "lastAddress" + "smithy.api#documentation": "

The IP address assigned to the transit gateway multicast group.

" } }, - "AddressCount": { - "target": "com.amazonaws.ec2#Integer", + "NetworkInterfaceIds": { + "target": "com.amazonaws.ec2#TransitGatewayNetworkInterfaceIdList", "traits": { - "aws.protocols#ec2QueryName": "AddressCount", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of addresses in the range.

", - "smithy.api#xmlName": "addressCount" + "smithy.api#documentation": "

The group sources' network interface IDs to register with the transit gateway multicast group.

" } }, - "AvailableAddressCount": { - "target": "com.amazonaws.ec2#Integer", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "AvailableAddressCount", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of available addresses in the range.

", - "smithy.api#xmlName": "availableAddressCount" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Describes an address range of an IPv4 address pool.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#PublicIpv4PoolRangeSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#PublicIpv4PoolRange", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#RegisterTransitGatewayMulticastGroupSourcesResult": { + "type": "structure", + "members": { + "RegisteredMulticastGroupSources": { + "target": "com.amazonaws.ec2#TransitGatewayMulticastRegisteredGroupSources", + "traits": { + "aws.protocols#ec2QueryName": "RegisteredMulticastGroupSources", + "smithy.api#documentation": "

Information about the transit gateway multicast group sources.

", + "smithy.api#xmlName": "registeredMulticastGroupSources" + } } } }, - "com.amazonaws.ec2#PublicIpv4PoolSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#PublicIpv4Pool", - "traits": { - "smithy.api#xmlName": "item" - } + "com.amazonaws.ec2#RejectTransitGatewayMulticastDomainAssociations": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#RejectTransitGatewayMulticastDomainAssociationsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#RejectTransitGatewayMulticastDomainAssociationsResult" + }, + "traits": { + "smithy.api#documentation": "

Rejects a request to associate cross-account subnets with a transit gateway multicast domain.

" } }, - "com.amazonaws.ec2#Purchase": { + "com.amazonaws.ec2#RejectTransitGatewayMulticastDomainAssociationsRequest": { "type": "structure", "members": { - "CurrencyCode": { - "target": "com.amazonaws.ec2#CurrencyCodeValues", - "traits": { - "aws.protocols#ec2QueryName": "CurrencyCode", - "smithy.api#documentation": "

The currency in which the UpfrontPrice and HourlyPrice\n amounts are specified. At this time, the only supported currency is\n USD.

", - "smithy.api#xmlName": "currencyCode" - } - }, - "Duration": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "aws.protocols#ec2QueryName": "Duration", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The duration of the reservation's term in seconds.

", - "smithy.api#xmlName": "duration" - } - }, - "HostIdSet": { - "target": "com.amazonaws.ec2#ResponseHostIdSet", - "traits": { - "aws.protocols#ec2QueryName": "HostIdSet", - "smithy.api#documentation": "

The IDs of the Dedicated Hosts associated with the reservation.

", - "smithy.api#xmlName": "hostIdSet" - } - }, - "HostReservationId": { - "target": "com.amazonaws.ec2#HostReservationId", - "traits": { - "aws.protocols#ec2QueryName": "HostReservationId", - "smithy.api#documentation": "

The ID of the reservation.

", - "smithy.api#xmlName": "hostReservationId" - } - }, - "HourlyPrice": { - "target": "com.amazonaws.ec2#String", + "TransitGatewayMulticastDomainId": { + "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainId", "traits": { - "aws.protocols#ec2QueryName": "HourlyPrice", - "smithy.api#documentation": "

The hourly price of the reservation per hour.

", - "smithy.api#xmlName": "hourlyPrice" + "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

" } }, - "InstanceFamily": { - "target": "com.amazonaws.ec2#String", + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", "traits": { - "aws.protocols#ec2QueryName": "InstanceFamily", - "smithy.api#documentation": "

The instance family on the Dedicated Host that the reservation can be associated\n with.

", - "smithy.api#xmlName": "instanceFamily" + "smithy.api#documentation": "

The ID of the transit gateway attachment.

" } }, - "PaymentOption": { - "target": "com.amazonaws.ec2#PaymentOption", + "SubnetIds": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "aws.protocols#ec2QueryName": "PaymentOption", - "smithy.api#documentation": "

The payment option for the reservation.

", - "smithy.api#xmlName": "paymentOption" + "smithy.api#documentation": "

The IDs of the subnets to associate with the transit gateway multicast domain.

" } }, - "UpfrontPrice": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "UpfrontPrice", - "smithy.api#documentation": "

The upfront price of the reservation.

", - "smithy.api#xmlName": "upfrontPrice" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Describes the result of the purchase.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#PurchaseHostReservation": { + "com.amazonaws.ec2#RejectTransitGatewayMulticastDomainAssociationsResult": { + "type": "structure", + "members": { + "Associations": { + "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainAssociations", + "traits": { + "aws.protocols#ec2QueryName": "Associations", + "smithy.api#documentation": "

Information about the multicast domain associations.

", + "smithy.api#xmlName": "associations" + } + } + } + }, + "com.amazonaws.ec2#RejectTransitGatewayPeeringAttachment": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#PurchaseHostReservationRequest" + "target": "com.amazonaws.ec2#RejectTransitGatewayPeeringAttachmentRequest" }, "output": { - "target": "com.amazonaws.ec2#PurchaseHostReservationResult" + "target": "com.amazonaws.ec2#RejectTransitGatewayPeeringAttachmentResult" }, "traits": { - "smithy.api#documentation": "

Purchase a reservation with configurations that match those of your Dedicated Host.\n You must have active Dedicated Hosts in your account before you purchase a reservation.\n This action results in the specified reservation being purchased and charged to your\n account.

" + "smithy.api#documentation": "

Rejects a transit gateway peering attachment request.

" } }, - "com.amazonaws.ec2#PurchaseHostReservationRequest": { + "com.amazonaws.ec2#RejectTransitGatewayPeeringAttachmentRequest": { "type": "structure", "members": { - "ClientToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

" - } - }, - "CurrencyCode": { - "target": "com.amazonaws.ec2#CurrencyCodeValues", - "traits": { - "smithy.api#documentation": "

The currency in which the totalUpfrontPrice, LimitPrice, and\n totalHourlyPrice amounts are specified. At this time, the only\n supported currency is USD.

" - } - }, - "HostIdSet": { - "target": "com.amazonaws.ec2#RequestHostIdSet", + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IDs of the Dedicated Hosts with which the reservation will be associated.

", + "smithy.api#documentation": "

The ID of the transit gateway peering attachment.

", "smithy.api#required": {} } }, - "LimitPrice": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The specified limit is checked against the total upfront cost of the reservation\n (calculated as the offering's upfront cost multiplied by the host count). If the total\n upfront cost is greater than the specified price limit, the request fails. This is used\n to ensure that the purchase does not exceed the expected upfront cost of the purchase.\n At this time, the only supported currency is USD. For example, to indicate\n a limit price of USD 100, specify 100.00.

" - } - }, - "OfferingId": { - "target": "com.amazonaws.ec2#OfferingId", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the offering.

", - "smithy.api#required": {} - } - }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", - "traits": { - "smithy.api#documentation": "

The tags to apply to the Dedicated Host Reservation during purchase.

", - "smithy.api#xmlName": "TagSpecification" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#PurchaseHostReservationResult": { + "com.amazonaws.ec2#RejectTransitGatewayPeeringAttachmentResult": { "type": "structure", "members": { - "ClientToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "ClientToken", - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

", - "smithy.api#xmlName": "clientToken" - } - }, - "CurrencyCode": { - "target": "com.amazonaws.ec2#CurrencyCodeValues", - "traits": { - "aws.protocols#ec2QueryName": "CurrencyCode", - "smithy.api#documentation": "

The currency in which the totalUpfrontPrice and\n totalHourlyPrice amounts are specified. At this time, the only\n supported currency is USD.

", - "smithy.api#xmlName": "currencyCode" - } - }, - "Purchase": { - "target": "com.amazonaws.ec2#PurchaseSet", - "traits": { - "aws.protocols#ec2QueryName": "Purchase", - "smithy.api#documentation": "

Describes the details of the purchase.

", - "smithy.api#xmlName": "purchase" - } - }, - "TotalHourlyPrice": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "TotalHourlyPrice", - "smithy.api#documentation": "

The total hourly price of the reservation calculated per hour.

", - "smithy.api#xmlName": "totalHourlyPrice" - } - }, - "TotalUpfrontPrice": { - "target": "com.amazonaws.ec2#String", + "TransitGatewayPeeringAttachment": { + "target": "com.amazonaws.ec2#TransitGatewayPeeringAttachment", "traits": { - "aws.protocols#ec2QueryName": "TotalUpfrontPrice", - "smithy.api#documentation": "

The total amount charged to your account when you purchase the reservation.

", - "smithy.api#xmlName": "totalUpfrontPrice" + "aws.protocols#ec2QueryName": "TransitGatewayPeeringAttachment", + "smithy.api#documentation": "

The transit gateway peering attachment.

", + "smithy.api#xmlName": "transitGatewayPeeringAttachment" } } } }, - "com.amazonaws.ec2#PurchaseRequest": { + "com.amazonaws.ec2#RejectTransitGatewayVpcAttachment": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#RejectTransitGatewayVpcAttachmentRequest" + }, + "output": { + "target": "com.amazonaws.ec2#RejectTransitGatewayVpcAttachmentResult" + }, + "traits": { + "smithy.api#documentation": "

Rejects a request to attach a VPC to a transit gateway.

\n

The VPC attachment must be in the pendingAcceptance state.\n Use DescribeTransitGatewayVpcAttachments to view your pending VPC attachment requests.\n Use AcceptTransitGatewayVpcAttachment to accept a VPC attachment request.

" + } + }, + "com.amazonaws.ec2#RejectTransitGatewayVpcAttachmentRequest": { "type": "structure", - "members": { - "InstanceCount": { - "target": "com.amazonaws.ec2#Integer", + "members": { + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of instances.

", + "smithy.api#documentation": "

The ID of the attachment.

", "smithy.api#required": {} } }, - "PurchaseToken": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The purchase token.

", - "smithy.api#required": {} + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Describes a request to purchase Scheduled Instances.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#PurchaseRequestSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#PurchaseRequest", - "traits": { - "smithy.api#xmlName": "PurchaseRequest" - } - }, - "traits": { - "smithy.api#length": { - "min": 1 + "com.amazonaws.ec2#RejectTransitGatewayVpcAttachmentResult": { + "type": "structure", + "members": { + "TransitGatewayVpcAttachment": { + "target": "com.amazonaws.ec2#TransitGatewayVpcAttachment", + "traits": { + "aws.protocols#ec2QueryName": "TransitGatewayVpcAttachment", + "smithy.api#documentation": "

Information about the attachment.

", + "smithy.api#xmlName": "transitGatewayVpcAttachment" + } } } }, - "com.amazonaws.ec2#PurchaseReservedInstancesOffering": { + "com.amazonaws.ec2#RejectVpcEndpointConnections": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#PurchaseReservedInstancesOfferingRequest" + "target": "com.amazonaws.ec2#RejectVpcEndpointConnectionsRequest" }, "output": { - "target": "com.amazonaws.ec2#PurchaseReservedInstancesOfferingResult" + "target": "com.amazonaws.ec2#RejectVpcEndpointConnectionsResult" }, "traits": { - "smithy.api#documentation": "

Purchases a Reserved Instance for use with your account. With Reserved Instances, you pay a lower \n hourly rate compared to On-Demand instance pricing.

\n\t\t

Use DescribeReservedInstancesOfferings to get a list of Reserved Instance offerings \n\t\t\tthat match your specifications. After you've purchased a Reserved Instance, you can check for your\n\t\t\tnew Reserved Instance with DescribeReservedInstances.

\n

To queue a purchase for a future date and time, specify a purchase time. If you do not specify a\n purchase time, the default is the current time.

\n \t

For more information, see Reserved Instances and \n \t Reserved Instance Marketplace \n \t in the Amazon EC2 User Guide.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" + "smithy.api#documentation": "

Rejects VPC endpoint connection requests to your VPC endpoint service.

" } }, - "com.amazonaws.ec2#PurchaseReservedInstancesOfferingRequest": { + "com.amazonaws.ec2#RejectVpcEndpointConnectionsRequest": { "type": "structure", "members": { - "InstanceCount": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of Reserved Instances to purchase.

", - "smithy.api#required": {} - } - }, - "ReservedInstancesOfferingId": { - "target": "com.amazonaws.ec2#ReservedInstancesOfferingId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Reserved Instance offering to purchase.

", - "smithy.api#required": {} - } - }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "LimitPrice": { - "target": "com.amazonaws.ec2#ReservedInstanceLimitPrice", + "ServiceId": { + "target": "com.amazonaws.ec2#VpcEndpointServiceId", "traits": { - "aws.protocols#ec2QueryName": "LimitPrice", - "smithy.api#documentation": "

Specified for Reserved Instance Marketplace offerings to limit the total order and ensure that the Reserved Instances are not purchased at unexpected prices.

", - "smithy.api#xmlName": "limitPrice" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the service.

", + "smithy.api#required": {} } }, - "PurchaseTime": { - "target": "com.amazonaws.ec2#DateTime", + "VpcEndpointIds": { + "target": "com.amazonaws.ec2#VpcEndpointIdList", "traits": { - "smithy.api#documentation": "

The time at which to purchase the Reserved Instance, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The IDs of the VPC endpoints.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "VpcEndpointId" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for PurchaseReservedInstancesOffering.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#PurchaseReservedInstancesOfferingResult": { + "com.amazonaws.ec2#RejectVpcEndpointConnectionsResult": { "type": "structure", "members": { - "ReservedInstancesId": { - "target": "com.amazonaws.ec2#String", + "Unsuccessful": { + "target": "com.amazonaws.ec2#UnsuccessfulItemSet", "traits": { - "aws.protocols#ec2QueryName": "ReservedInstancesId", - "smithy.api#documentation": "

The IDs of the purchased Reserved Instances. If your purchase crosses into a discounted\n pricing tier, the final Reserved Instances IDs might change. For more information, see Crossing\n pricing tiers in the Amazon Elastic Compute Cloud User Guide.

", - "smithy.api#xmlName": "reservedInstancesId" + "aws.protocols#ec2QueryName": "Unsuccessful", + "smithy.api#documentation": "

Information about the endpoints that were not rejected, if applicable.

", + "smithy.api#xmlName": "unsuccessful" } } - }, - "traits": { - "smithy.api#documentation": "

Contains the output of PurchaseReservedInstancesOffering.

" } }, - "com.amazonaws.ec2#PurchaseScheduledInstances": { + "com.amazonaws.ec2#RejectVpcPeeringConnection": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#PurchaseScheduledInstancesRequest" + "target": "com.amazonaws.ec2#RejectVpcPeeringConnectionRequest" }, "output": { - "target": "com.amazonaws.ec2#PurchaseScheduledInstancesResult" + "target": "com.amazonaws.ec2#RejectVpcPeeringConnectionResult" }, "traits": { - "smithy.api#documentation": "\n

You can no longer purchase Scheduled Instances.

\n
\n

Purchases the Scheduled Instances with the specified schedule.

\n

Scheduled Instances enable you to purchase Amazon EC2 compute capacity by the hour for a one-year term.\n Before you can purchase a Scheduled Instance, you must call DescribeScheduledInstanceAvailability\n to check for available schedules and obtain a purchase token. After you purchase a Scheduled Instance,\n you must call RunScheduledInstances during each scheduled time period.

\n

After you purchase a Scheduled Instance, you can't cancel, modify, or resell your purchase.

" + "smithy.api#documentation": "

Rejects a VPC peering connection request. The VPC peering connection must be in the\n\t\t\t\tpending-acceptance state. Use the DescribeVpcPeeringConnections request\n\t\t\tto view your outstanding VPC peering connection requests. To delete an active VPC peering\n\t\t\tconnection, or to delete a VPC peering connection request that you initiated, use\tDeleteVpcPeeringConnection.

" } }, - "com.amazonaws.ec2#PurchaseScheduledInstancesRequest": { + "com.amazonaws.ec2#RejectVpcPeeringConnectionRequest": { "type": "structure", "members": { - "ClientToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that ensures the idempotency of the request. \n For more information, see Ensuring Idempotency.

", - "smithy.api#idempotencyToken": {} - } - }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "PurchaseRequests": { - "target": "com.amazonaws.ec2#PurchaseRequestSet", + "VpcPeeringConnectionId": { + "target": "com.amazonaws.ec2#VpcPeeringConnectionId", "traits": { + "aws.protocols#ec2QueryName": "VpcPeeringConnectionId", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The purchase requests.

", + "smithy.api#documentation": "

The ID of the VPC peering connection.

", "smithy.api#required": {}, - "smithy.api#xmlName": "PurchaseRequest" + "smithy.api#xmlName": "vpcPeeringConnectionId" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for PurchaseScheduledInstances.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#PurchaseScheduledInstancesResult": { + "com.amazonaws.ec2#RejectVpcPeeringConnectionResult": { "type": "structure", "members": { - "ScheduledInstanceSet": { - "target": "com.amazonaws.ec2#PurchasedScheduledInstanceSet", + "Return": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "ScheduledInstanceSet", - "smithy.api#documentation": "

Information about the Scheduled Instances.

", - "smithy.api#xmlName": "scheduledInstanceSet" - } - } - }, - "traits": { - "smithy.api#documentation": "

Contains the output of PurchaseScheduledInstances.

" - } - }, - "com.amazonaws.ec2#PurchaseSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Purchase", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#PurchasedScheduledInstanceSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ScheduledInstance", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#RIProductDescription": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "Linux/UNIX" - }, - { - "value": "Linux/UNIX (Amazon VPC)" - }, - { - "value": "Windows" - }, - { - "value": "Windows (Amazon VPC)" + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "smithy.api#xmlName": "return" } - ] - } - }, - "com.amazonaws.ec2#RamdiskId": { - "type": "string" - }, - "com.amazonaws.ec2#ReasonCodesList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ReportInstanceReasonCodes", - "traits": { - "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#RebootInstances": { + "com.amazonaws.ec2#ReleaseAddress": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#RebootInstancesRequest" + "target": "com.amazonaws.ec2#ReleaseAddressRequest" }, "output": { "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Requests a reboot of the specified instances. This operation is asynchronous; it only\n queues a request to reboot the specified instances. The operation succeeds if the\n instances are valid and belong to you. Requests to reboot terminated instances are\n ignored.

\n

If an instance does not cleanly shut down within a few minutes, Amazon EC2 performs a\n hard reboot.

\n

For more information about troubleshooting, see Troubleshoot an unreachable\n instance in the Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Releases the specified Elastic IP address.

\n

[EC2-Classic, default VPC] Releasing an Elastic IP address automatically disassociates it\n\t\t\t\tfrom any instance that it's associated with. To disassociate an Elastic IP address without\n\t\t\t\treleasing it, use DisassociateAddress.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
\n

[Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic IP address\n\t\t\t before you can release it. Otherwise, Amazon EC2 returns an error (InvalidIPAddress.InUse).

\n

After releasing an Elastic IP address, it is released to the IP address pool. \n Be sure to update your DNS records and any servers or devices that communicate with the address. \n If you attempt to release an Elastic IP address that you already released, you'll get an\n AuthFailure error if the address is already allocated to another Amazon Web Services account.

\n

[EC2-VPC] After you release an Elastic IP address for use in a VPC, you might be able to recover it.\n For more information, see AllocateAddress.

\n

For more\n information, see Elastic IP\n Addresses in the Amazon Elastic Compute Cloud User Guide.

" } }, - "com.amazonaws.ec2#RebootInstancesRequest": { + "com.amazonaws.ec2#ReleaseAddressRequest": { "type": "structure", "members": { - "InstanceIds": { - "target": "com.amazonaws.ec2#InstanceIdStringList", + "AllocationId": { + "target": "com.amazonaws.ec2#AllocationId", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The instance IDs.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "InstanceId" + "smithy.api#documentation": "

[EC2-VPC] The allocation ID. Required for EC2-VPC.

" + } + }, + "PublicIp": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

[EC2-Classic] The Elastic IP address. Required for EC2-Classic.

" + } + }, + "NetworkBorderGroup": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises\n IP addresses.

\n

If you provide an incorrect network border group, you receive an InvalidAddress.NotFound error.

\n

You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 classic, you \n receive an InvalidParameterCombination error.

" } }, "DryRun": { @@ -71778,206 +77501,316 @@ "smithy.api#xmlName": "dryRun" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#RecurringCharge": { + "com.amazonaws.ec2#ReleaseHosts": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ReleaseHostsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ReleaseHostsResult" + }, + "traits": { + "smithy.api#documentation": "

When you no longer want to use an On-Demand Dedicated Host it can be released.\n On-Demand billing is stopped and the host goes into released state. The\n host ID of Dedicated Hosts that have been released can no longer be specified in another\n request, for example, to modify the host. You must stop or terminate all instances on a\n host before it can be released.

\n

When Dedicated Hosts are released, it may take some time for them to stop counting\n toward your limit and you may receive capacity errors when trying to allocate new\n Dedicated Hosts. Wait a few minutes and then try again.

\n

Released hosts still appear in a DescribeHosts response.

" + } + }, + "com.amazonaws.ec2#ReleaseHostsRequest": { "type": "structure", "members": { - "Amount": { - "target": "com.amazonaws.ec2#Double", + "HostIds": { + "target": "com.amazonaws.ec2#RequestHostIdList", "traits": { - "aws.protocols#ec2QueryName": "Amount", + "aws.protocols#ec2QueryName": "HostId", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The amount of the recurring charge.

", - "smithy.api#xmlName": "amount" - } - }, - "Frequency": { - "target": "com.amazonaws.ec2#RecurringChargeFrequency", - "traits": { - "aws.protocols#ec2QueryName": "Frequency", - "smithy.api#documentation": "

The frequency of the recurring charge.

", - "smithy.api#xmlName": "frequency" + "smithy.api#documentation": "

The IDs of the Dedicated Hosts to release.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "hostId" } } }, "traits": { - "smithy.api#documentation": "

Describes a recurring charge.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#RecurringChargeFrequency": { - "type": "enum", + "com.amazonaws.ec2#ReleaseHostsResult": { + "type": "structure", "members": { - "Hourly": { - "target": "smithy.api#Unit", + "Successful": { + "target": "com.amazonaws.ec2#ResponseHostIdList", "traits": { - "smithy.api#enumValue": "Hourly" + "aws.protocols#ec2QueryName": "Successful", + "smithy.api#documentation": "

The IDs of the Dedicated Hosts that were successfully released.

", + "smithy.api#xmlName": "successful" + } + }, + "Unsuccessful": { + "target": "com.amazonaws.ec2#UnsuccessfulItemList", + "traits": { + "aws.protocols#ec2QueryName": "Unsuccessful", + "smithy.api#documentation": "

The IDs of the Dedicated Hosts that could not be released, including an error\n message.

", + "smithy.api#xmlName": "unsuccessful" } } } }, - "com.amazonaws.ec2#RecurringChargesList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#RecurringCharge", - "traits": { - "smithy.api#xmlName": "item" - } + "com.amazonaws.ec2#ReleaseIpamPoolAllocation": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ReleaseIpamPoolAllocationRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ReleaseIpamPoolAllocationResult" + }, + "traits": { + "smithy.api#documentation": "

Release an allocation within an IPAM pool. You can only use this action to release manual allocations. To remove an allocation for a resource without deleting the resource, set its monitored state to false using ModifyIpamResourceCidr. For more information, see Release an allocation in the Amazon VPC IPAM User Guide.\n

" } }, - "com.amazonaws.ec2#ReferencedSecurityGroup": { + "com.amazonaws.ec2#ReleaseIpamPoolAllocationRequest": { "type": "structure", "members": { - "GroupId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "GroupId", - "smithy.api#documentation": "

The ID of the security group.

", - "smithy.api#xmlName": "groupId" - } - }, - "PeeringStatus": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "PeeringStatus", - "smithy.api#documentation": "

The status of a VPC peering connection, if applicable.

", - "smithy.api#xmlName": "peeringStatus" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "UserId": { - "target": "com.amazonaws.ec2#String", + "IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", "traits": { - "aws.protocols#ec2QueryName": "UserId", - "smithy.api#documentation": "

The Amazon Web Services account ID.

", - "smithy.api#xmlName": "userId" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the IPAM pool which contains the allocation you want to release.

", + "smithy.api#required": {} } }, - "VpcId": { + "Cidr": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "VpcId", - "smithy.api#documentation": "

The ID of the VPC.

", - "smithy.api#xmlName": "vpcId" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The CIDR of the allocation you want to release.

", + "smithy.api#required": {} } }, - "VpcPeeringConnectionId": { - "target": "com.amazonaws.ec2#String", + "IpamPoolAllocationId": { + "target": "com.amazonaws.ec2#IpamPoolAllocationId", "traits": { - "aws.protocols#ec2QueryName": "VpcPeeringConnectionId", - "smithy.api#documentation": "

The ID of the VPC peering connection.

", - "smithy.api#xmlName": "vpcPeeringConnectionId" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the allocation.

", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Describes the security group that is referenced in the security group rule.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#Region": { + "com.amazonaws.ec2#ReleaseIpamPoolAllocationResult": { "type": "structure", "members": { - "Endpoint": { - "target": "com.amazonaws.ec2#String", + "Success": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "RegionEndpoint", - "smithy.api#documentation": "

The Region service endpoint.

", - "smithy.api#xmlName": "regionEndpoint" + "aws.protocols#ec2QueryName": "Success", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates if the release was successful.

", + "smithy.api#xmlName": "success" } - }, + } + } + }, + "com.amazonaws.ec2#RemoveIpamOperatingRegion": { + "type": "structure", + "members": { "RegionName": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "RegionName", - "smithy.api#documentation": "

The name of the Region.

", - "smithy.api#xmlName": "regionName" - } - }, - "OptInStatus": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "OptInStatus", - "smithy.api#documentation": "

The Region opt-in status. The possible values are opt-in-not-required, opted-in, and \n not-opted-in.

", - "smithy.api#xmlName": "optInStatus" + "smithy.api#documentation": "

The name of the operating Region you want to remove.

" } } }, "traits": { - "smithy.api#documentation": "

Describes a Region.

" + "smithy.api#documentation": "

Remove an operating Region from an IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

\n

For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide\n

" } }, - "com.amazonaws.ec2#RegionList": { + "com.amazonaws.ec2#RemoveIpamOperatingRegionSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#Region", - "traits": { - "smithy.api#xmlName": "item" + "target": "com.amazonaws.ec2#RemoveIpamOperatingRegion" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 50 } } }, - "com.amazonaws.ec2#RegionNameStringList": { + "com.amazonaws.ec2#RemovePrefixListEntries": { "type": "list", "member": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#xmlName": "RegionName" + "target": "com.amazonaws.ec2#RemovePrefixListEntry" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 100 } } }, - "com.amazonaws.ec2#RegionNames": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#String" + "com.amazonaws.ec2#RemovePrefixListEntry": { + "type": "structure", + "members": { + "Cidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The CIDR block.

", + "smithy.api#required": {} + } + } }, "traits": { - "smithy.api#length": { - "min": 0, - "max": 10 + "smithy.api#documentation": "

An entry for a prefix list.

" + } + }, + "com.amazonaws.ec2#ReplaceIamInstanceProfileAssociation": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ReplaceIamInstanceProfileAssociationRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ReplaceIamInstanceProfileAssociationResult" + }, + "traits": { + "smithy.api#documentation": "

Replaces an IAM instance profile for the specified running instance. You can use\n this action to change the IAM instance profile that's associated with an instance\n without having to disassociate the existing IAM instance profile first.

\n

Use DescribeIamInstanceProfileAssociations to get the association\n ID.

" + } + }, + "com.amazonaws.ec2#ReplaceIamInstanceProfileAssociationRequest": { + "type": "structure", + "members": { + "IamInstanceProfile": { + "target": "com.amazonaws.ec2#IamInstanceProfileSpecification", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The IAM instance profile.

", + "smithy.api#required": {} + } + }, + "AssociationId": { + "target": "com.amazonaws.ec2#IamInstanceProfileAssociationId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the existing IAM instance profile association.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#ReplaceIamInstanceProfileAssociationResult": { + "type": "structure", + "members": { + "IamInstanceProfileAssociation": { + "target": "com.amazonaws.ec2#IamInstanceProfileAssociation", + "traits": { + "aws.protocols#ec2QueryName": "IamInstanceProfileAssociation", + "smithy.api#documentation": "

Information about the IAM instance profile association.

", + "smithy.api#xmlName": "iamInstanceProfileAssociation" + } + } + } + }, + "com.amazonaws.ec2#ReplaceNetworkAclAssociation": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ReplaceNetworkAclAssociationRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ReplaceNetworkAclAssociationResult" + }, + "traits": { + "smithy.api#documentation": "

Changes which network ACL a subnet is associated with. By default when you create a\n\t\t\tsubnet, it's automatically associated with the default network ACL. For more\n\t\t\tinformation, see Network\n\t\t\tACLs in the Amazon Virtual Private Cloud User Guide.

\n

This is an idempotent operation.

" + } + }, + "com.amazonaws.ec2#ReplaceNetworkAclAssociationRequest": { + "type": "structure", + "members": { + "AssociationId": { + "target": "com.amazonaws.ec2#NetworkAclAssociationId", + "traits": { + "aws.protocols#ec2QueryName": "AssociationId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the current association between the original network ACL and the subnet.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "associationId" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + }, + "NetworkAclId": { + "target": "com.amazonaws.ec2#NetworkAclId", + "traits": { + "aws.protocols#ec2QueryName": "NetworkAclId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the new network ACL to associate with the subnet.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "networkAclId" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#ReplaceNetworkAclAssociationResult": { + "type": "structure", + "members": { + "NewAssociationId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NewAssociationId", + "smithy.api#documentation": "

The ID of the new association.

", + "smithy.api#xmlName": "newAssociationId" + } } } }, - "com.amazonaws.ec2#RegisterImage": { + "com.amazonaws.ec2#ReplaceNetworkAclEntry": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#RegisterImageRequest" + "target": "com.amazonaws.ec2#ReplaceNetworkAclEntryRequest" }, "output": { - "target": "com.amazonaws.ec2#RegisterImageResult" + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Registers an AMI. When you're creating an AMI, this is the final step you must complete\n before you can launch an instance from the AMI. For more information about creating AMIs, see\n Creating your\n own AMIs in the Amazon Elastic Compute Cloud User Guide.

\n \n \t

For Amazon EBS-backed instances, CreateImage creates and registers the AMI\n in a single request, so you don't have to register the AMI yourself. We recommend that you\n always use CreateImage unless you have a specific reason to use\n RegisterImage.

\n
\n\n

If needed, you can deregister an AMI at any time. Any modifications you make to an AMI backed by an instance store volume invalidates its registration. \n If you make changes to an image, deregister the previous image and register the new image.

\n\n

\n Register a snapshot of a root device volume\n

\n \t

You can use RegisterImage to create an Amazon EBS-backed Linux AMI from\n a snapshot of a root device volume. You specify the snapshot using a block device mapping.\n You can't set the encryption state of the volume using the block device mapping. If the \n snapshot is encrypted, or encryption by default is enabled, the root volume of an instance \n launched from the AMI is encrypted.

\n

For more information, see Create a Linux AMI from a snapshot and Use encryption with Amazon EBS-backed AMIs\n in the Amazon Elastic Compute Cloud User Guide.

\n \n \t

\n Amazon Web Services Marketplace product codes\n

\n \t

If any snapshots have Amazon Web Services Marketplace product codes, they are copied to the new\n AMI.

\n

Windows and some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE\n Linux Enterprise Server (SLES), use the Amazon EC2 billing product code associated with an AMI to\n verify the subscription status for package updates. To create a new AMI for operating systems\n that require a billing product code, instead of registering the AMI, do the following to\n preserve the billing product code association:

\n
    \n
  1. \n

    Launch an instance from an existing AMI with that billing product code.

    \n
  2. \n
  3. \n

    Customize the instance.

    \n
  4. \n
  5. \n

    Create an AMI from the instance using CreateImage.

    \n
  6. \n
\n

If you purchase a Reserved Instance to apply to an On-Demand Instance that was launched\n from an AMI with a billing product code, make sure that the Reserved Instance has the matching\n billing product code. If you purchase a Reserved Instance without the matching billing product\n code, the Reserved Instance will not be applied to the On-Demand Instance. For information\n about how to obtain the platform details and billing information of an AMI, see Understanding AMI \n \tbilling in the Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Replaces an entry (rule) in a network ACL. For more information, see Network ACLs in the\n\t\t\t\tAmazon Virtual Private Cloud User Guide.

" } }, - "com.amazonaws.ec2#RegisterImageRequest": { + "com.amazonaws.ec2#ReplaceNetworkAclEntryRequest": { "type": "structure", "members": { - "ImageLocation": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The full path to your AMI manifest in Amazon S3 storage. The specified bucket must have the \n \t\taws-exec-read canned access control list (ACL) to ensure that it can be accessed \n \t\tby Amazon EC2. For more information, see Canned ACLs in the \n \t\tAmazon S3 Service Developer Guide.

" - } - }, - "Architecture": { - "target": "com.amazonaws.ec2#ArchitectureValues", - "traits": { - "aws.protocols#ec2QueryName": "Architecture", - "smithy.api#documentation": "

The architecture of the AMI.

\n \t

Default: For Amazon EBS-backed AMIs, i386.\n For instance store-backed AMIs, the architecture specified in the manifest file.

", - "smithy.api#xmlName": "architecture" - } - }, - "BlockDeviceMappings": { - "target": "com.amazonaws.ec2#BlockDeviceMappingRequestList", - "traits": { - "smithy.api#documentation": "

The block device mapping entries.

\n \t

If you specify an Amazon EBS volume using the ID of an Amazon EBS snapshot, you can't specify the encryption state of the volume.

\n

If you create an AMI on an Outpost, then all backing snapshots must be on the same Outpost or in the Region \n \t of that Outpost. AMIs on an Outpost that include local snapshots can be used to launch instances on the same Outpost \n \t only. For more information, \n \t \tAmazon EBS local snapshots on Outposts in the Amazon Elastic Compute Cloud User Guide.

", - "smithy.api#xmlName": "BlockDeviceMapping" - } - }, - "Description": { + "CidrBlock": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

A description for your AMI.

", - "smithy.api#xmlName": "description" + "aws.protocols#ec2QueryName": "CidrBlock", + "smithy.api#documentation": "

The IPv4 network range to allow or deny, in CIDR notation (for example\n 172.16.0.0/24).

", + "smithy.api#xmlName": "cidrBlock" } }, "DryRun": { @@ -71986,377 +77819,496 @@ "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", "smithy.api#xmlName": "dryRun" } }, - "EnaSupport": { + "Egress": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "EnaSupport", + "aws.protocols#ec2QueryName": "Egress", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Set to true to enable enhanced networking with ENA for the AMI and any instances that you launch from the AMI.

\n

This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from the AMI unreachable.

", - "smithy.api#xmlName": "enaSupport" + "smithy.api#documentation": "

Indicates whether to replace the egress rule.

\n

Default: If no value is specified, we replace the ingress rule.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "egress" } }, - "KernelId": { - "target": "com.amazonaws.ec2#KernelId", + "IcmpTypeCode": { + "target": "com.amazonaws.ec2#IcmpTypeCode", "traits": { - "aws.protocols#ec2QueryName": "KernelId", - "smithy.api#documentation": "

The ID of the kernel.

", - "smithy.api#xmlName": "kernelId" + "smithy.api#documentation": "

ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol\n\t\t 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.

", + "smithy.api#xmlName": "Icmp" } }, - "Name": { + "Ipv6CidrBlock": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Name", + "aws.protocols#ec2QueryName": "Ipv6CidrBlock", + "smithy.api#documentation": "

The IPv6 network range to allow or deny, in CIDR notation (for example\n 2001:bd8:1234:1a00::/64).

", + "smithy.api#xmlName": "ipv6CidrBlock" + } + }, + "NetworkAclId": { + "target": "com.amazonaws.ec2#NetworkAclId", + "traits": { + "aws.protocols#ec2QueryName": "NetworkAclId", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

A name for your AMI.

\n

Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

", + "smithy.api#documentation": "

The ID of the ACL.

", "smithy.api#required": {}, - "smithy.api#xmlName": "name" + "smithy.api#xmlName": "networkAclId" } }, - "BillingProducts": { - "target": "com.amazonaws.ec2#BillingProductList", + "PortRange": { + "target": "com.amazonaws.ec2#PortRange", "traits": { - "smithy.api#documentation": "

The billing product codes. Your account must be authorized to specify billing product codes. Otherwise,\n \tyou can use the Amazon Web Services Marketplace to bill for the use of an AMI.

", - "smithy.api#xmlName": "BillingProduct" + "aws.protocols#ec2QueryName": "PortRange", + "smithy.api#documentation": "

TCP or UDP protocols: The range of ports the rule applies to. \n\t\t Required if specifying protocol 6 (TCP) or 17 (UDP).

", + "smithy.api#xmlName": "portRange" } }, - "RamdiskId": { - "target": "com.amazonaws.ec2#RamdiskId", + "Protocol": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "RamdiskId", - "smithy.api#documentation": "

The ID of the RAM disk.

", - "smithy.api#xmlName": "ramdiskId" + "aws.protocols#ec2QueryName": "Protocol", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The protocol number. A value of \"-1\" means all protocols. If you specify \"-1\" or a\n protocol number other than \"6\" (TCP), \"17\" (UDP), or \"1\" (ICMP), traffic on all ports is \n allowed, regardless of any ports or ICMP types or codes that you specify. If you specify \n protocol \"58\" (ICMPv6) and specify an IPv4 CIDR block, traffic for all ICMP types and \n codes allowed, regardless of any that you specify. If you specify protocol \"58\" (ICMPv6) \n and specify an IPv6 CIDR block, you must specify an ICMP type and code.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "protocol" } }, - "RootDeviceName": { - "target": "com.amazonaws.ec2#String", + "RuleAction": { + "target": "com.amazonaws.ec2#RuleAction", "traits": { - "aws.protocols#ec2QueryName": "RootDeviceName", - "smithy.api#documentation": "

The device name of the root device volume (for example, /dev/sda1).

", - "smithy.api#xmlName": "rootDeviceName" + "aws.protocols#ec2QueryName": "RuleAction", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

Indicates whether to allow or deny the traffic that matches the rule.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "ruleAction" } }, - "SriovNetSupport": { - "target": "com.amazonaws.ec2#String", + "RuleNumber": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "SriovNetSupport", - "smithy.api#documentation": "

Set to simple to enable enhanced networking with the Intel 82599 Virtual Function interface for the AMI and any instances that you launch from the AMI.

\n

There is no way to disable sriovNetSupport at this time.

\n

This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from the AMI unreachable.

", - "smithy.api#xmlName": "sriovNetSupport" + "aws.protocols#ec2QueryName": "RuleNumber", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The rule number of the entry to replace.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "ruleNumber" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#ReplaceRootVolumeTask": { + "type": "structure", + "members": { + "ReplaceRootVolumeTaskId": { + "target": "com.amazonaws.ec2#ReplaceRootVolumeTaskId", + "traits": { + "aws.protocols#ec2QueryName": "ReplaceRootVolumeTaskId", + "smithy.api#documentation": "

The ID of the root volume replacement task.

", + "smithy.api#xmlName": "replaceRootVolumeTaskId" } }, - "VirtualizationType": { + "InstanceId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "VirtualizationType", - "smithy.api#documentation": "

The type of virtualization (hvm | paravirtual).

\n

Default: paravirtual\n

", - "smithy.api#xmlName": "virtualizationType" + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#documentation": "

The ID of the instance for which the root volume replacement task was created.

", + "smithy.api#xmlName": "instanceId" } }, - "BootMode": { - "target": "com.amazonaws.ec2#BootModeValues", + "TaskState": { + "target": "com.amazonaws.ec2#ReplaceRootVolumeTaskState", "traits": { - "smithy.api#documentation": "

The boot mode of the AMI. For more information, see Boot modes in the\n Amazon Elastic Compute Cloud User Guide.

" + "aws.protocols#ec2QueryName": "TaskState", + "smithy.api#documentation": "

The state of the task. The task can be in one of the following states:

\n
    \n
  • \n

    \n pending - the replacement volume is being created.

    \n
  • \n
  • \n

    \n in-progress - the original volume is being detached and the \n replacement volume is being attached.

    \n
  • \n
  • \n

    \n succeeded - the replacement volume has been successfully attached \n to the instance and the instance is available.

    \n
  • \n
  • \n

    \n failing - the replacement task is in the process of failing.

    \n
  • \n
  • \n

    \n failed - the replacement task has failed but the original root \n volume is still attached.

    \n
  • \n
  • \n

    \n failing-detached - the replacement task is in the process of failing. \n The instance might have no root volume attached.

    \n
  • \n
  • \n

    \n failed-detached - the replacement task has failed and the instance \n has no root volume attached.

    \n
  • \n
", + "smithy.api#xmlName": "taskState" } }, - "TpmSupport": { - "target": "com.amazonaws.ec2#TpmSupportValues", + "StartTime": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

Set to v2.0 to enable Trusted Platform Module (TPM) support. For more\n information, see NitroTPM in the Amazon Elastic Compute Cloud User Guide.

" + "aws.protocols#ec2QueryName": "StartTime", + "smithy.api#documentation": "

The time the task was started.

", + "smithy.api#xmlName": "startTime" } }, - "UefiData": { - "target": "com.amazonaws.ec2#StringType", + "CompleteTime": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

Base64 representation of the non-volatile UEFI variable store. To retrieve the UEFI data,\n use the GetInstanceUefiData command. You can inspect and modify the UEFI data by using the\n python-uefivars tool on\n GitHub. For more information, see UEFI Secure Boot in the\n Amazon Elastic Compute Cloud User Guide.

" + "aws.protocols#ec2QueryName": "CompleteTime", + "smithy.api#documentation": "

The time the task completed.

", + "smithy.api#xmlName": "completeTime" } }, - "ImdsSupport": { - "target": "com.amazonaws.ec2#ImdsSupportValues", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "smithy.api#documentation": "

Set to v2.0 to indicate that IMDSv2 is specified in the AMI. Instances\n launched from this AMI will have HttpTokens automatically set to\n required so that, by default, the instance requires that IMDSv2 is used when\n requesting instance metadata. In addition, HttpPutResponseHopLimit is set to\n 2. For more information, see Configure\n the AMI in the Amazon Elastic Compute Cloud User Guide.

\n \n

If you set the value to v2.0, make sure that your AMI software can support IMDSv2.

\n
" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags assigned to the task.

", + "smithy.api#xmlName": "tagSet" } - } - }, - "traits": { - "smithy.api#documentation": "

Contains the parameters for RegisterImage.

" - } - }, - "com.amazonaws.ec2#RegisterImageResult": { - "type": "structure", - "members": { + }, "ImageId": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#ImageId", "traits": { "aws.protocols#ec2QueryName": "ImageId", - "smithy.api#documentation": "

The ID of the newly registered AMI.

", + "smithy.api#documentation": "

The ID of the AMI used to create the replacement root volume.

", "smithy.api#xmlName": "imageId" } + }, + "SnapshotId": { + "target": "com.amazonaws.ec2#SnapshotId", + "traits": { + "aws.protocols#ec2QueryName": "SnapshotId", + "smithy.api#documentation": "

The ID of the snapshot used to create the replacement root volume.

", + "smithy.api#xmlName": "snapshotId" + } + }, + "DeleteReplacedRootVolume": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DeleteReplacedRootVolume", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the original root volume is to be deleted after the root volume \n replacement task completes.

", + "smithy.api#xmlName": "deleteReplacedRootVolume" + } } }, "traits": { - "smithy.api#documentation": "

Contains the output of RegisterImage.

" + "smithy.api#documentation": "

Information about a root volume replacement task.

" } }, - "com.amazonaws.ec2#RegisterInstanceEventNotificationAttributes": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#RegisterInstanceEventNotificationAttributesRequest" - }, - "output": { - "target": "com.amazonaws.ec2#RegisterInstanceEventNotificationAttributesResult" - }, - "traits": { - "smithy.api#documentation": "

Registers a set of tag keys to include in scheduled event notifications for your resources. \n \t\t

\n

To remove tags, use DeregisterInstanceEventNotificationAttributes.

" + "com.amazonaws.ec2#ReplaceRootVolumeTaskId": { + "type": "string" + }, + "com.amazonaws.ec2#ReplaceRootVolumeTaskIds": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ReplaceRootVolumeTaskId", + "traits": { + "smithy.api#xmlName": "ReplaceRootVolumeTaskId" + } } }, - "com.amazonaws.ec2#RegisterInstanceEventNotificationAttributesRequest": { - "type": "structure", + "com.amazonaws.ec2#ReplaceRootVolumeTaskState": { + "type": "enum", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "pending": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#enumValue": "pending" } }, - "InstanceTagAttribute": { - "target": "com.amazonaws.ec2#RegisterInstanceTagAttributeRequest", + "in_progress": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Information about the tag keys to register.

" + "smithy.api#enumValue": "in-progress" } - } - } - }, - "com.amazonaws.ec2#RegisterInstanceEventNotificationAttributesResult": { - "type": "structure", - "members": { - "InstanceTagAttribute": { - "target": "com.amazonaws.ec2#InstanceTagNotificationAttribute", + }, + "failing": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InstanceTagAttribute", - "smithy.api#documentation": "

The resulting set of tag keys.

", - "smithy.api#xmlName": "instanceTagAttribute" + "smithy.api#enumValue": "failing" } - } - } - }, - "com.amazonaws.ec2#RegisterInstanceTagAttributeRequest": { - "type": "structure", - "members": { - "IncludeAllTagsOfInstance": { - "target": "com.amazonaws.ec2#Boolean", + }, + "succeeded": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to register all tag keys in the current Region. Specify true \n \tto register all tag keys.

" + "smithy.api#enumValue": "succeeded" } }, - "InstanceTagKeys": { - "target": "com.amazonaws.ec2#InstanceTagKeySet", + "failed": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The tag keys to register.

", - "smithy.api#xmlName": "InstanceTagKey" + "smithy.api#enumValue": "failed" + } + }, + "failed_detached": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "failed-detached" } } - }, - "traits": { - "smithy.api#documentation": "

Information about the tag keys to register for the current Region. You can either specify \n \tindividual tag keys or register all tag keys in the current Region. You must specify either\n \tIncludeAllTagsOfInstance or InstanceTagKeys in the request

" } }, - "com.amazonaws.ec2#RegisterTransitGatewayMulticastGroupMembers": { + "com.amazonaws.ec2#ReplaceRootVolumeTasks": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ReplaceRootVolumeTask", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ReplaceRoute": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#RegisterTransitGatewayMulticastGroupMembersRequest" + "target": "com.amazonaws.ec2#ReplaceRouteRequest" }, "output": { - "target": "com.amazonaws.ec2#RegisterTransitGatewayMulticastGroupMembersResult" + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Registers members (network interfaces) with the transit gateway multicast group. A member is a network interface associated\n with a supported EC2 instance that receives multicast traffic. For information about\n supported instances, see Multicast\n Consideration in Amazon VPC Transit Gateways.

\n

After you add the members, use SearchTransitGatewayMulticastGroups to verify that the members were added\n to the transit gateway multicast group.

" + "smithy.api#documentation": "

Replaces an existing route within a route table in a VPC.

\n

You must specify either a destination CIDR block or a prefix list ID. You must also specify \n exactly one of the resources from the parameter list, or reset the local route to its default \n target.

\n

For more information, see Route tables in the\n Amazon Virtual Private Cloud User Guide.

" } }, - "com.amazonaws.ec2#RegisterTransitGatewayMulticastGroupMembersRequest": { + "com.amazonaws.ec2#ReplaceRouteRequest": { "type": "structure", "members": { - "TransitGatewayMulticastDomainId": { - "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainId", + "DestinationCidrBlock": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

" + "aws.protocols#ec2QueryName": "DestinationCidrBlock", + "smithy.api#documentation": "

The IPv4 CIDR address block used for the destination match. The value that you\n\t\t\tprovide must match the CIDR of an existing route in the table.

", + "smithy.api#xmlName": "destinationCidrBlock" } }, - "GroupIpAddress": { + "DestinationIpv6CidrBlock": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The IP address assigned to the transit gateway multicast group.

" + "aws.protocols#ec2QueryName": "DestinationIpv6CidrBlock", + "smithy.api#documentation": "

The IPv6 CIDR address block used for the destination match. The value that you\n\t\t\tprovide must match the CIDR of an existing route in the table.

", + "smithy.api#xmlName": "destinationIpv6CidrBlock" } }, - "NetworkInterfaceIds": { - "target": "com.amazonaws.ec2#TransitGatewayNetworkInterfaceIdList", + "DestinationPrefixListId": { + "target": "com.amazonaws.ec2#PrefixListResourceId", "traits": { - "smithy.api#documentation": "

The group members' network interface IDs to register with the transit gateway multicast group.

" + "smithy.api#documentation": "

The ID of the prefix list for the route.

" } }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } - } - } - }, - "com.amazonaws.ec2#RegisterTransitGatewayMulticastGroupMembersResult": { - "type": "structure", - "members": { - "RegisteredMulticastGroupMembers": { - "target": "com.amazonaws.ec2#TransitGatewayMulticastRegisteredGroupMembers", + }, + "VpcEndpointId": { + "target": "com.amazonaws.ec2#VpcEndpointId", "traits": { - "aws.protocols#ec2QueryName": "RegisteredMulticastGroupMembers", - "smithy.api#documentation": "

Information about the registered transit gateway multicast group members.

", - "smithy.api#xmlName": "registeredMulticastGroupMembers" + "smithy.api#documentation": "

The ID of a VPC endpoint. Supported for Gateway Load Balancer endpoints only.

" } - } - } - }, - "com.amazonaws.ec2#RegisterTransitGatewayMulticastGroupSources": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#RegisterTransitGatewayMulticastGroupSourcesRequest" - }, - "output": { - "target": "com.amazonaws.ec2#RegisterTransitGatewayMulticastGroupSourcesResult" - }, - "traits": { - "smithy.api#documentation": "

Registers sources (network interfaces) with the specified transit gateway multicast group.

\n

A multicast source is a network interface attached to a supported instance that sends\n multicast traffic. For information about supported instances, see Multicast\n Considerations in Amazon VPC Transit Gateways.

\n

After you add the source, use SearchTransitGatewayMulticastGroups to verify that the source was added to the multicast\n group.

" - } - }, - "com.amazonaws.ec2#RegisterTransitGatewayMulticastGroupSourcesRequest": { - "type": "structure", - "members": { - "TransitGatewayMulticastDomainId": { - "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainId", + }, + "EgressOnlyInternetGatewayId": { + "target": "com.amazonaws.ec2#EgressOnlyInternetGatewayId", "traits": { - "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

" + "aws.protocols#ec2QueryName": "EgressOnlyInternetGatewayId", + "smithy.api#documentation": "

[IPv6 traffic only] The ID of an egress-only internet gateway.

", + "smithy.api#xmlName": "egressOnlyInternetGatewayId" } }, - "GroupIpAddress": { - "target": "com.amazonaws.ec2#String", + "GatewayId": { + "target": "com.amazonaws.ec2#RouteGatewayId", "traits": { - "smithy.api#documentation": "

The IP address assigned to the transit gateway multicast group.

" + "aws.protocols#ec2QueryName": "GatewayId", + "smithy.api#documentation": "

The ID of an internet gateway or virtual private gateway.

", + "smithy.api#xmlName": "gatewayId" } }, - "NetworkInterfaceIds": { - "target": "com.amazonaws.ec2#TransitGatewayNetworkInterfaceIdList", + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", "traits": { - "smithy.api#documentation": "

The group sources' network interface IDs to register with the transit gateway multicast group.

" + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#documentation": "

The ID of a NAT instance in your VPC.

", + "smithy.api#xmlName": "instanceId" } }, - "DryRun": { + "LocalTarget": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Specifies whether to reset the local route to its default target (local).

" } - } - } - }, - "com.amazonaws.ec2#RegisterTransitGatewayMulticastGroupSourcesResult": { - "type": "structure", - "members": { - "RegisteredMulticastGroupSources": { - "target": "com.amazonaws.ec2#TransitGatewayMulticastRegisteredGroupSources", + }, + "NatGatewayId": { + "target": "com.amazonaws.ec2#NatGatewayId", "traits": { - "aws.protocols#ec2QueryName": "RegisteredMulticastGroupSources", - "smithy.api#documentation": "

Information about the transit gateway multicast group sources.

", - "smithy.api#xmlName": "registeredMulticastGroupSources" + "aws.protocols#ec2QueryName": "NatGatewayId", + "smithy.api#documentation": "

[IPv4 traffic only] The ID of a NAT gateway.

", + "smithy.api#xmlName": "natGatewayId" + } + }, + "TransitGatewayId": { + "target": "com.amazonaws.ec2#TransitGatewayId", + "traits": { + "smithy.api#documentation": "

The ID of a transit gateway.

" + } + }, + "LocalGatewayId": { + "target": "com.amazonaws.ec2#LocalGatewayId", + "traits": { + "smithy.api#documentation": "

The ID of the local gateway.

" + } + }, + "CarrierGatewayId": { + "target": "com.amazonaws.ec2#CarrierGatewayId", + "traits": { + "smithy.api#documentation": "

[IPv4 traffic only] The ID of a carrier gateway.

" + } + }, + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#NetworkInterfaceId", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "smithy.api#documentation": "

The ID of a network interface.

", + "smithy.api#xmlName": "networkInterfaceId" + } + }, + "RouteTableId": { + "target": "com.amazonaws.ec2#RouteTableId", + "traits": { + "aws.protocols#ec2QueryName": "RouteTableId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the route table.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "routeTableId" + } + }, + "VpcPeeringConnectionId": { + "target": "com.amazonaws.ec2#VpcPeeringConnectionId", + "traits": { + "aws.protocols#ec2QueryName": "VpcPeeringConnectionId", + "smithy.api#documentation": "

The ID of a VPC peering connection.

", + "smithy.api#xmlName": "vpcPeeringConnectionId" + } + }, + "CoreNetworkArn": { + "target": "com.amazonaws.ec2#CoreNetworkArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the core network.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#RejectTransitGatewayMulticastDomainAssociations": { + "com.amazonaws.ec2#ReplaceRouteTableAssociation": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#RejectTransitGatewayMulticastDomainAssociationsRequest" + "target": "com.amazonaws.ec2#ReplaceRouteTableAssociationRequest" }, "output": { - "target": "com.amazonaws.ec2#RejectTransitGatewayMulticastDomainAssociationsResult" + "target": "com.amazonaws.ec2#ReplaceRouteTableAssociationResult" }, "traits": { - "smithy.api#documentation": "

Rejects a request to associate cross-account subnets with a transit gateway multicast domain.

" + "smithy.api#documentation": "

Changes the route table associated with a given subnet, internet gateway, or virtual private gateway in a VPC. After the operation\n completes, the subnet or gateway uses the routes in the new route table. For more\n information about route tables, see Route\n tables in the Amazon Virtual Private Cloud User Guide.

\n

You can also use this operation to change which table is the main route table in the VPC. Specify the main route table's association ID and the route table ID of the new main route table.

" } }, - "com.amazonaws.ec2#RejectTransitGatewayMulticastDomainAssociationsRequest": { + "com.amazonaws.ec2#ReplaceRouteTableAssociationRequest": { "type": "structure", "members": { - "TransitGatewayMulticastDomainId": { - "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainId", - "traits": { - "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

" - } - }, - "TransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", - "traits": { - "smithy.api#documentation": "

The ID of the transit gateway attachment.

" - } - }, - "SubnetIds": { - "target": "com.amazonaws.ec2#ValueStringList", + "AssociationId": { + "target": "com.amazonaws.ec2#RouteTableAssociationId", "traits": { - "smithy.api#documentation": "

The IDs of the subnets to associate with the transit gateway multicast domain.

" + "aws.protocols#ec2QueryName": "AssociationId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The association ID.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "associationId" } }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + }, + "RouteTableId": { + "target": "com.amazonaws.ec2#RouteTableId", + "traits": { + "aws.protocols#ec2QueryName": "RouteTableId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the new route table to associate with the subnet.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "routeTableId" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#RejectTransitGatewayMulticastDomainAssociationsResult": { + "com.amazonaws.ec2#ReplaceRouteTableAssociationResult": { "type": "structure", "members": { - "Associations": { - "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainAssociations", + "NewAssociationId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Associations", - "smithy.api#xmlName": "associations" + "aws.protocols#ec2QueryName": "NewAssociationId", + "smithy.api#documentation": "

The ID of the new association.

", + "smithy.api#xmlName": "newAssociationId" + } + }, + "AssociationState": { + "target": "com.amazonaws.ec2#RouteTableAssociationState", + "traits": { + "aws.protocols#ec2QueryName": "AssociationState", + "smithy.api#documentation": "

The state of the association.

", + "smithy.api#xmlName": "associationState" } } } }, - "com.amazonaws.ec2#RejectTransitGatewayPeeringAttachment": { + "com.amazonaws.ec2#ReplaceTransitGatewayRoute": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#RejectTransitGatewayPeeringAttachmentRequest" + "target": "com.amazonaws.ec2#ReplaceTransitGatewayRouteRequest" }, "output": { - "target": "com.amazonaws.ec2#RejectTransitGatewayPeeringAttachmentResult" + "target": "com.amazonaws.ec2#ReplaceTransitGatewayRouteResult" }, "traits": { - "smithy.api#documentation": "

Rejects a transit gateway peering attachment request.

" + "smithy.api#documentation": "

Replaces the specified route in the specified transit gateway route table.

" } }, - "com.amazonaws.ec2#RejectTransitGatewayPeeringAttachmentRequest": { + "com.amazonaws.ec2#ReplaceTransitGatewayRouteRequest": { "type": "structure", "members": { + "DestinationCidrBlock": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The CIDR range used for the destination match. Routing decisions are based on the most specific match.

", + "smithy.api#required": {} + } + }, + "TransitGatewayRouteTableId": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the route table.

", + "smithy.api#required": {} + } + }, "TransitGatewayAttachmentId": { "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", + "traits": { + "smithy.api#documentation": "

The ID of the attachment.

" + } + }, + "Blackhole": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the transit gateway peering attachment.

", - "smithy.api#required": {} + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether traffic matching this route is to be dropped.

" } }, "DryRun": { @@ -72367,454 +78319,566 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#RejectTransitGatewayPeeringAttachmentResult": { + "com.amazonaws.ec2#ReplaceTransitGatewayRouteResult": { "type": "structure", "members": { - "TransitGatewayPeeringAttachment": { - "target": "com.amazonaws.ec2#TransitGatewayPeeringAttachment", + "Route": { + "target": "com.amazonaws.ec2#TransitGatewayRoute", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayPeeringAttachment", - "smithy.api#documentation": "

The transit gateway peering attachment.

", - "smithy.api#xmlName": "transitGatewayPeeringAttachment" + "aws.protocols#ec2QueryName": "Route", + "smithy.api#documentation": "

Information about the modified route.

", + "smithy.api#xmlName": "route" } } } }, - "com.amazonaws.ec2#RejectTransitGatewayVpcAttachment": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#RejectTransitGatewayVpcAttachmentRequest" - }, - "output": { - "target": "com.amazonaws.ec2#RejectTransitGatewayVpcAttachmentResult" - }, - "traits": { - "smithy.api#documentation": "

Rejects a request to attach a VPC to a transit gateway.

\n

The VPC attachment must be in the pendingAcceptance state.\n Use DescribeTransitGatewayVpcAttachments to view your pending VPC attachment requests.\n Use AcceptTransitGatewayVpcAttachment to accept a VPC attachment request.

" - } - }, - "com.amazonaws.ec2#RejectTransitGatewayVpcAttachmentRequest": { - "type": "structure", + "com.amazonaws.ec2#ReplacementStrategy": { + "type": "enum", "members": { - "TransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", + "LAUNCH": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the attachment.

", - "smithy.api#required": {} + "smithy.api#enumValue": "launch" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "LAUNCH_BEFORE_TERMINATE": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#enumValue": "launch-before-terminate" } } } }, - "com.amazonaws.ec2#RejectTransitGatewayVpcAttachmentResult": { - "type": "structure", + "com.amazonaws.ec2#ReportInstanceReasonCodes": { + "type": "enum", "members": { - "TransitGatewayVpcAttachment": { - "target": "com.amazonaws.ec2#TransitGatewayVpcAttachment", + "instance_stuck_in_state": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayVpcAttachment", - "smithy.api#documentation": "

Information about the attachment.

", - "smithy.api#xmlName": "transitGatewayVpcAttachment" + "smithy.api#enumValue": "instance-stuck-in-state" + } + }, + "unresponsive": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "unresponsive" + } + }, + "not_accepting_credentials": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "not-accepting-credentials" + } + }, + "password_not_available": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "password-not-available" + } + }, + "performance_network": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "performance-network" + } + }, + "performance_instance_store": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "performance-instance-store" + } + }, + "performance_ebs_volume": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "performance-ebs-volume" + } + }, + "performance_other": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "performance-other" + } + }, + "other": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "other" } } } }, - "com.amazonaws.ec2#RejectVpcEndpointConnections": { + "com.amazonaws.ec2#ReportInstanceStatus": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#RejectVpcEndpointConnectionsRequest" + "target": "com.amazonaws.ec2#ReportInstanceStatusRequest" }, "output": { - "target": "com.amazonaws.ec2#RejectVpcEndpointConnectionsResult" + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Rejects one or more VPC endpoint connection requests to your VPC endpoint\n service.

" + "smithy.api#documentation": "

Submits feedback about the status of an instance. The instance must be in the\n running state. If your experience with the instance differs from the\n instance status returned by DescribeInstanceStatus, use ReportInstanceStatus to report your experience with the instance. Amazon\n EC2 collects this information to improve the accuracy of status checks.

\n

Use of this action does not change the value returned by DescribeInstanceStatus.

" } }, - "com.amazonaws.ec2#RejectVpcEndpointConnectionsRequest": { + "com.amazonaws.ec2#ReportInstanceStatusRequest": { "type": "structure", "members": { + "Description": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

Descriptive text about the health state of your instance.

", + "smithy.api#xmlName": "description" + } + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "ServiceId": { - "target": "com.amazonaws.ec2#VpcEndpointServiceId", + "EndTime": { + "target": "com.amazonaws.ec2#DateTime", + "traits": { + "aws.protocols#ec2QueryName": "EndTime", + "smithy.api#documentation": "

The time at which the reported instance health state ended.

", + "smithy.api#xmlName": "endTime" + } + }, + "Instances": { + "target": "com.amazonaws.ec2#InstanceIdStringList", "traits": { + "aws.protocols#ec2QueryName": "InstanceId", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the service.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The instances.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "instanceId" } }, - "VpcEndpointIds": { - "target": "com.amazonaws.ec2#VpcEndpointIdList", + "ReasonCodes": { + "target": "com.amazonaws.ec2#ReasonCodesList", "traits": { + "aws.protocols#ec2QueryName": "ReasonCode", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IDs of one or more VPC endpoints.

", + "smithy.api#documentation": "

The reason codes that describe the health state of your instance.

\n
    \n
  • \n

    \n instance-stuck-in-state: My instance is stuck in a state.

    \n
  • \n
  • \n

    \n unresponsive: My instance is unresponsive.

    \n
  • \n
  • \n

    \n not-accepting-credentials: My instance is not accepting my\n credentials.

    \n
  • \n
  • \n

    \n password-not-available: A password is not available for my\n instance.

    \n
  • \n
  • \n

    \n performance-network: My instance is experiencing performance\n problems that I believe are network related.

    \n
  • \n
  • \n

    \n performance-instance-store: My instance is experiencing performance\n problems that I believe are related to the instance stores.

    \n
  • \n
  • \n

    \n performance-ebs-volume: My instance is experiencing performance\n problems that I believe are related to an EBS volume.

    \n
  • \n
  • \n

    \n performance-other: My instance is experiencing performance\n problems.

    \n
  • \n
  • \n

    \n other: [explain using the description parameter]

    \n
  • \n
", "smithy.api#required": {}, - "smithy.api#xmlName": "VpcEndpointId" + "smithy.api#xmlName": "reasonCode" + } + }, + "StartTime": { + "target": "com.amazonaws.ec2#DateTime", + "traits": { + "aws.protocols#ec2QueryName": "StartTime", + "smithy.api#documentation": "

The time at which the reported instance health state began.

", + "smithy.api#xmlName": "startTime" + } + }, + "Status": { + "target": "com.amazonaws.ec2#ReportStatusType", + "traits": { + "aws.protocols#ec2QueryName": "Status", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The status of all instances listed.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "status" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#RejectVpcEndpointConnectionsResult": { - "type": "structure", + "com.amazonaws.ec2#ReportStatusType": { + "type": "enum", "members": { - "Unsuccessful": { - "target": "com.amazonaws.ec2#UnsuccessfulItemSet", + "ok": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Unsuccessful", - "smithy.api#documentation": "

Information about the endpoints that were not rejected, if applicable.

", - "smithy.api#xmlName": "unsuccessful" + "smithy.api#enumValue": "ok" + } + }, + "impaired": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "impaired" } } } }, - "com.amazonaws.ec2#RejectVpcPeeringConnection": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#RejectVpcPeeringConnectionRequest" - }, - "output": { - "target": "com.amazonaws.ec2#RejectVpcPeeringConnectionResult" + "com.amazonaws.ec2#RequestHostIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#DedicatedHostId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#RequestHostIdSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#DedicatedHostId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#RequestInstanceTypeList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InstanceType" }, "traits": { - "smithy.api#documentation": "

Rejects a VPC peering connection request. The VPC peering connection must be in the\n\t\t\t\tpending-acceptance state. Use the DescribeVpcPeeringConnections request\n\t\t\tto view your outstanding VPC peering connection requests. To delete an active VPC peering\n\t\t\tconnection, or to delete a VPC peering connection request that you initiated, use\tDeleteVpcPeeringConnection.

" + "smithy.api#length": { + "min": 0, + "max": 100 + } } }, - "com.amazonaws.ec2#RejectVpcPeeringConnectionRequest": { + "com.amazonaws.ec2#RequestIpamResourceTag": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Key": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

" } }, - "VpcPeeringConnectionId": { - "target": "com.amazonaws.ec2#VpcPeeringConnectionId", + "Value": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "VpcPeeringConnectionId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the VPC peering connection.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "vpcPeeringConnectionId" + "smithy.api#documentation": "

The value for the tag.

" } } + }, + "traits": { + "smithy.api#documentation": "

A tag on an IPAM resource.

" } }, - "com.amazonaws.ec2#RejectVpcPeeringConnectionResult": { + "com.amazonaws.ec2#RequestIpamResourceTagList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#RequestIpamResourceTag", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#RequestLaunchTemplateData": { "type": "structure", "members": { - "Return": { + "KernelId": { + "target": "com.amazonaws.ec2#KernelId", + "traits": { + "smithy.api#documentation": "

The ID of the kernel.

\n \n

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more\n information, see User provided\n kernels in the Amazon Elastic Compute Cloud User Guide.

\n
" + } + }, + "EbsOptimized": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Return", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "smithy.api#xmlName": "return" + "smithy.api#documentation": "

Indicates whether the instance is optimized for Amazon EBS I/O. This optimization\n provides dedicated throughput to Amazon EBS and an optimized configuration stack to\n provide optimal Amazon EBS I/O performance. This optimization isn't available with all\n instance types. Additional usage charges apply when using an EBS-optimized\n instance.

" } - } - } - }, - "com.amazonaws.ec2#ReleaseAddress": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ReleaseAddressRequest" - }, - "output": { - "target": "smithy.api#Unit" - }, - "traits": { - "smithy.api#documentation": "

Releases the specified Elastic IP address.

\n

[EC2-Classic, default VPC] Releasing an Elastic IP address automatically disassociates it\n\t\t\t\tfrom any instance that it's associated with. To disassociate an Elastic IP address without\n\t\t\t\treleasing it, use DisassociateAddress.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
\n

[Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic IP address\n\t\t\t before you can release it. Otherwise, Amazon EC2 returns an error (InvalidIPAddress.InUse).

\n

After releasing an Elastic IP address, it is released to the IP address pool. \n Be sure to update your DNS records and any servers or devices that communicate with the address. \n If you attempt to release an Elastic IP address that you already released, you'll get an\n AuthFailure error if the address is already allocated to another Amazon Web Services account.

\n

[EC2-VPC] After you release an Elastic IP address for use in a VPC, you might be able to recover it.\n For more information, see AllocateAddress.

\n

For more\n information, see Elastic IP\n Addresses in the Amazon Elastic Compute Cloud User Guide.

" - } - }, - "com.amazonaws.ec2#ReleaseAddressRequest": { - "type": "structure", - "members": { - "AllocationId": { - "target": "com.amazonaws.ec2#AllocationId", + }, + "IamInstanceProfile": { + "target": "com.amazonaws.ec2#LaunchTemplateIamInstanceProfileSpecificationRequest", "traits": { - "smithy.api#documentation": "

[EC2-VPC] The allocation ID. Required for EC2-VPC.

" + "smithy.api#documentation": "

The name or Amazon Resource Name (ARN) of an IAM instance profile.

" } }, - "PublicIp": { - "target": "com.amazonaws.ec2#String", + "BlockDeviceMappings": { + "target": "com.amazonaws.ec2#LaunchTemplateBlockDeviceMappingRequestList", "traits": { - "smithy.api#documentation": "

[EC2-Classic] The Elastic IP address. Required for EC2-Classic.

" + "smithy.api#documentation": "

The block device mapping.

", + "smithy.api#xmlName": "BlockDeviceMapping" } }, - "NetworkBorderGroup": { - "target": "com.amazonaws.ec2#String", + "NetworkInterfaces": { + "target": "com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecificationRequestList", "traits": { - "smithy.api#documentation": "

The set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises\n IP addresses.

\n

If you provide an incorrect network border group, you receive an InvalidAddress.NotFound error.

\n

You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 classic, you \n receive an InvalidParameterCombination error.

" + "smithy.api#documentation": "

One or more network interfaces. If you specify a network interface, you must specify\n any security groups and subnets as part of the network interface.

", + "smithy.api#xmlName": "NetworkInterface" } }, - "DryRun": { + "ImageId": { + "target": "com.amazonaws.ec2#ImageId", + "traits": { + "smithy.api#documentation": "

The ID of the AMI. Alternatively, you can specify a Systems Manager parameter, which\n will resolve to an AMI ID on launch.

\n

Valid formats:

\n
    \n
  • \n

    \n ami-17characters00000\n

    \n
  • \n
  • \n

    \n resolve:ssm:parameter-name\n

    \n
  • \n
  • \n

    \n resolve:ssm:parameter-name:version-number\n

    \n
  • \n
  • \n

    \n resolve:ssm:parameter-name:label\n

    \n
  • \n
\n

For more information, see Use a Systems \n Manager parameter instead of an AMI ID in the Amazon Elastic Compute Cloud User Guide.

" + } + }, + "InstanceType": { + "target": "com.amazonaws.ec2#InstanceType", + "traits": { + "smithy.api#documentation": "

The instance type. For more information, see Instance types in the\n Amazon Elastic Compute Cloud User Guide.

\n

If you specify InstanceType, you can't specify\n InstanceRequirements.

" + } + }, + "KeyName": { + "target": "com.amazonaws.ec2#KeyPairName", + "traits": { + "smithy.api#documentation": "

The name of the key pair. You can create a key pair using CreateKeyPair or\n ImportKeyPair.

\n \n

If you do not specify a key pair, you can't connect to the instance unless you\n choose an AMI that is configured to allow users another way to log in.

\n
" + } + }, + "Monitoring": { + "target": "com.amazonaws.ec2#LaunchTemplatesMonitoringRequest", + "traits": { + "smithy.api#documentation": "

The monitoring for the instance.

" + } + }, + "Placement": { + "target": "com.amazonaws.ec2#LaunchTemplatePlacementRequest", + "traits": { + "smithy.api#documentation": "

The placement for the instance.

" + } + }, + "RamDiskId": { + "target": "com.amazonaws.ec2#RamdiskId", + "traits": { + "smithy.api#documentation": "

The ID of the RAM disk.

\n \n

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more\n information, see User provided\n kernels in the Amazon Elastic Compute Cloud User Guide.

\n
" + } + }, + "DisableApiTermination": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

If you set this parameter to true, you can't terminate the instance using\n the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute after\n launch, use ModifyInstanceAttribute. Alternatively, if you set\n InstanceInitiatedShutdownBehavior to terminate, you can\n terminate the instance by running the shutdown command from the instance.

" } - } - } - }, - "com.amazonaws.ec2#ReleaseHosts": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ReleaseHostsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#ReleaseHostsResult" - }, - "traits": { - "smithy.api#documentation": "

When you no longer want to use an On-Demand Dedicated Host it can be released.\n On-Demand billing is stopped and the host goes into released state. The\n host ID of Dedicated Hosts that have been released can no longer be specified in another\n request, for example, to modify the host. You must stop or terminate all instances on a\n host before it can be released.

\n

When Dedicated Hosts are released, it may take some time for them to stop counting\n toward your limit and you may receive capacity errors when trying to allocate new\n Dedicated Hosts. Wait a few minutes and then try again.

\n

Released hosts still appear in a DescribeHosts response.

" - } - }, - "com.amazonaws.ec2#ReleaseHostsRequest": { - "type": "structure", - "members": { - "HostIds": { - "target": "com.amazonaws.ec2#RequestHostIdList", + }, + "InstanceInitiatedShutdownBehavior": { + "target": "com.amazonaws.ec2#ShutdownBehavior", "traits": { - "aws.protocols#ec2QueryName": "HostId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IDs of the Dedicated Hosts to release.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "hostId" + "smithy.api#documentation": "

Indicates whether an instance stops or terminates when you initiate shutdown from the\n instance (using the operating system command for system shutdown).

\n

Default: stop\n

" } - } - } - }, - "com.amazonaws.ec2#ReleaseHostsResult": { - "type": "structure", - "members": { - "Successful": { - "target": "com.amazonaws.ec2#ResponseHostIdList", + }, + "UserData": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The user data to make available to the instance. You must provide base64-encoded text.\n User data is limited to 16 KB. For more information, see Run commands on your Linux instance at\n launch (Linux) or Work with instance\n user data (Windows) in the Amazon Elastic Compute Cloud User Guide.

\n

If you are creating the launch template for use with Batch, the user\n data must be provided in the MIME multi-part archive format. For more information, see Amazon EC2 user data in launch templates in the Batch User Guide.

" + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#LaunchTemplateTagSpecificationRequestList", + "traits": { + "smithy.api#documentation": "

The tags to apply to the resources that are created during instance launch.

\n

You can specify tags for the following resources only:

\n
    \n
  • \n

    Instances

    \n
  • \n
  • \n

    Volumes

    \n
  • \n
  • \n

    Elastic graphics

    \n
  • \n
  • \n

    Spot Instance requests

    \n
  • \n
  • \n

    Network interfaces

    \n
  • \n
\n

To tag a resource after it has been created, see CreateTags.

\n \n

To tag the launch template itself, you must use the TagSpecification parameter.

\n
", + "smithy.api#xmlName": "TagSpecification" + } + }, + "ElasticGpuSpecifications": { + "target": "com.amazonaws.ec2#ElasticGpuSpecificationList", + "traits": { + "smithy.api#documentation": "

An elastic GPU to associate with the instance.

", + "smithy.api#xmlName": "ElasticGpuSpecification" + } + }, + "ElasticInferenceAccelerators": { + "target": "com.amazonaws.ec2#LaunchTemplateElasticInferenceAcceleratorList", + "traits": { + "smithy.api#documentation": "

The elastic inference accelerator for the instance.

", + "smithy.api#xmlName": "ElasticInferenceAccelerator" + } + }, + "SecurityGroupIds": { + "target": "com.amazonaws.ec2#SecurityGroupIdStringList", + "traits": { + "smithy.api#documentation": "

One or more security group IDs. You can create a security group using CreateSecurityGroup. You cannot specify both a security group ID and\n security name in the same request.

", + "smithy.api#xmlName": "SecurityGroupId" + } + }, + "SecurityGroups": { + "target": "com.amazonaws.ec2#SecurityGroupStringList", + "traits": { + "smithy.api#documentation": "

One or more security group names. For a nondefault VPC, you must use security group\n IDs instead. You cannot specify both a security group ID and security name in the same\n request.

", + "smithy.api#xmlName": "SecurityGroup" + } + }, + "InstanceMarketOptions": { + "target": "com.amazonaws.ec2#LaunchTemplateInstanceMarketOptionsRequest", + "traits": { + "smithy.api#documentation": "

The market (purchasing) option for the instances.

" + } + }, + "CreditSpecification": { + "target": "com.amazonaws.ec2#CreditSpecificationRequest", + "traits": { + "smithy.api#documentation": "

The credit option for CPU usage of the instance. Valid only for T instances.

" + } + }, + "CpuOptions": { + "target": "com.amazonaws.ec2#LaunchTemplateCpuOptionsRequest", + "traits": { + "smithy.api#documentation": "

The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User\n Guide.

" + } + }, + "CapacityReservationSpecification": { + "target": "com.amazonaws.ec2#LaunchTemplateCapacityReservationSpecificationRequest", + "traits": { + "smithy.api#documentation": "

The Capacity Reservation targeting option. If you do not specify this parameter, the\n instance's Capacity Reservation preference defaults to open, which enables\n it to run in any open Capacity Reservation that has matching attributes (instance type,\n platform, Availability Zone).

" + } + }, + "LicenseSpecifications": { + "target": "com.amazonaws.ec2#LaunchTemplateLicenseSpecificationListRequest", + "traits": { + "smithy.api#documentation": "

The license configurations.

", + "smithy.api#xmlName": "LicenseSpecification" + } + }, + "HibernationOptions": { + "target": "com.amazonaws.ec2#LaunchTemplateHibernationOptionsRequest", "traits": { - "aws.protocols#ec2QueryName": "Successful", - "smithy.api#documentation": "

The IDs of the Dedicated Hosts that were successfully released.

", - "smithy.api#xmlName": "successful" + "smithy.api#documentation": "

Indicates whether an instance is enabled for hibernation. This parameter is valid only\n if the instance meets the hibernation\n prerequisites. For more information, see Hibernate your instance in the\n Amazon Elastic Compute Cloud User Guide.

" } }, - "Unsuccessful": { - "target": "com.amazonaws.ec2#UnsuccessfulItemList", + "MetadataOptions": { + "target": "com.amazonaws.ec2#LaunchTemplateInstanceMetadataOptionsRequest", "traits": { - "aws.protocols#ec2QueryName": "Unsuccessful", - "smithy.api#documentation": "

The IDs of the Dedicated Hosts that could not be released, including an error\n message.

", - "smithy.api#xmlName": "unsuccessful" + "smithy.api#documentation": "

The metadata options for the instance. For more information, see Instance metadata and user data in the\n Amazon Elastic Compute Cloud User Guide.

" } - } - } - }, - "com.amazonaws.ec2#ReleaseIpamPoolAllocation": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ReleaseIpamPoolAllocationRequest" - }, - "output": { - "target": "com.amazonaws.ec2#ReleaseIpamPoolAllocationResult" - }, - "traits": { - "smithy.api#documentation": "

Release an allocation within an IPAM pool. You can only use this action to release manual allocations. To remove an allocation for a resource without deleting the resource, set its monitored state to false using ModifyIpamResourceCidr. For more information, see Release an allocation in the Amazon VPC IPAM User Guide.\n

" - } - }, - "com.amazonaws.ec2#ReleaseIpamPoolAllocationRequest": { - "type": "structure", - "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + }, + "EnclaveOptions": { + "target": "com.amazonaws.ec2#LaunchTemplateEnclaveOptionsRequest", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more\n information, see What is Amazon Web Services Nitro Enclaves?\n in the Amazon Web Services Nitro Enclaves User Guide.

\n

You can't enable Amazon Web Services Nitro Enclaves and hibernation on the same instance.

" } }, - "IpamPoolId": { - "target": "com.amazonaws.ec2#IpamPoolId", + "InstanceRequirements": { + "target": "com.amazonaws.ec2#InstanceRequirementsRequest", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the IPAM pool which contains the allocation you want to release.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with these attributes.

\n

If you specify InstanceRequirements, you can't specify\n InstanceType.

" } }, - "Cidr": { - "target": "com.amazonaws.ec2#String", + "PrivateDnsNameOptions": { + "target": "com.amazonaws.ec2#LaunchTemplatePrivateDnsNameOptionsRequest", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The CIDR of the allocation you want to release.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The options for the instance hostname. The default values are inherited from the\n subnet.

" } }, - "IpamPoolAllocationId": { - "target": "com.amazonaws.ec2#IpamPoolAllocationId", + "MaintenanceOptions": { + "target": "com.amazonaws.ec2#LaunchTemplateInstanceMaintenanceOptionsRequest", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the allocation.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The maintenance options for the instance.

" } - } - } - }, - "com.amazonaws.ec2#ReleaseIpamPoolAllocationResult": { - "type": "structure", - "members": { - "Success": { + }, + "DisableApiStop": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Success", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates if the release was successful.

", - "smithy.api#xmlName": "success" - } - } - } - }, - "com.amazonaws.ec2#RemoveIpamOperatingRegion": { - "type": "structure", - "members": { - "RegionName": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The name of the operating Region you want to remove.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Remove an operating Region from an IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only\n discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

\n

For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide\n

" - } - }, - "com.amazonaws.ec2#RemoveIpamOperatingRegionSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#RemoveIpamOperatingRegion" - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 50 - } - } - }, - "com.amazonaws.ec2#RemovePrefixListEntries": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#RemovePrefixListEntry" - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 100 - } - } - }, - "com.amazonaws.ec2#RemovePrefixListEntry": { - "type": "structure", - "members": { - "Cidr": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The CIDR block.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Indicates whether to enable the instance for stop protection. For more information,\n see Stop\n protection in the Amazon Elastic Compute Cloud User Guide.

" } } }, "traits": { - "smithy.api#documentation": "

An entry for a prefix list.

" + "smithy.api#documentation": "

The information to include in the launch template.

\n \n

You must specify at least one parameter for the launch template data.

\n
", + "smithy.api#sensitive": {} } }, - "com.amazonaws.ec2#ReplaceIamInstanceProfileAssociation": { + "com.amazonaws.ec2#RequestSpotFleet": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ReplaceIamInstanceProfileAssociationRequest" + "target": "com.amazonaws.ec2#RequestSpotFleetRequest" }, "output": { - "target": "com.amazonaws.ec2#ReplaceIamInstanceProfileAssociationResult" + "target": "com.amazonaws.ec2#RequestSpotFleetResponse" }, "traits": { - "smithy.api#documentation": "

Replaces an IAM instance profile for the specified running instance. You can use\n this action to change the IAM instance profile that's associated with an instance\n without having to disassociate the existing IAM instance profile first.

\n

Use DescribeIamInstanceProfileAssociations to get the association\n ID.

" + "smithy.api#documentation": "

Creates a Spot Fleet request.

\n

The Spot Fleet request specifies the total target capacity and the On-Demand target\n capacity. Amazon EC2 calculates the difference between the total capacity and On-Demand\n capacity, and launches the difference as Spot capacity.

\n

You can submit a single request that includes multiple launch specifications that vary\n by instance type, AMI, Availability Zone, or subnet.

\n

By default, the Spot Fleet requests Spot Instances in the Spot Instance pool where the\n price per unit is the lowest. Each launch specification can include its own instance\n weighting that reflects the value of the instance type to your application\n workload.

\n

Alternatively, you can specify that the Spot Fleet distribute the target capacity\n across the Spot pools included in its launch specifications. By ensuring that the Spot\n Instances in your Spot Fleet are in different Spot pools, you can improve the\n availability of your fleet.

\n

You can specify tags for the Spot Fleet request and instances launched by the fleet.\n You cannot tag other resource types in a Spot Fleet request because only the\n spot-fleet-request and instance resource types are\n supported.

\n

For more information, see Spot Fleet requests\n in the Amazon EC2 User Guide.

\n \n

We strongly discourage using the RequestSpotFleet API because it is a legacy\n API with no planned investment. For options for requesting Spot Instances, see\n Which\n is the best Spot request method to use? in the\n Amazon EC2 User Guide.

\n
" } }, - "com.amazonaws.ec2#ReplaceIamInstanceProfileAssociationRequest": { + "com.amazonaws.ec2#RequestSpotFleetRequest": { "type": "structure", "members": { - "IamInstanceProfile": { - "target": "com.amazonaws.ec2#IamInstanceProfileSpecification", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IAM instance profile.

", - "smithy.api#required": {} + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "AssociationId": { - "target": "com.amazonaws.ec2#IamInstanceProfileAssociationId", + "SpotFleetRequestConfig": { + "target": "com.amazonaws.ec2#SpotFleetRequestConfigData", "traits": { + "aws.protocols#ec2QueryName": "SpotFleetRequestConfig", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the existing IAM instance profile association.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The configuration for the Spot Fleet request.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "spotFleetRequestConfig" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for RequestSpotFleet.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ReplaceIamInstanceProfileAssociationResult": { + "com.amazonaws.ec2#RequestSpotFleetResponse": { "type": "structure", "members": { - "IamInstanceProfileAssociation": { - "target": "com.amazonaws.ec2#IamInstanceProfileAssociation", + "SpotFleetRequestId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "IamInstanceProfileAssociation", - "smithy.api#documentation": "

Information about the IAM instance profile association.

", - "smithy.api#xmlName": "iamInstanceProfileAssociation" + "aws.protocols#ec2QueryName": "SpotFleetRequestId", + "smithy.api#documentation": "

The ID of the Spot Fleet request.

", + "smithy.api#xmlName": "spotFleetRequestId" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the output of RequestSpotFleet.

", + "smithy.api#output": {} } }, - "com.amazonaws.ec2#ReplaceNetworkAclAssociation": { + "com.amazonaws.ec2#RequestSpotInstances": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ReplaceNetworkAclAssociationRequest" + "target": "com.amazonaws.ec2#RequestSpotInstancesRequest" }, "output": { - "target": "com.amazonaws.ec2#ReplaceNetworkAclAssociationResult" + "target": "com.amazonaws.ec2#RequestSpotInstancesResult" }, "traits": { - "smithy.api#documentation": "

Changes which network ACL a subnet is associated with. By default when you create a\n\t\t\tsubnet, it's automatically associated with the default network ACL. For more\n\t\t\tinformation, see Network\n\t\t\tACLs in the Amazon Virtual Private Cloud User Guide.

\n

This is an idempotent operation.

" + "smithy.api#documentation": "

Creates a Spot Instance request.

\n

For more information, see Spot Instance requests in\n the Amazon EC2 User Guide for Linux Instances.

\n \n

We strongly discourage using the RequestSpotInstances API because it is a legacy\n API with no planned investment. For options for requesting Spot Instances, see\n Which\n is the best Spot request method to use? in the\n Amazon EC2 User Guide for Linux Instances.

\n
\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon EC2 User Guide for Linux Instances.

\n
" } }, - "com.amazonaws.ec2#ReplaceNetworkAclAssociationRequest": { + "com.amazonaws.ec2#RequestSpotInstancesRequest": { "type": "structure", "members": { - "AssociationId": { - "target": "com.amazonaws.ec2#NetworkAclAssociationId", + "AvailabilityZoneGroup": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AssociationId", + "aws.protocols#ec2QueryName": "AvailabilityZoneGroup", + "smithy.api#documentation": "

The user-specified name for a logical grouping of requests.

\n

When you specify an Availability Zone group in a Spot Instance request, all Spot\n Instances in the request are launched in the same Availability Zone. Instance proximity\n is maintained with this parameter, but the choice of Availability Zone is not. The group\n applies only to requests for Spot Instances of the same instance type. Any additional\n Spot Instance requests that are specified with the same Availability Zone group name are\n launched in that same Availability Zone, as long as at least one instance from the group\n is still active.

\n

If there is no active instance running in the Availability Zone group that you specify\n for a new Spot Instance request (all instances are terminated, the request is expired,\n or the maximum price you specified falls below current Spot price), then Amazon EC2 launches\n the instance in any Availability Zone where the constraint can be met. Consequently, the\n subsequent set of Spot Instances could be placed in a different zone from the original\n request, even if you specified the same Availability Zone group.

\n

Default: Instances are launched in any available Availability Zone.

", + "smithy.api#xmlName": "availabilityZoneGroup" + } + }, + "BlockDurationMinutes": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "BlockDurationMinutes", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the current association between the original network ACL and the subnet.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "associationId" + "smithy.api#default": 0, + "smithy.api#documentation": "

Deprecated.

", + "smithy.api#xmlName": "blockDurationMinutes" + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ClientToken", + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. For more information, see How to Ensure\n Idempotency in the Amazon EC2 User Guide for Linux Instances.

", + "smithy.api#xmlName": "clientToken" } }, "DryRun": { @@ -72823,1107 +78887,1544 @@ "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", "smithy.api#xmlName": "dryRun" } }, - "NetworkAclId": { - "target": "com.amazonaws.ec2#NetworkAclId", + "InstanceCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "NetworkAclId", + "aws.protocols#ec2QueryName": "InstanceCount", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the new network ACL to associate with the subnet.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "networkAclId" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of Spot Instances to launch.

\n

Default: 1

", + "smithy.api#xmlName": "instanceCount" + } + }, + "LaunchGroup": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "LaunchGroup", + "smithy.api#documentation": "

The instance launch group. Launch groups are Spot Instances that launch together and\n terminate together.

\n

Default: Instances are launched and terminated individually

", + "smithy.api#xmlName": "launchGroup" + } + }, + "LaunchSpecification": { + "target": "com.amazonaws.ec2#RequestSpotLaunchSpecification", + "traits": { + "smithy.api#documentation": "

The launch specification.

" + } + }, + "SpotPrice": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "SpotPrice", + "smithy.api#documentation": "

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend \n using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

\n \n

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

\n
", + "smithy.api#xmlName": "spotPrice" + } + }, + "Type": { + "target": "com.amazonaws.ec2#SpotInstanceType", + "traits": { + "aws.protocols#ec2QueryName": "Type", + "smithy.api#documentation": "

The Spot Instance request type.

\n

Default: one-time\n

", + "smithy.api#xmlName": "type" + } + }, + "ValidFrom": { + "target": "com.amazonaws.ec2#DateTime", + "traits": { + "aws.protocols#ec2QueryName": "ValidFrom", + "smithy.api#documentation": "

The start date of the request. If this is a one-time request, the request becomes\n active at this date and time and remains active until all instances launch, the request\n expires, or the request is canceled. If the request is persistent, the request becomes\n active at this date and time and remains active until it expires or is canceled.

\n

The specified start date and time cannot be equal to the current date and time. You\n must specify a start date and time that occurs after the current date and time.

", + "smithy.api#xmlName": "validFrom" + } + }, + "ValidUntil": { + "target": "com.amazonaws.ec2#DateTime", + "traits": { + "aws.protocols#ec2QueryName": "ValidUntil", + "smithy.api#documentation": "

The end date of the request, in UTC format\n (YYYY-MM-DDTHH:MM:SSZ).

\n
    \n
  • \n

    For a persistent request, the request remains active until the\n ValidUntil date and time is reached. Otherwise, the request\n remains active until you cancel it.

    \n
  • \n
  • \n

    For a one-time request, the request remains active until all instances launch,\n the request is canceled, or the ValidUntil date and time is\n reached. By default, the request is valid for 7 days from the date the request\n was created.

    \n
  • \n
", + "smithy.api#xmlName": "validUntil" + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

The key-value pair for tagging the Spot Instance request on creation. The value for\n ResourceType must be spot-instances-request, otherwise the\n Spot Instance request fails. To tag the Spot Instance request after it has been created,\n see CreateTags.

", + "smithy.api#xmlName": "TagSpecification" + } + }, + "InstanceInterruptionBehavior": { + "target": "com.amazonaws.ec2#InstanceInterruptionBehavior", + "traits": { + "smithy.api#documentation": "

The behavior when a Spot Instance is interrupted. The default is terminate.

" } } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for RequestSpotInstances.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ReplaceNetworkAclAssociationResult": { + "com.amazonaws.ec2#RequestSpotInstancesResult": { "type": "structure", "members": { - "NewAssociationId": { - "target": "com.amazonaws.ec2#String", + "SpotInstanceRequests": { + "target": "com.amazonaws.ec2#SpotInstanceRequestList", "traits": { - "aws.protocols#ec2QueryName": "NewAssociationId", - "smithy.api#documentation": "

The ID of the new association.

", - "smithy.api#xmlName": "newAssociationId" + "aws.protocols#ec2QueryName": "SpotInstanceRequestSet", + "smithy.api#documentation": "

One or more Spot Instance requests.

", + "smithy.api#xmlName": "spotInstanceRequestSet" } } - } - }, - "com.amazonaws.ec2#ReplaceNetworkAclEntry": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ReplaceNetworkAclEntryRequest" - }, - "output": { - "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Replaces an entry (rule) in a network ACL. For more information, see Network ACLs in the\n\t\t\t\tAmazon Virtual Private Cloud User Guide.

" + "smithy.api#documentation": "

Contains the output of RequestSpotInstances.

" } }, - "com.amazonaws.ec2#ReplaceNetworkAclEntryRequest": { + "com.amazonaws.ec2#RequestSpotLaunchSpecification": { "type": "structure", "members": { - "CidrBlock": { + "SecurityGroupIds": { + "target": "com.amazonaws.ec2#RequestSpotLaunchSpecificationSecurityGroupIdList", + "traits": { + "smithy.api#documentation": "

One or more security group IDs.

", + "smithy.api#xmlName": "SecurityGroupId" + } + }, + "SecurityGroups": { + "target": "com.amazonaws.ec2#RequestSpotLaunchSpecificationSecurityGroupList", + "traits": { + "smithy.api#documentation": "

One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.

", + "smithy.api#xmlName": "SecurityGroup" + } + }, + "AddressingType": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CidrBlock", - "smithy.api#documentation": "

The IPv4 network range to allow or deny, in CIDR notation (for example\n 172.16.0.0/24).

", - "smithy.api#xmlName": "cidrBlock" + "aws.protocols#ec2QueryName": "AddressingType", + "smithy.api#documentation": "

Deprecated.

", + "smithy.api#xmlName": "addressingType" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "BlockDeviceMappings": { + "target": "com.amazonaws.ec2#BlockDeviceMappingList", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "aws.protocols#ec2QueryName": "BlockDeviceMapping", + "smithy.api#documentation": "

One or more block device mapping entries. You can't specify both a snapshot ID and an encryption value. \n This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume, \n it is not blank and its encryption status is used for the volume encryption status.

", + "smithy.api#xmlName": "blockDeviceMapping" } }, - "Egress": { + "EbsOptimized": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Egress", + "aws.protocols#ec2QueryName": "EbsOptimized", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to replace the egress rule.

\n\t\t

Default: If no value is specified, we replace the ingress rule.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "egress" + "smithy.api#documentation": "

Indicates whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

\n

Default: false\n

", + "smithy.api#xmlName": "ebsOptimized" } }, - "IcmpTypeCode": { - "target": "com.amazonaws.ec2#IcmpTypeCode", + "IamInstanceProfile": { + "target": "com.amazonaws.ec2#IamInstanceProfileSpecification", "traits": { - "smithy.api#documentation": "

ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol\n\t\t 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.

", - "smithy.api#xmlName": "Icmp" + "aws.protocols#ec2QueryName": "IamInstanceProfile", + "smithy.api#documentation": "

The IAM instance profile.

", + "smithy.api#xmlName": "iamInstanceProfile" } }, - "Ipv6CidrBlock": { - "target": "com.amazonaws.ec2#String", + "ImageId": { + "target": "com.amazonaws.ec2#ImageId", "traits": { - "aws.protocols#ec2QueryName": "Ipv6CidrBlock", - "smithy.api#documentation": "

The IPv6 network range to allow or deny, in CIDR notation (for example\n 2001:bd8:1234:1a00::/64).

", - "smithy.api#xmlName": "ipv6CidrBlock" + "aws.protocols#ec2QueryName": "ImageId", + "smithy.api#documentation": "

The ID of the AMI.

", + "smithy.api#xmlName": "imageId" } }, - "NetworkAclId": { - "target": "com.amazonaws.ec2#NetworkAclId", + "InstanceType": { + "target": "com.amazonaws.ec2#InstanceType", "traits": { - "aws.protocols#ec2QueryName": "NetworkAclId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the ACL.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "networkAclId" + "aws.protocols#ec2QueryName": "InstanceType", + "smithy.api#documentation": "

The instance type. Only one instance type can be specified.

", + "smithy.api#xmlName": "instanceType" } }, - "PortRange": { - "target": "com.amazonaws.ec2#PortRange", + "KernelId": { + "target": "com.amazonaws.ec2#KernelId", "traits": { - "aws.protocols#ec2QueryName": "PortRange", - "smithy.api#documentation": "

TCP or UDP protocols: The range of ports the rule applies to. \n\t\t Required if specifying protocol 6 (TCP) or 17 (UDP).

", - "smithy.api#xmlName": "portRange" + "aws.protocols#ec2QueryName": "KernelId", + "smithy.api#documentation": "

The ID of the kernel.

", + "smithy.api#xmlName": "kernelId" } }, - "Protocol": { - "target": "com.amazonaws.ec2#String", + "KeyName": { + "target": "com.amazonaws.ec2#KeyPairName", "traits": { - "aws.protocols#ec2QueryName": "Protocol", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The protocol number. A value of \"-1\" means all protocols. If you specify \"-1\" or a\n protocol number other than \"6\" (TCP), \"17\" (UDP), or \"1\" (ICMP), traffic on all ports is \n allowed, regardless of any ports or ICMP types or codes that you specify. If you specify \n protocol \"58\" (ICMPv6) and specify an IPv4 CIDR block, traffic for all ICMP types and \n codes allowed, regardless of any that you specify. If you specify protocol \"58\" (ICMPv6) \n and specify an IPv6 CIDR block, you must specify an ICMP type and code.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "protocol" + "aws.protocols#ec2QueryName": "KeyName", + "smithy.api#documentation": "

The name of the key pair.

", + "smithy.api#xmlName": "keyName" } }, - "RuleAction": { - "target": "com.amazonaws.ec2#RuleAction", + "Monitoring": { + "target": "com.amazonaws.ec2#RunInstancesMonitoringEnabled", "traits": { - "aws.protocols#ec2QueryName": "RuleAction", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

Indicates whether to allow or deny the traffic that matches the rule.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "ruleAction" + "aws.protocols#ec2QueryName": "Monitoring", + "smithy.api#documentation": "

Indicates whether basic or detailed monitoring is enabled for the instance.

\n

Default: Disabled

", + "smithy.api#xmlName": "monitoring" } }, - "RuleNumber": { - "target": "com.amazonaws.ec2#Integer", + "NetworkInterfaces": { + "target": "com.amazonaws.ec2#InstanceNetworkInterfaceSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "RuleNumber", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The rule number of the entry to replace.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "ruleNumber" + "smithy.api#documentation": "

One or more network interfaces. If you specify a network interface, you must specify \n subnet IDs and security group IDs using the network interface.

", + "smithy.api#xmlName": "NetworkInterface" + } + }, + "Placement": { + "target": "com.amazonaws.ec2#SpotPlacement", + "traits": { + "aws.protocols#ec2QueryName": "Placement", + "smithy.api#documentation": "

The placement information for the instance.

", + "smithy.api#xmlName": "placement" + } + }, + "RamdiskId": { + "target": "com.amazonaws.ec2#RamdiskId", + "traits": { + "aws.protocols#ec2QueryName": "RamdiskId", + "smithy.api#documentation": "

The ID of the RAM disk.

", + "smithy.api#xmlName": "ramdiskId" + } + }, + "SubnetId": { + "target": "com.amazonaws.ec2#SubnetId", + "traits": { + "aws.protocols#ec2QueryName": "SubnetId", + "smithy.api#documentation": "

The ID of the subnet in which to launch the instance.

", + "smithy.api#xmlName": "subnetId" + } + }, + "UserData": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "UserData", + "smithy.api#documentation": "

The Base64-encoded user data for the instance. User data is limited to 16 KB.

", + "smithy.api#xmlName": "userData" } } + }, + "traits": { + "smithy.api#documentation": "

Describes the launch specification for an instance.

" } }, - "com.amazonaws.ec2#ReplaceRootVolumeTask": { + "com.amazonaws.ec2#RequestSpotLaunchSpecificationSecurityGroupIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SecurityGroupId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#RequestSpotLaunchSpecificationSecurityGroupList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#Reservation": { "type": "structure", "members": { - "ReplaceRootVolumeTaskId": { - "target": "com.amazonaws.ec2#ReplaceRootVolumeTaskId", + "Groups": { + "target": "com.amazonaws.ec2#GroupIdentifierList", "traits": { - "aws.protocols#ec2QueryName": "ReplaceRootVolumeTaskId", - "smithy.api#documentation": "

The ID of the root volume replacement task.

", - "smithy.api#xmlName": "replaceRootVolumeTaskId" + "aws.protocols#ec2QueryName": "GroupSet", + "smithy.api#documentation": "

[EC2-Classic only] The security groups.

", + "smithy.api#xmlName": "groupSet" } }, - "InstanceId": { + "Instances": { + "target": "com.amazonaws.ec2#InstanceList", + "traits": { + "aws.protocols#ec2QueryName": "InstancesSet", + "smithy.api#documentation": "

The instances.

", + "smithy.api#xmlName": "instancesSet" + } + }, + "OwnerId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#documentation": "

The ID of the instance for which the root volume replacement task was created.

", - "smithy.api#xmlName": "instanceId" + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the reservation.

", + "smithy.api#xmlName": "ownerId" } }, - "TaskState": { - "target": "com.amazonaws.ec2#ReplaceRootVolumeTaskState", + "RequesterId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TaskState", - "smithy.api#documentation": "

The state of the task. The task can be in one of the following states:

\n
    \n
  • \n

    \n pending - the replacement volume is being created.

    \n
  • \n
  • \n

    \n in-progress - the original volume is being detached and the \n replacement volume is being attached.

    \n
  • \n
  • \n

    \n succeeded - the replacement volume has been successfully attached \n to the instance and the instance is available.

    \n
  • \n
  • \n

    \n failing - the replacement task is in the process of failing.

    \n
  • \n
  • \n

    \n failed - the replacement task has failed but the original root \n volume is still attached.

    \n
  • \n
  • \n

    \n failing-detached - the replacement task is in the process of failing. \n The instance might have no root volume attached.

    \n
  • \n
  • \n

    \n failed-detached - the replacement task has failed and the instance \n has no root volume attached.

    \n
  • \n
", - "smithy.api#xmlName": "taskState" + "aws.protocols#ec2QueryName": "RequesterId", + "smithy.api#documentation": "

The ID of the requester that launched the instances on your behalf (for example,\n Amazon Web Services Management Console or Auto Scaling).

", + "smithy.api#xmlName": "requesterId" } }, - "StartTime": { + "ReservationId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "StartTime", - "smithy.api#documentation": "

The time the task was started.

", - "smithy.api#xmlName": "startTime" + "aws.protocols#ec2QueryName": "ReservationId", + "smithy.api#documentation": "

The ID of the reservation.

", + "smithy.api#xmlName": "reservationId" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a launch request for one or more instances, and includes owner, requester,\n and security group information that applies to all instances in the launch\n request.

" + } + }, + "com.amazonaws.ec2#ReservationFleetInstanceSpecification": { + "type": "structure", + "members": { + "InstanceType": { + "target": "com.amazonaws.ec2#InstanceType", + "traits": { + "smithy.api#documentation": "

The instance type for which the Capacity Reservation Fleet reserves capacity.

" } }, - "CompleteTime": { - "target": "com.amazonaws.ec2#String", + "InstancePlatform": { + "target": "com.amazonaws.ec2#CapacityReservationInstancePlatform", "traits": { - "aws.protocols#ec2QueryName": "CompleteTime", - "smithy.api#documentation": "

The time the task completed.

", - "smithy.api#xmlName": "completeTime" + "smithy.api#documentation": "

The type of operating system for which the Capacity Reservation Fleet reserves capacity.

" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "Weight": { + "target": "com.amazonaws.ec2#DoubleWithConstraints", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags assigned to the task.

", - "smithy.api#xmlName": "tagSet" + "smithy.api#documentation": "

The number of capacity units provided by the specified instance type. This value, together with the \n\t\t\ttotal target capacity that you specify for the Fleet determine the number of instances for which the \n\t\t\tFleet reserves capacity. Both values are based on units that make sense for your workload. For more \n\t\t\tinformation, see Total target capacity \n\t\t\tin the Amazon EC2 User Guide.

" } }, - "ImageId": { - "target": "com.amazonaws.ec2#ImageId", + "AvailabilityZone": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ImageId", - "smithy.api#documentation": "

The ID of the AMI used to create the replacement root volume.

", - "smithy.api#xmlName": "imageId" + "smithy.api#documentation": "

The Availability Zone in which the Capacity Reservation Fleet reserves the capacity. A Capacity \n\t\t\tReservation Fleet can't span Availability Zones. All instance type specifications that you specify \n\t\t\tfor the Fleet must use the same Availability Zone.

" } }, - "SnapshotId": { - "target": "com.amazonaws.ec2#SnapshotId", + "AvailabilityZoneId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SnapshotId", - "smithy.api#documentation": "

The ID of the snapshot used to create the replacement root volume.

", - "smithy.api#xmlName": "snapshotId" + "smithy.api#documentation": "

The ID of the Availability Zone in which the Capacity Reservation Fleet reserves the capacity. A \n\t\t\tCapacity Reservation Fleet can't span Availability Zones. All instance type specifications that you \n\t\t\tspecify for the Fleet must use the same Availability Zone.

" } }, - "DeleteReplacedRootVolume": { + "EbsOptimized": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DeleteReplacedRootVolume", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the original root volume is to be deleted after the root volume \n replacement task completes.

", - "smithy.api#xmlName": "deleteReplacedRootVolume" + "smithy.api#documentation": "

Indicates whether the Capacity Reservation Fleet supports EBS-optimized instances types. This \n\t\t\toptimization provides dedicated throughput to Amazon EBS and an optimized configuration stack \n\t\t\tto provide optimal I/O performance. This optimization isn't available with all instance types. Additional \n\t\t\tusage charges apply when using EBS-optimized instance types.

" + } + }, + "Priority": { + "target": "com.amazonaws.ec2#IntegerWithConstraints", + "traits": { + "smithy.api#documentation": "

The priority to assign to the instance type. This value is used to determine which of the instance types \n\t\t\tspecified for the Fleet should be prioritized for use. A lower value indicates a high priority. For more \n\t\t\tinformation, see Instance type priority \n\t\t\tin the Amazon EC2 User Guide.

" } } }, "traits": { - "smithy.api#documentation": "

Information about a root volume replacement task.

" + "smithy.api#documentation": "

Information about an instance type to use in a Capacity Reservation Fleet.

" } }, - "com.amazonaws.ec2#ReplaceRootVolumeTaskId": { + "com.amazonaws.ec2#ReservationFleetInstanceSpecificationList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ReservationFleetInstanceSpecification" + } + }, + "com.amazonaws.ec2#ReservationId": { "type": "string" }, - "com.amazonaws.ec2#ReplaceRootVolumeTaskIds": { + "com.amazonaws.ec2#ReservationList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#ReplaceRootVolumeTaskId", + "target": "com.amazonaws.ec2#Reservation", "traits": { - "smithy.api#xmlName": "ReplaceRootVolumeTaskId" + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#ReplaceRootVolumeTaskState": { + "com.amazonaws.ec2#ReservationState": { "type": "enum", "members": { - "pending": { + "PAYMENT_PENDING": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "pending" + "smithy.api#enumValue": "payment-pending" } }, - "in_progress": { + "PAYMENT_FAILED": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "in-progress" + "smithy.api#enumValue": "payment-failed" } }, - "failing": { + "ACTIVE": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "failing" + "smithy.api#enumValue": "active" } }, - "succeeded": { + "RETIRED": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "succeeded" + "smithy.api#enumValue": "retired" + } + } + } + }, + "com.amazonaws.ec2#ReservationValue": { + "type": "structure", + "members": { + "HourlyPrice": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "HourlyPrice", + "smithy.api#documentation": "

The hourly rate of the reservation.

", + "smithy.api#xmlName": "hourlyPrice" } }, - "failed": { - "target": "smithy.api#Unit", + "RemainingTotalValue": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "failed" + "aws.protocols#ec2QueryName": "RemainingTotalValue", + "smithy.api#documentation": "

The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice * number of hours remaining).

", + "smithy.api#xmlName": "remainingTotalValue" } }, - "failed_detached": { - "target": "smithy.api#Unit", + "RemainingUpfrontValue": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "failed-detached" + "aws.protocols#ec2QueryName": "RemainingUpfrontValue", + "smithy.api#documentation": "

The remaining upfront cost of the reservation.

", + "smithy.api#xmlName": "remainingUpfrontValue" } } + }, + "traits": { + "smithy.api#documentation": "

The cost associated with the Reserved Instance.

" } }, - "com.amazonaws.ec2#ReplaceRootVolumeTasks": { + "com.amazonaws.ec2#ReservedInstanceIdSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#ReplaceRootVolumeTask", + "target": "com.amazonaws.ec2#ReservationId", "traits": { - "smithy.api#xmlName": "item" + "smithy.api#xmlName": "ReservedInstanceId" } } }, - "com.amazonaws.ec2#ReplaceRoute": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ReplaceRouteRequest" - }, - "output": { - "target": "smithy.api#Unit" + "com.amazonaws.ec2#ReservedInstanceLimitPrice": { + "type": "structure", + "members": { + "Amount": { + "target": "com.amazonaws.ec2#Double", + "traits": { + "aws.protocols#ec2QueryName": "Amount", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

Used for Reserved Instance Marketplace offerings. Specifies the limit price on the total order (instanceCount * price).

", + "smithy.api#xmlName": "amount" + } + }, + "CurrencyCode": { + "target": "com.amazonaws.ec2#CurrencyCodeValues", + "traits": { + "aws.protocols#ec2QueryName": "CurrencyCode", + "smithy.api#documentation": "

The currency in which the limitPrice amount is specified.\n\t\t\t\tAt this time, the only supported currency is USD.

", + "smithy.api#xmlName": "currencyCode" + } + } }, "traits": { - "smithy.api#documentation": "

Replaces an existing route within a route table in a VPC.

\n

You must specify either a destination CIDR block or a prefix list ID. You must also specify \n exactly one of the resources from the parameter list, or reset the local route to its default \n target.

\n

For more information, see Route tables in the\n Amazon Virtual Private Cloud User Guide.

" + "smithy.api#documentation": "

Describes the limit price of a Reserved Instance offering.

" } }, - "com.amazonaws.ec2#ReplaceRouteRequest": { + "com.amazonaws.ec2#ReservedInstanceReservationValue": { "type": "structure", "members": { - "DestinationCidrBlock": { - "target": "com.amazonaws.ec2#String", + "ReservationValue": { + "target": "com.amazonaws.ec2#ReservationValue", "traits": { - "aws.protocols#ec2QueryName": "DestinationCidrBlock", - "smithy.api#documentation": "

The IPv4 CIDR address block used for the destination match. The value that you\n\t\t\tprovide must match the CIDR of an existing route in the table.

", - "smithy.api#xmlName": "destinationCidrBlock" + "aws.protocols#ec2QueryName": "ReservationValue", + "smithy.api#documentation": "

The total value of the Convertible Reserved Instance that you are exchanging.

", + "smithy.api#xmlName": "reservationValue" } }, - "DestinationIpv6CidrBlock": { + "ReservedInstanceId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DestinationIpv6CidrBlock", - "smithy.api#documentation": "

The IPv6 CIDR address block used for the destination match. The value that you\n\t\t\tprovide must match the CIDR of an existing route in the table.

", - "smithy.api#xmlName": "destinationIpv6CidrBlock" + "aws.protocols#ec2QueryName": "ReservedInstanceId", + "smithy.api#documentation": "

The ID of the Convertible Reserved Instance that you are exchanging.

", + "smithy.api#xmlName": "reservedInstanceId" + } + } + }, + "traits": { + "smithy.api#documentation": "

The total value of the Convertible Reserved Instance.

" + } + }, + "com.amazonaws.ec2#ReservedInstanceReservationValueSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ReservedInstanceReservationValue", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ReservedInstanceState": { + "type": "enum", + "members": { + "payment_pending": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "payment-pending" } }, - "DestinationPrefixListId": { - "target": "com.amazonaws.ec2#PrefixListResourceId", + "active": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The ID of the prefix list for the route.

" + "smithy.api#enumValue": "active" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "payment_failed": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#enumValue": "payment-failed" } }, - "VpcEndpointId": { - "target": "com.amazonaws.ec2#VpcEndpointId", + "retired": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The ID of a VPC endpoint. Supported for Gateway Load Balancer endpoints only.

" + "smithy.api#enumValue": "retired" } }, - "EgressOnlyInternetGatewayId": { - "target": "com.amazonaws.ec2#EgressOnlyInternetGatewayId", + "queued": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "EgressOnlyInternetGatewayId", - "smithy.api#documentation": "

[IPv6 traffic only] The ID of an egress-only internet gateway.

", - "smithy.api#xmlName": "egressOnlyInternetGatewayId" + "smithy.api#enumValue": "queued" } }, - "GatewayId": { - "target": "com.amazonaws.ec2#RouteGatewayId", + "queued_deleted": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "GatewayId", - "smithy.api#documentation": "

The ID of an internet gateway or virtual private gateway.

", - "smithy.api#xmlName": "gatewayId" + "smithy.api#enumValue": "queued-deleted" + } + } + } + }, + "com.amazonaws.ec2#ReservedInstances": { + "type": "structure", + "members": { + "AvailabilityZone": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AvailabilityZone", + "smithy.api#documentation": "

The Availability Zone in which the Reserved Instance can be used.

", + "smithy.api#xmlName": "availabilityZone" } }, - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", + "Duration": { + "target": "com.amazonaws.ec2#Long", "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#documentation": "

The ID of a NAT instance in your VPC.

", - "smithy.api#xmlName": "instanceId" + "aws.protocols#ec2QueryName": "Duration", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The duration of the Reserved Instance, in seconds.

", + "smithy.api#xmlName": "duration" } }, - "LocalTarget": { - "target": "com.amazonaws.ec2#Boolean", + "End": { + "target": "com.amazonaws.ec2#DateTime", + "traits": { + "aws.protocols#ec2QueryName": "End", + "smithy.api#documentation": "

The time when the Reserved Instance expires.

", + "smithy.api#xmlName": "end" + } + }, + "FixedPrice": { + "target": "com.amazonaws.ec2#Float", "traits": { + "aws.protocols#ec2QueryName": "FixedPrice", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Specifies whether to reset the local route to its default target (local).

" + "smithy.api#default": 0, + "smithy.api#documentation": "

The purchase price of the Reserved Instance.

", + "smithy.api#xmlName": "fixedPrice" } }, - "NatGatewayId": { - "target": "com.amazonaws.ec2#NatGatewayId", + "InstanceCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "NatGatewayId", - "smithy.api#documentation": "

[IPv4 traffic only] The ID of a NAT gateway.

", - "smithy.api#xmlName": "natGatewayId" + "aws.protocols#ec2QueryName": "InstanceCount", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of reservations purchased.

", + "smithy.api#xmlName": "instanceCount" } }, - "TransitGatewayId": { - "target": "com.amazonaws.ec2#TransitGatewayId", + "InstanceType": { + "target": "com.amazonaws.ec2#InstanceType", "traits": { - "smithy.api#documentation": "

The ID of a transit gateway.

" + "aws.protocols#ec2QueryName": "InstanceType", + "smithy.api#documentation": "

The instance type on which the Reserved Instance can be used.

", + "smithy.api#xmlName": "instanceType" } }, - "LocalGatewayId": { - "target": "com.amazonaws.ec2#LocalGatewayId", + "ProductDescription": { + "target": "com.amazonaws.ec2#RIProductDescription", "traits": { - "smithy.api#documentation": "

The ID of the local gateway.

" + "aws.protocols#ec2QueryName": "ProductDescription", + "smithy.api#documentation": "

The Reserved Instance product platform description.

", + "smithy.api#xmlName": "productDescription" } }, - "CarrierGatewayId": { - "target": "com.amazonaws.ec2#CarrierGatewayId", + "ReservedInstancesId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

[IPv4 traffic only] The ID of a carrier gateway.

" + "aws.protocols#ec2QueryName": "ReservedInstancesId", + "smithy.api#documentation": "

The ID of the Reserved Instance.

", + "smithy.api#xmlName": "reservedInstancesId" } }, - "NetworkInterfaceId": { - "target": "com.amazonaws.ec2#NetworkInterfaceId", + "Start": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceId", - "smithy.api#documentation": "

The ID of a network interface.

", - "smithy.api#xmlName": "networkInterfaceId" + "aws.protocols#ec2QueryName": "Start", + "smithy.api#documentation": "

The date and time the Reserved Instance started.

", + "smithy.api#xmlName": "start" } }, - "RouteTableId": { - "target": "com.amazonaws.ec2#RouteTableId", + "State": { + "target": "com.amazonaws.ec2#ReservedInstanceState", "traits": { - "aws.protocols#ec2QueryName": "RouteTableId", + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the Reserved Instance purchase.

", + "smithy.api#xmlName": "state" + } + }, + "UsagePrice": { + "target": "com.amazonaws.ec2#Float", + "traits": { + "aws.protocols#ec2QueryName": "UsagePrice", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the route table.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "routeTableId" + "smithy.api#default": 0, + "smithy.api#documentation": "

The usage price of the Reserved Instance, per hour.

", + "smithy.api#xmlName": "usagePrice" } }, - "VpcPeeringConnectionId": { - "target": "com.amazonaws.ec2#VpcPeeringConnectionId", + "CurrencyCode": { + "target": "com.amazonaws.ec2#CurrencyCodeValues", "traits": { - "aws.protocols#ec2QueryName": "VpcPeeringConnectionId", - "smithy.api#documentation": "

The ID of a VPC peering connection.

", - "smithy.api#xmlName": "vpcPeeringConnectionId" + "aws.protocols#ec2QueryName": "CurrencyCode", + "smithy.api#documentation": "

The currency of the Reserved Instance. It's specified using ISO 4217 standard currency codes.\n\t\t\t\tAt this time, the only supported currency is USD.

", + "smithy.api#xmlName": "currencyCode" } }, - "CoreNetworkArn": { - "target": "com.amazonaws.ec2#CoreNetworkArn", + "InstanceTenancy": { + "target": "com.amazonaws.ec2#Tenancy", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the core network.

" + "aws.protocols#ec2QueryName": "InstanceTenancy", + "smithy.api#documentation": "

The tenancy of the instance.

", + "smithy.api#xmlName": "instanceTenancy" } - } - } - }, - "com.amazonaws.ec2#ReplaceRouteTableAssociation": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ReplaceRouteTableAssociationRequest" - }, - "output": { - "target": "com.amazonaws.ec2#ReplaceRouteTableAssociationResult" - }, - "traits": { - "smithy.api#documentation": "

Changes the route table associated with a given subnet, internet gateway, or virtual private gateway in a VPC. After the operation\n completes, the subnet or gateway uses the routes in the new route table. For more\n information about route tables, see Route\n tables in the Amazon Virtual Private Cloud User Guide.

\n

You can also use this operation to change which table is the main route table in the VPC. Specify the main route table's association ID and the route table ID of the new main route table.

" - } - }, - "com.amazonaws.ec2#ReplaceRouteTableAssociationRequest": { - "type": "structure", - "members": { - "AssociationId": { - "target": "com.amazonaws.ec2#RouteTableAssociationId", + }, + "OfferingClass": { + "target": "com.amazonaws.ec2#OfferingClassType", "traits": { - "aws.protocols#ec2QueryName": "AssociationId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The association ID.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "associationId" + "aws.protocols#ec2QueryName": "OfferingClass", + "smithy.api#documentation": "

The offering class of the Reserved Instance.

", + "smithy.api#xmlName": "offeringClass" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "OfferingType": { + "target": "com.amazonaws.ec2#OfferingTypeValues", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "aws.protocols#ec2QueryName": "OfferingType", + "smithy.api#documentation": "

The Reserved Instance offering type.

", + "smithy.api#xmlName": "offeringType" } }, - "RouteTableId": { - "target": "com.amazonaws.ec2#RouteTableId", + "RecurringCharges": { + "target": "com.amazonaws.ec2#RecurringChargesList", "traits": { - "aws.protocols#ec2QueryName": "RouteTableId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the new route table to associate with the subnet.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "routeTableId" + "aws.protocols#ec2QueryName": "RecurringCharges", + "smithy.api#documentation": "

The recurring charge tag assigned to the resource.

", + "smithy.api#xmlName": "recurringCharges" } - } - } - }, - "com.amazonaws.ec2#ReplaceRouteTableAssociationResult": { - "type": "structure", - "members": { - "NewAssociationId": { - "target": "com.amazonaws.ec2#String", + }, + "Scope": { + "target": "com.amazonaws.ec2#scope", "traits": { - "aws.protocols#ec2QueryName": "NewAssociationId", - "smithy.api#documentation": "

The ID of the new association.

", - "smithy.api#xmlName": "newAssociationId" + "aws.protocols#ec2QueryName": "Scope", + "smithy.api#documentation": "

The scope of the Reserved Instance.

", + "smithy.api#xmlName": "scope" } }, - "AssociationState": { - "target": "com.amazonaws.ec2#RouteTableAssociationState", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "AssociationState", - "smithy.api#documentation": "

The state of the association.

", - "smithy.api#xmlName": "associationState" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Any tags assigned to the resource.

", + "smithy.api#xmlName": "tagSet" } } - } - }, - "com.amazonaws.ec2#ReplaceTransitGatewayRoute": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ReplaceTransitGatewayRouteRequest" - }, - "output": { - "target": "com.amazonaws.ec2#ReplaceTransitGatewayRouteResult" }, "traits": { - "smithy.api#documentation": "

Replaces the specified route in the specified transit gateway route table.

" + "smithy.api#documentation": "

Describes a Reserved Instance.

" } }, - "com.amazonaws.ec2#ReplaceTransitGatewayRouteRequest": { + "com.amazonaws.ec2#ReservedInstancesConfiguration": { "type": "structure", "members": { - "DestinationCidrBlock": { + "AvailabilityZone": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The CIDR range used for the destination match. Routing decisions are based on the most specific match.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "AvailabilityZone", + "smithy.api#documentation": "

The Availability Zone for the modified Reserved Instances.

", + "smithy.api#xmlName": "availabilityZone" } }, - "TransitGatewayRouteTableId": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", + "InstanceCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "InstanceCount", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the route table.

", - "smithy.api#required": {} + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of modified Reserved Instances.

\n \n

This is a required field for a request.

\n
", + "smithy.api#xmlName": "instanceCount" } }, - "TransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", + "InstanceType": { + "target": "com.amazonaws.ec2#InstanceType", "traits": { - "smithy.api#documentation": "

The ID of the attachment.

" + "aws.protocols#ec2QueryName": "InstanceType", + "smithy.api#documentation": "

The instance type for the modified Reserved Instances.

", + "smithy.api#xmlName": "instanceType" } }, - "Blackhole": { - "target": "com.amazonaws.ec2#Boolean", + "Platform": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether traffic matching this route is to be dropped.

" + "aws.protocols#ec2QueryName": "Platform", + "smithy.api#documentation": "

The network platform of the modified Reserved Instances, which is either EC2-Classic or EC2-VPC.

", + "smithy.api#xmlName": "platform" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Scope": { + "target": "com.amazonaws.ec2#scope", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "Scope", + "smithy.api#documentation": "

Whether the Reserved Instance is applied to instances in a Region or instances in a specific Availability Zone.

", + "smithy.api#xmlName": "scope" } } + }, + "traits": { + "smithy.api#documentation": "

Describes the configuration settings for the modified Reserved Instances.

" } }, - "com.amazonaws.ec2#ReplaceTransitGatewayRouteResult": { + "com.amazonaws.ec2#ReservedInstancesConfigurationList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ReservedInstancesConfiguration", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ReservedInstancesId": { "type": "structure", "members": { - "Route": { - "target": "com.amazonaws.ec2#TransitGatewayRoute", + "ReservedInstancesId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Route", - "smithy.api#documentation": "

Information about the modified route.

", - "smithy.api#xmlName": "route" + "aws.protocols#ec2QueryName": "ReservedInstancesId", + "smithy.api#documentation": "

The ID of the Reserved Instance.

", + "smithy.api#xmlName": "reservedInstancesId" } } + }, + "traits": { + "smithy.api#documentation": "

Describes the ID of a Reserved Instance.

" + } + }, + "com.amazonaws.ec2#ReservedInstancesIdStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ReservationId", + "traits": { + "smithy.api#xmlName": "ReservedInstancesId" + } } }, - "com.amazonaws.ec2#ReplacementStrategy": { - "type": "enum", - "members": { - "LAUNCH": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "launch" - } - }, - "LAUNCH_BEFORE_TERMINATE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "launch-before-terminate" - } + "com.amazonaws.ec2#ReservedInstancesList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ReservedInstances", + "traits": { + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#ReportInstanceReasonCodes": { - "type": "enum", + "com.amazonaws.ec2#ReservedInstancesListing": { + "type": "structure", "members": { - "instance_stuck_in_state": { - "target": "smithy.api#Unit", + "ClientToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "instance-stuck-in-state" + "aws.protocols#ec2QueryName": "ClientToken", + "smithy.api#documentation": "

A unique, case-sensitive key supplied by the client to ensure that the request is\n\t\t\tidempotent. For more information, see Ensuring Idempotency.

", + "smithy.api#xmlName": "clientToken" } }, - "unresponsive": { - "target": "smithy.api#Unit", + "CreateDate": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "smithy.api#enumValue": "unresponsive" + "aws.protocols#ec2QueryName": "CreateDate", + "smithy.api#documentation": "

The time the listing was created.

", + "smithy.api#xmlName": "createDate" } }, - "not_accepting_credentials": { - "target": "smithy.api#Unit", + "InstanceCounts": { + "target": "com.amazonaws.ec2#InstanceCountList", "traits": { - "smithy.api#enumValue": "not-accepting-credentials" + "aws.protocols#ec2QueryName": "InstanceCounts", + "smithy.api#documentation": "

The number of instances in this state.

", + "smithy.api#xmlName": "instanceCounts" } }, - "password_not_available": { - "target": "smithy.api#Unit", + "PriceSchedules": { + "target": "com.amazonaws.ec2#PriceScheduleList", "traits": { - "smithy.api#enumValue": "password-not-available" + "aws.protocols#ec2QueryName": "PriceSchedules", + "smithy.api#documentation": "

The price of the Reserved Instance listing.

", + "smithy.api#xmlName": "priceSchedules" } }, - "performance_network": { - "target": "smithy.api#Unit", + "ReservedInstancesId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "performance-network" + "aws.protocols#ec2QueryName": "ReservedInstancesId", + "smithy.api#documentation": "

The ID of the Reserved Instance.

", + "smithy.api#xmlName": "reservedInstancesId" } }, - "performance_instance_store": { - "target": "smithy.api#Unit", + "ReservedInstancesListingId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "performance-instance-store" + "aws.protocols#ec2QueryName": "ReservedInstancesListingId", + "smithy.api#documentation": "

The ID of the Reserved Instance listing.

", + "smithy.api#xmlName": "reservedInstancesListingId" } }, - "performance_ebs_volume": { - "target": "smithy.api#Unit", + "Status": { + "target": "com.amazonaws.ec2#ListingStatus", "traits": { - "smithy.api#enumValue": "performance-ebs-volume" + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The status of the Reserved Instance listing.

", + "smithy.api#xmlName": "status" } }, - "performance_other": { - "target": "smithy.api#Unit", + "StatusMessage": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "performance-other" + "aws.protocols#ec2QueryName": "StatusMessage", + "smithy.api#documentation": "

The reason for the current status of the Reserved Instance listing. The response can be blank.

", + "smithy.api#xmlName": "statusMessage" } }, - "other": { - "target": "smithy.api#Unit", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "smithy.api#enumValue": "other" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Any tags assigned to the resource.

", + "smithy.api#xmlName": "tagSet" + } + }, + "UpdateDate": { + "target": "com.amazonaws.ec2#DateTime", + "traits": { + "aws.protocols#ec2QueryName": "UpdateDate", + "smithy.api#documentation": "

The last modified timestamp of the listing.

", + "smithy.api#xmlName": "updateDate" } } - } - }, - "com.amazonaws.ec2#ReportInstanceStatus": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ReportInstanceStatusRequest" - }, - "output": { - "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Submits feedback about the status of an instance. The instance must be in the\n running state. If your experience with the instance differs from the\n instance status returned by DescribeInstanceStatus, use ReportInstanceStatus to report your experience with the instance. Amazon\n EC2 collects this information to improve the accuracy of status checks.

\n

Use of this action does not change the value returned by DescribeInstanceStatus.

" + "smithy.api#documentation": "

Describes a Reserved Instance listing.

" } }, - "com.amazonaws.ec2#ReportInstanceStatusRequest": { + "com.amazonaws.ec2#ReservedInstancesListingId": { + "type": "string" + }, + "com.amazonaws.ec2#ReservedInstancesListingList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ReservedInstancesListing", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ReservedInstancesModification": { "type": "structure", "members": { - "Description": { + "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

Descriptive text about the health state of your instance.

", - "smithy.api#xmlName": "description" + "aws.protocols#ec2QueryName": "ClientToken", + "smithy.api#documentation": "

A unique, case-sensitive key supplied by the client to ensure that the request is idempotent.\n\t\t\tFor more information, see Ensuring\n\t\t\t\tIdempotency.

", + "smithy.api#xmlName": "clientToken" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "CreateDate": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "aws.protocols#ec2QueryName": "CreateDate", + "smithy.api#documentation": "

The time when the modification request was created.

", + "smithy.api#xmlName": "createDate" } }, - "EndTime": { + "EffectiveDate": { "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "EndTime", - "smithy.api#documentation": "

The time at which the reported instance health state ended.

", - "smithy.api#xmlName": "endTime" + "aws.protocols#ec2QueryName": "EffectiveDate", + "smithy.api#documentation": "

The time for the modification to become effective.

", + "smithy.api#xmlName": "effectiveDate" } }, - "Instances": { - "target": "com.amazonaws.ec2#InstanceIdStringList", + "ModificationResults": { + "target": "com.amazonaws.ec2#ReservedInstancesModificationResultList", "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The instances.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "instanceId" + "aws.protocols#ec2QueryName": "ModificationResultSet", + "smithy.api#documentation": "

Contains target configurations along with their corresponding new Reserved Instance IDs.

", + "smithy.api#xmlName": "modificationResultSet" } }, - "ReasonCodes": { - "target": "com.amazonaws.ec2#ReasonCodesList", + "ReservedInstancesIds": { + "target": "com.amazonaws.ec2#ReservedIntancesIds", "traits": { - "aws.protocols#ec2QueryName": "ReasonCode", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The reason codes that describe the health state of your instance.

\n
    \n
  • \n

    \n instance-stuck-in-state: My instance is stuck in a state.

    \n
  • \n
  • \n

    \n unresponsive: My instance is unresponsive.

    \n
  • \n
  • \n

    \n not-accepting-credentials: My instance is not accepting my\n credentials.

    \n
  • \n
  • \n

    \n password-not-available: A password is not available for my\n instance.

    \n
  • \n
  • \n

    \n performance-network: My instance is experiencing performance\n problems that I believe are network related.

    \n
  • \n
  • \n

    \n performance-instance-store: My instance is experiencing performance\n problems that I believe are related to the instance stores.

    \n
  • \n
  • \n

    \n performance-ebs-volume: My instance is experiencing performance\n problems that I believe are related to an EBS volume.

    \n
  • \n
  • \n

    \n performance-other: My instance is experiencing performance\n problems.

    \n
  • \n
  • \n

    \n other: [explain using the description parameter]

    \n
  • \n
", - "smithy.api#required": {}, - "smithy.api#xmlName": "reasonCode" + "aws.protocols#ec2QueryName": "ReservedInstancesSet", + "smithy.api#documentation": "

The IDs of one or more Reserved Instances.

", + "smithy.api#xmlName": "reservedInstancesSet" } }, - "StartTime": { - "target": "com.amazonaws.ec2#DateTime", + "ReservedInstancesModificationId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "StartTime", - "smithy.api#documentation": "

The time at which the reported instance health state began.

", - "smithy.api#xmlName": "startTime" + "aws.protocols#ec2QueryName": "ReservedInstancesModificationId", + "smithy.api#documentation": "

A unique ID for the Reserved Instance modification.

", + "smithy.api#xmlName": "reservedInstancesModificationId" } }, "Status": { - "target": "com.amazonaws.ec2#ReportStatusType", + "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "Status", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The status of all instances listed.

", - "smithy.api#required": {}, + "smithy.api#documentation": "

The status of the Reserved Instances modification request.

", "smithy.api#xmlName": "status" } - } - } - }, - "com.amazonaws.ec2#ReportStatusType": { - "type": "enum", - "members": { - "ok": { - "target": "smithy.api#Unit", + }, + "StatusMessage": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "ok" + "aws.protocols#ec2QueryName": "StatusMessage", + "smithy.api#documentation": "

The reason for the status.

", + "smithy.api#xmlName": "statusMessage" } }, - "impaired": { - "target": "smithy.api#Unit", + "UpdateDate": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "smithy.api#enumValue": "impaired" + "aws.protocols#ec2QueryName": "UpdateDate", + "smithy.api#documentation": "

The time when the modification request was last updated.

", + "smithy.api#xmlName": "updateDate" } } + }, + "traits": { + "smithy.api#documentation": "

Describes a Reserved Instance modification.

" } }, - "com.amazonaws.ec2#RequestHostIdList": { + "com.amazonaws.ec2#ReservedInstancesModificationId": { + "type": "string" + }, + "com.amazonaws.ec2#ReservedInstancesModificationIdStringList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#DedicatedHostId", + "target": "com.amazonaws.ec2#ReservedInstancesModificationId", "traits": { - "smithy.api#xmlName": "item" + "smithy.api#xmlName": "ReservedInstancesModificationId" } } }, - "com.amazonaws.ec2#RequestHostIdSet": { + "com.amazonaws.ec2#ReservedInstancesModificationList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#DedicatedHostId", + "target": "com.amazonaws.ec2#ReservedInstancesModification", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#RequestInstanceTypeList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#InstanceType" - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 100 - } - } - }, - "com.amazonaws.ec2#RequestIpamResourceTag": { + "com.amazonaws.ec2#ReservedInstancesModificationResult": { "type": "structure", "members": { - "Key": { + "ReservedInstancesId": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

" + "aws.protocols#ec2QueryName": "ReservedInstancesId", + "smithy.api#documentation": "

The ID for the Reserved Instances that were created as part of the modification request. This field is only available when the modification is fulfilled.

", + "smithy.api#xmlName": "reservedInstancesId" } }, - "Value": { - "target": "com.amazonaws.ec2#String", + "TargetConfiguration": { + "target": "com.amazonaws.ec2#ReservedInstancesConfiguration", "traits": { - "smithy.api#documentation": "

The value for the tag.

" + "aws.protocols#ec2QueryName": "TargetConfiguration", + "smithy.api#documentation": "

The target Reserved Instances configurations supplied as part of the modification request.

", + "smithy.api#xmlName": "targetConfiguration" } } }, "traits": { - "smithy.api#documentation": "

A tag on an IPAM resource.

" + "smithy.api#documentation": "

Describes the modification request/s.

" } }, - "com.amazonaws.ec2#RequestIpamResourceTagList": { + "com.amazonaws.ec2#ReservedInstancesModificationResultList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#RequestIpamResourceTag", + "target": "com.amazonaws.ec2#ReservedInstancesModificationResult", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#RequestLaunchTemplateData": { + "com.amazonaws.ec2#ReservedInstancesOffering": { "type": "structure", "members": { - "KernelId": { - "target": "com.amazonaws.ec2#KernelId", + "AvailabilityZone": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The ID of the kernel.

\n \n

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more\n information, see User provided\n kernels in the Amazon Elastic Compute Cloud User Guide.

\n
" + "aws.protocols#ec2QueryName": "AvailabilityZone", + "smithy.api#documentation": "

The Availability Zone in which the Reserved Instance can be used.

", + "smithy.api#xmlName": "availabilityZone" } }, - "EbsOptimized": { - "target": "com.amazonaws.ec2#Boolean", + "Duration": { + "target": "com.amazonaws.ec2#Long", "traits": { + "aws.protocols#ec2QueryName": "Duration", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the instance is optimized for Amazon EBS I/O. This optimization\n provides dedicated throughput to Amazon EBS and an optimized configuration stack to\n provide optimal Amazon EBS I/O performance. This optimization isn't available with all\n instance types. Additional usage charges apply when using an EBS-optimized\n instance.

" - } - }, - "IamInstanceProfile": { - "target": "com.amazonaws.ec2#LaunchTemplateIamInstanceProfileSpecificationRequest", - "traits": { - "smithy.api#documentation": "

The name or Amazon Resource Name (ARN) of an IAM instance profile.

" - } - }, - "BlockDeviceMappings": { - "target": "com.amazonaws.ec2#LaunchTemplateBlockDeviceMappingRequestList", - "traits": { - "smithy.api#documentation": "

The block device mapping.

", - "smithy.api#xmlName": "BlockDeviceMapping" + "smithy.api#default": 0, + "smithy.api#documentation": "

The duration of the Reserved Instance, in seconds.

", + "smithy.api#xmlName": "duration" } }, - "NetworkInterfaces": { - "target": "com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecificationRequestList", + "FixedPrice": { + "target": "com.amazonaws.ec2#Float", "traits": { - "smithy.api#documentation": "

One or more network interfaces. If you specify a network interface, you must specify\n any security groups and subnets as part of the network interface.

", - "smithy.api#xmlName": "NetworkInterface" + "aws.protocols#ec2QueryName": "FixedPrice", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The purchase price of the Reserved Instance.

", + "smithy.api#xmlName": "fixedPrice" } }, - "ImageId": { - "target": "com.amazonaws.ec2#ImageId", + "InstanceType": { + "target": "com.amazonaws.ec2#InstanceType", "traits": { - "smithy.api#documentation": "

The ID of the AMI.

" + "aws.protocols#ec2QueryName": "InstanceType", + "smithy.api#documentation": "

The instance type on which the Reserved Instance can be used.

", + "smithy.api#xmlName": "instanceType" } }, - "InstanceType": { - "target": "com.amazonaws.ec2#InstanceType", + "ProductDescription": { + "target": "com.amazonaws.ec2#RIProductDescription", "traits": { - "smithy.api#documentation": "

The instance type. For more information, see Instance types in the\n Amazon Elastic Compute Cloud User Guide.

\n

If you specify InstanceType, you can't specify\n InstanceRequirements.

" + "aws.protocols#ec2QueryName": "ProductDescription", + "smithy.api#documentation": "

The Reserved Instance product platform description.

", + "smithy.api#xmlName": "productDescription" } }, - "KeyName": { - "target": "com.amazonaws.ec2#KeyPairName", + "ReservedInstancesOfferingId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The name of the key pair. You can create a key pair using CreateKeyPair or\n ImportKeyPair.

\n \n

If you do not specify a key pair, you can't connect to the instance unless you\n choose an AMI that is configured to allow users another way to log in.

\n
" + "aws.protocols#ec2QueryName": "ReservedInstancesOfferingId", + "smithy.api#documentation": "

The ID of the Reserved Instance offering. This is the offering ID used in GetReservedInstancesExchangeQuote \n to confirm that an exchange can be made.

", + "smithy.api#xmlName": "reservedInstancesOfferingId" } }, - "Monitoring": { - "target": "com.amazonaws.ec2#LaunchTemplatesMonitoringRequest", + "UsagePrice": { + "target": "com.amazonaws.ec2#Float", "traits": { - "smithy.api#documentation": "

The monitoring for the instance.

" + "aws.protocols#ec2QueryName": "UsagePrice", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The usage price of the Reserved Instance, per hour.

", + "smithy.api#xmlName": "usagePrice" } }, - "Placement": { - "target": "com.amazonaws.ec2#LaunchTemplatePlacementRequest", + "CurrencyCode": { + "target": "com.amazonaws.ec2#CurrencyCodeValues", "traits": { - "smithy.api#documentation": "

The placement for the instance.

" + "aws.protocols#ec2QueryName": "CurrencyCode", + "smithy.api#documentation": "

The currency of the Reserved Instance offering you are purchasing. It's \n\t\t\t\tspecified using ISO 4217 standard currency codes. At this time, \n\t\t\t\tthe only supported currency is USD.

", + "smithy.api#xmlName": "currencyCode" } }, - "RamDiskId": { - "target": "com.amazonaws.ec2#RamdiskId", + "InstanceTenancy": { + "target": "com.amazonaws.ec2#Tenancy", "traits": { - "smithy.api#documentation": "

The ID of the RAM disk.

\n \n

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more\n information, see User provided\n kernels in the Amazon Elastic Compute Cloud User Guide.

\n
" + "aws.protocols#ec2QueryName": "InstanceTenancy", + "smithy.api#documentation": "

The tenancy of the instance.

", + "smithy.api#xmlName": "instanceTenancy" } }, - "DisableApiTermination": { + "Marketplace": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "Marketplace", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

If you set this parameter to true, you can't terminate the instance using\n the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute after\n launch, use ModifyInstanceAttribute. Alternatively, if you set\n InstanceInitiatedShutdownBehavior to terminate, you can\n terminate the instance by running the shutdown command from the instance.

" + "smithy.api#documentation": "

Indicates whether the offering is available through the Reserved Instance Marketplace (resale) or Amazon Web Services. \n If it's a Reserved Instance Marketplace offering, this is true.

", + "smithy.api#xmlName": "marketplace" } }, - "InstanceInitiatedShutdownBehavior": { - "target": "com.amazonaws.ec2#ShutdownBehavior", + "OfferingClass": { + "target": "com.amazonaws.ec2#OfferingClassType", "traits": { - "smithy.api#documentation": "

Indicates whether an instance stops or terminates when you initiate shutdown from the\n instance (using the operating system command for system shutdown).

\n

Default: stop\n

" + "aws.protocols#ec2QueryName": "OfferingClass", + "smithy.api#documentation": "

If convertible it can be exchanged for Reserved Instances of\n the same or higher monetary value, with different configurations. If standard, it is not \n possible to perform an exchange.

", + "smithy.api#xmlName": "offeringClass" } }, - "UserData": { - "target": "com.amazonaws.ec2#String", + "OfferingType": { + "target": "com.amazonaws.ec2#OfferingTypeValues", "traits": { - "smithy.api#documentation": "

The user data to make available to the instance. You must provide base64-encoded text.\n User data is limited to 16 KB. For more information, see Run commands on your Linux instance at\n launch (Linux) or Work with instance\n user data (Windows) in the Amazon Elastic Compute Cloud User Guide.

\n\n

If you are creating the launch template for use with Batch, the user\n data must be provided in the MIME multi-part archive format. For more information, see Amazon EC2 user data in launch templates in the Batch User Guide.

" + "aws.protocols#ec2QueryName": "OfferingType", + "smithy.api#documentation": "

The Reserved Instance offering type.

", + "smithy.api#xmlName": "offeringType" } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#LaunchTemplateTagSpecificationRequestList", + "PricingDetails": { + "target": "com.amazonaws.ec2#PricingDetailsList", "traits": { - "smithy.api#documentation": "

The tags to apply to the resources that are created during instance launch.

\n

You can specify tags for the following resources only:

\n
    \n
  • \n

    Instances

    \n
  • \n
  • \n

    Volumes

    \n
  • \n
  • \n

    Elastic graphics

    \n
  • \n
  • \n

    Spot Instance requests

    \n
  • \n
  • \n

    Network interfaces

    \n
  • \n
\n

To tag a resource after it has been created, see CreateTags.

\n \n

To tag the launch template itself, you must use the TagSpecification parameter.

\n
", - "smithy.api#xmlName": "TagSpecification" + "aws.protocols#ec2QueryName": "PricingDetailsSet", + "smithy.api#documentation": "

The pricing details of the Reserved Instance offering.

", + "smithy.api#xmlName": "pricingDetailsSet" } }, - "ElasticGpuSpecifications": { - "target": "com.amazonaws.ec2#ElasticGpuSpecificationList", + "RecurringCharges": { + "target": "com.amazonaws.ec2#RecurringChargesList", "traits": { - "smithy.api#documentation": "

An elastic GPU to associate with the instance.

", - "smithy.api#xmlName": "ElasticGpuSpecification" + "aws.protocols#ec2QueryName": "RecurringCharges", + "smithy.api#documentation": "

The recurring charge tag assigned to the resource.

", + "smithy.api#xmlName": "recurringCharges" } }, - "ElasticInferenceAccelerators": { - "target": "com.amazonaws.ec2#LaunchTemplateElasticInferenceAcceleratorList", + "Scope": { + "target": "com.amazonaws.ec2#scope", "traits": { - "smithy.api#documentation": "

The elastic inference accelerator for the instance.

", - "smithy.api#xmlName": "ElasticInferenceAccelerator" + "aws.protocols#ec2QueryName": "Scope", + "smithy.api#documentation": "

Whether the Reserved Instance is applied to instances in a Region or an Availability Zone.

", + "smithy.api#xmlName": "scope" } - }, - "SecurityGroupIds": { - "target": "com.amazonaws.ec2#SecurityGroupIdStringList", + } + }, + "traits": { + "smithy.api#documentation": "

Describes a Reserved Instance offering.

" + } + }, + "com.amazonaws.ec2#ReservedInstancesOfferingId": { + "type": "string" + }, + "com.amazonaws.ec2#ReservedInstancesOfferingIdStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ReservedInstancesOfferingId" + } + }, + "com.amazonaws.ec2#ReservedInstancesOfferingList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ReservedInstancesOffering", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ReservedIntancesIds": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ReservedInstancesId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ResetAddressAttribute": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ResetAddressAttributeRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ResetAddressAttributeResult" + }, + "traits": { + "smithy.api#documentation": "

Resets the attribute of the specified IP address. For requirements, see Using reverse DNS for email applications.

" + } + }, + "com.amazonaws.ec2#ResetAddressAttributeRequest": { + "type": "structure", + "members": { + "AllocationId": { + "target": "com.amazonaws.ec2#AllocationId", "traits": { - "smithy.api#documentation": "

One or more security group IDs. You can create a security group using CreateSecurityGroup. You cannot specify both a security group ID and\n security name in the same request.

", - "smithy.api#xmlName": "SecurityGroupId" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

[EC2-VPC] The allocation ID.

", + "smithy.api#required": {} } }, - "SecurityGroups": { - "target": "com.amazonaws.ec2#SecurityGroupStringList", + "Attribute": { + "target": "com.amazonaws.ec2#AddressAttributeName", "traits": { - "smithy.api#documentation": "

One or more security group names. For a nondefault VPC, you must use security group\n IDs instead. You cannot specify both a security group ID and security name in the same\n request.

", - "smithy.api#xmlName": "SecurityGroup" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The attribute of the IP address.

", + "smithy.api#required": {} } }, - "InstanceMarketOptions": { - "target": "com.amazonaws.ec2#LaunchTemplateInstanceMarketOptionsRequest", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The market (purchasing) option for the instances.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - }, - "CreditSpecification": { - "target": "com.amazonaws.ec2#CreditSpecificationRequest", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#ResetAddressAttributeResult": { + "type": "structure", + "members": { + "Address": { + "target": "com.amazonaws.ec2#AddressAttribute", "traits": { - "smithy.api#documentation": "

The credit option for CPU usage of the instance. Valid only for T instances.

" + "aws.protocols#ec2QueryName": "Address", + "smithy.api#documentation": "

Information about the IP address.

", + "smithy.api#xmlName": "address" } - }, - "CpuOptions": { - "target": "com.amazonaws.ec2#LaunchTemplateCpuOptionsRequest", + } + } + }, + "com.amazonaws.ec2#ResetEbsDefaultKmsKeyId": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ResetEbsDefaultKmsKeyIdRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ResetEbsDefaultKmsKeyIdResult" + }, + "traits": { + "smithy.api#documentation": "

Resets the default KMS key for EBS encryption for your account in this Region \n to the Amazon Web Services managed KMS key for EBS.

\n

After resetting the default KMS key to the Amazon Web Services managed KMS key, you can continue to encrypt by a \n customer managed KMS key by specifying it when you create the volume. For more information, see\n Amazon EBS encryption\n in the Amazon Elastic Compute Cloud User Guide.

" + } + }, + "com.amazonaws.ec2#ResetEbsDefaultKmsKeyIdRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User\n Guide.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } - }, - "CapacityReservationSpecification": { - "target": "com.amazonaws.ec2#LaunchTemplateCapacityReservationSpecificationRequest", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#ResetEbsDefaultKmsKeyIdResult": { + "type": "structure", + "members": { + "KmsKeyId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The Capacity Reservation targeting option. If you do not specify this parameter, the\n instance's Capacity Reservation preference defaults to open, which enables\n it to run in any open Capacity Reservation that has matching attributes (instance type,\n platform, Availability Zone).

" + "aws.protocols#ec2QueryName": "KmsKeyId", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the default KMS key for EBS encryption by default.

", + "smithy.api#xmlName": "kmsKeyId" } - }, - "LicenseSpecifications": { - "target": "com.amazonaws.ec2#LaunchTemplateLicenseSpecificationListRequest", + } + } + }, + "com.amazonaws.ec2#ResetFpgaImageAttribute": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ResetFpgaImageAttributeRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ResetFpgaImageAttributeResult" + }, + "traits": { + "smithy.api#documentation": "

Resets the specified attribute of the specified Amazon FPGA Image (AFI) to its default value.\n\t\t You can only reset the load permission attribute.

" + } + }, + "com.amazonaws.ec2#ResetFpgaImageAttributeName": { + "type": "enum", + "members": { + "loadPermission": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The license configurations.

", - "smithy.api#xmlName": "LicenseSpecification" + "smithy.api#enumValue": "loadPermission" } - }, - "HibernationOptions": { - "target": "com.amazonaws.ec2#LaunchTemplateHibernationOptionsRequest", + } + } + }, + "com.amazonaws.ec2#ResetFpgaImageAttributeRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

Indicates whether an instance is enabled for hibernation. This parameter is valid only\n if the instance meets the hibernation\n prerequisites. For more information, see Hibernate your instance in the\n Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "MetadataOptions": { - "target": "com.amazonaws.ec2#LaunchTemplateInstanceMetadataOptionsRequest", + "FpgaImageId": { + "target": "com.amazonaws.ec2#FpgaImageId", "traits": { - "smithy.api#documentation": "

The metadata options for the instance. For more information, see Instance metadata and user data in the\n Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the AFI.

", + "smithy.api#required": {} } }, - "EnclaveOptions": { - "target": "com.amazonaws.ec2#LaunchTemplateEnclaveOptionsRequest", + "Attribute": { + "target": "com.amazonaws.ec2#ResetFpgaImageAttributeName", "traits": { - "smithy.api#documentation": "

Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more\n information, see What is Amazon Web Services Nitro Enclaves?\n in the Amazon Web Services Nitro Enclaves User Guide.

\n

You can't enable Amazon Web Services Nitro Enclaves and hibernation on the same instance.

" + "smithy.api#documentation": "

The attribute.

" } - }, - "InstanceRequirements": { - "target": "com.amazonaws.ec2#InstanceRequirementsRequest", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#ResetFpgaImageAttributeResult": { + "type": "structure", + "members": { + "Return": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with these attributes.

\n

If you specify InstanceRequirements, you can't specify\n InstanceType.

" + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Is true if the request succeeds, and an error otherwise.

", + "smithy.api#xmlName": "return" } - }, - "PrivateDnsNameOptions": { - "target": "com.amazonaws.ec2#LaunchTemplatePrivateDnsNameOptionsRequest", + } + } + }, + "com.amazonaws.ec2#ResetImageAttribute": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ResetImageAttributeRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "

Resets an attribute of an AMI to its default value.

" + } + }, + "com.amazonaws.ec2#ResetImageAttributeName": { + "type": "enum", + "members": { + "launchPermission": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The options for the instance hostname. The default values are inherited from the\n subnet.

" + "smithy.api#enumValue": "launchPermission" + } + } + } + }, + "com.amazonaws.ec2#ResetImageAttributeRequest": { + "type": "structure", + "members": { + "Attribute": { + "target": "com.amazonaws.ec2#ResetImageAttributeName", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The attribute to reset (currently you can only reset the launch permission attribute).

", + "smithy.api#required": {} } }, - "MaintenanceOptions": { - "target": "com.amazonaws.ec2#LaunchTemplateInstanceMaintenanceOptionsRequest", + "ImageId": { + "target": "com.amazonaws.ec2#ImageId", "traits": { - "smithy.api#documentation": "

The maintenance options for the instance.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the AMI.

", + "smithy.api#required": {} } }, - "DisableApiStop": { + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to enable the instance for stop protection. For more information,\n see Stop\n Protection.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } } }, "traits": { - "smithy.api#documentation": "

The information to include in the launch template.

\n \n

You must specify at least one parameter for the launch template data.

\n
", - "smithy.api#sensitive": {} + "smithy.api#documentation": "

Contains the parameters for ResetImageAttribute.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#RequestSpotFleet": { + "com.amazonaws.ec2#ResetInstanceAttribute": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#RequestSpotFleetRequest" + "target": "com.amazonaws.ec2#ResetInstanceAttributeRequest" }, "output": { - "target": "com.amazonaws.ec2#RequestSpotFleetResponse" + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Creates a Spot Fleet request.

\n

The Spot Fleet request specifies the total target capacity and the On-Demand target\n capacity. Amazon EC2 calculates the difference between the total capacity and On-Demand\n capacity, and launches the difference as Spot capacity.

\n

You can submit a single request that includes multiple launch specifications that vary\n by instance type, AMI, Availability Zone, or subnet.

\n

By default, the Spot Fleet requests Spot Instances in the Spot Instance pool where the\n price per unit is the lowest. Each launch specification can include its own instance\n weighting that reflects the value of the instance type to your application\n workload.

\n

Alternatively, you can specify that the Spot Fleet distribute the target capacity\n across the Spot pools included in its launch specifications. By ensuring that the Spot\n Instances in your Spot Fleet are in different Spot pools, you can improve the\n availability of your fleet.

\n

You can specify tags for the Spot Fleet request and instances launched by the fleet.\n You cannot tag other resource types in a Spot Fleet request because only the\n spot-fleet-request and instance resource types are\n supported.

\n

For more information, see Spot Fleet requests\n in the Amazon EC2 User Guide.

\n \n \n

We strongly discourage using the RequestSpotFleet API because it is a legacy\n API with no planned investment. For options for requesting Spot Instances, see\n Which\n is the best Spot request method to use? in the\n Amazon EC2 User Guide.

\n
" + "smithy.api#documentation": "

Resets an attribute of an instance to its default value. To reset the\n kernel or ramdisk, the instance must be in a stopped\n state. To reset the sourceDestCheck, the instance can be either running or\n stopped.

\n

The sourceDestCheck attribute controls whether source/destination\n checking is enabled. The default value is true, which means checking is\n enabled. This value must be false for a NAT instance to perform NAT. For\n more information, see NAT Instances in the\n Amazon VPC User Guide.

" } }, - "com.amazonaws.ec2#RequestSpotFleetRequest": { + "com.amazonaws.ec2#ResetInstanceAttributeRequest": { "type": "structure", "members": { + "Attribute": { + "target": "com.amazonaws.ec2#InstanceAttributeName", + "traits": { + "aws.protocols#ec2QueryName": "Attribute", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The attribute to reset.

\n \n

You can only reset the following attributes: kernel |\n ramdisk | sourceDestCheck.

\n
", + "smithy.api#required": {}, + "smithy.api#xmlName": "attribute" + } + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", "smithy.api#xmlName": "dryRun" } }, - "SpotFleetRequestConfig": { - "target": "com.amazonaws.ec2#SpotFleetRequestConfigData", + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", "traits": { - "aws.protocols#ec2QueryName": "SpotFleetRequestConfig", + "aws.protocols#ec2QueryName": "InstanceId", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The configuration for the Spot Fleet request.

", + "smithy.api#documentation": "

The ID of the instance.

", "smithy.api#required": {}, - "smithy.api#xmlName": "spotFleetRequestConfig" + "smithy.api#xmlName": "instanceId" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for RequestSpotFleet.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#RequestSpotFleetResponse": { + "com.amazonaws.ec2#ResetNetworkInterfaceAttribute": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ResetNetworkInterfaceAttributeRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "

Resets a network interface attribute. You can specify only one attribute at a time.

" + } + }, + "com.amazonaws.ec2#ResetNetworkInterfaceAttributeRequest": { "type": "structure", "members": { - "SpotFleetRequestId": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + }, + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#NetworkInterfaceId", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the network interface.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "networkInterfaceId" + } + }, + "SourceDestCheck": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SpotFleetRequestId", - "smithy.api#documentation": "

The ID of the Spot Fleet request.

", - "smithy.api#xmlName": "spotFleetRequestId" + "aws.protocols#ec2QueryName": "SourceDestCheck", + "smithy.api#documentation": "

The source/destination checking attribute. Resets the value to true.

", + "smithy.api#xmlName": "sourceDestCheck" } } }, "traits": { - "smithy.api#documentation": "

Contains the output of RequestSpotFleet.

" + "smithy.api#documentation": "

Contains the parameters for ResetNetworkInterfaceAttribute.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#RequestSpotInstances": { + "com.amazonaws.ec2#ResetSnapshotAttribute": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#RequestSpotInstancesRequest" + "target": "com.amazonaws.ec2#ResetSnapshotAttributeRequest" }, "output": { - "target": "com.amazonaws.ec2#RequestSpotInstancesResult" + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Creates a Spot Instance request.

\n

For more information, see Spot Instance requests in\n the Amazon EC2 User Guide for Linux Instances.

\n \n \n

We strongly discourage using the RequestSpotInstances API because it is a legacy\n API with no planned investment. For options for requesting Spot Instances, see\n Which\n is the best Spot request method to use? in the\n Amazon EC2 User Guide for Linux Instances.

\n
\n \n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon EC2 User Guide for Linux Instances.

\n
" + "smithy.api#documentation": "

Resets permission settings for the specified snapshot.

\n

For more information about modifying snapshot permissions, see Share a snapshot in the\n Amazon Elastic Compute Cloud User Guide.

" } }, - "com.amazonaws.ec2#RequestSpotInstancesRequest": { + "com.amazonaws.ec2#ResetSnapshotAttributeRequest": { "type": "structure", "members": { - "AvailabilityZoneGroup": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZoneGroup", - "smithy.api#documentation": "

The user-specified name for a logical grouping of requests.

\n

When you specify an Availability Zone group in a Spot Instance request, all Spot\n Instances in the request are launched in the same Availability Zone. Instance proximity\n is maintained with this parameter, but the choice of Availability Zone is not. The group\n applies only to requests for Spot Instances of the same instance type. Any additional\n Spot Instance requests that are specified with the same Availability Zone group name are\n launched in that same Availability Zone, as long as at least one instance from the group\n is still active.

\n

If there is no active instance running in the Availability Zone group that you specify\n for a new Spot Instance request (all instances are terminated, the request is expired,\n or the maximum price you specified falls below current Spot price), then Amazon EC2 launches\n the instance in any Availability Zone where the constraint can be met. Consequently, the\n subsequent set of Spot Instances could be placed in a different zone from the original\n request, even if you specified the same Availability Zone group.

\n

Default: Instances are launched in any available Availability Zone.

", - "smithy.api#xmlName": "availabilityZoneGroup" - } - }, - "BlockDurationMinutes": { - "target": "com.amazonaws.ec2#Integer", + "Attribute": { + "target": "com.amazonaws.ec2#SnapshotAttributeName", "traits": { - "aws.protocols#ec2QueryName": "BlockDurationMinutes", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

Deprecated.

", - "smithy.api#xmlName": "blockDurationMinutes" + "smithy.api#documentation": "

The attribute to reset. Currently, only the attribute for permission to create volumes can\n be reset.

", + "smithy.api#required": {} } }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", + "SnapshotId": { + "target": "com.amazonaws.ec2#SnapshotId", "traits": { - "aws.protocols#ec2QueryName": "ClientToken", - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. For more information, see How to Ensure\n Idempotency in the Amazon EC2 User Guide for Linux Instances.

", - "smithy.api#xmlName": "clientToken" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the snapshot.

", + "smithy.api#required": {} } }, "DryRun": { @@ -73932,1307 +80433,1035 @@ "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually\n making the request, and provides an error response. If you have the required\n permissions, the error response is DryRunOperation. Otherwise, it is\n UnauthorizedOperation.

", + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", "smithy.api#xmlName": "dryRun" } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#ResourceArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1283 + } + } + }, + "com.amazonaws.ec2#ResourceIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#TaggableResourceId" + } + }, + "com.amazonaws.ec2#ResourceList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ResourceStatement": { + "type": "structure", + "members": { + "Resources": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "aws.protocols#ec2QueryName": "ResourceSet", + "smithy.api#documentation": "

The resources.

", + "smithy.api#xmlName": "resourceSet" + } }, - "InstanceCount": { - "target": "com.amazonaws.ec2#Integer", + "ResourceTypes": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "aws.protocols#ec2QueryName": "InstanceCount", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of Spot Instances to launch.

\n

Default: 1

", - "smithy.api#xmlName": "instanceCount" + "aws.protocols#ec2QueryName": "ResourceTypeSet", + "smithy.api#documentation": "

The resource types.

", + "smithy.api#xmlName": "resourceTypeSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a resource statement.

" + } + }, + "com.amazonaws.ec2#ResourceStatementRequest": { + "type": "structure", + "members": { + "Resources": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "smithy.api#documentation": "

The resources.

", + "smithy.api#xmlName": "Resource" } }, - "LaunchGroup": { - "target": "com.amazonaws.ec2#String", + "ResourceTypes": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "aws.protocols#ec2QueryName": "LaunchGroup", - "smithy.api#documentation": "

The instance launch group. Launch groups are Spot Instances that launch together and\n terminate together.

\n

Default: Instances are launched and terminated individually

", - "smithy.api#xmlName": "launchGroup" + "smithy.api#documentation": "

The resource types.

", + "smithy.api#xmlName": "ResourceType" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a resource statement.

" + } + }, + "com.amazonaws.ec2#ResourceType": { + "type": "enum", + "members": { + "capacity_reservation": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "capacity-reservation" } }, - "LaunchSpecification": { - "target": "com.amazonaws.ec2#RequestSpotLaunchSpecification", + "client_vpn_endpoint": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The launch specification.

" + "smithy.api#enumValue": "client-vpn-endpoint" } }, - "SpotPrice": { - "target": "com.amazonaws.ec2#String", + "customer_gateway": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SpotPrice", - "smithy.api#documentation": "

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend \n using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

\n \n

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

\n
", - "smithy.api#xmlName": "spotPrice" + "smithy.api#enumValue": "customer-gateway" } }, - "Type": { - "target": "com.amazonaws.ec2#SpotInstanceType", + "carrier_gateway": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Type", - "smithy.api#documentation": "

The Spot Instance request type.

\n

Default: one-time\n

", - "smithy.api#xmlName": "type" + "smithy.api#enumValue": "carrier-gateway" } }, - "ValidFrom": { - "target": "com.amazonaws.ec2#DateTime", + "coip_pool": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ValidFrom", - "smithy.api#documentation": "

The start date of the request. If this is a one-time request, the request becomes\n active at this date and time and remains active until all instances launch, the request\n expires, or the request is canceled. If the request is persistent, the request becomes\n active at this date and time and remains active until it expires or is canceled.

\n

The specified start date and time cannot be equal to the current date and time. You\n must specify a start date and time that occurs after the current date and time.

", - "smithy.api#xmlName": "validFrom" + "smithy.api#enumValue": "coip-pool" } }, - "ValidUntil": { - "target": "com.amazonaws.ec2#DateTime", + "dedicated_host": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ValidUntil", - "smithy.api#documentation": "

The end date of the request, in UTC format\n (YYYY-MM-DDTHH:MM:SSZ).

\n
    \n
  • \n

    For a persistent request, the request remains active until the\n ValidUntil date and time is reached. Otherwise, the request\n remains active until you cancel it.

    \n
  • \n
  • \n

    For a one-time request, the request remains active until all instances launch,\n the request is canceled, or the ValidUntil date and time is\n reached. By default, the request is valid for 7 days from the date the request\n was created.

    \n
  • \n
", - "smithy.api#xmlName": "validUntil" + "smithy.api#enumValue": "dedicated-host" } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + "dhcp_options": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The key-value pair for tagging the Spot Instance request on creation. The value for\n ResourceType must be spot-instances-request, otherwise the\n Spot Instance request fails. To tag the Spot Instance request after it has been created,\n see CreateTags.

", - "smithy.api#xmlName": "TagSpecification" + "smithy.api#enumValue": "dhcp-options" } }, - "InstanceInterruptionBehavior": { - "target": "com.amazonaws.ec2#InstanceInterruptionBehavior", + "egress_only_internet_gateway": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The behavior when a Spot Instance is interrupted. The default is terminate.

" + "smithy.api#enumValue": "egress-only-internet-gateway" } - } - }, - "traits": { - "smithy.api#documentation": "

Contains the parameters for RequestSpotInstances.

" - } - }, - "com.amazonaws.ec2#RequestSpotInstancesResult": { - "type": "structure", - "members": { - "SpotInstanceRequests": { - "target": "com.amazonaws.ec2#SpotInstanceRequestList", + }, + "elastic_ip": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SpotInstanceRequestSet", - "smithy.api#documentation": "

One or more Spot Instance requests.

", - "smithy.api#xmlName": "spotInstanceRequestSet" + "smithy.api#enumValue": "elastic-ip" } - } - }, - "traits": { - "smithy.api#documentation": "

Contains the output of RequestSpotInstances.

" - } - }, - "com.amazonaws.ec2#RequestSpotLaunchSpecification": { - "type": "structure", - "members": { - "SecurityGroupIds": { - "target": "com.amazonaws.ec2#RequestSpotLaunchSpecificationSecurityGroupIdList", + }, + "elastic_gpu": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

One or more security group IDs.

", - "smithy.api#xmlName": "SecurityGroupId" + "smithy.api#enumValue": "elastic-gpu" + } + }, + "export_image_task": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "export-image-task" + } + }, + "export_instance_task": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "export-instance-task" + } + }, + "fleet": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "fleet" + } + }, + "fpga_image": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "fpga-image" + } + }, + "host_reservation": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "host-reservation" + } + }, + "image": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "image" + } + }, + "import_image_task": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "import-image-task" } }, - "SecurityGroups": { - "target": "com.amazonaws.ec2#RequestSpotLaunchSpecificationSecurityGroupList", + "import_snapshot_task": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.

", - "smithy.api#xmlName": "SecurityGroup" + "smithy.api#enumValue": "import-snapshot-task" } }, - "AddressingType": { - "target": "com.amazonaws.ec2#String", + "instance": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AddressingType", - "smithy.api#documentation": "

Deprecated.

", - "smithy.api#xmlName": "addressingType" + "smithy.api#enumValue": "instance" } }, - "BlockDeviceMappings": { - "target": "com.amazonaws.ec2#BlockDeviceMappingList", + "instance_event_window": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "BlockDeviceMapping", - "smithy.api#documentation": "

One or more block device mapping entries. You can't specify both a snapshot ID and an encryption value. \n This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume, \n it is not blank and its encryption status is used for the volume encryption status.

", - "smithy.api#xmlName": "blockDeviceMapping" + "smithy.api#enumValue": "instance-event-window" } }, - "EbsOptimized": { - "target": "com.amazonaws.ec2#Boolean", + "internet_gateway": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "EbsOptimized", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

\n

Default: false\n

", - "smithy.api#xmlName": "ebsOptimized" + "smithy.api#enumValue": "internet-gateway" } }, - "IamInstanceProfile": { - "target": "com.amazonaws.ec2#IamInstanceProfileSpecification", + "ipam": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "IamInstanceProfile", - "smithy.api#documentation": "

The IAM instance profile.

", - "smithy.api#xmlName": "iamInstanceProfile" + "smithy.api#enumValue": "ipam" } }, - "ImageId": { - "target": "com.amazonaws.ec2#ImageId", + "ipam_pool": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ImageId", - "smithy.api#documentation": "

The ID of the AMI.

", - "smithy.api#xmlName": "imageId" + "smithy.api#enumValue": "ipam-pool" } }, - "InstanceType": { - "target": "com.amazonaws.ec2#InstanceType", + "ipam_scope": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InstanceType", - "smithy.api#documentation": "

The instance type. Only one instance type can be specified.

", - "smithy.api#xmlName": "instanceType" + "smithy.api#enumValue": "ipam-scope" } }, - "KernelId": { - "target": "com.amazonaws.ec2#KernelId", + "ipv4pool_ec2": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "KernelId", - "smithy.api#documentation": "

The ID of the kernel.

", - "smithy.api#xmlName": "kernelId" + "smithy.api#enumValue": "ipv4pool-ec2" } }, - "KeyName": { - "target": "com.amazonaws.ec2#KeyPairName", + "ipv6pool_ec2": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "KeyName", - "smithy.api#documentation": "

The name of the key pair.

", - "smithy.api#xmlName": "keyName" + "smithy.api#enumValue": "ipv6pool-ec2" } }, - "Monitoring": { - "target": "com.amazonaws.ec2#RunInstancesMonitoringEnabled", + "key_pair": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Monitoring", - "smithy.api#documentation": "

Indicates whether basic or detailed monitoring is enabled for the instance.

\n

Default: Disabled

", - "smithy.api#xmlName": "monitoring" + "smithy.api#enumValue": "key-pair" } }, - "NetworkInterfaces": { - "target": "com.amazonaws.ec2#InstanceNetworkInterfaceSpecificationList", + "launch_template": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

One or more network interfaces. If you specify a network interface, you must specify \n subnet IDs and security group IDs using the network interface.

", - "smithy.api#xmlName": "NetworkInterface" + "smithy.api#enumValue": "launch-template" } }, - "Placement": { - "target": "com.amazonaws.ec2#SpotPlacement", + "local_gateway": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Placement", - "smithy.api#documentation": "

The placement information for the instance.

", - "smithy.api#xmlName": "placement" + "smithy.api#enumValue": "local-gateway" } }, - "RamdiskId": { - "target": "com.amazonaws.ec2#RamdiskId", + "local_gateway_route_table": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "RamdiskId", - "smithy.api#documentation": "

The ID of the RAM disk.

", - "smithy.api#xmlName": "ramdiskId" + "smithy.api#enumValue": "local-gateway-route-table" } }, - "SubnetId": { - "target": "com.amazonaws.ec2#SubnetId", + "local_gateway_virtual_interface": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SubnetId", - "smithy.api#documentation": "

The ID of the subnet in which to launch the instance.

", - "smithy.api#xmlName": "subnetId" + "smithy.api#enumValue": "local-gateway-virtual-interface" } }, - "UserData": { - "target": "com.amazonaws.ec2#String", + "local_gateway_virtual_interface_group": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "UserData", - "smithy.api#documentation": "

The Base64-encoded user data for the instance. User data is limited to 16 KB.

", - "smithy.api#xmlName": "userData" + "smithy.api#enumValue": "local-gateway-virtual-interface-group" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the launch specification for an instance.

" - } - }, - "com.amazonaws.ec2#RequestSpotLaunchSpecificationSecurityGroupIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#SecurityGroupId", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#RequestSpotLaunchSpecificationSecurityGroupList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#Reservation": { - "type": "structure", - "members": { - "Groups": { - "target": "com.amazonaws.ec2#GroupIdentifierList", + }, + "local_gateway_route_table_vpc_association": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "GroupSet", - "smithy.api#documentation": "

[EC2-Classic only] The security groups.

", - "smithy.api#xmlName": "groupSet" + "smithy.api#enumValue": "local-gateway-route-table-vpc-association" } }, - "Instances": { - "target": "com.amazonaws.ec2#InstanceList", + "local_gateway_route_table_virtual_interface_group_association": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InstancesSet", - "smithy.api#documentation": "

The instances.

", - "smithy.api#xmlName": "instancesSet" + "smithy.api#enumValue": "local-gateway-route-table-virtual-interface-group-association" } }, - "OwnerId": { - "target": "com.amazonaws.ec2#String", + "natgateway": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the reservation.

", - "smithy.api#xmlName": "ownerId" + "smithy.api#enumValue": "natgateway" } }, - "RequesterId": { - "target": "com.amazonaws.ec2#String", + "network_acl": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "RequesterId", - "smithy.api#documentation": "

The ID of the requester that launched the instances on your behalf (for example,\n Amazon Web Services Management Console or Auto Scaling).

", - "smithy.api#xmlName": "requesterId" + "smithy.api#enumValue": "network-acl" } }, - "ReservationId": { - "target": "com.amazonaws.ec2#String", + "network_interface": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ReservationId", - "smithy.api#documentation": "

The ID of the reservation.

", - "smithy.api#xmlName": "reservationId" + "smithy.api#enumValue": "network-interface" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a launch request for one or more instances, and includes owner, requester,\n and security group information that applies to all instances in the launch\n request.

" - } - }, - "com.amazonaws.ec2#ReservationFleetInstanceSpecification": { - "type": "structure", - "members": { - "InstanceType": { - "target": "com.amazonaws.ec2#InstanceType", + }, + "network_insights_analysis": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The instance type for which the Capacity Reservation Fleet reserves capacity.

" + "smithy.api#enumValue": "network-insights-analysis" } }, - "InstancePlatform": { - "target": "com.amazonaws.ec2#CapacityReservationInstancePlatform", + "network_insights_path": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The type of operating system for which the Capacity Reservation Fleet reserves capacity.

" + "smithy.api#enumValue": "network-insights-path" } }, - "Weight": { - "target": "com.amazonaws.ec2#DoubleWithConstraints", + "network_insights_access_scope": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The number of capacity units provided by the specified instance type. This value, together with the \n\t\t\ttotal target capacity that you specify for the Fleet determine the number of instances for which the \n\t\t\tFleet reserves capacity. Both values are based on units that make sense for your workload. For more \n\t\t\tinformation, see Total target capacity \n\t\t\tin the Amazon EC2 User Guide.

" + "smithy.api#enumValue": "network-insights-access-scope" } }, - "AvailabilityZone": { - "target": "com.amazonaws.ec2#String", + "network_insights_access_scope_analysis": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The Availability Zone in which the Capacity Reservation Fleet reserves the capacity. A Capacity \n\t\t\tReservation Fleet can't span Availability Zones. All instance type specifications that you specify \n\t\t\tfor the Fleet must use the same Availability Zone.

" + "smithy.api#enumValue": "network-insights-access-scope-analysis" } }, - "AvailabilityZoneId": { - "target": "com.amazonaws.ec2#String", + "placement_group": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The ID of the Availability Zone in which the Capacity Reservation Fleet reserves the capacity. A \n\t\t\tCapacity Reservation Fleet can't span Availability Zones. All instance type specifications that you \n\t\t\tspecify for the Fleet must use the same Availability Zone.

" + "smithy.api#enumValue": "placement-group" } }, - "EbsOptimized": { - "target": "com.amazonaws.ec2#Boolean", + "prefix_list": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the Capacity Reservation Fleet supports EBS-optimized instances types. This \n\t\t\toptimization provides dedicated throughput to Amazon EBS and an optimized configuration stack \n\t\t\tto provide optimal I/O performance. This optimization isn't available with all instance types. Additional \n\t\t\tusage charges apply when using EBS-optimized instance types.

" + "smithy.api#enumValue": "prefix-list" } }, - "Priority": { - "target": "com.amazonaws.ec2#IntegerWithConstraints", + "replace_root_volume_task": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The priority to assign to the instance type. This value is used to determine which of the instance types \n\t\t\tspecified for the Fleet should be prioritized for use. A lower value indicates a high priority. For more \n\t\t\tinformation, see Instance type priority \n\t\t\tin the Amazon EC2 User Guide.

" + "smithy.api#enumValue": "replace-root-volume-task" } - } - }, - "traits": { - "smithy.api#documentation": "

Information about an instance type to use in a Capacity Reservation Fleet.

" - } - }, - "com.amazonaws.ec2#ReservationFleetInstanceSpecificationList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ReservationFleetInstanceSpecification" - } - }, - "com.amazonaws.ec2#ReservationId": { - "type": "string" - }, - "com.amazonaws.ec2#ReservationList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Reservation", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#ReservationState": { - "type": "enum", - "members": { - "PAYMENT_PENDING": { + }, + "reserved_instances": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "payment-pending" + "smithy.api#enumValue": "reserved-instances" } }, - "PAYMENT_FAILED": { + "route_table": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "payment-failed" + "smithy.api#enumValue": "route-table" } }, - "ACTIVE": { + "security_group": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "active" + "smithy.api#enumValue": "security-group" } }, - "RETIRED": { + "security_group_rule": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "retired" + "smithy.api#enumValue": "security-group-rule" } - } - } - }, - "com.amazonaws.ec2#ReservationValue": { - "type": "structure", - "members": { - "HourlyPrice": { - "target": "com.amazonaws.ec2#String", + }, + "snapshot": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "HourlyPrice", - "smithy.api#documentation": "

The hourly rate of the reservation.

", - "smithy.api#xmlName": "hourlyPrice" + "smithy.api#enumValue": "snapshot" } }, - "RemainingTotalValue": { - "target": "com.amazonaws.ec2#String", + "spot_fleet_request": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "RemainingTotalValue", - "smithy.api#documentation": "

The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice * number of hours remaining).

", - "smithy.api#xmlName": "remainingTotalValue" + "smithy.api#enumValue": "spot-fleet-request" } }, - "RemainingUpfrontValue": { - "target": "com.amazonaws.ec2#String", + "spot_instances_request": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "RemainingUpfrontValue", - "smithy.api#documentation": "

The remaining upfront cost of the reservation.

", - "smithy.api#xmlName": "remainingUpfrontValue" + "smithy.api#enumValue": "spot-instances-request" } - } - }, - "traits": { - "smithy.api#documentation": "

The cost associated with the Reserved Instance.

" - } - }, - "com.amazonaws.ec2#ReservedInstanceIdSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ReservationId", - "traits": { - "smithy.api#xmlName": "ReservedInstanceId" - } - } - }, - "com.amazonaws.ec2#ReservedInstanceLimitPrice": { - "type": "structure", - "members": { - "Amount": { - "target": "com.amazonaws.ec2#Double", + }, + "subnet": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Amount", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

Used for Reserved Instance Marketplace offerings. Specifies the limit price on the total order (instanceCount * price).

", - "smithy.api#xmlName": "amount" + "smithy.api#enumValue": "subnet" } }, - "CurrencyCode": { - "target": "com.amazonaws.ec2#CurrencyCodeValues", + "subnet_cidr_reservation": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "CurrencyCode", - "smithy.api#documentation": "

The currency in which the limitPrice amount is specified.\n\t\t\t\tAt this time, the only supported currency is USD.

", - "smithy.api#xmlName": "currencyCode" + "smithy.api#enumValue": "subnet-cidr-reservation" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the limit price of a Reserved Instance offering.

" - } - }, - "com.amazonaws.ec2#ReservedInstanceReservationValue": { - "type": "structure", - "members": { - "ReservationValue": { - "target": "com.amazonaws.ec2#ReservationValue", + }, + "traffic_mirror_filter": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ReservationValue", - "smithy.api#documentation": "

The total value of the Convertible Reserved Instance that you are exchanging.

", - "smithy.api#xmlName": "reservationValue" + "smithy.api#enumValue": "traffic-mirror-filter" } }, - "ReservedInstanceId": { - "target": "com.amazonaws.ec2#String", + "traffic_mirror_session": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ReservedInstanceId", - "smithy.api#documentation": "

The ID of the Convertible Reserved Instance that you are exchanging.

", - "smithy.api#xmlName": "reservedInstanceId" + "smithy.api#enumValue": "traffic-mirror-session" } - } - }, - "traits": { - "smithy.api#documentation": "

The total value of the Convertible Reserved Instance.

" - } - }, - "com.amazonaws.ec2#ReservedInstanceReservationValueSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ReservedInstanceReservationValue", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#ReservedInstanceState": { - "type": "enum", - "members": { - "payment_pending": { + }, + "traffic_mirror_target": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "payment-pending" + "smithy.api#enumValue": "traffic-mirror-target" } }, - "active": { + "transit_gateway": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "active" + "smithy.api#enumValue": "transit-gateway" } }, - "payment_failed": { + "transit_gateway_attachment": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "payment-failed" + "smithy.api#enumValue": "transit-gateway-attachment" } }, - "retired": { + "transit_gateway_connect_peer": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "retired" + "smithy.api#enumValue": "transit-gateway-connect-peer" } }, - "queued": { + "transit_gateway_multicast_domain": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "queued" + "smithy.api#enumValue": "transit-gateway-multicast-domain" } }, - "queued_deleted": { + "transit_gateway_policy_table": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "queued-deleted" + "smithy.api#enumValue": "transit-gateway-policy-table" } - } - } - }, - "com.amazonaws.ec2#ReservedInstances": { - "type": "structure", - "members": { - "AvailabilityZone": { - "target": "com.amazonaws.ec2#String", + }, + "transit_gateway_route_table": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZone", - "smithy.api#documentation": "

The Availability Zone in which the Reserved Instance can be used.

", - "smithy.api#xmlName": "availabilityZone" + "smithy.api#enumValue": "transit-gateway-route-table" } }, - "Duration": { - "target": "com.amazonaws.ec2#Long", + "transit_gateway_route_table_announcement": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Duration", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The duration of the Reserved Instance, in seconds.

", - "smithy.api#xmlName": "duration" + "smithy.api#enumValue": "transit-gateway-route-table-announcement" } }, - "End": { - "target": "com.amazonaws.ec2#DateTime", + "volume": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "End", - "smithy.api#documentation": "

The time when the Reserved Instance expires.

", - "smithy.api#xmlName": "end" + "smithy.api#enumValue": "volume" } }, - "FixedPrice": { - "target": "com.amazonaws.ec2#Float", + "vpc": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "FixedPrice", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The purchase price of the Reserved Instance.

", - "smithy.api#xmlName": "fixedPrice" + "smithy.api#enumValue": "vpc" } }, - "InstanceCount": { - "target": "com.amazonaws.ec2#Integer", + "vpc_endpoint": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InstanceCount", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of reservations purchased.

", - "smithy.api#xmlName": "instanceCount" + "smithy.api#enumValue": "vpc-endpoint" } }, - "InstanceType": { - "target": "com.amazonaws.ec2#InstanceType", + "vpc_endpoint_connection": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InstanceType", - "smithy.api#documentation": "

The instance type on which the Reserved Instance can be used.

", - "smithy.api#xmlName": "instanceType" + "smithy.api#enumValue": "vpc-endpoint-connection" } }, - "ProductDescription": { - "target": "com.amazonaws.ec2#RIProductDescription", + "vpc_endpoint_service": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ProductDescription", - "smithy.api#documentation": "

The Reserved Instance product platform description.

", - "smithy.api#xmlName": "productDescription" + "smithy.api#enumValue": "vpc-endpoint-service" } }, - "ReservedInstancesId": { - "target": "com.amazonaws.ec2#String", + "vpc_endpoint_service_permission": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ReservedInstancesId", - "smithy.api#documentation": "

The ID of the Reserved Instance.

", - "smithy.api#xmlName": "reservedInstancesId" + "smithy.api#enumValue": "vpc-endpoint-service-permission" } }, - "Start": { - "target": "com.amazonaws.ec2#DateTime", + "vpc_peering_connection": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Start", - "smithy.api#documentation": "

The date and time the Reserved Instance started.

", - "smithy.api#xmlName": "start" + "smithy.api#enumValue": "vpc-peering-connection" + } + }, + "vpn_connection": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "vpn-connection" } }, - "State": { - "target": "com.amazonaws.ec2#ReservedInstanceState", + "vpn_gateway": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the Reserved Instance purchase.

", - "smithy.api#xmlName": "state" + "smithy.api#enumValue": "vpn-gateway" } }, - "UsagePrice": { - "target": "com.amazonaws.ec2#Float", + "vpc_flow_log": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "UsagePrice", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The usage price of the Reserved Instance, per hour.

", - "smithy.api#xmlName": "usagePrice" + "smithy.api#enumValue": "vpc-flow-log" } }, - "CurrencyCode": { - "target": "com.amazonaws.ec2#CurrencyCodeValues", + "capacity_reservation_fleet": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "CurrencyCode", - "smithy.api#documentation": "

The currency of the Reserved Instance. It's specified using ISO 4217 standard currency codes.\n\t\t\t\tAt this time, the only supported currency is USD.

", - "smithy.api#xmlName": "currencyCode" + "smithy.api#enumValue": "capacity-reservation-fleet" } }, - "InstanceTenancy": { - "target": "com.amazonaws.ec2#Tenancy", + "traffic_mirror_filter_rule": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InstanceTenancy", - "smithy.api#documentation": "

The tenancy of the instance.

", - "smithy.api#xmlName": "instanceTenancy" + "smithy.api#enumValue": "traffic-mirror-filter-rule" } }, - "OfferingClass": { - "target": "com.amazonaws.ec2#OfferingClassType", + "vpc_endpoint_connection_device_type": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "OfferingClass", - "smithy.api#documentation": "

The offering class of the Reserved Instance.

", - "smithy.api#xmlName": "offeringClass" + "smithy.api#enumValue": "vpc-endpoint-connection-device-type" } }, - "OfferingType": { - "target": "com.amazonaws.ec2#OfferingTypeValues", + "verified_access_instance": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "OfferingType", - "smithy.api#documentation": "

The Reserved Instance offering type.

", - "smithy.api#xmlName": "offeringType" + "smithy.api#enumValue": "verified-access-instance" } }, - "RecurringCharges": { - "target": "com.amazonaws.ec2#RecurringChargesList", + "verified_access_group": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "RecurringCharges", - "smithy.api#documentation": "

The recurring charge tag assigned to the resource.

", - "smithy.api#xmlName": "recurringCharges" + "smithy.api#enumValue": "verified-access-group" } }, - "Scope": { - "target": "com.amazonaws.ec2#scope", + "verified_access_endpoint": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Scope", - "smithy.api#documentation": "

The scope of the Reserved Instance.

", - "smithy.api#xmlName": "scope" + "smithy.api#enumValue": "verified-access-endpoint" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "verified_access_policy": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags assigned to the resource.

", - "smithy.api#xmlName": "tagSet" + "smithy.api#enumValue": "verified-access-policy" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a Reserved Instance.

" - } - }, - "com.amazonaws.ec2#ReservedInstancesConfiguration": { - "type": "structure", - "members": { - "AvailabilityZone": { - "target": "com.amazonaws.ec2#String", + }, + "verified_access_trust_provider": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZone", - "smithy.api#documentation": "

The Availability Zone for the modified Reserved Instances.

", - "smithy.api#xmlName": "availabilityZone" + "smithy.api#enumValue": "verified-access-trust-provider" } }, - "InstanceCount": { - "target": "com.amazonaws.ec2#Integer", + "vpn_connection_device_type": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InstanceCount", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of modified Reserved Instances.

\n \n

This is a required field for a request.

\n
", - "smithy.api#xmlName": "instanceCount" + "smithy.api#enumValue": "vpn-connection-device-type" } }, - "InstanceType": { - "target": "com.amazonaws.ec2#InstanceType", + "vpc_block_public_access_exclusion": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InstanceType", - "smithy.api#documentation": "

The instance type for the modified Reserved Instances.

", - "smithy.api#xmlName": "instanceType" + "smithy.api#enumValue": "vpc-block-public-access-exclusion" } }, - "Platform": { - "target": "com.amazonaws.ec2#String", + "ipam_resource_discovery": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Platform", - "smithy.api#documentation": "

The network platform of the modified Reserved Instances, which is either EC2-Classic or EC2-VPC.

", - "smithy.api#xmlName": "platform" + "smithy.api#enumValue": "ipam-resource-discovery" } }, - "Scope": { - "target": "com.amazonaws.ec2#scope", + "ipam_resource_discovery_association": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Scope", - "smithy.api#documentation": "

Whether the Reserved Instance is applied to instances in a Region or instances in a specific Availability Zone.

", - "smithy.api#xmlName": "scope" + "smithy.api#enumValue": "ipam-resource-discovery-association" } } - }, - "traits": { - "smithy.api#documentation": "

Describes the configuration settings for the modified Reserved Instances.

" - } - }, - "com.amazonaws.ec2#ReservedInstancesConfigurationList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ReservedInstancesConfiguration", - "traits": { - "smithy.api#xmlName": "item" - } } }, - "com.amazonaws.ec2#ReservedInstancesId": { + "com.amazonaws.ec2#ResponseError": { "type": "structure", "members": { - "ReservedInstancesId": { + "Code": { + "target": "com.amazonaws.ec2#LaunchTemplateErrorCode", + "traits": { + "aws.protocols#ec2QueryName": "Code", + "smithy.api#documentation": "

The error code.

", + "smithy.api#xmlName": "code" + } + }, + "Message": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ReservedInstancesId", - "smithy.api#documentation": "

The ID of the Reserved Instance.

", - "smithy.api#xmlName": "reservedInstancesId" + "aws.protocols#ec2QueryName": "Message", + "smithy.api#documentation": "

The error message, if applicable.

", + "smithy.api#xmlName": "message" } } }, "traits": { - "smithy.api#documentation": "

Describes the ID of a Reserved Instance.

" + "smithy.api#documentation": "

Describes the error that's returned when you cannot delete a launch template\n version.

" } }, - "com.amazonaws.ec2#ReservedInstancesIdStringList": { + "com.amazonaws.ec2#ResponseHostIdList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#ReservationId", + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#xmlName": "ReservedInstancesId" + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#ReservedInstancesList": { + "com.amazonaws.ec2#ResponseHostIdSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#ReservedInstances", + "target": "com.amazonaws.ec2#String", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#ReservedInstancesListing": { + "com.amazonaws.ec2#ResponseLaunchTemplateData": { "type": "structure", "members": { - "ClientToken": { + "KernelId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ClientToken", - "smithy.api#documentation": "

A unique, case-sensitive key supplied by the client to ensure that the request is\n\t\t\tidempotent. For more information, see Ensuring Idempotency.

", - "smithy.api#xmlName": "clientToken" - } - }, - "CreateDate": { - "target": "com.amazonaws.ec2#DateTime", - "traits": { - "aws.protocols#ec2QueryName": "CreateDate", - "smithy.api#documentation": "

The time the listing was created.

", - "smithy.api#xmlName": "createDate" - } - }, - "InstanceCounts": { - "target": "com.amazonaws.ec2#InstanceCountList", - "traits": { - "aws.protocols#ec2QueryName": "InstanceCounts", - "smithy.api#documentation": "

The number of instances in this state.

", - "smithy.api#xmlName": "instanceCounts" + "aws.protocols#ec2QueryName": "KernelId", + "smithy.api#documentation": "

The ID of the kernel, if applicable.

", + "smithy.api#xmlName": "kernelId" } }, - "PriceSchedules": { - "target": "com.amazonaws.ec2#PriceScheduleList", + "EbsOptimized": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "PriceSchedules", - "smithy.api#documentation": "

The price of the Reserved Instance listing.

", - "smithy.api#xmlName": "priceSchedules" + "aws.protocols#ec2QueryName": "EbsOptimized", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the instance is optimized for Amazon EBS I/O.

", + "smithy.api#xmlName": "ebsOptimized" } }, - "ReservedInstancesId": { - "target": "com.amazonaws.ec2#String", + "IamInstanceProfile": { + "target": "com.amazonaws.ec2#LaunchTemplateIamInstanceProfileSpecification", "traits": { - "aws.protocols#ec2QueryName": "ReservedInstancesId", - "smithy.api#documentation": "

The ID of the Reserved Instance.

", - "smithy.api#xmlName": "reservedInstancesId" + "aws.protocols#ec2QueryName": "IamInstanceProfile", + "smithy.api#documentation": "

The IAM instance profile.

", + "smithy.api#xmlName": "iamInstanceProfile" } }, - "ReservedInstancesListingId": { - "target": "com.amazonaws.ec2#String", + "BlockDeviceMappings": { + "target": "com.amazonaws.ec2#LaunchTemplateBlockDeviceMappingList", "traits": { - "aws.protocols#ec2QueryName": "ReservedInstancesListingId", - "smithy.api#documentation": "

The ID of the Reserved Instance listing.

", - "smithy.api#xmlName": "reservedInstancesListingId" + "aws.protocols#ec2QueryName": "BlockDeviceMappingSet", + "smithy.api#documentation": "

The block device mappings.

", + "smithy.api#xmlName": "blockDeviceMappingSet" } }, - "Status": { - "target": "com.amazonaws.ec2#ListingStatus", + "NetworkInterfaces": { + "target": "com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The status of the Reserved Instance listing.

", - "smithy.api#xmlName": "status" + "aws.protocols#ec2QueryName": "NetworkInterfaceSet", + "smithy.api#documentation": "

The network interfaces.

", + "smithy.api#xmlName": "networkInterfaceSet" } }, - "StatusMessage": { + "ImageId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "StatusMessage", - "smithy.api#documentation": "

The reason for the current status of the Reserved Instance listing. The response can be blank.

", - "smithy.api#xmlName": "statusMessage" + "aws.protocols#ec2QueryName": "ImageId", + "smithy.api#documentation": "

The ID of the AMI or a Systems Manager parameter. The Systems Manager parameter will\n resolve to the ID of the AMI at instance launch.

\n

The value depends on what you specified in the request. The possible values are:

\n
    \n
  • \n

    If an AMI ID was specified in the request, then this is the AMI ID.

    \n
  • \n
  • \n

    If a Systems Manager parameter was specified in the request, and\n ResolveAlias was configured as true, then this is\n the AMI ID that the parameter is mapped to in the Parameter Store.

    \n
  • \n
  • \n

    If a Systems Manager parameter was specified in the request, and ResolveAlias was configured\n as false, then this is the parameter value.

    \n
  • \n
\n

For more information, see Use a Systems \n Manager parameter instead of an AMI ID in the Amazon Elastic Compute Cloud User Guide.

", + "smithy.api#xmlName": "imageId" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "InstanceType": { + "target": "com.amazonaws.ec2#InstanceType", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags assigned to the resource.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "InstanceType", + "smithy.api#documentation": "

The instance type.

", + "smithy.api#xmlName": "instanceType" } }, - "UpdateDate": { - "target": "com.amazonaws.ec2#DateTime", - "traits": { - "aws.protocols#ec2QueryName": "UpdateDate", - "smithy.api#documentation": "

The last modified timestamp of the listing.

", - "smithy.api#xmlName": "updateDate" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a Reserved Instance listing.

" - } - }, - "com.amazonaws.ec2#ReservedInstancesListingId": { - "type": "string" - }, - "com.amazonaws.ec2#ReservedInstancesListingList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ReservedInstancesListing", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#ReservedInstancesModification": { - "type": "structure", - "members": { - "ClientToken": { + "KeyName": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ClientToken", - "smithy.api#documentation": "

A unique, case-sensitive key supplied by the client to ensure that the request is idempotent.\n\t\t\tFor more information, see Ensuring\n\t\t\t\tIdempotency.

", - "smithy.api#xmlName": "clientToken" + "aws.protocols#ec2QueryName": "KeyName", + "smithy.api#documentation": "

The name of the key pair.

", + "smithy.api#xmlName": "keyName" } }, - "CreateDate": { - "target": "com.amazonaws.ec2#DateTime", + "Monitoring": { + "target": "com.amazonaws.ec2#LaunchTemplatesMonitoring", "traits": { - "aws.protocols#ec2QueryName": "CreateDate", - "smithy.api#documentation": "

The time when the modification request was created.

", - "smithy.api#xmlName": "createDate" + "aws.protocols#ec2QueryName": "Monitoring", + "smithy.api#documentation": "

The monitoring for the instance.

", + "smithy.api#xmlName": "monitoring" } }, - "EffectiveDate": { - "target": "com.amazonaws.ec2#DateTime", + "Placement": { + "target": "com.amazonaws.ec2#LaunchTemplatePlacement", "traits": { - "aws.protocols#ec2QueryName": "EffectiveDate", - "smithy.api#documentation": "

The time for the modification to become effective.

", - "smithy.api#xmlName": "effectiveDate" + "aws.protocols#ec2QueryName": "Placement", + "smithy.api#documentation": "

The placement of the instance.

", + "smithy.api#xmlName": "placement" } }, - "ModificationResults": { - "target": "com.amazonaws.ec2#ReservedInstancesModificationResultList", + "RamDiskId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ModificationResultSet", - "smithy.api#documentation": "

Contains target configurations along with their corresponding new Reserved Instance IDs.

", - "smithy.api#xmlName": "modificationResultSet" + "aws.protocols#ec2QueryName": "RamDiskId", + "smithy.api#documentation": "

The ID of the RAM disk, if applicable.

", + "smithy.api#xmlName": "ramDiskId" } }, - "ReservedInstancesIds": { - "target": "com.amazonaws.ec2#ReservedIntancesIds", + "DisableApiTermination": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "ReservedInstancesSet", - "smithy.api#documentation": "

The IDs of one or more Reserved Instances.

", - "smithy.api#xmlName": "reservedInstancesSet" + "aws.protocols#ec2QueryName": "DisableApiTermination", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

If set to true, indicates that the instance cannot be terminated using\n the Amazon EC2 console, command line tool, or API.

", + "smithy.api#xmlName": "disableApiTermination" } }, - "ReservedInstancesModificationId": { - "target": "com.amazonaws.ec2#String", + "InstanceInitiatedShutdownBehavior": { + "target": "com.amazonaws.ec2#ShutdownBehavior", "traits": { - "aws.protocols#ec2QueryName": "ReservedInstancesModificationId", - "smithy.api#documentation": "

A unique ID for the Reserved Instance modification.

", - "smithy.api#xmlName": "reservedInstancesModificationId" + "aws.protocols#ec2QueryName": "InstanceInitiatedShutdownBehavior", + "smithy.api#documentation": "

Indicates whether an instance stops or terminates when you initiate shutdown from the\n instance (using the operating system command for system shutdown).

", + "smithy.api#xmlName": "instanceInitiatedShutdownBehavior" } }, - "Status": { + "UserData": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The status of the Reserved Instances modification request.

", - "smithy.api#xmlName": "status" + "aws.protocols#ec2QueryName": "UserData", + "smithy.api#documentation": "

The user data for the instance.

", + "smithy.api#xmlName": "userData" } }, - "StatusMessage": { - "target": "com.amazonaws.ec2#String", + "TagSpecifications": { + "target": "com.amazonaws.ec2#LaunchTemplateTagSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "StatusMessage", - "smithy.api#documentation": "

The reason for the status.

", - "smithy.api#xmlName": "statusMessage" + "aws.protocols#ec2QueryName": "TagSpecificationSet", + "smithy.api#documentation": "

The tags that are applied to the resources that are created during instance\n launch.

", + "smithy.api#xmlName": "tagSpecificationSet" } }, - "UpdateDate": { - "target": "com.amazonaws.ec2#DateTime", - "traits": { - "aws.protocols#ec2QueryName": "UpdateDate", - "smithy.api#documentation": "

The time when the modification request was last updated.

", - "smithy.api#xmlName": "updateDate" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a Reserved Instance modification.

" - } - }, - "com.amazonaws.ec2#ReservedInstancesModificationId": { - "type": "string" - }, - "com.amazonaws.ec2#ReservedInstancesModificationIdStringList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ReservedInstancesModificationId", - "traits": { - "smithy.api#xmlName": "ReservedInstancesModificationId" - } - } - }, - "com.amazonaws.ec2#ReservedInstancesModificationList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ReservedInstancesModification", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#ReservedInstancesModificationResult": { - "type": "structure", - "members": { - "ReservedInstancesId": { - "target": "com.amazonaws.ec2#String", + "ElasticGpuSpecifications": { + "target": "com.amazonaws.ec2#ElasticGpuSpecificationResponseList", "traits": { - "aws.protocols#ec2QueryName": "ReservedInstancesId", - "smithy.api#documentation": "

The ID for the Reserved Instances that were created as part of the modification request. This field is only available when the modification is fulfilled.

", - "smithy.api#xmlName": "reservedInstancesId" + "aws.protocols#ec2QueryName": "ElasticGpuSpecificationSet", + "smithy.api#documentation": "

The elastic GPU specification.

", + "smithy.api#xmlName": "elasticGpuSpecificationSet" } }, - "TargetConfiguration": { - "target": "com.amazonaws.ec2#ReservedInstancesConfiguration", - "traits": { - "aws.protocols#ec2QueryName": "TargetConfiguration", - "smithy.api#documentation": "

The target Reserved Instances configurations supplied as part of the modification request.

", - "smithy.api#xmlName": "targetConfiguration" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the modification request/s.

" - } - }, - "com.amazonaws.ec2#ReservedInstancesModificationResultList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ReservedInstancesModificationResult", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#ReservedInstancesOffering": { - "type": "structure", - "members": { - "AvailabilityZone": { - "target": "com.amazonaws.ec2#String", + "ElasticInferenceAccelerators": { + "target": "com.amazonaws.ec2#LaunchTemplateElasticInferenceAcceleratorResponseList", "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZone", - "smithy.api#documentation": "

The Availability Zone in which the Reserved Instance can be used.

", - "smithy.api#xmlName": "availabilityZone" + "aws.protocols#ec2QueryName": "ElasticInferenceAcceleratorSet", + "smithy.api#documentation": "

The elastic inference accelerator for the instance.

", + "smithy.api#xmlName": "elasticInferenceAcceleratorSet" } }, - "Duration": { - "target": "com.amazonaws.ec2#Long", + "SecurityGroupIds": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "aws.protocols#ec2QueryName": "Duration", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The duration of the Reserved Instance, in seconds.

", - "smithy.api#xmlName": "duration" + "aws.protocols#ec2QueryName": "SecurityGroupIdSet", + "smithy.api#documentation": "

The security group IDs.

", + "smithy.api#xmlName": "securityGroupIdSet" } }, - "FixedPrice": { - "target": "com.amazonaws.ec2#Float", + "SecurityGroups": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "aws.protocols#ec2QueryName": "FixedPrice", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The purchase price of the Reserved Instance.

", - "smithy.api#xmlName": "fixedPrice" + "aws.protocols#ec2QueryName": "SecurityGroupSet", + "smithy.api#documentation": "

The security group names.

", + "smithy.api#xmlName": "securityGroupSet" } }, - "InstanceType": { - "target": "com.amazonaws.ec2#InstanceType", + "InstanceMarketOptions": { + "target": "com.amazonaws.ec2#LaunchTemplateInstanceMarketOptions", "traits": { - "aws.protocols#ec2QueryName": "InstanceType", - "smithy.api#documentation": "

The instance type on which the Reserved Instance can be used.

", - "smithy.api#xmlName": "instanceType" + "aws.protocols#ec2QueryName": "InstanceMarketOptions", + "smithy.api#documentation": "

The market (purchasing) option for the instances.

", + "smithy.api#xmlName": "instanceMarketOptions" } }, - "ProductDescription": { - "target": "com.amazonaws.ec2#RIProductDescription", + "CreditSpecification": { + "target": "com.amazonaws.ec2#CreditSpecification", "traits": { - "aws.protocols#ec2QueryName": "ProductDescription", - "smithy.api#documentation": "

The Reserved Instance product platform description.

", - "smithy.api#xmlName": "productDescription" + "aws.protocols#ec2QueryName": "CreditSpecification", + "smithy.api#documentation": "

The credit option for CPU usage of the instance.

", + "smithy.api#xmlName": "creditSpecification" } }, - "ReservedInstancesOfferingId": { - "target": "com.amazonaws.ec2#String", + "CpuOptions": { + "target": "com.amazonaws.ec2#LaunchTemplateCpuOptions", "traits": { - "aws.protocols#ec2QueryName": "ReservedInstancesOfferingId", - "smithy.api#documentation": "

The ID of the Reserved Instance offering. This is the offering ID used in GetReservedInstancesExchangeQuote \n to confirm that an exchange can be made.

", - "smithy.api#xmlName": "reservedInstancesOfferingId" + "aws.protocols#ec2QueryName": "CpuOptions", + "smithy.api#documentation": "

The CPU options for the instance. For more information, see Optimizing CPU options in the Amazon Elastic Compute Cloud User\n Guide.

", + "smithy.api#xmlName": "cpuOptions" } }, - "UsagePrice": { - "target": "com.amazonaws.ec2#Float", + "CapacityReservationSpecification": { + "target": "com.amazonaws.ec2#LaunchTemplateCapacityReservationSpecificationResponse", "traits": { - "aws.protocols#ec2QueryName": "UsagePrice", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The usage price of the Reserved Instance, per hour.

", - "smithy.api#xmlName": "usagePrice" + "aws.protocols#ec2QueryName": "CapacityReservationSpecification", + "smithy.api#documentation": "

Information about the Capacity Reservation targeting option.

", + "smithy.api#xmlName": "capacityReservationSpecification" } }, - "CurrencyCode": { - "target": "com.amazonaws.ec2#CurrencyCodeValues", + "LicenseSpecifications": { + "target": "com.amazonaws.ec2#LaunchTemplateLicenseList", "traits": { - "aws.protocols#ec2QueryName": "CurrencyCode", - "smithy.api#documentation": "

The currency of the Reserved Instance offering you are purchasing. It's \n\t\t\t\tspecified using ISO 4217 standard currency codes. At this time, \n\t\t\t\tthe only supported currency is USD.

", - "smithy.api#xmlName": "currencyCode" + "aws.protocols#ec2QueryName": "LicenseSet", + "smithy.api#documentation": "

The license configurations.

", + "smithy.api#xmlName": "licenseSet" } }, - "InstanceTenancy": { - "target": "com.amazonaws.ec2#Tenancy", - "traits": { - "aws.protocols#ec2QueryName": "InstanceTenancy", - "smithy.api#documentation": "

The tenancy of the instance.

", - "smithy.api#xmlName": "instanceTenancy" + "HibernationOptions": { + "target": "com.amazonaws.ec2#LaunchTemplateHibernationOptions", + "traits": { + "aws.protocols#ec2QueryName": "HibernationOptions", + "smithy.api#documentation": "

Indicates whether an instance is configured for hibernation. For more information, see\n Hibernate\n your instance in the Amazon Elastic Compute Cloud User Guide.

", + "smithy.api#xmlName": "hibernationOptions" } }, - "Marketplace": { - "target": "com.amazonaws.ec2#Boolean", + "MetadataOptions": { + "target": "com.amazonaws.ec2#LaunchTemplateInstanceMetadataOptions", "traits": { - "aws.protocols#ec2QueryName": "Marketplace", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the offering is available through the Reserved Instance Marketplace (resale) or Amazon Web Services. \n If it's a Reserved Instance Marketplace offering, this is true.

", - "smithy.api#xmlName": "marketplace" + "aws.protocols#ec2QueryName": "MetadataOptions", + "smithy.api#documentation": "

The metadata options for the instance. For more information, see Instance metadata and user data in the\n Amazon Elastic Compute Cloud User Guide.

", + "smithy.api#xmlName": "metadataOptions" } }, - "OfferingClass": { - "target": "com.amazonaws.ec2#OfferingClassType", + "EnclaveOptions": { + "target": "com.amazonaws.ec2#LaunchTemplateEnclaveOptions", "traits": { - "aws.protocols#ec2QueryName": "OfferingClass", - "smithy.api#documentation": "

If convertible it can be exchanged for Reserved Instances of\n the same or higher monetary value, with different configurations. If standard, it is not \n possible to perform an exchange.

", - "smithy.api#xmlName": "offeringClass" + "aws.protocols#ec2QueryName": "EnclaveOptions", + "smithy.api#documentation": "

Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

", + "smithy.api#xmlName": "enclaveOptions" } }, - "OfferingType": { - "target": "com.amazonaws.ec2#OfferingTypeValues", + "InstanceRequirements": { + "target": "com.amazonaws.ec2#InstanceRequirements", "traits": { - "aws.protocols#ec2QueryName": "OfferingType", - "smithy.api#documentation": "

The Reserved Instance offering type.

", - "smithy.api#xmlName": "offeringType" + "aws.protocols#ec2QueryName": "InstanceRequirements", + "smithy.api#documentation": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with these attributes.

\n

If you specify InstanceRequirements, you can't specify\n InstanceTypes.

", + "smithy.api#xmlName": "instanceRequirements" } }, - "PricingDetails": { - "target": "com.amazonaws.ec2#PricingDetailsList", + "PrivateDnsNameOptions": { + "target": "com.amazonaws.ec2#LaunchTemplatePrivateDnsNameOptions", "traits": { - "aws.protocols#ec2QueryName": "PricingDetailsSet", - "smithy.api#documentation": "

The pricing details of the Reserved Instance offering.

", - "smithy.api#xmlName": "pricingDetailsSet" + "aws.protocols#ec2QueryName": "PrivateDnsNameOptions", + "smithy.api#documentation": "

The options for the instance hostname.

", + "smithy.api#xmlName": "privateDnsNameOptions" } }, - "RecurringCharges": { - "target": "com.amazonaws.ec2#RecurringChargesList", + "MaintenanceOptions": { + "target": "com.amazonaws.ec2#LaunchTemplateInstanceMaintenanceOptions", "traits": { - "aws.protocols#ec2QueryName": "RecurringCharges", - "smithy.api#documentation": "

The recurring charge tag assigned to the resource.

", - "smithy.api#xmlName": "recurringCharges" + "aws.protocols#ec2QueryName": "MaintenanceOptions", + "smithy.api#documentation": "

The maintenance options for your instance.

", + "smithy.api#xmlName": "maintenanceOptions" } }, - "Scope": { - "target": "com.amazonaws.ec2#scope", + "DisableApiStop": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Scope", - "smithy.api#documentation": "

Whether the Reserved Instance is applied to instances in a Region or an Availability Zone.

", - "smithy.api#xmlName": "scope" + "aws.protocols#ec2QueryName": "DisableApiStop", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the instance is enabled for stop protection. For more information,\n see Stop\n protection in the Amazon Elastic Compute Cloud User Guide.

", + "smithy.api#xmlName": "disableApiStop" } } }, "traits": { - "smithy.api#documentation": "

Describes a Reserved Instance offering.

" - } - }, - "com.amazonaws.ec2#ReservedInstancesOfferingId": { - "type": "string" - }, - "com.amazonaws.ec2#ReservedInstancesOfferingIdStringList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ReservedInstancesOfferingId" - } - }, - "com.amazonaws.ec2#ReservedInstancesOfferingList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ReservedInstancesOffering", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

The information for a launch template.

" } }, - "com.amazonaws.ec2#ReservedIntancesIds": { + "com.amazonaws.ec2#RestorableByStringList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#ReservedInstancesId", - "traits": { - "smithy.api#xmlName": "item" - } + "target": "com.amazonaws.ec2#String" } }, - "com.amazonaws.ec2#ResetAddressAttribute": { + "com.amazonaws.ec2#RestoreAddressToClassic": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ResetAddressAttributeRequest" + "target": "com.amazonaws.ec2#RestoreAddressToClassicRequest" }, "output": { - "target": "com.amazonaws.ec2#ResetAddressAttributeResult" + "target": "com.amazonaws.ec2#RestoreAddressToClassicResult" }, "traits": { - "smithy.api#documentation": "

Resets the attribute of the specified IP address. For requirements, see Using reverse DNS for email applications.

" + "smithy.api#documentation": "

Restores an Elastic IP address that was previously moved to the EC2-VPC platform back to the EC2-Classic platform. You cannot move an Elastic IP address that was originally allocated for use in EC2-VPC. The Elastic IP address must not be associated with an instance or network interface.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" } }, - "com.amazonaws.ec2#ResetAddressAttributeRequest": { + "com.amazonaws.ec2#RestoreAddressToClassicRequest": { "type": "structure", "members": { - "AllocationId": { - "target": "com.amazonaws.ec2#AllocationId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

[EC2-VPC] The allocation ID.

", - "smithy.api#required": {} - } - }, - "Attribute": { - "target": "com.amazonaws.ec2#AddressAttributeName", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The attribute of the IP address.

", - "smithy.api#required": {} + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "PublicIp": { + "target": "com.amazonaws.ec2#String", "traits": { + "aws.protocols#ec2QueryName": "PublicIp", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The Elastic IP address.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "publicIp" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ResetAddressAttributeResult": { + "com.amazonaws.ec2#RestoreAddressToClassicResult": { "type": "structure", "members": { - "Address": { - "target": "com.amazonaws.ec2#AddressAttribute", + "PublicIp": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Address", - "smithy.api#documentation": "

Information about the IP address.

", - "smithy.api#xmlName": "address" + "aws.protocols#ec2QueryName": "PublicIp", + "smithy.api#documentation": "

The Elastic IP address.

", + "smithy.api#xmlName": "publicIp" + } + }, + "Status": { + "target": "com.amazonaws.ec2#Status", + "traits": { + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The move status for the IP address.

", + "smithy.api#xmlName": "status" } } } }, - "com.amazonaws.ec2#ResetEbsDefaultKmsKeyId": { + "com.amazonaws.ec2#RestoreImageFromRecycleBin": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ResetEbsDefaultKmsKeyIdRequest" + "target": "com.amazonaws.ec2#RestoreImageFromRecycleBinRequest" }, "output": { - "target": "com.amazonaws.ec2#ResetEbsDefaultKmsKeyIdResult" + "target": "com.amazonaws.ec2#RestoreImageFromRecycleBinResult" }, "traits": { - "smithy.api#documentation": "

Resets the default KMS key for EBS encryption for your account in this Region \n to the Amazon Web Services managed KMS key for EBS.

\n

After resetting the default KMS key to the Amazon Web Services managed KMS key, you can continue to encrypt by a \n customer managed KMS key by specifying it when you create the volume. For more information, see\n Amazon EBS encryption\n in the Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Restores an AMI from the Recycle Bin. For more information, see Recycle Bin in the Amazon EC2 User Guide.

" } }, - "com.amazonaws.ec2#ResetEbsDefaultKmsKeyIdRequest": { + "com.amazonaws.ec2#RestoreImageFromRecycleBinRequest": { "type": "structure", "members": { + "ImageId": { + "target": "com.amazonaws.ec2#ImageId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the AMI to restore.

", + "smithy.api#required": {} + } + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ResetEbsDefaultKmsKeyIdResult": { + "com.amazonaws.ec2#RestoreImageFromRecycleBinResult": { "type": "structure", "members": { - "KmsKeyId": { - "target": "com.amazonaws.ec2#String", + "Return": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "KmsKeyId", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the default KMS key for EBS encryption by default.

", - "smithy.api#xmlName": "kmsKeyId" + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "smithy.api#xmlName": "return" } } } }, - "com.amazonaws.ec2#ResetFpgaImageAttribute": { + "com.amazonaws.ec2#RestoreManagedPrefixListVersion": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ResetFpgaImageAttributeRequest" + "target": "com.amazonaws.ec2#RestoreManagedPrefixListVersionRequest" }, "output": { - "target": "com.amazonaws.ec2#ResetFpgaImageAttributeResult" + "target": "com.amazonaws.ec2#RestoreManagedPrefixListVersionResult" }, "traits": { - "smithy.api#documentation": "

Resets the specified attribute of the specified Amazon FPGA Image (AFI) to its default value.\n\t\t You can only reset the load permission attribute.

" - } - }, - "com.amazonaws.ec2#ResetFpgaImageAttributeName": { - "type": "enum", - "members": { - "loadPermission": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "loadPermission" - } - } + "smithy.api#documentation": "

Restores the entries from a previous version of a managed prefix list to a new version of the prefix list.

" } }, - "com.amazonaws.ec2#ResetFpgaImageAttributeRequest": { + "com.amazonaws.ec2#RestoreManagedPrefixListVersionRequest": { "type": "structure", "members": { "DryRun": { @@ -75243,902 +81472,1200 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "FpgaImageId": { - "target": "com.amazonaws.ec2#FpgaImageId", + "PrefixListId": { + "target": "com.amazonaws.ec2#PrefixListResourceId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the AFI.

", + "smithy.api#documentation": "

The ID of the prefix list.

", "smithy.api#required": {} } }, - "Attribute": { - "target": "com.amazonaws.ec2#ResetFpgaImageAttributeName", + "PreviousVersion": { + "target": "com.amazonaws.ec2#Long", "traits": { - "smithy.api#documentation": "

The attribute.

" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The version to restore.

", + "smithy.api#required": {} + } + }, + "CurrentVersion": { + "target": "com.amazonaws.ec2#Long", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The current version number for the prefix list.

", + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ResetFpgaImageAttributeResult": { + "com.amazonaws.ec2#RestoreManagedPrefixListVersionResult": { "type": "structure", "members": { - "Return": { - "target": "com.amazonaws.ec2#Boolean", + "PrefixList": { + "target": "com.amazonaws.ec2#ManagedPrefixList", "traits": { - "aws.protocols#ec2QueryName": "Return", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Is true if the request succeeds, and an error otherwise.

", - "smithy.api#xmlName": "return" + "aws.protocols#ec2QueryName": "PrefixList", + "smithy.api#documentation": "

Information about the prefix list.

", + "smithy.api#xmlName": "prefixList" } } } }, - "com.amazonaws.ec2#ResetImageAttribute": { + "com.amazonaws.ec2#RestoreSnapshotFromRecycleBin": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ResetImageAttributeRequest" + "target": "com.amazonaws.ec2#RestoreSnapshotFromRecycleBinRequest" }, "output": { - "target": "smithy.api#Unit" + "target": "com.amazonaws.ec2#RestoreSnapshotFromRecycleBinResult" }, "traits": { - "smithy.api#documentation": "

Resets an attribute of an AMI to its default value.

" - } - }, - "com.amazonaws.ec2#ResetImageAttributeName": { - "type": "enum", - "members": { - "launchPermission": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "launchPermission" - } - } + "smithy.api#documentation": "

Restores a snapshot from the Recycle Bin. For more information, see Restore \n snapshots from the Recycle Bin in the Amazon Elastic Compute Cloud User Guide.

" } }, - "com.amazonaws.ec2#ResetImageAttributeRequest": { + "com.amazonaws.ec2#RestoreSnapshotFromRecycleBinRequest": { "type": "structure", "members": { - "Attribute": { - "target": "com.amazonaws.ec2#ResetImageAttributeName", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The attribute to reset (currently you can only reset the launch permission attribute).

", - "smithy.api#required": {} - } - }, - "ImageId": { - "target": "com.amazonaws.ec2#ImageId", + "SnapshotId": { + "target": "com.amazonaws.ec2#SnapshotId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the AMI.

", + "smithy.api#documentation": "

The ID of the snapshot to restore.

", "smithy.api#required": {} } }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for ResetImageAttribute.

" - } - }, - "com.amazonaws.ec2#ResetInstanceAttribute": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ResetInstanceAttributeRequest" - }, - "output": { - "target": "smithy.api#Unit" - }, - "traits": { - "smithy.api#documentation": "

Resets an attribute of an instance to its default value. To reset the\n kernel or ramdisk, the instance must be in a stopped\n state. To reset the sourceDestCheck, the instance can be either running or\n stopped.

\n

The sourceDestCheck attribute controls whether source/destination\n checking is enabled. The default value is true, which means checking is\n enabled. This value must be false for a NAT instance to perform NAT. For\n more information, see NAT Instances in the\n Amazon VPC User Guide.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ResetInstanceAttributeRequest": { + "com.amazonaws.ec2#RestoreSnapshotFromRecycleBinResult": { "type": "structure", "members": { - "Attribute": { - "target": "com.amazonaws.ec2#InstanceAttributeName", + "SnapshotId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Attribute", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The attribute to reset.

\n \n

You can only reset the following attributes: kernel |\n ramdisk | sourceDestCheck.

\n
", - "smithy.api#required": {}, - "smithy.api#xmlName": "attribute" + "aws.protocols#ec2QueryName": "SnapshotId", + "smithy.api#documentation": "

The ID of the snapshot.

", + "smithy.api#xmlName": "snapshotId" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "OutpostArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "aws.protocols#ec2QueryName": "OutpostArn", + "smithy.api#documentation": "

The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the \n Amazon Elastic Compute Cloud User Guide.

", + "smithy.api#xmlName": "outpostArn" } }, - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the instance.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "instanceId" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

The description for the snapshot.

", + "smithy.api#xmlName": "description" } - } - } - }, - "com.amazonaws.ec2#ResetNetworkInterfaceAttribute": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#ResetNetworkInterfaceAttributeRequest" - }, - "output": { - "target": "smithy.api#Unit" - }, - "traits": { - "smithy.api#documentation": "

Resets a network interface attribute. You can specify only one attribute at a time.

" - } - }, - "com.amazonaws.ec2#ResetNetworkInterfaceAttributeRequest": { - "type": "structure", - "members": { - "DryRun": { + }, + "Encrypted": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", + "aws.protocols#ec2QueryName": "Encrypted", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Indicates whether the snapshot is encrypted.

", + "smithy.api#xmlName": "encrypted" } }, - "NetworkInterfaceId": { - "target": "com.amazonaws.ec2#NetworkInterfaceId", + "OwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the network interface.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "networkInterfaceId" + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the EBS snapshot.

", + "smithy.api#xmlName": "ownerId" } }, - "SourceDestCheck": { + "Progress": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SourceDestCheck", - "smithy.api#documentation": "

The source/destination checking attribute. Resets the value to true.

", - "smithy.api#xmlName": "sourceDestCheck" + "aws.protocols#ec2QueryName": "Progress", + "smithy.api#documentation": "

The progress of the snapshot, as a percentage.

", + "smithy.api#xmlName": "progress" + } + }, + "StartTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "StartTime", + "smithy.api#documentation": "

The time stamp when the snapshot was initiated.

", + "smithy.api#xmlName": "startTime" + } + }, + "State": { + "target": "com.amazonaws.ec2#SnapshotState", + "traits": { + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The state of the snapshot.

", + "smithy.api#xmlName": "status" + } + }, + "VolumeId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "VolumeId", + "smithy.api#documentation": "

The ID of the volume that was used to create the snapshot.

", + "smithy.api#xmlName": "volumeId" + } + }, + "VolumeSize": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "VolumeSize", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The size of the volume, in GiB.

", + "smithy.api#xmlName": "volumeSize" } } - }, - "traits": { - "smithy.api#documentation": "

Contains the parameters for ResetNetworkInterfaceAttribute.

" } }, - "com.amazonaws.ec2#ResetSnapshotAttribute": { + "com.amazonaws.ec2#RestoreSnapshotTier": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#ResetSnapshotAttributeRequest" + "target": "com.amazonaws.ec2#RestoreSnapshotTierRequest" }, "output": { - "target": "smithy.api#Unit" + "target": "com.amazonaws.ec2#RestoreSnapshotTierResult" }, "traits": { - "smithy.api#documentation": "

Resets permission settings for the specified snapshot.

\n

For more information about modifying snapshot permissions, see Share a snapshot in the\n Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Restores an archived Amazon EBS snapshot for use temporarily or permanently, or modifies the restore \n period or restore type for a snapshot that was previously temporarily restored.

\n

For more information see \n Restore an archived snapshot and \n modify the restore period or restore type for a temporarily restored snapshot in the Amazon Elastic Compute Cloud User Guide.

" } }, - "com.amazonaws.ec2#ResetSnapshotAttributeRequest": { + "com.amazonaws.ec2#RestoreSnapshotTierRequest": { "type": "structure", "members": { - "Attribute": { - "target": "com.amazonaws.ec2#SnapshotAttributeName", + "SnapshotId": { + "target": "com.amazonaws.ec2#SnapshotId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The attribute to reset. Currently, only the attribute for permission to create volumes can\n be reset.

", + "smithy.api#documentation": "

The ID of the snapshot to restore.

", "smithy.api#required": {} } }, - "SnapshotId": { - "target": "com.amazonaws.ec2#SnapshotId", + "TemporaryRestoreDays": { + "target": "com.amazonaws.ec2#RestoreSnapshotTierRequestTemporaryRestoreDays", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the snapshot.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Specifies the number of days for which to temporarily restore an archived snapshot. \n Required for temporary restores only. The snapshot will be automatically re-archived \n after this period.

\n

To temporarily restore an archived snapshot, specify the number of days and omit \n the PermanentRestore parameter or set it to \n false.

" } }, - "DryRun": { + "PermanentRestore": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" - } - } - } - }, - "com.amazonaws.ec2#ResourceArn": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1283 - } - } - }, - "com.amazonaws.ec2#ResourceIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#TaggableResourceId" - } - }, - "com.amazonaws.ec2#ResourceList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#ResourceStatement": { - "type": "structure", - "members": { - "Resources": { - "target": "com.amazonaws.ec2#ValueStringList", - "traits": { - "aws.protocols#ec2QueryName": "ResourceSet", - "smithy.api#documentation": "

The resources.

", - "smithy.api#xmlName": "resourceSet" - } - }, - "ResourceTypes": { - "target": "com.amazonaws.ec2#ValueStringList", - "traits": { - "aws.protocols#ec2QueryName": "ResourceTypeSet", - "smithy.api#documentation": "

The resource types.

", - "smithy.api#xmlName": "resourceTypeSet" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a resource statement.

" - } - }, - "com.amazonaws.ec2#ResourceStatementRequest": { - "type": "structure", - "members": { - "Resources": { - "target": "com.amazonaws.ec2#ValueStringList", - "traits": { - "smithy.api#documentation": "

The resources.

", - "smithy.api#xmlName": "Resource" + "smithy.api#documentation": "

Indicates whether to permanently restore an archived snapshot. To permanently restore \n an archived snapshot, specify true and omit the \n RestoreSnapshotTierRequest$TemporaryRestoreDays parameter.

" } }, - "ResourceTypes": { - "target": "com.amazonaws.ec2#ValueStringList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The resource types.

", - "smithy.api#xmlName": "ResourceType" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Describes a resource statement.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#ResourceType": { - "type": "enum", + "com.amazonaws.ec2#RestoreSnapshotTierRequestTemporaryRestoreDays": { + "type": "integer" + }, + "com.amazonaws.ec2#RestoreSnapshotTierResult": { + "type": "structure", "members": { - "capacity_reservation": { - "target": "smithy.api#Unit", + "SnapshotId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "capacity-reservation" + "aws.protocols#ec2QueryName": "SnapshotId", + "smithy.api#documentation": "

The ID of the snapshot.

", + "smithy.api#xmlName": "snapshotId" } }, - "client_vpn_endpoint": { - "target": "smithy.api#Unit", + "RestoreStartTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "smithy.api#enumValue": "client-vpn-endpoint" + "aws.protocols#ec2QueryName": "RestoreStartTime", + "smithy.api#documentation": "

The date and time when the snapshot restore process started.

", + "smithy.api#xmlName": "restoreStartTime" } }, - "customer_gateway": { - "target": "smithy.api#Unit", + "RestoreDuration": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "customer-gateway" + "aws.protocols#ec2QueryName": "RestoreDuration", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

For temporary restores only. The number of days for which the archived snapshot \n is temporarily restored.

", + "smithy.api#xmlName": "restoreDuration" } }, - "carrier_gateway": { - "target": "smithy.api#Unit", + "IsPermanentRestore": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "carrier-gateway" + "aws.protocols#ec2QueryName": "IsPermanentRestore", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the snapshot is permanently restored. true indicates a permanent \n restore. false indicates a temporary restore.

", + "smithy.api#xmlName": "isPermanentRestore" } - }, - "coip_pool": { - "target": "smithy.api#Unit", + } + } + }, + "com.amazonaws.ec2#ResultRange": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 20, + "max": 500 + } + } + }, + "com.amazonaws.ec2#RevokeClientVpnIngress": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#RevokeClientVpnIngressRequest" + }, + "output": { + "target": "com.amazonaws.ec2#RevokeClientVpnIngressResult" + }, + "traits": { + "smithy.api#documentation": "

Removes an ingress authorization rule from a Client VPN endpoint.

" + } + }, + "com.amazonaws.ec2#RevokeClientVpnIngressRequest": { + "type": "structure", + "members": { + "ClientVpnEndpointId": { + "target": "com.amazonaws.ec2#ClientVpnEndpointId", "traits": { - "smithy.api#enumValue": "coip-pool" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Client VPN endpoint with which the authorization rule is associated.

", + "smithy.api#required": {} } }, - "dedicated_host": { - "target": "smithy.api#Unit", + "TargetNetworkCidr": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "dedicated-host" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The IPv4 address range, in CIDR notation, of the network for which access is being removed.

", + "smithy.api#required": {} } }, - "dhcp_options": { - "target": "smithy.api#Unit", + "AccessGroupId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "dhcp-options" + "smithy.api#documentation": "

The ID of the Active Directory group for which to revoke access.

" } }, - "egress_only_internet_gateway": { - "target": "smithy.api#Unit", + "RevokeAllGroups": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "egress-only-internet-gateway" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether access should be revoked for all clients.

" } }, - "elastic_ip": { - "target": "smithy.api#Unit", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "elastic-ip" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } - }, - "elastic_gpu": { - "target": "smithy.api#Unit", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#RevokeClientVpnIngressResult": { + "type": "structure", + "members": { + "Status": { + "target": "com.amazonaws.ec2#ClientVpnAuthorizationRuleStatus", "traits": { - "smithy.api#enumValue": "elastic-gpu" + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The current state of the authorization rule.

", + "smithy.api#xmlName": "status" } - }, - "export_image_task": { - "target": "smithy.api#Unit", + } + } + }, + "com.amazonaws.ec2#RevokeSecurityGroupEgress": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#RevokeSecurityGroupEgressRequest" + }, + "output": { + "target": "com.amazonaws.ec2#RevokeSecurityGroupEgressResult" + }, + "traits": { + "smithy.api#documentation": "

[VPC only] Removes the specified outbound (egress) rules from a security group for EC2-VPC.\n This action does not apply to security groups for use in EC2-Classic.

\n

You can specify rules using either rule IDs or security group rule properties. If you use\n rule properties, the values that you specify (for example, ports) must match the existing rule's \n values exactly. Each rule has a protocol, from and to ports, and destination (CIDR range, \n security group, or prefix list). For the TCP and UDP protocols, you must also specify the \n destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type \n and code. If the security group rule has a description, you do not need to specify the description \n to revoke the rule.

\n

[Default VPC] If the values you specify do not match the existing rule's values, no error is\n returned, and the output describes the security group rules that were not revoked.

\n

Amazon Web Services recommends that you describe the security group to verify that the rules were removed.

\n

Rule changes are propagated to instances within the security group as quickly as possible. However, \n a small delay might occur.

" + } + }, + "com.amazonaws.ec2#RevokeSecurityGroupEgressRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "export-image-task" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "export_instance_task": { - "target": "smithy.api#Unit", + "GroupId": { + "target": "com.amazonaws.ec2#SecurityGroupId", "traits": { - "smithy.api#enumValue": "export-instance-task" + "aws.protocols#ec2QueryName": "GroupId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the security group.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "groupId" } }, - "fleet": { - "target": "smithy.api#Unit", + "IpPermissions": { + "target": "com.amazonaws.ec2#IpPermissionList", "traits": { - "smithy.api#enumValue": "fleet" + "aws.protocols#ec2QueryName": "IpPermissions", + "smithy.api#documentation": "

The sets of IP permissions. You can't specify a destination security group and a CIDR IP address range in the same set of permissions.

", + "smithy.api#xmlName": "ipPermissions" } }, - "fpga_image": { - "target": "smithy.api#Unit", + "SecurityGroupRuleIds": { + "target": "com.amazonaws.ec2#SecurityGroupRuleIdList", "traits": { - "smithy.api#enumValue": "fpga-image" + "smithy.api#documentation": "

The IDs of the security group rules.

", + "smithy.api#xmlName": "SecurityGroupRuleId" } }, - "host_reservation": { - "target": "smithy.api#Unit", + "CidrIp": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "host-reservation" + "aws.protocols#ec2QueryName": "CidrIp", + "smithy.api#documentation": "

Not supported. Use a set of IP permissions to specify the CIDR.

", + "smithy.api#xmlName": "cidrIp" } }, - "image": { - "target": "smithy.api#Unit", + "FromPort": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "image" + "aws.protocols#ec2QueryName": "FromPort", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

Not supported. Use a set of IP permissions to specify the port.

", + "smithy.api#xmlName": "fromPort" } }, - "import_image_task": { - "target": "smithy.api#Unit", + "IpProtocol": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "import-image-task" + "aws.protocols#ec2QueryName": "IpProtocol", + "smithy.api#documentation": "

Not supported. Use a set of IP permissions to specify the protocol name or\n number.

", + "smithy.api#xmlName": "ipProtocol" } }, - "import_snapshot_task": { - "target": "smithy.api#Unit", + "ToPort": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "import-snapshot-task" + "aws.protocols#ec2QueryName": "ToPort", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

Not supported. Use a set of IP permissions to specify the port.

", + "smithy.api#xmlName": "toPort" } }, - "instance": { - "target": "smithy.api#Unit", + "SourceSecurityGroupName": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "instance" + "aws.protocols#ec2QueryName": "SourceSecurityGroupName", + "smithy.api#documentation": "

Not supported. Use a set of IP permissions to specify a\n destination security group.

", + "smithy.api#xmlName": "sourceSecurityGroupName" } }, - "instance_event_window": { - "target": "smithy.api#Unit", + "SourceSecurityGroupOwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "instance-event-window" + "aws.protocols#ec2QueryName": "SourceSecurityGroupOwnerId", + "smithy.api#documentation": "

Not supported. Use a set of IP permissions to specify a destination security\n group.

", + "smithy.api#xmlName": "sourceSecurityGroupOwnerId" } - }, - "internet_gateway": { - "target": "smithy.api#Unit", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#RevokeSecurityGroupEgressResult": { + "type": "structure", + "members": { + "Return": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "internet-gateway" + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, returns an error.

", + "smithy.api#xmlName": "return" } }, - "ipam": { - "target": "smithy.api#Unit", + "UnknownIpPermissions": { + "target": "com.amazonaws.ec2#IpPermissionList", "traits": { - "smithy.api#enumValue": "ipam" + "aws.protocols#ec2QueryName": "UnknownIpPermissionSet", + "smithy.api#documentation": "

The outbound rules that were unknown to the service. In some cases,\n unknownIpPermissionSet might be in a different format from the request\n parameter.

", + "smithy.api#xmlName": "unknownIpPermissionSet" } - }, - "ipam_pool": { - "target": "smithy.api#Unit", + } + } + }, + "com.amazonaws.ec2#RevokeSecurityGroupIngress": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#RevokeSecurityGroupIngressRequest" + }, + "output": { + "target": "com.amazonaws.ec2#RevokeSecurityGroupIngressResult" + }, + "traits": { + "smithy.api#documentation": "

Removes the specified inbound (ingress) rules from a security group.

\n

You can specify rules using either rule IDs or security group rule properties. If you use\n rule properties, the values that you specify (for example, ports) must match the existing rule's \n values exactly. Each rule has a protocol, from and to ports, and source (CIDR range, \n security group, or prefix list). For the TCP and UDP protocols, you must also specify the \n destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type \n and code. If the security group rule has a description, you do not need to specify the description \n to revoke the rule.

\n

[EC2-Classic, default VPC] If the values you specify do not match the existing rule's values, no error is\n returned, and the output describes the security group rules that were not revoked.

\n

Amazon Web Services recommends that you describe the security group to verify that the rules were removed.

\n

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" + } + }, + "com.amazonaws.ec2#RevokeSecurityGroupIngressRequest": { + "type": "structure", + "members": { + "CidrIp": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "ipam-pool" + "smithy.api#documentation": "

The CIDR IP address range. You can't specify this parameter when specifying a source security group.

" } }, - "ipam_scope": { - "target": "smithy.api#Unit", + "FromPort": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "ipam-scope" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

If the protocol is TCP or UDP, this is the start of the port range.\n If the protocol is ICMP, this is the type number. A value of -1 indicates all ICMP types.

" } }, - "ipv4pool_ec2": { - "target": "smithy.api#Unit", + "GroupId": { + "target": "com.amazonaws.ec2#SecurityGroupId", "traits": { - "smithy.api#enumValue": "ipv4pool-ec2" + "smithy.api#documentation": "

The ID of the security group. You must specify either the security group ID or the\n security group name in the request. For security groups in a nondefault VPC, you must\n specify the security group ID.

" } }, - "ipv6pool_ec2": { - "target": "smithy.api#Unit", + "GroupName": { + "target": "com.amazonaws.ec2#SecurityGroupName", "traits": { - "smithy.api#enumValue": "ipv6pool-ec2" + "smithy.api#documentation": "

[EC2-Classic, default VPC] The name of the security group. You must specify either the\n security group ID or the security group name in the request. For security groups in a\n nondefault VPC, you must specify the security group ID.

" } }, - "key_pair": { - "target": "smithy.api#Unit", + "IpPermissions": { + "target": "com.amazonaws.ec2#IpPermissionList", "traits": { - "smithy.api#enumValue": "key-pair" + "smithy.api#documentation": "

The sets of IP permissions. You can't specify a source security group and a CIDR IP address range in the same set of permissions.

" } }, - "launch_template": { - "target": "smithy.api#Unit", + "IpProtocol": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "launch-template" + "smithy.api#documentation": "

The IP protocol name (tcp, udp, icmp) or number \n (see Protocol Numbers). \n Use -1 to specify all.

" } }, - "local_gateway": { - "target": "smithy.api#Unit", + "SourceSecurityGroupName": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "local-gateway" + "smithy.api#documentation": "

[EC2-Classic, default VPC] The name of the source security group. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the start of the port range, the IP protocol, and the end of the port range. For EC2-VPC, the source security group must be in the same VPC. To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.

" } }, - "local_gateway_route_table": { - "target": "smithy.api#Unit", + "SourceSecurityGroupOwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "local-gateway-route-table" + "smithy.api#documentation": "

[EC2-Classic] The Amazon Web Services account ID of the source security group, if the source security group is in a different account. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the IP protocol, the start of the port range, and the end of the port range. To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.

" } }, - "local_gateway_virtual_interface": { - "target": "smithy.api#Unit", + "ToPort": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "local-gateway-virtual-interface" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

If the protocol is TCP or UDP, this is the end of the port range.\n If the protocol is ICMP, this is the code. A value of -1 indicates all ICMP codes.

" } }, - "local_gateway_virtual_interface_group": { - "target": "smithy.api#Unit", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "local-gateway-virtual-interface-group" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "local_gateway_route_table_vpc_association": { - "target": "smithy.api#Unit", + "SecurityGroupRuleIds": { + "target": "com.amazonaws.ec2#SecurityGroupRuleIdList", "traits": { - "smithy.api#enumValue": "local-gateway-route-table-vpc-association" + "smithy.api#documentation": "

The IDs of the security group rules.

", + "smithy.api#xmlName": "SecurityGroupRuleId" } - }, - "local_gateway_route_table_virtual_interface_group_association": { - "target": "smithy.api#Unit", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#RevokeSecurityGroupIngressResult": { + "type": "structure", + "members": { + "Return": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "local-gateway-route-table-virtual-interface-group-association" + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, returns an error.

", + "smithy.api#xmlName": "return" } }, - "natgateway": { - "target": "smithy.api#Unit", + "UnknownIpPermissions": { + "target": "com.amazonaws.ec2#IpPermissionList", "traits": { - "smithy.api#enumValue": "natgateway" + "aws.protocols#ec2QueryName": "UnknownIpPermissionSet", + "smithy.api#documentation": "

The inbound rules that were unknown to the service. In some cases,\n unknownIpPermissionSet might be in a different format from the request\n parameter.

", + "smithy.api#xmlName": "unknownIpPermissionSet" } - }, - "network_acl": { + } + } + }, + "com.amazonaws.ec2#RootDeviceType": { + "type": "enum", + "members": { + "ebs": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "network-acl" + "smithy.api#enumValue": "ebs" } }, - "network_interface": { + "instance_store": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "network-interface" + "smithy.api#enumValue": "instance-store" + } + } + } + }, + "com.amazonaws.ec2#RootDeviceTypeList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#RootDeviceType", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#Route": { + "type": "structure", + "members": { + "DestinationCidrBlock": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "DestinationCidrBlock", + "smithy.api#documentation": "

The IPv4 CIDR block used for the destination match.

", + "smithy.api#xmlName": "destinationCidrBlock" } }, - "network_insights_analysis": { - "target": "smithy.api#Unit", + "DestinationIpv6CidrBlock": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "network-insights-analysis" + "aws.protocols#ec2QueryName": "DestinationIpv6CidrBlock", + "smithy.api#documentation": "

The IPv6 CIDR block used for the destination match.

", + "smithy.api#xmlName": "destinationIpv6CidrBlock" } }, - "network_insights_path": { - "target": "smithy.api#Unit", + "DestinationPrefixListId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "network-insights-path" + "aws.protocols#ec2QueryName": "DestinationPrefixListId", + "smithy.api#documentation": "

The prefix of the Amazon Web Service.

", + "smithy.api#xmlName": "destinationPrefixListId" } }, - "network_insights_access_scope": { - "target": "smithy.api#Unit", + "EgressOnlyInternetGatewayId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "network-insights-access-scope" + "aws.protocols#ec2QueryName": "EgressOnlyInternetGatewayId", + "smithy.api#documentation": "

The ID of the egress-only internet gateway.

", + "smithy.api#xmlName": "egressOnlyInternetGatewayId" } }, - "network_insights_access_scope_analysis": { - "target": "smithy.api#Unit", + "GatewayId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "network-insights-access-scope-analysis" + "aws.protocols#ec2QueryName": "GatewayId", + "smithy.api#documentation": "

The ID of a gateway attached to your VPC.

", + "smithy.api#xmlName": "gatewayId" } }, - "placement_group": { - "target": "smithy.api#Unit", + "InstanceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "placement-group" + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#documentation": "

The ID of a NAT instance in your VPC.

", + "smithy.api#xmlName": "instanceId" } }, - "prefix_list": { - "target": "smithy.api#Unit", + "InstanceOwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "prefix-list" + "aws.protocols#ec2QueryName": "InstanceOwnerId", + "smithy.api#documentation": "

The ID of Amazon Web Services account that owns the instance.

", + "smithy.api#xmlName": "instanceOwnerId" } }, - "replace_root_volume_task": { - "target": "smithy.api#Unit", + "NatGatewayId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "replace-root-volume-task" + "aws.protocols#ec2QueryName": "NatGatewayId", + "smithy.api#documentation": "

The ID of a NAT gateway.

", + "smithy.api#xmlName": "natGatewayId" } }, - "reserved_instances": { - "target": "smithy.api#Unit", + "TransitGatewayId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "reserved-instances" + "aws.protocols#ec2QueryName": "TransitGatewayId", + "smithy.api#documentation": "

The ID of a transit gateway.

", + "smithy.api#xmlName": "transitGatewayId" } }, - "route_table": { - "target": "smithy.api#Unit", + "LocalGatewayId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "route-table" + "aws.protocols#ec2QueryName": "LocalGatewayId", + "smithy.api#documentation": "

The ID of the local gateway.

", + "smithy.api#xmlName": "localGatewayId" } }, - "security_group": { - "target": "smithy.api#Unit", + "CarrierGatewayId": { + "target": "com.amazonaws.ec2#CarrierGatewayId", "traits": { - "smithy.api#enumValue": "security-group" + "aws.protocols#ec2QueryName": "CarrierGatewayId", + "smithy.api#documentation": "

The ID of the carrier gateway.

", + "smithy.api#xmlName": "carrierGatewayId" } }, - "security_group_rule": { - "target": "smithy.api#Unit", + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "security-group-rule" + "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "smithy.api#documentation": "

The ID of the network interface.

", + "smithy.api#xmlName": "networkInterfaceId" } }, - "snapshot": { - "target": "smithy.api#Unit", + "Origin": { + "target": "com.amazonaws.ec2#RouteOrigin", "traits": { - "smithy.api#enumValue": "snapshot" + "aws.protocols#ec2QueryName": "Origin", + "smithy.api#documentation": "

Describes how the route was created.

\n
    \n
  • \n

    \n CreateRouteTable - The route was automatically created when the route table was created.

    \n
  • \n
  • \n

    \n CreateRoute - The route was manually added to the route table.

    \n
  • \n
  • \n

    \n EnableVgwRoutePropagation - The route was propagated by route propagation.

    \n
  • \n
", + "smithy.api#xmlName": "origin" } }, - "spot_fleet_request": { - "target": "smithy.api#Unit", + "State": { + "target": "com.amazonaws.ec2#RouteState", "traits": { - "smithy.api#enumValue": "spot-fleet-request" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the route. The blackhole state indicates that the\n\t\t\t\troute's target isn't available (for example, the specified gateway isn't attached to the\n\t\t\t\tVPC, or the specified NAT instance has been terminated).

", + "smithy.api#xmlName": "state" } }, - "spot_instances_request": { - "target": "smithy.api#Unit", + "VpcPeeringConnectionId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "spot-instances-request" + "aws.protocols#ec2QueryName": "VpcPeeringConnectionId", + "smithy.api#documentation": "

The ID of a VPC peering connection.

", + "smithy.api#xmlName": "vpcPeeringConnectionId" } }, - "subnet": { - "target": "smithy.api#Unit", + "CoreNetworkArn": { + "target": "com.amazonaws.ec2#CoreNetworkArn", "traits": { - "smithy.api#enumValue": "subnet" + "aws.protocols#ec2QueryName": "CoreNetworkArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the core network.

", + "smithy.api#xmlName": "coreNetworkArn" } - }, - "subnet_cidr_reservation": { + } + }, + "traits": { + "smithy.api#documentation": "

Describes a route in a route table.

" + } + }, + "com.amazonaws.ec2#RouteGatewayId": { + "type": "string" + }, + "com.amazonaws.ec2#RouteList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Route", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#RouteOrigin": { + "type": "enum", + "members": { + "CreateRouteTable": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "subnet-cidr-reservation" + "smithy.api#enumValue": "CreateRouteTable" } }, - "traffic_mirror_filter": { + "CreateRoute": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "traffic-mirror-filter" + "smithy.api#enumValue": "CreateRoute" } }, - "traffic_mirror_session": { + "EnableVgwRoutePropagation": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "traffic-mirror-session" + "smithy.api#enumValue": "EnableVgwRoutePropagation" } - }, - "traffic_mirror_target": { + } + } + }, + "com.amazonaws.ec2#RouteState": { + "type": "enum", + "members": { + "active": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "traffic-mirror-target" + "smithy.api#enumValue": "active" } }, - "transit_gateway": { + "blackhole": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "transit-gateway" + "smithy.api#enumValue": "blackhole" } - }, - "transit_gateway_attachment": { - "target": "smithy.api#Unit", + } + } + }, + "com.amazonaws.ec2#RouteTable": { + "type": "structure", + "members": { + "Associations": { + "target": "com.amazonaws.ec2#RouteTableAssociationList", "traits": { - "smithy.api#enumValue": "transit-gateway-attachment" + "aws.protocols#ec2QueryName": "AssociationSet", + "smithy.api#documentation": "

The associations between the route table and one or more subnets or a gateway.

", + "smithy.api#xmlName": "associationSet" } }, - "transit_gateway_connect_peer": { - "target": "smithy.api#Unit", + "PropagatingVgws": { + "target": "com.amazonaws.ec2#PropagatingVgwList", "traits": { - "smithy.api#enumValue": "transit-gateway-connect-peer" + "aws.protocols#ec2QueryName": "PropagatingVgwSet", + "smithy.api#documentation": "

Any virtual private gateway (VGW) propagating routes.

", + "smithy.api#xmlName": "propagatingVgwSet" } }, - "transit_gateway_multicast_domain": { - "target": "smithy.api#Unit", + "RouteTableId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "transit-gateway-multicast-domain" + "aws.protocols#ec2QueryName": "RouteTableId", + "smithy.api#documentation": "

The ID of the route table.

", + "smithy.api#xmlName": "routeTableId" } }, - "transit_gateway_policy_table": { - "target": "smithy.api#Unit", + "Routes": { + "target": "com.amazonaws.ec2#RouteList", "traits": { - "smithy.api#enumValue": "transit-gateway-policy-table" + "aws.protocols#ec2QueryName": "RouteSet", + "smithy.api#documentation": "

The routes in the route table.

", + "smithy.api#xmlName": "routeSet" } }, - "transit_gateway_route_table": { - "target": "smithy.api#Unit", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "smithy.api#enumValue": "transit-gateway-route-table" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Any tags assigned to the route table.

", + "smithy.api#xmlName": "tagSet" } }, - "transit_gateway_route_table_announcement": { - "target": "smithy.api#Unit", + "VpcId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "transit-gateway-route-table-announcement" + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#documentation": "

The ID of the VPC.

", + "smithy.api#xmlName": "vpcId" } }, - "volume": { - "target": "smithy.api#Unit", + "OwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "volume" + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the route table.

", + "smithy.api#xmlName": "ownerId" } - }, - "vpc": { - "target": "smithy.api#Unit", + } + }, + "traits": { + "smithy.api#documentation": "

Describes a route table.

" + } + }, + "com.amazonaws.ec2#RouteTableAssociation": { + "type": "structure", + "members": { + "Main": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "vpc" + "aws.protocols#ec2QueryName": "Main", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether this is the main route table.

", + "smithy.api#xmlName": "main" } }, - "vpc_endpoint": { - "target": "smithy.api#Unit", + "RouteTableAssociationId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "vpc-endpoint" + "aws.protocols#ec2QueryName": "RouteTableAssociationId", + "smithy.api#documentation": "

The ID of the association.

", + "smithy.api#xmlName": "routeTableAssociationId" } }, - "vpc_endpoint_connection": { - "target": "smithy.api#Unit", + "RouteTableId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "vpc-endpoint-connection" + "aws.protocols#ec2QueryName": "RouteTableId", + "smithy.api#documentation": "

The ID of the route table.

", + "smithy.api#xmlName": "routeTableId" } }, - "vpc_endpoint_service": { - "target": "smithy.api#Unit", + "SubnetId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "vpc-endpoint-service" + "aws.protocols#ec2QueryName": "SubnetId", + "smithy.api#documentation": "

The ID of the subnet. A subnet ID is not returned for an implicit association.

", + "smithy.api#xmlName": "subnetId" } }, - "vpc_endpoint_service_permission": { - "target": "smithy.api#Unit", + "GatewayId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "vpc-endpoint-service-permission" + "aws.protocols#ec2QueryName": "GatewayId", + "smithy.api#documentation": "

The ID of the internet gateway or virtual private gateway.

", + "smithy.api#xmlName": "gatewayId" } }, - "vpc_peering_connection": { - "target": "smithy.api#Unit", + "AssociationState": { + "target": "com.amazonaws.ec2#RouteTableAssociationState", "traits": { - "smithy.api#enumValue": "vpc-peering-connection" + "aws.protocols#ec2QueryName": "AssociationState", + "smithy.api#documentation": "

The state of the association.

", + "smithy.api#xmlName": "associationState" } - }, - "vpn_connection": { - "target": "smithy.api#Unit", + } + }, + "traits": { + "smithy.api#documentation": "

Describes an association between a route table and a subnet or gateway.

" + } + }, + "com.amazonaws.ec2#RouteTableAssociationId": { + "type": "string" + }, + "com.amazonaws.ec2#RouteTableAssociationList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#RouteTableAssociation", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#RouteTableAssociationState": { + "type": "structure", + "members": { + "State": { + "target": "com.amazonaws.ec2#RouteTableAssociationStateCode", "traits": { - "smithy.api#enumValue": "vpn-connection" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the association.

", + "smithy.api#xmlName": "state" } }, - "vpn_gateway": { - "target": "smithy.api#Unit", + "StatusMessage": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "vpn-gateway" + "aws.protocols#ec2QueryName": "StatusMessage", + "smithy.api#documentation": "

The status message, if applicable.

", + "smithy.api#xmlName": "statusMessage" } - }, - "vpc_flow_log": { + } + }, + "traits": { + "smithy.api#documentation": "

Describes the state of an association between a route table and a subnet or gateway.

" + } + }, + "com.amazonaws.ec2#RouteTableAssociationStateCode": { + "type": "enum", + "members": { + "associating": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "vpc-flow-log" + "smithy.api#enumValue": "associating" } }, - "capacity_reservation_fleet": { + "associated": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "capacity-reservation-fleet" + "smithy.api#enumValue": "associated" } }, - "traffic_mirror_filter_rule": { + "disassociating": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "traffic-mirror-filter-rule" + "smithy.api#enumValue": "disassociating" } }, - "vpc_endpoint_connection_device_type": { + "disassociated": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "vpc-endpoint-connection-device-type" + "smithy.api#enumValue": "disassociated" } }, - "vpn_connection_device_type": { + "failed": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "vpn-connection-device-type" + "smithy.api#enumValue": "failed" } } } }, - "com.amazonaws.ec2#ResponseError": { - "type": "structure", - "members": { - "Code": { - "target": "com.amazonaws.ec2#LaunchTemplateErrorCode", - "traits": { - "aws.protocols#ec2QueryName": "Code", - "smithy.api#documentation": "

The error code.

", - "smithy.api#xmlName": "code" - } - }, - "Message": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "Message", - "smithy.api#documentation": "

The error message, if applicable.

", - "smithy.api#xmlName": "message" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the error that's returned when you cannot delete a launch template\n version.

" - } + "com.amazonaws.ec2#RouteTableId": { + "type": "string" }, - "com.amazonaws.ec2#ResponseHostIdList": { + "com.amazonaws.ec2#RouteTableIdStringList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#RouteTableId", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#ResponseHostIdSet": { + "com.amazonaws.ec2#RouteTableList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#RouteTable", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#ResponseLaunchTemplateData": { - "type": "structure", + "com.amazonaws.ec2#RuleAction": { + "type": "enum", "members": { - "KernelId": { - "target": "com.amazonaws.ec2#String", + "allow": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "KernelId", - "smithy.api#documentation": "

The ID of the kernel, if applicable.

", - "smithy.api#xmlName": "kernelId" + "smithy.api#enumValue": "allow" } }, - "EbsOptimized": { + "deny": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "deny" + } + } + } + }, + "com.amazonaws.ec2#RunInstances": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#RunInstancesRequest" + }, + "output": { + "target": "com.amazonaws.ec2#Reservation" + }, + "traits": { + "smithy.api#documentation": "

Launches the specified number of instances using an AMI for which you have\n permissions.

\n

You can specify a number of options, or leave the default options. The following rules\n apply:

\n
    \n
  • \n

    [EC2-VPC] If you don't specify a subnet ID, we choose a default subnet from\n your default VPC for you. If you don't have a default VPC, you must specify a\n subnet ID in the request.

    \n
  • \n
  • \n

    [EC2-Classic] If don't specify an Availability Zone, we choose one for\n you.

    \n
  • \n
  • \n

    Some instance types must be launched into a VPC. If you do not have a default\n VPC, or if you do not specify a subnet ID, the request fails. For more\n information, see Instance types available only in a VPC.

    \n
  • \n
  • \n

    [EC2-VPC] All instances have a network interface with a primary private IPv4\n address. If you don't specify this address, we choose one from the IPv4 range of\n your subnet.

    \n
  • \n
  • \n

    Not all instance types support IPv6 addresses. For more information, see\n Instance\n types.

    \n
  • \n
  • \n

    If you don't specify a security group ID, we use the default security group.\n For more information, see Security\n groups.

    \n
  • \n
  • \n

    If any of the AMIs have a product code attached for which the user has not\n subscribed, the request fails.

    \n
  • \n
\n

You can create a launch template,\n which is a resource that contains the parameters to launch an instance. When you launch\n an instance using RunInstances, you can specify the launch template\n instead of specifying the launch parameters.

\n

To ensure faster instance launches, break up large requests into smaller batches. For\n example, create five separate launch requests for 100 instances each instead of one\n launch request for 500 instances.

\n

An instance is ready for you to use when it's in the running state. You\n can check the state of your instance using DescribeInstances. You can\n tag instances and EBS volumes during launch, after launch, or both. For more\n information, see CreateTags and Tagging your Amazon EC2\n resources.

\n

Linux instances have access to the public key of the key pair at boot. You can use\n this key to provide secure access to the instance. Amazon EC2 public images use this\n feature to provide secure access without passwords. For more information, see Key\n pairs.

\n

For troubleshooting, see What to do if\n an instance immediately terminates, and Troubleshooting connecting to your instance.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a\n VPC. For more information, see Migrate from EC2-Classic to a\n VPC in the Amazon EC2 User Guide.

\n
" + } + }, + "com.amazonaws.ec2#RunInstancesMonitoringEnabled": { + "type": "structure", + "members": { + "Enabled": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "EbsOptimized", + "aws.protocols#ec2QueryName": "Enabled", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the instance is optimized for Amazon EBS I/O.

", - "smithy.api#xmlName": "ebsOptimized" + "smithy.api#documentation": "

Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is\n enabled.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "enabled" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the monitoring of an instance.

" + } + }, + "com.amazonaws.ec2#RunInstancesRequest": { + "type": "structure", + "members": { + "BlockDeviceMappings": { + "target": "com.amazonaws.ec2#BlockDeviceMappingRequestList", + "traits": { + "smithy.api#documentation": "

The block device mapping, which defines the EBS volumes and instance store volumes to\n attach to the instance at launch. For more information, see Block device\n mappings in the Amazon EC2 User Guide.

", + "smithy.api#xmlName": "BlockDeviceMapping" } }, - "IamInstanceProfile": { - "target": "com.amazonaws.ec2#LaunchTemplateIamInstanceProfileSpecification", + "ImageId": { + "target": "com.amazonaws.ec2#ImageId", "traits": { - "aws.protocols#ec2QueryName": "IamInstanceProfile", - "smithy.api#documentation": "

The IAM instance profile.

", - "smithy.api#xmlName": "iamInstanceProfile" + "smithy.api#documentation": "

The ID of the AMI. An AMI ID is required to launch an instance and must be specified\n here or in a launch template.

" } }, - "BlockDeviceMappings": { - "target": "com.amazonaws.ec2#LaunchTemplateBlockDeviceMappingList", + "InstanceType": { + "target": "com.amazonaws.ec2#InstanceType", "traits": { - "aws.protocols#ec2QueryName": "BlockDeviceMappingSet", - "smithy.api#documentation": "

The block device mappings.

", - "smithy.api#xmlName": "blockDeviceMappingSet" + "smithy.api#documentation": "

The instance type. For more information, see Instance types in the\n Amazon EC2 User Guide.

\n

Default: m1.small\n

" } }, - "NetworkInterfaces": { - "target": "com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecificationList", + "Ipv6AddressCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceSet", - "smithy.api#documentation": "

The network interfaces.

", - "smithy.api#xmlName": "networkInterfaceSet" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

[EC2-VPC] The number of IPv6 addresses to associate with the primary network\n interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. You\n cannot specify this option and the option to assign specific IPv6 addresses in the same\n request. You can specify this option if you've specified a minimum number of instances\n to launch.

\n

You cannot specify this option and the network interfaces option in the same\n request.

" } }, - "ImageId": { - "target": "com.amazonaws.ec2#String", + "Ipv6Addresses": { + "target": "com.amazonaws.ec2#InstanceIpv6AddressList", "traits": { - "aws.protocols#ec2QueryName": "ImageId", - "smithy.api#documentation": "

The ID of the AMI that was used to launch the instance.

", - "smithy.api#xmlName": "imageId" + "smithy.api#documentation": "

[EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the\n primary network interface. You cannot specify this option and the option to assign a\n number of IPv6 addresses in the same request. You cannot specify this option if you've\n specified a minimum number of instances to launch.

\n

You cannot specify this option and the network interfaces option in the same\n request.

", + "smithy.api#xmlName": "Ipv6Address" } }, - "InstanceType": { - "target": "com.amazonaws.ec2#InstanceType", + "KernelId": { + "target": "com.amazonaws.ec2#KernelId", "traits": { - "aws.protocols#ec2QueryName": "InstanceType", - "smithy.api#documentation": "

The instance type.

", - "smithy.api#xmlName": "instanceType" + "smithy.api#documentation": "

The ID of the kernel.

\n \n

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more\n information, see PV-GRUB in the\n Amazon EC2 User Guide.

\n
" } }, "KeyName": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#KeyPairName", "traits": { - "aws.protocols#ec2QueryName": "KeyName", - "smithy.api#documentation": "

The name of the key pair.

", - "smithy.api#xmlName": "keyName" + "smithy.api#documentation": "

The name of the key pair. You can create a key pair using CreateKeyPair or\n ImportKeyPair.

\n \n

If you do not specify a key pair, you can't connect to the instance unless you\n choose an AMI that is configured to allow users another way to log in.

\n
" + } + }, + "MaxCount": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of instances to launch. If you specify more instances than Amazon\n EC2 can launch in the target Availability Zone, Amazon EC2 launches the largest possible\n number of instances above MinCount.

\n

Constraints: Between 1 and the maximum number you're allowed for the specified\n instance type. For more information about the default limits, and how to request an\n increase, see How many instances can I\n run in Amazon EC2 in the Amazon EC2 FAQ.

", + "smithy.api#required": {} + } + }, + "MinCount": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The minimum number of instances to launch. If you specify a minimum that is more\n instances than Amazon EC2 can launch in the target Availability Zone, Amazon EC2\n launches no instances.

\n

Constraints: Between 1 and the maximum number you're allowed for the specified\n instance type. For more information about the default limits, and how to request an\n increase, see How many instances can I\n run in Amazon EC2 in the Amazon EC2 General FAQ.

", + "smithy.api#required": {} } }, "Monitoring": { - "target": "com.amazonaws.ec2#LaunchTemplatesMonitoring", + "target": "com.amazonaws.ec2#RunInstancesMonitoringEnabled", "traits": { - "aws.protocols#ec2QueryName": "Monitoring", - "smithy.api#documentation": "

The monitoring for the instance.

", - "smithy.api#xmlName": "monitoring" + "smithy.api#documentation": "

Specifies whether detailed monitoring is enabled for the instance.

" } }, "Placement": { - "target": "com.amazonaws.ec2#LaunchTemplatePlacement", + "target": "com.amazonaws.ec2#Placement", "traits": { - "aws.protocols#ec2QueryName": "Placement", - "smithy.api#documentation": "

The placement of the instance.

", - "smithy.api#xmlName": "placement" + "smithy.api#documentation": "

The placement for the instance.

" } }, - "RamDiskId": { + "RamdiskId": { + "target": "com.amazonaws.ec2#RamdiskId", + "traits": { + "smithy.api#documentation": "

The ID of the RAM disk to select. Some kernels require additional drivers at launch.\n Check the kernel requirements for information about whether you need to specify a RAM\n disk. To find kernel requirements, go to the Amazon Web Services Resource Center and\n search for the kernel ID.

\n \n

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more\n information, see PV-GRUB in the\n Amazon EC2 User Guide.

\n
" + } + }, + "SecurityGroupIds": { + "target": "com.amazonaws.ec2#SecurityGroupIdStringList", + "traits": { + "smithy.api#documentation": "

The IDs of the security groups. You can create a security group using CreateSecurityGroup.

\n

If you specify a network interface, you must specify any security groups as part of\n the network interface.

", + "smithy.api#xmlName": "SecurityGroupId" + } + }, + "SecurityGroups": { + "target": "com.amazonaws.ec2#SecurityGroupStringList", + "traits": { + "smithy.api#documentation": "

[EC2-Classic, default VPC] The names of the security groups.

\n

If you specify a network interface, you must specify any security groups as part of\n the network interface.

\n

Default: Amazon EC2 uses the default security group.

", + "smithy.api#xmlName": "SecurityGroup" + } + }, + "SubnetId": { + "target": "com.amazonaws.ec2#SubnetId", + "traits": { + "smithy.api#documentation": "

[EC2-VPC] The ID of the subnet to launch the instance into.

\n

If you specify a network interface, you must specify any subnets as part of the\n network interface.

" + } + }, + "UserData": { + "target": "com.amazonaws.ec2#RunInstancesUserData", + "traits": { + "smithy.api#documentation": "

The user data script to make available to the instance. For more information, see\n Run\n commands on your Linux instance at launch and Run commands on your\n Windows instance at launch. If you are using a command line tool,\n base64-encoding is performed for you, and you can load the text from a file. Otherwise,\n you must provide base64-encoded text. User data is limited to 16 KB.

" + } + }, + "AdditionalInfo": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "RamDiskId", - "smithy.api#documentation": "

The ID of the RAM disk, if applicable.

", - "smithy.api#xmlName": "ramDiskId" + "aws.protocols#ec2QueryName": "AdditionalInfo", + "smithy.api#documentation": "

Reserved.

", + "smithy.api#xmlName": "additionalInfo" + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ClientToken", + "smithy.api#documentation": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the\n request. If you do not specify a client token, a randomly generated token is used for\n the request to ensure idempotency.

\n

For more information, see Ensuring\n Idempotency.

\n

Constraints: Maximum 64 ASCII characters

", + "smithy.api#idempotencyToken": {}, + "smithy.api#xmlName": "clientToken" } }, "DisableApiTermination": { @@ -76147,6334 +82674,6357 @@ "aws.protocols#ec2QueryName": "DisableApiTermination", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

If set to true, indicates that the instance cannot be terminated using\n the Amazon EC2 console, command line tool, or API.

", + "smithy.api#documentation": "

If you set this parameter to true, you can't terminate the instance using\n the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute after\n launch, use ModifyInstanceAttribute. Alternatively, if you set\n InstanceInitiatedShutdownBehavior to terminate, you can\n terminate the instance by running the shutdown command from the instance.

\n

Default: false\n

", "smithy.api#xmlName": "disableApiTermination" } }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" + } + }, + "EbsOptimized": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "EbsOptimized", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the instance is optimized for Amazon EBS I/O. This optimization\n provides dedicated throughput to Amazon EBS and an optimized configuration stack to\n provide optimal Amazon EBS I/O performance. This optimization isn't available with all\n instance types. Additional usage charges apply when using an EBS-optimized\n instance.

\n

Default: false\n

", + "smithy.api#xmlName": "ebsOptimized" + } + }, + "IamInstanceProfile": { + "target": "com.amazonaws.ec2#IamInstanceProfileSpecification", + "traits": { + "aws.protocols#ec2QueryName": "IamInstanceProfile", + "smithy.api#documentation": "

The name or Amazon Resource Name (ARN) of an IAM instance\n profile.

", + "smithy.api#xmlName": "iamInstanceProfile" + } + }, "InstanceInitiatedShutdownBehavior": { "target": "com.amazonaws.ec2#ShutdownBehavior", "traits": { "aws.protocols#ec2QueryName": "InstanceInitiatedShutdownBehavior", - "smithy.api#documentation": "

Indicates whether an instance stops or terminates when you initiate shutdown from the\n instance (using the operating system command for system shutdown).

", + "smithy.api#documentation": "

Indicates whether an instance stops or terminates when you initiate shutdown from the\n instance (using the operating system command for system shutdown).

\n

Default: stop\n

", "smithy.api#xmlName": "instanceInitiatedShutdownBehavior" } }, - "UserData": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "UserData", - "smithy.api#documentation": "

The user data for the instance.

", - "smithy.api#xmlName": "userData" + "NetworkInterfaces": { + "target": "com.amazonaws.ec2#InstanceNetworkInterfaceSpecificationList", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInterface", + "smithy.api#documentation": "

The network interfaces to associate with the instance. If you specify a network\n interface, you must specify any security groups and subnets as part of the network\n interface.

", + "smithy.api#xmlName": "networkInterface" } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#LaunchTemplateTagSpecificationList", + "PrivateIpAddress": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TagSpecificationSet", - "smithy.api#documentation": "

The tags that are applied to the resources that are created during instance\n launch.

", - "smithy.api#xmlName": "tagSpecificationSet" + "aws.protocols#ec2QueryName": "PrivateIpAddress", + "smithy.api#documentation": "

[EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address\n range of the subnet.

\n

Only one private IP address can be designated as primary. You can't specify this\n option if you've specified the option to designate a private IP address as the primary\n IP address in a network interface specification. You cannot specify this option if\n you're launching more than one instance in the request.

\n

You cannot specify this option and the network interfaces option in the same\n request.

", + "smithy.api#xmlName": "privateIpAddress" } }, - "ElasticGpuSpecifications": { - "target": "com.amazonaws.ec2#ElasticGpuSpecificationResponseList", + "ElasticGpuSpecification": { + "target": "com.amazonaws.ec2#ElasticGpuSpecifications", "traits": { - "aws.protocols#ec2QueryName": "ElasticGpuSpecificationSet", - "smithy.api#documentation": "

The elastic GPU specification.

", - "smithy.api#xmlName": "elasticGpuSpecificationSet" + "smithy.api#documentation": "

An elastic GPU to associate with the instance. An Elastic GPU is a GPU resource that\n you can attach to your Windows instance to accelerate the graphics performance of your\n applications. For more information, see Amazon EC2 Elastic GPUs in\n the Amazon EC2 User Guide.

" } }, "ElasticInferenceAccelerators": { - "target": "com.amazonaws.ec2#LaunchTemplateElasticInferenceAcceleratorResponseList", + "target": "com.amazonaws.ec2#ElasticInferenceAccelerators", "traits": { - "aws.protocols#ec2QueryName": "ElasticInferenceAcceleratorSet", - "smithy.api#documentation": "

The elastic inference accelerator for the instance.

", - "smithy.api#xmlName": "elasticInferenceAcceleratorSet" + "smithy.api#documentation": "

An elastic inference accelerator to associate with the instance. Elastic inference\n accelerators are a resource you can attach to your Amazon EC2 instances to accelerate\n your Deep Learning (DL) inference workloads.

\n

You cannot specify accelerators from different generations in the same request.

", + "smithy.api#xmlName": "ElasticInferenceAccelerator" } }, - "SecurityGroupIds": { - "target": "com.amazonaws.ec2#ValueStringList", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "SecurityGroupIdSet", - "smithy.api#documentation": "

The security group IDs.

", - "smithy.api#xmlName": "securityGroupIdSet" + "smithy.api#documentation": "

The tags to apply to the resources that are created during instance launch.

\n

You can specify tags for the following resources only:

\n
    \n
  • \n

    Instances

    \n
  • \n
  • \n

    Volumes

    \n
  • \n
  • \n

    Elastic graphics

    \n
  • \n
  • \n

    Spot Instance requests

    \n
  • \n
  • \n

    Network interfaces

    \n
  • \n
\n

To tag a resource after it has been created, see CreateTags.

", + "smithy.api#xmlName": "TagSpecification" } }, - "SecurityGroups": { - "target": "com.amazonaws.ec2#ValueStringList", + "LaunchTemplate": { + "target": "com.amazonaws.ec2#LaunchTemplateSpecification", "traits": { - "aws.protocols#ec2QueryName": "SecurityGroupSet", - "smithy.api#documentation": "

The security group names.

", - "smithy.api#xmlName": "securityGroupSet" + "smithy.api#documentation": "

The launch template to use to launch the instances. Any parameters that you specify in\n RunInstances override the same parameters in the launch template.\n You can specify either the name or ID of a launch template, but not both.

" } }, "InstanceMarketOptions": { - "target": "com.amazonaws.ec2#LaunchTemplateInstanceMarketOptions", + "target": "com.amazonaws.ec2#InstanceMarketOptionsRequest", "traits": { - "aws.protocols#ec2QueryName": "InstanceMarketOptions", - "smithy.api#documentation": "

The market (purchasing) option for the instances.

", - "smithy.api#xmlName": "instanceMarketOptions" + "smithy.api#documentation": "

The market (purchasing) option for the instances.

\n

For RunInstances, persistent Spot Instance requests are\n only supported when InstanceInterruptionBehavior is set\n to either hibernate or stop.

" } }, "CreditSpecification": { - "target": "com.amazonaws.ec2#CreditSpecification", + "target": "com.amazonaws.ec2#CreditSpecificationRequest", "traits": { - "aws.protocols#ec2QueryName": "CreditSpecification", - "smithy.api#documentation": "

The credit option for CPU usage of the instance.

", - "smithy.api#xmlName": "creditSpecification" + "smithy.api#documentation": "

The credit option for CPU usage of the burstable performance instance. Valid values\n are standard and unlimited. To change this attribute after\n launch, use \n ModifyInstanceCreditSpecification. For more information, see Burstable\n performance instances in the Amazon EC2 User Guide.

\n

Default: standard (T2 instances) or unlimited (T3/T3a/T4g\n instances)

\n

For T3 instances with host tenancy, only standard is\n supported.

" } }, "CpuOptions": { - "target": "com.amazonaws.ec2#LaunchTemplateCpuOptions", + "target": "com.amazonaws.ec2#CpuOptionsRequest", "traits": { - "aws.protocols#ec2QueryName": "CpuOptions", - "smithy.api#documentation": "

The CPU options for the instance. For more information, see Optimizing CPU options in the Amazon Elastic Compute Cloud User\n Guide.

", - "smithy.api#xmlName": "cpuOptions" + "smithy.api#documentation": "

The CPU options for the instance. For more information, see Optimize CPU options in the Amazon EC2 User Guide.

" } }, "CapacityReservationSpecification": { - "target": "com.amazonaws.ec2#LaunchTemplateCapacityReservationSpecificationResponse", + "target": "com.amazonaws.ec2#CapacityReservationSpecification", "traits": { - "aws.protocols#ec2QueryName": "CapacityReservationSpecification", - "smithy.api#documentation": "

Information about the Capacity Reservation targeting option.

", - "smithy.api#xmlName": "capacityReservationSpecification" + "smithy.api#documentation": "

Information about the Capacity Reservation targeting option. If you do not specify this parameter, the\n instance's Capacity Reservation preference defaults to open, which enables\n it to run in any open Capacity Reservation that has matching attributes (instance type,\n platform, Availability Zone).

" } }, - "LicenseSpecifications": { - "target": "com.amazonaws.ec2#LaunchTemplateLicenseList", + "HibernationOptions": { + "target": "com.amazonaws.ec2#HibernationOptionsRequest", "traits": { - "aws.protocols#ec2QueryName": "LicenseSet", - "smithy.api#documentation": "

The license configurations.

", - "smithy.api#xmlName": "licenseSet" + "smithy.api#documentation": "

Indicates whether an instance is enabled for hibernation. For more information, see\n Hibernate\n your instance in the Amazon EC2 User Guide.

\n

You can't enable hibernation and Amazon Web Services Nitro Enclaves on the same\n instance.

" } }, - "HibernationOptions": { - "target": "com.amazonaws.ec2#LaunchTemplateHibernationOptions", + "LicenseSpecifications": { + "target": "com.amazonaws.ec2#LicenseSpecificationListRequest", "traits": { - "aws.protocols#ec2QueryName": "HibernationOptions", - "smithy.api#documentation": "

Indicates whether an instance is configured for hibernation. For more information, see\n Hibernate\n your instance in the Amazon Elastic Compute Cloud User Guide.

", - "smithy.api#xmlName": "hibernationOptions" + "smithy.api#documentation": "

The license configurations.

", + "smithy.api#xmlName": "LicenseSpecification" } }, "MetadataOptions": { - "target": "com.amazonaws.ec2#LaunchTemplateInstanceMetadataOptions", + "target": "com.amazonaws.ec2#InstanceMetadataOptionsRequest", "traits": { - "aws.protocols#ec2QueryName": "MetadataOptions", - "smithy.api#documentation": "

The metadata options for the instance. For more information, see Instance metadata and user data in the\n Amazon Elastic Compute Cloud User Guide.

", - "smithy.api#xmlName": "metadataOptions" + "smithy.api#documentation": "

The metadata options for the instance. For more information, see Instance metadata and user data.

" } }, "EnclaveOptions": { - "target": "com.amazonaws.ec2#LaunchTemplateEnclaveOptions", - "traits": { - "aws.protocols#ec2QueryName": "EnclaveOptions", - "smithy.api#documentation": "

Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

", - "smithy.api#xmlName": "enclaveOptions" - } - }, - "InstanceRequirements": { - "target": "com.amazonaws.ec2#InstanceRequirements", + "target": "com.amazonaws.ec2#EnclaveOptionsRequest", "traits": { - "aws.protocols#ec2QueryName": "InstanceRequirements", - "smithy.api#documentation": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with these attributes.

\n

If you specify InstanceRequirements, you can't specify\n InstanceTypes.

", - "smithy.api#xmlName": "instanceRequirements" + "smithy.api#documentation": "

Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For\n more information, see What is Amazon Web Services Nitro\n Enclaves? in the Amazon Web Services Nitro Enclaves User\n Guide.

\n

You can't enable Amazon Web Services Nitro Enclaves and hibernation on the same\n instance.

" } }, "PrivateDnsNameOptions": { - "target": "com.amazonaws.ec2#LaunchTemplatePrivateDnsNameOptions", + "target": "com.amazonaws.ec2#PrivateDnsNameOptionsRequest", "traits": { - "aws.protocols#ec2QueryName": "PrivateDnsNameOptions", - "smithy.api#documentation": "

The options for the instance hostname.

", - "smithy.api#xmlName": "privateDnsNameOptions" + "smithy.api#documentation": "

The options for the instance hostname. The default values are inherited from the\n subnet.

" } }, "MaintenanceOptions": { - "target": "com.amazonaws.ec2#LaunchTemplateInstanceMaintenanceOptions", + "target": "com.amazonaws.ec2#InstanceMaintenanceOptionsRequest", "traits": { - "aws.protocols#ec2QueryName": "MaintenanceOptions", - "smithy.api#documentation": "

The maintenance options for your instance.

", - "smithy.api#xmlName": "maintenanceOptions" + "smithy.api#documentation": "

The maintenance and recovery options for the instance.

" } }, "DisableApiStop": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DisableApiStop", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the instance is enabled for stop protection. For more information,\n see Stop\n Protection.

", - "smithy.api#xmlName": "disableApiStop" + "smithy.api#documentation": "

Indicates whether an instance is enabled for stop protection. For more information,\n see Stop\n protection.

" } } }, "traits": { - "smithy.api#documentation": "

The information for a launch template.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#RestorableByStringList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#String" + "com.amazonaws.ec2#RunInstancesUserData": { + "type": "string", + "traits": { + "smithy.api#sensitive": {} } }, - "com.amazonaws.ec2#RestoreAddressToClassic": { + "com.amazonaws.ec2#RunScheduledInstances": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#RestoreAddressToClassicRequest" + "target": "com.amazonaws.ec2#RunScheduledInstancesRequest" }, "output": { - "target": "com.amazonaws.ec2#RestoreAddressToClassicResult" + "target": "com.amazonaws.ec2#RunScheduledInstancesResult" }, "traits": { - "smithy.api#documentation": "

Restores an Elastic IP address that was previously moved to the EC2-VPC platform back to the EC2-Classic platform. You cannot move an Elastic IP address that was originally allocated for use in EC2-VPC. The Elastic IP address must not be associated with an instance or network interface.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" + "smithy.api#documentation": "

Launches the specified Scheduled Instances.

\n

Before you can launch a Scheduled Instance, you must purchase it and obtain an identifier using PurchaseScheduledInstances.

\n

You must launch a Scheduled Instance during its scheduled time period. You can't stop or reboot a Scheduled Instance, \n but you can terminate it as needed. If you terminate a Scheduled Instance before the current scheduled time period ends, \n you can launch it again after a few minutes. For more information, see Scheduled Instances\n in the Amazon EC2 User Guide.

" } }, - "com.amazonaws.ec2#RestoreAddressToClassicRequest": { + "com.amazonaws.ec2#RunScheduledInstancesRequest": { "type": "structure", "members": { + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

Unique, case-sensitive identifier that ensures the idempotency of the request. \n For more information, see Ensuring Idempotency.

", + "smithy.api#idempotencyToken": {} + } + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "PublicIp": { - "target": "com.amazonaws.ec2#String", + "InstanceCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "PublicIp", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The Elastic IP address.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "publicIp" + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of instances.

\n

Default: 1

" } - } - } - }, - "com.amazonaws.ec2#RestoreAddressToClassicResult": { - "type": "structure", - "members": { - "PublicIp": { - "target": "com.amazonaws.ec2#String", + }, + "LaunchSpecification": { + "target": "com.amazonaws.ec2#ScheduledInstancesLaunchSpecification", "traits": { - "aws.protocols#ec2QueryName": "PublicIp", - "smithy.api#documentation": "

The Elastic IP address.

", - "smithy.api#xmlName": "publicIp" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The launch specification. You must match the instance type, Availability Zone, \n network, and platform of the schedule that you purchased.

", + "smithy.api#required": {} } }, - "Status": { - "target": "com.amazonaws.ec2#Status", + "ScheduledInstanceId": { + "target": "com.amazonaws.ec2#ScheduledInstanceId", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The move status for the IP address.

", - "smithy.api#xmlName": "status" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Scheduled Instance ID.

", + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#documentation": "

Contains the parameters for RunScheduledInstances.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#RestoreImageFromRecycleBin": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#RestoreImageFromRecycleBinRequest" - }, - "output": { - "target": "com.amazonaws.ec2#RestoreImageFromRecycleBinResult" + "com.amazonaws.ec2#RunScheduledInstancesResult": { + "type": "structure", + "members": { + "InstanceIdSet": { + "target": "com.amazonaws.ec2#InstanceIdSet", + "traits": { + "aws.protocols#ec2QueryName": "InstanceIdSet", + "smithy.api#documentation": "

The IDs of the newly launched instances.

", + "smithy.api#xmlName": "instanceIdSet" + } + } }, "traits": { - "smithy.api#documentation": "

Restores an AMI from the Recycle Bin. For more information, see Recycle Bin in the Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Contains the output of RunScheduledInstances.

" } }, - "com.amazonaws.ec2#RestoreImageFromRecycleBinRequest": { + "com.amazonaws.ec2#S3ObjectTag": { "type": "structure", "members": { - "ImageId": { - "target": "com.amazonaws.ec2#ImageId", + "Key": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the AMI to restore.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The key of the tag.

\n

Constraints: Tag keys are case-sensitive and can be up to 128 Unicode characters in\n length. May not begin with aws:.

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "Value": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The value of the tag.

\n

Constraints: Tag values are case-sensitive and can be up to 256 Unicode characters in\n length.

" } } + }, + "traits": { + "smithy.api#documentation": "

The tags to apply to the AMI object that will be stored in the Amazon S3 bucket. For more\n information, see Categorizing your storage using\n tags in the Amazon Simple Storage Service User Guide.

" + } + }, + "com.amazonaws.ec2#S3ObjectTagList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#S3ObjectTag", + "traits": { + "smithy.api#xmlName": "item" + } } }, - "com.amazonaws.ec2#RestoreImageFromRecycleBinResult": { + "com.amazonaws.ec2#S3Storage": { "type": "structure", "members": { - "Return": { - "target": "com.amazonaws.ec2#Boolean", + "AWSAccessKeyId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Return", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "smithy.api#xmlName": "return" + "smithy.api#documentation": "

The access key ID of the owner of the bucket. Before you specify a value for your access\n key ID, review and follow the guidance in Best practices for managing\n Amazon Web Services access keys.

" + } + }, + "Bucket": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Bucket", + "smithy.api#documentation": "

The bucket in which to store the AMI. You can specify a bucket that you already own or a new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone else, Amazon EC2 returns an error.

", + "smithy.api#xmlName": "bucket" + } + }, + "Prefix": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Prefix", + "smithy.api#documentation": "

The beginning of the file name of the AMI.

", + "smithy.api#xmlName": "prefix" + } + }, + "UploadPolicy": { + "target": "com.amazonaws.ec2#Blob", + "traits": { + "aws.protocols#ec2QueryName": "UploadPolicy", + "smithy.api#documentation": "

An Amazon S3 upload policy that gives Amazon EC2 permission to upload items into Amazon S3 on your behalf.

", + "smithy.api#xmlName": "uploadPolicy" + } + }, + "UploadPolicySignature": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "UploadPolicySignature", + "smithy.api#documentation": "

The signature of the JSON document.

", + "smithy.api#xmlName": "uploadPolicySignature" } } - } - }, - "com.amazonaws.ec2#RestoreManagedPrefixListVersion": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#RestoreManagedPrefixListVersionRequest" - }, - "output": { - "target": "com.amazonaws.ec2#RestoreManagedPrefixListVersionResult" }, "traits": { - "smithy.api#documentation": "

Restores the entries from a previous version of a managed prefix list to a new version of the prefix list.

" + "smithy.api#documentation": "

Describes the storage parameters for Amazon S3 and Amazon S3 buckets for an instance store-backed AMI.

" } }, - "com.amazonaws.ec2#RestoreManagedPrefixListVersionRequest": { + "com.amazonaws.ec2#ScheduledInstance": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "AvailabilityZone": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "AvailabilityZone", + "smithy.api#documentation": "

The Availability Zone.

", + "smithy.api#xmlName": "availabilityZone" } }, - "PrefixListId": { - "target": "com.amazonaws.ec2#PrefixListResourceId", + "CreateDate": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the prefix list.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "CreateDate", + "smithy.api#documentation": "

The date when the Scheduled Instance was purchased.

", + "smithy.api#xmlName": "createDate" } }, - "PreviousVersion": { - "target": "com.amazonaws.ec2#Long", + "HourlyPrice": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "HourlyPrice", + "smithy.api#documentation": "

The hourly price for a single instance.

", + "smithy.api#xmlName": "hourlyPrice" + } + }, + "InstanceCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "InstanceCount", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The version to restore.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The number of instances.

", + "smithy.api#xmlName": "instanceCount" } }, - "CurrentVersion": { - "target": "com.amazonaws.ec2#Long", + "InstanceType": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "InstanceType", + "smithy.api#documentation": "

The instance type.

", + "smithy.api#xmlName": "instanceType" + } + }, + "NetworkPlatform": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NetworkPlatform", + "smithy.api#documentation": "

The network platform (EC2-Classic or EC2-VPC).

", + "smithy.api#xmlName": "networkPlatform" + } + }, + "NextSlotStartTime": { + "target": "com.amazonaws.ec2#DateTime", + "traits": { + "aws.protocols#ec2QueryName": "NextSlotStartTime", + "smithy.api#documentation": "

The time for the next schedule to start.

", + "smithy.api#xmlName": "nextSlotStartTime" + } + }, + "Platform": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Platform", + "smithy.api#documentation": "

The platform (Linux/UNIX or Windows).

", + "smithy.api#xmlName": "platform" + } + }, + "PreviousSlotEndTime": { + "target": "com.amazonaws.ec2#DateTime", + "traits": { + "aws.protocols#ec2QueryName": "PreviousSlotEndTime", + "smithy.api#documentation": "

The time that the previous schedule ended or will end.

", + "smithy.api#xmlName": "previousSlotEndTime" + } + }, + "Recurrence": { + "target": "com.amazonaws.ec2#ScheduledInstanceRecurrence", + "traits": { + "aws.protocols#ec2QueryName": "Recurrence", + "smithy.api#documentation": "

The schedule recurrence.

", + "smithy.api#xmlName": "recurrence" + } + }, + "ScheduledInstanceId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ScheduledInstanceId", + "smithy.api#documentation": "

The Scheduled Instance ID.

", + "smithy.api#xmlName": "scheduledInstanceId" + } + }, + "SlotDurationInHours": { + "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "SlotDurationInHours", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The current version number for the prefix list.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The number of hours in the schedule.

", + "smithy.api#xmlName": "slotDurationInHours" } - } - } - }, - "com.amazonaws.ec2#RestoreManagedPrefixListVersionResult": { - "type": "structure", - "members": { - "PrefixList": { - "target": "com.amazonaws.ec2#ManagedPrefixList", + }, + "TermEndDate": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "PrefixList", - "smithy.api#documentation": "

Information about the prefix list.

", - "smithy.api#xmlName": "prefixList" + "aws.protocols#ec2QueryName": "TermEndDate", + "smithy.api#documentation": "

The end date for the Scheduled Instance.

", + "smithy.api#xmlName": "termEndDate" + } + }, + "TermStartDate": { + "target": "com.amazonaws.ec2#DateTime", + "traits": { + "aws.protocols#ec2QueryName": "TermStartDate", + "smithy.api#documentation": "

The start date for the Scheduled Instance.

", + "smithy.api#xmlName": "termStartDate" + } + }, + "TotalScheduledInstanceHours": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "TotalScheduledInstanceHours", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The total number of hours for a single instance for the entire term.

", + "smithy.api#xmlName": "totalScheduledInstanceHours" } } - } - }, - "com.amazonaws.ec2#RestoreSnapshotFromRecycleBin": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#RestoreSnapshotFromRecycleBinRequest" - }, - "output": { - "target": "com.amazonaws.ec2#RestoreSnapshotFromRecycleBinResult" }, "traits": { - "smithy.api#documentation": "

Restores a snapshot from the Recycle Bin. For more information, see Restore \n snapshots from the Recycle Bin in the Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Describes a Scheduled Instance.

" } }, - "com.amazonaws.ec2#RestoreSnapshotFromRecycleBinRequest": { + "com.amazonaws.ec2#ScheduledInstanceAvailability": { "type": "structure", "members": { - "SnapshotId": { - "target": "com.amazonaws.ec2#SnapshotId", + "AvailabilityZone": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the snapshot to restore.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "AvailabilityZone", + "smithy.api#documentation": "

The Availability Zone.

", + "smithy.api#xmlName": "availabilityZone" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "AvailableInstanceCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "AvailableInstanceCount", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of available instances.

", + "smithy.api#xmlName": "availableInstanceCount" } - } - } - }, - "com.amazonaws.ec2#RestoreSnapshotFromRecycleBinResult": { - "type": "structure", - "members": { - "SnapshotId": { - "target": "com.amazonaws.ec2#String", + }, + "FirstSlotStartTime": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "SnapshotId", - "smithy.api#documentation": "

The ID of the snapshot.

", - "smithy.api#xmlName": "snapshotId" + "aws.protocols#ec2QueryName": "FirstSlotStartTime", + "smithy.api#documentation": "

The time period for the first schedule to start.

", + "smithy.api#xmlName": "firstSlotStartTime" } }, - "OutpostArn": { + "HourlyPrice": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "OutpostArn", - "smithy.api#documentation": "

The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the \n Amazon Elastic Compute Cloud User Guide.

", - "smithy.api#xmlName": "outpostArn" + "aws.protocols#ec2QueryName": "HourlyPrice", + "smithy.api#documentation": "

The hourly price for a single instance.

", + "smithy.api#xmlName": "hourlyPrice" } }, - "Description": { + "InstanceType": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

The description for the snapshot.

", - "smithy.api#xmlName": "description" + "aws.protocols#ec2QueryName": "InstanceType", + "smithy.api#documentation": "

The instance type. You can specify one of the C3, C4, M4, or R3 instance types.

", + "smithy.api#xmlName": "instanceType" } }, - "Encrypted": { - "target": "com.amazonaws.ec2#Boolean", + "MaxTermDurationInDays": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "Encrypted", + "aws.protocols#ec2QueryName": "MaxTermDurationInDays", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the snapshot is encrypted.

", - "smithy.api#xmlName": "encrypted" + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum term. The only possible value is 365 days.

", + "smithy.api#xmlName": "maxTermDurationInDays" + } + }, + "MinTermDurationInDays": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "MinTermDurationInDays", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The minimum term. The only possible value is 365 days.

", + "smithy.api#xmlName": "minTermDurationInDays" } }, - "OwnerId": { + "NetworkPlatform": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the EBS snapshot.

", - "smithy.api#xmlName": "ownerId" + "aws.protocols#ec2QueryName": "NetworkPlatform", + "smithy.api#documentation": "

The network platform (EC2-Classic or EC2-VPC).

", + "smithy.api#xmlName": "networkPlatform" } }, - "Progress": { + "Platform": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Progress", - "smithy.api#documentation": "

The progress of the snapshot, as a percentage.

", - "smithy.api#xmlName": "progress" + "aws.protocols#ec2QueryName": "Platform", + "smithy.api#documentation": "

The platform (Linux/UNIX or Windows).

", + "smithy.api#xmlName": "platform" } }, - "StartTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "PurchaseToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "StartTime", - "smithy.api#documentation": "

The time stamp when the snapshot was initiated.

", - "smithy.api#xmlName": "startTime" + "aws.protocols#ec2QueryName": "PurchaseToken", + "smithy.api#documentation": "

The purchase token. This token expires in two hours.

", + "smithy.api#xmlName": "purchaseToken" } }, - "State": { - "target": "com.amazonaws.ec2#SnapshotState", + "Recurrence": { + "target": "com.amazonaws.ec2#ScheduledInstanceRecurrence", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The state of the snapshot.

", - "smithy.api#xmlName": "status" + "aws.protocols#ec2QueryName": "Recurrence", + "smithy.api#documentation": "

The schedule recurrence.

", + "smithy.api#xmlName": "recurrence" } }, - "VolumeId": { - "target": "com.amazonaws.ec2#String", + "SlotDurationInHours": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "VolumeId", - "smithy.api#documentation": "

The ID of the volume that was used to create the snapshot.

", - "smithy.api#xmlName": "volumeId" + "aws.protocols#ec2QueryName": "SlotDurationInHours", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of hours in the schedule.

", + "smithy.api#xmlName": "slotDurationInHours" } }, - "VolumeSize": { + "TotalScheduledInstanceHours": { "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "VolumeSize", + "aws.protocols#ec2QueryName": "TotalScheduledInstanceHours", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The size of the volume, in GiB.

", - "smithy.api#xmlName": "volumeSize" + "smithy.api#documentation": "

The total number of hours for a single instance for the entire term.

", + "smithy.api#xmlName": "totalScheduledInstanceHours" } } - } - }, - "com.amazonaws.ec2#RestoreSnapshotTier": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#RestoreSnapshotTierRequest" - }, - "output": { - "target": "com.amazonaws.ec2#RestoreSnapshotTierResult" }, "traits": { - "smithy.api#documentation": "

Restores an archived Amazon EBS snapshot for use temporarily or permanently, or modifies the restore \n period or restore type for a snapshot that was previously temporarily restored.

\n \n

For more information see \n Restore an archived snapshot and \n modify the restore period or restore type for a temporarily restored snapshot in the Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Describes a schedule that is available for your Scheduled Instances.

" } }, - "com.amazonaws.ec2#RestoreSnapshotTierRequest": { + "com.amazonaws.ec2#ScheduledInstanceAvailabilitySet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ScheduledInstanceAvailability", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ScheduledInstanceId": { + "type": "string" + }, + "com.amazonaws.ec2#ScheduledInstanceIdRequestSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ScheduledInstanceId", + "traits": { + "smithy.api#xmlName": "ScheduledInstanceId" + } + } + }, + "com.amazonaws.ec2#ScheduledInstanceRecurrence": { "type": "structure", "members": { - "SnapshotId": { - "target": "com.amazonaws.ec2#SnapshotId", + "Frequency": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Frequency", + "smithy.api#documentation": "

The frequency (Daily, Weekly, or Monthly).

", + "smithy.api#xmlName": "frequency" + } + }, + "Interval": { + "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "Interval", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the snapshot to restore.

", - "smithy.api#required": {} + "smithy.api#default": 0, + "smithy.api#documentation": "

The interval quantity. The interval unit depends on the value of frequency. For example, every 2\n weeks or every 2 months.

", + "smithy.api#xmlName": "interval" } }, - "TemporaryRestoreDays": { - "target": "com.amazonaws.ec2#RestoreSnapshotTierRequestTemporaryRestoreDays", + "OccurrenceDaySet": { + "target": "com.amazonaws.ec2#OccurrenceDaySet", "traits": { - "smithy.api#documentation": "

Specifies the number of days for which to temporarily restore an archived snapshot. \n Required for temporary restores only. The snapshot will be automatically re-archived \n after this period.

\n

To temporarily restore an archived snapshot, specify the number of days and omit \n the PermanentRestore parameter or set it to \n false.

" + "aws.protocols#ec2QueryName": "OccurrenceDaySet", + "smithy.api#documentation": "

The days. For a monthly schedule, this is one or more days of the month (1-31). For a weekly schedule, this is one or more days of the week (1-7, where 1 is Sunday).

", + "smithy.api#xmlName": "occurrenceDaySet" } }, - "PermanentRestore": { + "OccurrenceRelativeToEnd": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "OccurrenceRelativeToEnd", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to permanently restore an archived snapshot. To permanently restore \n an archived snapshot, specify true and omit the \n RestoreSnapshotTierRequest$TemporaryRestoreDays parameter.

" + "smithy.api#documentation": "

Indicates whether the occurrence is relative to the end of the specified week or month.

", + "smithy.api#xmlName": "occurrenceRelativeToEnd" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "OccurrenceUnit": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "OccurrenceUnit", + "smithy.api#documentation": "

The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).

", + "smithy.api#xmlName": "occurrenceUnit" } } + }, + "traits": { + "smithy.api#documentation": "

Describes the recurring schedule for a Scheduled Instance.

" } }, - "com.amazonaws.ec2#RestoreSnapshotTierRequestTemporaryRestoreDays": { - "type": "integer" - }, - "com.amazonaws.ec2#RestoreSnapshotTierResult": { + "com.amazonaws.ec2#ScheduledInstanceRecurrenceRequest": { "type": "structure", "members": { - "SnapshotId": { + "Frequency": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SnapshotId", - "smithy.api#documentation": "

The ID of the snapshot.

", - "smithy.api#xmlName": "snapshotId" - } - }, - "RestoreStartTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", - "traits": { - "aws.protocols#ec2QueryName": "RestoreStartTime", - "smithy.api#documentation": "

The date and time when the snapshot restore process started.

", - "smithy.api#xmlName": "restoreStartTime" + "smithy.api#documentation": "

The frequency (Daily, Weekly, or Monthly).

" } }, - "RestoreDuration": { + "Interval": { "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "RestoreDuration", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

For temporary restores only. The number of days for which the archived snapshot \n is temporarily restored.

", - "smithy.api#xmlName": "restoreDuration" + "smithy.api#documentation": "

The interval quantity. The interval unit depends on the value of Frequency. For example, every 2 \n weeks or every 2 months.

" } }, - "IsPermanentRestore": { + "OccurrenceDays": { + "target": "com.amazonaws.ec2#OccurrenceDayRequestSet", + "traits": { + "smithy.api#documentation": "

The days. For a monthly schedule, this is one or more days of the month (1-31). For a weekly schedule, this is one or more days of the week (1-7, where 1 is Sunday). You can't specify this value with a daily schedule. If the occurrence is relative to the end of the month, you can specify only a single day.

", + "smithy.api#xmlName": "OccurrenceDay" + } + }, + "OccurrenceRelativeToEnd": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "IsPermanentRestore", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the snapshot is permanently restored. true indicates a permanent \n restore. false indicates a temporary restore.

", - "smithy.api#xmlName": "isPermanentRestore" + "smithy.api#documentation": "

Indicates whether the occurrence is relative to the end of the specified week or month. You can't specify this value with a daily schedule.

" + } + }, + "OccurrenceUnit": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The unit for OccurrenceDays (DayOfWeek or DayOfMonth).\n This value is required for a monthly schedule.\n You can't specify DayOfWeek with a weekly schedule.\n You can't specify this value with a daily schedule.

" } } - } - }, - "com.amazonaws.ec2#ResultRange": { - "type": "integer", + }, "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 20, - "max": 500 - } + "smithy.api#documentation": "

Describes the recurring schedule for a Scheduled Instance.

" } }, - "com.amazonaws.ec2#RevokeClientVpnIngress": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#RevokeClientVpnIngressRequest" - }, - "output": { - "target": "com.amazonaws.ec2#RevokeClientVpnIngressResult" - }, - "traits": { - "smithy.api#documentation": "

Removes an ingress authorization rule from a Client VPN endpoint.

" + "com.amazonaws.ec2#ScheduledInstanceSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ScheduledInstance", + "traits": { + "smithy.api#xmlName": "item" + } } }, - "com.amazonaws.ec2#RevokeClientVpnIngressRequest": { + "com.amazonaws.ec2#ScheduledInstancesBlockDeviceMapping": { "type": "structure", "members": { - "ClientVpnEndpointId": { - "target": "com.amazonaws.ec2#ClientVpnEndpointId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Client VPN endpoint with which the authorization rule is associated.

", - "smithy.api#required": {} - } - }, - "TargetNetworkCidr": { + "DeviceName": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IPv4 address range, in CIDR notation, of the network for which access is being removed.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The device name (for example, /dev/sdh or xvdh).

" } }, - "AccessGroupId": { - "target": "com.amazonaws.ec2#String", + "Ebs": { + "target": "com.amazonaws.ec2#ScheduledInstancesEbs", "traits": { - "smithy.api#documentation": "

The ID of the Active Directory group for which to revoke access.

" + "smithy.api#documentation": "

Parameters used to set up EBS volumes automatically when the instance is launched.

" } }, - "RevokeAllGroups": { - "target": "com.amazonaws.ec2#Boolean", + "NoDevice": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether access should be revoked for all clients.

" + "smithy.api#documentation": "

To omit the device from the block device mapping, specify an empty string.

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "VirtualName": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The virtual device name (ephemeralN). Instance store volumes are numbered\n starting from 0. An instance type with two available instance store volumes can specify mappings\n for ephemeral0 and ephemeral1. The number of available instance store\n volumes depends on the instance type. After you connect to the instance, you must mount the\n volume.

\n

Constraints: For M3 instances, you must specify instance store volumes in the block device \n mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes \n specified in the block device mapping for the AMI.

" } } + }, + "traits": { + "smithy.api#documentation": "

Describes a block device mapping for a Scheduled Instance.

" } }, - "com.amazonaws.ec2#RevokeClientVpnIngressResult": { - "type": "structure", - "members": { - "Status": { - "target": "com.amazonaws.ec2#ClientVpnAuthorizationRuleStatus", - "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The current state of the authorization rule.

", - "smithy.api#xmlName": "status" - } + "com.amazonaws.ec2#ScheduledInstancesBlockDeviceMappingSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ScheduledInstancesBlockDeviceMapping", + "traits": { + "smithy.api#xmlName": "BlockDeviceMapping" } } }, - "com.amazonaws.ec2#RevokeSecurityGroupEgress": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#RevokeSecurityGroupEgressRequest" - }, - "output": { - "target": "com.amazonaws.ec2#RevokeSecurityGroupEgressResult" - }, - "traits": { - "smithy.api#documentation": "

[VPC only] Removes the specified outbound (egress) rules from a security group for EC2-VPC.\n This action does not apply to security groups for use in EC2-Classic.

\n\n

You can specify rules using either rule IDs or security group rule properties. If you use\n rule properties, the values that you specify (for example, ports) must match the existing rule's \n values exactly. Each rule has a protocol, from and to ports, and destination (CIDR range, \n security group, or prefix list). For the TCP and UDP protocols, you must also specify the \n destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type \n and code. If the security group rule has a description, you do not need to specify the description \n to revoke the rule.

\n

[Default VPC] If the values you specify do not match the existing rule's values, no error is\n returned, and the output describes the security group rules that were not revoked.

\n

Amazon Web Services recommends that you describe the security group to verify that the rules were removed.

\n\n

Rule changes are propagated to instances within the security group as quickly as possible. However, \n a small delay might occur.

" - } - }, - "com.amazonaws.ec2#RevokeSecurityGroupEgressRequest": { + "com.amazonaws.ec2#ScheduledInstancesEbs": { "type": "structure", "members": { - "DryRun": { + "DeleteOnTermination": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

Indicates whether the volume is deleted on instance termination.

" } }, - "GroupId": { - "target": "com.amazonaws.ec2#SecurityGroupId", + "Encrypted": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "GroupId", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the security group.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "groupId" - } - }, - "IpPermissions": { - "target": "com.amazonaws.ec2#IpPermissionList", - "traits": { - "aws.protocols#ec2QueryName": "IpPermissions", - "smithy.api#documentation": "

The sets of IP permissions. You can't specify a destination security group and a CIDR IP address range in the same set of permissions.

", - "smithy.api#xmlName": "ipPermissions" - } - }, - "SecurityGroupRuleIds": { - "target": "com.amazonaws.ec2#SecurityGroupRuleIdList", - "traits": { - "smithy.api#documentation": "

The IDs of the security group rules.

", - "smithy.api#xmlName": "SecurityGroupRuleId" - } - }, - "CidrIp": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "CidrIp", - "smithy.api#documentation": "

Not supported. Use a set of IP permissions to specify the CIDR.

", - "smithy.api#xmlName": "cidrIp" + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the volume is encrypted. You can attached encrypted volumes only to instances that support them.

" } }, - "FromPort": { + "Iops": { "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "FromPort", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

Not supported. Use a set of IP permissions to specify the port.

", - "smithy.api#xmlName": "fromPort" + "smithy.api#documentation": "

The number of I/O operations per second (IOPS) to provision for an io1 or io2 volume, with a maximum\n \t\tratio of 50 IOPS/GiB for io1, and 500 IOPS/GiB for io2. Range is 100 to 64,000 IOPS for\n \t\tvolumes in most Regions. Maximum IOPS of 64,000 is guaranteed only on\n \t\tinstances built on the Nitro System. Other instance families guarantee performance up to\n \t\t32,000 IOPS. For more information, see Amazon EBS volume types in the\n \t\tAmazon EC2 User Guide.

\n

This parameter is valid only for Provisioned IOPS SSD (io1 and io2) volumes.

" } }, - "IpProtocol": { - "target": "com.amazonaws.ec2#String", + "SnapshotId": { + "target": "com.amazonaws.ec2#SnapshotId", "traits": { - "aws.protocols#ec2QueryName": "IpProtocol", - "smithy.api#documentation": "

Not supported. Use a set of IP permissions to specify the protocol name or\n number.

", - "smithy.api#xmlName": "ipProtocol" + "smithy.api#documentation": "

The ID of the snapshot.

" } }, - "ToPort": { + "VolumeSize": { "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "ToPort", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

Not supported. Use a set of IP permissions to specify the port.

", - "smithy.api#xmlName": "toPort" - } - }, - "SourceSecurityGroupName": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "SourceSecurityGroupName", - "smithy.api#documentation": "

Not supported. Use a set of IP permissions to specify a\n destination security group.

", - "smithy.api#xmlName": "sourceSecurityGroupName" + "smithy.api#documentation": "

The size of the volume, in GiB.

\n

Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.

" } }, - "SourceSecurityGroupOwnerId": { + "VolumeType": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SourceSecurityGroupOwnerId", - "smithy.api#documentation": "

Not supported. Use a set of IP permissions to specify a destination security\n group.

", - "smithy.api#xmlName": "sourceSecurityGroupOwnerId" + "smithy.api#documentation": "

The volume type. gp2 for General Purpose SSD, io1 or io2 for Provisioned IOPS SSD, Throughput Optimized HDD\n for st1, Cold HDD for sc1, or standard for\n Magnetic.

\n

Default: gp2\n

" } } + }, + "traits": { + "smithy.api#documentation": "

Describes an EBS volume for a Scheduled Instance.

" } }, - "com.amazonaws.ec2#RevokeSecurityGroupEgressResult": { + "com.amazonaws.ec2#ScheduledInstancesIamInstanceProfile": { "type": "structure", "members": { - "Return": { - "target": "com.amazonaws.ec2#Boolean", + "Arn": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Return", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, returns an error.

", - "smithy.api#xmlName": "return" + "smithy.api#documentation": "

The Amazon Resource Name (ARN).

" } }, - "UnknownIpPermissions": { - "target": "com.amazonaws.ec2#IpPermissionList", + "Name": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "UnknownIpPermissionSet", - "smithy.api#documentation": "

The outbound rules that were unknown to the service. In some cases,\n unknownIpPermissionSet might be in a different format from the request\n parameter.

", - "smithy.api#xmlName": "unknownIpPermissionSet" + "smithy.api#documentation": "

The name.

" } } + }, + "traits": { + "smithy.api#documentation": "

Describes an IAM instance profile for a Scheduled Instance.

" } }, - "com.amazonaws.ec2#RevokeSecurityGroupIngress": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#RevokeSecurityGroupIngressRequest" - }, - "output": { - "target": "com.amazonaws.ec2#RevokeSecurityGroupIngressResult" + "com.amazonaws.ec2#ScheduledInstancesIpv6Address": { + "type": "structure", + "members": { + "Ipv6Address": { + "target": "com.amazonaws.ec2#Ipv6Address", + "traits": { + "smithy.api#documentation": "

The IPv6 address.

" + } + } }, "traits": { - "smithy.api#documentation": "

Removes the specified inbound (ingress) rules from a security group.

\n\n

You can specify rules using either rule IDs or security group rule properties. If you use\n rule properties, the values that you specify (for example, ports) must match the existing rule's \n values exactly. Each rule has a protocol, from and to ports, and source (CIDR range, \n security group, or prefix list). For the TCP and UDP protocols, you must also specify the \n destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type \n and code. If the security group rule has a description, you do not need to specify the description \n to revoke the rule.

\n

[EC2-Classic, default VPC] If the values you specify do not match the existing rule's values, no error is\n returned, and the output describes the security group rules that were not revoked.

\n

Amazon Web Services recommends that you describe the security group to verify that the rules were removed.

\n\n

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

\n \n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" + "smithy.api#documentation": "

Describes an IPv6 address.

" } }, - "com.amazonaws.ec2#RevokeSecurityGroupIngressRequest": { + "com.amazonaws.ec2#ScheduledInstancesIpv6AddressList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ScheduledInstancesIpv6Address", + "traits": { + "smithy.api#xmlName": "Ipv6Address" + } + } + }, + "com.amazonaws.ec2#ScheduledInstancesLaunchSpecification": { "type": "structure", "members": { - "CidrIp": { - "target": "com.amazonaws.ec2#String", + "BlockDeviceMappings": { + "target": "com.amazonaws.ec2#ScheduledInstancesBlockDeviceMappingSet", "traits": { - "smithy.api#documentation": "

The CIDR IP address range. You can't specify this parameter when specifying a source security group.

" + "smithy.api#documentation": "

The block device mapping entries.

", + "smithy.api#xmlName": "BlockDeviceMapping" } }, - "FromPort": { - "target": "com.amazonaws.ec2#Integer", + "EbsOptimized": { + "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The start of port range for the TCP and UDP protocols, or an ICMP type number. For the ICMP type number, \n use -1 to specify all ICMP types.

" - } - }, - "GroupId": { - "target": "com.amazonaws.ec2#SecurityGroupId", - "traits": { - "smithy.api#documentation": "

The ID of the security group. You must specify either the security group ID or the\n security group name in the request. For security groups in a nondefault VPC, you must\n specify the security group ID.

" + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the instances are optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.

\n

Default: false\n

" } }, - "GroupName": { - "target": "com.amazonaws.ec2#SecurityGroupName", + "IamInstanceProfile": { + "target": "com.amazonaws.ec2#ScheduledInstancesIamInstanceProfile", "traits": { - "smithy.api#documentation": "

[EC2-Classic, default VPC] The name of the security group. You must specify either the\n security group ID or the security group name in the request. For security groups in a\n nondefault VPC, you must specify the security group ID.

" + "smithy.api#documentation": "

The IAM instance profile.

" } }, - "IpPermissions": { - "target": "com.amazonaws.ec2#IpPermissionList", + "ImageId": { + "target": "com.amazonaws.ec2#ImageId", "traits": { - "smithy.api#documentation": "

The sets of IP permissions. You can't specify a source security group and a CIDR IP address range in the same set of permissions.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Amazon Machine Image (AMI).

", + "smithy.api#required": {} } }, - "IpProtocol": { + "InstanceType": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The IP protocol name (tcp, udp, icmp) or number \n (see Protocol Numbers). \n Use -1 to specify all.

" + "smithy.api#documentation": "

The instance type.

" } }, - "SourceSecurityGroupName": { - "target": "com.amazonaws.ec2#String", + "KernelId": { + "target": "com.amazonaws.ec2#KernelId", "traits": { - "smithy.api#documentation": "

[EC2-Classic, default VPC] The name of the source security group. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the start of the port range, the IP protocol, and the end of the port range. For EC2-VPC, the source security group must be in the same VPC. To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.

" + "smithy.api#documentation": "

The ID of the kernel.

" } }, - "SourceSecurityGroupOwnerId": { - "target": "com.amazonaws.ec2#String", + "KeyName": { + "target": "com.amazonaws.ec2#KeyPairName", "traits": { - "smithy.api#documentation": "

[EC2-Classic] The Amazon Web Services account ID of the source security group, if the source security group is in a different account. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the IP protocol, the start of the port range, and the end of the port range. To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.

" + "smithy.api#documentation": "

The name of the key pair.

" } }, - "ToPort": { - "target": "com.amazonaws.ec2#Integer", + "Monitoring": { + "target": "com.amazonaws.ec2#ScheduledInstancesMonitoring", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The end of port range for the TCP and UDP protocols, or an ICMP code number. For the ICMP code number, \n use -1 to specify all ICMP codes for the ICMP type.

" + "smithy.api#documentation": "

Enable or disable monitoring for the instances.

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "NetworkInterfaces": { + "target": "com.amazonaws.ec2#ScheduledInstancesNetworkInterfaceSet", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#documentation": "

The network interfaces.

", + "smithy.api#xmlName": "NetworkInterface" } }, - "SecurityGroupRuleIds": { - "target": "com.amazonaws.ec2#SecurityGroupRuleIdList", - "traits": { - "smithy.api#documentation": "

The IDs of the security group rules.

", - "smithy.api#xmlName": "SecurityGroupRuleId" - } - } - } - }, - "com.amazonaws.ec2#RevokeSecurityGroupIngressResult": { - "type": "structure", - "members": { - "Return": { - "target": "com.amazonaws.ec2#Boolean", + "Placement": { + "target": "com.amazonaws.ec2#ScheduledInstancesPlacement", "traits": { - "aws.protocols#ec2QueryName": "Return", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, returns an error.

", - "smithy.api#xmlName": "return" + "smithy.api#documentation": "

The placement information.

" } }, - "UnknownIpPermissions": { - "target": "com.amazonaws.ec2#IpPermissionList", + "RamdiskId": { + "target": "com.amazonaws.ec2#RamdiskId", "traits": { - "aws.protocols#ec2QueryName": "UnknownIpPermissionSet", - "smithy.api#documentation": "

The inbound rules that were unknown to the service. In some cases,\n unknownIpPermissionSet might be in a different format from the request\n parameter.

", - "smithy.api#xmlName": "unknownIpPermissionSet" + "smithy.api#documentation": "

The ID of the RAM disk.

" } - } - } - }, - "com.amazonaws.ec2#RootDeviceType": { - "type": "enum", - "members": { - "ebs": { - "target": "smithy.api#Unit", + }, + "SecurityGroupIds": { + "target": "com.amazonaws.ec2#ScheduledInstancesSecurityGroupIdSet", "traits": { - "smithy.api#enumValue": "ebs" + "smithy.api#documentation": "

The IDs of the security groups.

", + "smithy.api#xmlName": "SecurityGroupId" } }, - "instance_store": { - "target": "smithy.api#Unit", + "SubnetId": { + "target": "com.amazonaws.ec2#SubnetId", "traits": { - "smithy.api#enumValue": "instance-store" + "smithy.api#documentation": "

The ID of the subnet in which to launch the instances.

" + } + }, + "UserData": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The base64-encoded MIME user data.

" } } + }, + "traits": { + "smithy.api#documentation": "

Describes the launch specification for a Scheduled Instance.

\n

If you are launching the Scheduled Instance in EC2-VPC, you must specify the ID of the subnet.\n You can specify the subnet using either SubnetId or NetworkInterface.

" } }, - "com.amazonaws.ec2#RootDeviceTypeList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#RootDeviceType", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#ScheduledInstancesMonitoring": { + "type": "structure", + "members": { + "Enabled": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether monitoring is enabled.

" + } } + }, + "traits": { + "smithy.api#documentation": "

Describes whether monitoring is enabled for a Scheduled Instance.

" } }, - "com.amazonaws.ec2#Route": { + "com.amazonaws.ec2#ScheduledInstancesNetworkInterface": { "type": "structure", "members": { - "DestinationCidrBlock": { - "target": "com.amazonaws.ec2#String", + "AssociatePublicIpAddress": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DestinationCidrBlock", - "smithy.api#documentation": "

The IPv4 CIDR block used for the destination match.

", - "smithy.api#xmlName": "destinationCidrBlock" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to assign a public IPv4 address to instances launched in a VPC. The\n public IPv4 address can only be assigned to a network interface for eth0, and can only be\n assigned to a new network interface, not an existing one. You cannot specify more than one\n network interface in the request. If launching into a default subnet, the default value is\n true.

" } }, - "DestinationIpv6CidrBlock": { - "target": "com.amazonaws.ec2#String", + "DeleteOnTermination": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DestinationIpv6CidrBlock", - "smithy.api#documentation": "

The IPv6 CIDR block used for the destination match.

", - "smithy.api#xmlName": "destinationIpv6CidrBlock" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether to delete the interface when the instance is terminated.

" } }, - "DestinationPrefixListId": { + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DestinationPrefixListId", - "smithy.api#documentation": "

The prefix of the Amazon Web Service.

", - "smithy.api#xmlName": "destinationPrefixListId" + "smithy.api#documentation": "

The description.

" } }, - "EgressOnlyInternetGatewayId": { - "target": "com.amazonaws.ec2#String", + "DeviceIndex": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "EgressOnlyInternetGatewayId", - "smithy.api#documentation": "

The ID of the egress-only internet gateway.

", - "smithy.api#xmlName": "egressOnlyInternetGatewayId" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The index of the device for the network interface attachment.

" } }, - "GatewayId": { - "target": "com.amazonaws.ec2#String", + "Groups": { + "target": "com.amazonaws.ec2#ScheduledInstancesSecurityGroupIdSet", "traits": { - "aws.protocols#ec2QueryName": "GatewayId", - "smithy.api#documentation": "

The ID of a gateway attached to your VPC.

", - "smithy.api#xmlName": "gatewayId" + "smithy.api#documentation": "

The IDs of the security groups.

", + "smithy.api#xmlName": "Group" } }, - "InstanceId": { - "target": "com.amazonaws.ec2#String", + "Ipv6AddressCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#documentation": "

The ID of a NAT instance in your VPC.

", - "smithy.api#xmlName": "instanceId" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of IPv6 addresses to assign to the network interface. The IPv6 addresses are automatically selected from the subnet range.

" } }, - "InstanceOwnerId": { - "target": "com.amazonaws.ec2#String", + "Ipv6Addresses": { + "target": "com.amazonaws.ec2#ScheduledInstancesIpv6AddressList", "traits": { - "aws.protocols#ec2QueryName": "InstanceOwnerId", - "smithy.api#documentation": "

The ID of Amazon Web Services account that owns the instance.

", - "smithy.api#xmlName": "instanceOwnerId" + "smithy.api#documentation": "

The specific IPv6 addresses from the subnet range.

", + "smithy.api#xmlName": "Ipv6Address" } }, - "NatGatewayId": { - "target": "com.amazonaws.ec2#String", + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#NetworkInterfaceId", "traits": { - "aws.protocols#ec2QueryName": "NatGatewayId", - "smithy.api#documentation": "

The ID of a NAT gateway.

", - "smithy.api#xmlName": "natGatewayId" + "smithy.api#documentation": "

The ID of the network interface.

" } }, - "TransitGatewayId": { + "PrivateIpAddress": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayId", - "smithy.api#documentation": "

The ID of a transit gateway.

", - "smithy.api#xmlName": "transitGatewayId" + "smithy.api#documentation": "

The IPv4 address of the network interface within the subnet.

" } }, - "LocalGatewayId": { - "target": "com.amazonaws.ec2#String", + "PrivateIpAddressConfigs": { + "target": "com.amazonaws.ec2#PrivateIpAddressConfigSet", "traits": { - "aws.protocols#ec2QueryName": "LocalGatewayId", - "smithy.api#documentation": "

The ID of the local gateway.

", - "smithy.api#xmlName": "localGatewayId" + "smithy.api#documentation": "

The private IPv4 addresses.

", + "smithy.api#xmlName": "PrivateIpAddressConfig" } }, - "CarrierGatewayId": { - "target": "com.amazonaws.ec2#CarrierGatewayId", + "SecondaryPrivateIpAddressCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "CarrierGatewayId", - "smithy.api#documentation": "

The ID of the carrier gateway.

", - "smithy.api#xmlName": "carrierGatewayId" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of secondary private IPv4 addresses.

" } }, - "NetworkInterfaceId": { - "target": "com.amazonaws.ec2#String", + "SubnetId": { + "target": "com.amazonaws.ec2#SubnetId", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceId", - "smithy.api#documentation": "

The ID of the network interface.

", - "smithy.api#xmlName": "networkInterfaceId" + "smithy.api#documentation": "

The ID of the subnet.

" } - }, - "Origin": { - "target": "com.amazonaws.ec2#RouteOrigin", + } + }, + "traits": { + "smithy.api#documentation": "

Describes a network interface for a Scheduled Instance.

" + } + }, + "com.amazonaws.ec2#ScheduledInstancesNetworkInterfaceSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ScheduledInstancesNetworkInterface", + "traits": { + "smithy.api#xmlName": "NetworkInterface" + } + } + }, + "com.amazonaws.ec2#ScheduledInstancesPlacement": { + "type": "structure", + "members": { + "AvailabilityZone": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Origin", - "smithy.api#documentation": "

Describes how the route was created.

\n
    \n
  • \n

    \n CreateRouteTable - The route was automatically created when the route table was created.

    \n
  • \n
  • \n

    \n CreateRoute - The route was manually added to the route table.

    \n
  • \n
  • \n

    \n EnableVgwRoutePropagation - The route was propagated by route propagation.

    \n
  • \n
", - "smithy.api#xmlName": "origin" + "smithy.api#documentation": "

The Availability Zone.

" } }, - "State": { - "target": "com.amazonaws.ec2#RouteState", + "GroupName": { + "target": "com.amazonaws.ec2#PlacementGroupName", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the route. The blackhole state indicates that the\n\t\t\t\troute's target isn't available (for example, the specified gateway isn't attached to the\n\t\t\t\tVPC, or the specified NAT instance has been terminated).

", - "smithy.api#xmlName": "state" + "smithy.api#documentation": "

The name of the placement group.

" } - }, - "VpcPeeringConnectionId": { - "target": "com.amazonaws.ec2#String", + } + }, + "traits": { + "smithy.api#documentation": "

Describes the placement for a Scheduled Instance.

" + } + }, + "com.amazonaws.ec2#ScheduledInstancesPrivateIpAddressConfig": { + "type": "structure", + "members": { + "Primary": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "VpcPeeringConnectionId", - "smithy.api#documentation": "

The ID of a VPC peering connection.

", - "smithy.api#xmlName": "vpcPeeringConnectionId" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether this is a primary IPv4 address. Otherwise, this is a secondary IPv4 address.

" } }, - "CoreNetworkArn": { - "target": "com.amazonaws.ec2#CoreNetworkArn", + "PrivateIpAddress": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CoreNetworkArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the core network.

", - "smithy.api#xmlName": "coreNetworkArn" + "smithy.api#documentation": "

The IPv4 address.

" } } }, "traits": { - "smithy.api#documentation": "

Describes a route in a route table.

" + "smithy.api#documentation": "

Describes a private IPv4 address for a Scheduled Instance.

" } }, - "com.amazonaws.ec2#RouteGatewayId": { - "type": "string" - }, - "com.amazonaws.ec2#RouteList": { + "com.amazonaws.ec2#ScheduledInstancesSecurityGroupIdSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#Route", + "target": "com.amazonaws.ec2#SecurityGroupId", "traits": { - "smithy.api#xmlName": "item" + "smithy.api#xmlName": "SecurityGroupId" } } }, - "com.amazonaws.ec2#RouteOrigin": { - "type": "enum", + "com.amazonaws.ec2#SearchLocalGatewayRoutes": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#SearchLocalGatewayRoutesRequest" + }, + "output": { + "target": "com.amazonaws.ec2#SearchLocalGatewayRoutesResult" + }, + "traits": { + "smithy.api#documentation": "

Searches for routes in the specified local gateway route table.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Routes", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#SearchLocalGatewayRoutesRequest": { + "type": "structure", "members": { - "CreateRouteTable": { - "target": "smithy.api#Unit", + "LocalGatewayRouteTableId": { + "target": "com.amazonaws.ec2#LocalGatewayRoutetableId", "traits": { - "smithy.api#enumValue": "CreateRouteTable" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the local gateway route table.

", + "smithy.api#required": {} } }, - "CreateRoute": { - "target": "smithy.api#Unit", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#enumValue": "CreateRoute" + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n route-search.exact-match - The exact match of the specified filter.

    \n
  • \n
  • \n

    \n route-search.longest-prefix-match - The longest prefix that matches the route.

    \n
  • \n
  • \n

    \n route-search.subnet-of-match - The routes with a subnet that match the specified CIDR filter.

    \n
  • \n
  • \n

    \n route-search.supernet-of-match - The routes with a CIDR that encompass the CIDR filter. \n For example, if you have 10.0.1.0/29 and 10.0.1.0/31 routes in your route table and you specify supernet-of-match \n as 10.0.1.0/30, then the result returns 10.0.1.0/29.

    \n
  • \n
  • \n

    \n state - The state of the route.

    \n
  • \n
  • \n

    \n type - The route type.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, - "EnableVgwRoutePropagation": { - "target": "smithy.api#Unit", + "MaxResults": { + "target": "com.amazonaws.ec2#MaxResults", "traits": { - "smithy.api#enumValue": "EnableVgwRoutePropagation" + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } - } - } - }, - "com.amazonaws.ec2#RouteState": { - "type": "enum", - "members": { - "active": { - "target": "smithy.api#Unit", + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "active" + "smithy.api#documentation": "

The token for the next page of results.

" } }, - "blackhole": { - "target": "smithy.api#Unit", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "blackhole" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#RouteTable": { + "com.amazonaws.ec2#SearchLocalGatewayRoutesResult": { "type": "structure", "members": { - "Associations": { - "target": "com.amazonaws.ec2#RouteTableAssociationList", + "Routes": { + "target": "com.amazonaws.ec2#LocalGatewayRouteList", "traits": { - "aws.protocols#ec2QueryName": "AssociationSet", - "smithy.api#documentation": "

The associations between the route table and one or more subnets or a gateway.

", - "smithy.api#xmlName": "associationSet" + "aws.protocols#ec2QueryName": "RouteSet", + "smithy.api#documentation": "

Information about the routes.

", + "smithy.api#xmlName": "routeSet" } }, - "PropagatingVgws": { - "target": "com.amazonaws.ec2#PropagatingVgwList", + "NextToken": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PropagatingVgwSet", - "smithy.api#documentation": "

Any virtual private gateway (VGW) propagating routes.

", - "smithy.api#xmlName": "propagatingVgwSet" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } - }, - "RouteTableId": { - "target": "com.amazonaws.ec2#String", + } + } + }, + "com.amazonaws.ec2#SearchTransitGatewayMulticastGroups": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#SearchTransitGatewayMulticastGroupsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#SearchTransitGatewayMulticastGroupsResult" + }, + "traits": { + "smithy.api#documentation": "

Searches one or more transit gateway multicast groups and returns the group membership information.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "MulticastGroups", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#SearchTransitGatewayMulticastGroupsRequest": { + "type": "structure", + "members": { + "TransitGatewayMulticastDomainId": { + "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainId", "traits": { - "aws.protocols#ec2QueryName": "RouteTableId", - "smithy.api#documentation": "

The ID of the route table.

", - "smithy.api#xmlName": "routeTableId" + "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

" } }, - "Routes": { - "target": "com.amazonaws.ec2#RouteList", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "aws.protocols#ec2QueryName": "RouteSet", - "smithy.api#documentation": "

The routes in the route table.

", - "smithy.api#xmlName": "routeSet" + "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n group-ip-address - The IP address of the transit gateway multicast group.

    \n
  • \n
  • \n

    \n is-group-member - The resource is a group member. Valid values are true | false.

    \n
  • \n
  • \n

    \n is-group-source - The resource is a group source. Valid values are true | false.

    \n
  • \n
  • \n

    \n member-type - The member type. Valid values are igmp | static.

    \n
  • \n
  • \n

    \n resource-id - The ID of the resource.

    \n
  • \n
  • \n

    \n resource-type - The type of resource. Valid values are vpc | vpn | direct-connect-gateway | tgw-peering.

    \n
  • \n
  • \n

    \n source-type - The source type. Valid values are igmp | static.

    \n
  • \n
  • \n

    \n subnet-id - The ID of the subnet.

    \n
  • \n
  • \n

    \n transit-gateway-attachment-id - The id of the transit gateway attachment.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "MaxResults": { + "target": "com.amazonaws.ec2#TransitGatewayMaxResults", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags assigned to the route table.

", - "smithy.api#xmlName": "tagSet" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } }, - "VpcId": { + "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "VpcId", - "smithy.api#documentation": "

The ID of the VPC.

", - "smithy.api#xmlName": "vpcId" + "smithy.api#documentation": "

The token for the next page of results.

" } }, - "OwnerId": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the route table.

", - "smithy.api#xmlName": "ownerId" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Describes a route table.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#RouteTableAssociation": { + "com.amazonaws.ec2#SearchTransitGatewayMulticastGroupsResult": { "type": "structure", "members": { - "Main": { - "target": "com.amazonaws.ec2#Boolean", + "MulticastGroups": { + "target": "com.amazonaws.ec2#TransitGatewayMulticastGroupList", "traits": { - "aws.protocols#ec2QueryName": "Main", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether this is the main route table.

", - "smithy.api#xmlName": "main" + "aws.protocols#ec2QueryName": "MulticastGroups", + "smithy.api#documentation": "

Information about the transit gateway multicast group.

", + "smithy.api#xmlName": "multicastGroups" } }, - "RouteTableAssociationId": { + "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "RouteTableAssociationId", - "smithy.api#documentation": "

The ID of the association.

", - "smithy.api#xmlName": "routeTableAssociationId" + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" } - }, - "RouteTableId": { - "target": "com.amazonaws.ec2#String", + } + } + }, + "com.amazonaws.ec2#SearchTransitGatewayRoutes": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#SearchTransitGatewayRoutesRequest" + }, + "output": { + "target": "com.amazonaws.ec2#SearchTransitGatewayRoutesResult" + }, + "traits": { + "smithy.api#documentation": "

Searches for routes in the specified transit gateway route table.

" + } + }, + "com.amazonaws.ec2#SearchTransitGatewayRoutesRequest": { + "type": "structure", + "members": { + "TransitGatewayRouteTableId": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", "traits": { - "aws.protocols#ec2QueryName": "RouteTableId", - "smithy.api#documentation": "

The ID of the route table.

", - "smithy.api#xmlName": "routeTableId" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the transit gateway route table.

", + "smithy.api#required": {} } }, - "SubnetId": { - "target": "com.amazonaws.ec2#String", + "Filters": { + "target": "com.amazonaws.ec2#FilterList", "traits": { - "aws.protocols#ec2QueryName": "SubnetId", - "smithy.api#documentation": "

The ID of the subnet. A subnet ID is not returned for an implicit association.

", - "smithy.api#xmlName": "subnetId" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n attachment.transit-gateway-attachment-id- The id of the transit gateway attachment.

    \n
  • \n
  • \n

    \n attachment.resource-id - The resource id of the transit gateway attachment.

    \n
  • \n
  • \n

    \n attachment.resource-type - The attachment resource type. Valid values\n are vpc | vpn | direct-connect-gateway |\n peering | connect.

    \n
  • \n
  • \n

    \n prefix-list-id - The ID of the prefix list.

    \n
  • \n
  • \n

    \n route-search.exact-match - The exact match of the specified filter.

    \n
  • \n
  • \n

    \n route-search.longest-prefix-match - The longest prefix that matches the route.

    \n
  • \n
  • \n

    \n route-search.subnet-of-match - The routes with a subnet that match the specified CIDR filter.

    \n
  • \n
  • \n

    \n route-search.supernet-of-match - The routes with a CIDR that encompass the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31 routes in your route table and you specify supernet-of-match as 10.0.1.0/30, then the result returns 10.0.1.0/29.

    \n
  • \n
  • \n

    \n state - The state of the route (active | blackhole).

    \n
  • \n
  • \n

    \n type - The type of route (propagated |\n static).

    \n
  • \n
", + "smithy.api#required": {}, + "smithy.api#xmlName": "Filter" } }, - "GatewayId": { - "target": "com.amazonaws.ec2#String", + "MaxResults": { + "target": "com.amazonaws.ec2#TransitGatewayMaxResults", "traits": { - "aws.protocols#ec2QueryName": "GatewayId", - "smithy.api#documentation": "

The ID of the internet gateway or virtual private gateway.

", - "smithy.api#xmlName": "gatewayId" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of routes to return.

" } }, - "AssociationState": { - "target": "com.amazonaws.ec2#RouteTableAssociationState", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "AssociationState", - "smithy.api#documentation": "

The state of the association.

", - "smithy.api#xmlName": "associationState" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } }, "traits": { - "smithy.api#documentation": "

Describes an association between a route table and a subnet or gateway.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#RouteTableAssociationId": { - "type": "string" - }, - "com.amazonaws.ec2#RouteTableAssociationList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#RouteTableAssociation", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#SearchTransitGatewayRoutesResult": { + "type": "structure", + "members": { + "Routes": { + "target": "com.amazonaws.ec2#TransitGatewayRouteList", + "traits": { + "aws.protocols#ec2QueryName": "RouteSet", + "smithy.api#documentation": "

Information about the routes.

", + "smithy.api#xmlName": "routeSet" + } + }, + "AdditionalRoutesAvailable": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "AdditionalRoutesAvailable", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether there are additional routes available.

", + "smithy.api#xmlName": "additionalRoutesAvailable" + } } } }, - "com.amazonaws.ec2#RouteTableAssociationState": { + "com.amazonaws.ec2#SecurityGroup": { "type": "structure", "members": { - "State": { - "target": "com.amazonaws.ec2#RouteTableAssociationStateCode", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the association.

", - "smithy.api#xmlName": "state" + "aws.protocols#ec2QueryName": "GroupDescription", + "smithy.api#documentation": "

A description of the security group.

", + "smithy.api#xmlName": "groupDescription" + } + }, + "GroupName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "GroupName", + "smithy.api#documentation": "

The name of the security group.

", + "smithy.api#xmlName": "groupName" + } + }, + "IpPermissions": { + "target": "com.amazonaws.ec2#IpPermissionList", + "traits": { + "aws.protocols#ec2QueryName": "IpPermissions", + "smithy.api#documentation": "

The inbound rules associated with the security group.

", + "smithy.api#xmlName": "ipPermissions" } }, - "StatusMessage": { + "OwnerId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "StatusMessage", - "smithy.api#documentation": "

The status message, if applicable.

", - "smithy.api#xmlName": "statusMessage" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the state of an association between a route table and a subnet or gateway.

" - } - }, - "com.amazonaws.ec2#RouteTableAssociationStateCode": { - "type": "enum", - "members": { - "associating": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "associating" + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The Amazon Web Services account ID of the owner of the security group.

", + "smithy.api#xmlName": "ownerId" } }, - "associated": { - "target": "smithy.api#Unit", + "GroupId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "associated" + "aws.protocols#ec2QueryName": "GroupId", + "smithy.api#documentation": "

The ID of the security group.

", + "smithy.api#xmlName": "groupId" } }, - "disassociating": { - "target": "smithy.api#Unit", + "IpPermissionsEgress": { + "target": "com.amazonaws.ec2#IpPermissionList", "traits": { - "smithy.api#enumValue": "disassociating" + "aws.protocols#ec2QueryName": "IpPermissionsEgress", + "smithy.api#documentation": "

[VPC only] The outbound rules associated with the security group.

", + "smithy.api#xmlName": "ipPermissionsEgress" } }, - "disassociated": { - "target": "smithy.api#Unit", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "smithy.api#enumValue": "disassociated" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Any tags assigned to the security group.

", + "smithy.api#xmlName": "tagSet" } }, - "failed": { - "target": "smithy.api#Unit", + "VpcId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "failed" + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#documentation": "

[VPC only] The ID of the VPC for the security group.

", + "smithy.api#xmlName": "vpcId" } } + }, + "traits": { + "smithy.api#documentation": "

Describes a security group.

" } }, - "com.amazonaws.ec2#RouteTableId": { + "com.amazonaws.ec2#SecurityGroupId": { "type": "string" }, - "com.amazonaws.ec2#RouteTableIdStringList": { + "com.amazonaws.ec2#SecurityGroupIdList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#RouteTableId", + "target": "com.amazonaws.ec2#SecurityGroupId", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#RouteTableList": { + "com.amazonaws.ec2#SecurityGroupIdStringList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#RouteTable", + "target": "com.amazonaws.ec2#SecurityGroupId", "traits": { - "smithy.api#xmlName": "item" + "smithy.api#xmlName": "SecurityGroupId" } } }, - "com.amazonaws.ec2#RuleAction": { - "type": "enum", + "com.amazonaws.ec2#SecurityGroupIdentifier": { + "type": "structure", "members": { - "allow": { - "target": "smithy.api#Unit", + "GroupId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "allow" + "aws.protocols#ec2QueryName": "GroupId", + "smithy.api#documentation": "

The ID of the security group.

", + "smithy.api#xmlName": "groupId" } }, - "deny": { - "target": "smithy.api#Unit", + "GroupName": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "deny" + "aws.protocols#ec2QueryName": "GroupName", + "smithy.api#documentation": "

The name of the security group.

", + "smithy.api#xmlName": "groupName" } } - } - }, - "com.amazonaws.ec2#RunInstances": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#RunInstancesRequest" - }, - "output": { - "target": "com.amazonaws.ec2#Reservation" }, "traits": { - "smithy.api#documentation": "

Launches the specified number of instances using an AMI for which you have\n permissions.

\n

You can specify a number of options, or leave the default options. The following rules\n apply:

\n
    \n
  • \n

    [EC2-VPC] If you don't specify a subnet ID, we choose a default subnet from\n your default VPC for you. If you don't have a default VPC, you must specify a\n subnet ID in the request.

    \n
  • \n
  • \n

    [EC2-Classic] If don't specify an Availability Zone, we choose one for\n you.

    \n
  • \n
  • \n

    Some instance types must be launched into a VPC. If you do not have a default\n VPC, or if you do not specify a subnet ID, the request fails. For more\n information, see Instance types available only in a VPC.

    \n
  • \n
  • \n

    [EC2-VPC] All instances have a network interface with a primary private IPv4\n address. If you don't specify this address, we choose one from the IPv4 range of\n your subnet.

    \n
  • \n
  • \n

    Not all instance types support IPv6 addresses. For more information, see\n Instance\n types.

    \n
  • \n
  • \n

    If you don't specify a security group ID, we use the default security group.\n For more information, see Security\n groups.

    \n
  • \n
  • \n

    If any of the AMIs have a product code attached for which the user has not\n subscribed, the request fails.

    \n
  • \n
\n

You can create a launch template,\n which is a resource that contains the parameters to launch an instance. When you launch\n an instance using RunInstances, you can specify the launch template\n instead of specifying the launch parameters.

\n

To ensure faster instance launches, break up large requests into smaller batches. For\n example, create five separate launch requests for 100 instances each instead of one\n launch request for 500 instances.

\n

An instance is ready for you to use when it's in the running state. You\n can check the state of your instance using DescribeInstances. You can\n tag instances and EBS volumes during launch, after launch, or both. For more\n information, see CreateTags and Tagging your Amazon EC2\n resources.

\n

Linux instances have access to the public key of the key pair at boot. You can use\n this key to provide secure access to the instance. Amazon EC2 public images use this\n feature to provide secure access without passwords. For more information, see Key\n pairs.

\n

For troubleshooting, see What to do if\n an instance immediately terminates, and Troubleshooting connecting to your instance.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a\n VPC. For more information, see Migrate from EC2-Classic to a\n VPC in the Amazon EC2 User Guide.

\n
" + "smithy.api#documentation": "

Describes a security group.

" } }, - "com.amazonaws.ec2#RunInstancesMonitoringEnabled": { + "com.amazonaws.ec2#SecurityGroupList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SecurityGroup", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#SecurityGroupName": { + "type": "string" + }, + "com.amazonaws.ec2#SecurityGroupReference": { "type": "structure", "members": { - "Enabled": { - "target": "com.amazonaws.ec2#Boolean", + "GroupId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Enabled", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is\n enabled.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "enabled" + "aws.protocols#ec2QueryName": "GroupId", + "smithy.api#documentation": "

The ID of your security group.

", + "smithy.api#xmlName": "groupId" + } + }, + "ReferencingVpcId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ReferencingVpcId", + "smithy.api#documentation": "

The ID of the VPC with the referencing security group.

", + "smithy.api#xmlName": "referencingVpcId" + } + }, + "VpcPeeringConnectionId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "VpcPeeringConnectionId", + "smithy.api#documentation": "

The ID of the VPC peering connection.

", + "smithy.api#xmlName": "vpcPeeringConnectionId" } } }, "traits": { - "smithy.api#documentation": "

Describes the monitoring of an instance.

" + "smithy.api#documentation": "

Describes a VPC with a security group that references your security group.

" } }, - "com.amazonaws.ec2#RunInstancesRequest": { + "com.amazonaws.ec2#SecurityGroupReferences": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SecurityGroupReference", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#SecurityGroupRule": { "type": "structure", "members": { - "BlockDeviceMappings": { - "target": "com.amazonaws.ec2#BlockDeviceMappingRequestList", + "SecurityGroupRuleId": { + "target": "com.amazonaws.ec2#SecurityGroupRuleId", "traits": { - "smithy.api#documentation": "

The block device mapping, which defines the EBS volumes and instance store volumes to\n attach to the instance at launch. For more information, see Block device\n mappings in the Amazon EC2 User Guide.

", - "smithy.api#xmlName": "BlockDeviceMapping" + "aws.protocols#ec2QueryName": "SecurityGroupRuleId", + "smithy.api#documentation": "

The ID of the security group rule.

", + "smithy.api#xmlName": "securityGroupRuleId" } }, - "ImageId": { - "target": "com.amazonaws.ec2#ImageId", + "GroupId": { + "target": "com.amazonaws.ec2#SecurityGroupId", "traits": { - "smithy.api#documentation": "

The ID of the AMI. An AMI ID is required to launch an instance and must be specified\n here or in a launch template.

" + "aws.protocols#ec2QueryName": "GroupId", + "smithy.api#documentation": "

The ID of the security group.

", + "smithy.api#xmlName": "groupId" } }, - "InstanceType": { - "target": "com.amazonaws.ec2#InstanceType", + "GroupOwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The instance type. For more information, see Instance types in the\n Amazon EC2 User Guide.

\n

Default: m1.small\n

" + "aws.protocols#ec2QueryName": "GroupOwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the security group.

", + "smithy.api#xmlName": "groupOwnerId" } }, - "Ipv6AddressCount": { - "target": "com.amazonaws.ec2#Integer", + "IsEgress": { + "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "IsEgress", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

[EC2-VPC] The number of IPv6 addresses to associate with the primary network\n interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. You\n cannot specify this option and the option to assign specific IPv6 addresses in the same\n request. You can specify this option if you've specified a minimum number of instances\n to launch.

\n

You cannot specify this option and the network interfaces option in the same\n request.

" - } - }, - "Ipv6Addresses": { - "target": "com.amazonaws.ec2#InstanceIpv6AddressList", - "traits": { - "smithy.api#documentation": "

[EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the\n primary network interface. You cannot specify this option and the option to assign a\n number of IPv6 addresses in the same request. You cannot specify this option if you've\n specified a minimum number of instances to launch.

\n

You cannot specify this option and the network interfaces option in the same\n request.

", - "smithy.api#xmlName": "Ipv6Address" - } - }, - "KernelId": { - "target": "com.amazonaws.ec2#KernelId", - "traits": { - "smithy.api#documentation": "

The ID of the kernel.

\n \n

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more\n information, see PV-GRUB in the\n Amazon EC2 User Guide.

\n
" + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the security group rule is an outbound rule.

", + "smithy.api#xmlName": "isEgress" } }, - "KeyName": { - "target": "com.amazonaws.ec2#KeyPairName", + "IpProtocol": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The name of the key pair. You can create a key pair using CreateKeyPair or\n ImportKeyPair.

\n \n

If you do not specify a key pair, you can't connect to the instance unless you\n choose an AMI that is configured to allow users another way to log in.

\n
" + "aws.protocols#ec2QueryName": "IpProtocol", + "smithy.api#documentation": "

The IP protocol name (tcp, udp, icmp,\n icmpv6) or number (see Protocol Numbers).

\n

Use -1 to specify all protocols.

", + "smithy.api#xmlName": "ipProtocol" } }, - "MaxCount": { + "FromPort": { "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "FromPort", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of instances to launch. If you specify more instances than Amazon\n EC2 can launch in the target Availability Zone, Amazon EC2 launches the largest possible\n number of instances above MinCount.

\n

Constraints: Between 1 and the maximum number you're allowed for the specified\n instance type. For more information about the default limits, and how to request an\n increase, see How many instances can I\n run in Amazon EC2 in the Amazon EC2 FAQ.

", - "smithy.api#required": {} + "smithy.api#documentation": "

If the protocol is TCP or UDP, this is the start of the port range.\n If the protocol is ICMP or ICMPv6, this is the type number. A value of -1 indicates all ICMP/ICMPv6 types. \n If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes.

", + "smithy.api#xmlName": "fromPort" } }, - "MinCount": { + "ToPort": { "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "ToPort", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The minimum number of instances to launch. If you specify a minimum that is more\n instances than Amazon EC2 can launch in the target Availability Zone, Amazon EC2\n launches no instances.

\n

Constraints: Between 1 and the maximum number you're allowed for the specified\n instance type. For more information about the default limits, and how to request an\n increase, see How many instances can I\n run in Amazon EC2 in the Amazon EC2 General FAQ.

", - "smithy.api#required": {} - } - }, - "Monitoring": { - "target": "com.amazonaws.ec2#RunInstancesMonitoringEnabled", - "traits": { - "smithy.api#documentation": "

Specifies whether detailed monitoring is enabled for the instance.

" + "smithy.api#documentation": "

If the protocol is TCP or UDP, this is the end of the port range.\n If the protocol is ICMP or ICMPv6, this is the type number. A value of -1 indicates all ICMP/ICMPv6 codes. \n If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes.

", + "smithy.api#xmlName": "toPort" } }, - "Placement": { - "target": "com.amazonaws.ec2#Placement", + "CidrIpv4": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The placement for the instance.

" + "aws.protocols#ec2QueryName": "CidrIpv4", + "smithy.api#documentation": "

The IPv4 CIDR range.

", + "smithy.api#xmlName": "cidrIpv4" } }, - "RamdiskId": { - "target": "com.amazonaws.ec2#RamdiskId", + "CidrIpv6": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The ID of the RAM disk to select. Some kernels require additional drivers at launch.\n Check the kernel requirements for information about whether you need to specify a RAM\n disk. To find kernel requirements, go to the Amazon Web Services Resource Center and\n search for the kernel ID.

\n \n

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more\n information, see PV-GRUB in the\n Amazon EC2 User Guide.

\n
" + "aws.protocols#ec2QueryName": "CidrIpv6", + "smithy.api#documentation": "

The IPv6 CIDR range.

", + "smithy.api#xmlName": "cidrIpv6" } }, - "SecurityGroupIds": { - "target": "com.amazonaws.ec2#SecurityGroupIdStringList", + "PrefixListId": { + "target": "com.amazonaws.ec2#PrefixListResourceId", "traits": { - "smithy.api#documentation": "

The IDs of the security groups. You can create a security group using CreateSecurityGroup.

\n

If you specify a network interface, you must specify any security groups as part of\n the network interface.

", - "smithy.api#xmlName": "SecurityGroupId" + "aws.protocols#ec2QueryName": "PrefixListId", + "smithy.api#documentation": "

The ID of the prefix list.

", + "smithy.api#xmlName": "prefixListId" } }, - "SecurityGroups": { - "target": "com.amazonaws.ec2#SecurityGroupStringList", + "ReferencedGroupInfo": { + "target": "com.amazonaws.ec2#ReferencedSecurityGroup", "traits": { - "smithy.api#documentation": "

[EC2-Classic, default VPC] The names of the security groups. For a nondefault VPC, you\n must use security group IDs instead.

\n

If you specify a network interface, you must specify any security groups as part of\n the network interface.

\n

Default: Amazon EC2 uses the default security group.

", - "smithy.api#xmlName": "SecurityGroup" + "aws.protocols#ec2QueryName": "ReferencedGroupInfo", + "smithy.api#documentation": "

Describes the security group that is referenced in the rule.

", + "smithy.api#xmlName": "referencedGroupInfo" } }, - "SubnetId": { - "target": "com.amazonaws.ec2#SubnetId", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

[EC2-VPC] The ID of the subnet to launch the instance into.

\n

If you specify a network interface, you must specify any subnets as part of the\n network interface.

" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

The security group rule description.

", + "smithy.api#xmlName": "description" } }, - "UserData": { - "target": "com.amazonaws.ec2#RunInstancesUserData", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "smithy.api#documentation": "

The user data script to make available to the instance. For more information, see\n Run\n commands on your Linux instance at launch and Run commands on your\n Windows instance at launch. If you are using a command line tool,\n base64-encoding is performed for you, and you can load the text from a file. Otherwise,\n you must provide base64-encoded text. User data is limited to 16 KB.

" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags applied to the security group rule.

", + "smithy.api#xmlName": "tagSet" } - }, - "AdditionalInfo": { + } + }, + "traits": { + "smithy.api#documentation": "

Describes a security group rule.

" + } + }, + "com.amazonaws.ec2#SecurityGroupRuleDescription": { + "type": "structure", + "members": { + "SecurityGroupRuleId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AdditionalInfo", - "smithy.api#documentation": "

Reserved.

", - "smithy.api#xmlName": "additionalInfo" + "smithy.api#documentation": "

The ID of the security group rule.

" } }, - "ClientToken": { + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ClientToken", - "smithy.api#documentation": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the\n request. If you do not specify a client token, a randomly generated token is used for\n the request to ensure idempotency.

\n\n

For more information, see Ensuring\n Idempotency.

\n

Constraints: Maximum 64 ASCII characters

", - "smithy.api#idempotencyToken": {}, - "smithy.api#xmlName": "clientToken" + "smithy.api#documentation": "

The description of the security group rule.

" } - }, - "DisableApiTermination": { - "target": "com.amazonaws.ec2#Boolean", + } + }, + "traits": { + "smithy.api#documentation": "

Describes the description of a security group rule.

\n

You can use this when you want to update the security group rule description for either an inbound or outbound rule.

" + } + }, + "com.amazonaws.ec2#SecurityGroupRuleDescriptionList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SecurityGroupRuleDescription", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#SecurityGroupRuleId": { + "type": "string" + }, + "com.amazonaws.ec2#SecurityGroupRuleIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#SecurityGroupRuleList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SecurityGroupRule", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#SecurityGroupRuleRequest": { + "type": "structure", + "members": { + "IpProtocol": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DisableApiTermination", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

If you set this parameter to true, you can't terminate the instance using\n the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute after\n launch, use ModifyInstanceAttribute. Alternatively, if you set\n InstanceInitiatedShutdownBehavior to terminate, you can\n terminate the instance by running the shutdown command from the instance.

\n

Default: false\n

", - "smithy.api#xmlName": "disableApiTermination" + "smithy.api#documentation": "

The IP protocol name (tcp, udp, icmp,\n icmpv6) or number (see Protocol Numbers).

\n

Use -1 to specify all protocols.

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "FromPort": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#default": 0, + "smithy.api#documentation": "

If the protocol is TCP or UDP, this is the start of the port range.\n If the protocol is ICMP or ICMPv6, this is the type number. A value of -1 indicates all ICMP/ICMPv6 types. \n If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes.

" } }, - "EbsOptimized": { - "target": "com.amazonaws.ec2#Boolean", + "ToPort": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "EbsOptimized", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the instance is optimized for Amazon EBS I/O. This optimization\n provides dedicated throughput to Amazon EBS and an optimized configuration stack to\n provide optimal Amazon EBS I/O performance. This optimization isn't available with all\n instance types. Additional usage charges apply when using an EBS-optimized\n instance.

\n

Default: false\n

", - "smithy.api#xmlName": "ebsOptimized" - } - }, - "IamInstanceProfile": { - "target": "com.amazonaws.ec2#IamInstanceProfileSpecification", - "traits": { - "aws.protocols#ec2QueryName": "IamInstanceProfile", - "smithy.api#documentation": "

The name or Amazon Resource Name (ARN) of an IAM instance\n profile.

", - "smithy.api#xmlName": "iamInstanceProfile" - } - }, - "InstanceInitiatedShutdownBehavior": { - "target": "com.amazonaws.ec2#ShutdownBehavior", - "traits": { - "aws.protocols#ec2QueryName": "InstanceInitiatedShutdownBehavior", - "smithy.api#documentation": "

Indicates whether an instance stops or terminates when you initiate shutdown from the\n instance (using the operating system command for system shutdown).

\n

Default: stop\n

", - "smithy.api#xmlName": "instanceInitiatedShutdownBehavior" - } - }, - "NetworkInterfaces": { - "target": "com.amazonaws.ec2#InstanceNetworkInterfaceSpecificationList", - "traits": { - "aws.protocols#ec2QueryName": "NetworkInterface", - "smithy.api#documentation": "

The network interfaces to associate with the instance. If you specify a network\n interface, you must specify any security groups and subnets as part of the network\n interface.

", - "smithy.api#xmlName": "networkInterface" + "smithy.api#default": 0, + "smithy.api#documentation": "

If the protocol is TCP or UDP, this is the end of the port range.\n If the protocol is ICMP or ICMPv6, this is the code. A value of -1 indicates all ICMP/ICMPv6 codes. \n If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes.

" } }, - "PrivateIpAddress": { + "CidrIpv4": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PrivateIpAddress", - "smithy.api#documentation": "

[EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address\n range of the subnet.

\n

Only one private IP address can be designated as primary. You can't specify this\n option if you've specified the option to designate a private IP address as the primary\n IP address in a network interface specification. You cannot specify this option if\n you're launching more than one instance in the request.

\n

You cannot specify this option and the network interfaces option in the same\n request.

", - "smithy.api#xmlName": "privateIpAddress" - } - }, - "ElasticGpuSpecification": { - "target": "com.amazonaws.ec2#ElasticGpuSpecifications", - "traits": { - "smithy.api#documentation": "

An elastic GPU to associate with the instance. An Elastic GPU is a GPU resource that\n you can attach to your Windows instance to accelerate the graphics performance of your\n applications. For more information, see Amazon EC2 Elastic GPUs in\n the Amazon EC2 User Guide.

" - } - }, - "ElasticInferenceAccelerators": { - "target": "com.amazonaws.ec2#ElasticInferenceAccelerators", - "traits": { - "smithy.api#documentation": "

An elastic inference accelerator to associate with the instance. Elastic inference\n accelerators are a resource you can attach to your Amazon EC2 instances to accelerate\n your Deep Learning (DL) inference workloads.

\n

You cannot specify accelerators from different generations in the same request.

", - "smithy.api#xmlName": "ElasticInferenceAccelerator" - } - }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", - "traits": { - "smithy.api#documentation": "

The tags to apply to the resources that are created during instance launch.

\n

You can specify tags for the following resources only:

\n
    \n
  • \n

    Instances

    \n
  • \n
  • \n

    Volumes

    \n
  • \n
  • \n

    Elastic graphics

    \n
  • \n
  • \n

    Spot Instance requests

    \n
  • \n
  • \n

    Network interfaces

    \n
  • \n
\n

To tag a resource after it has been created, see CreateTags.

", - "smithy.api#xmlName": "TagSpecification" - } - }, - "LaunchTemplate": { - "target": "com.amazonaws.ec2#LaunchTemplateSpecification", - "traits": { - "smithy.api#documentation": "

The launch template to use to launch the instances. Any parameters that you specify in\n RunInstances override the same parameters in the launch template.\n You can specify either the name or ID of a launch template, but not both.

" - } - }, - "InstanceMarketOptions": { - "target": "com.amazonaws.ec2#InstanceMarketOptionsRequest", - "traits": { - "smithy.api#documentation": "

The market (purchasing) option for the instances.

\n

For RunInstances, persistent Spot Instance requests are\n only supported when InstanceInterruptionBehavior is set\n to either hibernate or stop.

" + "smithy.api#documentation": "

The IPv4 CIDR range. To specify a single IPv4 address, use the /32 prefix length.

" } }, - "CreditSpecification": { - "target": "com.amazonaws.ec2#CreditSpecificationRequest", + "CidrIpv6": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The credit option for CPU usage of the burstable performance instance. Valid values\n are standard and unlimited. To change this attribute after\n launch, use \n ModifyInstanceCreditSpecification. For more information, see Burstable\n performance instances in the Amazon EC2 User Guide.

\n

Default: standard (T2 instances) or unlimited (T3/T3a/T4g\n instances)

\n

For T3 instances with host tenancy, only standard is\n supported.

" + "smithy.api#documentation": "

The IPv6 CIDR range. To specify a single IPv6 address, use the /128 prefix length.

" } }, - "CpuOptions": { - "target": "com.amazonaws.ec2#CpuOptionsRequest", + "PrefixListId": { + "target": "com.amazonaws.ec2#PrefixListResourceId", "traits": { - "smithy.api#documentation": "

The CPU options for the instance. For more information, see Optimize CPU options in the Amazon EC2 User Guide.

" + "smithy.api#documentation": "

The ID of the prefix list.

" } }, - "CapacityReservationSpecification": { - "target": "com.amazonaws.ec2#CapacityReservationSpecification", + "ReferencedGroupId": { + "target": "com.amazonaws.ec2#SecurityGroupId", "traits": { - "smithy.api#documentation": "

Information about the Capacity Reservation targeting option. If you do not specify this parameter, the\n instance's Capacity Reservation preference defaults to open, which enables\n it to run in any open Capacity Reservation that has matching attributes (instance type,\n platform, Availability Zone).

" + "smithy.api#documentation": "

The ID of the security group that is referenced in the security group rule.

" } }, - "HibernationOptions": { - "target": "com.amazonaws.ec2#HibernationOptionsRequest", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

Indicates whether an instance is enabled for hibernation. For more information, see\n Hibernate\n your instance in the Amazon EC2 User Guide.

\n

You can't enable hibernation and Amazon Web Services Nitro Enclaves on the same\n instance.

" + "smithy.api#documentation": "

The description of the security group rule.

" } - }, - "LicenseSpecifications": { - "target": "com.amazonaws.ec2#LicenseSpecificationListRequest", + } + }, + "traits": { + "smithy.api#documentation": "

Describes a security group rule.

\n

You must specify exactly one of the following parameters, based on the rule type:

\n
    \n
  • \n

    CidrIpv4

    \n
  • \n
  • \n

    CidrIpv6

    \n
  • \n
  • \n

    PrefixListId

    \n
  • \n
  • \n

    ReferencedGroupId

    \n
  • \n
\n

When you modify a rule, you cannot change the rule type. For example, if the rule \n uses an IPv4 address range, you must use CidrIpv4 to specify a new IPv4 \n address range.

" + } + }, + "com.amazonaws.ec2#SecurityGroupRuleUpdate": { + "type": "structure", + "members": { + "SecurityGroupRuleId": { + "target": "com.amazonaws.ec2#SecurityGroupRuleId", "traits": { - "smithy.api#documentation": "

The license configurations.

", - "smithy.api#xmlName": "LicenseSpecification" + "smithy.api#documentation": "

The ID of the security group rule.

" } }, - "MetadataOptions": { - "target": "com.amazonaws.ec2#InstanceMetadataOptionsRequest", + "SecurityGroupRule": { + "target": "com.amazonaws.ec2#SecurityGroupRuleRequest", "traits": { - "smithy.api#documentation": "

The metadata options for the instance. For more information, see Instance metadata and user data.

" + "smithy.api#documentation": "

Information about the security group rule.

" } - }, - "EnclaveOptions": { - "target": "com.amazonaws.ec2#EnclaveOptionsRequest", + } + }, + "traits": { + "smithy.api#documentation": "

Describes an update to a security group rule.

" + } + }, + "com.amazonaws.ec2#SecurityGroupRuleUpdateList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SecurityGroupRuleUpdate", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#SecurityGroupStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SecurityGroupName", + "traits": { + "smithy.api#xmlName": "SecurityGroup" + } + } + }, + "com.amazonaws.ec2#SelfServicePortal": { + "type": "enum", + "members": { + "enabled": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For\n more information, see What is Amazon Web Services Nitro\n Enclaves? in the Amazon Web Services Nitro Enclaves User\n Guide.

\n

You can't enable Amazon Web Services Nitro Enclaves and hibernation on the same\n instance.

" + "smithy.api#enumValue": "enabled" } }, - "PrivateDnsNameOptions": { - "target": "com.amazonaws.ec2#PrivateDnsNameOptionsRequest", + "disabled": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The options for the instance hostname. The default values are inherited from the\n subnet.

" + "smithy.api#enumValue": "disabled" } - }, - "MaintenanceOptions": { - "target": "com.amazonaws.ec2#InstanceMaintenanceOptionsRequest", + } + } + }, + "com.amazonaws.ec2#SendDiagnosticInterrupt": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#SendDiagnosticInterruptRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "

Sends a diagnostic interrupt to the specified Amazon EC2 instance to trigger a\n kernel panic (on Linux instances), or a blue\n screen/stop error (on Windows instances). For\n instances based on Intel and AMD processors, the interrupt is received as a\n non-maskable interrupt (NMI).

\n

In general, the operating system crashes and reboots when a kernel panic or stop error\n is triggered. The operating system can also be configured to perform diagnostic tasks,\n such as generating a memory dump file, loading a secondary kernel, or obtaining a call\n trace.

\n

Before sending a diagnostic interrupt to your instance, ensure that its operating\n system is configured to perform the required diagnostic tasks.

\n

For more information about configuring your operating system to generate a crash dump\n when a kernel panic or stop error occurs, see Send a diagnostic interrupt\n (for advanced users) (Linux instances) or Send a diagnostic\n interrupt (for advanced users) (Windows instances).

" + } + }, + "com.amazonaws.ec2#SendDiagnosticInterruptRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", "traits": { - "smithy.api#documentation": "

The maintenance and recovery options for the instance.

" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the instance.

", + "smithy.api#required": {} } }, - "DisableApiStop": { + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether an instance is enabled for stop protection. For more information,\n see Stop\n protection.

" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#RunInstancesUserData": { + "com.amazonaws.ec2#SensitiveUserData": { "type": "string", "traits": { "smithy.api#sensitive": {} } }, - "com.amazonaws.ec2#RunScheduledInstances": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#RunScheduledInstancesRequest" - }, - "output": { - "target": "com.amazonaws.ec2#RunScheduledInstancesResult" - }, - "traits": { - "smithy.api#documentation": "

Launches the specified Scheduled Instances.

\n

Before you can launch a Scheduled Instance, you must purchase it and obtain an identifier using PurchaseScheduledInstances.

\n

You must launch a Scheduled Instance during its scheduled time period. You can't stop or reboot a Scheduled Instance, \n but you can terminate it as needed. If you terminate a Scheduled Instance before the current scheduled time period ends, \n you can launch it again after a few minutes. For more information, see Scheduled Instances\n in the Amazon EC2 User Guide.

" - } - }, - "com.amazonaws.ec2#RunScheduledInstancesRequest": { + "com.amazonaws.ec2#ServiceConfiguration": { "type": "structure", "members": { - "ClientToken": { + "ServiceType": { + "target": "com.amazonaws.ec2#ServiceTypeDetailSet", + "traits": { + "aws.protocols#ec2QueryName": "ServiceType", + "smithy.api#documentation": "

The type of service.

", + "smithy.api#xmlName": "serviceType" + } + }, + "ServiceId": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that ensures the idempotency of the request. \n For more information, see Ensuring Idempotency.

", - "smithy.api#idempotencyToken": {} + "aws.protocols#ec2QueryName": "ServiceId", + "smithy.api#documentation": "

The ID of the service.

", + "smithy.api#xmlName": "serviceId" } }, - "DryRun": { + "ServiceName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ServiceName", + "smithy.api#documentation": "

The name of the service.

", + "smithy.api#xmlName": "serviceName" + } + }, + "ServiceState": { + "target": "com.amazonaws.ec2#ServiceState", + "traits": { + "aws.protocols#ec2QueryName": "ServiceState", + "smithy.api#documentation": "

The service state.

", + "smithy.api#xmlName": "serviceState" + } + }, + "AvailabilityZones": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "aws.protocols#ec2QueryName": "AvailabilityZoneSet", + "smithy.api#documentation": "

The Availability Zones in which the service is available.

", + "smithy.api#xmlName": "availabilityZoneSet" + } + }, + "AcceptanceRequired": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "AcceptanceRequired", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

Indicates whether requests from other Amazon Web Services accounts to create an endpoint to the service must first be accepted.

", + "smithy.api#xmlName": "acceptanceRequired" } }, - "InstanceCount": { - "target": "com.amazonaws.ec2#Integer", + "ManagesVpcEndpoints": { + "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "ManagesVpcEndpoints", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of instances.

\n

Default: 1

" + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the service manages its VPC endpoints. Management of the service VPC\n endpoints using the VPC endpoint API is restricted.

", + "smithy.api#xmlName": "managesVpcEndpoints" } }, - "LaunchSpecification": { - "target": "com.amazonaws.ec2#ScheduledInstancesLaunchSpecification", + "NetworkLoadBalancerArns": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The launch specification. You must match the instance type, Availability Zone, \n network, and platform of the schedule that you purchased.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "NetworkLoadBalancerArnSet", + "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of the Network Load Balancers for the service.

", + "smithy.api#xmlName": "networkLoadBalancerArnSet" } }, - "ScheduledInstanceId": { - "target": "com.amazonaws.ec2#ScheduledInstanceId", + "GatewayLoadBalancerArns": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The Scheduled Instance ID.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "GatewayLoadBalancerArnSet", + "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service.

", + "smithy.api#xmlName": "gatewayLoadBalancerArnSet" } - } - }, - "traits": { - "smithy.api#documentation": "

Contains the parameters for RunScheduledInstances.

" - } - }, - "com.amazonaws.ec2#RunScheduledInstancesResult": { - "type": "structure", - "members": { - "InstanceIdSet": { - "target": "com.amazonaws.ec2#InstanceIdSet", + }, + "SupportedIpAddressTypes": { + "target": "com.amazonaws.ec2#SupportedIpAddressTypes", "traits": { - "aws.protocols#ec2QueryName": "InstanceIdSet", - "smithy.api#documentation": "

The IDs of the newly launched instances.

", - "smithy.api#xmlName": "instanceIdSet" + "aws.protocols#ec2QueryName": "SupportedIpAddressTypeSet", + "smithy.api#documentation": "

The supported IP address types.

", + "smithy.api#xmlName": "supportedIpAddressTypeSet" } - } - }, - "traits": { - "smithy.api#documentation": "

Contains the output of RunScheduledInstances.

" - } - }, - "com.amazonaws.ec2#S3ObjectTag": { - "type": "structure", - "members": { - "Key": { - "target": "com.amazonaws.ec2#String", + }, + "BaseEndpointDnsNames": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "smithy.api#documentation": "

The key of the tag.

\n

Constraints: Tag keys are case-sensitive and can be up to 128 Unicode characters in\n length. May not begin with aws:.

" + "aws.protocols#ec2QueryName": "BaseEndpointDnsNameSet", + "smithy.api#documentation": "

The DNS names for the service.

", + "smithy.api#xmlName": "baseEndpointDnsNameSet" } }, - "Value": { + "PrivateDnsName": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The value of the tag.

\n

Constraints: Tag values are case-sensitive and can be up to 256 Unicode characters in\n length.

" + "aws.protocols#ec2QueryName": "PrivateDnsName", + "smithy.api#documentation": "

The private DNS name for the service.

", + "smithy.api#xmlName": "privateDnsName" + } + }, + "PrivateDnsNameConfiguration": { + "target": "com.amazonaws.ec2#PrivateDnsNameConfiguration", + "traits": { + "aws.protocols#ec2QueryName": "PrivateDnsNameConfiguration", + "smithy.api#documentation": "

Information about the endpoint service private DNS name configuration.

", + "smithy.api#xmlName": "privateDnsNameConfiguration" + } + }, + "PayerResponsibility": { + "target": "com.amazonaws.ec2#PayerResponsibility", + "traits": { + "aws.protocols#ec2QueryName": "PayerResponsibility", + "smithy.api#documentation": "

The payer responsibility.

", + "smithy.api#xmlName": "payerResponsibility" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags assigned to the service.

", + "smithy.api#xmlName": "tagSet" } } }, "traits": { - "smithy.api#documentation": "

The tags to apply to the AMI object that will be stored in the Amazon S3 bucket. For more\n information, see Categorizing your storage using\n tags in the Amazon Simple Storage Service User Guide.

" + "smithy.api#documentation": "

Describes a service configuration for a VPC endpoint service.

" } }, - "com.amazonaws.ec2#S3ObjectTagList": { + "com.amazonaws.ec2#ServiceConfigurationSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#S3ObjectTag", + "target": "com.amazonaws.ec2#ServiceConfiguration", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#S3Storage": { - "type": "structure", + "com.amazonaws.ec2#ServiceConnectivityType": { + "type": "enum", "members": { - "AWSAccessKeyId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The access key ID of the owner of the bucket. Before you specify a value for your access key ID, review and follow the guidance \n in Best Practices for Managing Amazon Web Services Access Keys.

" - } - }, - "Bucket": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "Bucket", - "smithy.api#documentation": "

The bucket in which to store the AMI. You can specify a bucket that you already own or a new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone else, Amazon EC2 returns an error.

", - "smithy.api#xmlName": "bucket" - } - }, - "Prefix": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "Prefix", - "smithy.api#documentation": "

The beginning of the file name of the AMI.

", - "smithy.api#xmlName": "prefix" - } - }, - "UploadPolicy": { - "target": "com.amazonaws.ec2#Blob", + "ipv4": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "UploadPolicy", - "smithy.api#documentation": "

An Amazon S3 upload policy that gives Amazon EC2 permission to upload items into Amazon S3 on your behalf.

", - "smithy.api#xmlName": "uploadPolicy" + "smithy.api#enumValue": "ipv4" } }, - "UploadPolicySignature": { - "target": "com.amazonaws.ec2#String", + "ipv6": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "UploadPolicySignature", - "smithy.api#documentation": "

The signature of the JSON document.

", - "smithy.api#xmlName": "uploadPolicySignature" + "smithy.api#enumValue": "ipv6" } } - }, - "traits": { - "smithy.api#documentation": "

Describes the storage parameters for Amazon S3 and Amazon S3 buckets for an instance store-backed AMI.

" } }, - "com.amazonaws.ec2#ScheduledInstance": { + "com.amazonaws.ec2#ServiceDetail": { "type": "structure", "members": { - "AvailabilityZone": { + "ServiceName": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZone", - "smithy.api#documentation": "

The Availability Zone.

", - "smithy.api#xmlName": "availabilityZone" - } - }, - "CreateDate": { - "target": "com.amazonaws.ec2#DateTime", - "traits": { - "aws.protocols#ec2QueryName": "CreateDate", - "smithy.api#documentation": "

The date when the Scheduled Instance was purchased.

", - "smithy.api#xmlName": "createDate" + "aws.protocols#ec2QueryName": "ServiceName", + "smithy.api#documentation": "

The name of the service.

", + "smithy.api#xmlName": "serviceName" } }, - "HourlyPrice": { + "ServiceId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "HourlyPrice", - "smithy.api#documentation": "

The hourly price for a single instance.

", - "smithy.api#xmlName": "hourlyPrice" + "aws.protocols#ec2QueryName": "ServiceId", + "smithy.api#documentation": "

The ID of the endpoint service.

", + "smithy.api#xmlName": "serviceId" } }, - "InstanceCount": { - "target": "com.amazonaws.ec2#Integer", + "ServiceType": { + "target": "com.amazonaws.ec2#ServiceTypeDetailSet", "traits": { - "aws.protocols#ec2QueryName": "InstanceCount", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of instances.

", - "smithy.api#xmlName": "instanceCount" + "aws.protocols#ec2QueryName": "ServiceType", + "smithy.api#documentation": "

The type of service.

", + "smithy.api#xmlName": "serviceType" } }, - "InstanceType": { - "target": "com.amazonaws.ec2#String", + "AvailabilityZones": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "aws.protocols#ec2QueryName": "InstanceType", - "smithy.api#documentation": "

The instance type.

", - "smithy.api#xmlName": "instanceType" + "aws.protocols#ec2QueryName": "AvailabilityZoneSet", + "smithy.api#documentation": "

The Availability Zones in which the service is available.

", + "smithy.api#xmlName": "availabilityZoneSet" } }, - "NetworkPlatform": { + "Owner": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NetworkPlatform", - "smithy.api#documentation": "

The network platform (EC2-Classic or EC2-VPC).

", - "smithy.api#xmlName": "networkPlatform" + "aws.protocols#ec2QueryName": "Owner", + "smithy.api#documentation": "

The Amazon Web Services account ID of the service owner.

", + "smithy.api#xmlName": "owner" } }, - "NextSlotStartTime": { - "target": "com.amazonaws.ec2#DateTime", + "BaseEndpointDnsNames": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "aws.protocols#ec2QueryName": "NextSlotStartTime", - "smithy.api#documentation": "

The time for the next schedule to start.

", - "smithy.api#xmlName": "nextSlotStartTime" + "aws.protocols#ec2QueryName": "BaseEndpointDnsNameSet", + "smithy.api#documentation": "

The DNS names for the service.

", + "smithy.api#xmlName": "baseEndpointDnsNameSet" } }, - "Platform": { + "PrivateDnsName": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Platform", - "smithy.api#documentation": "

The platform (Linux/UNIX or Windows).

", - "smithy.api#xmlName": "platform" + "aws.protocols#ec2QueryName": "PrivateDnsName", + "smithy.api#documentation": "

The private DNS name for the service.

", + "smithy.api#xmlName": "privateDnsName" } }, - "PreviousSlotEndTime": { - "target": "com.amazonaws.ec2#DateTime", + "PrivateDnsNames": { + "target": "com.amazonaws.ec2#PrivateDnsDetailsSet", "traits": { - "aws.protocols#ec2QueryName": "PreviousSlotEndTime", - "smithy.api#documentation": "

The time that the previous schedule ended or will end.

", - "smithy.api#xmlName": "previousSlotEndTime" + "aws.protocols#ec2QueryName": "PrivateDnsNameSet", + "smithy.api#documentation": "

The private DNS names assigned to the VPC endpoint service.

", + "smithy.api#xmlName": "privateDnsNameSet" } }, - "Recurrence": { - "target": "com.amazonaws.ec2#ScheduledInstanceRecurrence", + "VpcEndpointPolicySupported": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Recurrence", - "smithy.api#documentation": "

The schedule recurrence.

", - "smithy.api#xmlName": "recurrence" + "aws.protocols#ec2QueryName": "VpcEndpointPolicySupported", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the service supports endpoint policies.

", + "smithy.api#xmlName": "vpcEndpointPolicySupported" } }, - "ScheduledInstanceId": { - "target": "com.amazonaws.ec2#String", + "AcceptanceRequired": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "ScheduledInstanceId", - "smithy.api#documentation": "

The Scheduled Instance ID.

", - "smithy.api#xmlName": "scheduledInstanceId" + "aws.protocols#ec2QueryName": "AcceptanceRequired", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether VPC endpoint connection requests to the service must be accepted by the service owner.

", + "smithy.api#xmlName": "acceptanceRequired" } }, - "SlotDurationInHours": { - "target": "com.amazonaws.ec2#Integer", + "ManagesVpcEndpoints": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "SlotDurationInHours", + "aws.protocols#ec2QueryName": "ManagesVpcEndpoints", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of hours in the schedule.

", - "smithy.api#xmlName": "slotDurationInHours" + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the service manages its VPC endpoints. Management of the service VPC\n endpoints using the VPC endpoint API is restricted.

", + "smithy.api#xmlName": "managesVpcEndpoints" } }, - "TermEndDate": { - "target": "com.amazonaws.ec2#DateTime", + "PayerResponsibility": { + "target": "com.amazonaws.ec2#PayerResponsibility", "traits": { - "aws.protocols#ec2QueryName": "TermEndDate", - "smithy.api#documentation": "

The end date for the Scheduled Instance.

", - "smithy.api#xmlName": "termEndDate" + "aws.protocols#ec2QueryName": "PayerResponsibility", + "smithy.api#documentation": "

The payer responsibility.

", + "smithy.api#xmlName": "payerResponsibility" } }, - "TermStartDate": { - "target": "com.amazonaws.ec2#DateTime", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "TermStartDate", - "smithy.api#documentation": "

The start date for the Scheduled Instance.

", - "smithy.api#xmlName": "termStartDate" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags assigned to the service.

", + "smithy.api#xmlName": "tagSet" } }, - "TotalScheduledInstanceHours": { - "target": "com.amazonaws.ec2#Integer", + "PrivateDnsNameVerificationState": { + "target": "com.amazonaws.ec2#DnsNameState", "traits": { - "aws.protocols#ec2QueryName": "TotalScheduledInstanceHours", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The total number of hours for a single instance for the entire term.

", - "smithy.api#xmlName": "totalScheduledInstanceHours" + "aws.protocols#ec2QueryName": "PrivateDnsNameVerificationState", + "smithy.api#documentation": "

The verification state of the VPC endpoint service.

\n

Consumers of the endpoint service cannot use the private name when the state is not verified.

", + "smithy.api#xmlName": "privateDnsNameVerificationState" + } + }, + "SupportedIpAddressTypes": { + "target": "com.amazonaws.ec2#SupportedIpAddressTypes", + "traits": { + "aws.protocols#ec2QueryName": "SupportedIpAddressTypeSet", + "smithy.api#documentation": "

The supported IP address types.

", + "smithy.api#xmlName": "supportedIpAddressTypeSet" } } }, "traits": { - "smithy.api#documentation": "

Describes a Scheduled Instance.

" + "smithy.api#documentation": "

Describes a VPC endpoint service.

" } }, - "com.amazonaws.ec2#ScheduledInstanceAvailability": { - "type": "structure", + "com.amazonaws.ec2#ServiceDetailSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ServiceDetail", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ServiceState": { + "type": "enum", "members": { - "AvailabilityZone": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZone", - "smithy.api#documentation": "

The Availability Zone.

", - "smithy.api#xmlName": "availabilityZone" - } - }, - "AvailableInstanceCount": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "aws.protocols#ec2QueryName": "AvailableInstanceCount", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of available instances.

", - "smithy.api#xmlName": "availableInstanceCount" - } - }, - "FirstSlotStartTime": { - "target": "com.amazonaws.ec2#DateTime", - "traits": { - "aws.protocols#ec2QueryName": "FirstSlotStartTime", - "smithy.api#documentation": "

The time period for the first schedule to start.

", - "smithy.api#xmlName": "firstSlotStartTime" - } - }, - "HourlyPrice": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "HourlyPrice", - "smithy.api#documentation": "

The hourly price for a single instance.

", - "smithy.api#xmlName": "hourlyPrice" - } - }, - "InstanceType": { - "target": "com.amazonaws.ec2#String", + "Pending": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InstanceType", - "smithy.api#documentation": "

The instance type. You can specify one of the C3, C4, M4, or R3 instance types.

", - "smithy.api#xmlName": "instanceType" + "smithy.api#enumValue": "Pending" } }, - "MaxTermDurationInDays": { - "target": "com.amazonaws.ec2#Integer", + "Available": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "MaxTermDurationInDays", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum term. The only possible value is 365 days.

", - "smithy.api#xmlName": "maxTermDurationInDays" + "smithy.api#enumValue": "Available" } }, - "MinTermDurationInDays": { - "target": "com.amazonaws.ec2#Integer", + "Deleting": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "MinTermDurationInDays", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The minimum term. The only possible value is 365 days.

", - "smithy.api#xmlName": "minTermDurationInDays" + "smithy.api#enumValue": "Deleting" } }, - "NetworkPlatform": { - "target": "com.amazonaws.ec2#String", + "Deleted": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "NetworkPlatform", - "smithy.api#documentation": "

The network platform (EC2-Classic or EC2-VPC).

", - "smithy.api#xmlName": "networkPlatform" + "smithy.api#enumValue": "Deleted" } }, - "Platform": { - "target": "com.amazonaws.ec2#String", + "Failed": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Platform", - "smithy.api#documentation": "

The platform (Linux/UNIX or Windows).

", - "smithy.api#xmlName": "platform" + "smithy.api#enumValue": "Failed" } - }, - "PurchaseToken": { - "target": "com.amazonaws.ec2#String", + } + } + }, + "com.amazonaws.ec2#ServiceType": { + "type": "enum", + "members": { + "Interface": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "PurchaseToken", - "smithy.api#documentation": "

The purchase token. This token expires in two hours.

", - "smithy.api#xmlName": "purchaseToken" + "smithy.api#enumValue": "Interface" } }, - "Recurrence": { - "target": "com.amazonaws.ec2#ScheduledInstanceRecurrence", + "Gateway": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Recurrence", - "smithy.api#documentation": "

The schedule recurrence.

", - "smithy.api#xmlName": "recurrence" + "smithy.api#enumValue": "Gateway" } }, - "SlotDurationInHours": { - "target": "com.amazonaws.ec2#Integer", + "GatewayLoadBalancer": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SlotDurationInHours", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of hours in the schedule.

", - "smithy.api#xmlName": "slotDurationInHours" + "smithy.api#enumValue": "GatewayLoadBalancer" } - }, - "TotalScheduledInstanceHours": { - "target": "com.amazonaws.ec2#Integer", + } + } + }, + "com.amazonaws.ec2#ServiceTypeDetail": { + "type": "structure", + "members": { + "ServiceType": { + "target": "com.amazonaws.ec2#ServiceType", "traits": { - "aws.protocols#ec2QueryName": "TotalScheduledInstanceHours", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The total number of hours for a single instance for the entire term.

", - "smithy.api#xmlName": "totalScheduledInstanceHours" + "aws.protocols#ec2QueryName": "ServiceType", + "smithy.api#documentation": "

The type of service.

", + "smithy.api#xmlName": "serviceType" } } }, "traits": { - "smithy.api#documentation": "

Describes a schedule that is available for your Scheduled Instances.

" + "smithy.api#documentation": "

Describes the type of service for a VPC endpoint.

" } }, - "com.amazonaws.ec2#ScheduledInstanceAvailabilitySet": { + "com.amazonaws.ec2#ServiceTypeDetailSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#ScheduledInstanceAvailability", + "target": "com.amazonaws.ec2#ServiceTypeDetail", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#ScheduledInstanceId": { - "type": "string" - }, - "com.amazonaws.ec2#ScheduledInstanceIdRequestSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ScheduledInstanceId", - "traits": { - "smithy.api#xmlName": "ScheduledInstanceId" + "com.amazonaws.ec2#ShutdownBehavior": { + "type": "enum", + "members": { + "stop": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "stop" + } + }, + "terminate": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "terminate" + } } } }, - "com.amazonaws.ec2#ScheduledInstanceRecurrence": { + "com.amazonaws.ec2#SlotDateTimeRangeRequest": { "type": "structure", "members": { - "Frequency": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "Frequency", - "smithy.api#documentation": "

The frequency (Daily, Weekly, or Monthly).

", - "smithy.api#xmlName": "frequency" - } - }, - "Interval": { - "target": "com.amazonaws.ec2#Integer", + "EarliestTime": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "Interval", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The interval quantity. The interval unit depends on the value of frequency. For example, every 2\n weeks or every 2 months.

", - "smithy.api#xmlName": "interval" + "smithy.api#documentation": "

The earliest date and time, in UTC, for the Scheduled Instance to start.

", + "smithy.api#required": {} } }, - "OccurrenceDaySet": { - "target": "com.amazonaws.ec2#OccurrenceDaySet", + "LatestTime": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "OccurrenceDaySet", - "smithy.api#documentation": "

The days. For a monthly schedule, this is one or more days of the month (1-31). For a weekly schedule, this is one or more days of the week (1-7, where 1 is Sunday).

", - "smithy.api#xmlName": "occurrenceDaySet" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The latest date and time, in UTC, for the Scheduled Instance to start. This value must be later than or equal to the earliest date and at most three months in the future.

", + "smithy.api#required": {} } - }, - "OccurrenceRelativeToEnd": { - "target": "com.amazonaws.ec2#Boolean", + } + }, + "traits": { + "smithy.api#documentation": "

Describes the time period for a Scheduled Instance to start its first schedule. The time period must span less than one day.

" + } + }, + "com.amazonaws.ec2#SlotStartTimeRangeRequest": { + "type": "structure", + "members": { + "EarliestTime": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "OccurrenceRelativeToEnd", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the occurrence is relative to the end of the specified week or month.

", - "smithy.api#xmlName": "occurrenceRelativeToEnd" + "smithy.api#documentation": "

The earliest date and time, in UTC, for the Scheduled Instance to start.

" } }, - "OccurrenceUnit": { - "target": "com.amazonaws.ec2#String", + "LatestTime": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "OccurrenceUnit", - "smithy.api#documentation": "

The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).

", - "smithy.api#xmlName": "occurrenceUnit" + "smithy.api#documentation": "

The latest date and time, in UTC, for the Scheduled Instance to start.

" } } }, "traits": { - "smithy.api#documentation": "

Describes the recurring schedule for a Scheduled Instance.

" + "smithy.api#documentation": "

Describes the time period for a Scheduled Instance to start its first schedule.

" } }, - "com.amazonaws.ec2#ScheduledInstanceRecurrenceRequest": { + "com.amazonaws.ec2#Snapshot": { "type": "structure", "members": { - "Frequency": { + "DataEncryptionKeyId": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The frequency (Daily, Weekly, or Monthly).

" - } - }, - "Interval": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The interval quantity. The interval unit depends on the value of Frequency. For example, every 2 \n weeks or every 2 months.

" + "aws.protocols#ec2QueryName": "DataEncryptionKeyId", + "smithy.api#documentation": "

The data encryption key identifier for the snapshot. This value is a unique identifier\n that corresponds to the data encryption key that was used to encrypt the original volume or\n snapshot copy. Because data encryption keys are inherited by volumes created from snapshots,\n and vice versa, if snapshots share the same data encryption key identifier, then they belong\n to the same volume/snapshot lineage. This parameter is only returned by DescribeSnapshots.

", + "smithy.api#xmlName": "dataEncryptionKeyId" } }, - "OccurrenceDays": { - "target": "com.amazonaws.ec2#OccurrenceDayRequestSet", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The days. For a monthly schedule, this is one or more days of the month (1-31). For a weekly schedule, this is one or more days of the week (1-7, where 1 is Sunday). You can't specify this value with a daily schedule. If the occurrence is relative to the end of the month, you can specify only a single day.

", - "smithy.api#xmlName": "OccurrenceDay" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

The description for the snapshot.

", + "smithy.api#xmlName": "description" } }, - "OccurrenceRelativeToEnd": { + "Encrypted": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "Encrypted", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the occurrence is relative to the end of the specified week or month. You can't specify this value with a daily schedule.

" + "smithy.api#documentation": "

Indicates whether the snapshot is encrypted.

", + "smithy.api#xmlName": "encrypted" } }, - "OccurrenceUnit": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The unit for OccurrenceDays (DayOfWeek or DayOfMonth).\n This value is required for a monthly schedule.\n You can't specify DayOfWeek with a weekly schedule.\n You can't specify this value with a daily schedule.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the recurring schedule for a Scheduled Instance.

" - } - }, - "com.amazonaws.ec2#ScheduledInstanceSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ScheduledInstance", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#ScheduledInstancesBlockDeviceMapping": { - "type": "structure", - "members": { - "DeviceName": { + "KmsKeyId": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The device name (for example, /dev/sdh or xvdh).

" + "aws.protocols#ec2QueryName": "KmsKeyId", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Key Management Service (KMS) KMS key that was used to protect the\n volume encryption key for the parent volume.

", + "smithy.api#xmlName": "kmsKeyId" } }, - "Ebs": { - "target": "com.amazonaws.ec2#ScheduledInstancesEbs", + "OwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

Parameters used to set up EBS volumes automatically when the instance is launched.

" + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the EBS snapshot.

", + "smithy.api#xmlName": "ownerId" } }, - "NoDevice": { + "Progress": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

To omit the device from the block device mapping, specify an empty string.

" + "aws.protocols#ec2QueryName": "Progress", + "smithy.api#documentation": "

The progress of the snapshot, as a percentage.

", + "smithy.api#xmlName": "progress" } }, - "VirtualName": { + "SnapshotId": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The virtual device name (ephemeralN). Instance store volumes are numbered\n starting from 0. An instance type with two available instance store volumes can specify mappings\n for ephemeral0 and ephemeral1. The number of available instance store\n volumes depends on the instance type. After you connect to the instance, you must mount the\n volume.

\n

Constraints: For M3 instances, you must specify instance store volumes in the block device \n mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes \n specified in the block device mapping for the AMI.

" + "aws.protocols#ec2QueryName": "SnapshotId", + "smithy.api#documentation": "

The ID of the snapshot. Each snapshot receives a unique identifier when it is\n created.

", + "smithy.api#xmlName": "snapshotId" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a block device mapping for a Scheduled Instance.

" - } - }, - "com.amazonaws.ec2#ScheduledInstancesBlockDeviceMappingSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ScheduledInstancesBlockDeviceMapping", - "traits": { - "smithy.api#xmlName": "BlockDeviceMapping" - } - } - }, - "com.amazonaws.ec2#ScheduledInstancesEbs": { - "type": "structure", - "members": { - "DeleteOnTermination": { - "target": "com.amazonaws.ec2#Boolean", + }, + "StartTime": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the volume is deleted on instance termination.

" + "aws.protocols#ec2QueryName": "StartTime", + "smithy.api#documentation": "

The time stamp when the snapshot was initiated.

", + "smithy.api#xmlName": "startTime" } }, - "Encrypted": { - "target": "com.amazonaws.ec2#Boolean", + "State": { + "target": "com.amazonaws.ec2#SnapshotState", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the volume is encrypted. You can attached encrypted volumes only to instances that support them.

" + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The snapshot state.

", + "smithy.api#xmlName": "status" } }, - "Iops": { - "target": "com.amazonaws.ec2#Integer", + "StateMessage": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of I/O operations per second (IOPS) to provision for an io1 or io2 volume, with a maximum\n \t\tratio of 50 IOPS/GiB for io1, and 500 IOPS/GiB for io2. Range is 100 to 64,000 IOPS for\n \t\tvolumes in most Regions. Maximum IOPS of 64,000 is guaranteed only on\n \t\tinstances built on the Nitro System. Other instance families guarantee performance up to\n \t\t32,000 IOPS. For more information, see Amazon EBS volume types in the\n \t\tAmazon EC2 User Guide.

\n \t

This parameter is valid only for Provisioned IOPS SSD (io1 and io2) volumes.

" + "aws.protocols#ec2QueryName": "StatusMessage", + "smithy.api#documentation": "

Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy operation fails\n (for example, if the proper Key Management Service (KMS) permissions are not obtained) this field displays error\n state details to help you diagnose why the error occurred. This parameter is only returned by\n DescribeSnapshots.

", + "smithy.api#xmlName": "statusMessage" } }, - "SnapshotId": { - "target": "com.amazonaws.ec2#SnapshotId", + "VolumeId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The ID of the snapshot.

" + "aws.protocols#ec2QueryName": "VolumeId", + "smithy.api#documentation": "

The ID of the volume that was used to create the snapshot. Snapshots created by the CopySnapshot action have an arbitrary volume ID that should not be used for any\n purpose.

", + "smithy.api#xmlName": "volumeId" } }, "VolumeSize": { "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "VolumeSize", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The size of the volume, in GiB.

\n

Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.

" + "smithy.api#documentation": "

The size of the volume, in GiB.

", + "smithy.api#xmlName": "volumeSize" } }, - "VolumeType": { + "OwnerAlias": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The volume type. gp2 for General Purpose SSD, io1 or io2 for Provisioned IOPS SSD, Throughput Optimized HDD\n for st1, Cold HDD for sc1, or standard for\n Magnetic.

\n

Default: gp2\n

" + "aws.protocols#ec2QueryName": "OwnerAlias", + "smithy.api#documentation": "

The Amazon Web Services owner alias, from an Amazon-maintained list (amazon). This is not \n the user-configured Amazon Web Services account alias set using the IAM console.

", + "smithy.api#xmlName": "ownerAlias" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes an EBS volume for a Scheduled Instance.

" - } - }, - "com.amazonaws.ec2#ScheduledInstancesIamInstanceProfile": { - "type": "structure", - "members": { - "Arn": { + }, + "OutpostArn": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN).

" + "aws.protocols#ec2QueryName": "OutpostArn", + "smithy.api#documentation": "

The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the \n \t\tAmazon Elastic Compute Cloud User Guide.

", + "smithy.api#xmlName": "outpostArn" } }, - "Name": { - "target": "com.amazonaws.ec2#String", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "smithy.api#documentation": "

The name.

" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Any tags assigned to the snapshot.

", + "smithy.api#xmlName": "tagSet" + } + }, + "StorageTier": { + "target": "com.amazonaws.ec2#StorageTier", + "traits": { + "aws.protocols#ec2QueryName": "StorageTier", + "smithy.api#documentation": "

The storage tier in which the snapshot is stored. standard indicates \n that the snapshot is stored in the standard snapshot storage tier and that it is ready \n for use. archive indicates that the snapshot is currently archived and that \n it must be restored before it can be used.

", + "smithy.api#xmlName": "storageTier" + } + }, + "RestoreExpiryTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "RestoreExpiryTime", + "smithy.api#documentation": "

Only for archived snapshots that are temporarily restored. Indicates the date and \n time when a temporarily restored snapshot will be automatically re-archived.

", + "smithy.api#xmlName": "restoreExpiryTime" } } }, "traits": { - "smithy.api#documentation": "

Describes an IAM instance profile for a Scheduled Instance.

" + "smithy.api#documentation": "

Describes a snapshot.

" } }, - "com.amazonaws.ec2#ScheduledInstancesIpv6Address": { - "type": "structure", + "com.amazonaws.ec2#SnapshotAttributeName": { + "type": "enum", "members": { - "Ipv6Address": { - "target": "com.amazonaws.ec2#Ipv6Address", + "productCodes": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The IPv6 address.

" + "smithy.api#enumValue": "productCodes" + } + }, + "createVolumePermission": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "createVolumePermission" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes an IPv6 address.

" - } - }, - "com.amazonaws.ec2#ScheduledInstancesIpv6AddressList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ScheduledInstancesIpv6Address", - "traits": { - "smithy.api#xmlName": "Ipv6Address" } } }, - "com.amazonaws.ec2#ScheduledInstancesLaunchSpecification": { + "com.amazonaws.ec2#SnapshotDetail": { "type": "structure", "members": { - "BlockDeviceMappings": { - "target": "com.amazonaws.ec2#ScheduledInstancesBlockDeviceMappingSet", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The block device mapping entries.

", - "smithy.api#xmlName": "BlockDeviceMapping" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A description for the snapshot.

", + "smithy.api#xmlName": "description" } }, - "EbsOptimized": { - "target": "com.amazonaws.ec2#Boolean", + "DeviceName": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the instances are optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.

\n

Default: false\n

" + "aws.protocols#ec2QueryName": "DeviceName", + "smithy.api#documentation": "

The block device mapping for the snapshot.

", + "smithy.api#xmlName": "deviceName" } }, - "IamInstanceProfile": { - "target": "com.amazonaws.ec2#ScheduledInstancesIamInstanceProfile", + "DiskImageSize": { + "target": "com.amazonaws.ec2#Double", "traits": { - "smithy.api#documentation": "

The IAM instance profile.

" + "aws.protocols#ec2QueryName": "DiskImageSize", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The size of the disk in the snapshot, in GiB.

", + "smithy.api#xmlName": "diskImageSize" } }, - "ImageId": { - "target": "com.amazonaws.ec2#ImageId", + "Format": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Amazon Machine Image (AMI).

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "Format", + "smithy.api#documentation": "

The format of the disk image from which the snapshot is created.

", + "smithy.api#xmlName": "format" } }, - "InstanceType": { + "Progress": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The instance type.

" + "aws.protocols#ec2QueryName": "Progress", + "smithy.api#documentation": "

The percentage of progress for the task.

", + "smithy.api#xmlName": "progress" } }, - "KernelId": { - "target": "com.amazonaws.ec2#KernelId", + "SnapshotId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The ID of the kernel.

" + "aws.protocols#ec2QueryName": "SnapshotId", + "smithy.api#documentation": "

The snapshot ID of the disk being imported.

", + "smithy.api#xmlName": "snapshotId" } }, - "KeyName": { - "target": "com.amazonaws.ec2#KeyPairName", + "Status": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The name of the key pair.

" + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

A brief status of the snapshot creation.

", + "smithy.api#xmlName": "status" } }, - "Monitoring": { - "target": "com.amazonaws.ec2#ScheduledInstancesMonitoring", + "StatusMessage": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

Enable or disable monitoring for the instances.

" + "aws.protocols#ec2QueryName": "StatusMessage", + "smithy.api#documentation": "

A detailed status message for the snapshot creation.

", + "smithy.api#xmlName": "statusMessage" } }, - "NetworkInterfaces": { - "target": "com.amazonaws.ec2#ScheduledInstancesNetworkInterfaceSet", + "Url": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The network interfaces.

", - "smithy.api#xmlName": "NetworkInterface" + "aws.protocols#ec2QueryName": "Url", + "smithy.api#documentation": "

The URL used to access the disk image.

", + "smithy.api#xmlName": "url" } }, - "Placement": { - "target": "com.amazonaws.ec2#ScheduledInstancesPlacement", + "UserBucket": { + "target": "com.amazonaws.ec2#UserBucketDetails", "traits": { - "smithy.api#documentation": "

The placement information.

" + "aws.protocols#ec2QueryName": "UserBucket", + "smithy.api#documentation": "

The Amazon S3 bucket for the disk image.

", + "smithy.api#xmlName": "userBucket" } - }, - "RamdiskId": { - "target": "com.amazonaws.ec2#RamdiskId", + } + }, + "traits": { + "smithy.api#documentation": "

Describes the snapshot created from the imported disk.

" + } + }, + "com.amazonaws.ec2#SnapshotDetailList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SnapshotDetail", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#SnapshotDiskContainer": { + "type": "structure", + "members": { + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The ID of the RAM disk.

" + "smithy.api#documentation": "

The description of the disk image being imported.

" } }, - "SecurityGroupIds": { - "target": "com.amazonaws.ec2#ScheduledInstancesSecurityGroupIdSet", + "Format": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The IDs of the security groups.

", - "smithy.api#xmlName": "SecurityGroupId" + "smithy.api#documentation": "

The format of the disk image being imported.

\n

Valid values: VHD | VMDK | RAW\n

" } }, - "SubnetId": { - "target": "com.amazonaws.ec2#SubnetId", + "Url": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The ID of the subnet in which to launch the instances.

" + "smithy.api#documentation": "

The URL to the Amazon S3-based disk image being imported. It can either be a https URL (https://..) or an Amazon\n S3 URL (s3://..).

" } }, - "UserData": { - "target": "com.amazonaws.ec2#String", + "UserBucket": { + "target": "com.amazonaws.ec2#UserBucket", "traits": { - "smithy.api#documentation": "

The base64-encoded MIME user data.

" + "smithy.api#documentation": "

The Amazon S3 bucket for the disk image.

" } } }, "traits": { - "smithy.api#documentation": "

Describes the launch specification for a Scheduled Instance.

\n

If you are launching the Scheduled Instance in EC2-VPC, you must specify the ID of the subnet.\n You can specify the subnet using either SubnetId or NetworkInterface.

" + "smithy.api#documentation": "

The disk container object for the import snapshot request.

" } }, - "com.amazonaws.ec2#ScheduledInstancesMonitoring": { - "type": "structure", - "members": { - "Enabled": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether monitoring is enabled.

" - } + "com.amazonaws.ec2#SnapshotId": { + "type": "string" + }, + "com.amazonaws.ec2#SnapshotIdStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SnapshotId", + "traits": { + "smithy.api#xmlName": "SnapshotId" } - }, - "traits": { - "smithy.api#documentation": "

Describes whether monitoring is enabled for a Scheduled Instance.

" } }, - "com.amazonaws.ec2#ScheduledInstancesNetworkInterface": { + "com.amazonaws.ec2#SnapshotInfo": { "type": "structure", "members": { - "AssociatePublicIpAddress": { - "target": "com.amazonaws.ec2#Boolean", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to assign a public IPv4 address to instances launched in a VPC. The\n public IPv4 address can only be assigned to a network interface for eth0, and can only be\n assigned to a new network interface, not an existing one. You cannot specify more than one\n network interface in the request. If launching into a default subnet, the default value is\n true.

" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

Description specified by the CreateSnapshotRequest that has been applied to all \n snapshots.

", + "smithy.api#xmlName": "description" } }, - "DeleteOnTermination": { + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Tags associated with this snapshot.

", + "smithy.api#xmlName": "tagSet" + } + }, + "Encrypted": { "target": "com.amazonaws.ec2#Boolean", "traits": { + "aws.protocols#ec2QueryName": "Encrypted", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether to delete the interface when the instance is terminated.

" + "smithy.api#documentation": "

Indicates whether the snapshot is encrypted.

", + "smithy.api#xmlName": "encrypted" } }, - "Description": { + "VolumeId": { "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The description.

" - } - }, - "DeviceIndex": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The index of the device for the network interface attachment.

" + "traits": { + "aws.protocols#ec2QueryName": "VolumeId", + "smithy.api#documentation": "

Source volume from which this snapshot was created.

", + "smithy.api#xmlName": "volumeId" } }, - "Groups": { - "target": "com.amazonaws.ec2#ScheduledInstancesSecurityGroupIdSet", + "State": { + "target": "com.amazonaws.ec2#SnapshotState", "traits": { - "smithy.api#documentation": "

The IDs of the security groups.

", - "smithy.api#xmlName": "Group" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

Current state of the snapshot.

", + "smithy.api#xmlName": "state" } }, - "Ipv6AddressCount": { + "VolumeSize": { "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "VolumeSize", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The number of IPv6 addresses to assign to the network interface. The IPv6 addresses are automatically selected from the subnet range.

" - } - }, - "Ipv6Addresses": { - "target": "com.amazonaws.ec2#ScheduledInstancesIpv6AddressList", - "traits": { - "smithy.api#documentation": "

The specific IPv6 addresses from the subnet range.

", - "smithy.api#xmlName": "Ipv6Address" + "smithy.api#documentation": "

Size of the volume from which this snapshot was created.

", + "smithy.api#xmlName": "volumeSize" } }, - "NetworkInterfaceId": { - "target": "com.amazonaws.ec2#NetworkInterfaceId", + "StartTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "smithy.api#documentation": "

The ID of the network interface.

" + "aws.protocols#ec2QueryName": "StartTime", + "smithy.api#documentation": "

Time this snapshot was started. This is the same for all snapshots initiated by the\n same request.

", + "smithy.api#xmlName": "startTime" } }, - "PrivateIpAddress": { + "Progress": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The IPv4 address of the network interface within the subnet.

" + "aws.protocols#ec2QueryName": "Progress", + "smithy.api#documentation": "

Progress this snapshot has made towards completing.

", + "smithy.api#xmlName": "progress" } }, - "PrivateIpAddressConfigs": { - "target": "com.amazonaws.ec2#PrivateIpAddressConfigSet", + "OwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The private IPv4 addresses.

", - "smithy.api#xmlName": "PrivateIpAddressConfig" + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

Account id used when creating this snapshot.

", + "smithy.api#xmlName": "ownerId" } }, - "SecondaryPrivateIpAddressCount": { - "target": "com.amazonaws.ec2#Integer", + "SnapshotId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of secondary private IPv4 addresses.

" + "aws.protocols#ec2QueryName": "SnapshotId", + "smithy.api#documentation": "

Snapshot id that can be used to describe this snapshot.

", + "smithy.api#xmlName": "snapshotId" } }, - "SubnetId": { - "target": "com.amazonaws.ec2#SubnetId", + "OutpostArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The ID of the subnet.

" + "aws.protocols#ec2QueryName": "OutpostArn", + "smithy.api#documentation": "

The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the \n \t\tAmazon Elastic Compute Cloud User Guide.

", + "smithy.api#xmlName": "outpostArn" } } }, "traits": { - "smithy.api#documentation": "

Describes a network interface for a Scheduled Instance.

" + "smithy.api#documentation": "

Information about a snapshot.

" } }, - "com.amazonaws.ec2#ScheduledInstancesNetworkInterfaceSet": { + "com.amazonaws.ec2#SnapshotList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#ScheduledInstancesNetworkInterface", + "target": "com.amazonaws.ec2#Snapshot", "traits": { - "smithy.api#xmlName": "NetworkInterface" + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#ScheduledInstancesPlacement": { + "com.amazonaws.ec2#SnapshotRecycleBinInfo": { "type": "structure", "members": { - "AvailabilityZone": { + "SnapshotId": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The Availability Zone.

" + "aws.protocols#ec2QueryName": "SnapshotId", + "smithy.api#documentation": "

The ID of the snapshot.

", + "smithy.api#xmlName": "snapshotId" } }, - "GroupName": { - "target": "com.amazonaws.ec2#PlacementGroupName", + "RecycleBinEnterTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "smithy.api#documentation": "

The name of the placement group.

" + "aws.protocols#ec2QueryName": "RecycleBinEnterTime", + "smithy.api#documentation": "

The date and time when the snaphsot entered the Recycle Bin.

", + "smithy.api#xmlName": "recycleBinEnterTime" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the placement for a Scheduled Instance.

" - } - }, - "com.amazonaws.ec2#ScheduledInstancesPrivateIpAddressConfig": { - "type": "structure", - "members": { - "Primary": { - "target": "com.amazonaws.ec2#Boolean", + }, + "RecycleBinExitTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether this is a primary IPv4 address. Otherwise, this is a secondary IPv4 address.

" + "aws.protocols#ec2QueryName": "RecycleBinExitTime", + "smithy.api#documentation": "

The date and time when the snapshot is to be permanently deleted from the Recycle Bin.

", + "smithy.api#xmlName": "recycleBinExitTime" } }, - "PrivateIpAddress": { + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The IPv4 address.

" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

The description for the snapshot.

", + "smithy.api#xmlName": "description" + } + }, + "VolumeId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "VolumeId", + "smithy.api#documentation": "

The ID of the volume from which the snapshot was created.

", + "smithy.api#xmlName": "volumeId" } } }, "traits": { - "smithy.api#documentation": "

Describes a private IPv4 address for a Scheduled Instance.

" + "smithy.api#documentation": "

Information about a snapshot that is currently in the Recycle Bin.

" } }, - "com.amazonaws.ec2#ScheduledInstancesSecurityGroupIdSet": { + "com.amazonaws.ec2#SnapshotRecycleBinInfoList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#SecurityGroupId", + "target": "com.amazonaws.ec2#SnapshotRecycleBinInfo", "traits": { - "smithy.api#xmlName": "SecurityGroupId" + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#SearchLocalGatewayRoutes": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#SearchLocalGatewayRoutesRequest" - }, - "output": { - "target": "com.amazonaws.ec2#SearchLocalGatewayRoutesResult" - }, - "traits": { - "smithy.api#documentation": "

Searches for routes in the specified local gateway route table.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "Routes", - "pageSize": "MaxResults" + "com.amazonaws.ec2#SnapshotSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SnapshotInfo", + "traits": { + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#SearchLocalGatewayRoutesRequest": { - "type": "structure", + "com.amazonaws.ec2#SnapshotState": { + "type": "enum", "members": { - "LocalGatewayRouteTableId": { - "target": "com.amazonaws.ec2#LocalGatewayRoutetableId", + "pending": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the local gateway route table.

", - "smithy.api#required": {} + "smithy.api#enumValue": "pending" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "completed": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n route-search.exact-match - The exact match of the specified filter.

    \n
  • \n
  • \n

    \n route-search.longest-prefix-match - The longest prefix that matches the route.

    \n
  • \n
  • \n

    \n route-search.subnet-of-match - The routes with a subnet that match the specified CIDR filter.

    \n
  • \n
  • \n

    \n route-search.supernet-of-match - The routes with a CIDR that encompass the CIDR filter. \n For example, if you have 10.0.1.0/29 and 10.0.1.0/31 routes in your route table and you specify supernet-of-match \n as 10.0.1.0/30, then the result returns 10.0.1.0/29.

    \n
  • \n
  • \n

    \n state - The state of the route.

    \n
  • \n
  • \n

    \n type - The route type.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "smithy.api#enumValue": "completed" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#MaxResults", + "error": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#enumValue": "error" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "recoverable": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "smithy.api#enumValue": "recoverable" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "recovering": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#enumValue": "recovering" } } } }, - "com.amazonaws.ec2#SearchLocalGatewayRoutesResult": { + "com.amazonaws.ec2#SnapshotTaskDetail": { "type": "structure", "members": { - "Routes": { - "target": "com.amazonaws.ec2#LocalGatewayRouteList", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "RouteSet", - "smithy.api#documentation": "

Information about the routes.

", - "smithy.api#xmlName": "routeSet" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

The description of the snapshot.

", + "smithy.api#xmlName": "description" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", + "DiskImageSize": { + "target": "com.amazonaws.ec2#Double", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "DiskImageSize", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The size of the disk in the snapshot, in GiB.

", + "smithy.api#xmlName": "diskImageSize" } - } - } - }, - "com.amazonaws.ec2#SearchTransitGatewayMulticastGroups": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#SearchTransitGatewayMulticastGroupsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#SearchTransitGatewayMulticastGroupsResult" - }, - "traits": { - "smithy.api#documentation": "

Searches one or more transit gateway multicast groups and returns the group membership information.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "MulticastGroups", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.ec2#SearchTransitGatewayMulticastGroupsRequest": { - "type": "structure", - "members": { - "TransitGatewayMulticastDomainId": { - "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainId", + }, + "Encrypted": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

" + "aws.protocols#ec2QueryName": "Encrypted", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the snapshot is encrypted.

", + "smithy.api#xmlName": "encrypted" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "Format": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n group-ip-address - The IP address of the transit gateway multicast group.

    \n
  • \n
  • \n

    \n is-group-member - The resource is a group member. Valid values are true | false.

    \n
  • \n
  • \n

    \n is-group-source - The resource is a group source. Valid values are true | false.

    \n
  • \n
  • \n

    \n member-type - The member type. Valid values are igmp | static.

    \n
  • \n
  • \n

    \n resource-id - The ID of the resource.

    \n
  • \n
  • \n

    \n resource-type - The type of resource. Valid values are vpc | vpn | direct-connect-gateway | tgw-peering.

    \n
  • \n
  • \n

    \n source-type - The source type. Valid values are igmp | static.

    \n
  • \n
  • \n

    \n subnet-id - The ID of the subnet.

    \n
  • \n
  • \n

    \n transit-gateway-attachment-id - The id of the transit gateway attachment.

    \n
  • \n
", - "smithy.api#xmlName": "Filter" + "aws.protocols#ec2QueryName": "Format", + "smithy.api#documentation": "

The format of the disk image from which the snapshot is created.

", + "smithy.api#xmlName": "format" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#TransitGatewayMaxResults", + "KmsKeyId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "aws.protocols#ec2QueryName": "KmsKeyId", + "smithy.api#documentation": "

The identifier for the KMS key that was used to create the encrypted snapshot.

", + "smithy.api#xmlName": "kmsKeyId" } }, - "NextToken": { + "Progress": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" + "aws.protocols#ec2QueryName": "Progress", + "smithy.api#documentation": "

The percentage of completion for the import snapshot task.

", + "smithy.api#xmlName": "progress" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "SnapshotId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "SnapshotId", + "smithy.api#documentation": "

The snapshot ID of the disk being imported.

", + "smithy.api#xmlName": "snapshotId" } - } - } - }, - "com.amazonaws.ec2#SearchTransitGatewayMulticastGroupsResult": { - "type": "structure", - "members": { - "MulticastGroups": { - "target": "com.amazonaws.ec2#TransitGatewayMulticastGroupList", + }, + "Status": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "MulticastGroups", - "smithy.api#documentation": "

Information about the transit gateway multicast group.

", - "smithy.api#xmlName": "multicastGroups" + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

A brief status for the import snapshot task.

", + "smithy.api#xmlName": "status" } }, - "NextToken": { + "StatusMessage": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" + "aws.protocols#ec2QueryName": "StatusMessage", + "smithy.api#documentation": "

A detailed status message for the import snapshot task.

", + "smithy.api#xmlName": "statusMessage" + } + }, + "Url": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Url", + "smithy.api#documentation": "

The URL of the disk image from which the snapshot is created.

", + "smithy.api#xmlName": "url" + } + }, + "UserBucket": { + "target": "com.amazonaws.ec2#UserBucketDetails", + "traits": { + "aws.protocols#ec2QueryName": "UserBucket", + "smithy.api#documentation": "

The Amazon S3 bucket for the disk image.

", + "smithy.api#xmlName": "userBucket" } } - } - }, - "com.amazonaws.ec2#SearchTransitGatewayRoutes": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#SearchTransitGatewayRoutesRequest" - }, - "output": { - "target": "com.amazonaws.ec2#SearchTransitGatewayRoutesResult" }, "traits": { - "smithy.api#documentation": "

Searches for routes in the specified transit gateway route table.

" + "smithy.api#documentation": "

Details about the import snapshot task.

" } }, - "com.amazonaws.ec2#SearchTransitGatewayRoutesRequest": { + "com.amazonaws.ec2#SnapshotTierStatus": { "type": "structure", "members": { - "TransitGatewayRouteTableId": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", + "SnapshotId": { + "target": "com.amazonaws.ec2#SnapshotId", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the transit gateway route table.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "SnapshotId", + "smithy.api#documentation": "

The ID of the snapshot.

", + "smithy.api#xmlName": "snapshotId" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "VolumeId": { + "target": "com.amazonaws.ec2#VolumeId", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

One or more filters. The possible values are:

\n
    \n
  • \n

    \n attachment.transit-gateway-attachment-id- The id of the transit gateway attachment.

    \n
  • \n
  • \n

    \n attachment.resource-id - The resource id of the transit gateway attachment.

    \n
  • \n
  • \n

    \n attachment.resource-type - The attachment resource type. Valid values\n are vpc | vpn | direct-connect-gateway |\n peering | connect.

    \n
  • \n
  • \n

    \n prefix-list-id - The ID of the prefix list.

    \n
  • \n
  • \n

    \n route-search.exact-match - The exact match of the specified filter.

    \n
  • \n
  • \n

    \n route-search.longest-prefix-match - The longest prefix that matches the route.

    \n
  • \n
  • \n

    \n route-search.subnet-of-match - The routes with a subnet that match the specified CIDR filter.

    \n
  • \n
  • \n

    \n route-search.supernet-of-match - The routes with a CIDR that encompass the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31 routes in your route table and you specify supernet-of-match as 10.0.1.0/30, then the result returns 10.0.1.0/29.

    \n
  • \n
  • \n

    \n state - The state of the route (active | blackhole).

    \n
  • \n
  • \n

    \n type - The type of route (propagated |\n static).

    \n
  • \n
", - "smithy.api#required": {}, - "smithy.api#xmlName": "Filter" + "aws.protocols#ec2QueryName": "VolumeId", + "smithy.api#documentation": "

The ID of the volume from which the snapshot was created.

", + "smithy.api#xmlName": "volumeId" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#TransitGatewayMaxResults", + "Status": { + "target": "com.amazonaws.ec2#SnapshotState", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of routes to return.

" + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The state of the snapshot.

", + "smithy.api#xmlName": "status" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "OwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the snapshot.

", + "smithy.api#xmlName": "ownerId" } - } - } - }, - "com.amazonaws.ec2#SearchTransitGatewayRoutesResult": { - "type": "structure", - "members": { - "Routes": { - "target": "com.amazonaws.ec2#TransitGatewayRouteList", + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "RouteSet", - "smithy.api#documentation": "

Information about the routes.

", - "smithy.api#xmlName": "routeSet" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags that are assigned to the snapshot.

", + "smithy.api#xmlName": "tagSet" } }, - "AdditionalRoutesAvailable": { - "target": "com.amazonaws.ec2#Boolean", + "StorageTier": { + "target": "com.amazonaws.ec2#StorageTier", "traits": { - "aws.protocols#ec2QueryName": "AdditionalRoutesAvailable", + "aws.protocols#ec2QueryName": "StorageTier", + "smithy.api#documentation": "

The storage tier in which the snapshot is stored. standard indicates \n that the snapshot is stored in the standard snapshot storage tier and that it is ready \n for use. archive indicates that the snapshot is currently archived and that \n it must be restored before it can be used.

", + "smithy.api#xmlName": "storageTier" + } + }, + "LastTieringStartTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "LastTieringStartTime", + "smithy.api#documentation": "

The date and time when the last archive or restore process was started.

", + "smithy.api#xmlName": "lastTieringStartTime" + } + }, + "LastTieringProgress": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "LastTieringProgress", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether there are additional routes available.

", - "smithy.api#xmlName": "additionalRoutesAvailable" + "smithy.api#default": 0, + "smithy.api#documentation": "

The progress of the last archive or restore process, as a percentage.

", + "smithy.api#xmlName": "lastTieringProgress" } - } - } - }, - "com.amazonaws.ec2#SecurityGroup": { - "type": "structure", - "members": { - "Description": { - "target": "com.amazonaws.ec2#String", + }, + "LastTieringOperationStatus": { + "target": "com.amazonaws.ec2#TieringOperationStatus", "traits": { - "aws.protocols#ec2QueryName": "GroupDescription", - "smithy.api#documentation": "

A description of the security group.

", - "smithy.api#xmlName": "groupDescription" + "aws.protocols#ec2QueryName": "LastTieringOperationStatus", + "smithy.api#documentation": "

The status of the last archive or restore process.

", + "smithy.api#xmlName": "lastTieringOperationStatus" } }, - "GroupName": { + "LastTieringOperationStatusDetail": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "GroupName", - "smithy.api#documentation": "

The name of the security group.

", - "smithy.api#xmlName": "groupName" + "aws.protocols#ec2QueryName": "LastTieringOperationStatusDetail", + "smithy.api#documentation": "

A message describing the status of the last archive or restore process.

", + "smithy.api#xmlName": "lastTieringOperationStatusDetail" } }, - "IpPermissions": { - "target": "com.amazonaws.ec2#IpPermissionList", + "ArchivalCompleteTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "aws.protocols#ec2QueryName": "IpPermissions", - "smithy.api#documentation": "

The inbound rules associated with the security group.

", - "smithy.api#xmlName": "ipPermissions" + "aws.protocols#ec2QueryName": "ArchivalCompleteTime", + "smithy.api#documentation": "

The date and time when the last archive process was completed.

", + "smithy.api#xmlName": "archivalCompleteTime" } }, - "OwnerId": { - "target": "com.amazonaws.ec2#String", + "RestoreExpiryTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The Amazon Web Services account ID of the owner of the security group.

", - "smithy.api#xmlName": "ownerId" + "aws.protocols#ec2QueryName": "RestoreExpiryTime", + "smithy.api#documentation": "

Only for archived snapshots that are temporarily restored. Indicates the date and \n time when a temporarily restored snapshot will be automatically re-archived.

", + "smithy.api#xmlName": "restoreExpiryTime" + } + } + }, + "traits": { + "smithy.api#documentation": "

Provides information about a snapshot's storage tier.

" + } + }, + "com.amazonaws.ec2#SpotAllocationStrategy": { + "type": "enum", + "members": { + "LOWEST_PRICE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "lowest-price" } }, - "GroupId": { - "target": "com.amazonaws.ec2#String", + "DIVERSIFIED": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "GroupId", - "smithy.api#documentation": "

The ID of the security group.

", - "smithy.api#xmlName": "groupId" + "smithy.api#enumValue": "diversified" } }, - "IpPermissionsEgress": { - "target": "com.amazonaws.ec2#IpPermissionList", + "CAPACITY_OPTIMIZED": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "IpPermissionsEgress", - "smithy.api#documentation": "

[VPC only] The outbound rules associated with the security group.

", - "smithy.api#xmlName": "ipPermissionsEgress" + "smithy.api#enumValue": "capacity-optimized" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "CAPACITY_OPTIMIZED_PRIORITIZED": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags assigned to the security group.

", - "smithy.api#xmlName": "tagSet" + "smithy.api#enumValue": "capacity-optimized-prioritized" } }, - "VpcId": { - "target": "com.amazonaws.ec2#String", + "PRICE_CAPACITY_OPTIMIZED": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "VpcId", - "smithy.api#documentation": "

[VPC only] The ID of the VPC for the security group.

", - "smithy.api#xmlName": "vpcId" + "smithy.api#enumValue": "price-capacity-optimized" } } - }, - "traits": { - "smithy.api#documentation": "

Describes a security group.

" - } - }, - "com.amazonaws.ec2#SecurityGroupId": { - "type": "string" - }, - "com.amazonaws.ec2#SecurityGroupIdStringList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#SecurityGroupId", - "traits": { - "smithy.api#xmlName": "SecurityGroupId" - } } }, - "com.amazonaws.ec2#SecurityGroupIdentifier": { + "com.amazonaws.ec2#SpotCapacityRebalance": { "type": "structure", "members": { - "GroupId": { - "target": "com.amazonaws.ec2#String", + "ReplacementStrategy": { + "target": "com.amazonaws.ec2#ReplacementStrategy", "traits": { - "aws.protocols#ec2QueryName": "GroupId", - "smithy.api#documentation": "

The ID of the security group.

", - "smithy.api#xmlName": "groupId" + "aws.protocols#ec2QueryName": "ReplacementStrategy", + "smithy.api#documentation": "

The replacement strategy to use. Only available for fleets of type\n maintain.

\n

\n launch - Spot Fleet launches a new replacement Spot Instance when a\n rebalance notification is emitted for an existing Spot Instance in the fleet. Spot Fleet\n does not terminate the instances that receive a rebalance notification. You can\n terminate the old instances, or you can leave them running. You are charged for all\n instances while they are running.

\n

\n launch-before-terminate - Spot Fleet launches a new replacement Spot\n Instance when a rebalance notification is emitted for an existing Spot Instance in the\n fleet, and then, after a delay that you specify (in TerminationDelay),\n terminates the instances that received a rebalance notification.

", + "smithy.api#xmlName": "replacementStrategy" } }, - "GroupName": { - "target": "com.amazonaws.ec2#String", + "TerminationDelay": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "GroupName", - "smithy.api#documentation": "

The name of the security group.

", - "smithy.api#xmlName": "groupName" + "aws.protocols#ec2QueryName": "TerminationDelay", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot\n Instance after launching a new replacement Spot Instance.

\n

Required when ReplacementStrategy is set to launch-before-terminate.

\n

Not valid when ReplacementStrategy is set to launch.

\n

Valid values: Minimum value of 120 seconds. Maximum value of 7200 seconds.

", + "smithy.api#xmlName": "terminationDelay" } } }, "traits": { - "smithy.api#documentation": "

Describes a security group.

" - } - }, - "com.amazonaws.ec2#SecurityGroupList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#SecurityGroup", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your\n Spot Instance is at an elevated risk of being interrupted. For more information, see\n Capacity rebalancing in the Amazon EC2 User Guide for Linux Instances.

" } }, - "com.amazonaws.ec2#SecurityGroupName": { - "type": "string" - }, - "com.amazonaws.ec2#SecurityGroupReference": { + "com.amazonaws.ec2#SpotDatafeedSubscription": { "type": "structure", "members": { - "GroupId": { + "Bucket": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "GroupId", - "smithy.api#documentation": "

The ID of your security group.

", - "smithy.api#xmlName": "groupId" + "aws.protocols#ec2QueryName": "Bucket", + "smithy.api#documentation": "

The name of the Amazon S3 bucket where the Spot Instance data feed is located.

", + "smithy.api#xmlName": "bucket" } }, - "ReferencingVpcId": { + "Fault": { + "target": "com.amazonaws.ec2#SpotInstanceStateFault", + "traits": { + "aws.protocols#ec2QueryName": "Fault", + "smithy.api#documentation": "

The fault codes for the Spot Instance request, if any.

", + "smithy.api#xmlName": "fault" + } + }, + "OwnerId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ReferencingVpcId", - "smithy.api#documentation": "

The ID of the VPC with the referencing security group.

", - "smithy.api#xmlName": "referencingVpcId" + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The Amazon Web Services account ID of the account.

", + "smithy.api#xmlName": "ownerId" } }, - "VpcPeeringConnectionId": { + "Prefix": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "VpcPeeringConnectionId", - "smithy.api#documentation": "

The ID of the VPC peering connection.

", - "smithy.api#xmlName": "vpcPeeringConnectionId" + "aws.protocols#ec2QueryName": "Prefix", + "smithy.api#documentation": "

The prefix for the data feed files.

", + "smithy.api#xmlName": "prefix" + } + }, + "State": { + "target": "com.amazonaws.ec2#DatafeedSubscriptionState", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the Spot Instance data feed subscription.

", + "smithy.api#xmlName": "state" } } }, "traits": { - "smithy.api#documentation": "

Describes a VPC with a security group that references your security group.

" - } - }, - "com.amazonaws.ec2#SecurityGroupReferences": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#SecurityGroupReference", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

Describes the data feed for a Spot Instance.

" } }, - "com.amazonaws.ec2#SecurityGroupRule": { + "com.amazonaws.ec2#SpotFleetLaunchSpecification": { "type": "structure", "members": { - "SecurityGroupRuleId": { - "target": "com.amazonaws.ec2#SecurityGroupRuleId", + "SecurityGroups": { + "target": "com.amazonaws.ec2#GroupIdentifierList", "traits": { - "aws.protocols#ec2QueryName": "SecurityGroupRuleId", - "smithy.api#documentation": "

The ID of the security group rule.

", - "smithy.api#xmlName": "securityGroupRuleId" + "aws.protocols#ec2QueryName": "GroupSet", + "smithy.api#documentation": "

One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.

", + "smithy.api#xmlName": "groupSet" } }, - "GroupId": { - "target": "com.amazonaws.ec2#SecurityGroupId", + "AddressingType": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "GroupId", - "smithy.api#documentation": "

The ID of the security group.

", - "smithy.api#xmlName": "groupId" + "aws.protocols#ec2QueryName": "AddressingType", + "smithy.api#documentation": "

Deprecated.

", + "smithy.api#xmlName": "addressingType" } }, - "GroupOwnerId": { - "target": "com.amazonaws.ec2#String", + "BlockDeviceMappings": { + "target": "com.amazonaws.ec2#BlockDeviceMappingList", "traits": { - "aws.protocols#ec2QueryName": "GroupOwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the security group.

", - "smithy.api#xmlName": "groupOwnerId" + "aws.protocols#ec2QueryName": "BlockDeviceMapping", + "smithy.api#documentation": "

One or more block devices that are mapped to the Spot Instances. You can't specify both\n a snapshot ID and an encryption value. This is because only blank volumes can be\n encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its\n encryption status is used for the volume encryption status.

", + "smithy.api#xmlName": "blockDeviceMapping" } }, - "IsEgress": { + "EbsOptimized": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "IsEgress", + "aws.protocols#ec2QueryName": "EbsOptimized", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the security group rule is an outbound rule.

", - "smithy.api#xmlName": "isEgress" + "smithy.api#documentation": "

Indicates whether the instances are optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

\n

Default: false\n

", + "smithy.api#xmlName": "ebsOptimized" } }, - "IpProtocol": { - "target": "com.amazonaws.ec2#String", + "IamInstanceProfile": { + "target": "com.amazonaws.ec2#IamInstanceProfileSpecification", "traits": { - "aws.protocols#ec2QueryName": "IpProtocol", - "smithy.api#documentation": "

The IP protocol name (tcp, udp, icmp,\n icmpv6) or number (see Protocol Numbers).

\n

Use -1 to specify all protocols.

", - "smithy.api#xmlName": "ipProtocol" + "aws.protocols#ec2QueryName": "IamInstanceProfile", + "smithy.api#documentation": "

The IAM instance profile.

", + "smithy.api#xmlName": "iamInstanceProfile" } }, - "FromPort": { - "target": "com.amazonaws.ec2#Integer", + "ImageId": { + "target": "com.amazonaws.ec2#ImageId", "traits": { - "aws.protocols#ec2QueryName": "FromPort", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type. A value\n of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must\n specify all codes.

", - "smithy.api#xmlName": "fromPort" + "aws.protocols#ec2QueryName": "ImageId", + "smithy.api#documentation": "

The ID of the AMI.

", + "smithy.api#xmlName": "imageId" } }, - "ToPort": { - "target": "com.amazonaws.ec2#Integer", + "InstanceType": { + "target": "com.amazonaws.ec2#InstanceType", "traits": { - "aws.protocols#ec2QueryName": "ToPort", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all codes.

", - "smithy.api#xmlName": "toPort" + "aws.protocols#ec2QueryName": "InstanceType", + "smithy.api#documentation": "

The instance type.

", + "smithy.api#xmlName": "instanceType" } }, - "CidrIpv4": { + "KernelId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CidrIpv4", - "smithy.api#documentation": "

The IPv4 CIDR range.

", - "smithy.api#xmlName": "cidrIpv4" + "aws.protocols#ec2QueryName": "KernelId", + "smithy.api#documentation": "

The ID of the kernel.

", + "smithy.api#xmlName": "kernelId" } }, - "CidrIpv6": { + "KeyName": { + "target": "com.amazonaws.ec2#KeyPairName", + "traits": { + "aws.protocols#ec2QueryName": "KeyName", + "smithy.api#documentation": "

The name of the key pair.

", + "smithy.api#xmlName": "keyName" + } + }, + "Monitoring": { + "target": "com.amazonaws.ec2#SpotFleetMonitoring", + "traits": { + "aws.protocols#ec2QueryName": "Monitoring", + "smithy.api#documentation": "

Enable or disable monitoring for the instances.

", + "smithy.api#xmlName": "monitoring" + } + }, + "NetworkInterfaces": { + "target": "com.amazonaws.ec2#InstanceNetworkInterfaceSpecificationList", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInterfaceSet", + "smithy.api#documentation": "

One or more network interfaces. If you specify a network interface, you must specify \n subnet IDs and security group IDs using the network interface.

\n \n

\n SpotFleetLaunchSpecification currently does not support Elastic Fabric Adapter (EFA). To specify an EFA, you must use LaunchTemplateConfig.

\n
", + "smithy.api#xmlName": "networkInterfaceSet" + } + }, + "Placement": { + "target": "com.amazonaws.ec2#SpotPlacement", + "traits": { + "aws.protocols#ec2QueryName": "Placement", + "smithy.api#documentation": "

The placement information.

", + "smithy.api#xmlName": "placement" + } + }, + "RamdiskId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CidrIpv6", - "smithy.api#documentation": "

The IPv6 CIDR range.

", - "smithy.api#xmlName": "cidrIpv6" + "aws.protocols#ec2QueryName": "RamdiskId", + "smithy.api#documentation": "

The ID of the RAM disk. Some kernels require additional drivers at launch. Check the kernel \n requirements for information about whether you need to specify a RAM disk. To find kernel \n requirements, refer to the Amazon Web Services Resource Center and search for the kernel ID.

", + "smithy.api#xmlName": "ramdiskId" } }, - "PrefixListId": { - "target": "com.amazonaws.ec2#PrefixListResourceId", + "SpotPrice": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PrefixListId", - "smithy.api#documentation": "

The ID of the prefix list.

", - "smithy.api#xmlName": "prefixListId" + "aws.protocols#ec2QueryName": "SpotPrice", + "smithy.api#documentation": "

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to \n increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

\n \n

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

\n
", + "smithy.api#xmlName": "spotPrice" } }, - "ReferencedGroupInfo": { - "target": "com.amazonaws.ec2#ReferencedSecurityGroup", + "SubnetId": { + "target": "com.amazonaws.ec2#SubnetId", "traits": { - "aws.protocols#ec2QueryName": "ReferencedGroupInfo", - "smithy.api#documentation": "

Describes the security group that is referenced in the rule.

", - "smithy.api#xmlName": "referencedGroupInfo" + "aws.protocols#ec2QueryName": "SubnetId", + "smithy.api#documentation": "

The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate\n them using commas; for example, \"subnet-1234abcdeexample1, subnet-0987cdef6example2\".

", + "smithy.api#xmlName": "subnetId" } }, - "Description": { + "UserData": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

The security group rule description.

", - "smithy.api#xmlName": "description" + "aws.protocols#ec2QueryName": "UserData", + "smithy.api#documentation": "

The Base64-encoded user data that instances use when starting up.

", + "smithy.api#xmlName": "userData" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "WeightedCapacity": { + "target": "com.amazonaws.ec2#Double", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags applied to the security group rule.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "WeightedCapacity", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

\n

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

", + "smithy.api#xmlName": "weightedCapacity" + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#SpotFleetTagSpecificationList", + "traits": { + "aws.protocols#ec2QueryName": "TagSpecificationSet", + "smithy.api#documentation": "

The tags to apply during creation.

", + "smithy.api#xmlName": "tagSpecificationSet" + } + }, + "InstanceRequirements": { + "target": "com.amazonaws.ec2#InstanceRequirements", + "traits": { + "aws.protocols#ec2QueryName": "InstanceRequirements", + "smithy.api#documentation": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with those attributes.

\n \n

If you specify InstanceRequirements, you can't specify\n InstanceType.

\n
", + "smithy.api#xmlName": "instanceRequirements" } } }, "traits": { - "smithy.api#documentation": "

Describes a security group rule.

" + "smithy.api#documentation": "

Describes the launch specification for one or more Spot Instances. If you include\n On-Demand capacity in your fleet request or want to specify an EFA network device, you\n can't use SpotFleetLaunchSpecification; you must use LaunchTemplateConfig.

" } }, - "com.amazonaws.ec2#SecurityGroupRuleDescription": { + "com.amazonaws.ec2#SpotFleetMonitoring": { "type": "structure", "members": { - "SecurityGroupRuleId": { - "target": "com.amazonaws.ec2#String", + "Enabled": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The ID of the security group rule.

" + "aws.protocols#ec2QueryName": "Enabled", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Enables monitoring for the instance.

\n

Default: false\n

", + "smithy.api#xmlName": "enabled" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes whether monitoring is enabled.

" + } + }, + "com.amazonaws.ec2#SpotFleetRequestConfig": { + "type": "structure", + "members": { + "ActivityStatus": { + "target": "com.amazonaws.ec2#ActivityStatus", + "traits": { + "aws.protocols#ec2QueryName": "ActivityStatus", + "smithy.api#documentation": "

The progress of the Spot Fleet request. \n If there is an error, the status is error.\n After all requests are placed, the status is pending_fulfillment.\n If the size of the fleet is equal to or greater than its target capacity, the status is fulfilled.\n If the size of the fleet is decreased, the status is pending_termination\n while Spot Instances are terminating.

", + "smithy.api#xmlName": "activityStatus" } }, - "Description": { + "CreateTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "CreateTime", + "smithy.api#documentation": "

The creation date and time of the request.

", + "smithy.api#xmlName": "createTime" + } + }, + "SpotFleetRequestConfig": { + "target": "com.amazonaws.ec2#SpotFleetRequestConfigData", + "traits": { + "aws.protocols#ec2QueryName": "SpotFleetRequestConfig", + "smithy.api#documentation": "

The configuration of the Spot Fleet request.

", + "smithy.api#xmlName": "spotFleetRequestConfig" + } + }, + "SpotFleetRequestId": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The description of the security group rule.

" + "aws.protocols#ec2QueryName": "SpotFleetRequestId", + "smithy.api#documentation": "

The ID of the Spot Fleet request.

", + "smithy.api#xmlName": "spotFleetRequestId" + } + }, + "SpotFleetRequestState": { + "target": "com.amazonaws.ec2#BatchState", + "traits": { + "aws.protocols#ec2QueryName": "SpotFleetRequestState", + "smithy.api#documentation": "

The state of the Spot Fleet request.

", + "smithy.api#xmlName": "spotFleetRequestState" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags for a Spot Fleet resource.

", + "smithy.api#xmlName": "tagSet" } } }, "traits": { - "smithy.api#documentation": "

Describes the description of a security group rule.

\n

You can use this when you want to update the security group rule description for either an inbound or outbound rule.

" - } - }, - "com.amazonaws.ec2#SecurityGroupRuleDescriptionList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#SecurityGroupRuleDescription", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#SecurityGroupRuleId": { - "type": "string" - }, - "com.amazonaws.ec2#SecurityGroupRuleIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#SecurityGroupRuleList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#SecurityGroupRule", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

Describes a Spot Fleet request.

" } }, - "com.amazonaws.ec2#SecurityGroupRuleRequest": { + "com.amazonaws.ec2#SpotFleetRequestConfigData": { "type": "structure", "members": { - "IpProtocol": { - "target": "com.amazonaws.ec2#String", + "AllocationStrategy": { + "target": "com.amazonaws.ec2#AllocationStrategy", "traits": { - "smithy.api#documentation": "

The IP protocol name (tcp, udp, icmp,\n icmpv6) or number (see Protocol Numbers).

\n

Use -1 to specify all protocols.

" + "aws.protocols#ec2QueryName": "AllocationStrategy", + "smithy.api#documentation": "

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance\n pools specified by the Spot Fleet launch configuration. For more information, see Allocation\n strategies for Spot Instances in the Amazon EC2 User Guide.

\n
\n
priceCapacityOptimized (recommended)
\n
\n

Spot Fleet identifies the pools with \n the highest capacity availability for the number of instances that are launching. This means \n that we will request Spot Instances from the pools that we believe have the lowest chance of interruption \n in the near term. Spot Fleet then requests Spot Instances from the lowest priced of these pools.

\n
\n
capacityOptimized
\n
\n

Spot Fleet identifies the pools with \n the highest capacity availability for the number of instances that are launching. This means \n that we will request Spot Instances from the pools that we believe have the lowest chance of interruption \n in the near term. To give certain\n instance types a higher chance of launching first, use\n capacityOptimizedPrioritized. Set a priority for each instance type by\n using the Priority parameter for LaunchTemplateOverrides. You can\n assign the same priority to different LaunchTemplateOverrides. EC2 implements\n the priorities on a best-effort basis, but optimizes for capacity first.\n capacityOptimizedPrioritized is supported only if your Spot Fleet uses a\n launch template. Note that if the OnDemandAllocationStrategy is set to\n prioritized, the same priority is applied when fulfilling On-Demand\n capacity.

\n
\n
diversified
\n
\n

Spot Fleet requests instances from all of the Spot Instance pools that you\n specify.

\n
\n
lowestPrice
\n
\n

Spot Fleet requests instances from the lowest priced Spot Instance pool that\n has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances\n come from the next lowest priced pool that has available capacity. If a pool runs out of\n capacity before fulfilling your desired capacity, Spot Fleet will continue to fulfill your\n request by drawing from the next lowest priced pool. To ensure that your desired capacity is\n met, you might receive Spot Instances from several pools. Because this strategy only considers instance \n price and not capacity availability, it might lead to high interruption rates.

\n
\n
\n

Default: lowestPrice\n

", + "smithy.api#xmlName": "allocationStrategy" } }, - "FromPort": { - "target": "com.amazonaws.ec2#Integer", + "OnDemandAllocationStrategy": { + "target": "com.amazonaws.ec2#OnDemandAllocationStrategy", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.

" + "aws.protocols#ec2QueryName": "OnDemandAllocationStrategy", + "smithy.api#documentation": "

The order of the launch template overrides to use in fulfilling On-Demand capacity. If\n you specify lowestPrice, Spot Fleet uses price to determine the order, launching\n the lowest price first. If you specify prioritized, Spot Fleet uses the priority\n that you assign to each Spot Fleet launch template override, launching the highest priority\n first. If you do not specify a value, Spot Fleet defaults to lowestPrice.

", + "smithy.api#xmlName": "onDemandAllocationStrategy" } }, - "ToPort": { - "target": "com.amazonaws.ec2#Integer", + "SpotMaintenanceStrategies": { + "target": "com.amazonaws.ec2#SpotMaintenanceStrategies", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all codes.

" + "aws.protocols#ec2QueryName": "SpotMaintenanceStrategies", + "smithy.api#documentation": "

The strategies for managing your Spot Instances that are at an elevated risk of being\n interrupted.

", + "smithy.api#xmlName": "spotMaintenanceStrategies" } }, - "CidrIpv4": { + "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The IPv4 CIDR range. To specify a single IPv4 address, use the /32 prefix length.

" + "aws.protocols#ec2QueryName": "ClientToken", + "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of your\n listings. This helps to avoid duplicate listings. For more information, see Ensuring Idempotency.

", + "smithy.api#xmlName": "clientToken" } }, - "CidrIpv6": { - "target": "com.amazonaws.ec2#String", + "ExcessCapacityTerminationPolicy": { + "target": "com.amazonaws.ec2#ExcessCapacityTerminationPolicy", "traits": { - "smithy.api#documentation": "

The IPv6 CIDR range. To specify a single IPv6 address, use the /128 prefix length.

" + "aws.protocols#ec2QueryName": "ExcessCapacityTerminationPolicy", + "smithy.api#documentation": "

Indicates whether running Spot Instances should be terminated if you decrease the\n target capacity of the Spot Fleet request below the current size of the Spot\n Fleet.

", + "smithy.api#xmlName": "excessCapacityTerminationPolicy" } }, - "PrefixListId": { - "target": "com.amazonaws.ec2#PrefixListResourceId", + "FulfilledCapacity": { + "target": "com.amazonaws.ec2#Double", "traits": { - "smithy.api#documentation": "

The ID of the prefix list.

" + "aws.protocols#ec2QueryName": "FulfilledCapacity", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of units fulfilled by this request compared to the set target capacity. You\n cannot set this value.

", + "smithy.api#xmlName": "fulfilledCapacity" } }, - "ReferencedGroupId": { - "target": "com.amazonaws.ec2#SecurityGroupId", + "OnDemandFulfilledCapacity": { + "target": "com.amazonaws.ec2#Double", "traits": { - "smithy.api#documentation": "

The ID of the security group that is referenced in the security group rule.

" + "aws.protocols#ec2QueryName": "OnDemandFulfilledCapacity", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of On-Demand units fulfilled by this request compared to the set target\n On-Demand capacity.

", + "smithy.api#xmlName": "onDemandFulfilledCapacity" } }, - "Description": { + "IamFleetRole": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The description of the security group rule.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a security group rule.

\n

You must specify exactly one of the following parameters, based on the rule type:

\n
    \n
  • \n

    CidrIpv4

    \n
  • \n
  • \n

    CidrIpv6

    \n
  • \n
  • \n

    PrefixListId

    \n
  • \n
  • \n

    ReferencedGroupId

    \n
  • \n
\n

When you modify a rule, you cannot change the rule type. For example, if the rule \n uses an IPv4 address range, you must use CidrIpv4 to specify a new IPv4 \n address range.

" - } - }, - "com.amazonaws.ec2#SecurityGroupRuleUpdate": { - "type": "structure", - "members": { - "SecurityGroupRuleId": { - "target": "com.amazonaws.ec2#SecurityGroupRuleId", - "traits": { - "smithy.api#documentation": "

The ID of the security group rule.

" + "aws.protocols#ec2QueryName": "IamFleetRole", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role that\n grants the Spot Fleet the permission to request, launch, terminate, and tag instances on\n your behalf. For more information, see Spot\n Fleet prerequisites in the Amazon EC2 User Guide. Spot Fleet\n can terminate Spot Instances on your behalf when you cancel its Spot Fleet request using\n CancelSpotFleetRequests or when the Spot Fleet request expires, if you set\n TerminateInstancesWithExpiration.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "iamFleetRole" } }, - "SecurityGroupRule": { - "target": "com.amazonaws.ec2#SecurityGroupRuleRequest", + "LaunchSpecifications": { + "target": "com.amazonaws.ec2#LaunchSpecsList", "traits": { - "smithy.api#documentation": "

Information about the security group rule.

" + "aws.protocols#ec2QueryName": "LaunchSpecifications", + "smithy.api#documentation": "

The launch specifications for the Spot Fleet request. If you specify\n LaunchSpecifications, you can't specify\n LaunchTemplateConfigs. If you include On-Demand capacity in your\n request, you must use LaunchTemplateConfigs.

", + "smithy.api#xmlName": "launchSpecifications" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes an update to a security group rule.

" - } - }, - "com.amazonaws.ec2#SecurityGroupRuleUpdateList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#SecurityGroupRuleUpdate", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#SecurityGroupStringList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#SecurityGroupName", - "traits": { - "smithy.api#xmlName": "SecurityGroup" - } - } - }, - "com.amazonaws.ec2#SelfServicePortal": { - "type": "enum", - "members": { - "enabled": { - "target": "smithy.api#Unit", + }, + "LaunchTemplateConfigs": { + "target": "com.amazonaws.ec2#LaunchTemplateConfigList", "traits": { - "smithy.api#enumValue": "enabled" + "aws.protocols#ec2QueryName": "LaunchTemplateConfigs", + "smithy.api#documentation": "

The launch template and overrides. If you specify LaunchTemplateConfigs,\n you can't specify LaunchSpecifications. If you include On-Demand capacity\n in your request, you must use LaunchTemplateConfigs.

", + "smithy.api#xmlName": "launchTemplateConfigs" } }, - "disabled": { - "target": "smithy.api#Unit", + "SpotPrice": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "disabled" + "aws.protocols#ec2QueryName": "SpotPrice", + "smithy.api#documentation": "

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend \n using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

\n \n

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

\n
", + "smithy.api#xmlName": "spotPrice" } - } - } - }, - "com.amazonaws.ec2#SendDiagnosticInterrupt": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#SendDiagnosticInterruptRequest" - }, - "output": { - "target": "smithy.api#Unit" - }, - "traits": { - "smithy.api#documentation": "

Sends a diagnostic interrupt to the specified Amazon EC2 instance to trigger a\n kernel panic (on Linux instances), or a blue\n screen/stop error (on Windows instances). For\n instances based on Intel and AMD processors, the interrupt is received as a\n non-maskable interrupt (NMI).

\n\n

In general, the operating system crashes and reboots when a kernel panic or stop error\n is triggered. The operating system can also be configured to perform diagnostic tasks,\n such as generating a memory dump file, loading a secondary kernel, or obtaining a call\n trace.

\n\n

Before sending a diagnostic interrupt to your instance, ensure that its operating\n system is configured to perform the required diagnostic tasks.

\n\n

For more information about configuring your operating system to generate a crash dump\n when a kernel panic or stop error occurs, see Send a diagnostic interrupt\n (for advanced users) (Linux instances) or Send a diagnostic\n interrupt (for advanced users) (Windows instances).

" - } - }, - "com.amazonaws.ec2#SendDiagnosticInterruptRequest": { - "type": "structure", - "members": { - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", + }, + "TargetCapacity": { + "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "TargetCapacity", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the instance.

", - "smithy.api#required": {} + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of units to request for the Spot Fleet. You can choose to set the target\n capacity in terms of instances or a performance characteristic that is important to your\n application workload, such as vCPUs, memory, or I/O. If the request type is\n maintain, you can specify a target capacity of 0 and add capacity\n later.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "targetCapacity" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "OnDemandTargetCapacity": { + "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "OnDemandTargetCapacity", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of On-Demand units to request. You can choose to set the target capacity in\n terms of instances or a performance characteristic that is important to your application\n workload, such as vCPUs, memory, or I/O. If the request type is maintain,\n you can specify a target capacity of 0 and add capacity later.

", + "smithy.api#xmlName": "onDemandTargetCapacity" } - } - } - }, - "com.amazonaws.ec2#SensitiveUserData": { - "type": "string", - "traits": { - "smithy.api#sensitive": {} - } - }, - "com.amazonaws.ec2#ServiceConfiguration": { - "type": "structure", - "members": { - "ServiceType": { - "target": "com.amazonaws.ec2#ServiceTypeDetailSet", + }, + "OnDemandMaxTotalPrice": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ServiceType", - "smithy.api#documentation": "

The type of service.

", - "smithy.api#xmlName": "serviceType" + "aws.protocols#ec2QueryName": "OnDemandMaxTotalPrice", + "smithy.api#documentation": "

The maximum amount per hour for On-Demand Instances that you're willing to pay. You\n can use the onDemandMaxTotalPrice parameter, the\n spotMaxTotalPrice parameter, or both parameters to ensure that your\n fleet cost does not exceed your budget. If you set a maximum price per hour for the\n On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the\n maximum amount you're willing to pay. When the maximum amount you're willing to pay is\n reached, the fleet stops launching instances even if it hasn’t met the target\n capacity.

", + "smithy.api#xmlName": "onDemandMaxTotalPrice" } }, - "ServiceId": { + "SpotMaxTotalPrice": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ServiceId", - "smithy.api#documentation": "

The ID of the service.

", - "smithy.api#xmlName": "serviceId" + "aws.protocols#ec2QueryName": "SpotMaxTotalPrice", + "smithy.api#documentation": "

The maximum amount per hour for Spot Instances that you're willing to pay. You can use\n the spotdMaxTotalPrice parameter, the onDemandMaxTotalPrice\n parameter, or both parameters to ensure that your fleet cost does not exceed your\n budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request,\n Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay.\n When the maximum amount you're willing to pay is reached, the fleet stops launching\n instances even if it hasn’t met the target capacity.

", + "smithy.api#xmlName": "spotMaxTotalPrice" } }, - "ServiceName": { - "target": "com.amazonaws.ec2#String", + "TerminateInstancesWithExpiration": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "ServiceName", - "smithy.api#documentation": "

The name of the service.

", - "smithy.api#xmlName": "serviceName" + "aws.protocols#ec2QueryName": "TerminateInstancesWithExpiration", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether running Spot Instances are terminated when the Spot Fleet request\n expires.

", + "smithy.api#xmlName": "terminateInstancesWithExpiration" } }, - "ServiceState": { - "target": "com.amazonaws.ec2#ServiceState", + "Type": { + "target": "com.amazonaws.ec2#FleetType", "traits": { - "aws.protocols#ec2QueryName": "ServiceState", - "smithy.api#documentation": "

The service state.

", - "smithy.api#xmlName": "serviceState" + "aws.protocols#ec2QueryName": "Type", + "smithy.api#documentation": "

The type of request. Indicates whether the Spot Fleet only requests the target\n capacity or also attempts to maintain it. When this value is request, the\n Spot Fleet only places the required requests. It does not attempt to replenish Spot\n Instances if capacity is diminished, nor does it submit requests in alternative Spot\n pools if capacity is not available. When this value is maintain, the Spot\n Fleet maintains the target capacity. The Spot Fleet places the required requests to meet\n capacity and automatically replenishes any interrupted instances. Default:\n maintain. instant is listed but is not used by Spot\n Fleet.

", + "smithy.api#xmlName": "type" } }, - "AvailabilityZones": { - "target": "com.amazonaws.ec2#ValueStringList", + "ValidFrom": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZoneSet", - "smithy.api#documentation": "

The Availability Zones in which the service is available.

", - "smithy.api#xmlName": "availabilityZoneSet" + "aws.protocols#ec2QueryName": "ValidFrom", + "smithy.api#documentation": "

The start date and time of the request, in UTC format\n (YYYY-MM-DDTHH:MM:SSZ).\n By default, Amazon EC2 starts fulfilling the request immediately.

", + "smithy.api#xmlName": "validFrom" } }, - "AcceptanceRequired": { - "target": "com.amazonaws.ec2#Boolean", + "ValidUntil": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "AcceptanceRequired", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether requests from other Amazon Web Services accounts to create an endpoint to the service must first be accepted.

", - "smithy.api#xmlName": "acceptanceRequired" + "aws.protocols#ec2QueryName": "ValidUntil", + "smithy.api#documentation": "

The end date and time of the request, in UTC format\n (YYYY-MM-DDTHH:MM:SSZ).\n After the end date and time, no new Spot Instance requests are placed or able to fulfill\n the request. If no value is specified, the Spot Fleet request remains until you cancel\n it.

", + "smithy.api#xmlName": "validUntil" } }, - "ManagesVpcEndpoints": { + "ReplaceUnhealthyInstances": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "ManagesVpcEndpoints", + "aws.protocols#ec2QueryName": "ReplaceUnhealthyInstances", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the service manages its VPC endpoints. Management of the service VPC\n endpoints using the VPC endpoint API is restricted.

", - "smithy.api#xmlName": "managesVpcEndpoints" + "smithy.api#documentation": "

Indicates whether Spot Fleet should replace unhealthy instances.

", + "smithy.api#xmlName": "replaceUnhealthyInstances" } }, - "NetworkLoadBalancerArns": { - "target": "com.amazonaws.ec2#ValueStringList", + "InstanceInterruptionBehavior": { + "target": "com.amazonaws.ec2#InstanceInterruptionBehavior", "traits": { - "aws.protocols#ec2QueryName": "NetworkLoadBalancerArnSet", - "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of the Network Load Balancers for the service.

", - "smithy.api#xmlName": "networkLoadBalancerArnSet" + "aws.protocols#ec2QueryName": "InstanceInterruptionBehavior", + "smithy.api#documentation": "

The behavior when a Spot Instance is interrupted. The default is\n terminate.

", + "smithy.api#xmlName": "instanceInterruptionBehavior" } }, - "GatewayLoadBalancerArns": { - "target": "com.amazonaws.ec2#ValueStringList", + "LoadBalancersConfig": { + "target": "com.amazonaws.ec2#LoadBalancersConfig", "traits": { - "aws.protocols#ec2QueryName": "GatewayLoadBalancerArnSet", - "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service.

", - "smithy.api#xmlName": "gatewayLoadBalancerArnSet" + "aws.protocols#ec2QueryName": "LoadBalancersConfig", + "smithy.api#documentation": "

One or more Classic Load Balancers and target groups to attach to the Spot Fleet\n request. Spot Fleet registers the running Spot Instances with the specified Classic Load\n Balancers and target groups.

\n

With Network Load Balancers, Spot Fleet cannot register instances that have the\n following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2,\n M3, and T1.

", + "smithy.api#xmlName": "loadBalancersConfig" } }, - "SupportedIpAddressTypes": { - "target": "com.amazonaws.ec2#SupportedIpAddressTypes", + "InstancePoolsToUseCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "SupportedIpAddressTypeSet", - "smithy.api#documentation": "

The supported IP address types.

", - "smithy.api#xmlName": "supportedIpAddressTypeSet" + "aws.protocols#ec2QueryName": "InstancePoolsToUseCount", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of Spot pools across which to allocate your target Spot capacity. Valid\n only when Spot AllocationStrategy is set to\n lowest-price. Spot Fleet selects the cheapest Spot pools and evenly\n allocates your target Spot capacity across the number of Spot pools that you\n specify.

\n

Note that Spot Fleet attempts to draw Spot Instances from the number of pools that you specify on a\n best effort basis. If a pool runs out of Spot capacity before fulfilling your target\n capacity, Spot Fleet will continue to fulfill your request by drawing from the next cheapest\n pool. To ensure that your target capacity is met, you might receive Spot Instances from more than\n the number of pools that you specified. Similarly, if most of the pools have no Spot\n capacity, you might receive your full target capacity from fewer than the number of\n pools that you specified.

", + "smithy.api#xmlName": "instancePoolsToUseCount" } }, - "BaseEndpointDnsNames": { - "target": "com.amazonaws.ec2#ValueStringList", + "Context": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "BaseEndpointDnsNameSet", - "smithy.api#documentation": "

The DNS names for the service.

", - "smithy.api#xmlName": "baseEndpointDnsNameSet" + "aws.protocols#ec2QueryName": "Context", + "smithy.api#documentation": "

Reserved.

", + "smithy.api#xmlName": "context" } }, - "PrivateDnsName": { - "target": "com.amazonaws.ec2#String", + "TargetCapacityUnitType": { + "target": "com.amazonaws.ec2#TargetCapacityUnitType", "traits": { - "aws.protocols#ec2QueryName": "PrivateDnsName", - "smithy.api#documentation": "

The private DNS name for the service.

", - "smithy.api#xmlName": "privateDnsName" + "aws.protocols#ec2QueryName": "TargetCapacityUnitType", + "smithy.api#documentation": "

The unit for the target capacity. TargetCapacityUnitType can only be specified when InstanceRequirements is specified.

\n

Default: units (translates to number of instances)

", + "smithy.api#xmlName": "targetCapacityUnitType" } }, - "PrivateDnsNameConfiguration": { - "target": "com.amazonaws.ec2#PrivateDnsNameConfiguration", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "PrivateDnsNameConfiguration", - "smithy.api#documentation": "

Information about the endpoint service private DNS name configuration.

", - "smithy.api#xmlName": "privateDnsNameConfiguration" + "smithy.api#documentation": "

The key-value pair for tagging the Spot Fleet request on creation. The value for\n ResourceType must be spot-fleet-request, otherwise the\n Spot Fleet request fails. To tag instances at launch, specify the tags in the launch\n template (valid only if you use LaunchTemplateConfigs) or in\n the \n SpotFleetTagSpecification\n (valid only if you use\n LaunchSpecifications). For information about tagging after launch, see\n Tagging Your Resources.

", + "smithy.api#xmlName": "TagSpecification" } - }, - "PayerResponsibility": { - "target": "com.amazonaws.ec2#PayerResponsibility", + } + }, + "traits": { + "smithy.api#documentation": "

Describes the configuration of a Spot Fleet request.

" + } + }, + "com.amazonaws.ec2#SpotFleetRequestConfigSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SpotFleetRequestConfig", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#SpotFleetRequestId": { + "type": "string" + }, + "com.amazonaws.ec2#SpotFleetRequestIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SpotFleetRequestId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#SpotFleetTagSpecification": { + "type": "structure", + "members": { + "ResourceType": { + "target": "com.amazonaws.ec2#ResourceType", "traits": { - "aws.protocols#ec2QueryName": "PayerResponsibility", - "smithy.api#documentation": "

The payer responsibility.

", - "smithy.api#xmlName": "payerResponsibility" + "aws.protocols#ec2QueryName": "ResourceType", + "smithy.api#documentation": "

The type of resource. Currently, the only resource type that is supported is\n instance. To tag the Spot Fleet request on creation, use the\n TagSpecifications parameter in \n SpotFleetRequestConfigData\n .

", + "smithy.api#xmlName": "resourceType" } }, "Tags": { "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags assigned to the service.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "Tag", + "smithy.api#documentation": "

The tags.

", + "smithy.api#xmlName": "tag" } } }, "traits": { - "smithy.api#documentation": "

Describes a service configuration for a VPC endpoint service.

" + "smithy.api#documentation": "

The tags for a Spot Fleet resource.

" } }, - "com.amazonaws.ec2#ServiceConfigurationSet": { + "com.amazonaws.ec2#SpotFleetTagSpecificationList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#ServiceConfiguration", + "target": "com.amazonaws.ec2#SpotFleetTagSpecification", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#ServiceConnectivityType": { + "com.amazonaws.ec2#SpotInstanceInterruptionBehavior": { "type": "enum", "members": { - "ipv4": { + "hibernate": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "ipv4" + "smithy.api#enumValue": "hibernate" } }, - "ipv6": { + "stop": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "ipv6" + "smithy.api#enumValue": "stop" + } + }, + "terminate": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "terminate" } } } }, - "com.amazonaws.ec2#ServiceDetail": { + "com.amazonaws.ec2#SpotInstanceRequest": { "type": "structure", "members": { - "ServiceName": { + "ActualBlockHourlyPrice": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ServiceName", - "smithy.api#documentation": "

The name of the service.

", - "smithy.api#xmlName": "serviceName" + "aws.protocols#ec2QueryName": "ActualBlockHourlyPrice", + "smithy.api#documentation": "

Deprecated.

", + "smithy.api#xmlName": "actualBlockHourlyPrice" } }, - "ServiceId": { + "AvailabilityZoneGroup": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ServiceId", - "smithy.api#documentation": "

The ID of the endpoint service.

", - "smithy.api#xmlName": "serviceId" + "aws.protocols#ec2QueryName": "AvailabilityZoneGroup", + "smithy.api#documentation": "

The Availability Zone group. If you specify the same Availability Zone group for all Spot Instance requests, all Spot Instances are launched in the same Availability Zone.

", + "smithy.api#xmlName": "availabilityZoneGroup" } }, - "ServiceType": { - "target": "com.amazonaws.ec2#ServiceTypeDetailSet", + "BlockDurationMinutes": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "ServiceType", - "smithy.api#documentation": "

The type of service.

", - "smithy.api#xmlName": "serviceType" + "aws.protocols#ec2QueryName": "BlockDurationMinutes", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

Deprecated.

", + "smithy.api#xmlName": "blockDurationMinutes" } }, - "AvailabilityZones": { - "target": "com.amazonaws.ec2#ValueStringList", + "CreateTime": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZoneSet", - "smithy.api#documentation": "

The Availability Zones in which the service is available.

", - "smithy.api#xmlName": "availabilityZoneSet" + "aws.protocols#ec2QueryName": "CreateTime", + "smithy.api#documentation": "

The date and time when the Spot Instance request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", + "smithy.api#xmlName": "createTime" } }, - "Owner": { - "target": "com.amazonaws.ec2#String", + "Fault": { + "target": "com.amazonaws.ec2#SpotInstanceStateFault", "traits": { - "aws.protocols#ec2QueryName": "Owner", - "smithy.api#documentation": "

The Amazon Web Services account ID of the service owner.

", - "smithy.api#xmlName": "owner" + "aws.protocols#ec2QueryName": "Fault", + "smithy.api#documentation": "

The fault codes for the Spot Instance request, if any.

", + "smithy.api#xmlName": "fault" } }, - "BaseEndpointDnsNames": { - "target": "com.amazonaws.ec2#ValueStringList", + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", "traits": { - "aws.protocols#ec2QueryName": "BaseEndpointDnsNameSet", - "smithy.api#documentation": "

The DNS names for the service.

", - "smithy.api#xmlName": "baseEndpointDnsNameSet" + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#documentation": "

The instance ID, if an instance has been launched to fulfill the Spot Instance request.

", + "smithy.api#xmlName": "instanceId" } }, - "PrivateDnsName": { + "LaunchGroup": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PrivateDnsName", - "smithy.api#documentation": "

The private DNS name for the service.

", - "smithy.api#xmlName": "privateDnsName" + "aws.protocols#ec2QueryName": "LaunchGroup", + "smithy.api#documentation": "

The instance launch group. Launch groups are Spot Instances that launch together and terminate together.

", + "smithy.api#xmlName": "launchGroup" } }, - "PrivateDnsNames": { - "target": "com.amazonaws.ec2#PrivateDnsDetailsSet", + "LaunchSpecification": { + "target": "com.amazonaws.ec2#LaunchSpecification", "traits": { - "aws.protocols#ec2QueryName": "PrivateDnsNameSet", - "smithy.api#documentation": "

The private DNS names assigned to the VPC endpoint service.

", - "smithy.api#xmlName": "privateDnsNameSet" + "aws.protocols#ec2QueryName": "LaunchSpecification", + "smithy.api#documentation": "

Additional information for launching instances.

", + "smithy.api#xmlName": "launchSpecification" } }, - "VpcEndpointPolicySupported": { - "target": "com.amazonaws.ec2#Boolean", + "LaunchedAvailabilityZone": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "VpcEndpointPolicySupported", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the service supports endpoint policies.

", - "smithy.api#xmlName": "vpcEndpointPolicySupported" + "aws.protocols#ec2QueryName": "LaunchedAvailabilityZone", + "smithy.api#documentation": "

The Availability Zone in which the request is launched.

", + "smithy.api#xmlName": "launchedAvailabilityZone" } }, - "AcceptanceRequired": { - "target": "com.amazonaws.ec2#Boolean", + "ProductDescription": { + "target": "com.amazonaws.ec2#RIProductDescription", "traits": { - "aws.protocols#ec2QueryName": "AcceptanceRequired", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether VPC endpoint connection requests to the service must be accepted by the service owner.

", - "smithy.api#xmlName": "acceptanceRequired" + "aws.protocols#ec2QueryName": "ProductDescription", + "smithy.api#documentation": "

The product description associated with the Spot Instance.

", + "smithy.api#xmlName": "productDescription" } }, - "ManagesVpcEndpoints": { - "target": "com.amazonaws.ec2#Boolean", + "SpotInstanceRequestId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ManagesVpcEndpoints", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the service manages its VPC endpoints. Management of the service VPC\n endpoints using the VPC endpoint API is restricted.

", - "smithy.api#xmlName": "managesVpcEndpoints" + "aws.protocols#ec2QueryName": "SpotInstanceRequestId", + "smithy.api#documentation": "

The ID of the Spot Instance request.

", + "smithy.api#xmlName": "spotInstanceRequestId" } }, - "PayerResponsibility": { - "target": "com.amazonaws.ec2#PayerResponsibility", + "SpotPrice": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PayerResponsibility", - "smithy.api#documentation": "

The payer responsibility.

", - "smithy.api#xmlName": "payerResponsibility" + "aws.protocols#ec2QueryName": "SpotPrice", + "smithy.api#documentation": "

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend \n using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

\n \n

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

\n
", + "smithy.api#xmlName": "spotPrice" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "State": { + "target": "com.amazonaws.ec2#SpotInstanceState", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags assigned to the service.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the Spot Instance request. Spot request status information helps track your Spot\n Instance requests. For more information, see Spot request status in the\n Amazon EC2 User Guide for Linux Instances.

", + "smithy.api#xmlName": "state" } }, - "PrivateDnsNameVerificationState": { - "target": "com.amazonaws.ec2#DnsNameState", + "Status": { + "target": "com.amazonaws.ec2#SpotInstanceStatus", "traits": { - "aws.protocols#ec2QueryName": "PrivateDnsNameVerificationState", - "smithy.api#documentation": "

The verification state of the VPC endpoint service.

\n

Consumers of the endpoint service cannot use the private name when the state is not verified.

", - "smithy.api#xmlName": "privateDnsNameVerificationState" + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The status code and status message describing the Spot Instance request.

", + "smithy.api#xmlName": "status" } }, - "SupportedIpAddressTypes": { - "target": "com.amazonaws.ec2#SupportedIpAddressTypes", - "traits": { - "aws.protocols#ec2QueryName": "SupportedIpAddressTypeSet", - "smithy.api#documentation": "

The supported IP address types.

", - "smithy.api#xmlName": "supportedIpAddressTypeSet" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a VPC endpoint service.

" - } - }, - "com.amazonaws.ec2#ServiceDetailSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#ServiceDetail", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#ServiceState": { - "type": "enum", - "members": { - "Pending": { - "target": "smithy.api#Unit", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "smithy.api#enumValue": "Pending" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Any tags assigned to the resource.

", + "smithy.api#xmlName": "tagSet" } }, - "Available": { - "target": "smithy.api#Unit", + "Type": { + "target": "com.amazonaws.ec2#SpotInstanceType", "traits": { - "smithy.api#enumValue": "Available" + "aws.protocols#ec2QueryName": "Type", + "smithy.api#documentation": "

The Spot Instance request type.

", + "smithy.api#xmlName": "type" } }, - "Deleting": { - "target": "smithy.api#Unit", + "ValidFrom": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "smithy.api#enumValue": "Deleting" + "aws.protocols#ec2QueryName": "ValidFrom", + "smithy.api#documentation": "

The start date of the request, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).\n The request becomes active at this date and time.

", + "smithy.api#xmlName": "validFrom" } }, - "Deleted": { - "target": "smithy.api#Unit", + "ValidUntil": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "smithy.api#enumValue": "Deleted" + "aws.protocols#ec2QueryName": "ValidUntil", + "smithy.api#documentation": "

The end date of the request, in UTC format\n (YYYY-MM-DDTHH:MM:SSZ).

\n
    \n
  • \n

    For a persistent request, the request remains active until the validUntil date\n and time is reached. Otherwise, the request remains active until you cancel it.\n

    \n
  • \n
  • \n

    For a one-time request, the request remains active until all instances launch,\n the request is canceled, or the validUntil date and time is reached. By default, the\n request is valid for 7 days from the date the request was created.

    \n
  • \n
", + "smithy.api#xmlName": "validUntil" } }, - "Failed": { - "target": "smithy.api#Unit", + "InstanceInterruptionBehavior": { + "target": "com.amazonaws.ec2#InstanceInterruptionBehavior", "traits": { - "smithy.api#enumValue": "Failed" + "aws.protocols#ec2QueryName": "InstanceInterruptionBehavior", + "smithy.api#documentation": "

The behavior when a Spot Instance is interrupted.

", + "smithy.api#xmlName": "instanceInterruptionBehavior" } } + }, + "traits": { + "smithy.api#documentation": "

Describes a Spot Instance request.

" } }, - "com.amazonaws.ec2#ServiceType": { - "type": "enum", - "members": { - "Interface": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Interface" - } - }, - "Gateway": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Gateway" - } - }, - "GatewayLoadBalancer": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "GatewayLoadBalancer" - } - } - } + "com.amazonaws.ec2#SpotInstanceRequestId": { + "type": "string" }, - "com.amazonaws.ec2#ServiceTypeDetail": { - "type": "structure", - "members": { - "ServiceType": { - "target": "com.amazonaws.ec2#ServiceType", - "traits": { - "aws.protocols#ec2QueryName": "ServiceType", - "smithy.api#documentation": "

The type of service.

", - "smithy.api#xmlName": "serviceType" - } + "com.amazonaws.ec2#SpotInstanceRequestIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SpotInstanceRequestId", + "traits": { + "smithy.api#xmlName": "SpotInstanceRequestId" } - }, - "traits": { - "smithy.api#documentation": "

Describes the type of service for a VPC endpoint.

" } }, - "com.amazonaws.ec2#ServiceTypeDetailSet": { + "com.amazonaws.ec2#SpotInstanceRequestList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#ServiceTypeDetail", + "target": "com.amazonaws.ec2#SpotInstanceRequest", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#ShutdownBehavior": { + "com.amazonaws.ec2#SpotInstanceState": { "type": "enum", "members": { - "stop": { + "open": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "open" + } + }, + "active": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "stop" + "smithy.api#enumValue": "active" } }, - "terminate": { + "closed": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "terminate" + "smithy.api#enumValue": "closed" + } + }, + "cancelled": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "cancelled" + } + }, + "failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "failed" } } } }, - "com.amazonaws.ec2#SlotDateTimeRangeRequest": { + "com.amazonaws.ec2#SpotInstanceStateFault": { "type": "structure", "members": { - "EarliestTime": { - "target": "com.amazonaws.ec2#DateTime", + "Code": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The earliest date and time, in UTC, for the Scheduled Instance to start.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "Code", + "smithy.api#documentation": "

The reason code for the Spot Instance state change.

", + "smithy.api#xmlName": "code" } }, - "LatestTime": { - "target": "com.amazonaws.ec2#DateTime", + "Message": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The latest date and time, in UTC, for the Scheduled Instance to start. This value must be later than or equal to the earliest date and at most three months in the future.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "Message", + "smithy.api#documentation": "

The message for the Spot Instance state change.

", + "smithy.api#xmlName": "message" } } }, "traits": { - "smithy.api#documentation": "

Describes the time period for a Scheduled Instance to start its first schedule. The time period must span less than one day.

" + "smithy.api#documentation": "

Describes a Spot Instance state change.

" } }, - "com.amazonaws.ec2#SlotStartTimeRangeRequest": { + "com.amazonaws.ec2#SpotInstanceStatus": { "type": "structure", "members": { - "EarliestTime": { - "target": "com.amazonaws.ec2#DateTime", + "Code": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The earliest date and time, in UTC, for the Scheduled Instance to start.

" + "aws.protocols#ec2QueryName": "Code", + "smithy.api#documentation": "

The status code. For a list of status codes, see Spot request status codes in the Amazon EC2 User Guide for Linux Instances.

", + "smithy.api#xmlName": "code" } }, - "LatestTime": { + "Message": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Message", + "smithy.api#documentation": "

The description for the status code.

", + "smithy.api#xmlName": "message" + } + }, + "UpdateTime": { "target": "com.amazonaws.ec2#DateTime", "traits": { - "smithy.api#documentation": "

The latest date and time, in UTC, for the Scheduled Instance to start.

" + "aws.protocols#ec2QueryName": "UpdateTime", + "smithy.api#documentation": "

The date and time of the most recent status update, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).

", + "smithy.api#xmlName": "updateTime" } } }, "traits": { - "smithy.api#documentation": "

Describes the time period for a Scheduled Instance to start its first schedule.

" + "smithy.api#documentation": "

Describes the status of a Spot Instance request.

" } }, - "com.amazonaws.ec2#Snapshot": { - "type": "structure", + "com.amazonaws.ec2#SpotInstanceType": { + "type": "enum", "members": { - "DataEncryptionKeyId": { - "target": "com.amazonaws.ec2#String", + "one_time": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "DataEncryptionKeyId", - "smithy.api#documentation": "

The data encryption key identifier for the snapshot. This value is a unique identifier\n that corresponds to the data encryption key that was used to encrypt the original volume or\n snapshot copy. Because data encryption keys are inherited by volumes created from snapshots,\n and vice versa, if snapshots share the same data encryption key identifier, then they belong\n to the same volume/snapshot lineage. This parameter is only returned by DescribeSnapshots.

", - "smithy.api#xmlName": "dataEncryptionKeyId" + "smithy.api#enumValue": "one-time" } }, - "Description": { - "target": "com.amazonaws.ec2#String", + "persistent": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

The description for the snapshot.

", - "smithy.api#xmlName": "description" + "smithy.api#enumValue": "persistent" } - }, - "Encrypted": { - "target": "com.amazonaws.ec2#Boolean", + } + } + }, + "com.amazonaws.ec2#SpotMaintenanceStrategies": { + "type": "structure", + "members": { + "CapacityRebalance": { + "target": "com.amazonaws.ec2#SpotCapacityRebalance", "traits": { - "aws.protocols#ec2QueryName": "Encrypted", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the snapshot is encrypted.

", - "smithy.api#xmlName": "encrypted" + "aws.protocols#ec2QueryName": "CapacityRebalance", + "smithy.api#documentation": "

The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your\n Spot Instance is at an elevated risk of being interrupted. For more information, see\n Capacity rebalancing in the Amazon EC2 User Guide for Linux Instances.

", + "smithy.api#xmlName": "capacityRebalance" } - }, - "KmsKeyId": { + } + }, + "traits": { + "smithy.api#documentation": "

The strategies for managing your Spot Instances that are at an elevated risk of being\n interrupted.

" + } + }, + "com.amazonaws.ec2#SpotMarketOptions": { + "type": "structure", + "members": { + "MaxPrice": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "KmsKeyId", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Key Management Service (KMS) KMS key that was used to protect the\n volume encryption key for the parent volume.

", - "smithy.api#xmlName": "kmsKeyId" + "smithy.api#documentation": "

The maximum hourly price that you're willing to pay for a Spot Instance. We do not\n recommend using this parameter because it can lead to increased interruptions. If you do\n not specify this parameter, you will pay the current Spot price.

\n \n

If you specify a maximum price, your Spot Instances will be interrupted more\n frequently than if you do not specify this parameter.

\n
" } }, - "OwnerId": { - "target": "com.amazonaws.ec2#String", + "SpotInstanceType": { + "target": "com.amazonaws.ec2#SpotInstanceType", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the EBS snapshot.

", - "smithy.api#xmlName": "ownerId" + "smithy.api#documentation": "

The Spot Instance request type. For RunInstances, persistent\n Spot Instance requests are only supported when the instance interruption behavior is\n either hibernate or stop.

" } }, - "Progress": { - "target": "com.amazonaws.ec2#String", + "BlockDurationMinutes": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "Progress", - "smithy.api#documentation": "

The progress of the snapshot, as a percentage.

", - "smithy.api#xmlName": "progress" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

Deprecated.

" } }, - "SnapshotId": { - "target": "com.amazonaws.ec2#String", + "ValidUntil": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "SnapshotId", - "smithy.api#documentation": "

The ID of the snapshot. Each snapshot receives a unique identifier when it is\n created.

", - "smithy.api#xmlName": "snapshotId" + "smithy.api#documentation": "

The end date of the request, in UTC format\n (YYYY-MM-DDTHH:MM:SSZ).\n Supported only for persistent requests.

\n
    \n
  • \n

    For a persistent request, the request remains active until the\n ValidUntil date and time is reached. Otherwise, the request\n remains active until you cancel it.

    \n
  • \n
  • \n

    For a one-time request, ValidUntil is not supported. The request\n remains active until all instances launch or you cancel the request.

    \n
  • \n
" } }, - "StartTime": { - "target": "com.amazonaws.ec2#DateTime", + "InstanceInterruptionBehavior": { + "target": "com.amazonaws.ec2#InstanceInterruptionBehavior", "traits": { - "aws.protocols#ec2QueryName": "StartTime", - "smithy.api#documentation": "

The time stamp when the snapshot was initiated.

", - "smithy.api#xmlName": "startTime" + "smithy.api#documentation": "

The behavior when a Spot Instance is interrupted. The default is\n terminate.

" } - }, - "State": { - "target": "com.amazonaws.ec2#SnapshotState", + } + }, + "traits": { + "smithy.api#documentation": "

The options for Spot Instances.

" + } + }, + "com.amazonaws.ec2#SpotOptions": { + "type": "structure", + "members": { + "AllocationStrategy": { + "target": "com.amazonaws.ec2#SpotAllocationStrategy", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The snapshot state.

", - "smithy.api#xmlName": "status" + "aws.protocols#ec2QueryName": "AllocationStrategy", + "smithy.api#documentation": "

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance\n pools specified by the EC2 Fleet launch configuration. For more information, see Allocation strategies for Spot Instances in the\n Amazon EC2 User Guide.

\n
\n
price-capacity-optimized (recommended)
\n
\n

EC2 Fleet identifies the pools with \n the highest capacity availability for the number of instances that are launching. This means \n that we will request Spot Instances from the pools that we believe have the lowest chance of interruption \n in the near term. EC2 Fleet then requests Spot Instances from the lowest priced of these pools.

\n
\n
capacity-optimized
\n
\n

EC2 Fleet identifies the pools with \n the highest capacity availability for the number of instances that are launching. This means \n that we will request Spot Instances from the pools that we believe have the lowest chance of interruption \n in the near term. To give certain\n instance types a higher chance of launching first, use\n capacity-optimized-prioritized. Set a priority for each instance type by\n using the Priority parameter for LaunchTemplateOverrides. You can\n assign the same priority to different LaunchTemplateOverrides. EC2 implements\n the priorities on a best-effort basis, but optimizes for capacity first.\n capacity-optimized-prioritized is supported only if your EC2 Fleet uses a\n launch template. Note that if the On-Demand AllocationStrategy is set to\n prioritized, the same priority is applied when fulfilling On-Demand\n capacity.

\n
\n
diversified
\n
\n

EC2 Fleet requests instances from all of the Spot Instance pools that you\n specify.

\n
\n
lowest-price
\n
\n

EC2 Fleet requests instances from the lowest priced Spot Instance pool that\n has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances\n come from the next lowest priced pool that has available capacity. If a pool runs out of\n capacity before fulfilling your desired capacity, EC2 Fleet will continue to fulfill your\n request by drawing from the next lowest priced pool. To ensure that your desired capacity is\n met, you might receive Spot Instances from several pools. Because this strategy only considers instance \n price and not capacity availability, it might lead to high interruption rates.

\n
\n
\n

Default: lowest-price\n

", + "smithy.api#xmlName": "allocationStrategy" } }, - "StateMessage": { - "target": "com.amazonaws.ec2#String", + "MaintenanceStrategies": { + "target": "com.amazonaws.ec2#FleetSpotMaintenanceStrategies", "traits": { - "aws.protocols#ec2QueryName": "StatusMessage", - "smithy.api#documentation": "

Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy operation fails\n (for example, if the proper Key Management Service (KMS) permissions are not obtained) this field displays error\n state details to help you diagnose why the error occurred. This parameter is only returned by\n DescribeSnapshots.

", - "smithy.api#xmlName": "statusMessage" + "aws.protocols#ec2QueryName": "MaintenanceStrategies", + "smithy.api#documentation": "

The strategies for managing your workloads on your Spot Instances that will be\n interrupted. Currently only the capacity rebalance strategy is available.

", + "smithy.api#xmlName": "maintenanceStrategies" } }, - "VolumeId": { - "target": "com.amazonaws.ec2#String", + "InstanceInterruptionBehavior": { + "target": "com.amazonaws.ec2#SpotInstanceInterruptionBehavior", "traits": { - "aws.protocols#ec2QueryName": "VolumeId", - "smithy.api#documentation": "

The ID of the volume that was used to create the snapshot. Snapshots created by the CopySnapshot action have an arbitrary volume ID that should not be used for any\n purpose.

", - "smithy.api#xmlName": "volumeId" + "aws.protocols#ec2QueryName": "InstanceInterruptionBehavior", + "smithy.api#documentation": "

The behavior when a Spot Instance is interrupted.

\n

Default: terminate\n

", + "smithy.api#xmlName": "instanceInterruptionBehavior" } }, - "VolumeSize": { + "InstancePoolsToUseCount": { "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "VolumeSize", + "aws.protocols#ec2QueryName": "InstancePoolsToUseCount", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The size of the volume, in GiB.

", - "smithy.api#xmlName": "volumeSize" - } - }, - "OwnerAlias": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "OwnerAlias", - "smithy.api#documentation": "

The Amazon Web Services owner alias, from an Amazon-maintained list (amazon). This is not \n the user-configured Amazon Web Services account alias set using the IAM console.

", - "smithy.api#xmlName": "ownerAlias" + "smithy.api#documentation": "

The number of Spot pools across which to allocate your target Spot capacity. Supported\n only when AllocationStrategy is set to lowest-price. EC2 Fleet selects\n the cheapest Spot pools and evenly allocates your target Spot capacity across the number of\n Spot pools that you specify.

\n

Note that EC2 Fleet attempts to draw Spot Instances from the number of pools that you specify on a\n best effort basis. If a pool runs out of Spot capacity before fulfilling your target\n capacity, EC2 Fleet will continue to fulfill your request by drawing from the next cheapest\n pool. To ensure that your target capacity is met, you might receive Spot Instances from more than\n the number of pools that you specified. Similarly, if most of the pools have no Spot\n capacity, you might receive your full target capacity from fewer than the number of pools\n that you specified.

", + "smithy.api#xmlName": "instancePoolsToUseCount" } }, - "OutpostArn": { - "target": "com.amazonaws.ec2#String", + "SingleInstanceType": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "OutpostArn", - "smithy.api#documentation": "

The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the \n \t\tAmazon Elastic Compute Cloud User Guide.

", - "smithy.api#xmlName": "outpostArn" + "aws.protocols#ec2QueryName": "SingleInstanceType", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates that the fleet uses a single instance type to launch all Spot Instances in the\n fleet.

\n

Supported only for fleets of type instant.

", + "smithy.api#xmlName": "singleInstanceType" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "SingleAvailabilityZone": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags assigned to the snapshot.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "SingleAvailabilityZone", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates that the fleet launches all Spot Instances into a single Availability Zone.

\n

Supported only for fleets of type instant.

", + "smithy.api#xmlName": "singleAvailabilityZone" } }, - "StorageTier": { - "target": "com.amazonaws.ec2#StorageTier", + "MinTargetCapacity": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "StorageTier", - "smithy.api#documentation": "

The storage tier in which the snapshot is stored. standard indicates \n that the snapshot is stored in the standard snapshot storage tier and that it is ready \n for use. archive indicates that the snapshot is currently archived and that \n it must be restored before it can be used.

", - "smithy.api#xmlName": "storageTier" + "aws.protocols#ec2QueryName": "MinTargetCapacity", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is\n not reached, the fleet launches no instances.

\n

Supported only for fleets of type instant.

\n

At least one of the following must be specified: SingleAvailabilityZone |\n SingleInstanceType\n

", + "smithy.api#xmlName": "minTargetCapacity" } }, - "RestoreExpiryTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "MaxTotalPrice": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "RestoreExpiryTime", - "smithy.api#documentation": "

Only for archived snapshots that are temporarily restored. Indicates the date and \n time when a temporarily restored snapshot will be automatically re-archived.

", - "smithy.api#xmlName": "restoreExpiryTime" + "aws.protocols#ec2QueryName": "MaxTotalPrice", + "smithy.api#documentation": "

The maximum amount per hour for Spot Instances that you're willing to pay. We do not recommend\n using this parameter because it can lead to increased interruptions. If you do not specify\n this parameter, you will pay the current Spot price.

\n \n

If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter.

\n
", + "smithy.api#xmlName": "maxTotalPrice" } } }, "traits": { - "smithy.api#documentation": "

Describes a snapshot.

" + "smithy.api#documentation": "

Describes the configuration of Spot Instances in an EC2 Fleet.

" } }, - "com.amazonaws.ec2#SnapshotAttributeName": { - "type": "enum", + "com.amazonaws.ec2#SpotOptionsRequest": { + "type": "structure", "members": { - "productCodes": { - "target": "smithy.api#Unit", + "AllocationStrategy": { + "target": "com.amazonaws.ec2#SpotAllocationStrategy", "traits": { - "smithy.api#enumValue": "productCodes" + "smithy.api#documentation": "

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance\n pools specified by the EC2 Fleet launch configuration. For more information, see Allocation strategies for Spot Instances in the\n Amazon EC2 User Guide.

\n
\n
price-capacity-optimized (recommended)
\n
\n

EC2 Fleet identifies the pools with \n the highest capacity availability for the number of instances that are launching. This means \n that we will request Spot Instances from the pools that we believe have the lowest chance of interruption \n in the near term. EC2 Fleet then requests Spot Instances from the lowest priced of these pools.

\n
\n
capacity-optimized
\n
\n

EC2 Fleet identifies the pools with \n the highest capacity availability for the number of instances that are launching. This means \n that we will request Spot Instances from the pools that we believe have the lowest chance of interruption \n in the near term. To give certain\n instance types a higher chance of launching first, use\n capacity-optimized-prioritized. Set a priority for each instance type by\n using the Priority parameter for LaunchTemplateOverrides. You can\n assign the same priority to different LaunchTemplateOverrides. EC2 implements\n the priorities on a best-effort basis, but optimizes for capacity first.\n capacity-optimized-prioritized is supported only if your EC2 Fleet uses a\n launch template. Note that if the On-Demand AllocationStrategy is set to\n prioritized, the same priority is applied when fulfilling On-Demand\n capacity.

\n
\n
diversified
\n
\n

EC2 Fleet requests instances from all of the Spot Instance pools that you\n specify.

\n
\n
lowest-price
\n
\n

EC2 Fleet requests instances from the lowest priced Spot Instance pool that\n has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances\n come from the next lowest priced pool that has available capacity. If a pool runs out of\n capacity before fulfilling your desired capacity, EC2 Fleet will continue to fulfill your\n request by drawing from the next lowest priced pool. To ensure that your desired capacity is\n met, you might receive Spot Instances from several pools. Because this strategy only considers instance \n price and not capacity availability, it might lead to high interruption rates.

\n
\n
\n

Default: lowest-price\n

" } }, - "createVolumePermission": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "createVolumePermission" - } - } - } - }, - "com.amazonaws.ec2#SnapshotDetail": { - "type": "structure", - "members": { - "Description": { - "target": "com.amazonaws.ec2#String", + "MaintenanceStrategies": { + "target": "com.amazonaws.ec2#FleetSpotMaintenanceStrategiesRequest", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

A description for the snapshot.

", - "smithy.api#xmlName": "description" + "smithy.api#documentation": "

The strategies for managing your Spot Instances that are at an elevated risk of being\n interrupted.

" } }, - "DeviceName": { - "target": "com.amazonaws.ec2#String", + "InstanceInterruptionBehavior": { + "target": "com.amazonaws.ec2#SpotInstanceInterruptionBehavior", "traits": { - "aws.protocols#ec2QueryName": "DeviceName", - "smithy.api#documentation": "

The block device mapping for the snapshot.

", - "smithy.api#xmlName": "deviceName" + "smithy.api#documentation": "

The behavior when a Spot Instance is interrupted.

\n

Default: terminate\n

" } }, - "DiskImageSize": { - "target": "com.amazonaws.ec2#Double", + "InstancePoolsToUseCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "DiskImageSize", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The size of the disk in the snapshot, in GiB.

", - "smithy.api#xmlName": "diskImageSize" - } - }, - "Format": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "Format", - "smithy.api#documentation": "

The format of the disk image from which the snapshot is created.

", - "smithy.api#xmlName": "format" - } - }, - "Progress": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "Progress", - "smithy.api#documentation": "

The percentage of progress for the task.

", - "smithy.api#xmlName": "progress" + "smithy.api#documentation": "

The number of Spot pools across which to allocate your target Spot capacity. Supported\n only when Spot AllocationStrategy is set to lowest-price. EC2 Fleet\n selects the cheapest Spot pools and evenly allocates your target Spot capacity across the\n number of Spot pools that you specify.

\n

Note that EC2 Fleet attempts to draw Spot Instances from the number of pools that you specify on a\n best effort basis. If a pool runs out of Spot capacity before fulfilling your target\n capacity, EC2 Fleet will continue to fulfill your request by drawing from the next cheapest\n pool. To ensure that your target capacity is met, you might receive Spot Instances from more than\n the number of pools that you specified. Similarly, if most of the pools have no Spot\n capacity, you might receive your full target capacity from fewer than the number of pools\n that you specified.

" } }, - "SnapshotId": { - "target": "com.amazonaws.ec2#String", + "SingleInstanceType": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "SnapshotId", - "smithy.api#documentation": "

The snapshot ID of the disk being imported.

", - "smithy.api#xmlName": "snapshotId" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates that the fleet uses a single instance type to launch all Spot Instances in the\n fleet.

\n

Supported only for fleets of type instant.

" } }, - "Status": { - "target": "com.amazonaws.ec2#String", + "SingleAvailabilityZone": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

A brief status of the snapshot creation.

", - "smithy.api#xmlName": "status" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates that the fleet launches all Spot Instances into a single Availability Zone.

\n

Supported only for fleets of type instant.

" } }, - "StatusMessage": { - "target": "com.amazonaws.ec2#String", + "MinTargetCapacity": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "StatusMessage", - "smithy.api#documentation": "

A detailed status message for the snapshot creation.

", - "smithy.api#xmlName": "statusMessage" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is\n not reached, the fleet launches no instances.

\n

Supported only for fleets of type instant.

\n

At least one of the following must be specified: SingleAvailabilityZone |\n SingleInstanceType\n

" } }, - "Url": { + "MaxTotalPrice": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Url", - "smithy.api#documentation": "

The URL used to access the disk image.

", - "smithy.api#xmlName": "url" - } - }, - "UserBucket": { - "target": "com.amazonaws.ec2#UserBucketDetails", - "traits": { - "aws.protocols#ec2QueryName": "UserBucket", - "smithy.api#documentation": "

The Amazon S3 bucket for the disk image.

", - "smithy.api#xmlName": "userBucket" + "smithy.api#documentation": "

The maximum amount per hour for Spot Instances that you're willing to pay. We do not recommend\n using this parameter because it can lead to increased interruptions. If you do not specify\n this parameter, you will pay the current Spot price.

\n \n

If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter.

\n
" } } }, "traits": { - "smithy.api#documentation": "

Describes the snapshot created from the imported disk.

" - } - }, - "com.amazonaws.ec2#SnapshotDetailList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#SnapshotDetail", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

Describes the configuration of Spot Instances in an EC2 Fleet request.

" } }, - "com.amazonaws.ec2#SnapshotDiskContainer": { + "com.amazonaws.ec2#SpotPlacement": { "type": "structure", "members": { - "Description": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The description of the disk image being imported.

" - } - }, - "Format": { + "AvailabilityZone": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The format of the disk image being imported.

\n

Valid values: VHD | VMDK | RAW\n

" + "aws.protocols#ec2QueryName": "AvailabilityZone", + "smithy.api#documentation": "

The Availability Zone.

\n

[Spot Fleet only] To specify multiple Availability Zones, separate them using commas;\n for example, \"us-west-2a, us-west-2b\".

", + "smithy.api#xmlName": "availabilityZone" } }, - "Url": { - "target": "com.amazonaws.ec2#String", + "GroupName": { + "target": "com.amazonaws.ec2#PlacementGroupName", "traits": { - "smithy.api#documentation": "

The URL to the Amazon S3-based disk image being imported. It can either be a https URL (https://..) or an Amazon\n S3 URL (s3://..).

" + "aws.protocols#ec2QueryName": "GroupName", + "smithy.api#documentation": "

The name of the placement group.

", + "smithy.api#xmlName": "groupName" } }, - "UserBucket": { - "target": "com.amazonaws.ec2#UserBucket", + "Tenancy": { + "target": "com.amazonaws.ec2#Tenancy", "traits": { - "smithy.api#documentation": "

The Amazon S3 bucket for the disk image.

" + "aws.protocols#ec2QueryName": "Tenancy", + "smithy.api#documentation": "

The tenancy of the instance (if the instance is running in a VPC). An instance with a\n tenancy of dedicated runs on single-tenant hardware. The host\n tenancy is not supported for Spot Instances.

", + "smithy.api#xmlName": "tenancy" } } }, "traits": { - "smithy.api#documentation": "

The disk container object for the import snapshot request.

" - } - }, - "com.amazonaws.ec2#SnapshotId": { - "type": "string" - }, - "com.amazonaws.ec2#SnapshotIdStringList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#SnapshotId", - "traits": { - "smithy.api#xmlName": "SnapshotId" - } + "smithy.api#documentation": "

Describes Spot Instance placement.

" } }, - "com.amazonaws.ec2#SnapshotInfo": { + "com.amazonaws.ec2#SpotPlacementScore": { "type": "structure", "members": { - "Description": { + "Region": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

Description specified by the CreateSnapshotRequest that has been applied to all \n snapshots.

", - "smithy.api#xmlName": "description" - } - }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", - "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Tags associated with this snapshot.

", - "smithy.api#xmlName": "tagSet" - } - }, - "Encrypted": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "Encrypted", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the snapshot is encrypted.

", - "smithy.api#xmlName": "encrypted" + "aws.protocols#ec2QueryName": "Region", + "smithy.api#documentation": "

The Region.

", + "smithy.api#xmlName": "region" } }, - "VolumeId": { + "AvailabilityZoneId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "VolumeId", - "smithy.api#documentation": "

Source volume from which this snapshot was created.

", - "smithy.api#xmlName": "volumeId" - } - }, - "State": { - "target": "com.amazonaws.ec2#SnapshotState", - "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

Current state of the snapshot.

", - "smithy.api#xmlName": "state" + "aws.protocols#ec2QueryName": "AvailabilityZoneId", + "smithy.api#documentation": "

The Availability Zone.

", + "smithy.api#xmlName": "availabilityZoneId" } }, - "VolumeSize": { + "Score": { "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "VolumeSize", + "aws.protocols#ec2QueryName": "Score", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

Size of the volume from which this snapshot was created.

", - "smithy.api#xmlName": "volumeSize" - } - }, - "StartTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", - "traits": { - "aws.protocols#ec2QueryName": "StartTime", - "smithy.api#documentation": "

Time this snapshot was started. This is the same for all snapshots initiated by the\n same request.

", - "smithy.api#xmlName": "startTime" - } - }, - "Progress": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "Progress", - "smithy.api#documentation": "

Progress this snapshot has made towards completing.

", - "smithy.api#xmlName": "progress" - } - }, - "OwnerId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

Account id used when creating this snapshot.

", - "smithy.api#xmlName": "ownerId" - } - }, - "SnapshotId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "SnapshotId", - "smithy.api#documentation": "

Snapshot id that can be used to describe this snapshot.

", - "smithy.api#xmlName": "snapshotId" - } - }, - "OutpostArn": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "OutpostArn", - "smithy.api#documentation": "

The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the \n \t\tAmazon Elastic Compute Cloud User Guide.

", - "smithy.api#xmlName": "outpostArn" + "smithy.api#documentation": "

The placement score, on a scale from 1 to 10. A score of\n 10 indicates that your Spot request is highly likely to succeed in this\n Region or Availability Zone. A score of 1 indicates that your Spot request is\n not likely to succeed.

", + "smithy.api#xmlName": "score" } } }, "traits": { - "smithy.api#documentation": "

Information about a snapshot.

" + "smithy.api#documentation": "

The Spot placement score for this Region or Availability Zone. The score is calculated\n based on the assumption that the capacity-optimized allocation strategy is\n used and that all of the Availability Zones in the Region can be used.

" } }, - "com.amazonaws.ec2#SnapshotList": { + "com.amazonaws.ec2#SpotPlacementScores": { "type": "list", "member": { - "target": "com.amazonaws.ec2#Snapshot", + "target": "com.amazonaws.ec2#SpotPlacementScore", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#SnapshotRecycleBinInfo": { + "com.amazonaws.ec2#SpotPlacementScoresMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 10, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#SpotPlacementScoresTargetCapacity": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 1, + "max": 2000000000 + } + } + }, + "com.amazonaws.ec2#SpotPrice": { "type": "structure", "members": { - "SnapshotId": { + "AvailabilityZone": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SnapshotId", - "smithy.api#documentation": "

The ID of the snapshot.

", - "smithy.api#xmlName": "snapshotId" + "aws.protocols#ec2QueryName": "AvailabilityZone", + "smithy.api#documentation": "

The Availability Zone.

", + "smithy.api#xmlName": "availabilityZone" } }, - "RecycleBinEnterTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "InstanceType": { + "target": "com.amazonaws.ec2#InstanceType", "traits": { - "aws.protocols#ec2QueryName": "RecycleBinEnterTime", - "smithy.api#documentation": "

The date and time when the snaphsot entered the Recycle Bin.

", - "smithy.api#xmlName": "recycleBinEnterTime" + "aws.protocols#ec2QueryName": "InstanceType", + "smithy.api#documentation": "

The instance type.

", + "smithy.api#xmlName": "instanceType" } }, - "RecycleBinExitTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "ProductDescription": { + "target": "com.amazonaws.ec2#RIProductDescription", "traits": { - "aws.protocols#ec2QueryName": "RecycleBinExitTime", - "smithy.api#documentation": "

The date and time when the snapshot is to be permanently deleted from the Recycle Bin.

", - "smithy.api#xmlName": "recycleBinExitTime" + "aws.protocols#ec2QueryName": "ProductDescription", + "smithy.api#documentation": "

A general description of the AMI.

", + "smithy.api#xmlName": "productDescription" } }, - "Description": { + "SpotPrice": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

The description for the snapshot.

", - "smithy.api#xmlName": "description" + "aws.protocols#ec2QueryName": "SpotPrice", + "smithy.api#documentation": "

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend \n using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

\n \n

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

\n
", + "smithy.api#xmlName": "spotPrice" } }, - "VolumeId": { - "target": "com.amazonaws.ec2#String", + "Timestamp": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "VolumeId", - "smithy.api#documentation": "

The ID of the volume from which the snapshot was created.

", - "smithy.api#xmlName": "volumeId" + "aws.protocols#ec2QueryName": "Timestamp", + "smithy.api#documentation": "

The date and time the request was created, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).

", + "smithy.api#xmlName": "timestamp" } } }, "traits": { - "smithy.api#documentation": "

Information about a snapshot that is currently in the Recycle Bin.

" - } - }, - "com.amazonaws.ec2#SnapshotRecycleBinInfoList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#SnapshotRecycleBinInfo", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend \n using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

\n \n

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

\n
" } }, - "com.amazonaws.ec2#SnapshotSet": { + "com.amazonaws.ec2#SpotPriceHistoryList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#SnapshotInfo", + "target": "com.amazonaws.ec2#SpotPrice", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#SnapshotState": { + "com.amazonaws.ec2#SpreadLevel": { "type": "enum", "members": { - "pending": { + "host": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "pending" + "smithy.api#enumValue": "host" } }, - "completed": { + "rack": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "completed" + "smithy.api#enumValue": "rack" + } + } + } + }, + "com.amazonaws.ec2#StaleIpPermission": { + "type": "structure", + "members": { + "FromPort": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "FromPort", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The start of the port range for the TCP and UDP protocols, or an ICMP type number. A value of\n -1 indicates all ICMP types.

", + "smithy.api#xmlName": "fromPort" } }, - "error": { - "target": "smithy.api#Unit", + "IpProtocol": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "error" + "aws.protocols#ec2QueryName": "IpProtocol", + "smithy.api#documentation": "

The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers).

", + "smithy.api#xmlName": "ipProtocol" } }, - "recoverable": { - "target": "smithy.api#Unit", + "IpRanges": { + "target": "com.amazonaws.ec2#IpRanges", "traits": { - "smithy.api#enumValue": "recoverable" + "aws.protocols#ec2QueryName": "IpRanges", + "smithy.api#documentation": "

The IP ranges. Not applicable for stale security group rules.

", + "smithy.api#xmlName": "ipRanges" } }, - "recovering": { - "target": "smithy.api#Unit", + "PrefixListIds": { + "target": "com.amazonaws.ec2#PrefixListIdSet", "traits": { - "smithy.api#enumValue": "recovering" + "aws.protocols#ec2QueryName": "PrefixListIds", + "smithy.api#documentation": "

The prefix list IDs. Not applicable for stale security group rules.

", + "smithy.api#xmlName": "prefixListIds" + } + }, + "ToPort": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "ToPort", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The end of the port range for the TCP and UDP protocols, or an ICMP type number. A value of\n -1 indicates all ICMP types.

", + "smithy.api#xmlName": "toPort" + } + }, + "UserIdGroupPairs": { + "target": "com.amazonaws.ec2#UserIdGroupPairSet", + "traits": { + "aws.protocols#ec2QueryName": "Groups", + "smithy.api#documentation": "

The security group pairs. Returns the ID of the referenced security group and VPC, and the ID and status of the VPC peering connection.

", + "smithy.api#xmlName": "groups" } } + }, + "traits": { + "smithy.api#documentation": "

Describes a stale rule in a security group.

" } }, - "com.amazonaws.ec2#SnapshotTaskDetail": { + "com.amazonaws.ec2#StaleIpPermissionSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#StaleIpPermission", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#StaleSecurityGroup": { "type": "structure", "members": { "Description": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

The description of the snapshot.

", + "smithy.api#documentation": "

The description of the security group.

", "smithy.api#xmlName": "description" } }, - "DiskImageSize": { - "target": "com.amazonaws.ec2#Double", - "traits": { - "aws.protocols#ec2QueryName": "DiskImageSize", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The size of the disk in the snapshot, in GiB.

", - "smithy.api#xmlName": "diskImageSize" - } - }, - "Encrypted": { - "target": "com.amazonaws.ec2#Boolean", + "GroupId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Encrypted", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the snapshot is encrypted.

", - "smithy.api#xmlName": "encrypted" + "aws.protocols#ec2QueryName": "GroupId", + "smithy.api#documentation": "

The ID of the security group.

", + "smithy.api#xmlName": "groupId" } }, - "Format": { + "GroupName": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Format", - "smithy.api#documentation": "

The format of the disk image from which the snapshot is created.

", - "smithy.api#xmlName": "format" + "aws.protocols#ec2QueryName": "GroupName", + "smithy.api#documentation": "

The name of the security group.

", + "smithy.api#xmlName": "groupName" } }, - "KmsKeyId": { - "target": "com.amazonaws.ec2#String", + "StaleIpPermissions": { + "target": "com.amazonaws.ec2#StaleIpPermissionSet", "traits": { - "aws.protocols#ec2QueryName": "KmsKeyId", - "smithy.api#documentation": "

The identifier for the KMS key that was used to create the encrypted snapshot.

", - "smithy.api#xmlName": "kmsKeyId" + "aws.protocols#ec2QueryName": "StaleIpPermissions", + "smithy.api#documentation": "

Information about the stale inbound rules in the security group.

", + "smithy.api#xmlName": "staleIpPermissions" } }, - "Progress": { - "target": "com.amazonaws.ec2#String", + "StaleIpPermissionsEgress": { + "target": "com.amazonaws.ec2#StaleIpPermissionSet", "traits": { - "aws.protocols#ec2QueryName": "Progress", - "smithy.api#documentation": "

The percentage of completion for the import snapshot task.

", - "smithy.api#xmlName": "progress" + "aws.protocols#ec2QueryName": "StaleIpPermissionsEgress", + "smithy.api#documentation": "

Information about the stale outbound rules in the security group.

", + "smithy.api#xmlName": "staleIpPermissionsEgress" } }, - "SnapshotId": { + "VpcId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SnapshotId", - "smithy.api#documentation": "

The snapshot ID of the disk being imported.

", - "smithy.api#xmlName": "snapshotId" + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#documentation": "

The ID of the VPC for the security group.

", + "smithy.api#xmlName": "vpcId" } - }, - "Status": { - "target": "com.amazonaws.ec2#String", + } + }, + "traits": { + "smithy.api#documentation": "

Describes a stale security group (a security group that contains stale rules).

" + } + }, + "com.amazonaws.ec2#StaleSecurityGroupSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#StaleSecurityGroup", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#StartInstances": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#StartInstancesRequest" + }, + "output": { + "target": "com.amazonaws.ec2#StartInstancesResult" + }, + "traits": { + "smithy.api#documentation": "

Starts an Amazon EBS-backed instance that you've previously stopped.

\n

Instances that use Amazon EBS volumes as their root devices can be quickly stopped and\n started. When an instance is stopped, the compute resources are released and you are not\n billed for instance usage. However, your root partition Amazon EBS volume remains and\n continues to persist your data, and you are charged for Amazon EBS volume usage. You can\n restart your instance at any time. Every time you start your instance, Amazon EC2\n charges a one-minute minimum for instance usage, and thereafter charges per second for\n instance usage.

\n

Before stopping an instance, make sure it is in a state from which it can be\n restarted. Stopping an instance does not preserve data stored in RAM.

\n

Performing this operation on an instance that uses an instance store as its root\n device returns an error.

\n

If you attempt to start a T3 instance with host tenancy and the\n unlimted CPU credit option, the request fails. The\n unlimited CPU credit option is not supported on Dedicated Hosts. Before\n you start the instance, either change its CPU credit option to standard, or\n change its tenancy to default or dedicated.

\n

For more information, see Stop and start your instance\n in the Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#StartInstancesRequest": { + "type": "structure", + "members": { + "InstanceIds": { + "target": "com.amazonaws.ec2#InstanceIdStringList", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

A brief status for the import snapshot task.

", - "smithy.api#xmlName": "status" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The IDs of the instances.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "InstanceId" } }, - "StatusMessage": { + "AdditionalInfo": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "StatusMessage", - "smithy.api#documentation": "

A detailed status message for the import snapshot task.

", - "smithy.api#xmlName": "statusMessage" + "aws.protocols#ec2QueryName": "AdditionalInfo", + "smithy.api#documentation": "

Reserved.

", + "smithy.api#xmlName": "additionalInfo" } }, - "Url": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Url", - "smithy.api#documentation": "

The URL of the disk image from which the snapshot is created.

", - "smithy.api#xmlName": "url" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } - }, - "UserBucket": { - "target": "com.amazonaws.ec2#UserBucketDetails", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#StartInstancesResult": { + "type": "structure", + "members": { + "StartingInstances": { + "target": "com.amazonaws.ec2#InstanceStateChangeList", "traits": { - "aws.protocols#ec2QueryName": "UserBucket", - "smithy.api#documentation": "

The Amazon S3 bucket for the disk image.

", - "smithy.api#xmlName": "userBucket" + "aws.protocols#ec2QueryName": "InstancesSet", + "smithy.api#documentation": "

Information about the started instances.

", + "smithy.api#xmlName": "instancesSet" } } + } + }, + "com.amazonaws.ec2#StartNetworkInsightsAccessScopeAnalysis": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#StartNetworkInsightsAccessScopeAnalysisRequest" + }, + "output": { + "target": "com.amazonaws.ec2#StartNetworkInsightsAccessScopeAnalysisResult" }, "traits": { - "smithy.api#documentation": "

Details about the import snapshot task.

" + "smithy.api#documentation": "

Starts analyzing the specified Network Access Scope.

" } }, - "com.amazonaws.ec2#SnapshotTierStatus": { + "com.amazonaws.ec2#StartNetworkInsightsAccessScopeAnalysisRequest": { "type": "structure", "members": { - "SnapshotId": { - "target": "com.amazonaws.ec2#SnapshotId", + "NetworkInsightsAccessScopeId": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeId", "traits": { - "aws.protocols#ec2QueryName": "SnapshotId", - "smithy.api#documentation": "

The ID of the snapshot.

", - "smithy.api#xmlName": "snapshotId" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Network Access Scope.

", + "smithy.api#required": {} } }, - "VolumeId": { - "target": "com.amazonaws.ec2#VolumeId", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "VolumeId", - "smithy.api#documentation": "

The ID of the volume from which the snapshot was created.

", - "smithy.api#xmlName": "volumeId" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "Status": { - "target": "com.amazonaws.ec2#SnapshotState", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The state of the snapshot.

", - "smithy.api#xmlName": "status" + "smithy.api#documentation": "

The tags to apply.

", + "smithy.api#xmlName": "TagSpecification" } }, - "OwnerId": { + "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the snapshot.

", - "smithy.api#xmlName": "ownerId" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, \n see How to ensure idempotency.

", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} } - }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#StartNetworkInsightsAccessScopeAnalysisResult": { + "type": "structure", + "members": { + "NetworkInsightsAccessScopeAnalysis": { + "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysis", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags that are assigned to the snapshot.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeAnalysis", + "smithy.api#documentation": "

The Network Access Scope analysis.

", + "smithy.api#xmlName": "networkInsightsAccessScopeAnalysis" + } + } + } + }, + "com.amazonaws.ec2#StartNetworkInsightsAnalysis": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#StartNetworkInsightsAnalysisRequest" + }, + "output": { + "target": "com.amazonaws.ec2#StartNetworkInsightsAnalysisResult" + }, + "traits": { + "smithy.api#documentation": "

Starts analyzing the specified path. If the path is reachable, the\n operation returns the shortest feasible path.

" + } + }, + "com.amazonaws.ec2#StartNetworkInsightsAnalysisRequest": { + "type": "structure", + "members": { + "NetworkInsightsPathId": { + "target": "com.amazonaws.ec2#NetworkInsightsPathId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the path.

", + "smithy.api#required": {} } }, - "StorageTier": { - "target": "com.amazonaws.ec2#StorageTier", + "AdditionalAccounts": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "aws.protocols#ec2QueryName": "StorageTier", - "smithy.api#documentation": "

The storage tier in which the snapshot is stored. standard indicates \n that the snapshot is stored in the standard snapshot storage tier and that it is ready \n for use. archive indicates that the snapshot is currently archived and that \n it must be restored before it can be used.

", - "smithy.api#xmlName": "storageTier" + "smithy.api#documentation": "

The member accounts that contain resources that the path can traverse.

", + "smithy.api#xmlName": "AdditionalAccount" } }, - "LastTieringStartTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "FilterInArns": { + "target": "com.amazonaws.ec2#ArnList", "traits": { - "aws.protocols#ec2QueryName": "LastTieringStartTime", - "smithy.api#documentation": "

The date and time when the last archive or restore process was started.

", - "smithy.api#xmlName": "lastTieringStartTime" + "smithy.api#documentation": "

The Amazon Resource Names (ARN) of the resources that the path must traverse.

", + "smithy.api#xmlName": "FilterInArn" } }, - "LastTieringProgress": { - "target": "com.amazonaws.ec2#Integer", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "LastTieringProgress", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The progress of the last archive or restore process, as a percentage.

", - "smithy.api#xmlName": "lastTieringProgress" + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "LastTieringOperationStatus": { - "target": "com.amazonaws.ec2#TieringOperationStatus", + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "aws.protocols#ec2QueryName": "LastTieringOperationStatus", - "smithy.api#documentation": "

The status of the last archive or restore process.

", - "smithy.api#xmlName": "lastTieringOperationStatus" + "smithy.api#documentation": "

The tags to apply.

", + "smithy.api#xmlName": "TagSpecification" } }, - "LastTieringOperationStatusDetail": { + "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "LastTieringOperationStatusDetail", - "smithy.api#documentation": "

A message describing the status of the last archive or restore process.

", - "smithy.api#xmlName": "lastTieringOperationStatusDetail" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, \n see How to ensure idempotency.

", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} } - }, - "ArchivalCompleteTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#StartNetworkInsightsAnalysisResult": { + "type": "structure", + "members": { + "NetworkInsightsAnalysis": { + "target": "com.amazonaws.ec2#NetworkInsightsAnalysis", "traits": { - "aws.protocols#ec2QueryName": "ArchivalCompleteTime", - "smithy.api#documentation": "

The date and time when the last archive process was completed.

", - "smithy.api#xmlName": "archivalCompleteTime" + "aws.protocols#ec2QueryName": "NetworkInsightsAnalysis", + "smithy.api#documentation": "

Information about the network insights analysis.

", + "smithy.api#xmlName": "networkInsightsAnalysis" + } + } + } + }, + "com.amazonaws.ec2#StartVpcEndpointServicePrivateDnsVerification": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#StartVpcEndpointServicePrivateDnsVerificationRequest" + }, + "output": { + "target": "com.amazonaws.ec2#StartVpcEndpointServicePrivateDnsVerificationResult" + }, + "traits": { + "smithy.api#documentation": "

Initiates the verification process to prove that the service provider owns the private\n DNS name domain for the endpoint service.

\n

The service provider must successfully perform the verification before the consumer can use the name to access the service.

\n

Before the service provider runs this command, they must add a record to the DNS server.

" + } + }, + "com.amazonaws.ec2#StartVpcEndpointServicePrivateDnsVerificationRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "RestoreExpiryTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "ServiceId": { + "target": "com.amazonaws.ec2#VpcEndpointServiceId", "traits": { - "aws.protocols#ec2QueryName": "RestoreExpiryTime", - "smithy.api#documentation": "

Only for archived snapshots that are temporarily restored. Indicates the date and \n time when a temporarily restored snapshot will be automatically re-archived.

", - "smithy.api#xmlName": "restoreExpiryTime" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the endpoint service.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#StartVpcEndpointServicePrivateDnsVerificationResult": { + "type": "structure", + "members": { + "ReturnValue": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "smithy.api#xmlName": "return" } } - }, - "traits": { - "smithy.api#documentation": "

Provides information about a snapshot's storage tier.

" } }, - "com.amazonaws.ec2#SpotAllocationStrategy": { + "com.amazonaws.ec2#State": { "type": "enum", "members": { - "LOWEST_PRICE": { + "PendingAcceptance": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "lowest-price" + "smithy.api#enumValue": "PendingAcceptance" } }, - "DIVERSIFIED": { + "Pending": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "diversified" + "smithy.api#enumValue": "Pending" } }, - "CAPACITY_OPTIMIZED": { + "Available": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "capacity-optimized" + "smithy.api#enumValue": "Available" } }, - "CAPACITY_OPTIMIZED_PRIORITIZED": { + "Deleting": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "capacity-optimized-prioritized" - } - } - } - }, - "com.amazonaws.ec2#SpotCapacityRebalance": { - "type": "structure", - "members": { - "ReplacementStrategy": { - "target": "com.amazonaws.ec2#ReplacementStrategy", - "traits": { - "aws.protocols#ec2QueryName": "ReplacementStrategy", - "smithy.api#documentation": "

The replacement strategy to use. Only available for fleets of type\n maintain.

\n

\n launch - Spot Fleet launches a new replacement Spot Instance when a\n rebalance notification is emitted for an existing Spot Instance in the fleet. Spot Fleet\n does not terminate the instances that receive a rebalance notification. You can\n terminate the old instances, or you can leave them running. You are charged for all\n instances while they are running.

\n

\n launch-before-terminate - Spot Fleet launches a new replacement Spot\n Instance when a rebalance notification is emitted for an existing Spot Instance in the\n fleet, and then, after a delay that you specify (in TerminationDelay),\n terminates the instances that received a rebalance notification.

", - "smithy.api#xmlName": "replacementStrategy" - } - }, - "TerminationDelay": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "aws.protocols#ec2QueryName": "TerminationDelay", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot\n Instance after launching a new replacement Spot Instance.

\n

Required when ReplacementStrategy is set to launch-before-terminate.

\n

Not valid when ReplacementStrategy is set to launch.

\n

Valid values: Minimum value of 120 seconds. Maximum value of 7200 seconds.

", - "smithy.api#xmlName": "terminationDelay" - } - } - }, - "traits": { - "smithy.api#documentation": "

The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your\n Spot Instance is at an elevated risk of being interrupted. For more information, see\n Capacity rebalancing in the Amazon EC2 User Guide for Linux Instances.

" - } - }, - "com.amazonaws.ec2#SpotDatafeedSubscription": { - "type": "structure", - "members": { - "Bucket": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "Bucket", - "smithy.api#documentation": "

The name of the Amazon S3 bucket where the Spot Instance data feed is located.

", - "smithy.api#xmlName": "bucket" + "smithy.api#enumValue": "Deleting" } }, - "Fault": { - "target": "com.amazonaws.ec2#SpotInstanceStateFault", + "Deleted": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Fault", - "smithy.api#documentation": "

The fault codes for the Spot Instance request, if any.

", - "smithy.api#xmlName": "fault" + "smithy.api#enumValue": "Deleted" } }, - "OwnerId": { - "target": "com.amazonaws.ec2#String", + "Rejected": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The Amazon Web Services account ID of the account.

", - "smithy.api#xmlName": "ownerId" + "smithy.api#enumValue": "Rejected" } }, - "Prefix": { - "target": "com.amazonaws.ec2#String", + "Failed": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Prefix", - "smithy.api#documentation": "

The prefix for the data feed files.

", - "smithy.api#xmlName": "prefix" + "smithy.api#enumValue": "Failed" } }, - "State": { - "target": "com.amazonaws.ec2#DatafeedSubscriptionState", + "Expired": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the Spot Instance data feed subscription.

", - "smithy.api#xmlName": "state" + "smithy.api#enumValue": "Expired" } } - }, - "traits": { - "smithy.api#documentation": "

Describes the data feed for a Spot Instance.

" } }, - "com.amazonaws.ec2#SpotFleetLaunchSpecification": { + "com.amazonaws.ec2#StateReason": { "type": "structure", "members": { - "SecurityGroups": { - "target": "com.amazonaws.ec2#GroupIdentifierList", - "traits": { - "aws.protocols#ec2QueryName": "GroupSet", - "smithy.api#documentation": "

One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.

", - "smithy.api#xmlName": "groupSet" - } - }, - "AddressingType": { + "Code": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AddressingType", - "smithy.api#documentation": "

Deprecated.

", - "smithy.api#xmlName": "addressingType" - } - }, - "BlockDeviceMappings": { - "target": "com.amazonaws.ec2#BlockDeviceMappingList", - "traits": { - "aws.protocols#ec2QueryName": "BlockDeviceMapping", - "smithy.api#documentation": "

One or more block devices that are mapped to the Spot Instances. You can't specify both\n a snapshot ID and an encryption value. This is because only blank volumes can be\n encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its\n encryption status is used for the volume encryption status.

", - "smithy.api#xmlName": "blockDeviceMapping" + "aws.protocols#ec2QueryName": "Code", + "smithy.api#documentation": "

The reason code for the state change.

", + "smithy.api#xmlName": "code" } }, - "EbsOptimized": { - "target": "com.amazonaws.ec2#Boolean", + "Message": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "EbsOptimized", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the instances are optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

\n

Default: false\n

", - "smithy.api#xmlName": "ebsOptimized" + "aws.protocols#ec2QueryName": "Message", + "smithy.api#documentation": "

The message for the state change.

\n
    \n
  • \n

    \n Server.InsufficientInstanceCapacity: There was insufficient\n capacity available to satisfy the launch request.

    \n
  • \n
  • \n

    \n Server.InternalError: An internal error caused the instance to\n terminate during launch.

    \n
  • \n
  • \n

    \n Server.ScheduledStop: The instance was stopped due to a scheduled\n retirement.

    \n
  • \n
  • \n

    \n Server.SpotInstanceShutdown: The instance was stopped because the\n number of Spot requests with a maximum price equal to or higher than the Spot\n price exceeded available capacity or because of an increase in the Spot\n price.

    \n
  • \n
  • \n

    \n Server.SpotInstanceTermination: The instance was terminated\n because the number of Spot requests with a maximum price equal to or higher than\n the Spot price exceeded available capacity or because of an increase in the Spot\n price.

    \n
  • \n
  • \n

    \n Client.InstanceInitiatedShutdown: The instance was shut down\n using the shutdown -h command from the instance.

    \n
  • \n
  • \n

    \n Client.InstanceTerminated: The instance was terminated or\n rebooted during AMI creation.

    \n
  • \n
  • \n

    \n Client.InternalError: A client error caused the instance to\n terminate during launch.

    \n
  • \n
  • \n

    \n Client.InvalidSnapshot.NotFound: The specified snapshot was not\n found.

    \n
  • \n
  • \n

    \n Client.UserInitiatedHibernate: Hibernation was initiated on the\n instance.

    \n
  • \n
  • \n

    \n Client.UserInitiatedShutdown: The instance was shut down using\n the Amazon EC2 API.

    \n
  • \n
  • \n

    \n Client.VolumeLimitExceeded: The limit on the number of EBS\n volumes or total storage was exceeded. Decrease usage or request an increase in\n your account limits.

    \n
  • \n
", + "smithy.api#xmlName": "message" } - }, - "IamInstanceProfile": { - "target": "com.amazonaws.ec2#IamInstanceProfileSpecification", + } + }, + "traits": { + "smithy.api#documentation": "

Describes a state change.

" + } + }, + "com.amazonaws.ec2#StaticSourcesSupportValue": { + "type": "enum", + "members": { + "enable": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "IamInstanceProfile", - "smithy.api#documentation": "

The IAM instance profile.

", - "smithy.api#xmlName": "iamInstanceProfile" + "smithy.api#enumValue": "enable" } }, - "ImageId": { - "target": "com.amazonaws.ec2#ImageId", + "disable": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ImageId", - "smithy.api#documentation": "

The ID of the AMI.

", - "smithy.api#xmlName": "imageId" + "smithy.api#enumValue": "disable" } - }, - "InstanceType": { - "target": "com.amazonaws.ec2#InstanceType", + } + } + }, + "com.amazonaws.ec2#StatisticType": { + "type": "enum", + "members": { + "p50": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InstanceType", - "smithy.api#documentation": "

The instance type.

", - "smithy.api#xmlName": "instanceType" + "smithy.api#enumValue": "p50" } - }, - "KernelId": { - "target": "com.amazonaws.ec2#String", + } + } + }, + "com.amazonaws.ec2#Status": { + "type": "enum", + "members": { + "moveInProgress": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "KernelId", - "smithy.api#documentation": "

The ID of the kernel.

", - "smithy.api#xmlName": "kernelId" + "smithy.api#enumValue": "MoveInProgress" } }, - "KeyName": { - "target": "com.amazonaws.ec2#KeyPairName", + "inVpc": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "KeyName", - "smithy.api#documentation": "

The name of the key pair.

", - "smithy.api#xmlName": "keyName" + "smithy.api#enumValue": "InVpc" } }, - "Monitoring": { - "target": "com.amazonaws.ec2#SpotFleetMonitoring", + "inClassic": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Monitoring", - "smithy.api#documentation": "

Enable or disable monitoring for the instances.

", - "smithy.api#xmlName": "monitoring" + "smithy.api#enumValue": "InClassic" } - }, - "NetworkInterfaces": { - "target": "com.amazonaws.ec2#InstanceNetworkInterfaceSpecificationList", + } + } + }, + "com.amazonaws.ec2#StatusName": { + "type": "enum", + "members": { + "reachability": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceSet", - "smithy.api#documentation": "

One or more network interfaces. If you specify a network interface, you must specify \n subnet IDs and security group IDs using the network interface.

\n \n

\n SpotFleetLaunchSpecification currently does not support Elastic Fabric Adapter (EFA). To specify an EFA, you must use LaunchTemplateConfig.

\n
", - "smithy.api#xmlName": "networkInterfaceSet" + "smithy.api#enumValue": "reachability" } - }, - "Placement": { - "target": "com.amazonaws.ec2#SpotPlacement", + } + } + }, + "com.amazonaws.ec2#StatusType": { + "type": "enum", + "members": { + "passed": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Placement", - "smithy.api#documentation": "

The placement information.

", - "smithy.api#xmlName": "placement" + "smithy.api#enumValue": "passed" } }, - "RamdiskId": { - "target": "com.amazonaws.ec2#String", + "failed": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "RamdiskId", - "smithy.api#documentation": "

The ID of the RAM disk. Some kernels require additional drivers at launch. Check the kernel \n requirements for information about whether you need to specify a RAM disk. To find kernel \n requirements, refer to the Amazon Web Services Resource Center and search for the kernel ID.

", - "smithy.api#xmlName": "ramdiskId" + "smithy.api#enumValue": "failed" } }, - "SpotPrice": { - "target": "com.amazonaws.ec2#String", + "insufficient_data": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SpotPrice", - "smithy.api#documentation": "

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to \n increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

\n \n

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

\n
", - "smithy.api#xmlName": "spotPrice" + "smithy.api#enumValue": "insufficient-data" } }, - "SubnetId": { - "target": "com.amazonaws.ec2#SubnetId", + "initializing": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SubnetId", - "smithy.api#documentation": "

The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate\n them using commas; for example, \"subnet-1234abcdeexample1, subnet-0987cdef6example2\".

", - "smithy.api#xmlName": "subnetId" + "smithy.api#enumValue": "initializing" } - }, - "UserData": { - "target": "com.amazonaws.ec2#String", + } + } + }, + "com.amazonaws.ec2#StopInstances": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#StopInstancesRequest" + }, + "output": { + "target": "com.amazonaws.ec2#StopInstancesResult" + }, + "traits": { + "smithy.api#documentation": "

Stops an Amazon EBS-backed instance. For more information, see Stop and start\n your instance in the Amazon EC2 User Guide.

\n

You can use the Stop action to hibernate an instance if the instance is enabled for\n hibernation and it meets the hibernation\n prerequisites. For more information, see Hibernate your instance in the\n Amazon EC2 User Guide.

\n

We don't charge usage for a stopped instance, or data transfer fees; however, your\n root partition Amazon EBS volume remains and continues to persist your data, and you are\n charged for Amazon EBS volume usage. Every time you start your instance, Amazon EC2\n charges a one-minute minimum for instance usage, and thereafter charges per second for\n instance usage.

\n

You can't stop or hibernate instance store-backed instances. You can't use the Stop\n action to hibernate Spot Instances, but you can specify that Amazon EC2 should hibernate\n Spot Instances when they are interrupted. For more information, see Hibernating interrupted Spot Instances in the\n Amazon EC2 User Guide.

\n

When you stop or hibernate an instance, we shut it down. You can restart your instance\n at any time. Before stopping or hibernating an instance, make sure it is in a state from\n which it can be restarted. Stopping an instance does not preserve data stored in RAM,\n but hibernating an instance does preserve data stored in RAM. If an instance cannot\n hibernate successfully, a normal shutdown occurs.

\n

Stopping and hibernating an instance is different to rebooting or terminating it. For\n example, when you stop or hibernate an instance, the root device and any other devices\n attached to the instance persist. When you terminate an instance, the root device and\n any other devices attached during the instance launch are automatically deleted. For\n more information about the differences between rebooting, stopping, hibernating, and\n terminating instances, see Instance lifecycle\n in the Amazon EC2 User Guide.

\n

When you stop an instance, we attempt to shut it down forcibly after a short while. If\n your instance appears stuck in the stopping state after a period of time, there may be\n an issue with the underlying host computer. For more information, see Troubleshoot\n stopping your instance in the Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#StopInstancesRequest": { + "type": "structure", + "members": { + "InstanceIds": { + "target": "com.amazonaws.ec2#InstanceIdStringList", "traits": { - "aws.protocols#ec2QueryName": "UserData", - "smithy.api#documentation": "

The Base64-encoded user data that instances use when starting up.

", - "smithy.api#xmlName": "userData" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The IDs of the instances.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "InstanceId" } }, - "WeightedCapacity": { - "target": "com.amazonaws.ec2#Double", + "Hibernate": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "WeightedCapacity", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

\n

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

", - "smithy.api#xmlName": "weightedCapacity" + "smithy.api#default": false, + "smithy.api#documentation": "

Hibernates the instance if the instance was enabled for hibernation at launch. If the\n instance cannot hibernate successfully, a normal shutdown occurs. For more information,\n see Hibernate\n your instance in the Amazon EC2 User Guide.

\n

Default: false\n

" } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#SpotFleetTagSpecificationList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "TagSpecificationSet", - "smithy.api#documentation": "

The tags to apply during creation.

", - "smithy.api#xmlName": "tagSpecificationSet" + "aws.protocols#ec2QueryName": "DryRun", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } }, - "InstanceRequirements": { - "target": "com.amazonaws.ec2#InstanceRequirements", + "Force": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "InstanceRequirements", - "smithy.api#documentation": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with those attributes.

\n \n

If you specify InstanceRequirements, you can't specify\n InstanceType.

\n
", - "smithy.api#xmlName": "instanceRequirements" + "aws.protocols#ec2QueryName": "Force", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Forces the instances to stop. The instances do not have an opportunity to flush file\n system caches or file system metadata. If you use this option, you must perform file\n system check and repair procedures. This option is not recommended for Windows\n instances.

\n

Default: false\n

", + "smithy.api#xmlName": "force" } } }, "traits": { - "smithy.api#documentation": "

Describes the launch specification for one or more Spot Instances. If you include\n On-Demand capacity in your fleet request or want to specify an EFA network device, you\n can't use SpotFleetLaunchSpecification; you must use LaunchTemplateConfig.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#SpotFleetMonitoring": { + "com.amazonaws.ec2#StopInstancesResult": { "type": "structure", "members": { - "Enabled": { - "target": "com.amazonaws.ec2#Boolean", + "StoppingInstances": { + "target": "com.amazonaws.ec2#InstanceStateChangeList", "traits": { - "aws.protocols#ec2QueryName": "Enabled", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Enables monitoring for the instance.

\n

Default: false\n

", - "smithy.api#xmlName": "enabled" + "aws.protocols#ec2QueryName": "InstancesSet", + "smithy.api#documentation": "

Information about the stopped instances.

", + "smithy.api#xmlName": "instancesSet" } } - }, - "traits": { - "smithy.api#documentation": "

Describes whether monitoring is enabled.

" } }, - "com.amazonaws.ec2#SpotFleetRequestConfig": { + "com.amazonaws.ec2#Storage": { "type": "structure", "members": { - "ActivityStatus": { - "target": "com.amazonaws.ec2#ActivityStatus", - "traits": { - "aws.protocols#ec2QueryName": "ActivityStatus", - "smithy.api#documentation": "

The progress of the Spot Fleet request. \n If there is an error, the status is error.\n After all requests are placed, the status is pending_fulfillment.\n If the size of the fleet is equal to or greater than its target capacity, the status is fulfilled.\n If the size of the fleet is decreased, the status is pending_termination\n while Spot Instances are terminating.

", - "smithy.api#xmlName": "activityStatus" - } - }, - "CreateTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", + "S3": { + "target": "com.amazonaws.ec2#S3Storage", "traits": { - "aws.protocols#ec2QueryName": "CreateTime", - "smithy.api#documentation": "

The creation date and time of the request.

", - "smithy.api#xmlName": "createTime" + "smithy.api#documentation": "

An Amazon S3 storage location.

", + "smithy.api#xmlName": "S3" } - }, - "SpotFleetRequestConfig": { - "target": "com.amazonaws.ec2#SpotFleetRequestConfigData", + } + }, + "traits": { + "smithy.api#documentation": "

Describes the storage location for an instance store-backed AMI.

" + } + }, + "com.amazonaws.ec2#StorageLocation": { + "type": "structure", + "members": { + "Bucket": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SpotFleetRequestConfig", - "smithy.api#documentation": "

The configuration of the Spot Fleet request.

", - "smithy.api#xmlName": "spotFleetRequestConfig" + "smithy.api#documentation": "

The name of the S3 bucket.

" } }, - "SpotFleetRequestId": { + "Key": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SpotFleetRequestId", - "smithy.api#documentation": "

The ID of the Spot Fleet request.

", - "smithy.api#xmlName": "spotFleetRequestId" + "smithy.api#documentation": "

The key.

" } - }, - "SpotFleetRequestState": { - "target": "com.amazonaws.ec2#BatchState", + } + }, + "traits": { + "smithy.api#documentation": "

Describes a storage location in Amazon S3.

" + } + }, + "com.amazonaws.ec2#StorageTier": { + "type": "enum", + "members": { + "archive": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SpotFleetRequestState", - "smithy.api#documentation": "

The state of the Spot Fleet request.

", - "smithy.api#xmlName": "spotFleetRequestState" + "smithy.api#enumValue": "archive" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "standard": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags for a Spot Fleet resource.

", - "smithy.api#xmlName": "tagSet" + "smithy.api#enumValue": "standard" } } - }, - "traits": { - "smithy.api#documentation": "

Describes a Spot Fleet request.

" } }, - "com.amazonaws.ec2#SpotFleetRequestConfigData": { + "com.amazonaws.ec2#StoreImageTaskResult": { "type": "structure", "members": { - "AllocationStrategy": { - "target": "com.amazonaws.ec2#AllocationStrategy", + "AmiId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AllocationStrategy", - "smithy.api#documentation": "

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance\n pools specified by the Spot Fleet launch configuration. For more information, see Allocation\n strategies for Spot Instances in the Amazon EC2 User Guide.

\n

\n lowestPrice - Spot Fleet launches instances from the lowest-price Spot Instance pool\n that has available capacity. If the cheapest pool doesn't have available capacity, the\n Spot Instances come from the next cheapest pool that has available capacity. If a pool runs out\n of capacity before fulfilling your desired capacity, Spot Fleet will continue to fulfill your\n request by drawing from the next cheapest pool. To ensure that your desired capacity is\n met, you might receive Spot Instances from several pools.

\n

\n diversified - Spot Fleet launches instances from all of the Spot Instance pools that you\n specify.

\n

\n capacityOptimized (recommended) - Spot Fleet launches instances from Spot Instance pools\n with optimal capacity for the number of instances that are launching. To give certain\n instance types a higher chance of launching first, use\n capacityOptimizedPrioritized. Set a priority for each instance type by\n using the Priority parameter for LaunchTemplateOverrides. You can\n assign the same priority to different LaunchTemplateOverrides. EC2 implements\n the priorities on a best-effort basis, but optimizes for capacity first.\n capacityOptimizedPrioritized is supported only if your Spot Fleet uses a\n launch template. Note that if the OnDemandAllocationStrategy is set to\n prioritized, the same priority is applied when fulfilling On-Demand\n capacity.

\n

Default: lowestPrice\n

", - "smithy.api#xmlName": "allocationStrategy" + "aws.protocols#ec2QueryName": "AmiId", + "smithy.api#documentation": "

The ID of the AMI that is being stored.

", + "smithy.api#xmlName": "amiId" } }, - "OnDemandAllocationStrategy": { - "target": "com.amazonaws.ec2#OnDemandAllocationStrategy", + "TaskStartTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { - "aws.protocols#ec2QueryName": "OnDemandAllocationStrategy", - "smithy.api#documentation": "

The order of the launch template overrides to use in fulfilling On-Demand capacity. If\n you specify lowestPrice, Spot Fleet uses price to determine the order, launching\n the lowest price first. If you specify prioritized, Spot Fleet uses the priority\n that you assign to each Spot Fleet launch template override, launching the highest priority\n first. If you do not specify a value, Spot Fleet defaults to lowestPrice.

", - "smithy.api#xmlName": "onDemandAllocationStrategy" + "aws.protocols#ec2QueryName": "TaskStartTime", + "smithy.api#documentation": "

The time the task started.

", + "smithy.api#xmlName": "taskStartTime" } }, - "SpotMaintenanceStrategies": { - "target": "com.amazonaws.ec2#SpotMaintenanceStrategies", + "Bucket": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SpotMaintenanceStrategies", - "smithy.api#documentation": "

The strategies for managing your Spot Instances that are at an elevated risk of being\n interrupted.

", - "smithy.api#xmlName": "spotMaintenanceStrategies" + "aws.protocols#ec2QueryName": "Bucket", + "smithy.api#documentation": "

The name of the Amazon S3 bucket that contains the stored AMI object.

", + "smithy.api#xmlName": "bucket" } }, - "ClientToken": { + "S3objectKey": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ClientToken", - "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of your\n listings. This helps to avoid duplicate listings. For more information, see Ensuring Idempotency.

", - "smithy.api#xmlName": "clientToken" + "aws.protocols#ec2QueryName": "S3objectKey", + "smithy.api#documentation": "

The name of the stored AMI object in the bucket.

", + "smithy.api#xmlName": "s3objectKey" } }, - "ExcessCapacityTerminationPolicy": { - "target": "com.amazonaws.ec2#ExcessCapacityTerminationPolicy", + "ProgressPercentage": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "ExcessCapacityTerminationPolicy", - "smithy.api#documentation": "

Indicates whether running Spot Instances should be terminated if you decrease the\n target capacity of the Spot Fleet request below the current size of the Spot\n Fleet.

", - "smithy.api#xmlName": "excessCapacityTerminationPolicy" + "aws.protocols#ec2QueryName": "ProgressPercentage", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The progress of the task as a percentage.

", + "smithy.api#xmlName": "progressPercentage" } }, - "FulfilledCapacity": { - "target": "com.amazonaws.ec2#Double", + "StoreTaskState": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "FulfilledCapacity", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of units fulfilled by this request compared to the set target capacity. You\n cannot set this value.

", - "smithy.api#xmlName": "fulfilledCapacity" + "aws.protocols#ec2QueryName": "StoreTaskState", + "smithy.api#documentation": "

The state of the store task (InProgress, Completed, or\n Failed).

", + "smithy.api#xmlName": "storeTaskState" } }, - "OnDemandFulfilledCapacity": { - "target": "com.amazonaws.ec2#Double", + "StoreTaskFailureReason": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "StoreTaskFailureReason", + "smithy.api#documentation": "

If the tasks fails, the reason for the failure is returned. If the task succeeds,\n null is returned.

", + "smithy.api#xmlName": "storeTaskFailureReason" + } + } + }, + "traits": { + "smithy.api#documentation": "

The information about the AMI store task, including the progress of the task.

" + } + }, + "com.amazonaws.ec2#StoreImageTaskResultSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#StoreImageTaskResult", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#String": { + "type": "string" + }, + "com.amazonaws.ec2#StringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#StringType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 64000 + } + } + }, + "com.amazonaws.ec2#Subnet": { + "type": "structure", + "members": { + "AvailabilityZone": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "OnDemandFulfilledCapacity", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of On-Demand units fulfilled by this request compared to the set target\n On-Demand capacity.

", - "smithy.api#xmlName": "onDemandFulfilledCapacity" + "aws.protocols#ec2QueryName": "AvailabilityZone", + "smithy.api#documentation": "

The Availability Zone of the subnet.

", + "smithy.api#xmlName": "availabilityZone" } }, - "IamFleetRole": { + "AvailabilityZoneId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "IamFleetRole", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role that\n grants the Spot Fleet the permission to request, launch, terminate, and tag instances on\n your behalf. For more information, see Spot\n Fleet prerequisites in the Amazon EC2 User Guide. Spot Fleet\n can terminate Spot Instances on your behalf when you cancel its Spot Fleet request using\n CancelSpotFleetRequests or when the Spot Fleet request expires, if you set\n TerminateInstancesWithExpiration.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "iamFleetRole" + "aws.protocols#ec2QueryName": "AvailabilityZoneId", + "smithy.api#documentation": "

The AZ ID of the subnet.

", + "smithy.api#xmlName": "availabilityZoneId" } }, - "LaunchSpecifications": { - "target": "com.amazonaws.ec2#LaunchSpecsList", + "AvailableIpAddressCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "LaunchSpecifications", - "smithy.api#documentation": "

The launch specifications for the Spot Fleet request. If you specify\n LaunchSpecifications, you can't specify\n LaunchTemplateConfigs. If you include On-Demand capacity in your\n request, you must use LaunchTemplateConfigs.

", - "smithy.api#xmlName": "launchSpecifications" + "aws.protocols#ec2QueryName": "AvailableIpAddressCount", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of unused private IPv4 addresses in the subnet. The IPv4 addresses for any\n\t\t\tstopped instances are considered unavailable.

", + "smithy.api#xmlName": "availableIpAddressCount" } }, - "LaunchTemplateConfigs": { - "target": "com.amazonaws.ec2#LaunchTemplateConfigList", + "CidrBlock": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "LaunchTemplateConfigs", - "smithy.api#documentation": "

The launch template and overrides. If you specify LaunchTemplateConfigs,\n you can't specify LaunchSpecifications. If you include On-Demand capacity\n in your request, you must use LaunchTemplateConfigs.

", - "smithy.api#xmlName": "launchTemplateConfigs" + "aws.protocols#ec2QueryName": "CidrBlock", + "smithy.api#documentation": "

The IPv4 CIDR block assigned to the subnet.

", + "smithy.api#xmlName": "cidrBlock" } }, - "SpotPrice": { - "target": "com.amazonaws.ec2#String", + "DefaultForAz": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "SpotPrice", - "smithy.api#documentation": "

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend \n using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

\n \n

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

\n
", - "smithy.api#xmlName": "spotPrice" + "aws.protocols#ec2QueryName": "DefaultForAz", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether this is the default subnet for the Availability Zone.

", + "smithy.api#xmlName": "defaultForAz" } }, - "TargetCapacity": { + "EnableLniAtDeviceIndex": { "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "TargetCapacity", + "aws.protocols#ec2QueryName": "EnableLniAtDeviceIndex", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The number of units to request for the Spot Fleet. You can choose to set the target\n capacity in terms of instances or a performance characteristic that is important to your\n application workload, such as vCPUs, memory, or I/O. If the request type is\n maintain, you can specify a target capacity of 0 and add capacity\n later.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "targetCapacity" + "smithy.api#documentation": "

\n Indicates the device position for local network interfaces in this subnet. For example, \n 1 indicates local network interfaces in this subnet are the secondary \n network interface (eth1). \n

", + "smithy.api#xmlName": "enableLniAtDeviceIndex" } }, - "OnDemandTargetCapacity": { - "target": "com.amazonaws.ec2#Integer", + "MapPublicIpOnLaunch": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "OnDemandTargetCapacity", + "aws.protocols#ec2QueryName": "MapPublicIpOnLaunch", "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of On-Demand units to request. You can choose to set the target capacity in\n terms of instances or a performance characteristic that is important to your application\n workload, such as vCPUs, memory, or I/O. If the request type is maintain,\n you can specify a target capacity of 0 and add capacity later.

", - "smithy.api#xmlName": "onDemandTargetCapacity" + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether instances launched in this subnet receive a public IPv4 address.

", + "smithy.api#xmlName": "mapPublicIpOnLaunch" } }, - "OnDemandMaxTotalPrice": { - "target": "com.amazonaws.ec2#String", + "MapCustomerOwnedIpOnLaunch": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "OnDemandMaxTotalPrice", - "smithy.api#documentation": "

The maximum amount per hour for On-Demand Instances that you're willing to pay. You\n can use the onDemandMaxTotalPrice parameter, the\n spotMaxTotalPrice parameter, or both parameters to ensure that your\n fleet cost does not exceed your budget. If you set a maximum price per hour for the\n On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the\n maximum amount you're willing to pay. When the maximum amount you're willing to pay is\n reached, the fleet stops launching instances even if it hasn’t met the target\n capacity.

", - "smithy.api#xmlName": "onDemandMaxTotalPrice" + "aws.protocols#ec2QueryName": "MapCustomerOwnedIpOnLaunch", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether a network interface created in this subnet (including a network\n interface created by RunInstances) receives a customer-owned IPv4 address.

", + "smithy.api#xmlName": "mapCustomerOwnedIpOnLaunch" } }, - "SpotMaxTotalPrice": { - "target": "com.amazonaws.ec2#String", + "CustomerOwnedIpv4Pool": { + "target": "com.amazonaws.ec2#CoipPoolId", "traits": { - "aws.protocols#ec2QueryName": "SpotMaxTotalPrice", - "smithy.api#documentation": "

The maximum amount per hour for Spot Instances that you're willing to pay. You can use\n the spotdMaxTotalPrice parameter, the onDemandMaxTotalPrice\n parameter, or both parameters to ensure that your fleet cost does not exceed your\n budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request,\n Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay.\n When the maximum amount you're willing to pay is reached, the fleet stops launching\n instances even if it hasn’t met the target capacity.

", - "smithy.api#xmlName": "spotMaxTotalPrice" + "aws.protocols#ec2QueryName": "CustomerOwnedIpv4Pool", + "smithy.api#documentation": "

The customer-owned IPv4 address pool associated with the subnet.

", + "smithy.api#xmlName": "customerOwnedIpv4Pool" } }, - "TerminateInstancesWithExpiration": { - "target": "com.amazonaws.ec2#Boolean", + "State": { + "target": "com.amazonaws.ec2#SubnetState", "traits": { - "aws.protocols#ec2QueryName": "TerminateInstancesWithExpiration", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether running Spot Instances are terminated when the Spot Fleet request\n expires.

", - "smithy.api#xmlName": "terminateInstancesWithExpiration" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The current state of the subnet.

", + "smithy.api#xmlName": "state" } }, - "Type": { - "target": "com.amazonaws.ec2#FleetType", + "SubnetId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Type", - "smithy.api#documentation": "

The type of request. Indicates whether the Spot Fleet only requests the target\n capacity or also attempts to maintain it. When this value is request, the\n Spot Fleet only places the required requests. It does not attempt to replenish Spot\n Instances if capacity is diminished, nor does it submit requests in alternative Spot\n pools if capacity is not available. When this value is maintain, the Spot\n Fleet maintains the target capacity. The Spot Fleet places the required requests to meet\n capacity and automatically replenishes any interrupted instances. Default:\n maintain. instant is listed but is not used by Spot\n Fleet.

", - "smithy.api#xmlName": "type" + "aws.protocols#ec2QueryName": "SubnetId", + "smithy.api#documentation": "

The ID of the subnet.

", + "smithy.api#xmlName": "subnetId" } }, - "ValidFrom": { - "target": "com.amazonaws.ec2#DateTime", + "VpcId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ValidFrom", - "smithy.api#documentation": "

The start date and time of the request, in UTC format\n (YYYY-MM-DDTHH:MM:SSZ).\n By default, Amazon EC2 starts fulfilling the request immediately.

", - "smithy.api#xmlName": "validFrom" + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#documentation": "

The ID of the VPC the subnet is in.

", + "smithy.api#xmlName": "vpcId" } }, - "ValidUntil": { - "target": "com.amazonaws.ec2#DateTime", + "OwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ValidUntil", - "smithy.api#documentation": "

The end date and time of the request, in UTC format\n (YYYY-MM-DDTHH:MM:SSZ).\n After the end date and time, no new Spot Instance requests are placed or able to fulfill\n the request. If no value is specified, the Spot Fleet request remains until you cancel\n it.

", - "smithy.api#xmlName": "validUntil" + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the subnet.

", + "smithy.api#xmlName": "ownerId" } }, - "ReplaceUnhealthyInstances": { + "AssignIpv6AddressOnCreation": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "ReplaceUnhealthyInstances", + "aws.protocols#ec2QueryName": "AssignIpv6AddressOnCreation", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether Spot Fleet should replace unhealthy instances.

", - "smithy.api#xmlName": "replaceUnhealthyInstances" + "smithy.api#documentation": "

Indicates whether a network interface created in this subnet (including a network\n interface created by RunInstances) receives an IPv6 address.

", + "smithy.api#xmlName": "assignIpv6AddressOnCreation" } }, - "InstanceInterruptionBehavior": { - "target": "com.amazonaws.ec2#InstanceInterruptionBehavior", + "Ipv6CidrBlockAssociationSet": { + "target": "com.amazonaws.ec2#SubnetIpv6CidrBlockAssociationSet", "traits": { - "aws.protocols#ec2QueryName": "InstanceInterruptionBehavior", - "smithy.api#documentation": "

The behavior when a Spot Instance is interrupted. The default is\n terminate.

", - "smithy.api#xmlName": "instanceInterruptionBehavior" + "aws.protocols#ec2QueryName": "Ipv6CidrBlockAssociationSet", + "smithy.api#documentation": "

Information about the IPv6 CIDR blocks associated with the subnet.

", + "smithy.api#xmlName": "ipv6CidrBlockAssociationSet" } }, - "LoadBalancersConfig": { - "target": "com.amazonaws.ec2#LoadBalancersConfig", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "LoadBalancersConfig", - "smithy.api#documentation": "

One or more Classic Load Balancers and target groups to attach to the Spot Fleet\n request. Spot Fleet registers the running Spot Instances with the specified Classic Load\n Balancers and target groups.

\n

With Network Load Balancers, Spot Fleet cannot register instances that have the\n following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2,\n M3, and T1.

", - "smithy.api#xmlName": "loadBalancersConfig" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Any tags assigned to the subnet.

", + "smithy.api#xmlName": "tagSet" } }, - "InstancePoolsToUseCount": { - "target": "com.amazonaws.ec2#Integer", + "SubnetArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "InstancePoolsToUseCount", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of Spot pools across which to allocate your target Spot capacity. Valid\n only when Spot AllocationStrategy is set to\n lowest-price. Spot Fleet selects the cheapest Spot pools and evenly\n allocates your target Spot capacity across the number of Spot pools that you\n specify.

\n

Note that Spot Fleet attempts to draw Spot Instances from the number of pools that you specify on a\n best effort basis. If a pool runs out of Spot capacity before fulfilling your target\n capacity, Spot Fleet will continue to fulfill your request by drawing from the next cheapest\n pool. To ensure that your target capacity is met, you might receive Spot Instances from more than\n the number of pools that you specified. Similarly, if most of the pools have no Spot\n capacity, you might receive your full target capacity from fewer than the number of\n pools that you specified.

", - "smithy.api#xmlName": "instancePoolsToUseCount" + "aws.protocols#ec2QueryName": "SubnetArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the subnet.

", + "smithy.api#xmlName": "subnetArn" } }, - "Context": { + "OutpostArn": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Context", - "smithy.api#documentation": "

Reserved.

", - "smithy.api#xmlName": "context" + "aws.protocols#ec2QueryName": "OutpostArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Outpost.

", + "smithy.api#xmlName": "outpostArn" } }, - "TargetCapacityUnitType": { - "target": "com.amazonaws.ec2#TargetCapacityUnitType", + "EnableDns64": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "TargetCapacityUnitType", - "smithy.api#documentation": "

The unit for the target capacity.

\n

Default: units (translates to number of instances)

", - "smithy.api#xmlName": "targetCapacityUnitType" + "aws.protocols#ec2QueryName": "EnableDns64", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet \n should return synthetic IPv6 addresses for IPv4-only destinations.

", + "smithy.api#xmlName": "enableDns64" } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + "Ipv6Native": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The key-value pair for tagging the Spot Fleet request on creation. The value for\n ResourceType must be spot-fleet-request, otherwise the\n Spot Fleet request fails. To tag instances at launch, specify the tags in the launch\n template (valid only if you use LaunchTemplateConfigs) or in\n the \n SpotFleetTagSpecification\n (valid only if you use\n LaunchSpecifications). For information about tagging after launch, see\n Tagging Your Resources.

", - "smithy.api#xmlName": "TagSpecification" + "aws.protocols#ec2QueryName": "Ipv6Native", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether this is an IPv6 only subnet.

", + "smithy.api#xmlName": "ipv6Native" + } + }, + "PrivateDnsNameOptionsOnLaunch": { + "target": "com.amazonaws.ec2#PrivateDnsNameOptionsOnLaunch", + "traits": { + "aws.protocols#ec2QueryName": "PrivateDnsNameOptionsOnLaunch", + "smithy.api#documentation": "

The type of hostnames to assign to instances in the subnet at launch. An instance hostname\n is based on the IPv4 address or ID of the instance.

", + "smithy.api#xmlName": "privateDnsNameOptionsOnLaunch" } } }, "traits": { - "smithy.api#documentation": "

Describes the configuration of a Spot Fleet request.

" - } - }, - "com.amazonaws.ec2#SpotFleetRequestConfigSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#SpotFleetRequestConfig", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#SpotFleetRequestId": { - "type": "string" - }, - "com.amazonaws.ec2#SpotFleetRequestIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#SpotFleetRequestId", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

Describes a subnet.

" } }, - "com.amazonaws.ec2#SpotFleetTagSpecification": { + "com.amazonaws.ec2#SubnetAssociation": { "type": "structure", "members": { - "ResourceType": { - "target": "com.amazonaws.ec2#ResourceType", + "SubnetId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ResourceType", - "smithy.api#documentation": "

The type of resource. Currently, the only resource type that is supported is\n instance. To tag the Spot Fleet request on creation, use the\n TagSpecifications parameter in \n SpotFleetRequestConfigData\n .

", - "smithy.api#xmlName": "resourceType" + "aws.protocols#ec2QueryName": "SubnetId", + "smithy.api#documentation": "

The ID of the subnet.

", + "smithy.api#xmlName": "subnetId" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "State": { + "target": "com.amazonaws.ec2#TransitGatewayMulitcastDomainAssociationState", "traits": { - "aws.protocols#ec2QueryName": "Tag", - "smithy.api#documentation": "

The tags.

", - "smithy.api#xmlName": "tag" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the subnet association.

", + "smithy.api#xmlName": "state" } } }, "traits": { - "smithy.api#documentation": "

The tags for a Spot Fleet resource.

" + "smithy.api#documentation": "

Describes the subnet association with the transit gateway multicast domain.

" } }, - "com.amazonaws.ec2#SpotFleetTagSpecificationList": { + "com.amazonaws.ec2#SubnetAssociationList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#SpotFleetTagSpecification", + "target": "com.amazonaws.ec2#SubnetAssociation", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#SpotInstanceInterruptionBehavior": { - "type": "enum", + "com.amazonaws.ec2#SubnetCidrAssociationId": { + "type": "string" + }, + "com.amazonaws.ec2#SubnetCidrBlockState": { + "type": "structure", "members": { - "hibernate": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "hibernate" - } - }, - "stop": { - "target": "smithy.api#Unit", + "State": { + "target": "com.amazonaws.ec2#SubnetCidrBlockStateCode", "traits": { - "smithy.api#enumValue": "stop" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of a CIDR block.

", + "smithy.api#xmlName": "state" } }, - "terminate": { - "target": "smithy.api#Unit", + "StatusMessage": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "terminate" + "aws.protocols#ec2QueryName": "StatusMessage", + "smithy.api#documentation": "

A message about the status of the CIDR block, if applicable.

", + "smithy.api#xmlName": "statusMessage" } } + }, + "traits": { + "smithy.api#documentation": "

Describes the state of a CIDR block.

" } }, - "com.amazonaws.ec2#SpotInstanceRequest": { - "type": "structure", + "com.amazonaws.ec2#SubnetCidrBlockStateCode": { + "type": "enum", "members": { - "ActualBlockHourlyPrice": { - "target": "com.amazonaws.ec2#String", + "associating": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ActualBlockHourlyPrice", - "smithy.api#documentation": "

Deprecated.

", - "smithy.api#xmlName": "actualBlockHourlyPrice" + "smithy.api#enumValue": "associating" } }, - "AvailabilityZoneGroup": { - "target": "com.amazonaws.ec2#String", + "associated": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZoneGroup", - "smithy.api#documentation": "

The Availability Zone group. If you specify the same Availability Zone group for all Spot Instance requests, all Spot Instances are launched in the same Availability Zone.

", - "smithy.api#xmlName": "availabilityZoneGroup" + "smithy.api#enumValue": "associated" } }, - "BlockDurationMinutes": { - "target": "com.amazonaws.ec2#Integer", + "disassociating": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "BlockDurationMinutes", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

Deprecated.

", - "smithy.api#xmlName": "blockDurationMinutes" + "smithy.api#enumValue": "disassociating" } }, - "CreateTime": { - "target": "com.amazonaws.ec2#DateTime", + "disassociated": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "CreateTime", - "smithy.api#documentation": "

The date and time when the Spot Instance request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "smithy.api#xmlName": "createTime" + "smithy.api#enumValue": "disassociated" } }, - "Fault": { - "target": "com.amazonaws.ec2#SpotInstanceStateFault", + "failing": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Fault", - "smithy.api#documentation": "

The fault codes for the Spot Instance request, if any.

", - "smithy.api#xmlName": "fault" + "smithy.api#enumValue": "failing" } }, - "InstanceId": { - "target": "com.amazonaws.ec2#InstanceId", + "failed": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#documentation": "

The instance ID, if an instance has been launched to fulfill the Spot Instance request.

", - "smithy.api#xmlName": "instanceId" + "smithy.api#enumValue": "failed" } - }, - "LaunchGroup": { - "target": "com.amazonaws.ec2#String", + } + } + }, + "com.amazonaws.ec2#SubnetCidrReservation": { + "type": "structure", + "members": { + "SubnetCidrReservationId": { + "target": "com.amazonaws.ec2#SubnetCidrReservationId", "traits": { - "aws.protocols#ec2QueryName": "LaunchGroup", - "smithy.api#documentation": "

The instance launch group. Launch groups are Spot Instances that launch together and terminate together.

", - "smithy.api#xmlName": "launchGroup" + "aws.protocols#ec2QueryName": "SubnetCidrReservationId", + "smithy.api#documentation": "

The ID of the subnet CIDR reservation.

", + "smithy.api#xmlName": "subnetCidrReservationId" } }, - "LaunchSpecification": { - "target": "com.amazonaws.ec2#LaunchSpecification", + "SubnetId": { + "target": "com.amazonaws.ec2#SubnetId", "traits": { - "aws.protocols#ec2QueryName": "LaunchSpecification", - "smithy.api#documentation": "

Additional information for launching instances.

", - "smithy.api#xmlName": "launchSpecification" + "aws.protocols#ec2QueryName": "SubnetId", + "smithy.api#documentation": "

The ID of the subnet.

", + "smithy.api#xmlName": "subnetId" } }, - "LaunchedAvailabilityZone": { + "Cidr": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "LaunchedAvailabilityZone", - "smithy.api#documentation": "

The Availability Zone in which the request is launched.

", - "smithy.api#xmlName": "launchedAvailabilityZone" + "aws.protocols#ec2QueryName": "Cidr", + "smithy.api#documentation": "

The CIDR that has been reserved.

", + "smithy.api#xmlName": "cidr" } }, - "ProductDescription": { - "target": "com.amazonaws.ec2#RIProductDescription", + "ReservationType": { + "target": "com.amazonaws.ec2#SubnetCidrReservationType", "traits": { - "aws.protocols#ec2QueryName": "ProductDescription", - "smithy.api#documentation": "

The product description associated with the Spot Instance.

", - "smithy.api#xmlName": "productDescription" + "aws.protocols#ec2QueryName": "ReservationType", + "smithy.api#documentation": "

The type of reservation.

", + "smithy.api#xmlName": "reservationType" } }, - "SpotInstanceRequestId": { + "OwnerId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SpotInstanceRequestId", - "smithy.api#documentation": "

The ID of the Spot Instance request.

", - "smithy.api#xmlName": "spotInstanceRequestId" + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the account that owns the subnet CIDR reservation.

", + "smithy.api#xmlName": "ownerId" } }, - "SpotPrice": { + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SpotPrice", - "smithy.api#documentation": "

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend \n using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

\n \n

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

\n
", - "smithy.api#xmlName": "spotPrice" - } - }, - "State": { - "target": "com.amazonaws.ec2#SpotInstanceState", - "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the Spot Instance request. Spot request status information helps track your Spot\n Instance requests. For more information, see Spot request status in the\n Amazon EC2 User Guide for Linux Instances.

", - "smithy.api#xmlName": "state" - } - }, - "Status": { - "target": "com.amazonaws.ec2#SpotInstanceStatus", - "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The status code and status message describing the Spot Instance request.

", - "smithy.api#xmlName": "status" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

The\n description\n assigned to the subnet CIDR\n reservation.

", + "smithy.api#xmlName": "description" } }, "Tags": { "target": "com.amazonaws.ec2#TagList", "traits": { "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags assigned to the resource.

", + "smithy.api#documentation": "

The tags assigned to the subnet CIDR reservation.

", "smithy.api#xmlName": "tagSet" } - }, - "Type": { - "target": "com.amazonaws.ec2#SpotInstanceType", + } + }, + "traits": { + "smithy.api#documentation": "

Describes a subnet CIDR reservation.

" + } + }, + "com.amazonaws.ec2#SubnetCidrReservationId": { + "type": "string" + }, + "com.amazonaws.ec2#SubnetCidrReservationList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SubnetCidrReservation", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#SubnetCidrReservationType": { + "type": "enum", + "members": { + "prefix": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Type", - "smithy.api#documentation": "

The Spot Instance request type.

", - "smithy.api#xmlName": "type" + "smithy.api#enumValue": "prefix" } }, - "ValidFrom": { - "target": "com.amazonaws.ec2#DateTime", + "explicit": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ValidFrom", - "smithy.api#documentation": "

The start date of the request, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).\n The request becomes active at this date and time.

", - "smithy.api#xmlName": "validFrom" + "smithy.api#enumValue": "explicit" + } + } + } + }, + "com.amazonaws.ec2#SubnetId": { + "type": "string" + }, + "com.amazonaws.ec2#SubnetIdStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SubnetId", + "traits": { + "smithy.api#xmlName": "SubnetId" + } + } + }, + "com.amazonaws.ec2#SubnetIpv6CidrBlockAssociation": { + "type": "structure", + "members": { + "AssociationId": { + "target": "com.amazonaws.ec2#SubnetCidrAssociationId", + "traits": { + "aws.protocols#ec2QueryName": "AssociationId", + "smithy.api#documentation": "

The ID of the association.

", + "smithy.api#xmlName": "associationId" } }, - "ValidUntil": { - "target": "com.amazonaws.ec2#DateTime", + "Ipv6CidrBlock": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ValidUntil", - "smithy.api#documentation": "

The end date of the request, in UTC format\n (YYYY-MM-DDTHH:MM:SSZ).

\n
    \n
  • \n

    For a persistent request, the request remains active until the validUntil date\n and time is reached. Otherwise, the request remains active until you cancel it.\n

    \n
  • \n
  • \n

    For a one-time request, the request remains active until all instances launch,\n the request is canceled, or the validUntil date and time is reached. By default, the\n request is valid for 7 days from the date the request was created.

    \n
  • \n
", - "smithy.api#xmlName": "validUntil" + "aws.protocols#ec2QueryName": "Ipv6CidrBlock", + "smithy.api#documentation": "

The IPv6 CIDR block.

", + "smithy.api#xmlName": "ipv6CidrBlock" } }, - "InstanceInterruptionBehavior": { - "target": "com.amazonaws.ec2#InstanceInterruptionBehavior", + "Ipv6CidrBlockState": { + "target": "com.amazonaws.ec2#SubnetCidrBlockState", "traits": { - "aws.protocols#ec2QueryName": "InstanceInterruptionBehavior", - "smithy.api#documentation": "

The behavior when a Spot Instance is interrupted.

", - "smithy.api#xmlName": "instanceInterruptionBehavior" + "aws.protocols#ec2QueryName": "Ipv6CidrBlockState", + "smithy.api#documentation": "

The state of the CIDR block.

", + "smithy.api#xmlName": "ipv6CidrBlockState" } } }, "traits": { - "smithy.api#documentation": "

Describes a Spot Instance request.

" + "smithy.api#documentation": "

Describes an association between a subnet and an IPv6 CIDR block.

" } }, - "com.amazonaws.ec2#SpotInstanceRequestId": { - "type": "string" - }, - "com.amazonaws.ec2#SpotInstanceRequestIdList": { + "com.amazonaws.ec2#SubnetIpv6CidrBlockAssociationSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#SpotInstanceRequestId", + "target": "com.amazonaws.ec2#SubnetIpv6CidrBlockAssociation", "traits": { - "smithy.api#xmlName": "SpotInstanceRequestId" + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#SpotInstanceRequestList": { + "com.amazonaws.ec2#SubnetList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#SpotInstanceRequest", + "target": "com.amazonaws.ec2#Subnet", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#SpotInstanceState": { + "com.amazonaws.ec2#SubnetState": { "type": "enum", "members": { - "open": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "open" - } - }, - "active": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "active" - } - }, - "closed": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "closed" - } - }, - "cancelled": { + "pending": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "cancelled" + "smithy.api#enumValue": "pending" } }, - "failed": { + "available": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "failed" + "smithy.api#enumValue": "available" } } } }, - "com.amazonaws.ec2#SpotInstanceStateFault": { + "com.amazonaws.ec2#Subscription": { "type": "structure", "members": { - "Code": { + "Source": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Code", - "smithy.api#documentation": "

The reason code for the Spot Instance state change.

", - "smithy.api#xmlName": "code" + "aws.protocols#ec2QueryName": "Source", + "smithy.api#documentation": "

The Region or Availability Zone that's the source for the subscription. For example, us-east-1.

", + "smithy.api#xmlName": "source" } }, - "Message": { + "Destination": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Message", - "smithy.api#documentation": "

The message for the Spot Instance state change.

", - "smithy.api#xmlName": "message" + "aws.protocols#ec2QueryName": "Destination", + "smithy.api#documentation": "

The Region or Availability Zone that's the target for the subscription. For example, eu-west-1.

", + "smithy.api#xmlName": "destination" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a Spot Instance state change.

" - } - }, - "com.amazonaws.ec2#SpotInstanceStatus": { - "type": "structure", - "members": { - "Code": { - "target": "com.amazonaws.ec2#String", + }, + "Metric": { + "target": "com.amazonaws.ec2#MetricType", "traits": { - "aws.protocols#ec2QueryName": "Code", - "smithy.api#documentation": "

The status code. For a list of status codes, see Spot request status codes in the Amazon EC2 User Guide for Linux Instances.

", - "smithy.api#xmlName": "code" + "aws.protocols#ec2QueryName": "Metric", + "smithy.api#documentation": "

The metric used for the subscription.

", + "smithy.api#xmlName": "metric" } }, - "Message": { - "target": "com.amazonaws.ec2#String", + "Statistic": { + "target": "com.amazonaws.ec2#StatisticType", "traits": { - "aws.protocols#ec2QueryName": "Message", - "smithy.api#documentation": "

The description for the status code.

", - "smithy.api#xmlName": "message" + "aws.protocols#ec2QueryName": "Statistic", + "smithy.api#documentation": "

The statistic used for the subscription.

", + "smithy.api#xmlName": "statistic" } }, - "UpdateTime": { - "target": "com.amazonaws.ec2#DateTime", + "Period": { + "target": "com.amazonaws.ec2#PeriodType", "traits": { - "aws.protocols#ec2QueryName": "UpdateTime", - "smithy.api#documentation": "

The date and time of the most recent status update, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).

", - "smithy.api#xmlName": "updateTime" + "aws.protocols#ec2QueryName": "Period", + "smithy.api#documentation": "

The data aggregation time for the subscription.

", + "smithy.api#xmlName": "period" } } }, "traits": { - "smithy.api#documentation": "

Describes the status of a Spot Instance request.

" + "smithy.api#documentation": "

Describes an Infrastructure Performance subscription.

" } }, - "com.amazonaws.ec2#SpotInstanceType": { - "type": "enum", - "members": { - "one_time": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "one-time" - } - }, - "persistent": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "persistent" - } + "com.amazonaws.ec2#SubscriptionList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Subscription", + "traits": { + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#SpotMaintenanceStrategies": { + "com.amazonaws.ec2#SuccessfulInstanceCreditSpecificationItem": { "type": "structure", "members": { - "CapacityRebalance": { - "target": "com.amazonaws.ec2#SpotCapacityRebalance", + "InstanceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CapacityRebalance", - "smithy.api#documentation": "

The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your\n Spot Instance is at an elevated risk of being interrupted. For more information, see\n Capacity rebalancing in the Amazon EC2 User Guide for Linux Instances.

", - "smithy.api#xmlName": "capacityRebalance" + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#documentation": "

The ID of the instance.

", + "smithy.api#xmlName": "instanceId" } } }, "traits": { - "smithy.api#documentation": "

The strategies for managing your Spot Instances that are at an elevated risk of being\n interrupted.

" + "smithy.api#documentation": "

Describes the burstable performance instance whose credit option for CPU usage was\n successfully modified.

" } }, - "com.amazonaws.ec2#SpotMarketOptions": { - "type": "structure", - "members": { - "MaxPrice": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The maximum hourly price that you're willing to pay for a Spot Instance. We do not\n recommend using this parameter because it can lead to increased interruptions. If you do\n not specify this parameter, you will pay the current Spot price.

\n \n

If you specify a maximum price, your Spot Instances will be interrupted more\n frequently than if you do not specify this parameter.

\n
" - } - }, - "SpotInstanceType": { - "target": "com.amazonaws.ec2#SpotInstanceType", - "traits": { - "smithy.api#documentation": "

The Spot Instance request type. For RunInstances, persistent\n Spot Instance requests are only supported when the instance interruption behavior is\n either hibernate or stop.

" - } - }, - "BlockDurationMinutes": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

Deprecated.

" - } - }, - "ValidUntil": { - "target": "com.amazonaws.ec2#DateTime", - "traits": { - "smithy.api#documentation": "

The end date of the request, in UTC format\n (YYYY-MM-DDTHH:MM:SSZ).\n Supported only for persistent requests.

\n
    \n
  • \n

    For a persistent request, the request remains active until the\n ValidUntil date and time is reached. Otherwise, the request\n remains active until you cancel it.

    \n
  • \n
  • \n

    For a one-time request, ValidUntil is not supported. The request\n remains active until all instances launch or you cancel the request.

    \n
  • \n
" - } - }, - "InstanceInterruptionBehavior": { - "target": "com.amazonaws.ec2#InstanceInterruptionBehavior", - "traits": { - "smithy.api#documentation": "

The behavior when a Spot Instance is interrupted. The default is\n terminate.

" - } + "com.amazonaws.ec2#SuccessfulInstanceCreditSpecificationSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SuccessfulInstanceCreditSpecificationItem", + "traits": { + "smithy.api#xmlName": "item" } - }, - "traits": { - "smithy.api#documentation": "

The options for Spot Instances.

" } }, - "com.amazonaws.ec2#SpotOptions": { + "com.amazonaws.ec2#SuccessfulQueuedPurchaseDeletion": { "type": "structure", "members": { - "AllocationStrategy": { - "target": "com.amazonaws.ec2#SpotAllocationStrategy", - "traits": { - "aws.protocols#ec2QueryName": "AllocationStrategy", - "smithy.api#documentation": "

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance\n pools specified by the EC2 Fleet launch configuration. For more information, see Allocation strategies for Spot Instances in the\n Amazon EC2 User Guide.

\n

\n lowest-price - EC2 Fleet launches instances from the lowest-price Spot Instance pool that\n has available capacity. If the cheapest pool doesn't have available capacity, the Spot Instances\n come from the next cheapest pool that has available capacity. If a pool runs out of\n capacity before fulfilling your desired capacity, EC2 Fleet will continue to fulfill your\n request by drawing from the next cheapest pool. To ensure that your desired capacity is\n met, you might receive Spot Instances from several pools.

\n

\n diversified - EC2 Fleet launches instances from all of the Spot Instance pools that you\n specify.

\n

\n capacity-optimized (recommended) - EC2 Fleet launches instances from Spot Instance pools\n with optimal capacity for the number of instances that are launching. To give certain\n instance types a higher chance of launching first, use\n capacity-optimized-prioritized. Set a priority for each instance type by\n using the Priority parameter for LaunchTemplateOverrides. You can\n assign the same priority to different LaunchTemplateOverrides. EC2 implements\n the priorities on a best-effort basis, but optimizes for capacity first.\n capacity-optimized-prioritized is supported only if your fleet uses a\n launch template. Note that if the On-Demand AllocationStrategy is set to\n prioritized, the same priority is applied when fulfilling On-Demand\n capacity.

\n

Default: lowest-price\n

", - "smithy.api#xmlName": "allocationStrategy" - } - }, - "MaintenanceStrategies": { - "target": "com.amazonaws.ec2#FleetSpotMaintenanceStrategies", - "traits": { - "aws.protocols#ec2QueryName": "MaintenanceStrategies", - "smithy.api#documentation": "

The strategies for managing your workloads on your Spot Instances that will be\n interrupted. Currently only the capacity rebalance strategy is available.

", - "smithy.api#xmlName": "maintenanceStrategies" - } - }, - "InstanceInterruptionBehavior": { - "target": "com.amazonaws.ec2#SpotInstanceInterruptionBehavior", - "traits": { - "aws.protocols#ec2QueryName": "InstanceInterruptionBehavior", - "smithy.api#documentation": "

The behavior when a Spot Instance is interrupted.

\n

Default: terminate\n

", - "smithy.api#xmlName": "instanceInterruptionBehavior" - } - }, - "InstancePoolsToUseCount": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "aws.protocols#ec2QueryName": "InstancePoolsToUseCount", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of Spot pools across which to allocate your target Spot capacity. Supported\n only when AllocationStrategy is set to lowest-price. EC2 Fleet selects\n the cheapest Spot pools and evenly allocates your target Spot capacity across the number of\n Spot pools that you specify.

\n

Note that EC2 Fleet attempts to draw Spot Instances from the number of pools that you specify on a\n best effort basis. If a pool runs out of Spot capacity before fulfilling your target\n capacity, EC2 Fleet will continue to fulfill your request by drawing from the next cheapest\n pool. To ensure that your target capacity is met, you might receive Spot Instances from more than\n the number of pools that you specified. Similarly, if most of the pools have no Spot\n capacity, you might receive your full target capacity from fewer than the number of pools\n that you specified.

", - "smithy.api#xmlName": "instancePoolsToUseCount" - } - }, - "SingleInstanceType": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "SingleInstanceType", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates that the fleet uses a single instance type to launch all Spot Instances in the\n fleet.

\n

Supported only for fleets of type instant.

", - "smithy.api#xmlName": "singleInstanceType" - } - }, - "SingleAvailabilityZone": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "SingleAvailabilityZone", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates that the fleet launches all Spot Instances into a single Availability Zone.

\n

Supported only for fleets of type instant.

", - "smithy.api#xmlName": "singleAvailabilityZone" - } - }, - "MinTargetCapacity": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "aws.protocols#ec2QueryName": "MinTargetCapacity", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is\n not reached, the fleet launches no instances.

\n

Supported only for fleets of type instant.

\n

At least one of the following must be specified: SingleAvailabilityZone |\n SingleInstanceType\n

", - "smithy.api#xmlName": "minTargetCapacity" - } - }, - "MaxTotalPrice": { + "ReservedInstancesId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "MaxTotalPrice", - "smithy.api#documentation": "

The maximum amount per hour for Spot Instances that you're willing to pay. We do not recommend\n using this parameter because it can lead to increased interruptions. If you do not specify\n this parameter, you will pay the current Spot price.

\n \n

If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter.

\n
", - "smithy.api#xmlName": "maxTotalPrice" + "aws.protocols#ec2QueryName": "ReservedInstancesId", + "smithy.api#documentation": "

The ID of the Reserved Instance.

", + "smithy.api#xmlName": "reservedInstancesId" } } }, "traits": { - "smithy.api#documentation": "

Describes the configuration of Spot Instances in an EC2 Fleet.

" + "smithy.api#documentation": "

Describes a Reserved Instance whose queued purchase was successfully deleted.

" } }, - "com.amazonaws.ec2#SpotOptionsRequest": { - "type": "structure", + "com.amazonaws.ec2#SuccessfulQueuedPurchaseDeletionSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SuccessfulQueuedPurchaseDeletion", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#SummaryStatus": { + "type": "enum", "members": { - "AllocationStrategy": { - "target": "com.amazonaws.ec2#SpotAllocationStrategy", - "traits": { - "smithy.api#documentation": "

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance\n pools specified by the EC2 Fleet launch configuration. For more information, see Allocation strategies for Spot Instances in the\n Amazon EC2 User Guide.

\n

\n lowest-price - EC2 Fleet launches instances from the lowest-price Spot Instance pool that\n has available capacity. If the cheapest pool doesn't have available capacity, the Spot Instances\n come from the next cheapest pool that has available capacity. If a pool runs out of\n capacity before fulfilling your desired capacity, EC2 Fleet will continue to fulfill your\n request by drawing from the next cheapest pool. To ensure that your desired capacity is\n met, you might receive Spot Instances from several pools.

\n

\n diversified - EC2 Fleet launches instances from all\n of the Spot Instance pools that you specify.

\n

\n capacity-optimized (recommended) - EC2 Fleet\n launches instances from Spot Instance pools with optimal capacity for the number of instances that\n are launching. To give certain instance types a higher chance of launching first, use\n capacity-optimized-prioritized. Set a priority for each instance type by\n using the Priority parameter for LaunchTemplateOverrides. You can\n assign the same priority to different LaunchTemplateOverrides. EC2 implements\n the priorities on a best-effort basis, but optimizes for capacity first.\n capacity-optimized-prioritized is supported only if your fleet uses a\n launch template. Note that if the On-Demand AllocationStrategy is set to\n prioritized, the same priority is applied when fulfilling On-Demand\n capacity.

\n

Default: lowest-price\n

" - } - }, - "MaintenanceStrategies": { - "target": "com.amazonaws.ec2#FleetSpotMaintenanceStrategiesRequest", - "traits": { - "smithy.api#documentation": "

The strategies for managing your Spot Instances that are at an elevated risk of being\n interrupted.

" - } - }, - "InstanceInterruptionBehavior": { - "target": "com.amazonaws.ec2#SpotInstanceInterruptionBehavior", - "traits": { - "smithy.api#documentation": "

The behavior when a Spot Instance is interrupted.

\n

Default: terminate\n

" - } - }, - "InstancePoolsToUseCount": { - "target": "com.amazonaws.ec2#Integer", + "ok": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of Spot pools across which to allocate your target Spot capacity. Supported\n only when Spot AllocationStrategy is set to lowest-price. EC2 Fleet\n selects the cheapest Spot pools and evenly allocates your target Spot capacity across the\n number of Spot pools that you specify.

\n

Note that EC2 Fleet attempts to draw Spot Instances from the number of pools that you specify on a\n best effort basis. If a pool runs out of Spot capacity before fulfilling your target\n capacity, EC2 Fleet will continue to fulfill your request by drawing from the next cheapest\n pool. To ensure that your target capacity is met, you might receive Spot Instances from more than\n the number of pools that you specified. Similarly, if most of the pools have no Spot\n capacity, you might receive your full target capacity from fewer than the number of pools\n that you specified.

" + "smithy.api#enumValue": "ok" } }, - "SingleInstanceType": { - "target": "com.amazonaws.ec2#Boolean", + "impaired": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates that the fleet uses a single instance type to launch all Spot Instances in the\n fleet.

\n

Supported only for fleets of type instant.

" + "smithy.api#enumValue": "impaired" } }, - "SingleAvailabilityZone": { - "target": "com.amazonaws.ec2#Boolean", + "insufficient_data": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates that the fleet launches all Spot Instances into a single Availability Zone.

\n

Supported only for fleets of type instant.

" + "smithy.api#enumValue": "insufficient-data" } }, - "MinTargetCapacity": { - "target": "com.amazonaws.ec2#Integer", + "not_applicable": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is\n not reached, the fleet launches no instances.

\n

Supported only for fleets of type instant.

\n

At least one of the following must be specified: SingleAvailabilityZone |\n SingleInstanceType\n

" + "smithy.api#enumValue": "not-applicable" } }, - "MaxTotalPrice": { - "target": "com.amazonaws.ec2#String", + "initializing": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The maximum amount per hour for Spot Instances that you're willing to pay. We do not recommend\n using this parameter because it can lead to increased interruptions. If you do not specify\n this parameter, you will pay the current Spot price.

\n \n

If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter.

\n
" + "smithy.api#enumValue": "initializing" } } + } + }, + "com.amazonaws.ec2#SupportedIpAddressTypes": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ServiceConnectivityType", + "traits": { + "smithy.api#xmlName": "item" + } }, "traits": { - "smithy.api#documentation": "

Describes the configuration of Spot Instances in an EC2 Fleet request.

" + "smithy.api#length": { + "min": 0, + "max": 2 + } } }, - "com.amazonaws.ec2#SpotPlacement": { + "com.amazonaws.ec2#Tag": { "type": "structure", "members": { - "AvailabilityZone": { + "Key": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZone", - "smithy.api#documentation": "

The Availability Zone.

\n

[Spot Fleet only] To specify multiple Availability Zones, separate them using commas;\n for example, \"us-west-2a, us-west-2b\".

", - "smithy.api#xmlName": "availabilityZone" - } - }, - "GroupName": { - "target": "com.amazonaws.ec2#PlacementGroupName", - "traits": { - "aws.protocols#ec2QueryName": "GroupName", - "smithy.api#documentation": "

The name of the placement group.

", - "smithy.api#xmlName": "groupName" + "aws.protocols#ec2QueryName": "Key", + "smithy.api#documentation": "

The key of the tag.

\n

Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. \n May not begin with aws:.

", + "smithy.api#xmlName": "key" } }, - "Tenancy": { - "target": "com.amazonaws.ec2#Tenancy", + "Value": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Tenancy", - "smithy.api#documentation": "

The tenancy of the instance (if the instance is running in a VPC). An instance with a\n tenancy of dedicated runs on single-tenant hardware. The host\n tenancy is not supported for Spot Instances.

", - "smithy.api#xmlName": "tenancy" + "aws.protocols#ec2QueryName": "Value", + "smithy.api#documentation": "

The value of the tag.

\n

Constraints: Tag values are case-sensitive and accept a maximum of 256 Unicode characters.

", + "smithy.api#xmlName": "value" } } }, "traits": { - "smithy.api#documentation": "

Describes Spot Instance placement.

" + "smithy.api#documentation": "

Describes a tag.

" } }, - "com.amazonaws.ec2#SpotPlacementScore": { + "com.amazonaws.ec2#TagDescription": { "type": "structure", "members": { - "Region": { + "Key": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Region", - "smithy.api#documentation": "

The Region.

", - "smithy.api#xmlName": "region" + "aws.protocols#ec2QueryName": "Key", + "smithy.api#documentation": "

The tag key.

", + "smithy.api#xmlName": "key" } }, - "AvailabilityZoneId": { + "ResourceId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZoneId", - "smithy.api#documentation": "

The Availability Zone.

", - "smithy.api#xmlName": "availabilityZoneId" + "aws.protocols#ec2QueryName": "ResourceId", + "smithy.api#documentation": "

The ID of the resource.

", + "smithy.api#xmlName": "resourceId" } }, - "Score": { - "target": "com.amazonaws.ec2#Integer", + "ResourceType": { + "target": "com.amazonaws.ec2#ResourceType", "traits": { - "aws.protocols#ec2QueryName": "Score", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The placement score, on a scale from 1 to 10. A score of\n 10 indicates that your Spot request is highly likely to succeed in this\n Region or Availability Zone. A score of 1 indicates that your Spot request is\n not likely to succeed.

", - "smithy.api#xmlName": "score" + "aws.protocols#ec2QueryName": "ResourceType", + "smithy.api#documentation": "

The resource type.

", + "smithy.api#xmlName": "resourceType" + } + }, + "Value": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Value", + "smithy.api#documentation": "

The tag value.

", + "smithy.api#xmlName": "value" } } }, "traits": { - "smithy.api#documentation": "

The Spot placement score for this Region or Availability Zone. The score is calculated\n based on the assumption that the capacity-optimized allocation strategy is\n used and that all of the Availability Zones in the Region can be used.

" + "smithy.api#documentation": "

Describes a tag.

" } }, - "com.amazonaws.ec2#SpotPlacementScores": { + "com.amazonaws.ec2#TagDescriptionList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#SpotPlacementScore", + "target": "com.amazonaws.ec2#TagDescription", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#SpotPlacementScoresMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 10, - "max": 1000 - } - } - }, - "com.amazonaws.ec2#SpotPlacementScoresTargetCapacity": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 1, - "max": 2000000000 + "com.amazonaws.ec2#TagList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Tag", + "traits": { + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#SpotPrice": { + "com.amazonaws.ec2#TagSpecification": { "type": "structure", "members": { - "AvailabilityZone": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZone", - "smithy.api#documentation": "

The Availability Zone.

", - "smithy.api#xmlName": "availabilityZone" - } - }, - "InstanceType": { - "target": "com.amazonaws.ec2#InstanceType", - "traits": { - "aws.protocols#ec2QueryName": "InstanceType", - "smithy.api#documentation": "

The instance type.

", - "smithy.api#xmlName": "instanceType" - } - }, - "ProductDescription": { - "target": "com.amazonaws.ec2#RIProductDescription", - "traits": { - "aws.protocols#ec2QueryName": "ProductDescription", - "smithy.api#documentation": "

A general description of the AMI.

", - "smithy.api#xmlName": "productDescription" - } - }, - "SpotPrice": { - "target": "com.amazonaws.ec2#String", + "ResourceType": { + "target": "com.amazonaws.ec2#ResourceType", "traits": { - "aws.protocols#ec2QueryName": "SpotPrice", - "smithy.api#documentation": "

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend \n using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

\n \n

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

\n
", - "smithy.api#xmlName": "spotPrice" + "aws.protocols#ec2QueryName": "ResourceType", + "smithy.api#documentation": "

The type of resource to tag on creation.

", + "smithy.api#xmlName": "resourceType" } }, - "Timestamp": { - "target": "com.amazonaws.ec2#DateTime", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "Timestamp", - "smithy.api#documentation": "

The date and time the request was created, in UTC format (for example,\n YYYY-MM-DDTHH:MM:SSZ).

", - "smithy.api#xmlName": "timestamp" + "smithy.api#documentation": "

The tags to apply to the resource.

", + "smithy.api#xmlName": "Tag" } } }, "traits": { - "smithy.api#documentation": "

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend \n using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

\n \n

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

\n
" + "smithy.api#documentation": "

The tags to apply to a resource when the resource is being created.

\n \n

The Valid Values lists all the resource types that can be tagged.\n However, the action you're using might not support tagging all of these resource types.\n If you try to tag a resource type that is unsupported for the action you're using,\n you'll get an error.

\n
" } }, - "com.amazonaws.ec2#SpotPriceHistoryList": { + "com.amazonaws.ec2#TagSpecificationList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#SpotPrice", + "target": "com.amazonaws.ec2#TagSpecification", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#SpreadLevel": { - "type": "enum", - "members": { - "host": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "host" - } - }, - "rack": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "rack" - } - } - } + "com.amazonaws.ec2#TaggableResourceId": { + "type": "string" }, - "com.amazonaws.ec2#StaleIpPermission": { + "com.amazonaws.ec2#TargetCapacitySpecification": { "type": "structure", "members": { - "FromPort": { + "TotalTargetCapacity": { "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "FromPort", + "aws.protocols#ec2QueryName": "TotalTargetCapacity", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The start of the port range for the TCP and UDP protocols, or an ICMP type number. A value of\n -1 indicates all ICMP types.

", - "smithy.api#xmlName": "fromPort" - } - }, - "IpProtocol": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "IpProtocol", - "smithy.api#documentation": "

The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers).

", - "smithy.api#xmlName": "ipProtocol" - } - }, - "IpRanges": { - "target": "com.amazonaws.ec2#IpRanges", - "traits": { - "aws.protocols#ec2QueryName": "IpRanges", - "smithy.api#documentation": "

The IP ranges. Not applicable for stale security group rules.

", - "smithy.api#xmlName": "ipRanges" + "smithy.api#documentation": "

The number of units to request, filled using\n DefaultTargetCapacityType.

", + "smithy.api#xmlName": "totalTargetCapacity" } }, - "PrefixListIds": { - "target": "com.amazonaws.ec2#PrefixListIdSet", + "OnDemandTargetCapacity": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "PrefixListIds", - "smithy.api#documentation": "

The prefix list IDs. Not applicable for stale security group rules.

", - "smithy.api#xmlName": "prefixListIds" + "aws.protocols#ec2QueryName": "OnDemandTargetCapacity", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of On-Demand units to request. If you specify a target capacity for Spot units, you cannot specify a target capacity for On-Demand units.

", + "smithy.api#xmlName": "onDemandTargetCapacity" } }, - "ToPort": { + "SpotTargetCapacity": { "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "ToPort", + "aws.protocols#ec2QueryName": "SpotTargetCapacity", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The end of the port range for the TCP and UDP protocols, or an ICMP type number. A value of\n -1 indicates all ICMP types.

", - "smithy.api#xmlName": "toPort" + "smithy.api#documentation": "

The maximum number of Spot units to launch. If you specify a target capacity for On-Demand units, you cannot specify a target capacity for Spot units.

", + "smithy.api#xmlName": "spotTargetCapacity" } }, - "UserIdGroupPairs": { - "target": "com.amazonaws.ec2#UserIdGroupPairSet", + "DefaultTargetCapacityType": { + "target": "com.amazonaws.ec2#DefaultTargetCapacityType", "traits": { - "aws.protocols#ec2QueryName": "Groups", - "smithy.api#documentation": "

The security group pairs. Returns the ID of the referenced security group and VPC, and the ID and status of the VPC peering connection.

", - "smithy.api#xmlName": "groups" + "aws.protocols#ec2QueryName": "DefaultTargetCapacityType", + "smithy.api#documentation": "

The default TotalTargetCapacity, which is either Spot or\n On-Demand.

", + "smithy.api#xmlName": "defaultTargetCapacityType" + } + }, + "TargetCapacityUnitType": { + "target": "com.amazonaws.ec2#TargetCapacityUnitType", + "traits": { + "aws.protocols#ec2QueryName": "TargetCapacityUnitType", + "smithy.api#documentation": "

The unit for the target capacity. TargetCapacityUnitType can only be specified when InstanceRequirements is specified.

\n

Default: units (translates to number of instances)

", + "smithy.api#xmlName": "targetCapacityUnitType" } } }, "traits": { - "smithy.api#documentation": "

Describes a stale rule in a security group.

" - } - }, - "com.amazonaws.ec2#StaleIpPermissionSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#StaleIpPermission", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

The number of units to request. You can choose to set the target capacity in terms of\n instances or a performance characteristic that is important to your application workload,\n such as vCPUs, memory, or I/O. If the request type is maintain, you can\n specify a target capacity of 0 and add capacity later.

\n

You can use the On-Demand Instance MaxTotalPrice parameter, the Spot Instance\n MaxTotalPrice, or both to ensure that your fleet cost does not exceed your\n budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, EC2 Fleet\n will launch instances until it reaches the maximum amount that you're willing to pay. When\n the maximum amount you're willing to pay is reached, the fleet stops launching instances\n even if it hasn’t met the target capacity. The MaxTotalPrice parameters are\n located in OnDemandOptions \n and SpotOptions.

" } }, - "com.amazonaws.ec2#StaleSecurityGroup": { + "com.amazonaws.ec2#TargetCapacitySpecificationRequest": { "type": "structure", "members": { - "Description": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

The description of the security group.

", - "smithy.api#xmlName": "description" - } - }, - "GroupId": { - "target": "com.amazonaws.ec2#String", + "TotalTargetCapacity": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "GroupId", - "smithy.api#documentation": "

The ID of the security group.

", - "smithy.api#xmlName": "groupId" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of units to request, filled using\n DefaultTargetCapacityType.

", + "smithy.api#required": {} } }, - "GroupName": { - "target": "com.amazonaws.ec2#String", + "OnDemandTargetCapacity": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "GroupName", - "smithy.api#documentation": "

The name of the security group.

", - "smithy.api#xmlName": "groupName" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of On-Demand units to request.

" } }, - "StaleIpPermissions": { - "target": "com.amazonaws.ec2#StaleIpPermissionSet", + "SpotTargetCapacity": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "StaleIpPermissions", - "smithy.api#documentation": "

Information about the stale inbound rules in the security group.

", - "smithy.api#xmlName": "staleIpPermissions" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of Spot units to request.

" } }, - "StaleIpPermissionsEgress": { - "target": "com.amazonaws.ec2#StaleIpPermissionSet", + "DefaultTargetCapacityType": { + "target": "com.amazonaws.ec2#DefaultTargetCapacityType", "traits": { - "aws.protocols#ec2QueryName": "StaleIpPermissionsEgress", - "smithy.api#documentation": "

Information about the stale outbound rules in the security group.

", - "smithy.api#xmlName": "staleIpPermissionsEgress" + "smithy.api#documentation": "

The default TotalTargetCapacity, which is either Spot or\n On-Demand.

" } }, - "VpcId": { - "target": "com.amazonaws.ec2#String", + "TargetCapacityUnitType": { + "target": "com.amazonaws.ec2#TargetCapacityUnitType", "traits": { - "aws.protocols#ec2QueryName": "VpcId", - "smithy.api#documentation": "

The ID of the VPC for the security group.

", - "smithy.api#xmlName": "vpcId" + "smithy.api#documentation": "

The unit for the target capacity. TargetCapacityUnitType can only be specified when InstanceRequirements is specified.

\n

Default: units (translates to number of instances)

" } } }, "traits": { - "smithy.api#documentation": "

Describes a stale security group (a security group that contains stale rules).

" - } - }, - "com.amazonaws.ec2#StaleSecurityGroupSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#StaleSecurityGroup", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#StartInstances": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#StartInstancesRequest" - }, - "output": { - "target": "com.amazonaws.ec2#StartInstancesResult" - }, - "traits": { - "smithy.api#documentation": "

Starts an Amazon EBS-backed instance that you've previously stopped.

\n

Instances that use Amazon EBS volumes as their root devices can be quickly stopped and\n started. When an instance is stopped, the compute resources are released and you are not\n billed for instance usage. However, your root partition Amazon EBS volume remains and\n continues to persist your data, and you are charged for Amazon EBS volume usage. You can\n restart your instance at any time. Every time you start your instance, Amazon EC2\n charges a one-minute minimum for instance usage, and thereafter charges per second for\n instance usage.

\n

Before stopping an instance, make sure it is in a state from which it can be\n restarted. Stopping an instance does not preserve data stored in RAM.

\n

Performing this operation on an instance that uses an instance store as its root\n device returns an error.

\n\n

If you attempt to start a T3 instance with host tenancy and the\n unlimted CPU credit option, the request fails. The\n unlimited CPU credit option is not supported on Dedicated Hosts. Before\n you start the instance, either change its CPU credit option to standard, or\n change its tenancy to default or dedicated.

\n\n

For more information, see Stop and start your instance\n in the Amazon EC2 User Guide.

" + "smithy.api#documentation": "

The number of units to request. You can choose to set the target capacity as the number of \n instances. Or you can set the target capacity to a performance characteristic that is important to your application workload,\n such as vCPUs, memory, or I/O. If the request type is maintain, you can\n specify a target capacity of 0 and add capacity later.

\n

You can use the On-Demand Instance MaxTotalPrice parameter, the Spot Instance\n MaxTotalPrice parameter, or both parameters to ensure that your fleet cost\n does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances\n in your request, EC2 Fleet will launch instances until it reaches the maximum amount that you're\n willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops\n launching instances even if it hasn’t met the target capacity. The\n MaxTotalPrice parameters are located in OnDemandOptionsRequest \n and SpotOptionsRequest.

" } }, - "com.amazonaws.ec2#StartInstancesRequest": { - "type": "structure", + "com.amazonaws.ec2#TargetCapacityUnitType": { + "type": "enum", "members": { - "InstanceIds": { - "target": "com.amazonaws.ec2#InstanceIdStringList", + "VCPU": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IDs of the instances.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "InstanceId" + "smithy.api#enumValue": "vcpu" } }, - "AdditionalInfo": { - "target": "com.amazonaws.ec2#String", + "MEMORY_MIB": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AdditionalInfo", - "smithy.api#documentation": "

Reserved.

", - "smithy.api#xmlName": "additionalInfo" + "smithy.api#enumValue": "memory-mib" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "UNITS": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#enumValue": "units" } } } }, - "com.amazonaws.ec2#StartInstancesResult": { + "com.amazonaws.ec2#TargetConfiguration": { "type": "structure", "members": { - "StartingInstances": { - "target": "com.amazonaws.ec2#InstanceStateChangeList", + "InstanceCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "InstancesSet", - "smithy.api#documentation": "

Information about the started instances.

", - "smithy.api#xmlName": "instancesSet" + "aws.protocols#ec2QueryName": "InstanceCount", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of instances the Convertible Reserved Instance offering can be applied to. This parameter is \n reserved and cannot be specified in a request

", + "smithy.api#xmlName": "instanceCount" + } + }, + "OfferingId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "OfferingId", + "smithy.api#documentation": "

The ID of the Convertible Reserved Instance offering.

", + "smithy.api#xmlName": "offeringId" } } - } - }, - "com.amazonaws.ec2#StartNetworkInsightsAccessScopeAnalysis": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#StartNetworkInsightsAccessScopeAnalysisRequest" - }, - "output": { - "target": "com.amazonaws.ec2#StartNetworkInsightsAccessScopeAnalysisResult" }, "traits": { - "smithy.api#documentation": "

Starts analyzing the specified Network Access Scope.

" + "smithy.api#documentation": "

Information about the Convertible Reserved Instance offering.

" } }, - "com.amazonaws.ec2#StartNetworkInsightsAccessScopeAnalysisRequest": { + "com.amazonaws.ec2#TargetConfigurationRequest": { "type": "structure", "members": { - "NetworkInsightsAccessScopeId": { - "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeId", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Network Access Scope.

", - "smithy.api#required": {} - } - }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "InstanceCount": { + "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", - "traits": { - "smithy.api#documentation": "

The tags to apply.

", - "smithy.api#xmlName": "TagSpecification" + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of instances the Convertible Reserved Instance offering can be applied to. This parameter is reserved and cannot \n be specified in a request

" } }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", + "OfferingId": { + "target": "com.amazonaws.ec2#ReservedInstancesOfferingId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, \n see How to ensure idempotency.

", - "smithy.api#idempotencyToken": {}, + "smithy.api#documentation": "

The Convertible Reserved Instance offering ID.

", "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#documentation": "

Details about the target configuration.

" } }, - "com.amazonaws.ec2#StartNetworkInsightsAccessScopeAnalysisResult": { + "com.amazonaws.ec2#TargetConfigurationRequestSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#TargetConfigurationRequest", + "traits": { + "smithy.api#xmlName": "TargetConfigurationRequest" + } + } + }, + "com.amazonaws.ec2#TargetGroup": { "type": "structure", "members": { - "NetworkInsightsAccessScopeAnalysis": { - "target": "com.amazonaws.ec2#NetworkInsightsAccessScopeAnalysis", + "Arn": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NetworkInsightsAccessScopeAnalysis", - "smithy.api#documentation": "

The Network Access Scope analysis.

", - "smithy.api#xmlName": "networkInsightsAccessScopeAnalysis" + "aws.protocols#ec2QueryName": "Arn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the target group.

", + "smithy.api#xmlName": "arn" } } + }, + "traits": { + "smithy.api#documentation": "

Describes a load balancer target group.

" } }, - "com.amazonaws.ec2#StartNetworkInsightsAnalysis": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#StartNetworkInsightsAnalysisRequest" + "com.amazonaws.ec2#TargetGroups": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#TargetGroup", + "traits": { + "smithy.api#xmlName": "item" + } }, - "output": { - "target": "com.amazonaws.ec2#StartNetworkInsightsAnalysisResult" + "traits": { + "smithy.api#length": { + "min": 1, + "max": 5 + } + } + }, + "com.amazonaws.ec2#TargetGroupsConfig": { + "type": "structure", + "members": { + "TargetGroups": { + "target": "com.amazonaws.ec2#TargetGroups", + "traits": { + "aws.protocols#ec2QueryName": "TargetGroups", + "smithy.api#documentation": "

One or more target groups.

", + "smithy.api#xmlName": "targetGroups" + } + } }, "traits": { - "smithy.api#documentation": "

Starts analyzing the specified path. If the path is reachable, the\n operation returns the shortest feasible path.

" + "smithy.api#documentation": "

Describes the target groups to attach to a Spot Fleet. Spot Fleet registers the\n running Spot Instances with these target groups.

" } }, - "com.amazonaws.ec2#StartNetworkInsightsAnalysisRequest": { + "com.amazonaws.ec2#TargetNetwork": { "type": "structure", "members": { - "NetworkInsightsPathId": { - "target": "com.amazonaws.ec2#NetworkInsightsPathId", + "AssociationId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the path.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "AssociationId", + "smithy.api#documentation": "

The ID of the association.

", + "smithy.api#xmlName": "associationId" } }, - "FilterInArns": { - "target": "com.amazonaws.ec2#ArnList", + "VpcId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Names (ARN) of the resources that the path must traverse.

", - "smithy.api#xmlName": "FilterInArn" + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#documentation": "

The ID of the VPC in which the target network (subnet) is located.

", + "smithy.api#xmlName": "vpcId" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "TargetNetworkId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "TargetNetworkId", + "smithy.api#documentation": "

The ID of the subnet specified as the target network.

", + "smithy.api#xmlName": "targetNetworkId" } }, - "TagSpecifications": { - "target": "com.amazonaws.ec2#TagSpecificationList", + "ClientVpnEndpointId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The tags to apply.

", - "smithy.api#xmlName": "TagSpecification" + "aws.protocols#ec2QueryName": "ClientVpnEndpointId", + "smithy.api#documentation": "

The ID of the Client VPN endpoint with which the target network is associated.

", + "smithy.api#xmlName": "clientVpnEndpointId" } }, - "ClientToken": { - "target": "com.amazonaws.ec2#String", + "Status": { + "target": "com.amazonaws.ec2#AssociationStatus", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, \n see How to ensure idempotency.

", - "smithy.api#idempotencyToken": {}, - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The current state of the target network association.

", + "smithy.api#xmlName": "status" } - } - } - }, - "com.amazonaws.ec2#StartNetworkInsightsAnalysisResult": { - "type": "structure", - "members": { - "NetworkInsightsAnalysis": { - "target": "com.amazonaws.ec2#NetworkInsightsAnalysis", + }, + "SecurityGroups": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "aws.protocols#ec2QueryName": "NetworkInsightsAnalysis", - "smithy.api#documentation": "

Information about the network insights analysis.

", - "smithy.api#xmlName": "networkInsightsAnalysis" + "aws.protocols#ec2QueryName": "SecurityGroups", + "smithy.api#documentation": "

The IDs of the security groups applied to the target network association.

", + "smithy.api#xmlName": "securityGroups" } } - } - }, - "com.amazonaws.ec2#StartVpcEndpointServicePrivateDnsVerification": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#StartVpcEndpointServicePrivateDnsVerificationRequest" - }, - "output": { - "target": "com.amazonaws.ec2#StartVpcEndpointServicePrivateDnsVerificationResult" }, "traits": { - "smithy.api#documentation": "

Initiates the verification process to prove that the service provider owns the private\n DNS name domain for the endpoint service.

\n

The service provider must successfully perform the verification before the consumer can use the name to access the service.

\n

Before the service provider runs this command, they must add a record to the DNS server.

" + "smithy.api#documentation": "

Describes a target network associated with a Client VPN endpoint.

" } }, - "com.amazonaws.ec2#StartVpcEndpointServicePrivateDnsVerificationRequest": { + "com.amazonaws.ec2#TargetNetworkSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#TargetNetwork", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#TargetReservationValue": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "ReservationValue": { + "target": "com.amazonaws.ec2#ReservationValue", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "ReservationValue", + "smithy.api#documentation": "

The total value of the Convertible Reserved Instances that make up the exchange. This is the sum of\n the list value, remaining upfront price, and additional upfront cost of the exchange.

", + "smithy.api#xmlName": "reservationValue" } }, - "ServiceId": { - "target": "com.amazonaws.ec2#VpcEndpointServiceId", + "TargetConfiguration": { + "target": "com.amazonaws.ec2#TargetConfiguration", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the endpoint service.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "TargetConfiguration", + "smithy.api#documentation": "

The configuration of the Convertible Reserved Instances that make up the exchange.

", + "smithy.api#xmlName": "targetConfiguration" } } + }, + "traits": { + "smithy.api#documentation": "

The total value of the new Convertible Reserved Instances.

" } }, - "com.amazonaws.ec2#StartVpcEndpointServicePrivateDnsVerificationResult": { - "type": "structure", - "members": { - "ReturnValue": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "Return", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", - "smithy.api#xmlName": "return" - } + "com.amazonaws.ec2#TargetReservationValueSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#TargetReservationValue", + "traits": { + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#State": { + "com.amazonaws.ec2#TargetStorageTier": { "type": "enum", "members": { - "PendingAcceptance": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "PendingAcceptance" - } - }, - "Pending": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Pending" - } - }, - "Available": { + "archive": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "Available" + "smithy.api#enumValue": "archive" } - }, - "Deleting": { + } + } + }, + "com.amazonaws.ec2#TelemetryStatus": { + "type": "enum", + "members": { + "UP": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "Deleting" + "smithy.api#enumValue": "UP" } }, - "Deleted": { + "DOWN": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "Deleted" + "smithy.api#enumValue": "DOWN" } - }, - "Rejected": { + } + } + }, + "com.amazonaws.ec2#Tenancy": { + "type": "enum", + "members": { + "default": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "Rejected" + "smithy.api#enumValue": "default" } }, - "Failed": { + "dedicated": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "Failed" + "smithy.api#enumValue": "dedicated" } }, - "Expired": { + "host": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "Expired" + "smithy.api#enumValue": "host" } } } }, - "com.amazonaws.ec2#StateReason": { + "com.amazonaws.ec2#TerminateClientVpnConnections": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#TerminateClientVpnConnectionsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#TerminateClientVpnConnectionsResult" + }, + "traits": { + "smithy.api#documentation": "

Terminates active Client VPN endpoint connections. This action can be used to terminate a specific client connection, or up to five connections established by a specific user.

" + } + }, + "com.amazonaws.ec2#TerminateClientVpnConnectionsRequest": { "type": "structure", "members": { - "Code": { - "target": "com.amazonaws.ec2#String", + "ClientVpnEndpointId": { + "target": "com.amazonaws.ec2#ClientVpnEndpointId", "traits": { - "aws.protocols#ec2QueryName": "Code", - "smithy.api#documentation": "

The reason code for the state change.

", - "smithy.api#xmlName": "code" + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Client VPN endpoint to which the client is connected.

", + "smithy.api#required": {} } }, - "Message": { - "target": "com.amazonaws.ec2#String", + "ConnectionId": { + "target": "com.amazonaws.ec2#VpnConnectionId", "traits": { - "aws.protocols#ec2QueryName": "Message", - "smithy.api#documentation": "

The message for the state change.

\n
    \n
  • \n

    \n Server.InsufficientInstanceCapacity: There was insufficient\n capacity available to satisfy the launch request.

    \n
  • \n
  • \n

    \n Server.InternalError: An internal error caused the instance to\n terminate during launch.

    \n
  • \n
  • \n

    \n Server.ScheduledStop: The instance was stopped due to a scheduled\n retirement.

    \n
  • \n
  • \n

    \n Server.SpotInstanceShutdown: The instance was stopped because the\n number of Spot requests with a maximum price equal to or higher than the Spot\n price exceeded available capacity or because of an increase in the Spot\n price.

    \n
  • \n
  • \n

    \n Server.SpotInstanceTermination: The instance was terminated\n because the number of Spot requests with a maximum price equal to or higher than\n the Spot price exceeded available capacity or because of an increase in the Spot\n price.

    \n
  • \n
  • \n

    \n Client.InstanceInitiatedShutdown: The instance was shut down\n using the shutdown -h command from the instance.

    \n
  • \n
  • \n

    \n Client.InstanceTerminated: The instance was terminated or\n rebooted during AMI creation.

    \n
  • \n
  • \n

    \n Client.InternalError: A client error caused the instance to\n terminate during launch.

    \n
  • \n
  • \n

    \n Client.InvalidSnapshot.NotFound: The specified snapshot was not\n found.

    \n
  • \n
  • \n

    \n Client.UserInitiatedHibernate: Hibernation was initiated on the\n instance.

    \n
  • \n
  • \n

    \n Client.UserInitiatedShutdown: The instance was shut down using\n the Amazon EC2 API.

    \n
  • \n
  • \n

    \n Client.VolumeLimitExceeded: The limit on the number of EBS\n volumes or total storage was exceeded. Decrease usage or request an increase in\n your account limits.

    \n
  • \n
", - "smithy.api#xmlName": "message" + "smithy.api#documentation": "

The ID of the client connection to be terminated.

" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a state change.

" - } - }, - "com.amazonaws.ec2#StaticSourcesSupportValue": { - "type": "enum", - "members": { - "enable": { - "target": "smithy.api#Unit", + }, + "Username": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "enable" + "smithy.api#documentation": "

The name of the user who initiated the connection. Use this option to terminate all active connections for \n\t\t\tthe specified user. This option can only be used if the user has established up to five connections.

" } }, - "disable": { - "target": "smithy.api#Unit", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "disable" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#Status": { - "type": "enum", + "com.amazonaws.ec2#TerminateClientVpnConnectionsResult": { + "type": "structure", "members": { - "moveInProgress": { - "target": "smithy.api#Unit", + "ClientVpnEndpointId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "MoveInProgress" + "aws.protocols#ec2QueryName": "ClientVpnEndpointId", + "smithy.api#documentation": "

The ID of the Client VPN endpoint.

", + "smithy.api#xmlName": "clientVpnEndpointId" } }, - "inVpc": { - "target": "smithy.api#Unit", + "Username": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "InVpc" + "aws.protocols#ec2QueryName": "Username", + "smithy.api#documentation": "

The user who established the terminated client connections.

", + "smithy.api#xmlName": "username" } }, - "inClassic": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "InClassic" - } - } - } - }, - "com.amazonaws.ec2#StatusName": { - "type": "enum", - "members": { - "reachability": { - "target": "smithy.api#Unit", + "ConnectionStatuses": { + "target": "com.amazonaws.ec2#TerminateConnectionStatusSet", "traits": { - "smithy.api#enumValue": "reachability" + "aws.protocols#ec2QueryName": "ConnectionStatuses", + "smithy.api#documentation": "

The current state of the client connections.

", + "smithy.api#xmlName": "connectionStatuses" } } } }, - "com.amazonaws.ec2#StatusType": { - "type": "enum", + "com.amazonaws.ec2#TerminateConnectionStatus": { + "type": "structure", "members": { - "passed": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "passed" - } - }, - "failed": { - "target": "smithy.api#Unit", + "ConnectionId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "failed" + "aws.protocols#ec2QueryName": "ConnectionId", + "smithy.api#documentation": "

The ID of the client connection.

", + "smithy.api#xmlName": "connectionId" } }, - "insufficient_data": { - "target": "smithy.api#Unit", + "PreviousStatus": { + "target": "com.amazonaws.ec2#ClientVpnConnectionStatus", "traits": { - "smithy.api#enumValue": "insufficient-data" + "aws.protocols#ec2QueryName": "PreviousStatus", + "smithy.api#documentation": "

The state of the client connection.

", + "smithy.api#xmlName": "previousStatus" } }, - "initializing": { - "target": "smithy.api#Unit", + "CurrentStatus": { + "target": "com.amazonaws.ec2#ClientVpnConnectionStatus", "traits": { - "smithy.api#enumValue": "initializing" + "aws.protocols#ec2QueryName": "CurrentStatus", + "smithy.api#documentation": "

A message about the status of the client connection, if applicable.

", + "smithy.api#xmlName": "currentStatus" } } + }, + "traits": { + "smithy.api#documentation": "

Information about a terminated Client VPN endpoint client connection.

" } }, - "com.amazonaws.ec2#StopInstances": { + "com.amazonaws.ec2#TerminateConnectionStatusSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#TerminateConnectionStatus", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#TerminateInstances": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#StopInstancesRequest" + "target": "com.amazonaws.ec2#TerminateInstancesRequest" }, "output": { - "target": "com.amazonaws.ec2#StopInstancesResult" + "target": "com.amazonaws.ec2#TerminateInstancesResult" }, "traits": { - "smithy.api#documentation": "

Stops an Amazon EBS-backed instance. For more information, see Stop and start\n your instance in the Amazon EC2 User Guide.

\n

You can use the Stop action to hibernate an instance if the instance is enabled for\n hibernation and it meets the hibernation\n prerequisites. For more information, see Hibernate your instance in the\n Amazon EC2 User Guide.

\n

We don't charge usage for a stopped instance, or data transfer fees; however, your\n root partition Amazon EBS volume remains and continues to persist your data, and you are\n charged for Amazon EBS volume usage. Every time you start your instance, Amazon EC2\n charges a one-minute minimum for instance usage, and thereafter charges per second for\n instance usage.

\n

You can't stop or hibernate instance store-backed instances. You can't use the Stop\n action to hibernate Spot Instances, but you can specify that Amazon EC2 should hibernate\n Spot Instances when they are interrupted. For more information, see Hibernating interrupted Spot Instances in the\n Amazon EC2 User Guide.

\n

When you stop or hibernate an instance, we shut it down. You can restart your instance\n at any time. Before stopping or hibernating an instance, make sure it is in a state from\n which it can be restarted. Stopping an instance does not preserve data stored in RAM,\n but hibernating an instance does preserve data stored in RAM. If an instance cannot\n hibernate successfully, a normal shutdown occurs.

\n

Stopping and hibernating an instance is different to rebooting or terminating it. For\n example, when you stop or hibernate an instance, the root device and any other devices\n attached to the instance persist. When you terminate an instance, the root device and\n any other devices attached during the instance launch are automatically deleted. For\n more information about the differences between rebooting, stopping, hibernating, and\n terminating instances, see Instance lifecycle\n in the Amazon EC2 User Guide.

\n

When you stop an instance, we attempt to shut it down forcibly after a short while. If\n your instance appears stuck in the stopping state after a period of time, there may be\n an issue with the underlying host computer. For more information, see Troubleshoot\n stopping your instance in the Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Shuts down the specified instances. This operation is idempotent; if you terminate an\n instance more than once, each call succeeds.

\n

If you specify multiple instances and the request fails (for example, because of a\n single incorrect instance ID), none of the instances are terminated.

\n

If you terminate multiple instances across multiple Availability Zones, and one or\n more of the specified instances are enabled for termination protection, the request\n fails with the following results:

\n
    \n
  • \n

    The specified instances that are in the same Availability Zone as the\n protected instance are not terminated.

    \n
  • \n
  • \n

    The specified instances that are in different Availability Zones, where no\n other specified instances are protected, are successfully terminated.

    \n
  • \n
\n

For example, say you have the following instances:

\n
    \n
  • \n

    Instance A: us-east-1a; Not protected

    \n
  • \n
  • \n

    Instance B: us-east-1a; Not protected

    \n
  • \n
  • \n

    Instance C: us-east-1b; Protected

    \n
  • \n
  • \n

    Instance D: us-east-1b; not protected

    \n
  • \n
\n

If you attempt to terminate all of these instances in the same request, the request\n reports failure with the following results:

\n
    \n
  • \n

    Instance A and Instance B are successfully terminated because none of the\n specified instances in us-east-1a are enabled for termination\n protection.

    \n
  • \n
  • \n

    Instance C and Instance D fail to terminate because at least one of the\n specified instances in us-east-1b (Instance C) is enabled for\n termination protection.

    \n
  • \n
\n

Terminated instances remain visible after termination (for approximately one\n hour).

\n

By default, Amazon EC2 deletes all EBS volumes that were attached when the instance\n launched. Volumes attached after instance launch continue running.

\n

You can stop, start, and terminate EBS-backed instances. You can only terminate\n instance store-backed instances. What happens to an instance differs if you stop it or\n terminate it. For example, when you stop an instance, the root device and any other\n devices attached to the instance persist. When you terminate an instance, any attached\n EBS volumes with the DeleteOnTermination block device mapping parameter set\n to true are automatically deleted. For more information about the\n differences between stopping and terminating instances, see Instance lifecycle\n in the Amazon EC2 User Guide.

\n

For more information about troubleshooting, see Troubleshooting terminating your instance in the\n Amazon EC2 User Guide.

" } }, - "com.amazonaws.ec2#StopInstancesRequest": { + "com.amazonaws.ec2#TerminateInstancesRequest": { "type": "structure", "members": { "InstanceIds": { "target": "com.amazonaws.ec2#InstanceIdStringList", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IDs of the instances.

", + "smithy.api#documentation": "

The IDs of the instances.

\n

Constraints: Up to 1000 instance IDs. We recommend breaking up this request into\n smaller batches.

", "smithy.api#required": {}, "smithy.api#xmlName": "InstanceId" } }, - "Hibernate": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Hibernates the instance if the instance was enabled for hibernation at launch. If the\n instance cannot hibernate successfully, a normal shutdown occurs. For more information,\n see Hibernate\n your instance in the Amazon EC2 User Guide.

\n

Default: false\n

" - } - }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -82484,521 +89034,264 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", "smithy.api#xmlName": "dryRun" } - }, - "Force": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "Force", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Forces the instances to stop. The instances do not have an opportunity to flush file\n system caches or file system metadata. If you use this option, you must perform file\n system check and repair procedures. This option is not recommended for Windows\n instances.

\n

Default: false\n

", - "smithy.api#xmlName": "force" - } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.ec2#StopInstancesResult": { + "com.amazonaws.ec2#TerminateInstancesResult": { "type": "structure", "members": { - "StoppingInstances": { + "TerminatingInstances": { "target": "com.amazonaws.ec2#InstanceStateChangeList", "traits": { "aws.protocols#ec2QueryName": "InstancesSet", - "smithy.api#documentation": "

Information about the stopped instances.

", + "smithy.api#documentation": "

Information about the terminated instances.

", "smithy.api#xmlName": "instancesSet" } } } }, - "com.amazonaws.ec2#Storage": { - "type": "structure", - "members": { - "S3": { - "target": "com.amazonaws.ec2#S3Storage", - "traits": { - "smithy.api#documentation": "

An Amazon S3 storage location.

", - "smithy.api#xmlName": "S3" - } + "com.amazonaws.ec2#ThreadsPerCore": { + "type": "integer" + }, + "com.amazonaws.ec2#ThreadsPerCoreList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ThreadsPerCore", + "traits": { + "smithy.api#xmlName": "item" } - }, - "traits": { - "smithy.api#documentation": "

Describes the storage location for an instance store-backed AMI.

" } }, - "com.amazonaws.ec2#StorageLocation": { + "com.amazonaws.ec2#ThroughResourcesStatement": { "type": "structure", "members": { - "Bucket": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The name of the S3 bucket.

" - } - }, - "Key": { - "target": "com.amazonaws.ec2#String", + "ResourceStatement": { + "target": "com.amazonaws.ec2#ResourceStatement", "traits": { - "smithy.api#documentation": "

The key.

" + "aws.protocols#ec2QueryName": "ResourceStatement", + "smithy.api#documentation": "

The resource statement.

", + "smithy.api#xmlName": "resourceStatement" } } }, "traits": { - "smithy.api#documentation": "

Describes a storage location in Amazon S3.

" + "smithy.api#documentation": "

Describes a through resource statement.

" } }, - "com.amazonaws.ec2#StorageTier": { - "type": "enum", - "members": { - "archive": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "archive" - } - }, - "standard": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "standard" - } + "com.amazonaws.ec2#ThroughResourcesStatementList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ThroughResourcesStatement", + "traits": { + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#StoreImageTaskResult": { + "com.amazonaws.ec2#ThroughResourcesStatementRequest": { "type": "structure", "members": { - "AmiId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "AmiId", - "smithy.api#documentation": "

The ID of the AMI that is being stored.

", - "smithy.api#xmlName": "amiId" - } - }, - "TaskStartTime": { - "target": "com.amazonaws.ec2#MillisecondDateTime", - "traits": { - "aws.protocols#ec2QueryName": "TaskStartTime", - "smithy.api#documentation": "

The time the task started.

", - "smithy.api#xmlName": "taskStartTime" - } - }, - "Bucket": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "Bucket", - "smithy.api#documentation": "

The name of the Amazon S3 bucket that contains the stored AMI object.

", - "smithy.api#xmlName": "bucket" - } - }, - "S3objectKey": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "S3objectKey", - "smithy.api#documentation": "

The name of the stored AMI object in the bucket.

", - "smithy.api#xmlName": "s3objectKey" - } - }, - "ProgressPercentage": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "aws.protocols#ec2QueryName": "ProgressPercentage", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The progress of the task as a percentage.

", - "smithy.api#xmlName": "progressPercentage" - } - }, - "StoreTaskState": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "StoreTaskState", - "smithy.api#documentation": "

The state of the store task (InProgress, Completed, or\n Failed).

", - "smithy.api#xmlName": "storeTaskState" - } - }, - "StoreTaskFailureReason": { - "target": "com.amazonaws.ec2#String", + "ResourceStatement": { + "target": "com.amazonaws.ec2#ResourceStatementRequest", "traits": { - "aws.protocols#ec2QueryName": "StoreTaskFailureReason", - "smithy.api#documentation": "

If the tasks fails, the reason for the failure is returned. If the task succeeds,\n null is returned.

", - "smithy.api#xmlName": "storeTaskFailureReason" + "smithy.api#documentation": "

The resource statement.

" } } }, "traits": { - "smithy.api#documentation": "

The information about the AMI store task, including the progress of the task.

" - } - }, - "com.amazonaws.ec2#StoreImageTaskResultSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#StoreImageTaskResult", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

Describes a through resource statement.

" } }, - "com.amazonaws.ec2#String": { - "type": "string" - }, - "com.amazonaws.ec2#StringList": { + "com.amazonaws.ec2#ThroughResourcesStatementRequestList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#ThroughResourcesStatementRequest", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#StringType": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 64000 - } - } - }, - "com.amazonaws.ec2#Subnet": { - "type": "structure", + "com.amazonaws.ec2#TieringOperationStatus": { + "type": "enum", "members": { - "AvailabilityZone": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZone", - "smithy.api#documentation": "

The Availability Zone of the subnet.

", - "smithy.api#xmlName": "availabilityZone" - } - }, - "AvailabilityZoneId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "AvailabilityZoneId", - "smithy.api#documentation": "

The AZ ID of the subnet.

", - "smithy.api#xmlName": "availabilityZoneId" - } - }, - "AvailableIpAddressCount": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "aws.protocols#ec2QueryName": "AvailableIpAddressCount", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of unused private IPv4 addresses in the subnet. The IPv4 addresses for any\n\t\t\tstopped instances are considered unavailable.

", - "smithy.api#xmlName": "availableIpAddressCount" - } - }, - "CidrBlock": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "CidrBlock", - "smithy.api#documentation": "

The IPv4 CIDR block assigned to the subnet.

", - "smithy.api#xmlName": "cidrBlock" - } - }, - "DefaultForAz": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "DefaultForAz", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether this is the default subnet for the Availability Zone.

", - "smithy.api#xmlName": "defaultForAz" - } - }, - "EnableLniAtDeviceIndex": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "aws.protocols#ec2QueryName": "EnableLniAtDeviceIndex", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

\n Indicates the device position for local network interfaces in this subnet. For example, \n 1 indicates local network interfaces in this subnet are the secondary \n network interface (eth1). \n

", - "smithy.api#xmlName": "enableLniAtDeviceIndex" - } - }, - "MapPublicIpOnLaunch": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "MapPublicIpOnLaunch", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether instances launched in this subnet receive a public IPv4 address.

", - "smithy.api#xmlName": "mapPublicIpOnLaunch" - } - }, - "MapCustomerOwnedIpOnLaunch": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "MapCustomerOwnedIpOnLaunch", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether a network interface created in this subnet (including a network\n interface created by RunInstances) receives a customer-owned IPv4 address.

", - "smithy.api#xmlName": "mapCustomerOwnedIpOnLaunch" - } - }, - "CustomerOwnedIpv4Pool": { - "target": "com.amazonaws.ec2#CoipPoolId", - "traits": { - "aws.protocols#ec2QueryName": "CustomerOwnedIpv4Pool", - "smithy.api#documentation": "

The customer-owned IPv4 address pool associated with the subnet.

", - "smithy.api#xmlName": "customerOwnedIpv4Pool" - } - }, - "State": { - "target": "com.amazonaws.ec2#SubnetState", - "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The current state of the subnet.

", - "smithy.api#xmlName": "state" - } - }, - "SubnetId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "SubnetId", - "smithy.api#documentation": "

The ID of the subnet.

", - "smithy.api#xmlName": "subnetId" - } - }, - "VpcId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "VpcId", - "smithy.api#documentation": "

The ID of the VPC the subnet is in.

", - "smithy.api#xmlName": "vpcId" - } - }, - "OwnerId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the subnet.

", - "smithy.api#xmlName": "ownerId" - } - }, - "AssignIpv6AddressOnCreation": { - "target": "com.amazonaws.ec2#Boolean", + "archival_in_progress": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AssignIpv6AddressOnCreation", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether a network interface created in this subnet (including a network\n interface created by RunInstances) receives an IPv6 address.

", - "smithy.api#xmlName": "assignIpv6AddressOnCreation" + "smithy.api#enumValue": "archival-in-progress" } }, - "Ipv6CidrBlockAssociationSet": { - "target": "com.amazonaws.ec2#SubnetIpv6CidrBlockAssociationSet", + "archival_completed": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Ipv6CidrBlockAssociationSet", - "smithy.api#documentation": "

Information about the IPv6 CIDR blocks associated with the subnet.

", - "smithy.api#xmlName": "ipv6CidrBlockAssociationSet" + "smithy.api#enumValue": "archival-completed" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "archival_failed": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags assigned to the subnet.

", - "smithy.api#xmlName": "tagSet" + "smithy.api#enumValue": "archival-failed" } }, - "SubnetArn": { - "target": "com.amazonaws.ec2#String", + "temporary_restore_in_progress": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SubnetArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the subnet.

", - "smithy.api#xmlName": "subnetArn" + "smithy.api#enumValue": "temporary-restore-in-progress" } }, - "OutpostArn": { - "target": "com.amazonaws.ec2#String", + "temporary_restore_completed": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "OutpostArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Outpost.

", - "smithy.api#xmlName": "outpostArn" + "smithy.api#enumValue": "temporary-restore-completed" } }, - "EnableDns64": { - "target": "com.amazonaws.ec2#Boolean", + "temporary_restore_failed": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "EnableDns64", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet \n should return synthetic IPv6 addresses for IPv4-only destinations.

", - "smithy.api#xmlName": "enableDns64" + "smithy.api#enumValue": "temporary-restore-failed" } }, - "Ipv6Native": { - "target": "com.amazonaws.ec2#Boolean", + "permanent_restore_in_progress": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Ipv6Native", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether this is an IPv6 only subnet.

", - "smithy.api#xmlName": "ipv6Native" + "smithy.api#enumValue": "permanent-restore-in-progress" } }, - "PrivateDnsNameOptionsOnLaunch": { - "target": "com.amazonaws.ec2#PrivateDnsNameOptionsOnLaunch", - "traits": { - "aws.protocols#ec2QueryName": "PrivateDnsNameOptionsOnLaunch", - "smithy.api#documentation": "

The type of hostnames to assign to instances in the subnet at launch. An instance hostname\n is based on the IPv4 address or ID of the instance.

", - "smithy.api#xmlName": "privateDnsNameOptionsOnLaunch" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a subnet.

" - } - }, - "com.amazonaws.ec2#SubnetAssociation": { - "type": "structure", - "members": { - "SubnetId": { - "target": "com.amazonaws.ec2#String", + "permanent_restore_completed": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SubnetId", - "smithy.api#documentation": "

The ID of the subnet.

", - "smithy.api#xmlName": "subnetId" + "smithy.api#enumValue": "permanent-restore-completed" } }, - "State": { - "target": "com.amazonaws.ec2#TransitGatewayMulitcastDomainAssociationState", + "permanent_restore_failed": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the subnet association.

", - "smithy.api#xmlName": "state" + "smithy.api#enumValue": "permanent-restore-failed" } } - }, - "traits": { - "smithy.api#documentation": "

Describes the subnet association with the transit gateway multicast domain.

" - } - }, - "com.amazonaws.ec2#SubnetAssociationList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#SubnetAssociation", - "traits": { - "smithy.api#xmlName": "item" - } } }, - "com.amazonaws.ec2#SubnetCidrAssociationId": { - "type": "string" - }, - "com.amazonaws.ec2#SubnetCidrBlockState": { + "com.amazonaws.ec2#TotalLocalStorageGB": { "type": "structure", "members": { - "State": { - "target": "com.amazonaws.ec2#SubnetCidrBlockStateCode", + "Min": { + "target": "com.amazonaws.ec2#Double", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of a CIDR block.

", - "smithy.api#xmlName": "state" + "aws.protocols#ec2QueryName": "Min", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The minimum amount of total local storage, in GB. If this parameter is not specified, there is\n no minimum limit.

", + "smithy.api#xmlName": "min" } }, - "StatusMessage": { - "target": "com.amazonaws.ec2#String", + "Max": { + "target": "com.amazonaws.ec2#Double", "traits": { - "aws.protocols#ec2QueryName": "StatusMessage", - "smithy.api#documentation": "

A message about the status of the CIDR block, if applicable.

", - "smithy.api#xmlName": "statusMessage" + "aws.protocols#ec2QueryName": "Max", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum amount of total local storage, in GB. If this parameter is not specified, there is\n no maximum limit.

", + "smithy.api#xmlName": "max" } } }, "traits": { - "smithy.api#documentation": "

Describes the state of a CIDR block.

" + "smithy.api#documentation": "

The minimum and maximum amount of total local storage, in GB.

" } }, - "com.amazonaws.ec2#SubnetCidrBlockStateCode": { - "type": "enum", + "com.amazonaws.ec2#TotalLocalStorageGBRequest": { + "type": "structure", "members": { - "associating": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "associating" - } - }, - "associated": { - "target": "smithy.api#Unit", + "Min": { + "target": "com.amazonaws.ec2#Double", "traits": { - "smithy.api#enumValue": "associated" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The minimum amount of total local storage, in GB. To specify no minimum limit, omit this\n parameter.

" } }, - "disassociating": { - "target": "smithy.api#Unit", + "Max": { + "target": "com.amazonaws.ec2#Double", "traits": { - "smithy.api#enumValue": "disassociating" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum amount of total local storage, in GB. To specify no maximum limit, omit this\n parameter.

" } - }, - "disassociated": { + } + }, + "traits": { + "smithy.api#documentation": "

The minimum and maximum amount of total local storage, in GB.

" + } + }, + "com.amazonaws.ec2#TpmSupportValues": { + "type": "enum", + "members": { + "v2_0": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "disassociated" + "smithy.api#enumValue": "v2.0" } - }, - "failing": { + } + } + }, + "com.amazonaws.ec2#TrafficDirection": { + "type": "enum", + "members": { + "ingress": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "failing" + "smithy.api#enumValue": "ingress" } }, - "failed": { + "egress": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "failed" + "smithy.api#enumValue": "egress" } } } }, - "com.amazonaws.ec2#SubnetCidrReservation": { + "com.amazonaws.ec2#TrafficMirrorFilter": { "type": "structure", "members": { - "SubnetCidrReservationId": { - "target": "com.amazonaws.ec2#SubnetCidrReservationId", - "traits": { - "aws.protocols#ec2QueryName": "SubnetCidrReservationId", - "smithy.api#documentation": "

The ID of the subnet CIDR reservation.

", - "smithy.api#xmlName": "subnetCidrReservationId" - } - }, - "SubnetId": { - "target": "com.amazonaws.ec2#SubnetId", + "TrafficMirrorFilterId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SubnetId", - "smithy.api#documentation": "

The ID of the subnet.

", - "smithy.api#xmlName": "subnetId" + "aws.protocols#ec2QueryName": "TrafficMirrorFilterId", + "smithy.api#documentation": "

The ID of the Traffic Mirror filter.

", + "smithy.api#xmlName": "trafficMirrorFilterId" } }, - "Cidr": { - "target": "com.amazonaws.ec2#String", + "IngressFilterRules": { + "target": "com.amazonaws.ec2#TrafficMirrorFilterRuleList", "traits": { - "aws.protocols#ec2QueryName": "Cidr", - "smithy.api#documentation": "

The CIDR that has been reserved.

", - "smithy.api#xmlName": "cidr" + "aws.protocols#ec2QueryName": "IngressFilterRuleSet", + "smithy.api#documentation": "

Information about the ingress rules that are associated with the Traffic Mirror filter.

", + "smithy.api#xmlName": "ingressFilterRuleSet" } }, - "ReservationType": { - "target": "com.amazonaws.ec2#SubnetCidrReservationType", + "EgressFilterRules": { + "target": "com.amazonaws.ec2#TrafficMirrorFilterRuleList", "traits": { - "aws.protocols#ec2QueryName": "ReservationType", - "smithy.api#documentation": "

The type of reservation.

", - "smithy.api#xmlName": "reservationType" + "aws.protocols#ec2QueryName": "EgressFilterRuleSet", + "smithy.api#documentation": "

Information about the egress rules that are associated with the Traffic Mirror filter.

", + "smithy.api#xmlName": "egressFilterRuleSet" } }, - "OwnerId": { - "target": "com.amazonaws.ec2#String", + "NetworkServices": { + "target": "com.amazonaws.ec2#TrafficMirrorNetworkServiceList", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The ID of the account that owns the subnet CIDR reservation.

", - "smithy.api#xmlName": "ownerId" + "aws.protocols#ec2QueryName": "NetworkServiceSet", + "smithy.api#documentation": "

The network service traffic that is associated with the Traffic Mirror filter.

", + "smithy.api#xmlName": "networkServiceSet" } }, "Description": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

The\n description\n assigned to the subnet CIDR\n reservation.

", + "smithy.api#documentation": "

The description of the Traffic Mirror filter.

", "smithy.api#xmlName": "description" } }, @@ -83006,1910 +89299,2231 @@ "target": "com.amazonaws.ec2#TagList", "traits": { "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags assigned to the subnet CIDR reservation.

", + "smithy.api#documentation": "

The tags assigned to the Traffic Mirror filter.

", "smithy.api#xmlName": "tagSet" } } }, "traits": { - "smithy.api#documentation": "

Describes a subnet CIDR reservation.

" + "smithy.api#documentation": "

Describes the Traffic Mirror filter.

" } }, - "com.amazonaws.ec2#SubnetCidrReservationId": { + "com.amazonaws.ec2#TrafficMirrorFilterId": { "type": "string" }, - "com.amazonaws.ec2#SubnetCidrReservationList": { + "com.amazonaws.ec2#TrafficMirrorFilterIdList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#SubnetCidrReservation", + "target": "com.amazonaws.ec2#TrafficMirrorFilterId", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#SubnetCidrReservationType": { - "type": "enum", + "com.amazonaws.ec2#TrafficMirrorFilterRule": { + "type": "structure", "members": { - "prefix": { - "target": "smithy.api#Unit", + "TrafficMirrorFilterRuleId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "prefix" + "aws.protocols#ec2QueryName": "TrafficMirrorFilterRuleId", + "smithy.api#documentation": "

The ID of the Traffic Mirror rule.

", + "smithy.api#xmlName": "trafficMirrorFilterRuleId" } }, - "explicit": { - "target": "smithy.api#Unit", + "TrafficMirrorFilterId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "explicit" + "aws.protocols#ec2QueryName": "TrafficMirrorFilterId", + "smithy.api#documentation": "

The ID of the Traffic Mirror filter that the rule is associated with.

", + "smithy.api#xmlName": "trafficMirrorFilterId" } - } - } - }, - "com.amazonaws.ec2#SubnetId": { - "type": "string" - }, - "com.amazonaws.ec2#SubnetIdStringList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#SubnetId", - "traits": { - "smithy.api#xmlName": "SubnetId" - } - } - }, - "com.amazonaws.ec2#SubnetIpv6CidrBlockAssociation": { - "type": "structure", - "members": { - "AssociationId": { - "target": "com.amazonaws.ec2#SubnetCidrAssociationId", + }, + "TrafficDirection": { + "target": "com.amazonaws.ec2#TrafficDirection", "traits": { - "aws.protocols#ec2QueryName": "AssociationId", - "smithy.api#documentation": "

The ID of the association.

", - "smithy.api#xmlName": "associationId" + "aws.protocols#ec2QueryName": "TrafficDirection", + "smithy.api#documentation": "

The traffic direction assigned to the Traffic Mirror rule.

", + "smithy.api#xmlName": "trafficDirection" } }, - "Ipv6CidrBlock": { + "RuleNumber": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "RuleNumber", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The rule number of the Traffic Mirror rule.

", + "smithy.api#xmlName": "ruleNumber" + } + }, + "RuleAction": { + "target": "com.amazonaws.ec2#TrafficMirrorRuleAction", + "traits": { + "aws.protocols#ec2QueryName": "RuleAction", + "smithy.api#documentation": "

The action assigned to the Traffic Mirror rule.

", + "smithy.api#xmlName": "ruleAction" + } + }, + "Protocol": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Protocol", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The protocol assigned to the Traffic Mirror rule.

", + "smithy.api#xmlName": "protocol" + } + }, + "DestinationPortRange": { + "target": "com.amazonaws.ec2#TrafficMirrorPortRange", + "traits": { + "aws.protocols#ec2QueryName": "DestinationPortRange", + "smithy.api#documentation": "

The destination port range assigned to the Traffic Mirror rule.

", + "smithy.api#xmlName": "destinationPortRange" + } + }, + "SourcePortRange": { + "target": "com.amazonaws.ec2#TrafficMirrorPortRange", + "traits": { + "aws.protocols#ec2QueryName": "SourcePortRange", + "smithy.api#documentation": "

The source port range assigned to the Traffic Mirror rule.

", + "smithy.api#xmlName": "sourcePortRange" + } + }, + "DestinationCidrBlock": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Ipv6CidrBlock", - "smithy.api#documentation": "

The IPv6 CIDR block.

", - "smithy.api#xmlName": "ipv6CidrBlock" + "aws.protocols#ec2QueryName": "DestinationCidrBlock", + "smithy.api#documentation": "

The destination CIDR block assigned to the Traffic Mirror rule.

", + "smithy.api#xmlName": "destinationCidrBlock" } }, - "Ipv6CidrBlockState": { - "target": "com.amazonaws.ec2#SubnetCidrBlockState", + "SourceCidrBlock": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Ipv6CidrBlockState", - "smithy.api#documentation": "

The state of the CIDR block.

", - "smithy.api#xmlName": "ipv6CidrBlockState" + "aws.protocols#ec2QueryName": "SourceCidrBlock", + "smithy.api#documentation": "

The source CIDR block assigned to the Traffic Mirror rule.

", + "smithy.api#xmlName": "sourceCidrBlock" + } + }, + "Description": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

The description of the Traffic Mirror rule.

", + "smithy.api#xmlName": "description" } } }, "traits": { - "smithy.api#documentation": "

Describes an association between a subnet and an IPv6 CIDR block.

" - } - }, - "com.amazonaws.ec2#SubnetIpv6CidrBlockAssociationSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#SubnetIpv6CidrBlockAssociation", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#SubnetList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Subnet", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

Describes the Traffic Mirror rule.

" } }, - "com.amazonaws.ec2#SubnetState": { + "com.amazonaws.ec2#TrafficMirrorFilterRuleField": { "type": "enum", "members": { - "pending": { + "destination_port_range": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "pending" + "smithy.api#enumValue": "destination-port-range" } }, - "available": { + "source_port_range": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "available" + "smithy.api#enumValue": "source-port-range" } - } - } - }, - "com.amazonaws.ec2#SuccessfulInstanceCreditSpecificationItem": { - "type": "structure", - "members": { - "InstanceId": { - "target": "com.amazonaws.ec2#String", + }, + "protocol": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#documentation": "

The ID of the instance.

", - "smithy.api#xmlName": "instanceId" + "smithy.api#enumValue": "protocol" + } + }, + "description": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "description" } } - }, - "traits": { - "smithy.api#documentation": "

Describes the burstable performance instance whose credit option for CPU usage was\n successfully modified.

" } }, - "com.amazonaws.ec2#SuccessfulInstanceCreditSpecificationSet": { + "com.amazonaws.ec2#TrafficMirrorFilterRuleFieldList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#SuccessfulInstanceCreditSpecificationItem", - "traits": { - "smithy.api#xmlName": "item" - } + "target": "com.amazonaws.ec2#TrafficMirrorFilterRuleField" } }, - "com.amazonaws.ec2#SuccessfulQueuedPurchaseDeletion": { - "type": "structure", - "members": { - "ReservedInstancesId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "ReservedInstancesId", - "smithy.api#documentation": "

The ID of the Reserved Instance.

", - "smithy.api#xmlName": "reservedInstancesId" - } + "com.amazonaws.ec2#TrafficMirrorFilterRuleId": { + "type": "string" + }, + "com.amazonaws.ec2#TrafficMirrorFilterRuleList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#TrafficMirrorFilterRule", + "traits": { + "smithy.api#xmlName": "item" } - }, - "traits": { - "smithy.api#documentation": "

Describes a Reserved Instance whose queued purchase was successfully deleted.

" } }, - "com.amazonaws.ec2#SuccessfulQueuedPurchaseDeletionSet": { + "com.amazonaws.ec2#TrafficMirrorFilterSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#SuccessfulQueuedPurchaseDeletion", + "target": "com.amazonaws.ec2#TrafficMirrorFilter", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#SummaryStatus": { + "com.amazonaws.ec2#TrafficMirrorNetworkService": { "type": "enum", "members": { - "ok": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ok" - } - }, - "impaired": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "impaired" - } - }, - "insufficient_data": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "insufficient-data" - } - }, - "not_applicable": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "not-applicable" - } - }, - "initializing": { + "amazon_dns": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "initializing" + "smithy.api#enumValue": "amazon-dns" } } } }, - "com.amazonaws.ec2#SupportedIpAddressTypes": { + "com.amazonaws.ec2#TrafficMirrorNetworkServiceList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#ServiceConnectivityType", + "target": "com.amazonaws.ec2#TrafficMirrorNetworkService", "traits": { "smithy.api#xmlName": "item" } - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 2 - } } }, - "com.amazonaws.ec2#Tag": { + "com.amazonaws.ec2#TrafficMirrorPortRange": { "type": "structure", "members": { - "Key": { - "target": "com.amazonaws.ec2#String", + "FromPort": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "Key", - "smithy.api#documentation": "

The key of the tag.

\n

Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. \n May not begin with aws:.

", - "smithy.api#xmlName": "key" + "aws.protocols#ec2QueryName": "FromPort", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The start of the Traffic Mirror port range. This applies to the TCP and UDP protocols.

", + "smithy.api#xmlName": "fromPort" } }, - "Value": { - "target": "com.amazonaws.ec2#String", + "ToPort": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "Value", - "smithy.api#documentation": "

The value of the tag.

\n

Constraints: Tag values are case-sensitive and accept a maximum of 256 Unicode characters.

", - "smithy.api#xmlName": "value" + "aws.protocols#ec2QueryName": "ToPort", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The end of the Traffic Mirror port range. This applies to the TCP and UDP protocols.

", + "smithy.api#xmlName": "toPort" } } }, "traits": { - "smithy.api#documentation": "

Describes a tag.

" + "smithy.api#documentation": "

Describes the Traffic Mirror port range.

" } }, - "com.amazonaws.ec2#TagDescription": { + "com.amazonaws.ec2#TrafficMirrorPortRangeRequest": { "type": "structure", "members": { - "Key": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "Key", - "smithy.api#documentation": "

The tag key.

", - "smithy.api#xmlName": "key" - } - }, - "ResourceId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "ResourceId", - "smithy.api#documentation": "

The ID of the resource.

", - "smithy.api#xmlName": "resourceId" - } - }, - "ResourceType": { - "target": "com.amazonaws.ec2#ResourceType", + "FromPort": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "ResourceType", - "smithy.api#documentation": "

The resource type.

", - "smithy.api#xmlName": "resourceType" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The first port in the Traffic Mirror port range. This applies to the TCP and UDP protocols.

" } }, - "Value": { - "target": "com.amazonaws.ec2#String", + "ToPort": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "Value", - "smithy.api#documentation": "

The tag value.

", - "smithy.api#xmlName": "value" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The last port in the Traffic Mirror port range. This applies to the TCP and UDP protocols.

" } } }, "traits": { - "smithy.api#documentation": "

Describes a tag.

" - } - }, - "com.amazonaws.ec2#TagDescriptionList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#TagDescription", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#TagList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#Tag", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

Information about the Traffic Mirror filter rule port range.

" } }, - "com.amazonaws.ec2#TagSpecification": { - "type": "structure", + "com.amazonaws.ec2#TrafficMirrorRuleAction": { + "type": "enum", "members": { - "ResourceType": { - "target": "com.amazonaws.ec2#ResourceType", + "accept": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ResourceType", - "smithy.api#documentation": "

The type of resource to tag on creation.

", - "smithy.api#xmlName": "resourceType" + "smithy.api#enumValue": "accept" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "reject": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The tags to apply to the resource.

", - "smithy.api#xmlName": "Tag" + "smithy.api#enumValue": "reject" } } - }, - "traits": { - "smithy.api#documentation": "

The tags to apply to a resource when the resource is being created.

\n \n

The Valid Values lists all the resource types that can be tagged.\n However, the action you're using might not support tagging all of these resource types.\n If you try to tag a resource type that is unsupported for the action you're using,\n you'll get an error.

\n
" - } - }, - "com.amazonaws.ec2#TagSpecificationList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#TagSpecification", - "traits": { - "smithy.api#xmlName": "item" - } } }, - "com.amazonaws.ec2#TaggableResourceId": { - "type": "string" - }, - "com.amazonaws.ec2#TargetCapacitySpecification": { + "com.amazonaws.ec2#TrafficMirrorSession": { "type": "structure", "members": { - "TotalTargetCapacity": { - "target": "com.amazonaws.ec2#Integer", + "TrafficMirrorSessionId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TotalTargetCapacity", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of units to request, filled using\n DefaultTargetCapacityType.

", - "smithy.api#xmlName": "totalTargetCapacity" + "aws.protocols#ec2QueryName": "TrafficMirrorSessionId", + "smithy.api#documentation": "

The ID for the Traffic Mirror session.

", + "smithy.api#xmlName": "trafficMirrorSessionId" } }, - "OnDemandTargetCapacity": { - "target": "com.amazonaws.ec2#Integer", + "TrafficMirrorTargetId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "OnDemandTargetCapacity", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of On-Demand units to request. If you specify a target capacity for Spot units, you cannot specify a target capacity for On-Demand units.

", - "smithy.api#xmlName": "onDemandTargetCapacity" + "aws.protocols#ec2QueryName": "TrafficMirrorTargetId", + "smithy.api#documentation": "

The ID of the Traffic Mirror target.

", + "smithy.api#xmlName": "trafficMirrorTargetId" } }, - "SpotTargetCapacity": { - "target": "com.amazonaws.ec2#Integer", + "TrafficMirrorFilterId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SpotTargetCapacity", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of Spot units to launch. If you specify a target capacity for On-Demand units, you cannot specify a target capacity for Spot units.

", - "smithy.api#xmlName": "spotTargetCapacity" + "aws.protocols#ec2QueryName": "TrafficMirrorFilterId", + "smithy.api#documentation": "

The ID of the Traffic Mirror filter.

", + "smithy.api#xmlName": "trafficMirrorFilterId" } }, - "DefaultTargetCapacityType": { - "target": "com.amazonaws.ec2#DefaultTargetCapacityType", + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DefaultTargetCapacityType", - "smithy.api#documentation": "

The default TotalTargetCapacity, which is either Spot or\n On-Demand.

", - "smithy.api#xmlName": "defaultTargetCapacityType" + "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "smithy.api#documentation": "

The ID of the Traffic Mirror session's network interface.

", + "smithy.api#xmlName": "networkInterfaceId" } }, - "TargetCapacityUnitType": { - "target": "com.amazonaws.ec2#TargetCapacityUnitType", + "OwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TargetCapacityUnitType", - "smithy.api#documentation": "

The unit for the target capacity.

\n

Default: units (translates to number of instances)

", - "smithy.api#xmlName": "targetCapacityUnitType" + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the account that owns the Traffic Mirror session.

", + "smithy.api#xmlName": "ownerId" } - } - }, - "traits": { - "smithy.api#documentation": "

The number of units to request. You can choose to set the target capacity in terms of\n instances or a performance characteristic that is important to your application workload,\n such as vCPUs, memory, or I/O. If the request type is maintain, you can\n specify a target capacity of 0 and add capacity later.

\n

You can use the On-Demand Instance MaxTotalPrice parameter, the Spot Instance\n MaxTotalPrice, or both to ensure that your fleet cost does not exceed your\n budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, EC2 Fleet\n will launch instances until it reaches the maximum amount that you're willing to pay. When\n the maximum amount you're willing to pay is reached, the fleet stops launching instances\n even if it hasn’t met the target capacity. The MaxTotalPrice parameters are\n located in OnDemandOptions \n and SpotOptions.

" - } - }, - "com.amazonaws.ec2#TargetCapacitySpecificationRequest": { - "type": "structure", - "members": { - "TotalTargetCapacity": { + }, + "PacketLength": { "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "PacketLength", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The number of units to request, filled using\n DefaultTargetCapacityType.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The number of bytes in each packet to mirror. These are the bytes after the VXLAN header. To mirror a subset, set this to the length (in bytes) to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target. Do not specify this parameter when you want to mirror the entire packet

", + "smithy.api#xmlName": "packetLength" } }, - "OnDemandTargetCapacity": { + "SessionNumber": { "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "SessionNumber", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The number of On-Demand units to request.

" + "smithy.api#documentation": "

The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

\n

Valid values are 1-32766.

", + "smithy.api#xmlName": "sessionNumber" } }, - "SpotTargetCapacity": { + "VirtualNetworkId": { "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "VirtualNetworkId", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The number of Spot units to request.

" + "smithy.api#documentation": "

The virtual network ID associated with the Traffic Mirror session.

", + "smithy.api#xmlName": "virtualNetworkId" } }, - "DefaultTargetCapacityType": { - "target": "com.amazonaws.ec2#DefaultTargetCapacityType", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The default TotalTargetCapacity, which is either Spot or\n On-Demand.

" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

The description of the Traffic Mirror session.

", + "smithy.api#xmlName": "description" } }, - "TargetCapacityUnitType": { - "target": "com.amazonaws.ec2#TargetCapacityUnitType", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "smithy.api#documentation": "

The unit for the target capacity.

\n

Default: units (translates to number of instances)

" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags assigned to the Traffic Mirror session.

", + "smithy.api#xmlName": "tagSet" } } }, "traits": { - "smithy.api#documentation": "

The number of units to request. You can choose to set the target capacity as the number of \n instances. Or you can set the target capacity to a performance characteristic that is important to your application workload,\n such as vCPUs, memory, or I/O. If the request type is maintain, you can\n specify a target capacity of 0 and add capacity later.

\n

You can use the On-Demand Instance MaxTotalPrice parameter, the Spot Instance\n MaxTotalPrice parameter, or both parameters to ensure that your fleet cost\n does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances\n in your request, EC2 Fleet will launch instances until it reaches the maximum amount that you're\n willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops\n launching instances even if it hasn’t met the target capacity. The\n MaxTotalPrice parameters are located in OnDemandOptionsRequest \n and SpotOptionsRequest.

" + "smithy.api#documentation": "

Describes a Traffic Mirror session.

" } }, - "com.amazonaws.ec2#TargetCapacityUnitType": { + "com.amazonaws.ec2#TrafficMirrorSessionField": { "type": "enum", "members": { - "VCPU": { + "packet_length": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "vcpu" + "smithy.api#enumValue": "packet-length" } }, - "MEMORY_MIB": { + "description": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "memory-mib" + "smithy.api#enumValue": "description" } }, - "UNITS": { + "virtual_network_id": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "units" + "smithy.api#enumValue": "virtual-network-id" } } } }, - "com.amazonaws.ec2#TargetConfiguration": { + "com.amazonaws.ec2#TrafficMirrorSessionFieldList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#TrafficMirrorSessionField" + } + }, + "com.amazonaws.ec2#TrafficMirrorSessionId": { + "type": "string" + }, + "com.amazonaws.ec2#TrafficMirrorSessionIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#TrafficMirrorSessionId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#TrafficMirrorSessionSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#TrafficMirrorSession", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#TrafficMirrorTarget": { "type": "structure", "members": { - "InstanceCount": { - "target": "com.amazonaws.ec2#Integer", + "TrafficMirrorTargetId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "InstanceCount", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of instances the Convertible Reserved Instance offering can be applied to. This parameter is \n reserved and cannot be specified in a request

", - "smithy.api#xmlName": "instanceCount" + "aws.protocols#ec2QueryName": "TrafficMirrorTargetId", + "smithy.api#documentation": "

The ID of the Traffic Mirror target.

", + "smithy.api#xmlName": "trafficMirrorTargetId" } }, - "OfferingId": { + "NetworkInterfaceId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "OfferingId", - "smithy.api#documentation": "

The ID of the Convertible Reserved Instance offering.

", - "smithy.api#xmlName": "offeringId" + "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "smithy.api#documentation": "

The network interface ID that is attached to the target.

", + "smithy.api#xmlName": "networkInterfaceId" } - } - }, - "traits": { - "smithy.api#documentation": "

Information about the Convertible Reserved Instance offering.

" - } - }, - "com.amazonaws.ec2#TargetConfigurationRequest": { - "type": "structure", - "members": { - "InstanceCount": { - "target": "com.amazonaws.ec2#Integer", + }, + "NetworkLoadBalancerArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of instances the Convertible Reserved Instance offering can be applied to. This parameter is reserved and cannot \n be specified in a request

" + "aws.protocols#ec2QueryName": "NetworkLoadBalancerArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Network Load Balancer.

", + "smithy.api#xmlName": "networkLoadBalancerArn" } }, - "OfferingId": { - "target": "com.amazonaws.ec2#ReservedInstancesOfferingId", + "Type": { + "target": "com.amazonaws.ec2#TrafficMirrorTargetType", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The Convertible Reserved Instance offering ID.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "Type", + "smithy.api#documentation": "

The type of Traffic Mirror target.

", + "smithy.api#xmlName": "type" + } + }, + "Description": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

Information about the Traffic Mirror target.

", + "smithy.api#xmlName": "description" + } + }, + "OwnerId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the account that owns the Traffic Mirror target.

", + "smithy.api#xmlName": "ownerId" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags assigned to the Traffic Mirror target.

", + "smithy.api#xmlName": "tagSet" + } + }, + "GatewayLoadBalancerEndpointId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "GatewayLoadBalancerEndpointId", + "smithy.api#documentation": "

The ID of the Gateway Load Balancer endpoint.

", + "smithy.api#xmlName": "gatewayLoadBalancerEndpointId" } } }, "traits": { - "smithy.api#documentation": "

Details about the target configuration.

" + "smithy.api#documentation": "

Describes a Traffic Mirror target.

" } }, - "com.amazonaws.ec2#TargetConfigurationRequestSet": { + "com.amazonaws.ec2#TrafficMirrorTargetId": { + "type": "string" + }, + "com.amazonaws.ec2#TrafficMirrorTargetIdList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#TargetConfigurationRequest", + "target": "com.amazonaws.ec2#TrafficMirrorTargetId", "traits": { - "smithy.api#xmlName": "TargetConfigurationRequest" + "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#TargetGroup": { - "type": "structure", + "com.amazonaws.ec2#TrafficMirrorTargetSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#TrafficMirrorTarget", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#TrafficMirrorTargetType": { + "type": "enum", "members": { - "Arn": { - "target": "com.amazonaws.ec2#String", + "network_interface": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Arn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the target group.

", - "smithy.api#xmlName": "arn" + "smithy.api#enumValue": "network-interface" + } + }, + "network_load_balancer": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "network-load-balancer" + } + }, + "gateway_load_balancer_endpoint": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "gateway-load-balancer-endpoint" } } - }, - "traits": { - "smithy.api#documentation": "

Describes a load balancer target group.

" } }, - "com.amazonaws.ec2#TargetGroups": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#TargetGroup", - "traits": { - "smithy.api#xmlName": "item" - } - }, + "com.amazonaws.ec2#TrafficMirroringMaxResults": { + "type": "integer", "traits": { - "smithy.api#length": { - "min": 1, - "max": 5 + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 1000 } } }, - "com.amazonaws.ec2#TargetGroupsConfig": { - "type": "structure", + "com.amazonaws.ec2#TrafficType": { + "type": "enum", "members": { - "TargetGroups": { - "target": "com.amazonaws.ec2#TargetGroups", + "ACCEPT": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "TargetGroups", - "smithy.api#documentation": "

One or more target groups.

", - "smithy.api#xmlName": "targetGroups" + "smithy.api#enumValue": "ACCEPT" + } + }, + "REJECT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "REJECT" + } + }, + "ALL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ALL" } } - }, - "traits": { - "smithy.api#documentation": "

Describes the target groups to attach to a Spot Fleet. Spot Fleet registers the\n running Spot Instances with these target groups.

" } }, - "com.amazonaws.ec2#TargetNetwork": { + "com.amazonaws.ec2#TransitAssociationGatewayId": { + "type": "string" + }, + "com.amazonaws.ec2#TransitGateway": { "type": "structure", "members": { - "AssociationId": { + "TransitGatewayId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AssociationId", - "smithy.api#documentation": "

The ID of the association.

", - "smithy.api#xmlName": "associationId" + "aws.protocols#ec2QueryName": "TransitGatewayId", + "smithy.api#documentation": "

The ID of the transit gateway.

", + "smithy.api#xmlName": "transitGatewayId" } }, - "VpcId": { + "TransitGatewayArn": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "VpcId", - "smithy.api#documentation": "

The ID of the VPC in which the target network (subnet) is located.

", - "smithy.api#xmlName": "vpcId" + "aws.protocols#ec2QueryName": "TransitGatewayArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the transit gateway.

", + "smithy.api#xmlName": "transitGatewayArn" } }, - "TargetNetworkId": { + "State": { + "target": "com.amazonaws.ec2#TransitGatewayState", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the transit gateway.

", + "smithy.api#xmlName": "state" + } + }, + "OwnerId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TargetNetworkId", - "smithy.api#documentation": "

The ID of the subnet specified as the target network.

", - "smithy.api#xmlName": "targetNetworkId" + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the transit gateway.

", + "smithy.api#xmlName": "ownerId" } }, - "ClientVpnEndpointId": { + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ClientVpnEndpointId", - "smithy.api#documentation": "

The ID of the Client VPN endpoint with which the target network is associated.

", - "smithy.api#xmlName": "clientVpnEndpointId" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

The description of the transit gateway.

", + "smithy.api#xmlName": "description" } }, - "Status": { - "target": "com.amazonaws.ec2#AssociationStatus", + "CreationTime": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The current state of the target network association.

", - "smithy.api#xmlName": "status" + "aws.protocols#ec2QueryName": "CreationTime", + "smithy.api#documentation": "

The creation time.

", + "smithy.api#xmlName": "creationTime" } }, - "SecurityGroups": { - "target": "com.amazonaws.ec2#ValueStringList", + "Options": { + "target": "com.amazonaws.ec2#TransitGatewayOptions", "traits": { - "aws.protocols#ec2QueryName": "SecurityGroups", - "smithy.api#documentation": "

The IDs of the security groups applied to the target network association.

", - "smithy.api#xmlName": "securityGroups" + "aws.protocols#ec2QueryName": "Options", + "smithy.api#documentation": "

The transit gateway options.

", + "smithy.api#xmlName": "options" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags for the transit gateway.

", + "smithy.api#xmlName": "tagSet" } } }, "traits": { - "smithy.api#documentation": "

Describes a target network associated with a Client VPN endpoint.

" - } - }, - "com.amazonaws.ec2#TargetNetworkSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#TargetNetwork", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

Describes a transit gateway.

" } }, - "com.amazonaws.ec2#TargetReservationValue": { + "com.amazonaws.ec2#TransitGatewayAssociation": { "type": "structure", "members": { - "ReservationValue": { - "target": "com.amazonaws.ec2#ReservationValue", + "TransitGatewayRouteTableId": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", "traits": { - "aws.protocols#ec2QueryName": "ReservationValue", - "smithy.api#documentation": "

The total value of the Convertible Reserved Instances that make up the exchange. This is the sum of\n the list value, remaining upfront price, and additional upfront cost of the exchange.

", - "smithy.api#xmlName": "reservationValue" + "aws.protocols#ec2QueryName": "TransitGatewayRouteTableId", + "smithy.api#documentation": "

The ID of the transit gateway route table.

", + "smithy.api#xmlName": "transitGatewayRouteTableId" } }, - "TargetConfiguration": { - "target": "com.amazonaws.ec2#TargetConfiguration", + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", "traits": { - "aws.protocols#ec2QueryName": "TargetConfiguration", - "smithy.api#documentation": "

The configuration of the Convertible Reserved Instances that make up the exchange.

", - "smithy.api#xmlName": "targetConfiguration" + "aws.protocols#ec2QueryName": "TransitGatewayAttachmentId", + "smithy.api#documentation": "

The ID of the attachment.

", + "smithy.api#xmlName": "transitGatewayAttachmentId" + } + }, + "ResourceId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ResourceId", + "smithy.api#documentation": "

The ID of the resource.

", + "smithy.api#xmlName": "resourceId" + } + }, + "ResourceType": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentResourceType", + "traits": { + "aws.protocols#ec2QueryName": "ResourceType", + "smithy.api#documentation": "

The resource type. Note that the tgw-peering resource type has been deprecated.

", + "smithy.api#xmlName": "resourceType" + } + }, + "State": { + "target": "com.amazonaws.ec2#TransitGatewayAssociationState", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the association.

", + "smithy.api#xmlName": "state" } } }, "traits": { - "smithy.api#documentation": "

The total value of the new Convertible Reserved Instances.

" - } - }, - "com.amazonaws.ec2#TargetReservationValueSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#TargetReservationValue", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

Describes an association between a resource attachment and a transit gateway route table.

" } }, - "com.amazonaws.ec2#TargetStorageTier": { + "com.amazonaws.ec2#TransitGatewayAssociationState": { "type": "enum", "members": { - "archive": { + "associating": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "archive" + "smithy.api#enumValue": "associating" } - } - } - }, - "com.amazonaws.ec2#TelemetryStatus": { - "type": "enum", - "members": { - "UP": { + }, + "associated": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "UP" + "smithy.api#enumValue": "associated" } }, - "DOWN": { + "disassociating": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "DOWN" + "smithy.api#enumValue": "disassociating" + } + }, + "disassociated": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disassociated" } } } }, - "com.amazonaws.ec2#Tenancy": { - "type": "enum", + "com.amazonaws.ec2#TransitGatewayAttachment": { + "type": "structure", "members": { - "default": { - "target": "smithy.api#Unit", + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "default" + "aws.protocols#ec2QueryName": "TransitGatewayAttachmentId", + "smithy.api#documentation": "

The ID of the attachment.

", + "smithy.api#xmlName": "transitGatewayAttachmentId" } }, - "dedicated": { - "target": "smithy.api#Unit", + "TransitGatewayId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "dedicated" + "aws.protocols#ec2QueryName": "TransitGatewayId", + "smithy.api#documentation": "

The ID of the transit gateway.

", + "smithy.api#xmlName": "transitGatewayId" } }, - "host": { - "target": "smithy.api#Unit", + "TransitGatewayOwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "host" + "aws.protocols#ec2QueryName": "TransitGatewayOwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the transit gateway.

", + "smithy.api#xmlName": "transitGatewayOwnerId" } - } - } - }, - "com.amazonaws.ec2#TerminateClientVpnConnections": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#TerminateClientVpnConnectionsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#TerminateClientVpnConnectionsResult" - }, - "traits": { - "smithy.api#documentation": "

Terminates active Client VPN endpoint connections. This action can be used to terminate a specific client connection, or up to five connections established by a specific user.

" - } - }, - "com.amazonaws.ec2#TerminateClientVpnConnectionsRequest": { - "type": "structure", - "members": { - "ClientVpnEndpointId": { - "target": "com.amazonaws.ec2#ClientVpnEndpointId", + }, + "ResourceOwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the Client VPN endpoint to which the client is connected.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "ResourceOwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the resource.

", + "smithy.api#xmlName": "resourceOwnerId" } }, - "ConnectionId": { - "target": "com.amazonaws.ec2#VpnConnectionId", + "ResourceType": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentResourceType", "traits": { - "smithy.api#documentation": "

The ID of the client connection to be terminated.

" + "aws.protocols#ec2QueryName": "ResourceType", + "smithy.api#documentation": "

The resource type. Note that the tgw-peering resource type has been deprecated.

", + "smithy.api#xmlName": "resourceType" } }, - "Username": { + "ResourceId": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The name of the user who initiated the connection. Use this option to terminate all active connections for \n\t\t\tthe specified user. This option can only be used if the user has established up to five connections.

" + "aws.protocols#ec2QueryName": "ResourceId", + "smithy.api#documentation": "

The ID of the resource.

", + "smithy.api#xmlName": "resourceId" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "State": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentState", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The attachment state. Note that the initiating state has been deprecated.

", + "smithy.api#xmlName": "state" } - } - } - }, - "com.amazonaws.ec2#TerminateClientVpnConnectionsResult": { - "type": "structure", - "members": { - "ClientVpnEndpointId": { - "target": "com.amazonaws.ec2#String", + }, + "Association": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentAssociation", "traits": { - "aws.protocols#ec2QueryName": "ClientVpnEndpointId", - "smithy.api#documentation": "

The ID of the Client VPN endpoint.

", - "smithy.api#xmlName": "clientVpnEndpointId" + "aws.protocols#ec2QueryName": "Association", + "smithy.api#documentation": "

The association.

", + "smithy.api#xmlName": "association" } }, - "Username": { - "target": "com.amazonaws.ec2#String", + "CreationTime": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "Username", - "smithy.api#documentation": "

The user who established the terminated client connections.

", - "smithy.api#xmlName": "username" + "aws.protocols#ec2QueryName": "CreationTime", + "smithy.api#documentation": "

The creation time.

", + "smithy.api#xmlName": "creationTime" } }, - "ConnectionStatuses": { - "target": "com.amazonaws.ec2#TerminateConnectionStatusSet", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "ConnectionStatuses", - "smithy.api#documentation": "

The current state of the client connections.

", - "smithy.api#xmlName": "connectionStatuses" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags for the attachment.

", + "smithy.api#xmlName": "tagSet" } } + }, + "traits": { + "smithy.api#documentation": "

Describes an attachment between a resource and a transit gateway.

" } }, - "com.amazonaws.ec2#TerminateConnectionStatus": { + "com.amazonaws.ec2#TransitGatewayAttachmentAssociation": { "type": "structure", "members": { - "ConnectionId": { + "TransitGatewayRouteTableId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ConnectionId", - "smithy.api#documentation": "

The ID of the client connection.

", - "smithy.api#xmlName": "connectionId" - } - }, - "PreviousStatus": { - "target": "com.amazonaws.ec2#ClientVpnConnectionStatus", - "traits": { - "aws.protocols#ec2QueryName": "PreviousStatus", - "smithy.api#documentation": "

The state of the client connection.

", - "smithy.api#xmlName": "previousStatus" + "aws.protocols#ec2QueryName": "TransitGatewayRouteTableId", + "smithy.api#documentation": "

The ID of the route table for the transit gateway.

", + "smithy.api#xmlName": "transitGatewayRouteTableId" } }, - "CurrentStatus": { - "target": "com.amazonaws.ec2#ClientVpnConnectionStatus", + "State": { + "target": "com.amazonaws.ec2#TransitGatewayAssociationState", "traits": { - "aws.protocols#ec2QueryName": "CurrentStatus", - "smithy.api#documentation": "

A message about the status of the client connection, if applicable.

", - "smithy.api#xmlName": "currentStatus" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the association.

", + "smithy.api#xmlName": "state" } } }, "traits": { - "smithy.api#documentation": "

Information about a terminated Client VPN endpoint client connection.

" - } - }, - "com.amazonaws.ec2#TerminateConnectionStatusSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#TerminateConnectionStatus", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#TerminateInstances": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#TerminateInstancesRequest" - }, - "output": { - "target": "com.amazonaws.ec2#TerminateInstancesResult" - }, - "traits": { - "smithy.api#documentation": "

Shuts down the specified instances. This operation is idempotent; if you terminate an\n instance more than once, each call succeeds.

\n\n

If you specify multiple instances and the request fails (for example, because of a\n single incorrect instance ID), none of the instances are terminated.

\n\n

If you terminate multiple instances across multiple Availability Zones, and one or\n more of the specified instances are enabled for termination protection, the request\n fails with the following results:

\n
    \n
  • \n

    The specified instances that are in the same Availability Zone as the\n protected instance are not terminated.

    \n
  • \n
  • \n

    The specified instances that are in different Availability Zones, where no\n other specified instances are protected, are successfully terminated.

    \n
  • \n
\n\n

For example, say you have the following instances:

\n
    \n
  • \n

    Instance A: us-east-1a; Not protected

    \n
  • \n
  • \n

    Instance B: us-east-1a; Not protected

    \n
  • \n
  • \n

    Instance C: us-east-1b; Protected

    \n
  • \n
  • \n

    Instance D: us-east-1b; not protected

    \n
  • \n
\n

If you attempt to terminate all of these instances in the same request, the request\n reports failure with the following results:

\n
    \n
  • \n

    Instance A and Instance B are successfully terminated because none of the\n specified instances in us-east-1a are enabled for termination\n protection.

    \n
  • \n
  • \n

    Instance C and Instance D fail to terminate because at least one of the\n specified instances in us-east-1b (Instance C) is enabled for\n termination protection.

    \n
  • \n
\n\n\n

Terminated instances remain visible after termination (for approximately one\n hour).

\n

By default, Amazon EC2 deletes all EBS volumes that were attached when the instance\n launched. Volumes attached after instance launch continue running.

\n

You can stop, start, and terminate EBS-backed instances. You can only terminate\n instance store-backed instances. What happens to an instance differs if you stop it or\n terminate it. For example, when you stop an instance, the root device and any other\n devices attached to the instance persist. When you terminate an instance, any attached\n EBS volumes with the DeleteOnTermination block device mapping parameter set\n to true are automatically deleted. For more information about the\n differences between stopping and terminating instances, see Instance lifecycle\n in the Amazon EC2 User Guide.

\n

For more information about troubleshooting, see Troubleshooting terminating your instance in the\n Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Describes an association.

" } }, - "com.amazonaws.ec2#TerminateInstancesRequest": { + "com.amazonaws.ec2#TransitGatewayAttachmentBgpConfiguration": { "type": "structure", "members": { - "InstanceIds": { - "target": "com.amazonaws.ec2#InstanceIdStringList", + "TransitGatewayAsn": { + "target": "com.amazonaws.ec2#Long", "traits": { + "aws.protocols#ec2QueryName": "TransitGatewayAsn", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IDs of the instances.

\n

Constraints: Up to 1000 instance IDs. We recommend breaking up this request into\n smaller batches.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "InstanceId" + "smithy.api#default": 0, + "smithy.api#documentation": "

The transit gateway Autonomous System Number (ASN).

", + "smithy.api#xmlName": "transitGatewayAsn" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "PeerAsn": { + "target": "com.amazonaws.ec2#Long", "traits": { - "aws.protocols#ec2QueryName": "DryRun", + "aws.protocols#ec2QueryName": "PeerAsn", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#default": 0, + "smithy.api#documentation": "

The peer Autonomous System Number (ASN).

", + "smithy.api#xmlName": "peerAsn" } - } - } - }, - "com.amazonaws.ec2#TerminateInstancesResult": { - "type": "structure", - "members": { - "TerminatingInstances": { - "target": "com.amazonaws.ec2#InstanceStateChangeList", + }, + "TransitGatewayAddress": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "InstancesSet", - "smithy.api#documentation": "

Information about the terminated instances.

", - "smithy.api#xmlName": "instancesSet" + "aws.protocols#ec2QueryName": "TransitGatewayAddress", + "smithy.api#documentation": "

The interior BGP peer IP address for the transit gateway.

", + "smithy.api#xmlName": "transitGatewayAddress" + } + }, + "PeerAddress": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "PeerAddress", + "smithy.api#documentation": "

The interior BGP peer IP address for the appliance.

", + "smithy.api#xmlName": "peerAddress" + } + }, + "BgpStatus": { + "target": "com.amazonaws.ec2#BgpStatus", + "traits": { + "aws.protocols#ec2QueryName": "BgpStatus", + "smithy.api#documentation": "

The BGP status.

", + "smithy.api#xmlName": "bgpStatus" } } + }, + "traits": { + "smithy.api#documentation": "

The BGP configuration information.

" } }, - "com.amazonaws.ec2#ThreadsPerCore": { - "type": "integer" - }, - "com.amazonaws.ec2#ThreadsPerCoreList": { + "com.amazonaws.ec2#TransitGatewayAttachmentBgpConfigurationList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#ThreadsPerCore", + "target": "com.amazonaws.ec2#TransitGatewayAttachmentBgpConfiguration", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#ThroughResourcesStatement": { - "type": "structure", - "members": { - "ResourceStatement": { - "target": "com.amazonaws.ec2#ResourceStatement", - "traits": { - "aws.protocols#ec2QueryName": "ResourceStatement", - "smithy.api#documentation": "

The resource statement.

", - "smithy.api#xmlName": "resourceStatement" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a through resource statement.

" + "com.amazonaws.ec2#TransitGatewayAttachmentId": { + "type": "string" + }, + "com.amazonaws.ec2#TransitGatewayAttachmentIdStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentId" } }, - "com.amazonaws.ec2#ThroughResourcesStatementList": { + "com.amazonaws.ec2#TransitGatewayAttachmentList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#ThroughResourcesStatement", + "target": "com.amazonaws.ec2#TransitGatewayAttachment", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#ThroughResourcesStatementRequest": { + "com.amazonaws.ec2#TransitGatewayAttachmentPropagation": { "type": "structure", "members": { - "ResourceStatement": { - "target": "com.amazonaws.ec2#ResourceStatementRequest", + "TransitGatewayRouteTableId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The resource statement.

" + "aws.protocols#ec2QueryName": "TransitGatewayRouteTableId", + "smithy.api#documentation": "

The ID of the propagation route table.

", + "smithy.api#xmlName": "transitGatewayRouteTableId" + } + }, + "State": { + "target": "com.amazonaws.ec2#TransitGatewayPropagationState", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the propagation route table.

", + "smithy.api#xmlName": "state" } } }, "traits": { - "smithy.api#documentation": "

Describes a through resource statement.

" + "smithy.api#documentation": "

Describes a propagation route table.

" } }, - "com.amazonaws.ec2#ThroughResourcesStatementRequestList": { + "com.amazonaws.ec2#TransitGatewayAttachmentPropagationList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#ThroughResourcesStatementRequest", + "target": "com.amazonaws.ec2#TransitGatewayAttachmentPropagation", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#TieringOperationStatus": { + "com.amazonaws.ec2#TransitGatewayAttachmentResourceType": { "type": "enum", "members": { - "archival_in_progress": { + "vpc": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "archival-in-progress" + "smithy.api#enumValue": "vpc" } }, - "archival_completed": { + "vpn": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "archival-completed" + "smithy.api#enumValue": "vpn" } }, - "archival_failed": { + "direct_connect_gateway": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "archival-failed" + "smithy.api#enumValue": "direct-connect-gateway" } }, - "temporary_restore_in_progress": { + "connect": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "temporary-restore-in-progress" + "smithy.api#enumValue": "connect" } }, - "temporary_restore_completed": { + "peering": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "temporary-restore-completed" + "smithy.api#enumValue": "peering" } }, - "temporary_restore_failed": { + "tgw_peering": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "temporary-restore-failed" + "smithy.api#enumValue": "tgw-peering" + } + } + } + }, + "com.amazonaws.ec2#TransitGatewayAttachmentState": { + "type": "enum", + "members": { + "initiating": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "initiating" } }, - "permanent_restore_in_progress": { + "initiatingRequest": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "permanent-restore-in-progress" + "smithy.api#enumValue": "initiatingRequest" } }, - "permanent_restore_completed": { + "pendingAcceptance": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "permanent-restore-completed" + "smithy.api#enumValue": "pendingAcceptance" } }, - "permanent_restore_failed": { + "rollingBack": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "permanent-restore-failed" + "smithy.api#enumValue": "rollingBack" } - } - } - }, - "com.amazonaws.ec2#TotalLocalStorageGB": { - "type": "structure", - "members": { - "Min": { - "target": "com.amazonaws.ec2#Double", + }, + "pending": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Min", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The minimum amount of total local storage, in GB. If this parameter is not specified, there is\n no minimum limit.

", - "smithy.api#xmlName": "min" + "smithy.api#enumValue": "pending" } }, - "Max": { - "target": "com.amazonaws.ec2#Double", + "available": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Max", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum amount of total local storage, in GB. If this parameter is not specified, there is\n no maximum limit.

", - "smithy.api#xmlName": "max" + "smithy.api#enumValue": "available" } - } - }, - "traits": { - "smithy.api#documentation": "

The minimum and maximum amount of total local storage, in GB.

" - } - }, - "com.amazonaws.ec2#TotalLocalStorageGBRequest": { - "type": "structure", - "members": { - "Min": { - "target": "com.amazonaws.ec2#Double", + }, + "modifying": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The minimum amount of total local storage, in GB. To specify no minimum limit, omit this\n parameter.

" + "smithy.api#enumValue": "modifying" } }, - "Max": { - "target": "com.amazonaws.ec2#Double", + "deleting": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum amount of total local storage, in GB. To specify no maximum limit, omit this\n parameter.

" + "smithy.api#enumValue": "deleting" } - } - }, - "traits": { - "smithy.api#documentation": "

The minimum and maximum amount of total local storage, in GB.

" - } - }, - "com.amazonaws.ec2#TpmSupportValues": { - "type": "enum", - "members": { - "v2_0": { + }, + "deleted": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "v2.0" + "smithy.api#enumValue": "deleted" } - } - } - }, - "com.amazonaws.ec2#TrafficDirection": { - "type": "enum", - "members": { - "ingress": { + }, + "failed": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "ingress" + "smithy.api#enumValue": "failed" } }, - "egress": { + "rejected": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "egress" + "smithy.api#enumValue": "rejected" + } + }, + "rejecting": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "rejecting" + } + }, + "failing": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "failing" } } } }, - "com.amazonaws.ec2#TrafficMirrorFilter": { + "com.amazonaws.ec2#TransitGatewayCidrBlockStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#TransitGatewayConnect": { "type": "structure", "members": { - "TrafficMirrorFilterId": { - "target": "com.amazonaws.ec2#String", + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", "traits": { - "aws.protocols#ec2QueryName": "TrafficMirrorFilterId", - "smithy.api#documentation": "

The ID of the Traffic Mirror filter.

", - "smithy.api#xmlName": "trafficMirrorFilterId" + "aws.protocols#ec2QueryName": "TransitGatewayAttachmentId", + "smithy.api#documentation": "

The ID of the Connect attachment.

", + "smithy.api#xmlName": "transitGatewayAttachmentId" } }, - "IngressFilterRules": { - "target": "com.amazonaws.ec2#TrafficMirrorFilterRuleList", + "TransportTransitGatewayAttachmentId": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", "traits": { - "aws.protocols#ec2QueryName": "IngressFilterRuleSet", - "smithy.api#documentation": "

Information about the ingress rules that are associated with the Traffic Mirror filter.

", - "smithy.api#xmlName": "ingressFilterRuleSet" + "aws.protocols#ec2QueryName": "TransportTransitGatewayAttachmentId", + "smithy.api#documentation": "

The ID of the attachment from which the Connect attachment was created.

", + "smithy.api#xmlName": "transportTransitGatewayAttachmentId" } }, - "EgressFilterRules": { - "target": "com.amazonaws.ec2#TrafficMirrorFilterRuleList", + "TransitGatewayId": { + "target": "com.amazonaws.ec2#TransitGatewayId", "traits": { - "aws.protocols#ec2QueryName": "EgressFilterRuleSet", - "smithy.api#documentation": "

Information about the egress rules that are associated with the Traffic Mirror filter.

", - "smithy.api#xmlName": "egressFilterRuleSet" + "aws.protocols#ec2QueryName": "TransitGatewayId", + "smithy.api#documentation": "

The ID of the transit gateway.

", + "smithy.api#xmlName": "transitGatewayId" } }, - "NetworkServices": { - "target": "com.amazonaws.ec2#TrafficMirrorNetworkServiceList", + "State": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentState", "traits": { - "aws.protocols#ec2QueryName": "NetworkServiceSet", - "smithy.api#documentation": "

The network service traffic that is associated with the Traffic Mirror filter.

", - "smithy.api#xmlName": "networkServiceSet" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the attachment.

", + "smithy.api#xmlName": "state" } }, - "Description": { - "target": "com.amazonaws.ec2#String", + "CreationTime": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

The description of the Traffic Mirror filter.

", - "smithy.api#xmlName": "description" + "aws.protocols#ec2QueryName": "CreationTime", + "smithy.api#documentation": "

The creation time.

", + "smithy.api#xmlName": "creationTime" + } + }, + "Options": { + "target": "com.amazonaws.ec2#TransitGatewayConnectOptions", + "traits": { + "aws.protocols#ec2QueryName": "Options", + "smithy.api#documentation": "

The Connect attachment options.

", + "smithy.api#xmlName": "options" } }, "Tags": { "target": "com.amazonaws.ec2#TagList", "traits": { "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags assigned to the Traffic Mirror filter.

", + "smithy.api#documentation": "

The tags for the attachment.

", "smithy.api#xmlName": "tagSet" } } }, "traits": { - "smithy.api#documentation": "

Describes the Traffic Mirror filter.

" + "smithy.api#documentation": "

Describes a transit gateway Connect attachment.

" } }, - "com.amazonaws.ec2#TrafficMirrorFilterId": { - "type": "string" - }, - "com.amazonaws.ec2#TrafficMirrorFilterIdList": { + "com.amazonaws.ec2#TransitGatewayConnectList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#TrafficMirrorFilterId", + "target": "com.amazonaws.ec2#TransitGatewayConnect", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#TrafficMirrorFilterRule": { + "com.amazonaws.ec2#TransitGatewayConnectOptions": { "type": "structure", "members": { - "TrafficMirrorFilterRuleId": { - "target": "com.amazonaws.ec2#String", + "Protocol": { + "target": "com.amazonaws.ec2#ProtocolValue", "traits": { - "aws.protocols#ec2QueryName": "TrafficMirrorFilterRuleId", - "smithy.api#documentation": "

The ID of the Traffic Mirror rule.

", - "smithy.api#xmlName": "trafficMirrorFilterRuleId" + "aws.protocols#ec2QueryName": "Protocol", + "smithy.api#documentation": "

The tunnel protocol.

", + "smithy.api#xmlName": "protocol" } - }, - "TrafficMirrorFilterId": { - "target": "com.amazonaws.ec2#String", + } + }, + "traits": { + "smithy.api#documentation": "

Describes the Connect attachment options.

" + } + }, + "com.amazonaws.ec2#TransitGatewayConnectPeer": { + "type": "structure", + "members": { + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", "traits": { - "aws.protocols#ec2QueryName": "TrafficMirrorFilterId", - "smithy.api#documentation": "

The ID of the Traffic Mirror filter that the rule is associated with.

", - "smithy.api#xmlName": "trafficMirrorFilterId" + "aws.protocols#ec2QueryName": "TransitGatewayAttachmentId", + "smithy.api#documentation": "

The ID of the Connect attachment.

", + "smithy.api#xmlName": "transitGatewayAttachmentId" } }, - "TrafficDirection": { - "target": "com.amazonaws.ec2#TrafficDirection", + "TransitGatewayConnectPeerId": { + "target": "com.amazonaws.ec2#TransitGatewayConnectPeerId", "traits": { - "aws.protocols#ec2QueryName": "TrafficDirection", - "smithy.api#documentation": "

The traffic direction assigned to the Traffic Mirror rule.

", - "smithy.api#xmlName": "trafficDirection" + "aws.protocols#ec2QueryName": "TransitGatewayConnectPeerId", + "smithy.api#documentation": "

The ID of the Connect peer.

", + "smithy.api#xmlName": "transitGatewayConnectPeerId" } }, - "RuleNumber": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "aws.protocols#ec2QueryName": "RuleNumber", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The rule number of the Traffic Mirror rule.

", - "smithy.api#xmlName": "ruleNumber" + "State": { + "target": "com.amazonaws.ec2#TransitGatewayConnectPeerState", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the Connect peer.

", + "smithy.api#xmlName": "state" } }, - "RuleAction": { - "target": "com.amazonaws.ec2#TrafficMirrorRuleAction", + "CreationTime": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "RuleAction", - "smithy.api#documentation": "

The action assigned to the Traffic Mirror rule.

", - "smithy.api#xmlName": "ruleAction" + "aws.protocols#ec2QueryName": "CreationTime", + "smithy.api#documentation": "

The creation time.

", + "smithy.api#xmlName": "creationTime" } }, - "Protocol": { - "target": "com.amazonaws.ec2#Integer", + "ConnectPeerConfiguration": { + "target": "com.amazonaws.ec2#TransitGatewayConnectPeerConfiguration", "traits": { - "aws.protocols#ec2QueryName": "Protocol", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The protocol assigned to the Traffic Mirror rule.

", - "smithy.api#xmlName": "protocol" + "aws.protocols#ec2QueryName": "ConnectPeerConfiguration", + "smithy.api#documentation": "

The Connect peer details.

", + "smithy.api#xmlName": "connectPeerConfiguration" } }, - "DestinationPortRange": { - "target": "com.amazonaws.ec2#TrafficMirrorPortRange", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "DestinationPortRange", - "smithy.api#documentation": "

The destination port range assigned to the Traffic Mirror rule.

", - "smithy.api#xmlName": "destinationPortRange" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags for the Connect peer.

", + "smithy.api#xmlName": "tagSet" } - }, - "SourcePortRange": { - "target": "com.amazonaws.ec2#TrafficMirrorPortRange", + } + }, + "traits": { + "smithy.api#documentation": "

Describes a transit gateway Connect peer.

" + } + }, + "com.amazonaws.ec2#TransitGatewayConnectPeerConfiguration": { + "type": "structure", + "members": { + "TransitGatewayAddress": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "SourcePortRange", - "smithy.api#documentation": "

The source port range assigned to the Traffic Mirror rule.

", - "smithy.api#xmlName": "sourcePortRange" + "aws.protocols#ec2QueryName": "TransitGatewayAddress", + "smithy.api#documentation": "

The Connect peer IP address on the transit gateway side of the tunnel.

", + "smithy.api#xmlName": "transitGatewayAddress" } }, - "DestinationCidrBlock": { + "PeerAddress": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DestinationCidrBlock", - "smithy.api#documentation": "

The destination CIDR block assigned to the Traffic Mirror rule.

", - "smithy.api#xmlName": "destinationCidrBlock" + "aws.protocols#ec2QueryName": "PeerAddress", + "smithy.api#documentation": "

The Connect peer IP address on the appliance side of the tunnel.

", + "smithy.api#xmlName": "peerAddress" } }, - "SourceCidrBlock": { - "target": "com.amazonaws.ec2#String", + "InsideCidrBlocks": { + "target": "com.amazonaws.ec2#InsideCidrBlocksStringList", "traits": { - "aws.protocols#ec2QueryName": "SourceCidrBlock", - "smithy.api#documentation": "

The source CIDR block assigned to the Traffic Mirror rule.

", - "smithy.api#xmlName": "sourceCidrBlock" + "aws.protocols#ec2QueryName": "InsideCidrBlocks", + "smithy.api#documentation": "

The range of interior BGP peer IP addresses.

", + "smithy.api#xmlName": "insideCidrBlocks" } }, - "Description": { - "target": "com.amazonaws.ec2#String", + "Protocol": { + "target": "com.amazonaws.ec2#ProtocolValue", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

The description of the Traffic Mirror rule.

", - "smithy.api#xmlName": "description" + "aws.protocols#ec2QueryName": "Protocol", + "smithy.api#documentation": "

The tunnel protocol.

", + "smithy.api#xmlName": "protocol" + } + }, + "BgpConfigurations": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentBgpConfigurationList", + "traits": { + "aws.protocols#ec2QueryName": "BgpConfigurations", + "smithy.api#documentation": "

The BGP configuration details.

", + "smithy.api#xmlName": "bgpConfigurations" } } }, "traits": { - "smithy.api#documentation": "

Describes the Traffic Mirror rule.

" + "smithy.api#documentation": "

Describes the Connect peer details.

" } }, - "com.amazonaws.ec2#TrafficMirrorFilterRuleField": { + "com.amazonaws.ec2#TransitGatewayConnectPeerId": { + "type": "string" + }, + "com.amazonaws.ec2#TransitGatewayConnectPeerIdStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#TransitGatewayConnectPeerId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#TransitGatewayConnectPeerList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#TransitGatewayConnectPeer", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#TransitGatewayConnectPeerState": { "type": "enum", "members": { - "destination_port_range": { + "pending": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "destination-port-range" + "smithy.api#enumValue": "pending" } }, - "source_port_range": { + "available": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "source-port-range" + "smithy.api#enumValue": "available" } }, - "protocol": { + "deleting": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "protocol" + "smithy.api#enumValue": "deleting" } }, - "description": { + "deleted": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "description" + "smithy.api#enumValue": "deleted" } } } }, - "com.amazonaws.ec2#TrafficMirrorFilterRuleFieldList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#TrafficMirrorFilterRuleField" + "com.amazonaws.ec2#TransitGatewayConnectRequestBgpOptions": { + "type": "structure", + "members": { + "PeerAsn": { + "target": "com.amazonaws.ec2#Long", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The peer Autonomous System Number (ASN).

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The BGP options for the Connect attachment.

" } }, - "com.amazonaws.ec2#TrafficMirrorFilterRuleId": { + "com.amazonaws.ec2#TransitGatewayId": { "type": "string" }, - "com.amazonaws.ec2#TrafficMirrorFilterRuleList": { + "com.amazonaws.ec2#TransitGatewayIdStringList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#TrafficMirrorFilterRule", + "target": "com.amazonaws.ec2#TransitGatewayId", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#TrafficMirrorFilterSet": { + "com.amazonaws.ec2#TransitGatewayList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#TrafficMirrorFilter", + "target": "com.amazonaws.ec2#TransitGateway", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#TrafficMirrorNetworkService": { + "com.amazonaws.ec2#TransitGatewayMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 5, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#TransitGatewayMulitcastDomainAssociationState": { "type": "enum", "members": { - "amazon_dns": { + "pendingAcceptance": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "amazon-dns" + "smithy.api#enumValue": "pendingAcceptance" + } + }, + "associating": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "associating" + } + }, + "associated": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "associated" + } + }, + "disassociating": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disassociating" + } + }, + "disassociated": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disassociated" + } + }, + "rejected": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "rejected" + } + }, + "failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "failed" } } } }, - "com.amazonaws.ec2#TrafficMirrorNetworkServiceList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#TrafficMirrorNetworkService", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#TrafficMirrorPortRange": { + "com.amazonaws.ec2#TransitGatewayMulticastDeregisteredGroupMembers": { "type": "structure", "members": { - "FromPort": { - "target": "com.amazonaws.ec2#Integer", + "TransitGatewayMulticastDomainId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "FromPort", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The start of the Traffic Mirror port range. This applies to the TCP and UDP protocols.

", - "smithy.api#xmlName": "fromPort" + "aws.protocols#ec2QueryName": "TransitGatewayMulticastDomainId", + "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

", + "smithy.api#xmlName": "transitGatewayMulticastDomainId" } }, - "ToPort": { - "target": "com.amazonaws.ec2#Integer", + "DeregisteredNetworkInterfaceIds": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "aws.protocols#ec2QueryName": "ToPort", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The end of the Traffic Mirror port range. This applies to the TCP and UDP protocols.

", - "smithy.api#xmlName": "toPort" + "aws.protocols#ec2QueryName": "DeregisteredNetworkInterfaceIds", + "smithy.api#documentation": "

The network interface IDs of the deregistered members.

", + "smithy.api#xmlName": "deregisteredNetworkInterfaceIds" + } + }, + "GroupIpAddress": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "GroupIpAddress", + "smithy.api#documentation": "

The IP address assigned to the transit gateway multicast group.

", + "smithy.api#xmlName": "groupIpAddress" } } }, "traits": { - "smithy.api#documentation": "

Describes the Traffic Mirror port range.

" + "smithy.api#documentation": "

Describes the deregistered transit gateway multicast group members.

" } }, - "com.amazonaws.ec2#TrafficMirrorPortRangeRequest": { + "com.amazonaws.ec2#TransitGatewayMulticastDeregisteredGroupSources": { "type": "structure", "members": { - "FromPort": { - "target": "com.amazonaws.ec2#Integer", + "TransitGatewayMulticastDomainId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The first port in the Traffic Mirror port range. This applies to the TCP and UDP protocols.

" + "aws.protocols#ec2QueryName": "TransitGatewayMulticastDomainId", + "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

", + "smithy.api#xmlName": "transitGatewayMulticastDomainId" } }, - "ToPort": { - "target": "com.amazonaws.ec2#Integer", + "DeregisteredNetworkInterfaceIds": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The last port in the Traffic Mirror port range. This applies to the TCP and UDP protocols.

" + "aws.protocols#ec2QueryName": "DeregisteredNetworkInterfaceIds", + "smithy.api#documentation": "

The network interface IDs of the non-registered members.

", + "smithy.api#xmlName": "deregisteredNetworkInterfaceIds" + } + }, + "GroupIpAddress": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "GroupIpAddress", + "smithy.api#documentation": "

The IP address assigned to the transit gateway multicast group.

", + "smithy.api#xmlName": "groupIpAddress" } } }, "traits": { - "smithy.api#documentation": "

Information about the Traffic Mirror filter rule port range.

" + "smithy.api#documentation": "

Describes the deregistered transit gateway multicast group sources.

" } }, - "com.amazonaws.ec2#TrafficMirrorRuleAction": { - "type": "enum", + "com.amazonaws.ec2#TransitGatewayMulticastDomain": { + "type": "structure", "members": { - "accept": { - "target": "smithy.api#Unit", + "TransitGatewayMulticastDomainId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "accept" + "aws.protocols#ec2QueryName": "TransitGatewayMulticastDomainId", + "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

", + "smithy.api#xmlName": "transitGatewayMulticastDomainId" } }, - "reject": { - "target": "smithy.api#Unit", + "TransitGatewayId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "reject" + "aws.protocols#ec2QueryName": "TransitGatewayId", + "smithy.api#documentation": "

The ID of the transit gateway.

", + "smithy.api#xmlName": "transitGatewayId" + } + }, + "TransitGatewayMulticastDomainArn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "TransitGatewayMulticastDomainArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the transit gateway multicast domain.

", + "smithy.api#xmlName": "transitGatewayMulticastDomainArn" + } + }, + "OwnerId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the transit gateway multicast domain.

", + "smithy.api#xmlName": "ownerId" + } + }, + "Options": { + "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainOptions", + "traits": { + "aws.protocols#ec2QueryName": "Options", + "smithy.api#documentation": "

The options for the transit gateway multicast domain.

", + "smithy.api#xmlName": "options" + } + }, + "State": { + "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainState", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the transit gateway multicast domain.

", + "smithy.api#xmlName": "state" + } + }, + "CreationTime": { + "target": "com.amazonaws.ec2#DateTime", + "traits": { + "aws.protocols#ec2QueryName": "CreationTime", + "smithy.api#documentation": "

The time the transit gateway multicast domain was created.

", + "smithy.api#xmlName": "creationTime" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags for the transit gateway multicast domain.

", + "smithy.api#xmlName": "tagSet" } } + }, + "traits": { + "smithy.api#documentation": "

Describes the transit gateway multicast domain.

" } }, - "com.amazonaws.ec2#TrafficMirrorSession": { + "com.amazonaws.ec2#TransitGatewayMulticastDomainAssociation": { "type": "structure", "members": { - "TrafficMirrorSessionId": { + "TransitGatewayAttachmentId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TrafficMirrorSessionId", - "smithy.api#documentation": "

The ID for the Traffic Mirror session.

", - "smithy.api#xmlName": "trafficMirrorSessionId" + "aws.protocols#ec2QueryName": "TransitGatewayAttachmentId", + "smithy.api#documentation": "

The ID of the transit gateway attachment.

", + "smithy.api#xmlName": "transitGatewayAttachmentId" } }, - "TrafficMirrorTargetId": { + "ResourceId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TrafficMirrorTargetId", - "smithy.api#documentation": "

The ID of the Traffic Mirror target.

", - "smithy.api#xmlName": "trafficMirrorTargetId" + "aws.protocols#ec2QueryName": "ResourceId", + "smithy.api#documentation": "

The ID of the resource.

", + "smithy.api#xmlName": "resourceId" } }, - "TrafficMirrorFilterId": { + "ResourceType": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentResourceType", + "traits": { + "aws.protocols#ec2QueryName": "ResourceType", + "smithy.api#documentation": "

The type of resource, for example a VPC attachment.

", + "smithy.api#xmlName": "resourceType" + } + }, + "ResourceOwnerId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TrafficMirrorFilterId", - "smithy.api#documentation": "

The ID of the Traffic Mirror filter.

", - "smithy.api#xmlName": "trafficMirrorFilterId" + "aws.protocols#ec2QueryName": "ResourceOwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the transit gateway multicast domain association resource.

", + "smithy.api#xmlName": "resourceOwnerId" } }, - "NetworkInterfaceId": { + "Subnet": { + "target": "com.amazonaws.ec2#SubnetAssociation", + "traits": { + "aws.protocols#ec2QueryName": "Subnet", + "smithy.api#documentation": "

The subnet associated with the transit gateway multicast domain.

", + "smithy.api#xmlName": "subnet" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the resources associated with the transit gateway multicast domain.

" + } + }, + "com.amazonaws.ec2#TransitGatewayMulticastDomainAssociationList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainAssociation", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#TransitGatewayMulticastDomainAssociations": { + "type": "structure", + "members": { + "TransitGatewayMulticastDomainId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceId", - "smithy.api#documentation": "

The ID of the Traffic Mirror session's network interface.

", - "smithy.api#xmlName": "networkInterfaceId" + "aws.protocols#ec2QueryName": "TransitGatewayMulticastDomainId", + "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

", + "smithy.api#xmlName": "transitGatewayMulticastDomainId" } }, - "OwnerId": { + "TransitGatewayAttachmentId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The ID of the account that owns the Traffic Mirror session.

", - "smithy.api#xmlName": "ownerId" + "aws.protocols#ec2QueryName": "TransitGatewayAttachmentId", + "smithy.api#documentation": "

The ID of the transit gateway attachment.

", + "smithy.api#xmlName": "transitGatewayAttachmentId" } }, - "PacketLength": { - "target": "com.amazonaws.ec2#Integer", + "ResourceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PacketLength", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of bytes in each packet to mirror. These are the bytes after the VXLAN header. To mirror a subset, set this to the length (in bytes) to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target. Do not specify this parameter when you want to mirror the entire packet

", - "smithy.api#xmlName": "packetLength" + "aws.protocols#ec2QueryName": "ResourceId", + "smithy.api#documentation": "

The ID of the resource.

", + "smithy.api#xmlName": "resourceId" } }, - "SessionNumber": { - "target": "com.amazonaws.ec2#Integer", + "ResourceType": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentResourceType", "traits": { - "aws.protocols#ec2QueryName": "SessionNumber", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

\n

Valid values are 1-32766.

", - "smithy.api#xmlName": "sessionNumber" + "aws.protocols#ec2QueryName": "ResourceType", + "smithy.api#documentation": "

The type of resource, for example a VPC attachment.

", + "smithy.api#xmlName": "resourceType" } }, - "VirtualNetworkId": { - "target": "com.amazonaws.ec2#Integer", + "ResourceOwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "VirtualNetworkId", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The virtual network ID associated with the Traffic Mirror session.

", - "smithy.api#xmlName": "virtualNetworkId" + "aws.protocols#ec2QueryName": "ResourceOwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the resource.

", + "smithy.api#xmlName": "resourceOwnerId" + } + }, + "Subnets": { + "target": "com.amazonaws.ec2#SubnetAssociationList", + "traits": { + "aws.protocols#ec2QueryName": "Subnets", + "smithy.api#documentation": "

The subnets associated with the multicast domain.

", + "smithy.api#xmlName": "subnets" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the multicast domain associations.

" + } + }, + "com.amazonaws.ec2#TransitGatewayMulticastDomainId": { + "type": "string" + }, + "com.amazonaws.ec2#TransitGatewayMulticastDomainIdStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#TransitGatewayMulticastDomainList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#TransitGatewayMulticastDomain", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#TransitGatewayMulticastDomainOptions": { + "type": "structure", + "members": { + "Igmpv2Support": { + "target": "com.amazonaws.ec2#Igmpv2SupportValue", + "traits": { + "aws.protocols#ec2QueryName": "Igmpv2Support", + "smithy.api#documentation": "

Indicates whether Internet Group Management Protocol (IGMP) version 2 is turned on for the transit gateway multicast domain.

", + "smithy.api#xmlName": "igmpv2Support" } }, - "Description": { - "target": "com.amazonaws.ec2#String", + "StaticSourcesSupport": { + "target": "com.amazonaws.ec2#StaticSourcesSupportValue", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

The description of the Traffic Mirror session.

", - "smithy.api#xmlName": "description" + "aws.protocols#ec2QueryName": "StaticSourcesSupport", + "smithy.api#documentation": "

Indicates whether support for statically configuring transit gateway multicast group sources is turned on.

", + "smithy.api#xmlName": "staticSourcesSupport" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "AutoAcceptSharedAssociations": { + "target": "com.amazonaws.ec2#AutoAcceptSharedAssociationsValue", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags assigned to the Traffic Mirror session.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "AutoAcceptSharedAssociations", + "smithy.api#documentation": "

Indicates whether to automatically cross-account subnet associations that are associated with the transit gateway multicast domain.

", + "smithy.api#xmlName": "autoAcceptSharedAssociations" } } }, "traits": { - "smithy.api#documentation": "

Describes a Traffic Mirror session.

" + "smithy.api#documentation": "

Describes the options for a transit gateway multicast domain.

" } }, - "com.amazonaws.ec2#TrafficMirrorSessionField": { + "com.amazonaws.ec2#TransitGatewayMulticastDomainState": { "type": "enum", "members": { - "packet_length": { + "pending": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "packet-length" + "smithy.api#enumValue": "pending" } }, - "description": { + "available": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "description" + "smithy.api#enumValue": "available" } }, - "virtual_network_id": { + "deleting": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "virtual-network-id" + "smithy.api#enumValue": "deleting" + } + }, + "deleted": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "deleted" } } } }, - "com.amazonaws.ec2#TrafficMirrorSessionFieldList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#TrafficMirrorSessionField" - } - }, - "com.amazonaws.ec2#TrafficMirrorSessionId": { - "type": "string" - }, - "com.amazonaws.ec2#TrafficMirrorSessionIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#TrafficMirrorSessionId", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#TrafficMirrorSessionSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#TrafficMirrorSession", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#TrafficMirrorTarget": { + "com.amazonaws.ec2#TransitGatewayMulticastGroup": { "type": "structure", "members": { - "TrafficMirrorTargetId": { + "GroupIpAddress": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TrafficMirrorTargetId", - "smithy.api#documentation": "

The ID of the Traffic Mirror target.

", - "smithy.api#xmlName": "trafficMirrorTargetId" + "aws.protocols#ec2QueryName": "GroupIpAddress", + "smithy.api#documentation": "

The IP address assigned to the transit gateway multicast group.

", + "smithy.api#xmlName": "groupIpAddress" } }, - "NetworkInterfaceId": { + "TransitGatewayAttachmentId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceId", - "smithy.api#documentation": "

The network interface ID that is attached to the target.

", - "smithy.api#xmlName": "networkInterfaceId" + "aws.protocols#ec2QueryName": "TransitGatewayAttachmentId", + "smithy.api#documentation": "

The ID of the transit gateway attachment.

", + "smithy.api#xmlName": "transitGatewayAttachmentId" } }, - "NetworkLoadBalancerArn": { + "SubnetId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "NetworkLoadBalancerArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Network Load Balancer.

", - "smithy.api#xmlName": "networkLoadBalancerArn" + "aws.protocols#ec2QueryName": "SubnetId", + "smithy.api#documentation": "

The ID of the subnet.

", + "smithy.api#xmlName": "subnetId" } }, - "Type": { - "target": "com.amazonaws.ec2#TrafficMirrorTargetType", + "ResourceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Type", - "smithy.api#documentation": "

The type of Traffic Mirror target.

", - "smithy.api#xmlName": "type" + "aws.protocols#ec2QueryName": "ResourceId", + "smithy.api#documentation": "

The ID of the resource.

", + "smithy.api#xmlName": "resourceId" } }, - "Description": { + "ResourceType": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentResourceType", + "traits": { + "aws.protocols#ec2QueryName": "ResourceType", + "smithy.api#documentation": "

The type of resource, for example a VPC attachment.

", + "smithy.api#xmlName": "resourceType" + } + }, + "ResourceOwnerId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

Information about the Traffic Mirror target.

", - "smithy.api#xmlName": "description" + "aws.protocols#ec2QueryName": "ResourceOwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the transit gateway multicast domain group resource.

", + "smithy.api#xmlName": "resourceOwnerId" } }, - "OwnerId": { + "NetworkInterfaceId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The ID of the account that owns the Traffic Mirror target.

", - "smithy.api#xmlName": "ownerId" + "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "smithy.api#documentation": "

The ID of the transit gateway attachment.

", + "smithy.api#xmlName": "networkInterfaceId" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "GroupMember": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags assigned to the Traffic Mirror target.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "GroupMember", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates that the resource is a transit gateway multicast group member.

", + "smithy.api#xmlName": "groupMember" } }, - "GatewayLoadBalancerEndpointId": { - "target": "com.amazonaws.ec2#String", + "GroupSource": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "GatewayLoadBalancerEndpointId", - "smithy.api#documentation": "

The ID of the Gateway Load Balancer endpoint.

", - "smithy.api#xmlName": "gatewayLoadBalancerEndpointId" + "aws.protocols#ec2QueryName": "GroupSource", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates that the resource is a transit gateway multicast group member.

", + "smithy.api#xmlName": "groupSource" + } + }, + "MemberType": { + "target": "com.amazonaws.ec2#MembershipType", + "traits": { + "aws.protocols#ec2QueryName": "MemberType", + "smithy.api#documentation": "

The member type (for example, static).

", + "smithy.api#xmlName": "memberType" + } + }, + "SourceType": { + "target": "com.amazonaws.ec2#MembershipType", + "traits": { + "aws.protocols#ec2QueryName": "SourceType", + "smithy.api#documentation": "

The source type.

", + "smithy.api#xmlName": "sourceType" } } }, "traits": { - "smithy.api#documentation": "

Describes a Traffic Mirror target.

" - } - }, - "com.amazonaws.ec2#TrafficMirrorTargetId": { - "type": "string" - }, - "com.amazonaws.ec2#TrafficMirrorTargetIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#TrafficMirrorTargetId", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

Describes the transit gateway multicast group resources.

" } }, - "com.amazonaws.ec2#TrafficMirrorTargetSet": { + "com.amazonaws.ec2#TransitGatewayMulticastGroupList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#TrafficMirrorTarget", + "target": "com.amazonaws.ec2#TransitGatewayMulticastGroup", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#TrafficMirrorTargetType": { - "type": "enum", + "com.amazonaws.ec2#TransitGatewayMulticastRegisteredGroupMembers": { + "type": "structure", "members": { - "network_interface": { - "target": "smithy.api#Unit", + "TransitGatewayMulticastDomainId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "network-interface" + "aws.protocols#ec2QueryName": "TransitGatewayMulticastDomainId", + "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

", + "smithy.api#xmlName": "transitGatewayMulticastDomainId" } }, - "network_load_balancer": { - "target": "smithy.api#Unit", + "RegisteredNetworkInterfaceIds": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "smithy.api#enumValue": "network-load-balancer" + "aws.protocols#ec2QueryName": "RegisteredNetworkInterfaceIds", + "smithy.api#documentation": "

The ID of the registered network interfaces.

", + "smithy.api#xmlName": "registeredNetworkInterfaceIds" } }, - "gateway_load_balancer_endpoint": { - "target": "smithy.api#Unit", + "GroupIpAddress": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "gateway-load-balancer-endpoint" + "aws.protocols#ec2QueryName": "GroupIpAddress", + "smithy.api#documentation": "

The IP address assigned to the transit gateway multicast group.

", + "smithy.api#xmlName": "groupIpAddress" } } - } - }, - "com.amazonaws.ec2#TrafficMirroringMaxResults": { - "type": "integer", + }, "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 1000 - } + "smithy.api#documentation": "

Describes the registered transit gateway multicast group members.

" } }, - "com.amazonaws.ec2#TrafficType": { - "type": "enum", + "com.amazonaws.ec2#TransitGatewayMulticastRegisteredGroupSources": { + "type": "structure", "members": { - "ACCEPT": { - "target": "smithy.api#Unit", + "TransitGatewayMulticastDomainId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "ACCEPT" + "aws.protocols#ec2QueryName": "TransitGatewayMulticastDomainId", + "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

", + "smithy.api#xmlName": "transitGatewayMulticastDomainId" } }, - "REJECT": { - "target": "smithy.api#Unit", + "RegisteredNetworkInterfaceIds": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "smithy.api#enumValue": "REJECT" + "aws.protocols#ec2QueryName": "RegisteredNetworkInterfaceIds", + "smithy.api#documentation": "

The IDs of the network interfaces members registered with the transit gateway multicast group.

", + "smithy.api#xmlName": "registeredNetworkInterfaceIds" } }, - "ALL": { - "target": "smithy.api#Unit", + "GroupIpAddress": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "ALL" + "aws.protocols#ec2QueryName": "GroupIpAddress", + "smithy.api#documentation": "

The IP address assigned to the transit gateway multicast group.

", + "smithy.api#xmlName": "groupIpAddress" } } + }, + "traits": { + "smithy.api#documentation": "

Describes the members registered with the transit gateway multicast group.

" } }, - "com.amazonaws.ec2#TransitAssociationGatewayId": { - "type": "string" + "com.amazonaws.ec2#TransitGatewayNetworkInterfaceIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#NetworkInterfaceId", + "traits": { + "smithy.api#xmlName": "item" + } + } }, - "com.amazonaws.ec2#TransitGateway": { + "com.amazonaws.ec2#TransitGatewayOptions": { "type": "structure", "members": { - "TransitGatewayId": { - "target": "com.amazonaws.ec2#String", + "AmazonSideAsn": { + "target": "com.amazonaws.ec2#Long", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayId", - "smithy.api#documentation": "

The ID of the transit gateway.

", - "smithy.api#xmlName": "transitGatewayId" + "aws.protocols#ec2QueryName": "AmazonSideAsn", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

A private Autonomous System Number (ASN) for the Amazon side of a BGP session. \n The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 for 32-bit ASNs.

", + "smithy.api#xmlName": "amazonSideAsn" } }, - "TransitGatewayArn": { - "target": "com.amazonaws.ec2#String", + "TransitGatewayCidrBlocks": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the transit gateway.

", - "smithy.api#xmlName": "transitGatewayArn" + "aws.protocols#ec2QueryName": "TransitGatewayCidrBlocks", + "smithy.api#documentation": "

The transit gateway CIDR blocks.

", + "smithy.api#xmlName": "transitGatewayCidrBlocks" } }, - "State": { - "target": "com.amazonaws.ec2#TransitGatewayState", + "AutoAcceptSharedAttachments": { + "target": "com.amazonaws.ec2#AutoAcceptSharedAttachmentsValue", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the transit gateway.

", - "smithy.api#xmlName": "state" + "aws.protocols#ec2QueryName": "AutoAcceptSharedAttachments", + "smithy.api#documentation": "

Indicates whether attachment requests are automatically accepted.

", + "smithy.api#xmlName": "autoAcceptSharedAttachments" } }, - "OwnerId": { + "DefaultRouteTableAssociation": { + "target": "com.amazonaws.ec2#DefaultRouteTableAssociationValue", + "traits": { + "aws.protocols#ec2QueryName": "DefaultRouteTableAssociation", + "smithy.api#documentation": "

Indicates whether resource attachments are automatically associated with the default association route table.

", + "smithy.api#xmlName": "defaultRouteTableAssociation" + } + }, + "AssociationDefaultRouteTableId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the transit gateway.

", - "smithy.api#xmlName": "ownerId" + "aws.protocols#ec2QueryName": "AssociationDefaultRouteTableId", + "smithy.api#documentation": "

The ID of the default association route table.

", + "smithy.api#xmlName": "associationDefaultRouteTableId" } }, - "Description": { + "DefaultRouteTablePropagation": { + "target": "com.amazonaws.ec2#DefaultRouteTablePropagationValue", + "traits": { + "aws.protocols#ec2QueryName": "DefaultRouteTablePropagation", + "smithy.api#documentation": "

Indicates whether resource attachments automatically propagate routes to the default propagation route table.

", + "smithy.api#xmlName": "defaultRouteTablePropagation" + } + }, + "PropagationDefaultRouteTableId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

The description of the transit gateway.

", - "smithy.api#xmlName": "description" + "aws.protocols#ec2QueryName": "PropagationDefaultRouteTableId", + "smithy.api#documentation": "

The ID of the default propagation route table.

", + "smithy.api#xmlName": "propagationDefaultRouteTableId" } }, - "CreationTime": { - "target": "com.amazonaws.ec2#DateTime", + "VpnEcmpSupport": { + "target": "com.amazonaws.ec2#VpnEcmpSupportValue", "traits": { - "aws.protocols#ec2QueryName": "CreationTime", - "smithy.api#documentation": "

The creation time.

", - "smithy.api#xmlName": "creationTime" + "aws.protocols#ec2QueryName": "VpnEcmpSupport", + "smithy.api#documentation": "

Indicates whether Equal Cost Multipath Protocol support is enabled.

", + "smithy.api#xmlName": "vpnEcmpSupport" } }, - "Options": { - "target": "com.amazonaws.ec2#TransitGatewayOptions", + "DnsSupport": { + "target": "com.amazonaws.ec2#DnsSupportValue", "traits": { - "aws.protocols#ec2QueryName": "Options", - "smithy.api#documentation": "

The transit gateway options.

", - "smithy.api#xmlName": "options" + "aws.protocols#ec2QueryName": "DnsSupport", + "smithy.api#documentation": "

Indicates whether DNS support is enabled.

", + "smithy.api#xmlName": "dnsSupport" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "MulticastSupport": { + "target": "com.amazonaws.ec2#MulticastSupportValue", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags for the transit gateway.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "MulticastSupport", + "smithy.api#documentation": "

Indicates whether multicast is enabled on the transit gateway

", + "smithy.api#xmlName": "multicastSupport" } } }, "traits": { - "smithy.api#documentation": "

Describes a transit gateway.

" + "smithy.api#documentation": "

Describes the options for a transit gateway.

" } }, - "com.amazonaws.ec2#TransitGatewayAssociation": { + "com.amazonaws.ec2#TransitGatewayPeeringAttachment": { "type": "structure", "members": { - "TransitGatewayRouteTableId": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", - "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayRouteTableId", - "smithy.api#documentation": "

The ID of the transit gateway route table.

", - "smithy.api#xmlName": "transitGatewayRouteTableId" - } - }, "TransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", + "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "TransitGatewayAttachmentId", - "smithy.api#documentation": "

The ID of the attachment.

", + "smithy.api#documentation": "

The ID of the transit gateway peering attachment.

", "smithy.api#xmlName": "transitGatewayAttachmentId" } }, - "ResourceId": { + "AccepterTransitGatewayAttachmentId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ResourceId", - "smithy.api#documentation": "

The ID of the resource.

", - "smithy.api#xmlName": "resourceId" + "aws.protocols#ec2QueryName": "AccepterTransitGatewayAttachmentId", + "smithy.api#documentation": "

The ID of the accepter transit gateway attachment.

", + "smithy.api#xmlName": "accepterTransitGatewayAttachmentId" } }, - "ResourceType": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentResourceType", + "RequesterTgwInfo": { + "target": "com.amazonaws.ec2#PeeringTgwInfo", "traits": { - "aws.protocols#ec2QueryName": "ResourceType", - "smithy.api#documentation": "

The resource type. Note that the tgw-peering resource type has been deprecated.

", - "smithy.api#xmlName": "resourceType" + "aws.protocols#ec2QueryName": "RequesterTgwInfo", + "smithy.api#documentation": "

Information about the requester transit gateway.

", + "smithy.api#xmlName": "requesterTgwInfo" + } + }, + "AccepterTgwInfo": { + "target": "com.amazonaws.ec2#PeeringTgwInfo", + "traits": { + "aws.protocols#ec2QueryName": "AccepterTgwInfo", + "smithy.api#documentation": "

Information about the accepter transit gateway.

", + "smithy.api#xmlName": "accepterTgwInfo" + } + }, + "Options": { + "target": "com.amazonaws.ec2#TransitGatewayPeeringAttachmentOptions", + "traits": { + "aws.protocols#ec2QueryName": "Options", + "smithy.api#documentation": "

Details about the transit gateway peering attachment.

", + "smithy.api#xmlName": "options" + } + }, + "Status": { + "target": "com.amazonaws.ec2#PeeringAttachmentStatus", + "traits": { + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The status of the transit gateway peering attachment.

", + "smithy.api#xmlName": "status" } }, "State": { - "target": "com.amazonaws.ec2#TransitGatewayAssociationState", + "target": "com.amazonaws.ec2#TransitGatewayAttachmentState", "traits": { "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the association.

", + "smithy.api#documentation": "

The state of the transit gateway peering attachment. Note that the initiating state has been deprecated.

", "smithy.api#xmlName": "state" } + }, + "CreationTime": { + "target": "com.amazonaws.ec2#DateTime", + "traits": { + "aws.protocols#ec2QueryName": "CreationTime", + "smithy.api#documentation": "

The time the transit gateway peering attachment was created.

", + "smithy.api#xmlName": "creationTime" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags for the transit gateway peering attachment.

", + "smithy.api#xmlName": "tagSet" + } } }, "traits": { - "smithy.api#documentation": "

Describes an association between a resource attachment and a transit gateway route table.

" + "smithy.api#documentation": "

Describes the transit gateway peering attachment.

" } }, - "com.amazonaws.ec2#TransitGatewayAssociationState": { - "type": "enum", + "com.amazonaws.ec2#TransitGatewayPeeringAttachmentList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#TransitGatewayPeeringAttachment", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#TransitGatewayPeeringAttachmentOptions": { + "type": "structure", "members": { - "associating": { - "target": "smithy.api#Unit", + "DynamicRouting": { + "target": "com.amazonaws.ec2#DynamicRoutingValue", "traits": { - "smithy.api#enumValue": "associating" + "aws.protocols#ec2QueryName": "DynamicRouting", + "smithy.api#documentation": "

Describes whether dynamic routing is enabled or disabled for the transit gateway peering attachment.

", + "smithy.api#xmlName": "dynamicRouting" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes dynamic routing for the transit gateway peering attachment.

" + } + }, + "com.amazonaws.ec2#TransitGatewayPolicyRule": { + "type": "structure", + "members": { + "SourceCidrBlock": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "SourceCidrBlock", + "smithy.api#documentation": "

The source CIDR block for the transit gateway policy rule.

", + "smithy.api#xmlName": "sourceCidrBlock" } }, - "associated": { - "target": "smithy.api#Unit", + "SourcePortRange": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "associated" + "aws.protocols#ec2QueryName": "SourcePortRange", + "smithy.api#documentation": "

The port range for the transit gateway policy rule. Currently this is set to * (all).

", + "smithy.api#xmlName": "sourcePortRange" } }, - "disassociating": { - "target": "smithy.api#Unit", + "DestinationCidrBlock": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "DestinationCidrBlock", + "smithy.api#documentation": "

The destination CIDR block for the transit gateway policy rule.

", + "smithy.api#xmlName": "destinationCidrBlock" + } + }, + "DestinationPortRange": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "DestinationPortRange", + "smithy.api#documentation": "

The port range for the transit gateway policy rule. Currently this is set to * (all).

", + "smithy.api#xmlName": "destinationPortRange" + } + }, + "Protocol": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "disassociating" + "aws.protocols#ec2QueryName": "Protocol", + "smithy.api#documentation": "

The protocol used by the transit gateway policy rule.

", + "smithy.api#xmlName": "protocol" } }, - "disassociated": { - "target": "smithy.api#Unit", + "MetaData": { + "target": "com.amazonaws.ec2#TransitGatewayPolicyRuleMetaData", "traits": { - "smithy.api#enumValue": "disassociated" + "aws.protocols#ec2QueryName": "MetaData", + "smithy.api#documentation": "

The meta data tags used for the transit gateway policy rule.

", + "smithy.api#xmlName": "metaData" } } + }, + "traits": { + "smithy.api#documentation": "

Describes a rule associated with a transit gateway policy.

" } }, - "com.amazonaws.ec2#TransitGatewayAttachment": { + "com.amazonaws.ec2#TransitGatewayPolicyRuleMetaData": { "type": "structure", "members": { - "TransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayAttachmentId", - "smithy.api#documentation": "

The ID of the attachment.

", - "smithy.api#xmlName": "transitGatewayAttachmentId" - } - }, - "TransitGatewayId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayId", - "smithy.api#documentation": "

The ID of the transit gateway.

", - "smithy.api#xmlName": "transitGatewayId" - } - }, - "TransitGatewayOwnerId": { + "MetaDataKey": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayOwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the transit gateway.

", - "smithy.api#xmlName": "transitGatewayOwnerId" + "aws.protocols#ec2QueryName": "MetaDataKey", + "smithy.api#documentation": "

The key name for the transit gateway policy rule meta data tag.

", + "smithy.api#xmlName": "metaDataKey" } }, - "ResourceOwnerId": { + "MetaDataValue": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ResourceOwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the resource.

", - "smithy.api#xmlName": "resourceOwnerId" + "aws.protocols#ec2QueryName": "MetaDataValue", + "smithy.api#documentation": "

The value of the key for the transit gateway policy rule meta data tag.

", + "smithy.api#xmlName": "metaDataValue" } - }, - "ResourceType": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentResourceType", + } + }, + "traits": { + "smithy.api#documentation": "

Describes the meta data tags associated with a transit gateway policy rule.

" + } + }, + "com.amazonaws.ec2#TransitGatewayPolicyTable": { + "type": "structure", + "members": { + "TransitGatewayPolicyTableId": { + "target": "com.amazonaws.ec2#TransitGatewayPolicyTableId", "traits": { - "aws.protocols#ec2QueryName": "ResourceType", - "smithy.api#documentation": "

The resource type. Note that the tgw-peering resource type has been deprecated.

", - "smithy.api#xmlName": "resourceType" + "aws.protocols#ec2QueryName": "TransitGatewayPolicyTableId", + "smithy.api#documentation": "

The ID of the transit gateway policy table.

", + "smithy.api#xmlName": "transitGatewayPolicyTableId" } }, - "ResourceId": { - "target": "com.amazonaws.ec2#String", + "TransitGatewayId": { + "target": "com.amazonaws.ec2#TransitGatewayId", "traits": { - "aws.protocols#ec2QueryName": "ResourceId", - "smithy.api#documentation": "

The ID of the resource.

", - "smithy.api#xmlName": "resourceId" + "aws.protocols#ec2QueryName": "TransitGatewayId", + "smithy.api#documentation": "

The ID of the transit gateway.

", + "smithy.api#xmlName": "transitGatewayId" } }, "State": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentState", + "target": "com.amazonaws.ec2#TransitGatewayPolicyTableState", "traits": { "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The attachment state. Note that the initiating state has been deprecated.

", + "smithy.api#documentation": "

The state of the transit gateway policy table

", "smithy.api#xmlName": "state" } }, - "Association": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentAssociation", - "traits": { - "aws.protocols#ec2QueryName": "Association", - "smithy.api#documentation": "

The association.

", - "smithy.api#xmlName": "association" - } - }, "CreationTime": { "target": "com.amazonaws.ec2#DateTime", "traits": { "aws.protocols#ec2QueryName": "CreationTime", - "smithy.api#documentation": "

The creation time.

", + "smithy.api#documentation": "

The timestamp when the transit gateway policy table was created.

", "smithy.api#xmlName": "creationTime" } }, @@ -84917,219 +91531,265 @@ "target": "com.amazonaws.ec2#TagList", "traits": { "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags for the attachment.

", + "smithy.api#documentation": "

he key-value pairs associated with the transit gateway policy table.

", "smithy.api#xmlName": "tagSet" } } }, "traits": { - "smithy.api#documentation": "

Describes an attachment between a resource and a transit gateway.

" + "smithy.api#documentation": "

Describes a transit gateway policy table.

" } }, - "com.amazonaws.ec2#TransitGatewayAttachmentAssociation": { + "com.amazonaws.ec2#TransitGatewayPolicyTableAssociation": { "type": "structure", "members": { - "TransitGatewayRouteTableId": { + "TransitGatewayPolicyTableId": { + "target": "com.amazonaws.ec2#TransitGatewayPolicyTableId", + "traits": { + "aws.protocols#ec2QueryName": "TransitGatewayPolicyTableId", + "smithy.api#documentation": "

The ID of the transit gateway policy table.

", + "smithy.api#xmlName": "transitGatewayPolicyTableId" + } + }, + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", + "traits": { + "aws.protocols#ec2QueryName": "TransitGatewayAttachmentId", + "smithy.api#documentation": "

The ID of the transit gateway attachment.

", + "smithy.api#xmlName": "transitGatewayAttachmentId" + } + }, + "ResourceId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayRouteTableId", - "smithy.api#documentation": "

The ID of the route table for the transit gateway.

", - "smithy.api#xmlName": "transitGatewayRouteTableId" + "aws.protocols#ec2QueryName": "ResourceId", + "smithy.api#documentation": "

The resource ID of the transit gateway attachment.

", + "smithy.api#xmlName": "resourceId" + } + }, + "ResourceType": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentResourceType", + "traits": { + "aws.protocols#ec2QueryName": "ResourceType", + "smithy.api#documentation": "

The resource type for the transit gateway policy table association.

", + "smithy.api#xmlName": "resourceType" } }, "State": { "target": "com.amazonaws.ec2#TransitGatewayAssociationState", "traits": { "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the association.

", + "smithy.api#documentation": "

The state of the transit gateway policy table association.

", "smithy.api#xmlName": "state" } } }, "traits": { - "smithy.api#documentation": "

Describes an association.

" + "smithy.api#documentation": "

Describes a transit gateway policy table association.

" } }, - "com.amazonaws.ec2#TransitGatewayAttachmentBgpConfiguration": { + "com.amazonaws.ec2#TransitGatewayPolicyTableAssociationList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#TransitGatewayPolicyTableAssociation", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#TransitGatewayPolicyTableEntry": { "type": "structure", "members": { - "TransitGatewayAsn": { - "target": "com.amazonaws.ec2#Long", - "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayAsn", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The transit gateway Autonomous System Number (ASN).

", - "smithy.api#xmlName": "transitGatewayAsn" - } - }, - "PeerAsn": { - "target": "com.amazonaws.ec2#Long", - "traits": { - "aws.protocols#ec2QueryName": "PeerAsn", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The peer Autonomous System Number (ASN).

", - "smithy.api#xmlName": "peerAsn" - } - }, - "TransitGatewayAddress": { + "PolicyRuleNumber": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayAddress", - "smithy.api#documentation": "

The interior BGP peer IP address for the transit gateway.

", - "smithy.api#xmlName": "transitGatewayAddress" + "aws.protocols#ec2QueryName": "PolicyRuleNumber", + "smithy.api#documentation": "

The rule number for the transit gateway policy table entry.

", + "smithy.api#xmlName": "policyRuleNumber" } }, - "PeerAddress": { - "target": "com.amazonaws.ec2#String", + "PolicyRule": { + "target": "com.amazonaws.ec2#TransitGatewayPolicyRule", "traits": { - "aws.protocols#ec2QueryName": "PeerAddress", - "smithy.api#documentation": "

The interior BGP peer IP address for the appliance.

", - "smithy.api#xmlName": "peerAddress" + "aws.protocols#ec2QueryName": "PolicyRule", + "smithy.api#documentation": "

The policy rule associated with the transit gateway policy table.

", + "smithy.api#xmlName": "policyRule" } }, - "BgpStatus": { - "target": "com.amazonaws.ec2#BgpStatus", + "TargetRouteTableId": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", "traits": { - "aws.protocols#ec2QueryName": "BgpStatus", - "smithy.api#documentation": "

The BGP status.

", - "smithy.api#xmlName": "bgpStatus" + "aws.protocols#ec2QueryName": "TargetRouteTableId", + "smithy.api#documentation": "

The ID of the target route table.

", + "smithy.api#xmlName": "targetRouteTableId" } } }, "traits": { - "smithy.api#documentation": "

The BGP configuration information.

" + "smithy.api#documentation": "

Describes a transit gateway policy table entry

" } }, - "com.amazonaws.ec2#TransitGatewayAttachmentBgpConfigurationList": { + "com.amazonaws.ec2#TransitGatewayPolicyTableEntryList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentBgpConfiguration", + "target": "com.amazonaws.ec2#TransitGatewayPolicyTableEntry", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#TransitGatewayAttachmentId": { + "com.amazonaws.ec2#TransitGatewayPolicyTableId": { "type": "string" }, - "com.amazonaws.ec2#TransitGatewayAttachmentIdStringList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentId" - } - }, - "com.amazonaws.ec2#TransitGatewayAttachmentList": { + "com.amazonaws.ec2#TransitGatewayPolicyTableIdStringList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#TransitGatewayAttachment", + "target": "com.amazonaws.ec2#TransitGatewayPolicyTableId", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#TransitGatewayAttachmentPropagation": { - "type": "structure", - "members": { - "TransitGatewayRouteTableId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayRouteTableId", - "smithy.api#documentation": "

The ID of the propagation route table.

", - "smithy.api#xmlName": "transitGatewayRouteTableId" - } - }, - "State": { - "target": "com.amazonaws.ec2#TransitGatewayPropagationState", - "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the propagation route table.

", - "smithy.api#xmlName": "state" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a propagation route table.

" - } - }, - "com.amazonaws.ec2#TransitGatewayAttachmentPropagationList": { + "com.amazonaws.ec2#TransitGatewayPolicyTableList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentPropagation", + "target": "com.amazonaws.ec2#TransitGatewayPolicyTable", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#TransitGatewayAttachmentResourceType": { + "com.amazonaws.ec2#TransitGatewayPolicyTableState": { "type": "enum", "members": { - "vpc": { + "pending": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "vpc" + "smithy.api#enumValue": "pending" } }, - "vpn": { + "available": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "vpn" + "smithy.api#enumValue": "available" } }, - "direct_connect_gateway": { + "deleting": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "direct-connect-gateway" + "smithy.api#enumValue": "deleting" } }, - "connect": { + "deleted": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "connect" + "smithy.api#enumValue": "deleted" + } + } + } + }, + "com.amazonaws.ec2#TransitGatewayPrefixListAttachment": { + "type": "structure", + "members": { + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", + "traits": { + "aws.protocols#ec2QueryName": "TransitGatewayAttachmentId", + "smithy.api#documentation": "

The ID of the attachment.

", + "smithy.api#xmlName": "transitGatewayAttachmentId" } }, - "peering": { - "target": "smithy.api#Unit", + "ResourceType": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentResourceType", "traits": { - "smithy.api#enumValue": "peering" + "aws.protocols#ec2QueryName": "ResourceType", + "smithy.api#documentation": "

The resource type. Note that the tgw-peering resource type has been deprecated.

", + "smithy.api#xmlName": "resourceType" } }, - "tgw_peering": { - "target": "smithy.api#Unit", + "ResourceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "tgw-peering" + "aws.protocols#ec2QueryName": "ResourceId", + "smithy.api#documentation": "

The ID of the resource.

", + "smithy.api#xmlName": "resourceId" } } + }, + "traits": { + "smithy.api#documentation": "

Describes a transit gateway prefix list attachment.

" } }, - "com.amazonaws.ec2#TransitGatewayAttachmentState": { - "type": "enum", + "com.amazonaws.ec2#TransitGatewayPrefixListReference": { + "type": "structure", "members": { - "initiating": { - "target": "smithy.api#Unit", + "TransitGatewayRouteTableId": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", "traits": { - "smithy.api#enumValue": "initiating" + "aws.protocols#ec2QueryName": "TransitGatewayRouteTableId", + "smithy.api#documentation": "

The ID of the transit gateway route table.

", + "smithy.api#xmlName": "transitGatewayRouteTableId" } }, - "initiatingRequest": { - "target": "smithy.api#Unit", + "PrefixListId": { + "target": "com.amazonaws.ec2#PrefixListResourceId", "traits": { - "smithy.api#enumValue": "initiatingRequest" + "aws.protocols#ec2QueryName": "PrefixListId", + "smithy.api#documentation": "

The ID of the prefix list.

", + "smithy.api#xmlName": "prefixListId" } }, - "pendingAcceptance": { - "target": "smithy.api#Unit", + "PrefixListOwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "pendingAcceptance" + "aws.protocols#ec2QueryName": "PrefixListOwnerId", + "smithy.api#documentation": "

The ID of the prefix list owner.

", + "smithy.api#xmlName": "prefixListOwnerId" } }, - "rollingBack": { - "target": "smithy.api#Unit", + "State": { + "target": "com.amazonaws.ec2#TransitGatewayPrefixListReferenceState", "traits": { - "smithy.api#enumValue": "rollingBack" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the prefix list reference.

", + "smithy.api#xmlName": "state" + } + }, + "Blackhole": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "Blackhole", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether traffic that matches this route is dropped.

", + "smithy.api#xmlName": "blackhole" } }, + "TransitGatewayAttachment": { + "target": "com.amazonaws.ec2#TransitGatewayPrefixListAttachment", + "traits": { + "aws.protocols#ec2QueryName": "TransitGatewayAttachment", + "smithy.api#documentation": "

Information about the transit gateway attachment.

", + "smithy.api#xmlName": "transitGatewayAttachment" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a prefix list reference.

" + } + }, + "com.amazonaws.ec2#TransitGatewayPrefixListReferenceSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#TransitGatewayPrefixListReference", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#TransitGatewayPrefixListReferenceState": { + "type": "enum", + "members": { "pending": { "target": "smithy.api#Unit", "traits": { @@ -85153,497 +91813,433 @@ "traits": { "smithy.api#enumValue": "deleting" } - }, - "deleted": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "deleted" - } - }, - "failed": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "failed" - } - }, - "rejected": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "rejected" - } - }, - "rejecting": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "rejecting" - } - }, - "failing": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "failing" - } - } - } - }, - "com.amazonaws.ec2#TransitGatewayCidrBlockStringList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#TransitGatewayConnect": { + "com.amazonaws.ec2#TransitGatewayPropagation": { "type": "structure", "members": { "TransitGatewayAttachmentId": { "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", "traits": { "aws.protocols#ec2QueryName": "TransitGatewayAttachmentId", - "smithy.api#documentation": "

The ID of the Connect attachment.

", + "smithy.api#documentation": "

The ID of the attachment.

", "smithy.api#xmlName": "transitGatewayAttachmentId" } }, - "TransportTransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", + "ResourceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TransportTransitGatewayAttachmentId", - "smithy.api#documentation": "

The ID of the attachment from which the Connect attachment was created.

", - "smithy.api#xmlName": "transportTransitGatewayAttachmentId" + "aws.protocols#ec2QueryName": "ResourceId", + "smithy.api#documentation": "

The ID of the resource.

", + "smithy.api#xmlName": "resourceId" } }, - "TransitGatewayId": { - "target": "com.amazonaws.ec2#TransitGatewayId", + "ResourceType": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentResourceType", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayId", - "smithy.api#documentation": "

The ID of the transit gateway.

", - "smithy.api#xmlName": "transitGatewayId" + "aws.protocols#ec2QueryName": "ResourceType", + "smithy.api#documentation": "

The resource type. Note that the tgw-peering resource type has been deprecated.

", + "smithy.api#xmlName": "resourceType" + } + }, + "TransitGatewayRouteTableId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "TransitGatewayRouteTableId", + "smithy.api#documentation": "

The ID of the transit gateway route table.

", + "smithy.api#xmlName": "transitGatewayRouteTableId" } }, "State": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentState", + "target": "com.amazonaws.ec2#TransitGatewayPropagationState", "traits": { "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the attachment.

", + "smithy.api#documentation": "

The state.

", "smithy.api#xmlName": "state" } }, - "CreationTime": { - "target": "com.amazonaws.ec2#DateTime", + "TransitGatewayRouteTableAnnouncementId": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementId", "traits": { - "aws.protocols#ec2QueryName": "CreationTime", - "smithy.api#documentation": "

The creation time.

", - "smithy.api#xmlName": "creationTime" + "aws.protocols#ec2QueryName": "TransitGatewayRouteTableAnnouncementId", + "smithy.api#documentation": "

The ID of the transit gateway route table announcement.

", + "smithy.api#xmlName": "transitGatewayRouteTableAnnouncementId" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes route propagation.

" + } + }, + "com.amazonaws.ec2#TransitGatewayPropagationState": { + "type": "enum", + "members": { + "enabling": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "enabling" } }, - "Options": { - "target": "com.amazonaws.ec2#TransitGatewayConnectOptions", + "enabled": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Options", - "smithy.api#documentation": "

The Connect attachment options.

", - "smithy.api#xmlName": "options" + "smithy.api#enumValue": "enabled" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "disabling": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags for the attachment.

", - "smithy.api#xmlName": "tagSet" + "smithy.api#enumValue": "disabling" + } + }, + "disabled": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disabled" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a transit gateway Connect attachment.

" - } - }, - "com.amazonaws.ec2#TransitGatewayConnectList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#TransitGatewayConnect", - "traits": { - "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#TransitGatewayConnectOptions": { + "com.amazonaws.ec2#TransitGatewayRequestOptions": { "type": "structure", "members": { - "Protocol": { - "target": "com.amazonaws.ec2#ProtocolValue", + "AmazonSideAsn": { + "target": "com.amazonaws.ec2#Long", "traits": { - "aws.protocols#ec2QueryName": "Protocol", - "smithy.api#documentation": "

The tunnel protocol.

", - "smithy.api#xmlName": "protocol" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

A private Autonomous System Number (ASN) for the Amazon side of a BGP session. \n The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 for 32-bit ASNs. The default is 64512.

" + } + }, + "AutoAcceptSharedAttachments": { + "target": "com.amazonaws.ec2#AutoAcceptSharedAttachmentsValue", + "traits": { + "smithy.api#documentation": "

Enable or disable automatic acceptance of attachment requests. Disabled by default.

" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the Connect attachment options.

" - } - }, - "com.amazonaws.ec2#TransitGatewayConnectPeer": { - "type": "structure", - "members": { - "TransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", + }, + "DefaultRouteTableAssociation": { + "target": "com.amazonaws.ec2#DefaultRouteTableAssociationValue", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayAttachmentId", - "smithy.api#documentation": "

The ID of the Connect attachment.

", - "smithy.api#xmlName": "transitGatewayAttachmentId" + "smithy.api#documentation": "

Enable or disable automatic association with the default association route table. Enabled by default.

" } }, - "TransitGatewayConnectPeerId": { - "target": "com.amazonaws.ec2#TransitGatewayConnectPeerId", + "DefaultRouteTablePropagation": { + "target": "com.amazonaws.ec2#DefaultRouteTablePropagationValue", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayConnectPeerId", - "smithy.api#documentation": "

The ID of the Connect peer.

", - "smithy.api#xmlName": "transitGatewayConnectPeerId" + "smithy.api#documentation": "

Enable or disable automatic propagation of routes to the default propagation route table. Enabled by default.

" } }, - "State": { - "target": "com.amazonaws.ec2#TransitGatewayConnectPeerState", + "VpnEcmpSupport": { + "target": "com.amazonaws.ec2#VpnEcmpSupportValue", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the Connect peer.

", - "smithy.api#xmlName": "state" + "smithy.api#documentation": "

Enable or disable Equal Cost Multipath Protocol support. Enabled by default.

" } }, - "CreationTime": { - "target": "com.amazonaws.ec2#DateTime", + "DnsSupport": { + "target": "com.amazonaws.ec2#DnsSupportValue", "traits": { - "aws.protocols#ec2QueryName": "CreationTime", - "smithy.api#documentation": "

The creation time.

", - "smithy.api#xmlName": "creationTime" + "smithy.api#documentation": "

Enable or disable DNS support. Enabled by default.

" } }, - "ConnectPeerConfiguration": { - "target": "com.amazonaws.ec2#TransitGatewayConnectPeerConfiguration", + "MulticastSupport": { + "target": "com.amazonaws.ec2#MulticastSupportValue", "traits": { - "aws.protocols#ec2QueryName": "ConnectPeerConfiguration", - "smithy.api#documentation": "

The Connect peer details.

", - "smithy.api#xmlName": "connectPeerConfiguration" + "smithy.api#documentation": "

Indicates whether multicast is enabled on the transit gateway

" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "TransitGatewayCidrBlocks": { + "target": "com.amazonaws.ec2#TransitGatewayCidrBlockStringList", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags for the Connect peer.

", - "smithy.api#xmlName": "tagSet" + "smithy.api#documentation": "

One or more IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for IPv6.

" } } }, "traits": { - "smithy.api#documentation": "

Describes a transit gateway Connect peer.

" + "smithy.api#documentation": "

Describes the options for a transit gateway.

" } }, - "com.amazonaws.ec2#TransitGatewayConnectPeerConfiguration": { + "com.amazonaws.ec2#TransitGatewayRoute": { "type": "structure", "members": { - "TransitGatewayAddress": { + "DestinationCidrBlock": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayAddress", - "smithy.api#documentation": "

The Connect peer IP address on the transit gateway side of the tunnel.

", - "smithy.api#xmlName": "transitGatewayAddress" + "aws.protocols#ec2QueryName": "DestinationCidrBlock", + "smithy.api#documentation": "

The CIDR block used for destination matches.

", + "smithy.api#xmlName": "destinationCidrBlock" } }, - "PeerAddress": { - "target": "com.amazonaws.ec2#String", + "PrefixListId": { + "target": "com.amazonaws.ec2#PrefixListResourceId", "traits": { - "aws.protocols#ec2QueryName": "PeerAddress", - "smithy.api#documentation": "

The Connect peer IP address on the appliance side of the tunnel.

", - "smithy.api#xmlName": "peerAddress" + "aws.protocols#ec2QueryName": "PrefixListId", + "smithy.api#documentation": "

The ID of the prefix list used for destination matches.

", + "smithy.api#xmlName": "prefixListId" } }, - "InsideCidrBlocks": { - "target": "com.amazonaws.ec2#InsideCidrBlocksStringList", + "TransitGatewayRouteTableAnnouncementId": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementId", "traits": { - "aws.protocols#ec2QueryName": "InsideCidrBlocks", - "smithy.api#documentation": "

The range of interior BGP peer IP addresses.

", - "smithy.api#xmlName": "insideCidrBlocks" + "aws.protocols#ec2QueryName": "TransitGatewayRouteTableAnnouncementId", + "smithy.api#documentation": "

The ID of the transit gateway route table announcement.

", + "smithy.api#xmlName": "transitGatewayRouteTableAnnouncementId" } }, - "Protocol": { - "target": "com.amazonaws.ec2#ProtocolValue", + "TransitGatewayAttachments": { + "target": "com.amazonaws.ec2#TransitGatewayRouteAttachmentList", "traits": { - "aws.protocols#ec2QueryName": "Protocol", - "smithy.api#documentation": "

The tunnel protocol.

", - "smithy.api#xmlName": "protocol" + "aws.protocols#ec2QueryName": "TransitGatewayAttachments", + "smithy.api#documentation": "

The attachments.

", + "smithy.api#xmlName": "transitGatewayAttachments" } }, - "BgpConfigurations": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentBgpConfigurationList", + "Type": { + "target": "com.amazonaws.ec2#TransitGatewayRouteType", "traits": { - "aws.protocols#ec2QueryName": "BgpConfigurations", - "smithy.api#documentation": "

The BGP configuration details.

", - "smithy.api#xmlName": "bgpConfigurations" + "aws.protocols#ec2QueryName": "Type", + "smithy.api#documentation": "

The route type.

", + "smithy.api#xmlName": "type" + } + }, + "State": { + "target": "com.amazonaws.ec2#TransitGatewayRouteState", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the route.

", + "smithy.api#xmlName": "state" } } }, "traits": { - "smithy.api#documentation": "

Describes the Connect peer details.

" - } - }, - "com.amazonaws.ec2#TransitGatewayConnectPeerId": { - "type": "string" - }, - "com.amazonaws.ec2#TransitGatewayConnectPeerIdStringList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#TransitGatewayConnectPeerId", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#TransitGatewayConnectPeerList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#TransitGatewayConnectPeer", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

Describes a route for a transit gateway route table.

" } }, - "com.amazonaws.ec2#TransitGatewayConnectPeerState": { - "type": "enum", + "com.amazonaws.ec2#TransitGatewayRouteAttachment": { + "type": "structure", "members": { - "pending": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "pending" - } - }, - "available": { - "target": "smithy.api#Unit", + "ResourceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "available" + "aws.protocols#ec2QueryName": "ResourceId", + "smithy.api#documentation": "

The ID of the resource.

", + "smithy.api#xmlName": "resourceId" } }, - "deleting": { - "target": "smithy.api#Unit", + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "deleting" + "aws.protocols#ec2QueryName": "TransitGatewayAttachmentId", + "smithy.api#documentation": "

The ID of the attachment.

", + "smithy.api#xmlName": "transitGatewayAttachmentId" } }, - "deleted": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "deleted" - } - } - } - }, - "com.amazonaws.ec2#TransitGatewayConnectRequestBgpOptions": { - "type": "structure", - "members": { - "PeerAsn": { - "target": "com.amazonaws.ec2#Long", + "ResourceType": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentResourceType", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The peer Autonomous System Number (ASN).

" + "aws.protocols#ec2QueryName": "ResourceType", + "smithy.api#documentation": "

The resource type. Note that the tgw-peering resource type has been deprecated.

", + "smithy.api#xmlName": "resourceType" } } }, "traits": { - "smithy.api#documentation": "

The BGP options for the Connect attachment.

" + "smithy.api#documentation": "

Describes a route attachment.

" } }, - "com.amazonaws.ec2#TransitGatewayId": { - "type": "string" - }, - "com.amazonaws.ec2#TransitGatewayIdStringList": { + "com.amazonaws.ec2#TransitGatewayRouteAttachmentList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#TransitGatewayId", + "target": "com.amazonaws.ec2#TransitGatewayRouteAttachment", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#TransitGatewayList": { + "com.amazonaws.ec2#TransitGatewayRouteList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#TransitGateway", + "target": "com.amazonaws.ec2#TransitGatewayRoute", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#TransitGatewayMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 5, - "max": 1000 - } - } - }, - "com.amazonaws.ec2#TransitGatewayMulitcastDomainAssociationState": { + "com.amazonaws.ec2#TransitGatewayRouteState": { "type": "enum", "members": { - "pendingAcceptance": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "pendingAcceptance" - } - }, - "associating": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "associating" - } - }, - "associated": { + "pending": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "associated" + "smithy.api#enumValue": "pending" } }, - "disassociating": { + "active": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "disassociating" + "smithy.api#enumValue": "active" } }, - "disassociated": { + "blackhole": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "disassociated" + "smithy.api#enumValue": "blackhole" } }, - "rejected": { + "deleting": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "rejected" + "smithy.api#enumValue": "deleting" } }, - "failed": { + "deleted": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "failed" + "smithy.api#enumValue": "deleted" } } } }, - "com.amazonaws.ec2#TransitGatewayMulticastDeregisteredGroupMembers": { + "com.amazonaws.ec2#TransitGatewayRouteTable": { "type": "structure", "members": { - "TransitGatewayMulticastDomainId": { + "TransitGatewayRouteTableId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayMulticastDomainId", - "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

", - "smithy.api#xmlName": "transitGatewayMulticastDomainId" + "aws.protocols#ec2QueryName": "TransitGatewayRouteTableId", + "smithy.api#documentation": "

The ID of the transit gateway route table.

", + "smithy.api#xmlName": "transitGatewayRouteTableId" } }, - "DeregisteredNetworkInterfaceIds": { - "target": "com.amazonaws.ec2#ValueStringList", + "TransitGatewayId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DeregisteredNetworkInterfaceIds", - "smithy.api#documentation": "

The network interface IDs of the deregistered members.

", - "smithy.api#xmlName": "deregisteredNetworkInterfaceIds" + "aws.protocols#ec2QueryName": "TransitGatewayId", + "smithy.api#documentation": "

The ID of the transit gateway.

", + "smithy.api#xmlName": "transitGatewayId" } }, - "GroupIpAddress": { - "target": "com.amazonaws.ec2#String", + "State": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableState", "traits": { - "aws.protocols#ec2QueryName": "GroupIpAddress", - "smithy.api#documentation": "

The IP address assigned to the transit gateway multicast group.

", - "smithy.api#xmlName": "groupIpAddress" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the transit gateway route table.

", + "smithy.api#xmlName": "state" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the deregistered transit gateway multicast group members.

" - } - }, - "com.amazonaws.ec2#TransitGatewayMulticastDeregisteredGroupSources": { - "type": "structure", - "members": { - "TransitGatewayMulticastDomainId": { - "target": "com.amazonaws.ec2#String", + }, + "DefaultAssociationRouteTable": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayMulticastDomainId", - "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

", - "smithy.api#xmlName": "transitGatewayMulticastDomainId" + "aws.protocols#ec2QueryName": "DefaultAssociationRouteTable", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether this is the default association route table for the transit gateway.

", + "smithy.api#xmlName": "defaultAssociationRouteTable" } }, - "DeregisteredNetworkInterfaceIds": { - "target": "com.amazonaws.ec2#ValueStringList", + "DefaultPropagationRouteTable": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DeregisteredNetworkInterfaceIds", - "smithy.api#documentation": "

The network interface IDs of the non-registered members.

", - "smithy.api#xmlName": "deregisteredNetworkInterfaceIds" + "aws.protocols#ec2QueryName": "DefaultPropagationRouteTable", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether this is the default propagation route table for the transit gateway.

", + "smithy.api#xmlName": "defaultPropagationRouteTable" } }, - "GroupIpAddress": { - "target": "com.amazonaws.ec2#String", + "CreationTime": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "GroupIpAddress", - "smithy.api#documentation": "

The IP address assigned to the transit gateway multicast group.

", - "smithy.api#xmlName": "groupIpAddress" + "aws.protocols#ec2QueryName": "CreationTime", + "smithy.api#documentation": "

The creation time.

", + "smithy.api#xmlName": "creationTime" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Any tags assigned to the route table.

", + "smithy.api#xmlName": "tagSet" } } }, "traits": { - "smithy.api#documentation": "

Describes the deregistered transit gateway multicast group sources.

" + "smithy.api#documentation": "

Describes a transit gateway route table.

" } }, - "com.amazonaws.ec2#TransitGatewayMulticastDomain": { + "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncement": { "type": "structure", "members": { - "TransitGatewayMulticastDomainId": { - "target": "com.amazonaws.ec2#String", + "TransitGatewayRouteTableAnnouncementId": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementId", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayMulticastDomainId", - "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

", - "smithy.api#xmlName": "transitGatewayMulticastDomainId" + "aws.protocols#ec2QueryName": "TransitGatewayRouteTableAnnouncementId", + "smithy.api#documentation": "

The ID of the transit gateway route table announcement.

", + "smithy.api#xmlName": "transitGatewayRouteTableAnnouncementId" } }, "TransitGatewayId": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#TransitGatewayId", "traits": { "aws.protocols#ec2QueryName": "TransitGatewayId", "smithy.api#documentation": "

The ID of the transit gateway.

", "smithy.api#xmlName": "transitGatewayId" } }, - "TransitGatewayMulticastDomainArn": { + "CoreNetworkId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayMulticastDomainArn", - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the transit gateway multicast domain.

", - "smithy.api#xmlName": "transitGatewayMulticastDomainArn" + "aws.protocols#ec2QueryName": "CoreNetworkId", + "smithy.api#documentation": "

The ID of the core network for the transit gateway route table announcement.

", + "smithy.api#xmlName": "coreNetworkId" } }, - "OwnerId": { + "PeerTransitGatewayId": { + "target": "com.amazonaws.ec2#TransitGatewayId", + "traits": { + "aws.protocols#ec2QueryName": "PeerTransitGatewayId", + "smithy.api#documentation": "

The ID of the peer transit gateway.

", + "smithy.api#xmlName": "peerTransitGatewayId" + } + }, + "PeerCoreNetworkId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "OwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the transit gateway multicast domain.

", - "smithy.api#xmlName": "ownerId" + "aws.protocols#ec2QueryName": "PeerCoreNetworkId", + "smithy.api#documentation": "

The ID of the core network ID for the peer.

", + "smithy.api#xmlName": "peerCoreNetworkId" } }, - "Options": { - "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainOptions", + "PeeringAttachmentId": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", "traits": { - "aws.protocols#ec2QueryName": "Options", - "smithy.api#documentation": "

The options for the transit gateway multicast domain.

", - "smithy.api#xmlName": "options" + "aws.protocols#ec2QueryName": "PeeringAttachmentId", + "smithy.api#documentation": "

The ID of the peering attachment.

", + "smithy.api#xmlName": "peeringAttachmentId" + } + }, + "AnnouncementDirection": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementDirection", + "traits": { + "aws.protocols#ec2QueryName": "AnnouncementDirection", + "smithy.api#documentation": "

The direction for the route table announcement.

", + "smithy.api#xmlName": "announcementDirection" + } + }, + "TransitGatewayRouteTableId": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", + "traits": { + "aws.protocols#ec2QueryName": "TransitGatewayRouteTableId", + "smithy.api#documentation": "

The ID of the transit gateway route table.

", + "smithy.api#xmlName": "transitGatewayRouteTableId" } }, "State": { - "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainState", + "target": "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementState", "traits": { "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the transit gateway multicast domain.

", + "smithy.api#documentation": "

The state of the transit gateway announcement.

", "smithy.api#xmlName": "state" } }, @@ -85651,7 +92247,7 @@ "target": "com.amazonaws.ec2#DateTime", "traits": { "aws.protocols#ec2QueryName": "CreationTime", - "smithy.api#documentation": "

The time the transit gateway multicast domain was created.

", + "smithy.api#documentation": "

The timestamp when the transit gateway route table announcement was created.

", "smithy.api#xmlName": "creationTime" } }, @@ -85659,194 +92255,78 @@ "target": "com.amazonaws.ec2#TagList", "traits": { "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags for the transit gateway multicast domain.

", + "smithy.api#documentation": "

The key-value pairs associated with the route table announcement.

", "smithy.api#xmlName": "tagSet" } } }, "traits": { - "smithy.api#documentation": "

Describes the transit gateway multicast domain.

" - } - }, - "com.amazonaws.ec2#TransitGatewayMulticastDomainAssociation": { - "type": "structure", - "members": { - "TransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayAttachmentId", - "smithy.api#documentation": "

The ID of the transit gateway attachment.

", - "smithy.api#xmlName": "transitGatewayAttachmentId" - } - }, - "ResourceId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "ResourceId", - "smithy.api#documentation": "

The ID of the resource.

", - "smithy.api#xmlName": "resourceId" - } - }, - "ResourceType": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentResourceType", - "traits": { - "aws.protocols#ec2QueryName": "ResourceType", - "smithy.api#documentation": "

The type of resource, for example a VPC attachment.

", - "smithy.api#xmlName": "resourceType" - } - }, - "ResourceOwnerId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "ResourceOwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the transit gateway multicast domain association resource.

", - "smithy.api#xmlName": "resourceOwnerId" - } - }, - "Subnet": { - "target": "com.amazonaws.ec2#SubnetAssociation", - "traits": { - "aws.protocols#ec2QueryName": "Subnet", - "smithy.api#documentation": "

The subnet associated with the transit gateway multicast domain.

", - "smithy.api#xmlName": "subnet" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the resources associated with the transit gateway multicast domain.

" - } - }, - "com.amazonaws.ec2#TransitGatewayMulticastDomainAssociationList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainAssociation", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

Describes a transit gateway route table announcement.

" } }, - "com.amazonaws.ec2#TransitGatewayMulticastDomainAssociations": { - "type": "structure", + "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementDirection": { + "type": "enum", "members": { - "TransitGatewayMulticastDomainId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayMulticastDomainId", - "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

", - "smithy.api#xmlName": "transitGatewayMulticastDomainId" - } - }, - "TransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayAttachmentId", - "smithy.api#documentation": "

The ID of the transit gateway attachment.

", - "smithy.api#xmlName": "transitGatewayAttachmentId" - } - }, - "ResourceId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "ResourceId", - "smithy.api#documentation": "

The ID of the resource.

", - "smithy.api#xmlName": "resourceId" - } - }, - "ResourceType": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentResourceType", - "traits": { - "aws.protocols#ec2QueryName": "ResourceType", - "smithy.api#documentation": "

The type of resource, for example a VPC attachment.

", - "smithy.api#xmlName": "resourceType" - } - }, - "ResourceOwnerId": { - "target": "com.amazonaws.ec2#String", + "outgoing": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "ResourceOwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the resource.

", - "smithy.api#xmlName": "resourceOwnerId" + "smithy.api#enumValue": "outgoing" } }, - "Subnets": { - "target": "com.amazonaws.ec2#SubnetAssociationList", + "incoming": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Subnets", - "smithy.api#documentation": "

The subnets associated with the multicast domain.

", - "smithy.api#xmlName": "subnets" + "smithy.api#enumValue": "incoming" } } - }, - "traits": { - "smithy.api#documentation": "

Describes the multicast domain associations.

" } }, - "com.amazonaws.ec2#TransitGatewayMulticastDomainId": { + "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementId": { "type": "string" }, - "com.amazonaws.ec2#TransitGatewayMulticastDomainIdStringList": { + "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementIdStringList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainId", + "target": "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementId", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#TransitGatewayMulticastDomainList": { + "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#TransitGatewayMulticastDomain", + "target": "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncement", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#TransitGatewayMulticastDomainOptions": { - "type": "structure", + "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementState": { + "type": "enum", "members": { - "Igmpv2Support": { - "target": "com.amazonaws.ec2#Igmpv2SupportValue", + "available": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Igmpv2Support", - "smithy.api#documentation": "

Indicates whether Internet Group Management Protocol (IGMP) version 2 is turned on for the transit gateway multicast domain.

", - "smithy.api#xmlName": "igmpv2Support" + "smithy.api#enumValue": "available" } }, - "StaticSourcesSupport": { - "target": "com.amazonaws.ec2#StaticSourcesSupportValue", + "pending": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "StaticSourcesSupport", - "smithy.api#documentation": "

Indicates whether support for statically configuring transit gateway multicast group sources is turned on.

", - "smithy.api#xmlName": "staticSourcesSupport" + "smithy.api#enumValue": "pending" } }, - "AutoAcceptSharedAssociations": { - "target": "com.amazonaws.ec2#AutoAcceptSharedAssociationsValue", - "traits": { - "aws.protocols#ec2QueryName": "AutoAcceptSharedAssociations", - "smithy.api#documentation": "

Indicates whether to automatically cross-account subnet associations that are associated with the transit gateway multicast domain.

", - "smithy.api#xmlName": "autoAcceptSharedAssociations" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the options for a transit gateway multicast domain.

" - } - }, - "com.amazonaws.ec2#TransitGatewayMulticastDomainState": { - "type": "enum", - "members": { - "pending": { + "failing": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "pending" + "smithy.api#enumValue": "failing" } }, - "available": { + "failed": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "available" + "smithy.api#enumValue": "failed" } }, "deleting": { @@ -85863,33 +92343,17 @@ } } }, - "com.amazonaws.ec2#TransitGatewayMulticastGroup": { + "com.amazonaws.ec2#TransitGatewayRouteTableAssociation": { "type": "structure", "members": { - "GroupIpAddress": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "GroupIpAddress", - "smithy.api#documentation": "

The IP address assigned to the transit gateway multicast group.

", - "smithy.api#xmlName": "groupIpAddress" - } - }, "TransitGatewayAttachmentId": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "TransitGatewayAttachmentId", - "smithy.api#documentation": "

The ID of the transit gateway attachment.

", + "smithy.api#documentation": "

The ID of the attachment.

", "smithy.api#xmlName": "transitGatewayAttachmentId" } }, - "SubnetId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "SubnetId", - "smithy.api#documentation": "

The ID of the subnet.

", - "smithy.api#xmlName": "subnetId" - } - }, "ResourceId": { "target": "com.amazonaws.ec2#String", "traits": { @@ -85902,2800 +92366,2610 @@ "target": "com.amazonaws.ec2#TransitGatewayAttachmentResourceType", "traits": { "aws.protocols#ec2QueryName": "ResourceType", - "smithy.api#documentation": "

The type of resource, for example a VPC attachment.

", + "smithy.api#documentation": "

The resource type. Note that the tgw-peering resource type has been deprecated.

", "smithy.api#xmlName": "resourceType" } }, - "ResourceOwnerId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "ResourceOwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the transit gateway multicast domain group resource.

", - "smithy.api#xmlName": "resourceOwnerId" - } - }, - "NetworkInterfaceId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceId", - "smithy.api#documentation": "

The ID of the transit gateway attachment.

", - "smithy.api#xmlName": "networkInterfaceId" - } - }, - "GroupMember": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "GroupMember", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates that the resource is a transit gateway multicast group member.

", - "smithy.api#xmlName": "groupMember" - } - }, - "GroupSource": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "aws.protocols#ec2QueryName": "GroupSource", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates that the resource is a transit gateway multicast group member.

", - "smithy.api#xmlName": "groupSource" - } - }, - "MemberType": { - "target": "com.amazonaws.ec2#MembershipType", - "traits": { - "aws.protocols#ec2QueryName": "MemberType", - "smithy.api#documentation": "

The member type (for example, static).

", - "smithy.api#xmlName": "memberType" - } - }, - "SourceType": { - "target": "com.amazonaws.ec2#MembershipType", + "State": { + "target": "com.amazonaws.ec2#TransitGatewayAssociationState", "traits": { - "aws.protocols#ec2QueryName": "SourceType", - "smithy.api#documentation": "

The source type.

", - "smithy.api#xmlName": "sourceType" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the association.

", + "smithy.api#xmlName": "state" } } }, "traits": { - "smithy.api#documentation": "

Describes the transit gateway multicast group resources.

" + "smithy.api#documentation": "

Describes an association between a route table and a resource attachment.

" } }, - "com.amazonaws.ec2#TransitGatewayMulticastGroupList": { + "com.amazonaws.ec2#TransitGatewayRouteTableAssociationList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#TransitGatewayMulticastGroup", + "target": "com.amazonaws.ec2#TransitGatewayRouteTableAssociation", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#TransitGatewayMulticastRegisteredGroupMembers": { + "com.amazonaws.ec2#TransitGatewayRouteTableId": { + "type": "string" + }, + "com.amazonaws.ec2#TransitGatewayRouteTableIdStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#TransitGatewayRouteTableList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTable", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#TransitGatewayRouteTablePropagation": { "type": "structure", "members": { - "TransitGatewayMulticastDomainId": { + "TransitGatewayAttachmentId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayMulticastDomainId", - "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

", - "smithy.api#xmlName": "transitGatewayMulticastDomainId" - } - }, - "RegisteredNetworkInterfaceIds": { - "target": "com.amazonaws.ec2#ValueStringList", - "traits": { - "aws.protocols#ec2QueryName": "RegisteredNetworkInterfaceIds", - "smithy.api#documentation": "

The ID of the registered network interfaces.

", - "smithy.api#xmlName": "registeredNetworkInterfaceIds" + "aws.protocols#ec2QueryName": "TransitGatewayAttachmentId", + "smithy.api#documentation": "

The ID of the attachment.

", + "smithy.api#xmlName": "transitGatewayAttachmentId" } }, - "GroupIpAddress": { + "ResourceId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "GroupIpAddress", - "smithy.api#documentation": "

The IP address assigned to the transit gateway multicast group.

", - "smithy.api#xmlName": "groupIpAddress" + "aws.protocols#ec2QueryName": "ResourceId", + "smithy.api#documentation": "

The ID of the resource.

", + "smithy.api#xmlName": "resourceId" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the registered transit gateway multicast group members.

" - } - }, - "com.amazonaws.ec2#TransitGatewayMulticastRegisteredGroupSources": { - "type": "structure", - "members": { - "TransitGatewayMulticastDomainId": { - "target": "com.amazonaws.ec2#String", + }, + "ResourceType": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentResourceType", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayMulticastDomainId", - "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

", - "smithy.api#xmlName": "transitGatewayMulticastDomainId" + "aws.protocols#ec2QueryName": "ResourceType", + "smithy.api#documentation": "

The type of resource. Note that the tgw-peering resource type has been deprecated.

", + "smithy.api#xmlName": "resourceType" } }, - "RegisteredNetworkInterfaceIds": { - "target": "com.amazonaws.ec2#ValueStringList", + "State": { + "target": "com.amazonaws.ec2#TransitGatewayPropagationState", "traits": { - "aws.protocols#ec2QueryName": "RegisteredNetworkInterfaceIds", - "smithy.api#documentation": "

The IDs of the network interfaces members registered with the transit gateway multicast group.

", - "smithy.api#xmlName": "registeredNetworkInterfaceIds" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the resource.

", + "smithy.api#xmlName": "state" } }, - "GroupIpAddress": { - "target": "com.amazonaws.ec2#String", + "TransitGatewayRouteTableAnnouncementId": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementId", "traits": { - "aws.protocols#ec2QueryName": "GroupIpAddress", - "smithy.api#documentation": "

The IP address assigned to the transit gateway multicast group.

", - "smithy.api#xmlName": "groupIpAddress" + "aws.protocols#ec2QueryName": "TransitGatewayRouteTableAnnouncementId", + "smithy.api#documentation": "

The ID of the transit gateway route table announcement.

", + "smithy.api#xmlName": "transitGatewayRouteTableAnnouncementId" } } }, "traits": { - "smithy.api#documentation": "

Describes the members registered with the transit gateway multicast group.

" + "smithy.api#documentation": "

Describes a route table propagation.

" } }, - "com.amazonaws.ec2#TransitGatewayNetworkInterfaceIdList": { + "com.amazonaws.ec2#TransitGatewayRouteTablePropagationList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#NetworkInterfaceId", + "target": "com.amazonaws.ec2#TransitGatewayRouteTablePropagation", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#TransitGatewayOptions": { + "com.amazonaws.ec2#TransitGatewayRouteTableRoute": { "type": "structure", "members": { - "AmazonSideAsn": { - "target": "com.amazonaws.ec2#Long", - "traits": { - "aws.protocols#ec2QueryName": "AmazonSideAsn", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

A private Autonomous System Number (ASN) for the Amazon side of a BGP session. \n The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 for 32-bit ASNs.

", - "smithy.api#xmlName": "amazonSideAsn" - } - }, - "TransitGatewayCidrBlocks": { - "target": "com.amazonaws.ec2#ValueStringList", - "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayCidrBlocks", - "smithy.api#documentation": "

The transit gateway CIDR blocks.

", - "smithy.api#xmlName": "transitGatewayCidrBlocks" - } - }, - "AutoAcceptSharedAttachments": { - "target": "com.amazonaws.ec2#AutoAcceptSharedAttachmentsValue", - "traits": { - "aws.protocols#ec2QueryName": "AutoAcceptSharedAttachments", - "smithy.api#documentation": "

Indicates whether attachment requests are automatically accepted.

", - "smithy.api#xmlName": "autoAcceptSharedAttachments" - } - }, - "DefaultRouteTableAssociation": { - "target": "com.amazonaws.ec2#DefaultRouteTableAssociationValue", + "DestinationCidr": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DefaultRouteTableAssociation", - "smithy.api#documentation": "

Indicates whether resource attachments are automatically associated with the default association route table.

", - "smithy.api#xmlName": "defaultRouteTableAssociation" + "aws.protocols#ec2QueryName": "DestinationCidr", + "smithy.api#documentation": "

The CIDR block used for destination matches.

", + "smithy.api#xmlName": "destinationCidr" } }, - "AssociationDefaultRouteTableId": { + "State": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "AssociationDefaultRouteTableId", - "smithy.api#documentation": "

The ID of the default association route table.

", - "smithy.api#xmlName": "associationDefaultRouteTableId" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the route.

", + "smithy.api#xmlName": "state" } }, - "DefaultRouteTablePropagation": { - "target": "com.amazonaws.ec2#DefaultRouteTablePropagationValue", + "RouteOrigin": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DefaultRouteTablePropagation", - "smithy.api#documentation": "

Indicates whether resource attachments automatically propagate routes to the default propagation route table.

", - "smithy.api#xmlName": "defaultRouteTablePropagation" + "aws.protocols#ec2QueryName": "RouteOrigin", + "smithy.api#documentation": "

The route origin. The following are the possible values:

\n
    \n
  • \n

    static

    \n
  • \n
  • \n

    propagated

    \n
  • \n
", + "smithy.api#xmlName": "routeOrigin" } }, - "PropagationDefaultRouteTableId": { + "PrefixListId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PropagationDefaultRouteTableId", - "smithy.api#documentation": "

The ID of the default propagation route table.

", - "smithy.api#xmlName": "propagationDefaultRouteTableId" + "aws.protocols#ec2QueryName": "PrefixListId", + "smithy.api#documentation": "

The ID of the prefix list.

", + "smithy.api#xmlName": "prefixListId" } }, - "VpnEcmpSupport": { - "target": "com.amazonaws.ec2#VpnEcmpSupportValue", + "AttachmentId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "VpnEcmpSupport", - "smithy.api#documentation": "

Indicates whether Equal Cost Multipath Protocol support is enabled.

", - "smithy.api#xmlName": "vpnEcmpSupport" + "aws.protocols#ec2QueryName": "AttachmentId", + "smithy.api#documentation": "

The ID of the route attachment.

", + "smithy.api#xmlName": "attachmentId" } }, - "DnsSupport": { - "target": "com.amazonaws.ec2#DnsSupportValue", + "ResourceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DnsSupport", - "smithy.api#documentation": "

Indicates whether DNS support is enabled.

", - "smithy.api#xmlName": "dnsSupport" + "aws.protocols#ec2QueryName": "ResourceId", + "smithy.api#documentation": "

The ID of the resource for the route attachment.

", + "smithy.api#xmlName": "resourceId" } }, - "MulticastSupport": { - "target": "com.amazonaws.ec2#MulticastSupportValue", + "ResourceType": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "MulticastSupport", - "smithy.api#documentation": "

Indicates whether multicast is enabled on the transit gateway

", - "smithy.api#xmlName": "multicastSupport" + "aws.protocols#ec2QueryName": "ResourceType", + "smithy.api#documentation": "

The resource type for the route attachment.

", + "smithy.api#xmlName": "resourceType" } } }, "traits": { - "smithy.api#documentation": "

Describes the options for a transit gateway.

" + "smithy.api#documentation": "

Describes a route in a transit gateway route table.

" } }, - "com.amazonaws.ec2#TransitGatewayPeeringAttachment": { - "type": "structure", + "com.amazonaws.ec2#TransitGatewayRouteTableState": { + "type": "enum", "members": { - "TransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayAttachmentId", - "smithy.api#documentation": "

The ID of the transit gateway peering attachment.

", - "smithy.api#xmlName": "transitGatewayAttachmentId" - } - }, - "AccepterTransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "AccepterTransitGatewayAttachmentId", - "smithy.api#documentation": "

The ID of the accepter transit gateway attachment.

", - "smithy.api#xmlName": "accepterTransitGatewayAttachmentId" - } - }, - "RequesterTgwInfo": { - "target": "com.amazonaws.ec2#PeeringTgwInfo", - "traits": { - "aws.protocols#ec2QueryName": "RequesterTgwInfo", - "smithy.api#documentation": "

Information about the requester transit gateway.

", - "smithy.api#xmlName": "requesterTgwInfo" - } - }, - "AccepterTgwInfo": { - "target": "com.amazonaws.ec2#PeeringTgwInfo", - "traits": { - "aws.protocols#ec2QueryName": "AccepterTgwInfo", - "smithy.api#documentation": "

Information about the accepter transit gateway.

", - "smithy.api#xmlName": "accepterTgwInfo" - } - }, - "Options": { - "target": "com.amazonaws.ec2#TransitGatewayPeeringAttachmentOptions", - "traits": { - "aws.protocols#ec2QueryName": "Options", - "smithy.api#documentation": "

Details about the transit gateway peering attachment.

", - "smithy.api#xmlName": "options" - } - }, - "Status": { - "target": "com.amazonaws.ec2#PeeringAttachmentStatus", + "pending": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Status", - "smithy.api#documentation": "

The status of the transit gateway peering attachment.

", - "smithy.api#xmlName": "status" + "smithy.api#enumValue": "pending" } }, - "State": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentState", + "available": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the transit gateway peering attachment. Note that the initiating state has been deprecated.

", - "smithy.api#xmlName": "state" + "smithy.api#enumValue": "available" } }, - "CreationTime": { - "target": "com.amazonaws.ec2#DateTime", + "deleting": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "CreationTime", - "smithy.api#documentation": "

The time the transit gateway peering attachment was created.

", - "smithy.api#xmlName": "creationTime" + "smithy.api#enumValue": "deleting" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "deleted": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags for the transit gateway peering attachment.

", - "smithy.api#xmlName": "tagSet" + "smithy.api#enumValue": "deleted" } } - }, - "traits": { - "smithy.api#documentation": "

Describes the transit gateway peering attachment.

" - } - }, - "com.amazonaws.ec2#TransitGatewayPeeringAttachmentList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#TransitGatewayPeeringAttachment", - "traits": { - "smithy.api#xmlName": "item" - } } }, - "com.amazonaws.ec2#TransitGatewayPeeringAttachmentOptions": { - "type": "structure", + "com.amazonaws.ec2#TransitGatewayRouteType": { + "type": "enum", "members": { - "DynamicRouting": { - "target": "com.amazonaws.ec2#DynamicRoutingValue", + "static": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "DynamicRouting", - "smithy.api#documentation": "

Describes whether dynamic routing is enabled or disabled for the transit gateway peering attachment.

", - "smithy.api#xmlName": "dynamicRouting" + "smithy.api#enumValue": "static" + } + }, + "propagated": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "propagated" } } - }, - "traits": { - "smithy.api#documentation": "

Describes dynamic routing for the transit gateway peering attachment.

" } }, - "com.amazonaws.ec2#TransitGatewayPolicyRule": { - "type": "structure", + "com.amazonaws.ec2#TransitGatewayState": { + "type": "enum", "members": { - "SourceCidrBlock": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "SourceCidrBlock", - "smithy.api#documentation": "

The source CIDR block for the transit gateway policy rule.

", - "smithy.api#xmlName": "sourceCidrBlock" - } - }, - "SourcePortRange": { - "target": "com.amazonaws.ec2#String", + "pending": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "SourcePortRange", - "smithy.api#documentation": "

The port range for the transit gateway policy rule. Currently this is set to * (all).

", - "smithy.api#xmlName": "sourcePortRange" + "smithy.api#enumValue": "pending" } }, - "DestinationCidrBlock": { - "target": "com.amazonaws.ec2#String", + "available": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "DestinationCidrBlock", - "smithy.api#documentation": "

The destination CIDR block for the transit gateway policy rule.

", - "smithy.api#xmlName": "destinationCidrBlock" + "smithy.api#enumValue": "available" } }, - "DestinationPortRange": { - "target": "com.amazonaws.ec2#String", + "modifying": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "DestinationPortRange", - "smithy.api#documentation": "

The port range for the transit gateway policy rule. Currently this is set to * (all).

", - "smithy.api#xmlName": "destinationPortRange" + "smithy.api#enumValue": "modifying" } }, - "Protocol": { - "target": "com.amazonaws.ec2#String", + "deleting": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Protocol", - "smithy.api#documentation": "

The protocol used by the transit gateway policy rule.

", - "smithy.api#xmlName": "protocol" + "smithy.api#enumValue": "deleting" } }, - "MetaData": { - "target": "com.amazonaws.ec2#TransitGatewayPolicyRuleMetaData", + "deleted": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "MetaData", - "smithy.api#documentation": "

The meta data tags used for the transit gateway policy rule.

", - "smithy.api#xmlName": "metaData" + "smithy.api#enumValue": "deleted" } } - }, - "traits": { - "smithy.api#documentation": "

Describes a rule associated with a transit gateway policy.

" } - }, - "com.amazonaws.ec2#TransitGatewayPolicyRuleMetaData": { - "type": "structure", - "members": { - "MetaDataKey": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "MetaDataKey", - "smithy.api#documentation": "

The key name for the transit gateway policy rule meta data tag.

", - "smithy.api#xmlName": "metaDataKey" - } - }, - "MetaDataValue": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "MetaDataValue", - "smithy.api#documentation": "

The value of the key for the transit gateway policy rule meta data tag.

", - "smithy.api#xmlName": "metaDataValue" - } + }, + "com.amazonaws.ec2#TransitGatewaySubnetIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SubnetId", + "traits": { + "smithy.api#xmlName": "item" } - }, - "traits": { - "smithy.api#documentation": "

Describes the meta data tags associated with a transit gateway policy rule.

" } }, - "com.amazonaws.ec2#TransitGatewayPolicyTable": { + "com.amazonaws.ec2#TransitGatewayVpcAttachment": { "type": "structure", "members": { - "TransitGatewayPolicyTableId": { - "target": "com.amazonaws.ec2#TransitGatewayPolicyTableId", + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayPolicyTableId", - "smithy.api#documentation": "

The ID of the transit gateway policy table.

", - "smithy.api#xmlName": "transitGatewayPolicyTableId" + "aws.protocols#ec2QueryName": "TransitGatewayAttachmentId", + "smithy.api#documentation": "

The ID of the attachment.

", + "smithy.api#xmlName": "transitGatewayAttachmentId" } }, "TransitGatewayId": { - "target": "com.amazonaws.ec2#TransitGatewayId", + "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "TransitGatewayId", "smithy.api#documentation": "

The ID of the transit gateway.

", "smithy.api#xmlName": "transitGatewayId" } }, - "State": { - "target": "com.amazonaws.ec2#TransitGatewayPolicyTableState", + "VpcId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the transit gateway policy table

", - "smithy.api#xmlName": "state" + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#documentation": "

The ID of the VPC.

", + "smithy.api#xmlName": "vpcId" } }, - "CreationTime": { - "target": "com.amazonaws.ec2#DateTime", + "VpcOwnerId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CreationTime", - "smithy.api#documentation": "

The timestamp when the transit gateway policy table was created.

", - "smithy.api#xmlName": "creationTime" + "aws.protocols#ec2QueryName": "VpcOwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the VPC.

", + "smithy.api#xmlName": "vpcOwnerId" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", - "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

he key-value pairs associated with the transit gateway policy table.

", - "smithy.api#xmlName": "tagSet" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a transit gateway policy table.

" - } - }, - "com.amazonaws.ec2#TransitGatewayPolicyTableAssociation": { - "type": "structure", - "members": { - "TransitGatewayPolicyTableId": { - "target": "com.amazonaws.ec2#TransitGatewayPolicyTableId", + "State": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentState", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayPolicyTableId", - "smithy.api#documentation": "

The ID of the transit gateway policy table.

", - "smithy.api#xmlName": "transitGatewayPolicyTableId" + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The state of the VPC attachment. Note that the initiating state has been deprecated.

", + "smithy.api#xmlName": "state" } }, - "TransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", + "SubnetIds": { + "target": "com.amazonaws.ec2#ValueStringList", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayAttachmentId", - "smithy.api#documentation": "

The ID of the transit gateway attachment.

", - "smithy.api#xmlName": "transitGatewayAttachmentId" + "aws.protocols#ec2QueryName": "SubnetIds", + "smithy.api#documentation": "

The IDs of the subnets.

", + "smithy.api#xmlName": "subnetIds" } }, - "ResourceId": { - "target": "com.amazonaws.ec2#String", + "CreationTime": { + "target": "com.amazonaws.ec2#DateTime", "traits": { - "aws.protocols#ec2QueryName": "ResourceId", - "smithy.api#documentation": "

The resource ID of the transit gateway attachment.

", - "smithy.api#xmlName": "resourceId" + "aws.protocols#ec2QueryName": "CreationTime", + "smithy.api#documentation": "

The creation time.

", + "smithy.api#xmlName": "creationTime" } }, - "ResourceType": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentResourceType", + "Options": { + "target": "com.amazonaws.ec2#TransitGatewayVpcAttachmentOptions", "traits": { - "aws.protocols#ec2QueryName": "ResourceType", - "smithy.api#documentation": "

The resource type for the transit gateway policy table association.

", - "smithy.api#xmlName": "resourceType" + "aws.protocols#ec2QueryName": "Options", + "smithy.api#documentation": "

The VPC attachment options.

", + "smithy.api#xmlName": "options" } }, - "State": { - "target": "com.amazonaws.ec2#TransitGatewayAssociationState", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the transit gateway policy table association.

", - "smithy.api#xmlName": "state" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags for the VPC attachment.

", + "smithy.api#xmlName": "tagSet" } } }, "traits": { - "smithy.api#documentation": "

Describes a transit gateway policy table association.

" + "smithy.api#documentation": "

Describes a VPC attachment.

" } }, - "com.amazonaws.ec2#TransitGatewayPolicyTableAssociationList": { + "com.amazonaws.ec2#TransitGatewayVpcAttachmentList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#TransitGatewayPolicyTableAssociation", + "target": "com.amazonaws.ec2#TransitGatewayVpcAttachment", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#TransitGatewayPolicyTableEntry": { + "com.amazonaws.ec2#TransitGatewayVpcAttachmentOptions": { "type": "structure", "members": { - "PolicyRuleNumber": { - "target": "com.amazonaws.ec2#String", + "DnsSupport": { + "target": "com.amazonaws.ec2#DnsSupportValue", "traits": { - "aws.protocols#ec2QueryName": "PolicyRuleNumber", - "smithy.api#documentation": "

The rule number for the transit gateway policy table entry.

", - "smithy.api#xmlName": "policyRuleNumber" + "aws.protocols#ec2QueryName": "DnsSupport", + "smithy.api#documentation": "

Indicates whether DNS support is enabled.

", + "smithy.api#xmlName": "dnsSupport" } }, - "PolicyRule": { - "target": "com.amazonaws.ec2#TransitGatewayPolicyRule", + "Ipv6Support": { + "target": "com.amazonaws.ec2#Ipv6SupportValue", "traits": { - "aws.protocols#ec2QueryName": "PolicyRule", - "smithy.api#documentation": "

The policy rule associated with the transit gateway policy table.

", - "smithy.api#xmlName": "policyRule" + "aws.protocols#ec2QueryName": "Ipv6Support", + "smithy.api#documentation": "

Indicates whether IPv6 support is disabled.

", + "smithy.api#xmlName": "ipv6Support" } }, - "TargetRouteTableId": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", + "ApplianceModeSupport": { + "target": "com.amazonaws.ec2#ApplianceModeSupportValue", "traits": { - "aws.protocols#ec2QueryName": "TargetRouteTableId", - "smithy.api#documentation": "

The ID of the target route table.

", - "smithy.api#xmlName": "targetRouteTableId" + "aws.protocols#ec2QueryName": "ApplianceModeSupport", + "smithy.api#documentation": "

Indicates whether appliance mode support is enabled.

", + "smithy.api#xmlName": "applianceModeSupport" } } }, "traits": { - "smithy.api#documentation": "

Describes a transit gateway policy table entry

" - } - }, - "com.amazonaws.ec2#TransitGatewayPolicyTableEntryList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#TransitGatewayPolicyTableEntry", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#TransitGatewayPolicyTableId": { - "type": "string" - }, - "com.amazonaws.ec2#TransitGatewayPolicyTableIdStringList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#TransitGatewayPolicyTableId", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#TransitGatewayPolicyTableList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#TransitGatewayPolicyTable", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

Describes the VPC attachment options.

" } }, - "com.amazonaws.ec2#TransitGatewayPolicyTableState": { + "com.amazonaws.ec2#TransportProtocol": { "type": "enum", "members": { - "pending": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "pending" - } - }, - "available": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "available" - } - }, - "deleting": { + "tcp": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "deleting" + "smithy.api#enumValue": "tcp" } }, - "deleted": { + "udp": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "deleted" + "smithy.api#enumValue": "udp" } } } }, - "com.amazonaws.ec2#TransitGatewayPrefixListAttachment": { + "com.amazonaws.ec2#TrunkInterfaceAssociation": { "type": "structure", "members": { - "TransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", - "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayAttachmentId", - "smithy.api#documentation": "

The ID of the attachment.

", - "smithy.api#xmlName": "transitGatewayAttachmentId" - } - }, - "ResourceType": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentResourceType", + "AssociationId": { + "target": "com.amazonaws.ec2#TrunkInterfaceAssociationId", "traits": { - "aws.protocols#ec2QueryName": "ResourceType", - "smithy.api#documentation": "

The resource type. Note that the tgw-peering resource type has been deprecated.

", - "smithy.api#xmlName": "resourceType" + "aws.protocols#ec2QueryName": "AssociationId", + "smithy.api#documentation": "

The ID of the association.

", + "smithy.api#xmlName": "associationId" } }, - "ResourceId": { + "BranchInterfaceId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ResourceId", - "smithy.api#documentation": "

The ID of the resource.

", - "smithy.api#xmlName": "resourceId" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a transit gateway prefix list attachment.

" - } - }, - "com.amazonaws.ec2#TransitGatewayPrefixListReference": { - "type": "structure", - "members": { - "TransitGatewayRouteTableId": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", - "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayRouteTableId", - "smithy.api#documentation": "

The ID of the transit gateway route table.

", - "smithy.api#xmlName": "transitGatewayRouteTableId" + "aws.protocols#ec2QueryName": "BranchInterfaceId", + "smithy.api#documentation": "

The ID of the branch network interface.

", + "smithy.api#xmlName": "branchInterfaceId" } }, - "PrefixListId": { - "target": "com.amazonaws.ec2#PrefixListResourceId", + "TrunkInterfaceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PrefixListId", - "smithy.api#documentation": "

The ID of the prefix list.

", - "smithy.api#xmlName": "prefixListId" + "aws.protocols#ec2QueryName": "TrunkInterfaceId", + "smithy.api#documentation": "

The ID of the trunk network interface.

", + "smithy.api#xmlName": "trunkInterfaceId" } }, - "PrefixListOwnerId": { - "target": "com.amazonaws.ec2#String", + "InterfaceProtocol": { + "target": "com.amazonaws.ec2#InterfaceProtocolType", "traits": { - "aws.protocols#ec2QueryName": "PrefixListOwnerId", - "smithy.api#documentation": "

The ID of the prefix list owner.

", - "smithy.api#xmlName": "prefixListOwnerId" + "aws.protocols#ec2QueryName": "InterfaceProtocol", + "smithy.api#documentation": "

The interface protocol. Valid values are VLAN and GRE.

", + "smithy.api#xmlName": "interfaceProtocol" } }, - "State": { - "target": "com.amazonaws.ec2#TransitGatewayPrefixListReferenceState", + "VlanId": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the prefix list reference.

", - "smithy.api#xmlName": "state" + "aws.protocols#ec2QueryName": "VlanId", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The ID of the VLAN when you use the VLAN protocol.

", + "smithy.api#xmlName": "vlanId" } }, - "Blackhole": { - "target": "com.amazonaws.ec2#Boolean", + "GreKey": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "Blackhole", + "aws.protocols#ec2QueryName": "GreKey", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether traffic that matches this route is dropped.

", - "smithy.api#xmlName": "blackhole" + "smithy.api#default": 0, + "smithy.api#documentation": "

The application key when you use the GRE protocol.

", + "smithy.api#xmlName": "greKey" } }, - "TransitGatewayAttachment": { - "target": "com.amazonaws.ec2#TransitGatewayPrefixListAttachment", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayAttachment", - "smithy.api#documentation": "

Information about the transit gateway attachment.

", - "smithy.api#xmlName": "transitGatewayAttachment" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags for the trunk interface association.

", + "smithy.api#xmlName": "tagSet" } } }, "traits": { - "smithy.api#documentation": "

Describes a prefix list reference.

" + "smithy.api#documentation": "\n

Currently available in limited preview only. \n If you are interested in using this feature, contact your account manager.

\n
\n

Information about an association between a branch network interface with a trunk network interface.

" } }, - "com.amazonaws.ec2#TransitGatewayPrefixListReferenceSet": { + "com.amazonaws.ec2#TrunkInterfaceAssociationId": { + "type": "string" + }, + "com.amazonaws.ec2#TrunkInterfaceAssociationIdList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#TransitGatewayPrefixListReference", + "target": "com.amazonaws.ec2#TrunkInterfaceAssociationId", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#TransitGatewayPrefixListReferenceState": { + "com.amazonaws.ec2#TrunkInterfaceAssociationList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#TrunkInterfaceAssociation", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#TrustProviderType": { "type": "enum", "members": { - "pending": { + "user": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "pending" + "smithy.api#enumValue": "user" } }, - "available": { + "device": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "available" + "smithy.api#enumValue": "device" } - }, - "modifying": { + } + } + }, + "com.amazonaws.ec2#TunnelInsideIpVersion": { + "type": "enum", + "members": { + "ipv4": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "modifying" + "smithy.api#enumValue": "ipv4" } }, - "deleting": { + "ipv6": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "deleting" + "smithy.api#enumValue": "ipv6" } } } }, - "com.amazonaws.ec2#TransitGatewayPropagation": { + "com.amazonaws.ec2#TunnelOption": { "type": "structure", "members": { - "TransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", + "OutsideIpAddress": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayAttachmentId", - "smithy.api#documentation": "

The ID of the attachment.

", - "smithy.api#xmlName": "transitGatewayAttachmentId" + "aws.protocols#ec2QueryName": "OutsideIpAddress", + "smithy.api#documentation": "

The external IP address of the VPN tunnel.

", + "smithy.api#xmlName": "outsideIpAddress" } }, - "ResourceId": { + "TunnelInsideCidr": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ResourceId", - "smithy.api#documentation": "

The ID of the resource.

", - "smithy.api#xmlName": "resourceId" + "aws.protocols#ec2QueryName": "TunnelInsideCidr", + "smithy.api#documentation": "

The range of inside IPv4 addresses for the tunnel.

", + "smithy.api#xmlName": "tunnelInsideCidr" } }, - "ResourceType": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentResourceType", + "TunnelInsideIpv6Cidr": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ResourceType", - "smithy.api#documentation": "

The resource type. Note that the tgw-peering resource type has been deprecated.

", - "smithy.api#xmlName": "resourceType" + "aws.protocols#ec2QueryName": "TunnelInsideIpv6Cidr", + "smithy.api#documentation": "

The range of inside IPv6 addresses for the tunnel.

", + "smithy.api#xmlName": "tunnelInsideIpv6Cidr" } }, - "TransitGatewayRouteTableId": { + "PreSharedKey": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayRouteTableId", - "smithy.api#documentation": "

The ID of the transit gateway route table.

", - "smithy.api#xmlName": "transitGatewayRouteTableId" + "aws.protocols#ec2QueryName": "PreSharedKey", + "smithy.api#documentation": "

The pre-shared key (PSK) to establish initial authentication between the virtual\n private gateway and the customer gateway.

", + "smithy.api#xmlName": "preSharedKey" } }, - "State": { - "target": "com.amazonaws.ec2#TransitGatewayPropagationState", + "Phase1LifetimeSeconds": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state.

", - "smithy.api#xmlName": "state" + "aws.protocols#ec2QueryName": "Phase1LifetimeSeconds", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The lifetime for phase 1 of the IKE negotiation, in seconds.

", + "smithy.api#xmlName": "phase1LifetimeSeconds" } }, - "TransitGatewayRouteTableAnnouncementId": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementId", - "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayRouteTableAnnouncementId", - "smithy.api#documentation": "

The ID of the transit gateway route table announcement.

", - "smithy.api#xmlName": "transitGatewayRouteTableAnnouncementId" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes route propagation.

" - } - }, - "com.amazonaws.ec2#TransitGatewayPropagationState": { - "type": "enum", - "members": { - "enabling": { - "target": "smithy.api#Unit", + "Phase2LifetimeSeconds": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "enabling" + "aws.protocols#ec2QueryName": "Phase2LifetimeSeconds", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The lifetime for phase 2 of the IKE negotiation, in seconds.

", + "smithy.api#xmlName": "phase2LifetimeSeconds" } }, - "enabled": { - "target": "smithy.api#Unit", + "RekeyMarginTimeSeconds": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "enabled" + "aws.protocols#ec2QueryName": "RekeyMarginTimeSeconds", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The margin time, in seconds, before the phase 2 lifetime expires, during which the\n Amazon Web Services side of the VPN connection performs an IKE rekey.

", + "smithy.api#xmlName": "rekeyMarginTimeSeconds" } }, - "disabling": { - "target": "smithy.api#Unit", + "RekeyFuzzPercentage": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "disabling" + "aws.protocols#ec2QueryName": "RekeyFuzzPercentage", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The percentage of the rekey window determined by RekeyMarginTimeSeconds\n during which the rekey time is randomly selected.

", + "smithy.api#xmlName": "rekeyFuzzPercentage" } }, - "disabled": { - "target": "smithy.api#Unit", + "ReplayWindowSize": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "disabled" + "aws.protocols#ec2QueryName": "ReplayWindowSize", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The number of packets in an IKE replay window.

", + "smithy.api#xmlName": "replayWindowSize" } - } - } - }, - "com.amazonaws.ec2#TransitGatewayRequestOptions": { - "type": "structure", - "members": { - "AmazonSideAsn": { - "target": "com.amazonaws.ec2#Long", + }, + "DpdTimeoutSeconds": { + "target": "com.amazonaws.ec2#Integer", "traits": { + "aws.protocols#ec2QueryName": "DpdTimeoutSeconds", "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

A private Autonomous System Number (ASN) for the Amazon side of a BGP session. \n The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 for 32-bit ASNs. The default is 64512.

" + "smithy.api#documentation": "

The number of seconds after which a DPD timeout occurs.

", + "smithy.api#xmlName": "dpdTimeoutSeconds" } }, - "AutoAcceptSharedAttachments": { - "target": "com.amazonaws.ec2#AutoAcceptSharedAttachmentsValue", + "DpdTimeoutAction": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

Enable or disable automatic acceptance of attachment requests. Disabled by default.

" + "aws.protocols#ec2QueryName": "DpdTimeoutAction", + "smithy.api#documentation": "

The action to take after a DPD timeout occurs.

", + "smithy.api#xmlName": "dpdTimeoutAction" } }, - "DefaultRouteTableAssociation": { - "target": "com.amazonaws.ec2#DefaultRouteTableAssociationValue", + "Phase1EncryptionAlgorithms": { + "target": "com.amazonaws.ec2#Phase1EncryptionAlgorithmsList", "traits": { - "smithy.api#documentation": "

Enable or disable automatic association with the default association route table. Enabled by default.

" + "aws.protocols#ec2QueryName": "Phase1EncryptionAlgorithmSet", + "smithy.api#documentation": "

The permitted encryption algorithms for the VPN tunnel for phase 1 IKE\n negotiations.

", + "smithy.api#xmlName": "phase1EncryptionAlgorithmSet" } }, - "DefaultRouteTablePropagation": { - "target": "com.amazonaws.ec2#DefaultRouteTablePropagationValue", + "Phase2EncryptionAlgorithms": { + "target": "com.amazonaws.ec2#Phase2EncryptionAlgorithmsList", "traits": { - "smithy.api#documentation": "

Enable or disable automatic propagation of routes to the default propagation route table. Enabled by default.

" + "aws.protocols#ec2QueryName": "Phase2EncryptionAlgorithmSet", + "smithy.api#documentation": "

The permitted encryption algorithms for the VPN tunnel for phase 2 IKE\n negotiations.

", + "smithy.api#xmlName": "phase2EncryptionAlgorithmSet" } }, - "VpnEcmpSupport": { - "target": "com.amazonaws.ec2#VpnEcmpSupportValue", + "Phase1IntegrityAlgorithms": { + "target": "com.amazonaws.ec2#Phase1IntegrityAlgorithmsList", "traits": { - "smithy.api#documentation": "

Enable or disable Equal Cost Multipath Protocol support. Enabled by default.

" + "aws.protocols#ec2QueryName": "Phase1IntegrityAlgorithmSet", + "smithy.api#documentation": "

The permitted integrity algorithms for the VPN tunnel for phase 1 IKE\n negotiations.

", + "smithy.api#xmlName": "phase1IntegrityAlgorithmSet" + } + }, + "Phase2IntegrityAlgorithms": { + "target": "com.amazonaws.ec2#Phase2IntegrityAlgorithmsList", + "traits": { + "aws.protocols#ec2QueryName": "Phase2IntegrityAlgorithmSet", + "smithy.api#documentation": "

The permitted integrity algorithms for the VPN tunnel for phase 2 IKE\n negotiations.

", + "smithy.api#xmlName": "phase2IntegrityAlgorithmSet" + } + }, + "Phase1DHGroupNumbers": { + "target": "com.amazonaws.ec2#Phase1DHGroupNumbersList", + "traits": { + "aws.protocols#ec2QueryName": "Phase1DHGroupNumberSet", + "smithy.api#documentation": "

The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 1 IKE\n negotiations.

", + "smithy.api#xmlName": "phase1DHGroupNumberSet" + } + }, + "Phase2DHGroupNumbers": { + "target": "com.amazonaws.ec2#Phase2DHGroupNumbersList", + "traits": { + "aws.protocols#ec2QueryName": "Phase2DHGroupNumberSet", + "smithy.api#documentation": "

The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 2 IKE\n negotiations.

", + "smithy.api#xmlName": "phase2DHGroupNumberSet" } }, - "DnsSupport": { - "target": "com.amazonaws.ec2#DnsSupportValue", + "IkeVersions": { + "target": "com.amazonaws.ec2#IKEVersionsList", "traits": { - "smithy.api#documentation": "

Enable or disable DNS support. Enabled by default.

" + "aws.protocols#ec2QueryName": "IkeVersionSet", + "smithy.api#documentation": "

The IKE versions that are permitted for the VPN tunnel.

", + "smithy.api#xmlName": "ikeVersionSet" } }, - "MulticastSupport": { - "target": "com.amazonaws.ec2#MulticastSupportValue", + "StartupAction": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

Indicates whether multicast is enabled on the transit gateway

" + "aws.protocols#ec2QueryName": "StartupAction", + "smithy.api#documentation": "

The action to take when the establishing the VPN tunnels for a VPN connection.

", + "smithy.api#xmlName": "startupAction" } }, - "TransitGatewayCidrBlocks": { - "target": "com.amazonaws.ec2#TransitGatewayCidrBlockStringList", + "LogOptions": { + "target": "com.amazonaws.ec2#VpnTunnelLogOptions", "traits": { - "smithy.api#documentation": "

One or more IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for IPv6.

" + "aws.protocols#ec2QueryName": "LogOptions", + "smithy.api#documentation": "

Options for logging VPN tunnel activity.

", + "smithy.api#xmlName": "logOptions" } } }, "traits": { - "smithy.api#documentation": "

Describes the options for a transit gateway.

" + "smithy.api#documentation": "

The VPN tunnel options.

" } }, - "com.amazonaws.ec2#TransitGatewayRoute": { + "com.amazonaws.ec2#TunnelOptionsList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#TunnelOption", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#UnassignIpv6Addresses": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#UnassignIpv6AddressesRequest" + }, + "output": { + "target": "com.amazonaws.ec2#UnassignIpv6AddressesResult" + }, + "traits": { + "smithy.api#documentation": "

Unassigns one or more IPv6 addresses IPv4 Prefix Delegation prefixes from a network interface.

" + } + }, + "com.amazonaws.ec2#UnassignIpv6AddressesRequest": { "type": "structure", "members": { - "DestinationCidrBlock": { - "target": "com.amazonaws.ec2#String", + "Ipv6Addresses": { + "target": "com.amazonaws.ec2#Ipv6AddressList", "traits": { - "aws.protocols#ec2QueryName": "DestinationCidrBlock", - "smithy.api#documentation": "

The CIDR block used for destination matches.

", - "smithy.api#xmlName": "destinationCidrBlock" + "aws.protocols#ec2QueryName": "Ipv6Addresses", + "smithy.api#documentation": "

The IPv6 addresses to unassign from the network interface.

", + "smithy.api#xmlName": "ipv6Addresses" } }, - "PrefixListId": { - "target": "com.amazonaws.ec2#PrefixListResourceId", + "Ipv6Prefixes": { + "target": "com.amazonaws.ec2#IpPrefixList", "traits": { - "aws.protocols#ec2QueryName": "PrefixListId", - "smithy.api#documentation": "

The ID of the prefix list used for destination matches.

", - "smithy.api#xmlName": "prefixListId" + "smithy.api#documentation": "

The IPv6 prefixes to unassign from the network interface.

", + "smithy.api#xmlName": "Ipv6Prefix" } }, - "TransitGatewayRouteTableAnnouncementId": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementId", + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#NetworkInterfaceId", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayRouteTableAnnouncementId", - "smithy.api#documentation": "

The ID of the transit gateway route table announcement.

", - "smithy.api#xmlName": "transitGatewayRouteTableAnnouncementId" + "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the network interface.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "networkInterfaceId" } - }, - "TransitGatewayAttachments": { - "target": "com.amazonaws.ec2#TransitGatewayRouteAttachmentList", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#UnassignIpv6AddressesResult": { + "type": "structure", + "members": { + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayAttachments", - "smithy.api#documentation": "

The attachments.

", - "smithy.api#xmlName": "transitGatewayAttachments" + "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "smithy.api#documentation": "

The ID of the network interface.

", + "smithy.api#xmlName": "networkInterfaceId" } }, - "Type": { - "target": "com.amazonaws.ec2#TransitGatewayRouteType", + "UnassignedIpv6Addresses": { + "target": "com.amazonaws.ec2#Ipv6AddressList", "traits": { - "aws.protocols#ec2QueryName": "Type", - "smithy.api#documentation": "

The route type.

", - "smithy.api#xmlName": "type" + "aws.protocols#ec2QueryName": "UnassignedIpv6Addresses", + "smithy.api#documentation": "

The IPv6 addresses that have been unassigned from the network interface.

", + "smithy.api#xmlName": "unassignedIpv6Addresses" } }, - "State": { - "target": "com.amazonaws.ec2#TransitGatewayRouteState", + "UnassignedIpv6Prefixes": { + "target": "com.amazonaws.ec2#IpPrefixList", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the route.

", - "smithy.api#xmlName": "state" + "aws.protocols#ec2QueryName": "UnassignedIpv6PrefixSet", + "smithy.api#documentation": "

The IPv4 prefixes that have been unassigned from the network interface.

", + "smithy.api#xmlName": "unassignedIpv6PrefixSet" } } + } + }, + "com.amazonaws.ec2#UnassignPrivateIpAddresses": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#UnassignPrivateIpAddressesRequest" + }, + "output": { + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Describes a route for a transit gateway route table.

" + "smithy.api#documentation": "

Unassigns one or more secondary private IP addresses, or IPv4 Prefix Delegation prefixes from a \n \tnetwork interface.

" } }, - "com.amazonaws.ec2#TransitGatewayRouteAttachment": { + "com.amazonaws.ec2#UnassignPrivateIpAddressesRequest": { "type": "structure", "members": { - "ResourceId": { - "target": "com.amazonaws.ec2#String", + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#NetworkInterfaceId", "traits": { - "aws.protocols#ec2QueryName": "ResourceId", - "smithy.api#documentation": "

The ID of the resource.

", - "smithy.api#xmlName": "resourceId" + "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the network interface.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "networkInterfaceId" } }, - "TransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#String", + "PrivateIpAddresses": { + "target": "com.amazonaws.ec2#PrivateIpAddressStringList", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayAttachmentId", - "smithy.api#documentation": "

The ID of the attachment.

", - "smithy.api#xmlName": "transitGatewayAttachmentId" + "aws.protocols#ec2QueryName": "PrivateIpAddress", + "smithy.api#documentation": "

The secondary private IP addresses to unassign from the network interface. You can specify this \n \toption multiple times to unassign more than one IP address.

", + "smithy.api#xmlName": "privateIpAddress" } }, - "ResourceType": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentResourceType", + "Ipv4Prefixes": { + "target": "com.amazonaws.ec2#IpPrefixList", "traits": { - "aws.protocols#ec2QueryName": "ResourceType", - "smithy.api#documentation": "

The resource type. Note that the tgw-peering resource type has been deprecated.

", - "smithy.api#xmlName": "resourceType" + "smithy.api#documentation": "

The IPv4 prefixes to unassign from the network interface.

", + "smithy.api#xmlName": "Ipv4Prefix" } } }, "traits": { - "smithy.api#documentation": "

Describes a route attachment.

" - } - }, - "com.amazonaws.ec2#TransitGatewayRouteAttachmentList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#TransitGatewayRouteAttachment", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#TransitGatewayRouteList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#TransitGatewayRoute", - "traits": { - "smithy.api#xmlName": "item" - } + "smithy.api#documentation": "

Contains the parameters for UnassignPrivateIpAddresses.

", + "smithy.api#input": {} } }, - "com.amazonaws.ec2#TransitGatewayRouteState": { + "com.amazonaws.ec2#UnlimitedSupportedInstanceFamily": { "type": "enum", "members": { - "pending": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "pending" - } - }, - "active": { + "t2": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "active" + "smithy.api#enumValue": "t2" } }, - "blackhole": { + "t3": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "blackhole" + "smithy.api#enumValue": "t3" } }, - "deleting": { + "t3a": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "deleting" + "smithy.api#enumValue": "t3a" } }, - "deleted": { + "t4g": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "deleted" + "smithy.api#enumValue": "t4g" } } } }, - "com.amazonaws.ec2#TransitGatewayRouteTable": { + "com.amazonaws.ec2#UnmonitorInstances": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#UnmonitorInstancesRequest" + }, + "output": { + "target": "com.amazonaws.ec2#UnmonitorInstancesResult" + }, + "traits": { + "smithy.api#documentation": "

Disables detailed monitoring for a running instance. For more information, see Monitoring\n your instances and volumes in the\n Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#UnmonitorInstancesRequest": { "type": "structure", "members": { - "TransitGatewayRouteTableId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayRouteTableId", - "smithy.api#documentation": "

The ID of the transit gateway route table.

", - "smithy.api#xmlName": "transitGatewayRouteTableId" - } - }, - "TransitGatewayId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayId", - "smithy.api#documentation": "

The ID of the transit gateway.

", - "smithy.api#xmlName": "transitGatewayId" - } - }, - "State": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableState", - "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the transit gateway route table.

", - "smithy.api#xmlName": "state" - } - }, - "DefaultAssociationRouteTable": { - "target": "com.amazonaws.ec2#Boolean", + "InstanceIds": { + "target": "com.amazonaws.ec2#InstanceIdStringList", "traits": { - "aws.protocols#ec2QueryName": "DefaultAssociationRouteTable", "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether this is the default association route table for the transit gateway.

", - "smithy.api#xmlName": "defaultAssociationRouteTable" + "smithy.api#documentation": "

The IDs of the instances.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "InstanceId" } }, - "DefaultPropagationRouteTable": { + "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "DefaultPropagationRouteTable", + "aws.protocols#ec2QueryName": "DryRun", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether this is the default propagation route table for the transit gateway.

", - "smithy.api#xmlName": "defaultPropagationRouteTable" - } - }, - "CreationTime": { - "target": "com.amazonaws.ec2#DateTime", - "traits": { - "aws.protocols#ec2QueryName": "CreationTime", - "smithy.api#documentation": "

The creation time.

", - "smithy.api#xmlName": "creationTime" - } - }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", - "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags assigned to the route table.

", - "smithy.api#xmlName": "tagSet" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", + "smithy.api#xmlName": "dryRun" } } }, "traits": { - "smithy.api#documentation": "

Describes a transit gateway route table.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncement": { + "com.amazonaws.ec2#UnmonitorInstancesResult": { "type": "structure", "members": { - "TransitGatewayRouteTableAnnouncementId": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementId", - "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayRouteTableAnnouncementId", - "smithy.api#documentation": "

The ID of the transit gateway route table announcement.

", - "smithy.api#xmlName": "transitGatewayRouteTableAnnouncementId" - } - }, - "TransitGatewayId": { - "target": "com.amazonaws.ec2#TransitGatewayId", - "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayId", - "smithy.api#documentation": "

The ID of the transit gateway.

", - "smithy.api#xmlName": "transitGatewayId" - } - }, - "CoreNetworkId": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "CoreNetworkId", - "smithy.api#documentation": "

The ID of the core network for the transit gateway route table announcement.

", - "smithy.api#xmlName": "coreNetworkId" - } - }, - "PeerTransitGatewayId": { - "target": "com.amazonaws.ec2#TransitGatewayId", - "traits": { - "aws.protocols#ec2QueryName": "PeerTransitGatewayId", - "smithy.api#documentation": "

The ID of the peer transit gateway.

", - "smithy.api#xmlName": "peerTransitGatewayId" - } - }, - "PeerCoreNetworkId": { - "target": "com.amazonaws.ec2#String", + "InstanceMonitorings": { + "target": "com.amazonaws.ec2#InstanceMonitoringList", "traits": { - "aws.protocols#ec2QueryName": "PeerCoreNetworkId", - "smithy.api#documentation": "

The ID of the core network ID for the peer.

", - "smithy.api#xmlName": "peerCoreNetworkId" + "aws.protocols#ec2QueryName": "InstancesSet", + "smithy.api#documentation": "

The monitoring information.

", + "smithy.api#xmlName": "instancesSet" } - }, - "PeeringAttachmentId": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", + } + } + }, + "com.amazonaws.ec2#UnsuccessfulInstanceCreditSpecificationErrorCode": { + "type": "enum", + "members": { + "INVALID_INSTANCE_ID": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "PeeringAttachmentId", - "smithy.api#documentation": "

The ID of the peering attachment.

", - "smithy.api#xmlName": "peeringAttachmentId" + "smithy.api#enumValue": "InvalidInstanceID.Malformed" } }, - "AnnouncementDirection": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementDirection", + "INSTANCE_NOT_FOUND": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "AnnouncementDirection", - "smithy.api#documentation": "

The direction for the route table announcement.

", - "smithy.api#xmlName": "announcementDirection" + "smithy.api#enumValue": "InvalidInstanceID.NotFound" } }, - "TransitGatewayRouteTableId": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", + "INCORRECT_INSTANCE_STATE": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayRouteTableId", - "smithy.api#documentation": "

The ID of the transit gateway route table.

", - "smithy.api#xmlName": "transitGatewayRouteTableId" + "smithy.api#enumValue": "IncorrectInstanceState" } }, - "State": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementState", + "INSTANCE_CREDIT_SPECIFICATION_NOT_SUPPORTED": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the transit gateway announcement.

", - "smithy.api#xmlName": "state" + "smithy.api#enumValue": "InstanceCreditSpecification.NotSupported" } - }, - "CreationTime": { - "target": "com.amazonaws.ec2#DateTime", + } + } + }, + "com.amazonaws.ec2#UnsuccessfulInstanceCreditSpecificationItem": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CreationTime", - "smithy.api#documentation": "

The timestamp when the transit gateway route table announcement was created.

", - "smithy.api#xmlName": "creationTime" + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#documentation": "

The ID of the instance.

", + "smithy.api#xmlName": "instanceId" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "Error": { + "target": "com.amazonaws.ec2#UnsuccessfulInstanceCreditSpecificationItemError", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The key-value pairs associated with the route table announcement.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "Error", + "smithy.api#documentation": "

The applicable error for the burstable performance instance whose credit option for\n CPU usage was not modified.

", + "smithy.api#xmlName": "error" } } }, "traits": { - "smithy.api#documentation": "

Describes a transit gateway route table announcement.

" + "smithy.api#documentation": "

Describes the burstable performance instance whose credit option for CPU usage was not\n modified.

" } }, - "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementDirection": { - "type": "enum", + "com.amazonaws.ec2#UnsuccessfulInstanceCreditSpecificationItemError": { + "type": "structure", "members": { - "outgoing": { - "target": "smithy.api#Unit", + "Code": { + "target": "com.amazonaws.ec2#UnsuccessfulInstanceCreditSpecificationErrorCode", "traits": { - "smithy.api#enumValue": "outgoing" + "aws.protocols#ec2QueryName": "Code", + "smithy.api#documentation": "

The error code.

", + "smithy.api#xmlName": "code" } }, - "incoming": { - "target": "smithy.api#Unit", + "Message": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "incoming" + "aws.protocols#ec2QueryName": "Message", + "smithy.api#documentation": "

The applicable error message.

", + "smithy.api#xmlName": "message" } } + }, + "traits": { + "smithy.api#documentation": "

Information about the error for the burstable performance instance whose credit option\n for CPU usage was not modified.

" } }, - "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementId": { - "type": "string" - }, - "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementIdStringList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementId", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementList": { + "com.amazonaws.ec2#UnsuccessfulInstanceCreditSpecificationSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncement", + "target": "com.amazonaws.ec2#UnsuccessfulInstanceCreditSpecificationItem", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementState": { - "type": "enum", + "com.amazonaws.ec2#UnsuccessfulItem": { + "type": "structure", "members": { - "available": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "available" - } - }, - "pending": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "pending" - } - }, - "failing": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "failing" - } - }, - "failed": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "failed" - } - }, - "deleting": { - "target": "smithy.api#Unit", + "Error": { + "target": "com.amazonaws.ec2#UnsuccessfulItemError", "traits": { - "smithy.api#enumValue": "deleting" + "aws.protocols#ec2QueryName": "Error", + "smithy.api#documentation": "

Information about the error.

", + "smithy.api#xmlName": "error" } }, - "deleted": { - "target": "smithy.api#Unit", + "ResourceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "deleted" + "aws.protocols#ec2QueryName": "ResourceId", + "smithy.api#documentation": "

The ID of the resource.

", + "smithy.api#xmlName": "resourceId" } } + }, + "traits": { + "smithy.api#documentation": "

Information about items that were not successfully processed in a batch call.

" } }, - "com.amazonaws.ec2#TransitGatewayRouteTableAssociation": { + "com.amazonaws.ec2#UnsuccessfulItemError": { "type": "structure", "members": { - "TransitGatewayAttachmentId": { + "Code": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayAttachmentId", - "smithy.api#documentation": "

The ID of the attachment.

", - "smithy.api#xmlName": "transitGatewayAttachmentId" + "aws.protocols#ec2QueryName": "Code", + "smithy.api#documentation": "

The error code.

", + "smithy.api#xmlName": "code" } }, - "ResourceId": { + "Message": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ResourceId", - "smithy.api#documentation": "

The ID of the resource.

", - "smithy.api#xmlName": "resourceId" - } - }, - "ResourceType": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentResourceType", - "traits": { - "aws.protocols#ec2QueryName": "ResourceType", - "smithy.api#documentation": "

The resource type. Note that the tgw-peering resource type has been deprecated.

", - "smithy.api#xmlName": "resourceType" - } - }, - "State": { - "target": "com.amazonaws.ec2#TransitGatewayAssociationState", - "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the association.

", - "smithy.api#xmlName": "state" + "aws.protocols#ec2QueryName": "Message", + "smithy.api#documentation": "

The error message accompanying the error code.

", + "smithy.api#xmlName": "message" } } }, "traits": { - "smithy.api#documentation": "

Describes an association between a route table and a resource attachment.

" + "smithy.api#documentation": "

Information about the error that occurred. For more information about errors, see Error codes.

" } }, - "com.amazonaws.ec2#TransitGatewayRouteTableAssociationList": { + "com.amazonaws.ec2#UnsuccessfulItemList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableAssociation", + "target": "com.amazonaws.ec2#UnsuccessfulItem", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#TransitGatewayRouteTableId": { - "type": "string" - }, - "com.amazonaws.ec2#TransitGatewayRouteTableIdStringList": { + "com.amazonaws.ec2#UnsuccessfulItemSet": { "type": "list", "member": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", + "target": "com.amazonaws.ec2#UnsuccessfulItem", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#TransitGatewayRouteTableList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTable", - "traits": { - "smithy.api#xmlName": "item" - } + "com.amazonaws.ec2#UpdateSecurityGroupRuleDescriptionsEgress": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#UpdateSecurityGroupRuleDescriptionsEgressRequest" + }, + "output": { + "target": "com.amazonaws.ec2#UpdateSecurityGroupRuleDescriptionsEgressResult" + }, + "traits": { + "smithy.api#documentation": "

[VPC only] Updates the description of an egress (outbound) security group rule. You\n\t\t\tcan replace an existing description, or add a description to a rule that did not have one\n\t\t\tpreviously. You can remove a description for a security group rule by omitting the \n\t\t\tdescription parameter in the request.

" } }, - "com.amazonaws.ec2#TransitGatewayRouteTablePropagation": { + "com.amazonaws.ec2#UpdateSecurityGroupRuleDescriptionsEgressRequest": { "type": "structure", "members": { - "TransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayAttachmentId", - "smithy.api#documentation": "

The ID of the attachment.

", - "smithy.api#xmlName": "transitGatewayAttachmentId" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "ResourceId": { - "target": "com.amazonaws.ec2#String", + "GroupId": { + "target": "com.amazonaws.ec2#SecurityGroupId", "traits": { - "aws.protocols#ec2QueryName": "ResourceId", - "smithy.api#documentation": "

The ID of the resource.

", - "smithy.api#xmlName": "resourceId" + "smithy.api#documentation": "

The ID of the security group. You must specify either the security group ID or the\n\t\t\tsecurity group name in the request. For security groups in a nondefault VPC, you must\n\t\t\tspecify the security group ID.

" } }, - "ResourceType": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentResourceType", + "GroupName": { + "target": "com.amazonaws.ec2#SecurityGroupName", "traits": { - "aws.protocols#ec2QueryName": "ResourceType", - "smithy.api#documentation": "

The type of resource. Note that the tgw-peering resource type has been deprecated.

", - "smithy.api#xmlName": "resourceType" + "smithy.api#documentation": "

[Default VPC] The name of the security group. You must specify either the security group\n\t\t\tID or the security group name in the request.

" } }, - "State": { - "target": "com.amazonaws.ec2#TransitGatewayPropagationState", + "IpPermissions": { + "target": "com.amazonaws.ec2#IpPermissionList", "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the resource.

", - "smithy.api#xmlName": "state" + "smithy.api#documentation": "

The IP permissions for the security group rule. You must specify either the IP permissions\n\t\t or the description.

" } }, - "TransitGatewayRouteTableAnnouncementId": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableAnnouncementId", + "SecurityGroupRuleDescriptions": { + "target": "com.amazonaws.ec2#SecurityGroupRuleDescriptionList", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayRouteTableAnnouncementId", - "smithy.api#documentation": "

The ID of the transit gateway route table announcement.

", - "smithy.api#xmlName": "transitGatewayRouteTableAnnouncementId" + "smithy.api#documentation": "

The description for the egress security group rules. You must specify either the\n description or the IP permissions.

", + "smithy.api#xmlName": "SecurityGroupRuleDescription" } } }, "traits": { - "smithy.api#documentation": "

Describes a route table propagation.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#TransitGatewayRouteTablePropagationList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTablePropagation", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#UpdateSecurityGroupRuleDescriptionsEgressResult": { + "type": "structure", + "members": { + "Return": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, returns an error.

", + "smithy.api#xmlName": "return" + } } } }, - "com.amazonaws.ec2#TransitGatewayRouteTableRoute": { + "com.amazonaws.ec2#UpdateSecurityGroupRuleDescriptionsIngress": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#UpdateSecurityGroupRuleDescriptionsIngressRequest" + }, + "output": { + "target": "com.amazonaws.ec2#UpdateSecurityGroupRuleDescriptionsIngressResult" + }, + "traits": { + "smithy.api#documentation": "

Updates the description of an ingress (inbound) security group rule. You can replace an\n\t\t\texisting description, or add a description to a rule that did not have one previously.\n\t\t You can remove a description for a security group rule by omitting the description \n\t\t parameter in the request.

" + } + }, + "com.amazonaws.ec2#UpdateSecurityGroupRuleDescriptionsIngressRequest": { "type": "structure", "members": { - "DestinationCidr": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "DestinationCidr", - "smithy.api#documentation": "

The CIDR block used for destination matches.

", - "smithy.api#xmlName": "destinationCidr" - } - }, - "State": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the route.

", - "smithy.api#xmlName": "state" - } - }, - "RouteOrigin": { - "target": "com.amazonaws.ec2#String", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "RouteOrigin", - "smithy.api#documentation": "

The route origin. The following are the possible values:

\n
    \n
  • \n

    static

    \n
  • \n
  • \n

    propagated

    \n
  • \n
", - "smithy.api#xmlName": "routeOrigin" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, - "PrefixListId": { - "target": "com.amazonaws.ec2#String", + "GroupId": { + "target": "com.amazonaws.ec2#SecurityGroupId", "traits": { - "aws.protocols#ec2QueryName": "PrefixListId", - "smithy.api#documentation": "

The ID of the prefix list.

", - "smithy.api#xmlName": "prefixListId" + "smithy.api#documentation": "

The ID of the security group. You must specify either the security group ID or the\n\t\t\tsecurity group name in the request. For security groups in a nondefault VPC, you must\n\t\t\tspecify the security group ID.

" } }, - "AttachmentId": { - "target": "com.amazonaws.ec2#String", + "GroupName": { + "target": "com.amazonaws.ec2#SecurityGroupName", "traits": { - "aws.protocols#ec2QueryName": "AttachmentId", - "smithy.api#documentation": "

The ID of the route attachment.

", - "smithy.api#xmlName": "attachmentId" + "smithy.api#documentation": "

[EC2-Classic, default VPC] The name of the security group. You must specify either the\n security group ID or the security group name in the request. For security groups in a\n nondefault VPC, you must specify the security group ID.

" } }, - "ResourceId": { - "target": "com.amazonaws.ec2#String", + "IpPermissions": { + "target": "com.amazonaws.ec2#IpPermissionList", "traits": { - "aws.protocols#ec2QueryName": "ResourceId", - "smithy.api#documentation": "

The ID of the resource for the route attachment.

", - "smithy.api#xmlName": "resourceId" + "smithy.api#documentation": "

The IP permissions for the security group rule. You must specify either IP permissions\n\t\t or a description.

" } }, - "ResourceType": { - "target": "com.amazonaws.ec2#String", + "SecurityGroupRuleDescriptions": { + "target": "com.amazonaws.ec2#SecurityGroupRuleDescriptionList", "traits": { - "aws.protocols#ec2QueryName": "ResourceType", - "smithy.api#documentation": "

The resource type for the route attachment.

", - "smithy.api#xmlName": "resourceType" + "smithy.api#documentation": "

[VPC only] The description for the ingress security group rules. You must specify either\n a description or IP permissions.

", + "smithy.api#xmlName": "SecurityGroupRuleDescription" } } }, "traits": { - "smithy.api#documentation": "

Describes a route in a transit gateway route table.

" + "smithy.api#input": {} } }, - "com.amazonaws.ec2#TransitGatewayRouteTableState": { - "type": "enum", + "com.amazonaws.ec2#UpdateSecurityGroupRuleDescriptionsIngressResult": { + "type": "structure", "members": { - "pending": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "pending" - } - }, - "available": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "available" - } - }, - "deleting": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "deleting" - } - }, - "deleted": { - "target": "smithy.api#Unit", + "Return": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#enumValue": "deleted" + "aws.protocols#ec2QueryName": "Return", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, returns an error.

", + "smithy.api#xmlName": "return" } } } }, - "com.amazonaws.ec2#TransitGatewayRouteType": { + "com.amazonaws.ec2#UsageClassType": { "type": "enum", "members": { - "static": { + "spot": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "static" + "smithy.api#enumValue": "spot" } }, - "propagated": { + "on_demand": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "propagated" + "smithy.api#enumValue": "on-demand" } } } }, - "com.amazonaws.ec2#TransitGatewayState": { - "type": "enum", + "com.amazonaws.ec2#UsageClassTypeList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#UsageClassType", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#UserBucket": { + "type": "structure", "members": { - "pending": { - "target": "smithy.api#Unit", + "S3Bucket": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "pending" + "smithy.api#documentation": "

The name of the Amazon S3 bucket where the disk image is located.

" } }, - "available": { - "target": "smithy.api#Unit", + "S3Key": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "available" + "smithy.api#documentation": "

The file name of the disk image.

" } - }, - "modifying": { - "target": "smithy.api#Unit", + } + }, + "traits": { + "smithy.api#documentation": "

Describes the Amazon S3 bucket for the disk image.

" + } + }, + "com.amazonaws.ec2#UserBucketDetails": { + "type": "structure", + "members": { + "S3Bucket": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "modifying" + "aws.protocols#ec2QueryName": "S3Bucket", + "smithy.api#documentation": "

The Amazon S3 bucket from which the disk image was created.

", + "smithy.api#xmlName": "s3Bucket" } }, - "deleting": { - "target": "smithy.api#Unit", + "S3Key": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "deleting" + "aws.protocols#ec2QueryName": "S3Key", + "smithy.api#documentation": "

The file name of the disk image.

", + "smithy.api#xmlName": "s3Key" } - }, - "deleted": { - "target": "smithy.api#Unit", + } + }, + "traits": { + "smithy.api#documentation": "

Describes the Amazon S3 bucket for the disk image.

" + } + }, + "com.amazonaws.ec2#UserData": { + "type": "structure", + "members": { + "Data": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "deleted" + "aws.protocols#ec2QueryName": "Data", + "smithy.api#documentation": "

The user data. If you are using an Amazon Web Services SDK or command line tool, Base64-encoding is performed for you, and you\n can load the text from a file. Otherwise, you must provide Base64-encoded text.

", + "smithy.api#xmlName": "data" } } + }, + "traits": { + "smithy.api#documentation": "

Describes the user data for an instance.

", + "smithy.api#sensitive": {} } }, - "com.amazonaws.ec2#TransitGatewaySubnetIdList": { + "com.amazonaws.ec2#UserGroupStringList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#SubnetId", + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#xmlName": "item" + "smithy.api#xmlName": "UserGroup" } } }, - "com.amazonaws.ec2#TransitGatewayVpcAttachment": { + "com.amazonaws.ec2#UserIdGroupPair": { "type": "structure", "members": { - "TransitGatewayAttachmentId": { + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayAttachmentId", - "smithy.api#documentation": "

The ID of the attachment.

", - "smithy.api#xmlName": "transitGatewayAttachmentId" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A description for the security group rule that references this user ID group\n\t\t\tpair.

\n

Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9,\n spaces, and ._-:/()#,@[]+=;{}!$*

", + "smithy.api#xmlName": "description" } }, - "TransitGatewayId": { + "GroupId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayId", - "smithy.api#documentation": "

The ID of the transit gateway.

", - "smithy.api#xmlName": "transitGatewayId" + "aws.protocols#ec2QueryName": "GroupId", + "smithy.api#documentation": "

The ID of the security group.

", + "smithy.api#xmlName": "groupId" } }, - "VpcId": { + "GroupName": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "VpcId", - "smithy.api#documentation": "

The ID of the VPC.

", - "smithy.api#xmlName": "vpcId" + "aws.protocols#ec2QueryName": "GroupName", + "smithy.api#documentation": "

The name of the security group. In a request, use this parameter for a security group\n in EC2-Classic or a default VPC only. For a security group in a nondefault VPC, use the\n security group ID.

\n

For a referenced security group in another VPC, this value is not returned if the\n referenced security group is deleted.

", + "smithy.api#xmlName": "groupName" } }, - "VpcOwnerId": { + "PeeringStatus": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "VpcOwnerId", - "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the VPC.

", - "smithy.api#xmlName": "vpcOwnerId" - } - }, - "State": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentState", - "traits": { - "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The state of the VPC attachment. Note that the initiating state has been deprecated.

", - "smithy.api#xmlName": "state" - } - }, - "SubnetIds": { - "target": "com.amazonaws.ec2#ValueStringList", - "traits": { - "aws.protocols#ec2QueryName": "SubnetIds", - "smithy.api#documentation": "

The IDs of the subnets.

", - "smithy.api#xmlName": "subnetIds" + "aws.protocols#ec2QueryName": "PeeringStatus", + "smithy.api#documentation": "

The status of a VPC peering connection, if applicable.

", + "smithy.api#xmlName": "peeringStatus" } }, - "CreationTime": { - "target": "com.amazonaws.ec2#DateTime", + "UserId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "CreationTime", - "smithy.api#documentation": "

The creation time.

", - "smithy.api#xmlName": "creationTime" + "aws.protocols#ec2QueryName": "UserId", + "smithy.api#documentation": "

The ID of an Amazon Web Services account.

\n

For a referenced security group in another VPC, the account ID of the referenced\n security group is returned in the response. If the referenced security group is deleted,\n this value is not returned.

\n

[EC2-Classic] Required when adding or removing rules that reference a security group\n in another Amazon Web Services account.

", + "smithy.api#xmlName": "userId" } }, - "Options": { - "target": "com.amazonaws.ec2#TransitGatewayVpcAttachmentOptions", + "VpcId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Options", - "smithy.api#documentation": "

The VPC attachment options.

", - "smithy.api#xmlName": "options" + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#documentation": "

The ID of the VPC for the referenced security group, if applicable.

", + "smithy.api#xmlName": "vpcId" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "VpcPeeringConnectionId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags for the VPC attachment.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "VpcPeeringConnectionId", + "smithy.api#documentation": "

The ID of the VPC peering connection, if applicable.

", + "smithy.api#xmlName": "vpcPeeringConnectionId" } } }, "traits": { - "smithy.api#documentation": "

Describes a VPC attachment.

" + "smithy.api#documentation": "

Describes a security group and Amazon Web Services account ID pair.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" } }, - "com.amazonaws.ec2#TransitGatewayVpcAttachmentList": { + "com.amazonaws.ec2#UserIdGroupPairList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#TransitGatewayVpcAttachment", + "target": "com.amazonaws.ec2#UserIdGroupPair", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#TransitGatewayVpcAttachmentOptions": { - "type": "structure", + "com.amazonaws.ec2#UserIdGroupPairSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#UserIdGroupPair", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#UserIdStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#xmlName": "UserId" + } + } + }, + "com.amazonaws.ec2#UserTrustProviderType": { + "type": "enum", "members": { - "DnsSupport": { - "target": "com.amazonaws.ec2#DnsSupportValue", + "iam_identity_center": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "DnsSupport", - "smithy.api#documentation": "

Indicates whether DNS support is enabled.

", - "smithy.api#xmlName": "dnsSupport" + "smithy.api#enumValue": "iam-identity-center" } }, - "Ipv6Support": { - "target": "com.amazonaws.ec2#Ipv6SupportValue", + "oidc": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "Ipv6Support", - "smithy.api#documentation": "

Indicates whether IPv6 support is disabled.

", - "smithy.api#xmlName": "ipv6Support" + "smithy.api#enumValue": "oidc" + } + } + } + }, + "com.amazonaws.ec2#VCpuCount": { + "type": "integer" + }, + "com.amazonaws.ec2#VCpuCountRange": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Min", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The minimum number of vCPUs. If the value is 0, there is no minimum\n limit.

", + "smithy.api#xmlName": "min" } }, - "ApplianceModeSupport": { - "target": "com.amazonaws.ec2#ApplianceModeSupportValue", + "Max": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "aws.protocols#ec2QueryName": "ApplianceModeSupport", - "smithy.api#documentation": "

Indicates whether appliance mode support is enabled.

", - "smithy.api#xmlName": "applianceModeSupport" + "aws.protocols#ec2QueryName": "Max", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of vCPUs. If this parameter is not specified, there is no maximum\n limit.

", + "smithy.api#xmlName": "max" } } }, "traits": { - "smithy.api#documentation": "

Describes the VPC attachment options.

" + "smithy.api#documentation": "

The minimum and maximum number of vCPUs.

" } }, - "com.amazonaws.ec2#TransportProtocol": { - "type": "enum", + "com.amazonaws.ec2#VCpuCountRangeRequest": { + "type": "structure", "members": { - "tcp": { - "target": "smithy.api#Unit", + "Min": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "tcp" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The minimum number of vCPUs. To specify no minimum limit, specify 0.

", + "smithy.api#required": {} } }, - "udp": { - "target": "smithy.api#Unit", + "Max": { + "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#enumValue": "udp" + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of vCPUs. To specify no maximum limit, omit this parameter.

" } } + }, + "traits": { + "smithy.api#documentation": "

The minimum and maximum number of vCPUs.

" } }, - "com.amazonaws.ec2#TrunkInterfaceAssociation": { + "com.amazonaws.ec2#VCpuInfo": { "type": "structure", "members": { - "AssociationId": { - "target": "com.amazonaws.ec2#TrunkInterfaceAssociationId", - "traits": { - "aws.protocols#ec2QueryName": "AssociationId", - "smithy.api#documentation": "

The ID of the association.

", - "smithy.api#xmlName": "associationId" - } - }, - "BranchInterfaceId": { - "target": "com.amazonaws.ec2#String", + "DefaultVCpus": { + "target": "com.amazonaws.ec2#VCpuCount", "traits": { - "aws.protocols#ec2QueryName": "BranchInterfaceId", - "smithy.api#documentation": "

The ID of the branch network interface.

", - "smithy.api#xmlName": "branchInterfaceId" + "aws.protocols#ec2QueryName": "DefaultVCpus", + "smithy.api#documentation": "

The default number of vCPUs for the instance type.

", + "smithy.api#xmlName": "defaultVCpus" } }, - "TrunkInterfaceId": { - "target": "com.amazonaws.ec2#String", + "DefaultCores": { + "target": "com.amazonaws.ec2#CoreCount", "traits": { - "aws.protocols#ec2QueryName": "TrunkInterfaceId", - "smithy.api#documentation": "

The ID of the trunk network interface.

", - "smithy.api#xmlName": "trunkInterfaceId" + "aws.protocols#ec2QueryName": "DefaultCores", + "smithy.api#documentation": "

The default number of cores for the instance type.

", + "smithy.api#xmlName": "defaultCores" } }, - "InterfaceProtocol": { - "target": "com.amazonaws.ec2#InterfaceProtocolType", + "DefaultThreadsPerCore": { + "target": "com.amazonaws.ec2#ThreadsPerCore", "traits": { - "aws.protocols#ec2QueryName": "InterfaceProtocol", - "smithy.api#documentation": "

The interface protocol. Valid values are VLAN and GRE.

", - "smithy.api#xmlName": "interfaceProtocol" + "aws.protocols#ec2QueryName": "DefaultThreadsPerCore", + "smithy.api#documentation": "

The default number of threads per core for the instance type.

", + "smithy.api#xmlName": "defaultThreadsPerCore" } }, - "VlanId": { - "target": "com.amazonaws.ec2#Integer", + "ValidCores": { + "target": "com.amazonaws.ec2#CoreCountList", "traits": { - "aws.protocols#ec2QueryName": "VlanId", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The ID of the VLAN when you use the VLAN protocol.

", - "smithy.api#xmlName": "vlanId" + "aws.protocols#ec2QueryName": "ValidCores", + "smithy.api#documentation": "

The valid number of cores that can be configured for the instance type.

", + "smithy.api#xmlName": "validCores" } }, - "GreKey": { - "target": "com.amazonaws.ec2#Integer", + "ValidThreadsPerCore": { + "target": "com.amazonaws.ec2#ThreadsPerCoreList", "traits": { - "aws.protocols#ec2QueryName": "GreKey", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The application key when you use the GRE protocol.

", - "smithy.api#xmlName": "greKey" + "aws.protocols#ec2QueryName": "ValidThreadsPerCore", + "smithy.api#documentation": "

The valid number of threads per core that can be configured for the instance type.

", + "smithy.api#xmlName": "validThreadsPerCore" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the vCPU configurations for the instance type.

" + } + }, + "com.amazonaws.ec2#ValidationError": { + "type": "structure", + "members": { + "Code": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Code", + "smithy.api#documentation": "

The error code that indicates why the parameter or parameter combination is not valid.\n For more information about error codes, see Error codes.

", + "smithy.api#xmlName": "code" } }, - "Tags": { - "target": "com.amazonaws.ec2#TagList", + "Message": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

The tags for the trunk interface association.

", - "smithy.api#xmlName": "tagSet" + "aws.protocols#ec2QueryName": "Message", + "smithy.api#documentation": "

The error message that describes why the parameter or parameter combination is not\n valid. For more information about error messages, see Error codes.

", + "smithy.api#xmlName": "message" } } }, "traits": { - "smithy.api#documentation": "\n

Currently available in limited preview only. \n If you are interested in using this feature, contact your account manager.

\n
\n

Information about an association between a branch network interface with a trunk network interface.

" + "smithy.api#documentation": "

The error code and error message that is returned for a parameter or parameter\n combination that is not valid when a new launch template or new version of a launch\n template is created.

" } }, - "com.amazonaws.ec2#TrunkInterfaceAssociationId": { - "type": "string" - }, - "com.amazonaws.ec2#TrunkInterfaceAssociationIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#TrunkInterfaceAssociationId", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#ValidationWarning": { + "type": "structure", + "members": { + "Errors": { + "target": "com.amazonaws.ec2#ErrorSet", + "traits": { + "aws.protocols#ec2QueryName": "ErrorSet", + "smithy.api#documentation": "

The error codes and error messages.

", + "smithy.api#xmlName": "errorSet" + } } + }, + "traits": { + "smithy.api#documentation": "

The error codes and error messages that are returned for the parameters or parameter\n combinations that are not valid when a new launch template or new version of a launch\n template is created.

" } }, - "com.amazonaws.ec2#TrunkInterfaceAssociationList": { + "com.amazonaws.ec2#ValueStringList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#TrunkInterfaceAssociation", + "target": "com.amazonaws.ec2#String", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#TunnelInsideIpVersion": { - "type": "enum", - "members": { - "ipv4": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ipv4" - } - }, - "ipv6": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ipv6" - } - } - } - }, - "com.amazonaws.ec2#TunnelOption": { + "com.amazonaws.ec2#VerifiedAccessEndpoint": { "type": "structure", "members": { - "OutsideIpAddress": { + "VerifiedAccessInstanceId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "OutsideIpAddress", - "smithy.api#documentation": "

The external IP address of the VPN tunnel.

", - "smithy.api#xmlName": "outsideIpAddress" + "aws.protocols#ec2QueryName": "VerifiedAccessInstanceId", + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access instance.

", + "smithy.api#xmlName": "verifiedAccessInstanceId" } }, - "TunnelInsideCidr": { + "VerifiedAccessGroupId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TunnelInsideCidr", - "smithy.api#documentation": "

The range of inside IPv4 addresses for the tunnel.

", - "smithy.api#xmlName": "tunnelInsideCidr" + "aws.protocols#ec2QueryName": "VerifiedAccessGroupId", + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access group.

", + "smithy.api#xmlName": "verifiedAccessGroupId" } }, - "TunnelInsideIpv6Cidr": { + "VerifiedAccessEndpointId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "TunnelInsideIpv6Cidr", - "smithy.api#documentation": "

The range of inside IPv6 addresses for the tunnel.

", - "smithy.api#xmlName": "tunnelInsideIpv6Cidr" + "aws.protocols#ec2QueryName": "VerifiedAccessEndpointId", + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access endpoint.

", + "smithy.api#xmlName": "verifiedAccessEndpointId" } }, - "PreSharedKey": { + "ApplicationDomain": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PreSharedKey", - "smithy.api#documentation": "

The pre-shared key (PSK) to establish initial authentication between the virtual\n private gateway and the customer gateway.

", - "smithy.api#xmlName": "preSharedKey" - } - }, - "Phase1LifetimeSeconds": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "aws.protocols#ec2QueryName": "Phase1LifetimeSeconds", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The lifetime for phase 1 of the IKE negotiation, in seconds.

", - "smithy.api#xmlName": "phase1LifetimeSeconds" - } - }, - "Phase2LifetimeSeconds": { - "target": "com.amazonaws.ec2#Integer", - "traits": { - "aws.protocols#ec2QueryName": "Phase2LifetimeSeconds", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The lifetime for phase 2 of the IKE negotiation, in seconds.

", - "smithy.api#xmlName": "phase2LifetimeSeconds" + "aws.protocols#ec2QueryName": "ApplicationDomain", + "smithy.api#documentation": "

The DNS name for users to reach your application.

", + "smithy.api#xmlName": "applicationDomain" } }, - "RekeyMarginTimeSeconds": { - "target": "com.amazonaws.ec2#Integer", + "EndpointType": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointType", "traits": { - "aws.protocols#ec2QueryName": "RekeyMarginTimeSeconds", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The margin time, in seconds, before the phase 2 lifetime expires, during which the\n Amazon Web Services side of the VPN connection performs an IKE rekey.

", - "smithy.api#xmlName": "rekeyMarginTimeSeconds" + "aws.protocols#ec2QueryName": "EndpointType", + "smithy.api#documentation": "

The type of Amazon Web Services Verified Access endpoint. Incoming application requests will be sent to an IP\n address, load balancer or a network interface depending on the endpoint type\n specified.

", + "smithy.api#xmlName": "endpointType" } }, - "RekeyFuzzPercentage": { - "target": "com.amazonaws.ec2#Integer", + "AttachmentType": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointAttachmentType", "traits": { - "aws.protocols#ec2QueryName": "RekeyFuzzPercentage", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The percentage of the rekey window determined by RekeyMarginTimeSeconds\n during which the rekey time is randomly selected.

", - "smithy.api#xmlName": "rekeyFuzzPercentage" + "aws.protocols#ec2QueryName": "AttachmentType", + "smithy.api#documentation": "

The type of attachment used to provide connectivity between the Amazon Web Services Verified Access endpoint and the\n application.

", + "smithy.api#xmlName": "attachmentType" } }, - "ReplayWindowSize": { - "target": "com.amazonaws.ec2#Integer", + "DomainCertificateArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ReplayWindowSize", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of packets in an IKE replay window.

", - "smithy.api#xmlName": "replayWindowSize" + "aws.protocols#ec2QueryName": "DomainCertificateArn", + "smithy.api#documentation": "

The ARN of a public TLS/SSL certificate imported into or created with ACM.

", + "smithy.api#xmlName": "domainCertificateArn" } }, - "DpdTimeoutSeconds": { - "target": "com.amazonaws.ec2#Integer", + "EndpointDomain": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DpdTimeoutSeconds", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of seconds after which a DPD timeout occurs.

", - "smithy.api#xmlName": "dpdTimeoutSeconds" + "aws.protocols#ec2QueryName": "EndpointDomain", + "smithy.api#documentation": "

A DNS name that is generated for the endpoint.

", + "smithy.api#xmlName": "endpointDomain" } }, - "DpdTimeoutAction": { + "DeviceValidationDomain": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "DpdTimeoutAction", - "smithy.api#documentation": "

The action to take after a DPD timeout occurs.

", - "smithy.api#xmlName": "dpdTimeoutAction" + "aws.protocols#ec2QueryName": "DeviceValidationDomain", + "smithy.api#documentation": "

Returned if endpoint has a device trust provider attached.

", + "smithy.api#xmlName": "deviceValidationDomain" } }, - "Phase1EncryptionAlgorithms": { - "target": "com.amazonaws.ec2#Phase1EncryptionAlgorithmsList", + "SecurityGroupIds": { + "target": "com.amazonaws.ec2#SecurityGroupIdList", "traits": { - "aws.protocols#ec2QueryName": "Phase1EncryptionAlgorithmSet", - "smithy.api#documentation": "

The permitted encryption algorithms for the VPN tunnel for phase 1 IKE\n negotiations.

", - "smithy.api#xmlName": "phase1EncryptionAlgorithmSet" + "aws.protocols#ec2QueryName": "SecurityGroupIdSet", + "smithy.api#documentation": "

The IDs of the security groups for the endpoint.

", + "smithy.api#xmlName": "securityGroupIdSet" } }, - "Phase2EncryptionAlgorithms": { - "target": "com.amazonaws.ec2#Phase2EncryptionAlgorithmsList", + "LoadBalancerOptions": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointLoadBalancerOptions", "traits": { - "aws.protocols#ec2QueryName": "Phase2EncryptionAlgorithmSet", - "smithy.api#documentation": "

The permitted encryption algorithms for the VPN tunnel for phase 2 IKE\n negotiations.

", - "smithy.api#xmlName": "phase2EncryptionAlgorithmSet" + "aws.protocols#ec2QueryName": "LoadBalancerOptions", + "smithy.api#documentation": "

The load balancer details if creating the Amazon Web Services Verified Access endpoint as\n load-balancertype.

", + "smithy.api#xmlName": "loadBalancerOptions" } }, - "Phase1IntegrityAlgorithms": { - "target": "com.amazonaws.ec2#Phase1IntegrityAlgorithmsList", + "NetworkInterfaceOptions": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointEniOptions", "traits": { - "aws.protocols#ec2QueryName": "Phase1IntegrityAlgorithmSet", - "smithy.api#documentation": "

The permitted integrity algorithms for the VPN tunnel for phase 1 IKE\n negotiations.

", - "smithy.api#xmlName": "phase1IntegrityAlgorithmSet" + "aws.protocols#ec2QueryName": "NetworkInterfaceOptions", + "smithy.api#documentation": "

The options for network-interface type endpoint.

", + "smithy.api#xmlName": "networkInterfaceOptions" } }, - "Phase2IntegrityAlgorithms": { - "target": "com.amazonaws.ec2#Phase2IntegrityAlgorithmsList", + "Status": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointStatus", "traits": { - "aws.protocols#ec2QueryName": "Phase2IntegrityAlgorithmSet", - "smithy.api#documentation": "

The permitted integrity algorithms for the VPN tunnel for phase 2 IKE\n negotiations.

", - "smithy.api#xmlName": "phase2IntegrityAlgorithmSet" + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The endpoint status.

", + "smithy.api#xmlName": "status" } }, - "Phase1DHGroupNumbers": { - "target": "com.amazonaws.ec2#Phase1DHGroupNumbersList", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Phase1DHGroupNumberSet", - "smithy.api#documentation": "

The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 1 IKE\n negotiations.

", - "smithy.api#xmlName": "phase1DHGroupNumberSet" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A description for the Amazon Web Services Verified Access endpoint.

", + "smithy.api#xmlName": "description" } }, - "Phase2DHGroupNumbers": { - "target": "com.amazonaws.ec2#Phase2DHGroupNumbersList", + "CreationTime": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Phase2DHGroupNumberSet", - "smithy.api#documentation": "

The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 2 IKE\n negotiations.

", - "smithy.api#xmlName": "phase2DHGroupNumberSet" + "aws.protocols#ec2QueryName": "CreationTime", + "smithy.api#documentation": "

The creation time.

", + "smithy.api#xmlName": "creationTime" } }, - "IkeVersions": { - "target": "com.amazonaws.ec2#IKEVersionsList", + "LastUpdatedTime": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "IkeVersionSet", - "smithy.api#documentation": "

The IKE versions that are permitted for the VPN tunnel.

", - "smithy.api#xmlName": "ikeVersionSet" + "aws.protocols#ec2QueryName": "LastUpdatedTime", + "smithy.api#documentation": "

The last updated time.

", + "smithy.api#xmlName": "lastUpdatedTime" } }, - "StartupAction": { + "DeletionTime": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "StartupAction", - "smithy.api#documentation": "

The action to take when the establishing the VPN tunnels for a VPN connection.

", - "smithy.api#xmlName": "startupAction" + "aws.protocols#ec2QueryName": "DeletionTime", + "smithy.api#documentation": "

The deletion time.

", + "smithy.api#xmlName": "deletionTime" } }, - "LogOptions": { - "target": "com.amazonaws.ec2#VpnTunnelLogOptions", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "LogOptions", - "smithy.api#documentation": "

Options for logging VPN tunnel activity.

", - "smithy.api#xmlName": "logOptions" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags.

", + "smithy.api#xmlName": "tagSet" } } }, "traits": { - "smithy.api#documentation": "

The VPN tunnel options.

" + "smithy.api#documentation": "

An Amazon Web Services Verified Access endpoint specifies the application that Amazon Web Services Verified Access provides access to. It must be\n attached to an Amazon Web Services Verified Access group. An Amazon Web Services Verified Access endpoint must also have an attached access policy\n before you attached it to a group.

" } }, - "com.amazonaws.ec2#TunnelOptionsList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#TunnelOption", - "traits": { - "smithy.api#xmlName": "item" + "com.amazonaws.ec2#VerifiedAccessEndpointAttachmentType": { + "type": "enum", + "members": { + "vpc": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "vpc" + } } } }, - "com.amazonaws.ec2#UnassignIpv6Addresses": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#UnassignIpv6AddressesRequest" - }, - "output": { - "target": "com.amazonaws.ec2#UnassignIpv6AddressesResult" - }, - "traits": { - "smithy.api#documentation": "

Unassigns one or more IPv6 addresses IPv4 Prefix Delegation prefixes from a network interface.

" - } - }, - "com.amazonaws.ec2#UnassignIpv6AddressesRequest": { + "com.amazonaws.ec2#VerifiedAccessEndpointEniOptions": { "type": "structure", "members": { - "Ipv6Addresses": { - "target": "com.amazonaws.ec2#Ipv6AddressList", + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#NetworkInterfaceId", "traits": { - "aws.protocols#ec2QueryName": "Ipv6Addresses", - "smithy.api#documentation": "

The IPv6 addresses to unassign from the network interface.

", - "smithy.api#xmlName": "ipv6Addresses" + "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "smithy.api#documentation": "

The ID of the network interface.

", + "smithy.api#xmlName": "networkInterfaceId" } }, - "Ipv6Prefixes": { - "target": "com.amazonaws.ec2#IpPrefixList", + "Protocol": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointProtocol", "traits": { - "smithy.api#documentation": "

The IPv6 prefixes to unassign from the network interface.

", - "smithy.api#xmlName": "Ipv6Prefix" + "aws.protocols#ec2QueryName": "Protocol", + "smithy.api#documentation": "

The IP protocol.

", + "smithy.api#xmlName": "protocol" } }, - "NetworkInterfaceId": { - "target": "com.amazonaws.ec2#NetworkInterfaceId", + "Port": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointPortNumber", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "aws.protocols#ec2QueryName": "Port", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the network interface.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "networkInterfaceId" + "smithy.api#default": 0, + "smithy.api#documentation": "

The IP port number.

", + "smithy.api#xmlName": "port" } } + }, + "traits": { + "smithy.api#documentation": "

Options for a network-interface type endpoint.

" } }, - "com.amazonaws.ec2#UnassignIpv6AddressesResult": { + "com.amazonaws.ec2#VerifiedAccessEndpointId": { + "type": "string" + }, + "com.amazonaws.ec2#VerifiedAccessEndpointIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#VerifiedAccessEndpointList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpoint", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#VerifiedAccessEndpointLoadBalancerOptions": { "type": "structure", "members": { - "NetworkInterfaceId": { - "target": "com.amazonaws.ec2#String", + "Protocol": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointProtocol", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceId", - "smithy.api#documentation": "

The ID of the network interface.

", - "smithy.api#xmlName": "networkInterfaceId" + "aws.protocols#ec2QueryName": "Protocol", + "smithy.api#documentation": "

The IP protocol.

", + "smithy.api#xmlName": "protocol" } }, - "UnassignedIpv6Addresses": { - "target": "com.amazonaws.ec2#Ipv6AddressList", + "Port": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointPortNumber", "traits": { - "aws.protocols#ec2QueryName": "UnassignedIpv6Addresses", - "smithy.api#documentation": "

The IPv6 addresses that have been unassigned from the network interface.

", - "smithy.api#xmlName": "unassignedIpv6Addresses" + "aws.protocols#ec2QueryName": "Port", + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The IP port number.

", + "smithy.api#xmlName": "port" } }, - "UnassignedIpv6Prefixes": { - "target": "com.amazonaws.ec2#IpPrefixList", + "LoadBalancerArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "UnassignedIpv6PrefixSet", - "smithy.api#documentation": "

The IPv4 prefixes that have been unassigned from the network interface.

", - "smithy.api#xmlName": "unassignedIpv6PrefixSet" + "aws.protocols#ec2QueryName": "LoadBalancerArn", + "smithy.api#documentation": "

The ARN of the load balancer.

", + "smithy.api#xmlName": "loadBalancerArn" + } + }, + "SubnetIds": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointSubnetIdList", + "traits": { + "aws.protocols#ec2QueryName": "SubnetIdSet", + "smithy.api#documentation": "

The IDs of the subnets.

", + "smithy.api#xmlName": "subnetIdSet" } } + }, + "traits": { + "smithy.api#documentation": "

Describes a load balancer when creating an Amazon Web Services Verified Access endpoint using the\n load-balancer type.

" } }, - "com.amazonaws.ec2#UnassignPrivateIpAddresses": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#UnassignPrivateIpAddressesRequest" - }, - "output": { - "target": "smithy.api#Unit" - }, + "com.amazonaws.ec2#VerifiedAccessEndpointPortNumber": { + "type": "integer", "traits": { - "smithy.api#documentation": "

Unassigns one or more secondary private IP addresses, or IPv4 Prefix Delegation prefixes from a network interface.

" + "smithy.api#default": 0, + "smithy.api#range": { + "min": 1, + "max": 65535 + } } }, - "com.amazonaws.ec2#UnassignPrivateIpAddressesRequest": { - "type": "structure", + "com.amazonaws.ec2#VerifiedAccessEndpointProtocol": { + "type": "enum", "members": { - "NetworkInterfaceId": { - "target": "com.amazonaws.ec2#NetworkInterfaceId", + "http": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "NetworkInterfaceId", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the network interface.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "networkInterfaceId" + "smithy.api#enumValue": "http" } }, - "PrivateIpAddresses": { - "target": "com.amazonaws.ec2#PrivateIpAddressStringList", + "https": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "PrivateIpAddress", - "smithy.api#documentation": "

The secondary private IP addresses to unassign from the network interface. You can specify this option multiple times to unassign more than one IP address.

", - "smithy.api#xmlName": "privateIpAddress" + "smithy.api#enumValue": "https" + } + } + } + }, + "com.amazonaws.ec2#VerifiedAccessEndpointStatus": { + "type": "structure", + "members": { + "Code": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointStatusCode", + "traits": { + "aws.protocols#ec2QueryName": "Code", + "smithy.api#documentation": "

The status code of the Verified Access endpoint.

", + "smithy.api#xmlName": "code" } }, - "Ipv4Prefixes": { - "target": "com.amazonaws.ec2#IpPrefixList", + "Message": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The IPv4 prefixes to unassign from the network interface.

", - "smithy.api#xmlName": "Ipv4Prefix" + "aws.protocols#ec2QueryName": "Message", + "smithy.api#documentation": "

The status message of the Verified Access endpoint.

", + "smithy.api#xmlName": "message" } } }, "traits": { - "smithy.api#documentation": "

Contains the parameters for UnassignPrivateIpAddresses.

" + "smithy.api#documentation": "

Describes the status of a Verified Access endpoint.

" } }, - "com.amazonaws.ec2#UnlimitedSupportedInstanceFamily": { + "com.amazonaws.ec2#VerifiedAccessEndpointStatusCode": { "type": "enum", "members": { - "t2": { + "pending": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "t2" + "smithy.api#enumValue": "pending" } }, - "t3": { + "active": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "t3" + "smithy.api#enumValue": "active" } }, - "t3a": { + "updating": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "t3a" + "smithy.api#enumValue": "updating" } }, - "t4g": { + "deleting": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "t4g" + "smithy.api#enumValue": "deleting" + } + }, + "deleted": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "deleted" } } } }, - "com.amazonaws.ec2#UnmonitorInstances": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#UnmonitorInstancesRequest" - }, - "output": { - "target": "com.amazonaws.ec2#UnmonitorInstancesResult" - }, - "traits": { - "smithy.api#documentation": "

Disables detailed monitoring for a running instance. For more information, see Monitoring\n your instances and volumes in the\n Amazon EC2 User Guide.

" + "com.amazonaws.ec2#VerifiedAccessEndpointSubnetIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SubnetId", + "traits": { + "smithy.api#xmlName": "item" + } } }, - "com.amazonaws.ec2#UnmonitorInstancesRequest": { - "type": "structure", + "com.amazonaws.ec2#VerifiedAccessEndpointType": { + "type": "enum", "members": { - "InstanceIds": { - "target": "com.amazonaws.ec2#InstanceIdStringList", + "load_balancer": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The IDs of the instances.

", - "smithy.api#required": {}, - "smithy.api#xmlName": "InstanceId" + "smithy.api#enumValue": "load-balancer" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "network_interface": { + "target": "smithy.api#Unit", "traits": { - "aws.protocols#ec2QueryName": "DryRun", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", - "smithy.api#xmlName": "dryRun" + "smithy.api#enumValue": "network-interface" } } } }, - "com.amazonaws.ec2#UnmonitorInstancesResult": { + "com.amazonaws.ec2#VerifiedAccessGroup": { "type": "structure", "members": { - "InstanceMonitorings": { - "target": "com.amazonaws.ec2#InstanceMonitoringList", + "VerifiedAccessGroupId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "InstancesSet", - "smithy.api#documentation": "

The monitoring information.

", - "smithy.api#xmlName": "instancesSet" + "aws.protocols#ec2QueryName": "VerifiedAccessGroupId", + "smithy.api#documentation": "

The ID of the Verified Access group.

", + "smithy.api#xmlName": "verifiedAccessGroupId" } - } - } - }, - "com.amazonaws.ec2#UnsuccessfulInstanceCreditSpecificationErrorCode": { - "type": "enum", - "members": { - "INVALID_INSTANCE_ID": { - "target": "smithy.api#Unit", + }, + "VerifiedAccessInstanceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "InvalidInstanceID.Malformed" + "aws.protocols#ec2QueryName": "VerifiedAccessInstanceId", + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access instance.

", + "smithy.api#xmlName": "verifiedAccessInstanceId" } }, - "INSTANCE_NOT_FOUND": { - "target": "smithy.api#Unit", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "InvalidInstanceID.NotFound" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A description for the Amazon Web Services Verified Access group.

", + "smithy.api#xmlName": "description" } }, - "INCORRECT_INSTANCE_STATE": { - "target": "smithy.api#Unit", + "Owner": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "IncorrectInstanceState" + "aws.protocols#ec2QueryName": "Owner", + "smithy.api#documentation": "

The Amazon Web Services account number that owns the group.

", + "smithy.api#xmlName": "owner" } }, - "INSTANCE_CREDIT_SPECIFICATION_NOT_SUPPORTED": { - "target": "smithy.api#Unit", + "VerifiedAccessGroupArn": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#enumValue": "InstanceCreditSpecification.NotSupported" + "aws.protocols#ec2QueryName": "VerifiedAccessGroupArn", + "smithy.api#documentation": "

The ARN of the Verified Access group.

", + "smithy.api#xmlName": "verifiedAccessGroupArn" } - } - } - }, - "com.amazonaws.ec2#UnsuccessfulInstanceCreditSpecificationItem": { - "type": "structure", - "members": { - "InstanceId": { + }, + "CreationTime": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "InstanceId", - "smithy.api#documentation": "

The ID of the instance.

", - "smithy.api#xmlName": "instanceId" + "aws.protocols#ec2QueryName": "CreationTime", + "smithy.api#documentation": "

The creation time.

", + "smithy.api#xmlName": "creationTime" } }, - "Error": { - "target": "com.amazonaws.ec2#UnsuccessfulInstanceCreditSpecificationItemError", + "LastUpdatedTime": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Error", - "smithy.api#documentation": "

The applicable error for the burstable performance instance whose credit option for\n CPU usage was not modified.

", - "smithy.api#xmlName": "error" + "aws.protocols#ec2QueryName": "LastUpdatedTime", + "smithy.api#documentation": "

The last updated time.

", + "smithy.api#xmlName": "lastUpdatedTime" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the burstable performance instance whose credit option for CPU usage was not\n modified.

" - } - }, - "com.amazonaws.ec2#UnsuccessfulInstanceCreditSpecificationItemError": { - "type": "structure", - "members": { - "Code": { - "target": "com.amazonaws.ec2#UnsuccessfulInstanceCreditSpecificationErrorCode", + }, + "DeletionTime": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Code", - "smithy.api#documentation": "

The error code.

", - "smithy.api#xmlName": "code" + "aws.protocols#ec2QueryName": "DeletionTime", + "smithy.api#documentation": "

The deletion time.

", + "smithy.api#xmlName": "deletionTime" } }, - "Message": { - "target": "com.amazonaws.ec2#String", + "Tags": { + "target": "com.amazonaws.ec2#TagList", "traits": { - "aws.protocols#ec2QueryName": "Message", - "smithy.api#documentation": "

The applicable error message.

", - "smithy.api#xmlName": "message" + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags.

", + "smithy.api#xmlName": "tagSet" } } }, "traits": { - "smithy.api#documentation": "

Information about the error for the burstable performance instance whose credit option\n for CPU usage was not modified.

" + "smithy.api#documentation": "

Describes a Verified Access group.

" } }, - "com.amazonaws.ec2#UnsuccessfulInstanceCreditSpecificationSet": { + "com.amazonaws.ec2#VerifiedAccessGroupId": { + "type": "string" + }, + "com.amazonaws.ec2#VerifiedAccessGroupIdList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#UnsuccessfulInstanceCreditSpecificationItem", + "target": "com.amazonaws.ec2#VerifiedAccessGroupId", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#UnsuccessfulItem": { + "com.amazonaws.ec2#VerifiedAccessGroupList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#VerifiedAccessGroup", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#VerifiedAccessInstance": { "type": "structure", "members": { - "Error": { - "target": "com.amazonaws.ec2#UnsuccessfulItemError", + "VerifiedAccessInstanceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Error", - "smithy.api#documentation": "

Information about the error.

", - "smithy.api#xmlName": "error" + "aws.protocols#ec2QueryName": "VerifiedAccessInstanceId", + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access instance.

", + "smithy.api#xmlName": "verifiedAccessInstanceId" } }, - "ResourceId": { + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "ResourceId", - "smithy.api#documentation": "

The ID of the resource.

", - "smithy.api#xmlName": "resourceId" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A description for the Amazon Web Services Verified Access instance.

", + "smithy.api#xmlName": "description" } - } - }, - "traits": { - "smithy.api#documentation": "

Information about items that were not successfully processed in a batch call.

" - } - }, - "com.amazonaws.ec2#UnsuccessfulItemError": { - "type": "structure", - "members": { - "Code": { + }, + "VerifiedAccessTrustProviders": { + "target": "com.amazonaws.ec2#VerifiedAccessTrustProviderCondensedList", + "traits": { + "aws.protocols#ec2QueryName": "VerifiedAccessTrustProviderSet", + "smithy.api#documentation": "

The IDs of the Amazon Web Services Verified Access trust providers.

", + "smithy.api#xmlName": "verifiedAccessTrustProviderSet" + } + }, + "CreationTime": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Code", - "smithy.api#documentation": "

The error code.

", - "smithy.api#xmlName": "code" + "aws.protocols#ec2QueryName": "CreationTime", + "smithy.api#documentation": "

The creation time.

", + "smithy.api#xmlName": "creationTime" } }, - "Message": { + "LastUpdatedTime": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Message", - "smithy.api#documentation": "

The error message accompanying the error code.

", - "smithy.api#xmlName": "message" + "aws.protocols#ec2QueryName": "LastUpdatedTime", + "smithy.api#documentation": "

The last updated time.

", + "smithy.api#xmlName": "lastUpdatedTime" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags.

", + "smithy.api#xmlName": "tagSet" } } }, "traits": { - "smithy.api#documentation": "

Information about the error that occurred. For more information about errors, see Error codes.

" + "smithy.api#documentation": "

Describes a Verified Access instance.

" } }, - "com.amazonaws.ec2#UnsuccessfulItemList": { + "com.amazonaws.ec2#VerifiedAccessInstanceId": { + "type": "string" + }, + "com.amazonaws.ec2#VerifiedAccessInstanceIdList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#UnsuccessfulItem", + "target": "com.amazonaws.ec2#VerifiedAccessInstanceId", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#UnsuccessfulItemSet": { + "com.amazonaws.ec2#VerifiedAccessInstanceList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#UnsuccessfulItem", + "target": "com.amazonaws.ec2#VerifiedAccessInstance", "traits": { "smithy.api#xmlName": "item" } } }, - "com.amazonaws.ec2#UpdateSecurityGroupRuleDescriptionsEgress": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#UpdateSecurityGroupRuleDescriptionsEgressRequest" - }, - "output": { - "target": "com.amazonaws.ec2#UpdateSecurityGroupRuleDescriptionsEgressResult" - }, - "traits": { - "smithy.api#documentation": "

[VPC only] Updates the description of an egress (outbound) security group rule. You\n\t\t\tcan replace an existing description, or add a description to a rule that did not have one\n\t\t\tpreviously. You can remove a description for a security group rule by omitting the \n\t\t\tdescription parameter in the request.

" - } - }, - "com.amazonaws.ec2#UpdateSecurityGroupRuleDescriptionsEgressRequest": { + "com.amazonaws.ec2#VerifiedAccessInstanceLoggingConfiguration": { "type": "structure", "members": { - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - }, - "GroupId": { - "target": "com.amazonaws.ec2#SecurityGroupId", - "traits": { - "smithy.api#documentation": "

The ID of the security group. You must specify either the security group ID or the\n\t\t\tsecurity group name in the request. For security groups in a nondefault VPC, you must\n\t\t\tspecify the security group ID.

" - } - }, - "GroupName": { - "target": "com.amazonaws.ec2#SecurityGroupName", - "traits": { - "smithy.api#documentation": "

[Default VPC] The name of the security group. You must specify either the security group\n\t\t\tID or the security group name in the request.

" - } - }, - "IpPermissions": { - "target": "com.amazonaws.ec2#IpPermissionList", + "VerifiedAccessInstanceId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The IP permissions for the security group rule. You must specify either the IP permissions\n\t\t or the description.

" + "aws.protocols#ec2QueryName": "VerifiedAccessInstanceId", + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access instance.

", + "smithy.api#xmlName": "verifiedAccessInstanceId" } }, - "SecurityGroupRuleDescriptions": { - "target": "com.amazonaws.ec2#SecurityGroupRuleDescriptionList", + "AccessLogs": { + "target": "com.amazonaws.ec2#VerifiedAccessLogs", "traits": { - "smithy.api#documentation": "

The description for the egress security group rules. You must specify either the\n description or the IP permissions.

", - "smithy.api#xmlName": "SecurityGroupRuleDescription" + "aws.protocols#ec2QueryName": "AccessLogs", + "smithy.api#documentation": "

Details about the logging options.

", + "smithy.api#xmlName": "accessLogs" } } + }, + "traits": { + "smithy.api#documentation": "

Describes logging options for an Amazon Web Services Verified Access instance.

" } }, - "com.amazonaws.ec2#UpdateSecurityGroupRuleDescriptionsEgressResult": { + "com.amazonaws.ec2#VerifiedAccessInstanceLoggingConfigurationList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#VerifiedAccessInstanceLoggingConfiguration", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#VerifiedAccessLogCloudWatchLogsDestination": { "type": "structure", "members": { - "Return": { + "Enabled": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Return", + "aws.protocols#ec2QueryName": "Enabled", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, returns an error.

", - "smithy.api#xmlName": "return" + "smithy.api#documentation": "

Indicates whether logging is enabled.

", + "smithy.api#xmlName": "enabled" + } + }, + "DeliveryStatus": { + "target": "com.amazonaws.ec2#VerifiedAccessLogDeliveryStatus", + "traits": { + "aws.protocols#ec2QueryName": "DeliveryStatus", + "smithy.api#documentation": "

The delivery status for access logs.

", + "smithy.api#xmlName": "deliveryStatus" + } + }, + "LogGroup": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "LogGroup", + "smithy.api#documentation": "

The ID of the CloudWatch Logs log group.

", + "smithy.api#xmlName": "logGroup" } } - } - }, - "com.amazonaws.ec2#UpdateSecurityGroupRuleDescriptionsIngress": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#UpdateSecurityGroupRuleDescriptionsIngressRequest" - }, - "output": { - "target": "com.amazonaws.ec2#UpdateSecurityGroupRuleDescriptionsIngressResult" }, "traits": { - "smithy.api#documentation": "

Updates the description of an ingress (inbound) security group rule. You can replace an\n\t\t\texisting description, or add a description to a rule that did not have one previously.\n\t\t You can remove a description for a security group rule by omitting the description \n\t\t parameter in the request.

" + "smithy.api#documentation": "

Options for CloudWatch Logs as a logging destination.

" } }, - "com.amazonaws.ec2#UpdateSecurityGroupRuleDescriptionsIngressRequest": { + "com.amazonaws.ec2#VerifiedAccessLogCloudWatchLogsDestinationOptions": { "type": "structure", "members": { - "DryRun": { + "Enabled": { "target": "com.amazonaws.ec2#Boolean", "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" - } - }, - "GroupId": { - "target": "com.amazonaws.ec2#SecurityGroupId", - "traits": { - "smithy.api#documentation": "

The ID of the security group. You must specify either the security group ID or the\n\t\t\tsecurity group name in the request. For security groups in a nondefault VPC, you must\n\t\t\tspecify the security group ID.

" - } - }, - "GroupName": { - "target": "com.amazonaws.ec2#SecurityGroupName", - "traits": { - "smithy.api#documentation": "

[EC2-Classic, default VPC] The name of the security group. You must specify either the\n security group ID or the security group name in the request. For security groups in a\n nondefault VPC, you must specify the security group ID.

" - } - }, - "IpPermissions": { - "target": "com.amazonaws.ec2#IpPermissionList", - "traits": { - "smithy.api#documentation": "

The IP permissions for the security group rule. You must specify either IP permissions\n\t\t or a description.

" + "smithy.api#documentation": "

Indicates whether logging is enabled.

", + "smithy.api#required": {} } }, - "SecurityGroupRuleDescriptions": { - "target": "com.amazonaws.ec2#SecurityGroupRuleDescriptionList", + "LogGroup": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

[VPC only] The description for the ingress security group rules. You must specify either\n a description or IP permissions.

", - "smithy.api#xmlName": "SecurityGroupRuleDescription" + "smithy.api#documentation": "

The ID of the CloudWatch Logs log group.

" } } + }, + "traits": { + "smithy.api#documentation": "

Options for CloudWatch Logs as a logging destination.

" } }, - "com.amazonaws.ec2#UpdateSecurityGroupRuleDescriptionsIngressResult": { + "com.amazonaws.ec2#VerifiedAccessLogDeliveryStatus": { "type": "structure", "members": { - "Return": { - "target": "com.amazonaws.ec2#Boolean", + "Code": { + "target": "com.amazonaws.ec2#VerifiedAccessLogDeliveryStatusCode", "traits": { - "aws.protocols#ec2QueryName": "Return", - "smithy.api#clientOptional": {}, - "smithy.api#default": false, - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, returns an error.

", - "smithy.api#xmlName": "return" + "aws.protocols#ec2QueryName": "Code", + "smithy.api#documentation": "

The status code.

", + "smithy.api#xmlName": "code" + } + }, + "Message": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Message", + "smithy.api#documentation": "

The status message.

", + "smithy.api#xmlName": "message" } } + }, + "traits": { + "smithy.api#documentation": "

Describes a log delivery status.

" } }, - "com.amazonaws.ec2#UsageClassType": { + "com.amazonaws.ec2#VerifiedAccessLogDeliveryStatusCode": { "type": "enum", "members": { - "spot": { + "SUCCESS": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "spot" + "smithy.api#enumValue": "success" } }, - "on_demand": { + "FAILED": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "on-demand" + "smithy.api#enumValue": "failed" } } } }, - "com.amazonaws.ec2#UsageClassTypeList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#UsageClassType", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#UserBucket": { + "com.amazonaws.ec2#VerifiedAccessLogKinesisDataFirehoseDestination": { "type": "structure", "members": { - "S3Bucket": { - "target": "com.amazonaws.ec2#String", + "Enabled": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The name of the Amazon S3 bucket where the disk image is located.

" + "aws.protocols#ec2QueryName": "Enabled", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether logging is enabled.

", + "smithy.api#xmlName": "enabled" } }, - "S3Key": { + "DeliveryStatus": { + "target": "com.amazonaws.ec2#VerifiedAccessLogDeliveryStatus", + "traits": { + "aws.protocols#ec2QueryName": "DeliveryStatus", + "smithy.api#documentation": "

The delivery status.

", + "smithy.api#xmlName": "deliveryStatus" + } + }, + "DeliveryStream": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The file name of the disk image.

" + "aws.protocols#ec2QueryName": "DeliveryStream", + "smithy.api#documentation": "

The ID of the delivery stream.

", + "smithy.api#xmlName": "deliveryStream" } } }, "traits": { - "smithy.api#documentation": "

Describes the Amazon S3 bucket for the disk image.

" + "smithy.api#documentation": "

Options for Kinesis as a logging destination.

" } }, - "com.amazonaws.ec2#UserBucketDetails": { + "com.amazonaws.ec2#VerifiedAccessLogKinesisDataFirehoseDestinationOptions": { "type": "structure", "members": { - "S3Bucket": { - "target": "com.amazonaws.ec2#String", + "Enabled": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "S3Bucket", - "smithy.api#documentation": "

The Amazon S3 bucket from which the disk image was created.

", - "smithy.api#xmlName": "s3Bucket" + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether logging is enabled.

", + "smithy.api#required": {} } }, - "S3Key": { + "DeliveryStream": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "S3Key", - "smithy.api#documentation": "

The file name of the disk image.

", - "smithy.api#xmlName": "s3Key" + "smithy.api#documentation": "

The ID of the delivery stream.

" } } }, "traits": { - "smithy.api#documentation": "

Describes the Amazon S3 bucket for the disk image.

" + "smithy.api#documentation": "

Describes Amazon Kinesis Data Firehose logging options.

" } }, - "com.amazonaws.ec2#UserData": { + "com.amazonaws.ec2#VerifiedAccessLogOptions": { "type": "structure", "members": { - "Data": { - "target": "com.amazonaws.ec2#String", + "S3": { + "target": "com.amazonaws.ec2#VerifiedAccessLogS3DestinationOptions", "traits": { - "aws.protocols#ec2QueryName": "Data", - "smithy.api#documentation": "

The user data. If you are using an Amazon Web Services SDK or command line tool, Base64-encoding is performed for you, and you\n can load the text from a file. Otherwise, you must provide Base64-encoded text.

", - "smithy.api#xmlName": "data" + "smithy.api#documentation": "

Sends Verified Access logs to Amazon S3.

" + } + }, + "CloudWatchLogs": { + "target": "com.amazonaws.ec2#VerifiedAccessLogCloudWatchLogsDestinationOptions", + "traits": { + "smithy.api#documentation": "

Sends Verified Access logs to CloudWatch Logs.

" + } + }, + "KinesisDataFirehose": { + "target": "com.amazonaws.ec2#VerifiedAccessLogKinesisDataFirehoseDestinationOptions", + "traits": { + "smithy.api#documentation": "

Sends Verified Access logs to Kinesis.

" } } }, "traits": { - "smithy.api#documentation": "

Describes the user data for an instance.

", - "smithy.api#sensitive": {} - } - }, - "com.amazonaws.ec2#UserGroupStringList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#xmlName": "UserGroup" - } + "smithy.api#documentation": "

Describes the destinations for Verified Access logs.

" } }, - "com.amazonaws.ec2#UserIdGroupPair": { + "com.amazonaws.ec2#VerifiedAccessLogS3Destination": { "type": "structure", "members": { - "Description": { - "target": "com.amazonaws.ec2#String", + "Enabled": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "aws.protocols#ec2QueryName": "Description", - "smithy.api#documentation": "

A description for the security group rule that references this user ID group\n\t\t\tpair.

\n

Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9,\n spaces, and ._-:/()#,@[]+=;{}!$*

", - "smithy.api#xmlName": "description" + "aws.protocols#ec2QueryName": "Enabled", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether logging is enabled.

", + "smithy.api#xmlName": "enabled" } }, - "GroupId": { + "DeliveryStatus": { + "target": "com.amazonaws.ec2#VerifiedAccessLogDeliveryStatus", + "traits": { + "aws.protocols#ec2QueryName": "DeliveryStatus", + "smithy.api#documentation": "

The delivery status.

", + "smithy.api#xmlName": "deliveryStatus" + } + }, + "BucketName": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "GroupId", - "smithy.api#documentation": "

The ID of the security group.

", - "smithy.api#xmlName": "groupId" + "aws.protocols#ec2QueryName": "BucketName", + "smithy.api#documentation": "

The bucket name.

", + "smithy.api#xmlName": "bucketName" } }, - "GroupName": { + "Prefix": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "GroupName", - "smithy.api#documentation": "

The name of the security group. In a request, use this parameter for a security group\n in EC2-Classic or a default VPC only. For a security group in a nondefault VPC, use the\n security group ID.

\n

For a referenced security group in another VPC, this value is not returned if the\n referenced security group is deleted.

", - "smithy.api#xmlName": "groupName" + "aws.protocols#ec2QueryName": "Prefix", + "smithy.api#documentation": "

The bucket prefix.

", + "smithy.api#xmlName": "prefix" } }, - "PeeringStatus": { + "BucketOwner": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "PeeringStatus", - "smithy.api#documentation": "

The status of a VPC peering connection, if applicable.

", - "smithy.api#xmlName": "peeringStatus" + "aws.protocols#ec2QueryName": "BucketOwner", + "smithy.api#documentation": "

The Amazon Web Services account number that owns the bucket.

", + "smithy.api#xmlName": "bucketOwner" + } + } + }, + "traits": { + "smithy.api#documentation": "

Options for Amazon S3 as a logging destination.

" + } + }, + "com.amazonaws.ec2#VerifiedAccessLogS3DestinationOptions": { + "type": "structure", + "members": { + "Enabled": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether logging is enabled.

", + "smithy.api#required": {} } }, - "UserId": { + "BucketName": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "UserId", - "smithy.api#documentation": "

The ID of an Amazon Web Services account.

\n

For a referenced security group in another VPC, the account ID of the referenced\n security group is returned in the response. If the referenced security group is deleted,\n this value is not returned.

\n

[EC2-Classic] Required when adding or removing rules that reference a security group\n in another Amazon Web Services account.

", - "smithy.api#xmlName": "userId" + "smithy.api#documentation": "

The bucket name.

" } }, - "VpcId": { + "Prefix": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "VpcId", - "smithy.api#documentation": "

The ID of the VPC for the referenced security group, if applicable.

", - "smithy.api#xmlName": "vpcId" + "smithy.api#documentation": "

The bucket prefix.

" } }, - "VpcPeeringConnectionId": { + "BucketOwner": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "VpcPeeringConnectionId", - "smithy.api#documentation": "

The ID of the VPC peering connection, if applicable.

", - "smithy.api#xmlName": "vpcPeeringConnectionId" + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the Amazon S3 bucket.

" } } }, "traits": { - "smithy.api#documentation": "

Describes a security group and Amazon Web Services account ID pair.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" - } - }, - "com.amazonaws.ec2#UserIdGroupPairList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#UserIdGroupPair", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#UserIdGroupPairSet": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#UserIdGroupPair", - "traits": { - "smithy.api#xmlName": "item" - } - } - }, - "com.amazonaws.ec2#UserIdStringList": { - "type": "list", - "member": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#xmlName": "UserId" - } + "smithy.api#documentation": "

Options for Amazon S3 as a logging destination.

" } }, - "com.amazonaws.ec2#VCpuCount": { - "type": "integer" - }, - "com.amazonaws.ec2#VCpuCountRange": { + "com.amazonaws.ec2#VerifiedAccessLogs": { "type": "structure", "members": { - "Min": { - "target": "com.amazonaws.ec2#Integer", + "S3": { + "target": "com.amazonaws.ec2#VerifiedAccessLogS3Destination", "traits": { - "aws.protocols#ec2QueryName": "Min", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The minimum number of vCPUs. If the value is 0, there is no minimum\n limit.

", - "smithy.api#xmlName": "min" + "aws.protocols#ec2QueryName": "S3", + "smithy.api#documentation": "

Amazon S3 logging options.

", + "smithy.api#xmlName": "s3" } }, - "Max": { - "target": "com.amazonaws.ec2#Integer", + "CloudWatchLogs": { + "target": "com.amazonaws.ec2#VerifiedAccessLogCloudWatchLogsDestination", "traits": { - "aws.protocols#ec2QueryName": "Max", - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of vCPUs. If this parameter is not specified, there is no maximum\n limit.

", - "smithy.api#xmlName": "max" + "aws.protocols#ec2QueryName": "CloudWatchLogs", + "smithy.api#documentation": "

CloudWatch Logs logging destination.

", + "smithy.api#xmlName": "cloudWatchLogs" + } + }, + "KinesisDataFirehose": { + "target": "com.amazonaws.ec2#VerifiedAccessLogKinesisDataFirehoseDestination", + "traits": { + "aws.protocols#ec2QueryName": "KinesisDataFirehose", + "smithy.api#documentation": "

Kinesis logging destination.

", + "smithy.api#xmlName": "kinesisDataFirehose" } } }, "traits": { - "smithy.api#documentation": "

The minimum and maximum number of vCPUs.

" + "smithy.api#documentation": "

Describes the destinations for Verified Access logs.

" } }, - "com.amazonaws.ec2#VCpuCountRangeRequest": { + "com.amazonaws.ec2#VerifiedAccessTrustProvider": { "type": "structure", "members": { - "Min": { - "target": "com.amazonaws.ec2#Integer", + "VerifiedAccessTrustProviderId": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The minimum number of vCPUs. To specify no minimum limit, specify 0.

", - "smithy.api#required": {} + "aws.protocols#ec2QueryName": "VerifiedAccessTrustProviderId", + "smithy.api#documentation": "

The ID of the Amazon Web Services Verified Access trust provider.

", + "smithy.api#xmlName": "verifiedAccessTrustProviderId" } }, - "Max": { - "target": "com.amazonaws.ec2#Integer", + "Description": { + "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of vCPUs. To specify no maximum limit, omit this parameter.

" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

A description for the Amazon Web Services Verified Access trust provider.

", + "smithy.api#xmlName": "description" } - } - }, - "traits": { - "smithy.api#documentation": "

The minimum and maximum number of vCPUs.

" - } - }, - "com.amazonaws.ec2#VCpuInfo": { - "type": "structure", - "members": { - "DefaultVCpus": { - "target": "com.amazonaws.ec2#VCpuCount", + }, + "TrustProviderType": { + "target": "com.amazonaws.ec2#TrustProviderType", "traits": { - "aws.protocols#ec2QueryName": "DefaultVCpus", - "smithy.api#documentation": "

The default number of vCPUs for the instance type.

", - "smithy.api#xmlName": "defaultVCpus" + "aws.protocols#ec2QueryName": "TrustProviderType", + "smithy.api#documentation": "

The type of Verified Access trust provider.

", + "smithy.api#xmlName": "trustProviderType" } }, - "DefaultCores": { - "target": "com.amazonaws.ec2#CoreCount", + "UserTrustProviderType": { + "target": "com.amazonaws.ec2#UserTrustProviderType", "traits": { - "aws.protocols#ec2QueryName": "DefaultCores", - "smithy.api#documentation": "

The default number of cores for the instance type.

", - "smithy.api#xmlName": "defaultCores" + "aws.protocols#ec2QueryName": "UserTrustProviderType", + "smithy.api#documentation": "

The type of user-based trust provider.

", + "smithy.api#xmlName": "userTrustProviderType" } }, - "DefaultThreadsPerCore": { - "target": "com.amazonaws.ec2#ThreadsPerCore", + "DeviceTrustProviderType": { + "target": "com.amazonaws.ec2#DeviceTrustProviderType", "traits": { - "aws.protocols#ec2QueryName": "DefaultThreadsPerCore", - "smithy.api#documentation": "

The default number of threads per core for the instance type.

", - "smithy.api#xmlName": "defaultThreadsPerCore" + "aws.protocols#ec2QueryName": "DeviceTrustProviderType", + "smithy.api#documentation": "

The type of device-based trust provider.

", + "smithy.api#xmlName": "deviceTrustProviderType" } }, - "ValidCores": { - "target": "com.amazonaws.ec2#CoreCountList", + "OidcOptions": { + "target": "com.amazonaws.ec2#OidcOptions", "traits": { - "aws.protocols#ec2QueryName": "ValidCores", - "smithy.api#documentation": "

The valid number of cores that can be configured for the instance type.

", - "smithy.api#xmlName": "validCores" + "aws.protocols#ec2QueryName": "OidcOptions", + "smithy.api#documentation": "

The OpenID Connect details for an oidc-type, user-identity based trust provider.

", + "smithy.api#xmlName": "oidcOptions" } }, - "ValidThreadsPerCore": { - "target": "com.amazonaws.ec2#ThreadsPerCoreList", + "DeviceOptions": { + "target": "com.amazonaws.ec2#DeviceOptions", "traits": { - "aws.protocols#ec2QueryName": "ValidThreadsPerCore", - "smithy.api#documentation": "

The valid number of threads per core that can be configured for the instance type.

", - "smithy.api#xmlName": "validThreadsPerCore" + "aws.protocols#ec2QueryName": "DeviceOptions", + "smithy.api#documentation": "

The options for device-identity type trust provider.

", + "smithy.api#xmlName": "deviceOptions" + } + }, + "PolicyReferenceName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "PolicyReferenceName", + "smithy.api#documentation": "

The identifier to be used when working with policy rules.

", + "smithy.api#xmlName": "policyReferenceName" + } + }, + "CreationTime": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "CreationTime", + "smithy.api#documentation": "

The creation time.

", + "smithy.api#xmlName": "creationTime" + } + }, + "LastUpdatedTime": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "LastUpdatedTime", + "smithy.api#documentation": "

The last updated time.

", + "smithy.api#xmlName": "lastUpdatedTime" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags.

", + "smithy.api#xmlName": "tagSet" } } }, "traits": { - "smithy.api#documentation": "

Describes the vCPU configurations for the instance type.

" + "smithy.api#documentation": "

Describes a Verified Access trust provider.

" } }, - "com.amazonaws.ec2#ValidationError": { + "com.amazonaws.ec2#VerifiedAccessTrustProviderCondensed": { "type": "structure", "members": { - "Code": { + "VerifiedAccessTrustProviderId": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Code", - "smithy.api#documentation": "

The error code that indicates why the parameter or parameter combination is not valid.\n For more information about error codes, see Error codes.

", - "smithy.api#xmlName": "code" + "aws.protocols#ec2QueryName": "VerifiedAccessTrustProviderId", + "smithy.api#documentation": "

The ID of the trust provider.

", + "smithy.api#xmlName": "verifiedAccessTrustProviderId" } }, - "Message": { + "Description": { "target": "com.amazonaws.ec2#String", "traits": { - "aws.protocols#ec2QueryName": "Message", - "smithy.api#documentation": "

The error message that describes why the parameter or parameter combination is not\n valid. For more information about error messages, see Error codes.

", - "smithy.api#xmlName": "message" + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

The description of trust provider.

", + "smithy.api#xmlName": "description" + } + }, + "TrustProviderType": { + "target": "com.amazonaws.ec2#TrustProviderType", + "traits": { + "aws.protocols#ec2QueryName": "TrustProviderType", + "smithy.api#documentation": "

The type of trust provider (user- or device-based).

", + "smithy.api#xmlName": "trustProviderType" + } + }, + "UserTrustProviderType": { + "target": "com.amazonaws.ec2#UserTrustProviderType", + "traits": { + "aws.protocols#ec2QueryName": "UserTrustProviderType", + "smithy.api#documentation": "

The type of user-based trust provider.

", + "smithy.api#xmlName": "userTrustProviderType" + } + }, + "DeviceTrustProviderType": { + "target": "com.amazonaws.ec2#DeviceTrustProviderType", + "traits": { + "aws.protocols#ec2QueryName": "DeviceTrustProviderType", + "smithy.api#documentation": "

The type of device-based trust provider.

", + "smithy.api#xmlName": "deviceTrustProviderType" } } }, "traits": { - "smithy.api#documentation": "

The error code and error message that is returned for a parameter or parameter\n combination that is not valid when a new launch template or new version of a launch\n template is created.

" + "smithy.api#documentation": "

Condensed information about a trust provider.

" } }, - "com.amazonaws.ec2#ValidationWarning": { - "type": "structure", - "members": { - "Errors": { - "target": "com.amazonaws.ec2#ErrorSet", - "traits": { - "aws.protocols#ec2QueryName": "ErrorSet", - "smithy.api#documentation": "

The error codes and error messages.

", - "smithy.api#xmlName": "errorSet" - } + "com.amazonaws.ec2#VerifiedAccessTrustProviderCondensedList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#VerifiedAccessTrustProviderCondensed", + "traits": { + "smithy.api#xmlName": "item" } - }, - "traits": { - "smithy.api#documentation": "

The error codes and error messages that are returned for the parameters or parameter\n combinations that are not valid when a new launch template or new version of a launch\n template is created.

" } }, - "com.amazonaws.ec2#ValueStringList": { + "com.amazonaws.ec2#VerifiedAccessTrustProviderId": { + "type": "string" + }, + "com.amazonaws.ec2#VerifiedAccessTrustProviderIdList": { "type": "list", "member": { - "target": "com.amazonaws.ec2#String", + "target": "com.amazonaws.ec2#VerifiedAccessTrustProviderId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#VerifiedAccessTrustProviderList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#VerifiedAccessTrustProvider", "traits": { "smithy.api#xmlName": "item" } @@ -89125,6 +95399,9 @@ } } }, + "com.amazonaws.ec2#VolumeIdWithResolver": { + "type": "string" + }, "com.amazonaws.ec2#VolumeList": { "type": "list", "member": { @@ -90017,7 +96294,7 @@ } }, "traits": { - "smithy.api#documentation": "\n\t

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n\t
\n\t\t

Describes whether a VPC is enabled for ClassicLink.

" + "smithy.api#documentation": "\n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
\n

Describes whether a VPC is enabled for ClassicLink.

" } }, "com.amazonaws.ec2#VpcClassicLinkIdList": { @@ -90093,7 +96370,7 @@ "target": "com.amazonaws.ec2#ValueStringList", "traits": { "aws.protocols#ec2QueryName": "RouteTableIdSet", - "smithy.api#documentation": "

(Gateway endpoint) One or more route tables associated with the endpoint.

", + "smithy.api#documentation": "

(Gateway endpoint) The IDs of the route tables associated with the endpoint.

", "smithy.api#xmlName": "routeTableIdSet" } }, @@ -90153,7 +96430,7 @@ "target": "com.amazonaws.ec2#ValueStringList", "traits": { "aws.protocols#ec2QueryName": "NetworkInterfaceIdSet", - "smithy.api#documentation": "

(Interface endpoint) One or more network interfaces for the endpoint.

", + "smithy.api#documentation": "

(Interface endpoint) The network interfaces for the endpoint.

", "smithy.api#xmlName": "networkInterfaceIdSet" } }, @@ -90177,7 +96454,7 @@ "target": "com.amazonaws.ec2#TagList", "traits": { "aws.protocols#ec2QueryName": "TagSet", - "smithy.api#documentation": "

Any tags assigned to the endpoint.

", + "smithy.api#documentation": "

The tags assigned to the endpoint.

", "smithy.api#xmlName": "tagSet" } }, @@ -90539,6 +96816,9 @@ } } }, + "com.amazonaws.ec2#VpcPeeringConnectionIdWithResolver": { + "type": "string" + }, "com.amazonaws.ec2#VpcPeeringConnectionList": { "type": "list", "member": { @@ -91027,7 +97307,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "OutsideIpAddressType", - "smithy.api#documentation": "

The type of IPv4 address assigned to the outside interface of the customer gateway.

\n

Valid values: PrivateIpv4 | PublicIpv4\n

\n

Default: PublicIpv4\n

", + "smithy.api#documentation": "

The type of IPv4 address assigned to the outside interface of the customer gateway.

\n

Valid values: PrivateIpv4 | PublicIpv4\n

\n

Default: PublicIpv4\n

", "smithy.api#xmlName": "outsideIpAddressType" } }, @@ -91068,7 +97348,7 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicate whether to enable acceleration for the VPN connection.

\n

Default: false\n

" + "smithy.api#documentation": "

Indicate whether to enable acceleration for the VPN connection.

\n

Default: false\n

" } }, "StaticRoutesOnly": { @@ -91077,14 +97357,14 @@ "aws.protocols#ec2QueryName": "StaticRoutesOnly", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

Indicate whether the VPN connection uses static routes only. If you are creating a VPN\n connection for a device that does not support BGP, you must specify true.\n Use CreateVpnConnectionRoute to create a static route.

\n

Default: false\n

", + "smithy.api#documentation": "

Indicate whether the VPN connection uses static routes only. If you are creating a VPN\n connection for a device that does not support BGP, you must specify true.\n Use CreateVpnConnectionRoute to create a static route.

\n

Default: false\n

", "smithy.api#xmlName": "staticRoutesOnly" } }, "TunnelInsideIpVersion": { "target": "com.amazonaws.ec2#TunnelInsideIpVersion", "traits": { - "smithy.api#documentation": "

Indicate whether the VPN tunnels process IPv4 or IPv6 traffic.

\n

Default: ipv4\n

" + "smithy.api#documentation": "

Indicate whether the VPN tunnels process IPv4 or IPv6 traffic.

\n

Default: ipv4\n

" } }, "TunnelOptions": { @@ -91096,37 +97376,37 @@ "LocalIpv4NetworkCidr": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.

\n

Default: 0.0.0.0/0\n

" + "smithy.api#documentation": "

The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.

\n

Default: 0.0.0.0/0\n

" } }, "RemoteIpv4NetworkCidr": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The IPv4 CIDR on the Amazon Web Services side of the VPN connection.

\n

Default: 0.0.0.0/0\n

" + "smithy.api#documentation": "

The IPv4 CIDR on the Amazon Web Services side of the VPN connection.

\n

Default: 0.0.0.0/0\n

" } }, "LocalIpv6NetworkCidr": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.

\n

Default: ::/0\n

" + "smithy.api#documentation": "

The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.

\n

Default: ::/0\n

" } }, "RemoteIpv6NetworkCidr": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The IPv6 CIDR on the Amazon Web Services side of the VPN connection.

\n

Default: ::/0\n

" + "smithy.api#documentation": "

The IPv6 CIDR on the Amazon Web Services side of the VPN connection.

\n

Default: ::/0\n

" } }, "OutsideIpAddressType": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The type of IPv4 address assigned to the outside interface of the customer gateway device.

\n

Valid values: PrivateIpv4 | PublicIpv4\n

\n

Default: PublicIpv4\n

" + "smithy.api#documentation": "

The type of IPv4 address assigned to the outside interface of the customer gateway device.

\n

Valid values: PrivateIpv4 | PublicIpv4\n

\n

Default: PublicIpv4\n

" } }, "TransportTransitGatewayAttachmentId": { "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", "traits": { - "smithy.api#documentation": "

The transit gateway attachment ID to use for the VPN tunnel.

\n

Required if OutsideIpAddressType is set to PrivateIpv4.

" + "smithy.api#documentation": "

The transit gateway attachment ID to use for the VPN tunnel.

\n

Required if OutsideIpAddressType is set to PrivateIpv4.

" } } }, @@ -91366,19 +97646,19 @@ "TunnelInsideCidr": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks must be\n unique across all VPN connections that use the same virtual private gateway.

\n

Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The\n following CIDR blocks are reserved and cannot be used:

\n
    \n
  • \n

    \n 169.254.0.0/30\n

    \n
  • \n
  • \n

    \n 169.254.1.0/30\n

    \n
  • \n
  • \n

    \n 169.254.2.0/30\n

    \n
  • \n
  • \n

    \n 169.254.3.0/30\n

    \n
  • \n
  • \n

    \n 169.254.4.0/30\n

    \n
  • \n
  • \n

    \n 169.254.5.0/30\n

    \n
  • \n
  • \n

    \n 169.254.169.252/30\n

    \n
  • \n
" + "smithy.api#documentation": "

The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks must be\n unique across all VPN connections that use the same virtual private gateway.

\n

Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The\n following CIDR blocks are reserved and cannot be used:

\n
    \n
  • \n

    \n 169.254.0.0/30\n

    \n
  • \n
  • \n

    \n 169.254.1.0/30\n

    \n
  • \n
  • \n

    \n 169.254.2.0/30\n

    \n
  • \n
  • \n

    \n 169.254.3.0/30\n

    \n
  • \n
  • \n

    \n 169.254.4.0/30\n

    \n
  • \n
  • \n

    \n 169.254.5.0/30\n

    \n
  • \n
  • \n

    \n 169.254.169.252/30\n

    \n
  • \n
" } }, "TunnelInsideIpv6Cidr": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be\n unique across all VPN connections that use the same transit gateway.

\n

Constraints: A size /126 CIDR block from the local fd00::/8 range.

" + "smithy.api#documentation": "

The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be\n unique across all VPN connections that use the same transit gateway.

\n

Constraints: A size /126 CIDR block from the local fd00::/8 range.

" } }, "PreSharedKey": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The pre-shared key (PSK) to establish initial authentication between the virtual\n private gateway and customer gateway.

\n

Constraints: Allowed characters are alphanumeric characters, periods (.), and\n underscores (_). Must be between 8 and 64 characters in length and cannot start with\n zero (0).

" + "smithy.api#documentation": "

The pre-shared key (PSK) to establish initial authentication between the virtual\n private gateway and customer gateway.

\n

Constraints: Allowed characters are alphanumeric characters, periods (.), and\n underscores (_). Must be between 8 and 64 characters in length and cannot start with\n zero (0).

" } }, "Phase1LifetimeSeconds": { @@ -91386,7 +97666,7 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The lifetime for phase 1 of the IKE negotiation, in seconds.

\n

Constraints: A value between 900 and 28,800.

\n

Default: 28800\n

" + "smithy.api#documentation": "

The lifetime for phase 1 of the IKE negotiation, in seconds.

\n

Constraints: A value between 900 and 28,800.

\n

Default: 28800\n

" } }, "Phase2LifetimeSeconds": { @@ -91394,7 +97674,7 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The lifetime for phase 2 of the IKE negotiation, in seconds.

\n

Constraints: A value between 900 and 3,600. The value must be less than the value for\n Phase1LifetimeSeconds.

\n

Default: 3600\n

" + "smithy.api#documentation": "

The lifetime for phase 2 of the IKE negotiation, in seconds.

\n

Constraints: A value between 900 and 3,600. The value must be less than the value for\n Phase1LifetimeSeconds.

\n

Default: 3600\n

" } }, "RekeyMarginTimeSeconds": { @@ -91402,7 +97682,7 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The margin time, in seconds, before the phase 2 lifetime expires, during which the\n Amazon Web Services side of the VPN connection performs an IKE rekey. The exact time\n of the rekey is randomly selected based on the value for\n RekeyFuzzPercentage.

\n

Constraints: A value between 60 and half of Phase2LifetimeSeconds.

\n

Default: 540\n

" + "smithy.api#documentation": "

The margin time, in seconds, before the phase 2 lifetime expires, during which the\n Amazon Web Services side of the VPN connection performs an IKE rekey. The exact time\n of the rekey is randomly selected based on the value for\n RekeyFuzzPercentage.

\n

Constraints: A value between 60 and half of Phase2LifetimeSeconds.

\n

Default: 540\n

" } }, "RekeyFuzzPercentage": { @@ -91410,7 +97690,7 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The percentage of the rekey window (determined by RekeyMarginTimeSeconds)\n during which the rekey time is randomly selected.

\n

Constraints: A value between 0 and 100.

\n

Default: 100\n

" + "smithy.api#documentation": "

The percentage of the rekey window (determined by RekeyMarginTimeSeconds)\n during which the rekey time is randomly selected.

\n

Constraints: A value between 0 and 100.

\n

Default: 100\n

" } }, "ReplayWindowSize": { @@ -91418,7 +97698,7 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The number of packets in an IKE replay window.

\n

Constraints: A value between 64 and 2048.

\n

Default: 1024\n

" + "smithy.api#documentation": "

The number of packets in an IKE replay window.

\n

Constraints: A value between 64 and 2048.

\n

Default: 1024\n

" } }, "DPDTimeoutSeconds": { @@ -91426,68 +97706,68 @@ "traits": { "smithy.api#clientOptional": {}, "smithy.api#default": 0, - "smithy.api#documentation": "

The number of seconds after which a DPD timeout occurs.

\n

Constraints: A value greater than or equal to 30.

\n

Default: 30\n

" + "smithy.api#documentation": "

The number of seconds after which a DPD timeout occurs.

\n

Constraints: A value greater than or equal to 30.

\n

Default: 30\n

" } }, "DPDTimeoutAction": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The action to take after DPD timeout occurs. Specify restart to restart\n the IKE initiation. Specify clear to end the IKE session.

\n

Valid Values: clear | none | restart\n

\n

Default: clear\n

" + "smithy.api#documentation": "

The action to take after DPD timeout occurs. Specify restart to restart\n the IKE initiation. Specify clear to end the IKE session.

\n

Valid Values: clear | none | restart\n

\n

Default: clear\n

" } }, "Phase1EncryptionAlgorithms": { "target": "com.amazonaws.ec2#Phase1EncryptionAlgorithmsRequestList", "traits": { - "smithy.api#documentation": "

One or more encryption algorithms that are permitted for the VPN tunnel for phase 1\n IKE negotiations.

\n

Valid values: AES128 | AES256 | AES128-GCM-16 |\n AES256-GCM-16\n

", + "smithy.api#documentation": "

One or more encryption algorithms that are permitted for the VPN tunnel for phase 1\n IKE negotiations.

\n

Valid values: AES128 | AES256 | AES128-GCM-16 |\n AES256-GCM-16\n

", "smithy.api#xmlName": "Phase1EncryptionAlgorithm" } }, "Phase2EncryptionAlgorithms": { "target": "com.amazonaws.ec2#Phase2EncryptionAlgorithmsRequestList", "traits": { - "smithy.api#documentation": "

One or more encryption algorithms that are permitted for the VPN tunnel for phase 2\n IKE negotiations.

\n

Valid values: AES128 | AES256 | AES128-GCM-16 |\n AES256-GCM-16\n

", + "smithy.api#documentation": "

One or more encryption algorithms that are permitted for the VPN tunnel for phase 2\n IKE negotiations.

\n

Valid values: AES128 | AES256 | AES128-GCM-16 |\n AES256-GCM-16\n

", "smithy.api#xmlName": "Phase2EncryptionAlgorithm" } }, "Phase1IntegrityAlgorithms": { "target": "com.amazonaws.ec2#Phase1IntegrityAlgorithmsRequestList", "traits": { - "smithy.api#documentation": "

One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE\n negotiations.

\n

Valid values: SHA1 | SHA2-256 | SHA2-384 |\n SHA2-512\n

", + "smithy.api#documentation": "

One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE\n negotiations.

\n

Valid values: SHA1 | SHA2-256 | SHA2-384 |\n SHA2-512\n

", "smithy.api#xmlName": "Phase1IntegrityAlgorithm" } }, "Phase2IntegrityAlgorithms": { "target": "com.amazonaws.ec2#Phase2IntegrityAlgorithmsRequestList", "traits": { - "smithy.api#documentation": "

One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE\n negotiations.

\n

Valid values: SHA1 | SHA2-256 | SHA2-384 |\n SHA2-512\n

", + "smithy.api#documentation": "

One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE\n negotiations.

\n

Valid values: SHA1 | SHA2-256 | SHA2-384 |\n SHA2-512\n

", "smithy.api#xmlName": "Phase2IntegrityAlgorithm" } }, "Phase1DHGroupNumbers": { "target": "com.amazonaws.ec2#Phase1DHGroupNumbersRequestList", "traits": { - "smithy.api#documentation": "

One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for\n phase 1 IKE negotiations.

\n

Valid values: 2 | 14 | 15 | 16 |\n 17 | 18 | 19 | 20 |\n 21 | 22 | 23 | 24\n

", + "smithy.api#documentation": "

One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for\n phase 1 IKE negotiations.

\n

Valid values: 2 | 14 | 15 | 16 |\n 17 | 18 | 19 | 20 |\n 21 | 22 | 23 | 24\n

", "smithy.api#xmlName": "Phase1DHGroupNumber" } }, "Phase2DHGroupNumbers": { "target": "com.amazonaws.ec2#Phase2DHGroupNumbersRequestList", "traits": { - "smithy.api#documentation": "

One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for\n phase 2 IKE negotiations.

\n

Valid values: 2 | 5 | 14 | 15 |\n 16 | 17 | 18 | 19 |\n 20 | 21 | 22 | 23 |\n 24\n

", + "smithy.api#documentation": "

One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for\n phase 2 IKE negotiations.

\n

Valid values: 2 | 5 | 14 | 15 |\n 16 | 17 | 18 | 19 |\n 20 | 21 | 22 | 23 |\n 24\n

", "smithy.api#xmlName": "Phase2DHGroupNumber" } }, "IKEVersions": { "target": "com.amazonaws.ec2#IKEVersionsRequestList", "traits": { - "smithy.api#documentation": "

The IKE versions that are permitted for the VPN tunnel.

\n

Valid values: ikev1 | ikev2\n

", + "smithy.api#documentation": "

The IKE versions that are permitted for the VPN tunnel.

\n

Valid values: ikev1 | ikev2\n

", "smithy.api#xmlName": "IKEVersion" } }, "StartupAction": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The action to take when the establishing the tunnel for the VPN connection. By\n default, your customer gateway device must initiate the IKE negotiation and bring up the\n tunnel. Specify start for Amazon Web Services to initiate the IKE\n negotiation.

\n

Valid Values: add | start\n

\n

Default: add\n

" + "smithy.api#documentation": "

The action to take when the establishing the tunnel for the VPN connection. By\n default, your customer gateway device must initiate the IKE negotiation and bring up the\n tunnel. Specify start for Amazon Web Services to initiate the IKE\n negotiation.

\n

Valid Values: add | start\n

\n

Default: add\n

" } }, "LogOptions": { @@ -91585,6 +97865,9 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.ec2#WithdrawByoipCidrResult": { diff --git a/aws/sdk/aws-models/ecs.json b/aws/sdk/aws-models/ecs.json index 15e88e9f3b..eabba64bc6 100644 --- a/aws/sdk/aws-models/ecs.json +++ b/aws/sdk/aws-models/ecs.json @@ -149,6 +149,9 @@ { "target": "com.amazonaws.ecs#ExecuteCommand" }, + { + "target": "com.amazonaws.ecs#GetTaskProtection" + }, { "target": "com.amazonaws.ecs#ListAccountSettings" }, @@ -164,6 +167,9 @@ { "target": "com.amazonaws.ecs#ListServices" }, + { + "target": "com.amazonaws.ecs#ListServicesByNamespace" + }, { "target": "com.amazonaws.ecs#ListTagsForResource" }, @@ -239,6 +245,9 @@ { "target": "com.amazonaws.ecs#UpdateServicePrimaryTaskSet" }, + { + "target": "com.amazonaws.ecs#UpdateTaskProtection" + }, { "target": "com.amazonaws.ecs#UpdateTaskSet" } @@ -255,7 +264,7 @@ "name": "ecs" }, "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "Amazon Elastic Container Service\n\t\t

Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, container management service. It makes\n\t\t\tit easy to run, stop, and manage Docker containers. You can host your cluster on a\n\t\t\tserverless infrastructure that's managed by Amazon ECS by launching your services or tasks on\n\t\t\tFargate. For more control, you can host your tasks on a cluster of Amazon Elastic Compute Cloud (Amazon EC2)\n\t\t\tor External (on-premises) instances that you manage.

\n\t\t

Amazon ECS makes it easy to launch and stop container-based applications with simple API\n\t\t\tcalls. This makes it easy to get the state of your cluster from a centralized service,\n\t\t\tand gives you access to many familiar Amazon EC2 features.

\n\t\t

You can use Amazon ECS to schedule the placement of containers across your cluster based on\n\t\t\tyour resource needs, isolation policies, and availability requirements. With Amazon ECS, you\n\t\t\tdon't need to operate your own cluster management and configuration management systems.\n\t\t\tYou also don't need to worry about scaling your management infrastructure.

", + "smithy.api#documentation": "Amazon Elastic Container Service\n

Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, container management service. It makes\n\t\t\tit easy to run, stop, and manage Docker containers. You can host your cluster on a\n\t\t\tserverless infrastructure that's managed by Amazon ECS by launching your services or tasks on\n\t\t\tFargate. For more control, you can host your tasks on a cluster of Amazon Elastic Compute Cloud (Amazon EC2)\n\t\t\tor External (on-premises) instances that you manage.

\n

Amazon ECS makes it easy to launch and stop container-based applications with simple API\n\t\t\tcalls. This makes it easy to get the state of your cluster from a centralized service,\n\t\t\tand gives you access to many familiar Amazon EC2 features.

\n

You can use Amazon ECS to schedule the placement of containers across your cluster based on\n\t\t\tyour resource needs, isolation policies, and availability requirements. With Amazon ECS, you\n\t\t\tdon't need to operate your own cluster management and configuration management systems.\n\t\t\tYou also don't need to worry about scaling your management infrastructure.

", "smithy.api#title": "Amazon EC2 Container Service", "smithy.api#xmlNamespace": { "uri": "http://ecs.amazonaws.com/doc/2014-11-13/" @@ -265,7 +274,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": false, + "required": true, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -314,15 +323,6 @@ "ref": "Endpoint" } ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" } ], "type": "tree", @@ -436,12 +436,18 @@ "rules": [ { "conditions": [], - "endpoint": { - "url": "https://ecs-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ecs-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] }, @@ -546,12 +552,18 @@ "rules": [ { "conditions": [], - "endpoint": { - "url": "https://ecs.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ecs.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] }, @@ -564,12 +576,18 @@ }, { "conditions": [], - "endpoint": { - "url": "https://ecs.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ecs.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] } @@ -578,1759 +596,575 @@ "smithy.rules#endpointTests": { "testCases": [ { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack enabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs-fips.ap-south-2.api.aws" + "url": "https://ecs.sa-east-1.amazonaws.com" } }, "params": { - "Region": "ap-south-2", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "sa-east-1" } }, { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs-fips.ap-south-2.amazonaws.com" + "url": "https://ecs.ap-east-1.amazonaws.com" } }, "params": { - "Region": "ap-south-2", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "ap-east-1" } }, { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs.ap-south-2.api.aws" + "url": "https://ecs.eu-south-1.amazonaws.com" } }, "params": { - "Region": "ap-south-2", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-south-1" } }, { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs.ap-south-2.amazonaws.com" + "url": "https://ecs.eu-central-1.amazonaws.com" } }, "params": { - "Region": "ap-south-2", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false + "Region": "eu-central-1" } }, { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs-fips.ap-south-1.api.aws" + "url": "https://ecs.ap-southeast-1.amazonaws.com" } }, "params": { - "Region": "ap-south-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-southeast-1" } }, { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs-fips.ap-south-1.amazonaws.com" + "url": "https://ecs.ap-southeast-2.amazonaws.com" } }, "params": { - "Region": "ap-south-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "ap-southeast-2" } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs.ap-south-1.api.aws" + "url": "https://ecs.ap-southeast-3.amazonaws.com" } }, "params": { - "Region": "ap-south-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-southeast-3" } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs.ap-south-1.amazonaws.com" + "url": "https://ecs.ca-central-1.amazonaws.com" } }, "params": { - "Region": "ap-south-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false + "Region": "ca-central-1" } }, { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs-fips.eu-south-1.api.aws" + "url": "https://ecs.us-west-1.amazonaws.com" } }, "params": { - "Region": "eu-south-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-west-1" } }, { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs-fips.eu-south-1.amazonaws.com" + "url": "https://ecs-fips.us-west-1.amazonaws.com" } }, "params": { - "Region": "eu-south-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": true + "Region": "us-west-1" } }, { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs.eu-south-1.api.aws" + "url": "https://ecs.us-west-2.amazonaws.com" } }, "params": { - "Region": "eu-south-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-west-2" } }, { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs.eu-south-1.amazonaws.com" + "url": "https://ecs-fips.us-west-2.amazonaws.com" } }, "params": { - "Region": "eu-south-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": false + "Region": "us-west-2" } }, { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack enabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs-fips.eu-south-2.api.aws" + "url": "https://ecs.af-south-1.amazonaws.com" } }, "params": { - "Region": "eu-south-2", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "af-south-1" } }, { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs-fips.eu-south-2.amazonaws.com" + "url": "https://ecs.ap-south-1.amazonaws.com" } }, "params": { - "Region": "eu-south-2", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "ap-south-1" } }, { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs.eu-south-2.api.aws" + "url": "https://ecs.ap-northeast-1.amazonaws.com" } }, "params": { - "Region": "eu-south-2", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-northeast-1" } }, { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs.eu-south-2.amazonaws.com" + "url": "https://ecs.ap-northeast-2.amazonaws.com" } }, "params": { - "Region": "eu-south-2", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false + "Region": "ap-northeast-2" } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs-fips.us-gov-east-1.api.aws" + "url": "https://ecs.ap-northeast-3.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-northeast-3" } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs-fips.us-gov-east-1.amazonaws.com" + "url": "https://ecs.us-east-1.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "us-east-1" } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs.us-gov-east-1.api.aws" + "url": "https://ecs-fips.us-east-1.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-east-1" } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs.us-gov-east-1.amazonaws.com" + "url": "https://ecs.eu-west-1.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false + "Region": "eu-west-1" } }, { - "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs-fips.me-central-1.api.aws" + "url": "https://ecs.eu-west-2.amazonaws.com" } }, "params": { - "Region": "me-central-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-west-2" } }, { - "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs-fips.me-central-1.amazonaws.com" + "url": "https://ecs.eu-west-3.amazonaws.com" } }, "params": { - "Region": "me-central-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "eu-west-3" } }, { - "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs.me-central-1.api.aws" + "url": "https://ecs.me-south-1.amazonaws.com" } }, "params": { - "Region": "me-central-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "me-south-1" } }, { - "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs.me-central-1.amazonaws.com" + "url": "https://ecs.eu-north-1.amazonaws.com" } }, "params": { - "Region": "me-central-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false + "Region": "eu-north-1" } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs-fips.ca-central-1.api.aws" + "url": "https://ecs.us-east-2.amazonaws.com" } }, "params": { - "Region": "ca-central-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-east-2" } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs-fips.ca-central-1.amazonaws.com" + "url": "https://ecs-fips.us-east-2.amazonaws.com" } }, "params": { - "Region": "ca-central-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": true + "Region": "us-east-2" } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://ecs.ca-central-1.api.aws" + "url": "https://ecs-fips.us-east-1.api.aws" } }, "params": { - "Region": "ca-central-1", + "UseFIPS": true, "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs.ca-central-1.amazonaws.com" - } - }, - "params": { - "Region": "ca-central-1", - "UseDualStack": false, - "UseFIPS": false + "Region": "us-east-1" } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://ecs-fips.eu-central-1.api.aws" + "url": "https://ecs.us-east-1.api.aws" } }, "params": { - "Region": "eu-central-1", + "UseFIPS": false, "UseDualStack": true, - "UseFIPS": true + "Region": "us-east-1" } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs-fips.eu-central-1.amazonaws.com" + "url": "https://ecs.us-gov-west-1.amazonaws.com" } }, "params": { - "Region": "eu-central-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs.eu-central-1.api.aws" - } - }, - "params": { - "Region": "eu-central-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "us-gov-west-1" } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs.eu-central-1.amazonaws.com" + "url": "https://ecs-fips.us-gov-west-1.amazonaws.com" } }, "params": { - "Region": "eu-central-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "Region": "us-iso-west-1", - "UseDualStack": true, - "UseFIPS": true + "Region": "us-gov-west-1" } }, { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs-fips.us-iso-west-1.c2s.ic.gov" + "url": "https://ecs.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "us-iso-west-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "Region": "us-iso-west-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "us-gov-east-1" } }, { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs.us-iso-west-1.c2s.ic.gov" + "url": "https://ecs-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "us-iso-west-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": false + "Region": "us-gov-east-1" } }, { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://ecs-fips.eu-central-2.api.aws" + "url": "https://ecs-fips.us-gov-east-1.api.aws" } }, "params": { - "Region": "eu-central-2", + "UseFIPS": true, "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.eu-central-2.amazonaws.com" - } - }, - "params": { - "Region": "eu-central-2", - "UseDualStack": false, - "UseFIPS": true + "Region": "us-gov-east-1" } }, { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://ecs.eu-central-2.api.aws" + "url": "https://ecs.us-gov-east-1.api.aws" } }, "params": { - "Region": "eu-central-2", + "UseFIPS": false, "UseDualStack": true, - "UseFIPS": false + "Region": "us-gov-east-1" } }, { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs.eu-central-2.amazonaws.com" + "url": "https://ecs.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "Region": "eu-central-2", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false + "Region": "us-isob-east-1" } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs-fips.us-west-1.api.aws" + "url": "https://ecs-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "Region": "us-west-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-isob-east-1" } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs-fips.us-west-1.amazonaws.com" + "url": "https://ecs.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "Region": "us-west-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "cn-northwest-1" } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs.us-west-1.api.aws" + "url": "https://ecs.cn-north-1.amazonaws.com.cn" } }, "params": { - "Region": "us-west-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs.us-west-1.amazonaws.com" - } - }, - "params": { - "Region": "us-west-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.us-west-2.api.aws" - } - }, - "params": { - "Region": "us-west-2", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "Region": "us-west-2", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs.us-west-2.api.aws" - } - }, - "params": { - "Region": "us-west-2", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs.us-west-2.amazonaws.com" - } - }, - "params": { - "Region": "us-west-2", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.af-south-1.api.aws" - } - }, - "params": { - "Region": "af-south-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "Region": "af-south-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs.af-south-1.api.aws" - } - }, - "params": { - "Region": "af-south-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs.af-south-1.amazonaws.com" - } - }, - "params": { - "Region": "af-south-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.eu-north-1.api.aws" - } - }, - "params": { - "Region": "eu-north-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-north-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs.eu-north-1.api.aws" - } - }, - "params": { - "Region": "eu-north-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs.eu-north-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-north-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.eu-west-3.api.aws" - } - }, - "params": { - "Region": "eu-west-3", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-3", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs.eu-west-3.api.aws" - } - }, - "params": { - "Region": "eu-west-3", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs.eu-west-3.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-3", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.eu-west-2.api.aws" - } - }, - "params": { - "Region": "eu-west-2", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-2", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs.eu-west-2.api.aws" - } - }, - "params": { - "Region": "eu-west-2", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs.eu-west-2.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-2", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.eu-west-1.api.aws" - } - }, - "params": { - "Region": "eu-west-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs.eu-west-1.api.aws" - } - }, - "params": { - "Region": "eu-west-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs.eu-west-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "Region": "ap-northeast-3", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-3", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs.ap-northeast-3.api.aws" - } - }, - "params": { - "Region": "ap-northeast-3", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-3", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs.ap-northeast-2.api.aws" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs.ap-northeast-1.api.aws" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.me-south-1.api.aws" - } - }, - "params": { - "Region": "me-south-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.me-south-1.amazonaws.com" - } - }, - "params": { - "Region": "me-south-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs.me-south-1.api.aws" - } - }, - "params": { - "Region": "me-south-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs.me-south-1.amazonaws.com" - } - }, - "params": { - "Region": "me-south-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.sa-east-1.api.aws" - } - }, - "params": { - "Region": "sa-east-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "Region": "sa-east-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs.sa-east-1.api.aws" - } - }, - "params": { - "Region": "sa-east-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs.sa-east-1.amazonaws.com" - } - }, - "params": { - "Region": "sa-east-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.ap-east-1.api.aws" - } - }, - "params": { - "Region": "ap-east-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.ap-east-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-east-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs.ap-east-1.api.aws" - } - }, - "params": { - "Region": "ap-east-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs.ap-east-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-east-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.us-gov-west-1.api.aws" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs.us-gov-west-1.api.aws" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.ap-southeast-1.api.aws" - } - }, - "params": { - "Region": "ap-southeast-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs.ap-southeast-1.api.aws" - } - }, - "params": { - "Region": "ap-southeast-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.ap-southeast-2.api.aws" - } - }, - "params": { - "Region": "ap-southeast-2", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-2", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs.ap-southeast-2.api.aws" - } - }, - "params": { - "Region": "ap-southeast-2", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-2", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "Region": "us-iso-east-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "Region": "us-iso-east-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.ap-southeast-3.api.aws" - } - }, - "params": { - "Region": "ap-southeast-3", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.ap-southeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-3", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs.ap-southeast-3.api.aws" - } - }, - "params": { - "Region": "ap-southeast-3", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs.ap-southeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-3", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.ap-southeast-4.api.aws" - } - }, - "params": { - "Region": "ap-southeast-4", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.ap-southeast-4.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-4", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs.ap-southeast-4.api.aws" - } - }, - "params": { - "Region": "ap-southeast-4", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs.ap-southeast-4.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-4", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.us-east-1.api.aws" - } - }, - "params": { - "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.us-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs.us-east-1.api.aws" - } - }, - "params": { - "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs.us-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.us-east-2.api.aws" - } - }, - "params": { - "Region": "us-east-2", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "Region": "us-east-2", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs.us-east-2.api.aws" - } - }, - "params": { - "Region": "us-east-2", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs.us-east-2.amazonaws.com" - } - }, - "params": { - "Region": "us-east-2", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.cn-northwest-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-northwest-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecs-fips.cn-northwest-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-northwest-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "cn-north-1" } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://ecs.cn-northwest-1.api.amazonwebservices.com.cn" + "url": "https://ecs-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "cn-northwest-1", + "UseFIPS": true, "UseDualStack": true, - "UseFIPS": false + "Region": "cn-north-1" } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs.cn-northwest-1.amazonaws.com.cn" + "url": "https://ecs-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "Region": "cn-northwest-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": false + "Region": "cn-north-1" } }, { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + "endpoint": { + "url": "https://ecs.cn-north-1.api.amazonwebservices.com.cn" + } }, "params": { - "Region": "us-isob-east-1", + "UseFIPS": false, "UseDualStack": true, - "UseFIPS": true + "Region": "cn-north-1" } }, { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs-fips.us-isob-east-1.sc2s.sgov.gov" + "url": "https://ecs.us-iso-west-1.c2s.ic.gov" } }, "params": { - "Region": "us-isob-east-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "us-iso-west-1" } }, { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" + "endpoint": { + "url": "https://ecs.us-iso-east-1.c2s.ic.gov" + } }, "params": { - "Region": "us-isob-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-iso-east-1" } }, { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecs.us-isob-east-1.sc2s.sgov.gov" + "url": "https://ecs-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "us-isob-east-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": false + "Region": "us-iso-east-1" } }, { @@ -2341,9 +1175,9 @@ } }, "params": { - "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -2353,9 +1187,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -2365,9 +1199,9 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "Region": "us-east-1", - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, + "Region": "us-east-1", "Endpoint": "https://example.com" } } @@ -2376,6 +1210,29 @@ } } }, + "com.amazonaws.ecs#ApplicationProtocol": { + "type": "enum", + "members": { + "HTTP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "http" + } + }, + "HTTP2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "http2" + } + }, + "GRPC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "grpc" + } + } + } + }, "com.amazonaws.ecs#AssignPublicIp": { "type": "enum", "members": { @@ -2478,7 +1335,7 @@ "value": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The value of the attribute. The value must contain between 1 and 128\n\t\t\tcharacters. It can contain letters (uppercase and lowercase), numbers, hyphens (-),\n\t\t\tunderscores (_), periods (.), at signs (@), forward slashes (/), back slashes (\\),\n\t\t\tcolons (:), or spaces. The value can't can't start or end with a space.

" + "smithy.api#documentation": "

The value of the attribute. The value must contain between 1 and 128\n\t\t\tcharacters. It can contain letters (uppercase and lowercase), numbers, hyphens (-),\n\t\t\tunderscores (_), periods (.), at signs (@), forward slashes (/), back slashes (\\),\n\t\t\tcolons (:), or spaces. The value can't start or end with a space.

" } }, "targetType": { @@ -2535,7 +1392,7 @@ "managedTerminationProtection": { "target": "com.amazonaws.ecs#ManagedTerminationProtection", "traits": { - "smithy.api#documentation": "

The managed termination protection setting to use for the Auto Scaling group capacity\n\t\t\tprovider. This determines whether the Auto Scaling group has managed termination\n\t\t\tprotection. The default is disabled.

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

When using managed termination protection, managed scaling must also be used\n\t\t\t\totherwise managed termination protection doesn't work.

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

When managed termination protection is enabled, Amazon ECS prevents the Amazon EC2 instances in\n\t\t\tan Auto Scaling group that contain tasks from being terminated during a scale-in action.\n\t\t\tThe Auto Scaling group and each instance in the Auto Scaling group must have instance\n\t\t\tprotection from scale-in actions enabled as well. For more information, see Instance Protection in the Auto Scaling User Guide.

\n\t\t

When managed termination protection is disabled, your Amazon EC2 instances aren't protected\n\t\t\tfrom termination when the Auto Scaling group scales in.

" + "smithy.api#documentation": "

The managed termination protection setting to use for the Auto Scaling group capacity\n\t\t\tprovider. This determines whether the Auto Scaling group has managed termination\n\t\t\tprotection. The default is disabled.

\n \n

When using managed termination protection, managed scaling must also be used\n\t\t\t\totherwise managed termination protection doesn't work.

\n
\n

When managed termination protection is enabled, Amazon ECS prevents the Amazon EC2 instances in\n\t\t\tan Auto Scaling group that contain tasks from being terminated during a scale-in action.\n\t\t\tThe Auto Scaling group and each instance in the Auto Scaling group must have instance\n\t\t\tprotection from scale-in actions enabled as well. For more information, see Instance Protection in the Auto Scaling User Guide.

\n

When managed termination protection is disabled, your Amazon EC2 instances aren't protected\n\t\t\tfrom termination when the Auto Scaling group scales in.

" } } }, @@ -2555,7 +1412,7 @@ "managedTerminationProtection": { "target": "com.amazonaws.ecs#ManagedTerminationProtection", "traits": { - "smithy.api#documentation": "

The managed termination protection setting to use for the Auto Scaling group capacity\n\t\t\tprovider. This determines whether the Auto Scaling group has managed termination\n\t\t\tprotection.

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

When using managed termination protection, managed scaling must also be used\n\t\t\t\totherwise managed termination protection doesn't work.

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

When managed termination protection is enabled, Amazon ECS prevents the Amazon EC2 instances in\n\t\t\tan Auto Scaling group that contain tasks from being terminated during a scale-in action.\n\t\t\tThe Auto Scaling group and each instance in the Auto Scaling group must have instance\n\t\t\tprotection from scale-in actions enabled. For more information, see Instance Protection in the Auto Scaling User Guide.

\n\t\t

When managed termination protection is disabled, your Amazon EC2 instances aren't protected\n\t\t\tfrom termination when the Auto Scaling group scales in.

" + "smithy.api#documentation": "

The managed termination protection setting to use for the Auto Scaling group capacity\n\t\t\tprovider. This determines whether the Auto Scaling group has managed termination\n\t\t\tprotection.

\n \n

When using managed termination protection, managed scaling must also be used\n\t\t\t\totherwise managed termination protection doesn't work.

\n
\n

When managed termination protection is enabled, Amazon ECS prevents the Amazon EC2 instances in\n\t\t\tan Auto Scaling group that contain tasks from being terminated during a scale-in action.\n\t\t\tThe Auto Scaling group and each instance in the Auto Scaling group must have instance\n\t\t\tprotection from scale-in actions enabled. For more information, see Instance Protection in the Auto Scaling User Guide.

\n

When managed termination protection is disabled, your Amazon EC2 instances aren't protected\n\t\t\tfrom termination when the Auto Scaling group scales in.

" } } }, @@ -2569,14 +1426,14 @@ "subnets": { "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

The IDs of the subnets associated with the task or service. There's a limit of 16\n\t\t\tsubnets that can be specified per AwsVpcConfiguration.

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

All specified subnets must be from the same VPC.

\n\t\t
", + "smithy.api#documentation": "

The IDs of the subnets associated with the task or service. There's a limit of 16\n\t\t\tsubnets that can be specified per AwsVpcConfiguration.

\n \n

All specified subnets must be from the same VPC.

\n
", "smithy.api#required": {} } }, "securityGroups": { "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

The IDs of the security groups associated with the task or service. If you don't\n\t\t\tspecify a security group, the default security group for the VPC is used. There's a\n\t\t\tlimit of 5 security groups that can be specified per\n\t\t\tAwsVpcConfiguration.

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

All specified security groups must be from the same VPC.

\n\t\t
" + "smithy.api#documentation": "

The IDs of the security groups associated with the task or service. If you don't\n\t\t\tspecify a security group, the default security group for the VPC is used. There's a\n\t\t\tlimit of 5 security groups that can be specified per\n\t\t\tAwsVpcConfiguration.

\n \n

All specified security groups must be from the same VPC.

\n
" } }, "assignPublicIp": { @@ -2661,7 +1518,7 @@ "updateStatus": { "target": "com.amazonaws.ecs#CapacityProviderUpdateStatus", "traits": { - "smithy.api#documentation": "

The update status of the capacity provider. The following are the possible states that\n\t\t\tis returned.

\n\t\t
\n
DELETE_IN_PROGRESS
\n
\n\t\t\t\t\t

The capacity provider is in the process of being deleted.

\n\t\t\t\t
\n
DELETE_COMPLETE
\n
\n\t\t\t\t\t

The capacity provider was successfully deleted and has an\n\t\t\t\t\t\t\tINACTIVE status.

\n\t\t\t\t
\n
DELETE_FAILED
\n
\n\t\t\t\t\t

The capacity provider can't be deleted. The update status reason provides\n\t\t\t\t\t\tfurther details about why the delete failed.

\n\t\t\t\t
\n
" + "smithy.api#documentation": "

The update status of the capacity provider. The following are the possible states that\n\t\t\tis returned.

\n
\n
DELETE_IN_PROGRESS
\n
\n

The capacity provider is in the process of being deleted.

\n
\n
DELETE_COMPLETE
\n
\n

The capacity provider was successfully deleted and has an\n\t\t\t\t\t\t\tINACTIVE status.

\n
\n
DELETE_FAILED
\n
\n

The capacity provider can't be deleted. The update status reason provides\n\t\t\t\t\t\tfurther details about why the delete failed.

\n
\n
" } }, "updateStatusReason": { @@ -2673,7 +1530,7 @@ "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The metadata that you apply to the capacity provider to help you categorize and\n\t\t\torganize it. Each tag consists of a key and an optional value. You define both.

\n\t\t

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that you apply to the capacity provider to help you categorize and\n\t\t\torganize it. Each tag consists of a key and an optional value. You define both.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" } } }, @@ -2735,7 +1592,7 @@ "target": "com.amazonaws.ecs#CapacityProviderStrategyItemWeight", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

The weight value designates the relative percentage of the total\n\t\t\tnumber of tasks launched that should use the specified capacity provider. The\n\t\t\t\tweight value is taken into consideration after the base\n\t\t\tvalue, if defined, is satisfied.

\n\t\t

If no weight value is specified, the default value of 0 is\n\t\t\tused. When multiple capacity providers are specified within a capacity provider\n\t\t\tstrategy, at least one of the capacity providers must have a weight value greater than\n\t\t\tzero and any capacity providers with a weight of 0 can't be used to place\n\t\t\ttasks. If you specify multiple capacity providers in a strategy that all have a weight\n\t\t\tof 0, any RunTask or CreateService actions using\n\t\t\tthe capacity provider strategy will fail.

\n\t\t

An example scenario for using weights is defining a strategy that contains two\n\t\t\tcapacity providers and both have a weight of 1, then when the\n\t\t\t\tbase is satisfied, the tasks will be split evenly across the two\n\t\t\tcapacity providers. Using that same logic, if you specify a weight of 1 for\n\t\t\t\tcapacityProviderA and a weight of 4 for\n\t\t\t\tcapacityProviderB, then for every one task that's run using\n\t\t\t\tcapacityProviderA, four tasks would use\n\t\t\t\tcapacityProviderB.

" + "smithy.api#documentation": "

The weight value designates the relative percentage of the total\n\t\t\tnumber of tasks launched that should use the specified capacity provider. The\n\t\t\t\tweight value is taken into consideration after the base\n\t\t\tvalue, if defined, is satisfied.

\n

If no weight value is specified, the default value of 0 is\n\t\t\tused. When multiple capacity providers are specified within a capacity provider\n\t\t\tstrategy, at least one of the capacity providers must have a weight value greater than\n\t\t\tzero and any capacity providers with a weight of 0 can't be used to place\n\t\t\ttasks. If you specify multiple capacity providers in a strategy that all have a weight\n\t\t\tof 0, any RunTask or CreateService actions using\n\t\t\tthe capacity provider strategy will fail.

\n

An example scenario for using weights is defining a strategy that contains two\n\t\t\tcapacity providers and both have a weight of 1, then when the\n\t\t\t\tbase is satisfied, the tasks will be split evenly across the two\n\t\t\tcapacity providers. Using that same logic, if you specify a weight of 1 for\n\t\t\t\tcapacityProviderA and a weight of 4 for\n\t\t\t\tcapacityProviderB, then for every one task that's run using\n\t\t\t\tcapacityProviderA, four tasks would use\n\t\t\t\tcapacityProviderB.

" } }, "base": { @@ -2747,7 +1604,7 @@ } }, "traits": { - "smithy.api#documentation": "

The details of a capacity provider strategy. A capacity provider strategy can be set\n\t\t\twhen using the RunTask or CreateCluster APIs or as\n\t\t\tthe default capacity provider strategy for a cluster with the CreateCluster API.

\n\t\t

Only capacity providers that are already associated with a cluster and have an\n\t\t\t\tACTIVE or UPDATING status can be used in a capacity\n\t\t\tprovider strategy. The PutClusterCapacityProviders API is used to\n\t\t\tassociate a capacity provider with a cluster.

\n\t\t

If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must already be created. New Auto Scaling group capacity providers can be\n\t\t\tcreated with the CreateCapacityProvider API operation.

\n\t\t

To use a Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The Fargate capacity providers are\n\t\t\tavailable to all accounts and only need to be associated with a cluster to be used in a\n\t\t\tcapacity provider strategy.

\n\t\t

A capacity provider strategy may contain a maximum of 6 capacity providers.

" + "smithy.api#documentation": "

The details of a capacity provider strategy. A capacity provider strategy can be set\n\t\t\twhen using the RunTask or CreateCluster APIs or as\n\t\t\tthe default capacity provider strategy for a cluster with the CreateCluster API.

\n

Only capacity providers that are already associated with a cluster and have an\n\t\t\t\tACTIVE or UPDATING status can be used in a capacity\n\t\t\tprovider strategy. The PutClusterCapacityProviders API is used to\n\t\t\tassociate a capacity provider with a cluster.

\n

If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must already be created. New Auto Scaling group capacity providers can be\n\t\t\tcreated with the CreateCapacityProvider API operation.

\n

To use a Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The Fargate capacity providers are\n\t\t\tavailable to all accounts and only need to be associated with a cluster to be used in a\n\t\t\tcapacity provider strategy.

\n

A capacity provider strategy may contain a maximum of 6 capacity providers.

" } }, "com.amazonaws.ecs#CapacityProviderStrategyItemBase": { @@ -2853,7 +1710,7 @@ "status": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The status of the cluster. The following are the possible states that are\n\t\t\treturned.

\n\t\t
\n
ACTIVE
\n
\n\t\t\t\t\t

The cluster is ready to accept tasks and if applicable you can register\n\t\t\t\t\t\tcontainer instances with the cluster.

\n\t\t\t\t
\n
PROVISIONING
\n
\n\t\t\t\t\t

The cluster has capacity providers that are associated with it and the\n\t\t\t\t\t\tresources needed for the capacity provider are being created.

\n\t\t\t\t
\n
DEPROVISIONING
\n
\n\t\t\t\t\t

The cluster has capacity providers that are associated with it and the\n\t\t\t\t\t\tresources needed for the capacity provider are being deleted.

\n\t\t\t\t
\n
FAILED
\n
\n\t\t\t\t\t

The cluster has capacity providers that are associated with it and the\n\t\t\t\t\t\tresources needed for the capacity provider have failed to create.

\n\t\t\t\t
\n
INACTIVE
\n
\n\t\t\t\t\t

The cluster has been deleted. Clusters with an INACTIVE\n\t\t\t\t\t\tstatus may remain discoverable in your account for a period of time.\n\t\t\t\t\t\tHowever, this behavior is subject to change in the future. We don't\n\t\t\t\t\t\trecommend that you rely on INACTIVE clusters persisting.

\n\t\t\t\t
\n
" + "smithy.api#documentation": "

The status of the cluster. The following are the possible states that are\n\t\t\treturned.

\n
\n
ACTIVE
\n
\n

The cluster is ready to accept tasks and if applicable you can register\n\t\t\t\t\t\tcontainer instances with the cluster.

\n
\n
PROVISIONING
\n
\n

The cluster has capacity providers that are associated with it and the\n\t\t\t\t\t\tresources needed for the capacity provider are being created.

\n
\n
DEPROVISIONING
\n
\n

The cluster has capacity providers that are associated with it and the\n\t\t\t\t\t\tresources needed for the capacity provider are being deleted.

\n
\n
FAILED
\n
\n

The cluster has capacity providers that are associated with it and the\n\t\t\t\t\t\tresources needed for the capacity provider have failed to create.

\n
\n
INACTIVE
\n
\n

The cluster has been deleted. Clusters with an INACTIVE\n\t\t\t\t\t\tstatus may remain discoverable in your account for a period of time.\n\t\t\t\t\t\tHowever, this behavior is subject to change in the future. We don't\n\t\t\t\t\t\trecommend that you rely on INACTIVE clusters persisting.

\n
\n
" } }, "registeredContainerInstancesCount": { @@ -2887,13 +1744,13 @@ "statistics": { "target": "com.amazonaws.ecs#Statistics", "traits": { - "smithy.api#documentation": "

Additional information about your clusters that are separated by launch type. They\n\t\t\tinclude the following:

\n\t\t
    \n
  • \n\t\t\t\t

    runningEC2TasksCount

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    RunningFargateTasksCount

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    pendingEC2TasksCount

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    pendingFargateTasksCount

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    activeEC2ServiceCount

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    activeFargateServiceCount

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    drainingEC2ServiceCount

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    drainingFargateServiceCount

    \n\t\t\t
  • \n
" + "smithy.api#documentation": "

Additional information about your clusters that are separated by launch type. They\n\t\t\tinclude the following:

\n
    \n
  • \n

    runningEC2TasksCount

    \n
  • \n
  • \n

    RunningFargateTasksCount

    \n
  • \n
  • \n

    pendingEC2TasksCount

    \n
  • \n
  • \n

    pendingFargateTasksCount

    \n
  • \n
  • \n

    activeEC2ServiceCount

    \n
  • \n
  • \n

    activeFargateServiceCount

    \n
  • \n
  • \n

    drainingEC2ServiceCount

    \n
  • \n
  • \n

    drainingFargateServiceCount

    \n
  • \n
" } }, "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The metadata that you apply to the cluster to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value. You define both.

\n\t\t

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that you apply to the cluster to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value. You define both.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" } }, "settings": { @@ -2923,7 +1780,13 @@ "attachmentsStatus": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The status of the capacity providers associated with the cluster. The following are\n\t\t\tthe states that are returned.

\n\t\t
\n
UPDATE_IN_PROGRESS
\n
\n\t\t\t\t\t

The available capacity providers for the cluster are updating.

\n\t\t\t\t
\n
UPDATE_COMPLETE
\n
\n\t\t\t\t\t

The capacity providers have successfully updated.

\n\t\t\t\t
\n
UPDATE_FAILED
\n
\n\t\t\t\t\t

The capacity provider updates failed.

\n\t\t\t\t
\n
" + "smithy.api#documentation": "

The status of the capacity providers associated with the cluster. The following are\n\t\t\tthe states that are returned.

\n
\n
UPDATE_IN_PROGRESS
\n
\n

The available capacity providers for the cluster are updating.

\n
\n
UPDATE_COMPLETE
\n
\n

The capacity providers have successfully updated.

\n
\n
UPDATE_FAILED
\n
\n

The capacity provider updates failed.

\n
\n
" + } + }, + "serviceConnectDefaults": { + "target": "com.amazonaws.ecs#ClusterServiceConnectDefaults", + "traits": { + "smithy.api#documentation": "

Use this parameter to set a default Service Connect namespace. After you set a default \n\tService Connect namespace, any new services with Service Connect turned on that are created in the cluster are added as\n\tclient services in the namespace. This setting only applies to new services that set the enabled parameter to\n\ttrue in the ServiceConnectConfiguration.\n\tYou can set the namespace of each service individually in the ServiceConnectConfiguration to override this default\n\tparameter.

\n

Tasks that run in a namespace can use short names to connect\n\tto services in the namespace. Tasks can connect to services across all of the clusters in the namespace.\n\tTasks connect through a managed proxy container\n\tthat collects logs and metrics for increased visibility.\n\tOnly the tasks that Amazon ECS services create are supported with Service Connect.\n\tFor more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

" } } }, @@ -3034,6 +1897,35 @@ "smithy.api#error": "client" } }, + "com.amazonaws.ecs#ClusterServiceConnectDefaults": { + "type": "structure", + "members": { + "namespace": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

The namespace name or full Amazon Resource Name (ARN) of the Cloud Map namespace. When you create a service and don't specify a\n\t\t\tService Connect configuration, this namespace is used.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Use this parameter to set a default Service Connect namespace. After you set a default \n\tService Connect namespace, any new services with Service Connect turned on that are created in the cluster are added as\n\tclient services in the namespace. This setting only applies to new services that set the enabled parameter to\n\ttrue in the ServiceConnectConfiguration.\n\tYou can set the namespace of each service individually in the ServiceConnectConfiguration to override this default\n\tparameter.

\n

Tasks that run in a namespace can use short names to connect\n\tto services in the namespace. Tasks can connect to services across all of the clusters in the namespace.\n\tTasks connect through a managed proxy container\n\tthat collects logs and metrics for increased visibility.\n\tOnly the tasks that Amazon ECS services create are supported with Service Connect.\n\tFor more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

" + } + }, + "com.amazonaws.ecs#ClusterServiceConnectDefaultsRequest": { + "type": "structure", + "members": { + "namespace": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

The namespace name or full Amazon Resource Name (ARN) of the Cloud Map namespace that's used when you create a service and don't specify\n\t\t\ta Service Connect configuration. The namespace name can include up to 1024 characters.\n\t\t\tThe name is case-sensitive. The name can't include hyphens (-), tilde (~), greater than\n\t\t\t(>), less than (<), or slash (/).

\n

If you enter an existing namespace name or ARN, then that namespace will be used.\n\t\t\tAny namespace type is supported. The namespace must be in this account and this Amazon Web Services\n\t\t\tRegion.

\n

If you enter a new name, a Cloud Map namespace will be created. Amazon ECS creates a\n\t\t\tCloud Map namespace with the \"API calls\" method of instance discovery only. This instance\n\t\t\tdiscovery method is the \"HTTP\" namespace type in the Command Line Interface. Other types of instance\n\t\t\tdiscovery aren't used by Service Connect.

\n

If you update the service with an empty string \"\" for the namespace name,\n\t\t\tthe cluster configuration for Service Connect is removed. Note that the namespace will\n\t\t\tremain in Cloud Map and must be deleted separately.

\n

For more information about Cloud Map, see Working\n\t\t\t\twith Services in the Cloud Map Developer Guide.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Use this parameter to set a default Service Connect namespace. After you set a default \n\tService Connect namespace, any new services with Service Connect turned on that are created in the cluster are added as\n\tclient services in the namespace. This setting only applies to new services that set the enabled parameter to\n\ttrue in the ServiceConnectConfiguration.\n\tYou can set the namespace of each service individually in the ServiceConnectConfiguration to override this default\n\tparameter.

\n

Tasks that run in a namespace can use short names to connect\n\tto services in the namespace. Tasks can connect to services across all of the clusters in the namespace.\n\tTasks connect through a managed proxy container\n\tthat collects logs and metrics for increased visibility.\n\tOnly the tasks that Amazon ECS services create are supported with Service Connect.\n\tFor more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

" + } + }, "com.amazonaws.ecs#ClusterSetting": { "type": "structure", "members": { @@ -3153,7 +2045,7 @@ "imageDigest": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The container image manifest digest.

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

The imageDigest is only returned if the container is using an image\n\t\t\t\thosted in Amazon ECR, otherwise it is omitted.

\n\t\t
" + "smithy.api#documentation": "

The container image manifest digest.

\n \n

The imageDigest is only returned if the container is using an image\n\t\t\t\thosted in Amazon ECR, otherwise it is omitted.

\n
" } }, "runtimeId": { @@ -3274,7 +2166,7 @@ "image": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The image used to start a container. This string is passed directly to the Docker\n\t\t\tdaemon. By default, images in the Docker Hub registry are available. Other repositories\n\t\t\tare specified with either \n\t\t\t\t repository-url/image:tag\n\t\t\t or \n\t\t\t\t repository-url/image@digest\n\t\t\t . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\tIMAGE parameter of docker\n\t\t\t\trun.

\n\t\t
    \n
  • \n\t\t\t\t

    When a new task starts, the Amazon ECS container agent pulls the latest version of\n\t\t\t\t\tthe specified image and tag for the container to use. However, subsequent\n\t\t\t\t\tupdates to a repository image aren't propagated to already running tasks.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    Images in Amazon ECR repositories can be specified by either using the full\n\t\t\t\t\t\tregistry/repository:tag or\n\t\t\t\t\t\tregistry/repository@digest. For example,\n\t\t\t\t\t\t012345678910.dkr.ecr..amazonaws.com/:latest\n\t\t\t\t\tor\n\t\t\t\t\t\t012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE.\n\t\t\t\t

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    Images in official repositories on Docker Hub use a single name (for example,\n\t\t\t\t\t\tubuntu or mongo).

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    Images in other repositories on Docker Hub are qualified with an organization\n\t\t\t\t\tname (for example, amazon/amazon-ecs-agent).

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    Images in other online repositories are qualified further by a domain name\n\t\t\t\t\t(for example, quay.io/assemblyline/ubuntu).

    \n\t\t\t
  • \n
" + "smithy.api#documentation": "

The image used to start a container. This string is passed directly to the Docker\n\t\t\tdaemon. By default, images in the Docker Hub registry are available. Other repositories\n\t\t\tare specified with either \n repository-url/image:tag\n or \n repository-url/image@digest\n . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\tIMAGE parameter of docker\n\t\t\t\trun.

\n
    \n
  • \n

    When a new task starts, the Amazon ECS container agent pulls the latest version of\n\t\t\t\t\tthe specified image and tag for the container to use. However, subsequent\n\t\t\t\t\tupdates to a repository image aren't propagated to already running tasks.

    \n
  • \n
  • \n

    Images in Amazon ECR repositories can be specified by either using the full\n\t\t\t\t\t\tregistry/repository:tag or\n\t\t\t\t\t\tregistry/repository@digest. For example,\n\t\t\t\t\t\t012345678910.dkr.ecr..amazonaws.com/:latest\n\t\t\t\t\tor\n\t\t\t\t\t\t012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE.\n\t\t\t\t

    \n
  • \n
  • \n

    Images in official repositories on Docker Hub use a single name (for example,\n\t\t\t\t\t\tubuntu or mongo).

    \n
  • \n
  • \n

    Images in other repositories on Docker Hub are qualified with an organization\n\t\t\t\t\tname (for example, amazon/amazon-ecs-agent).

    \n
  • \n
  • \n

    Images in other online repositories are qualified further by a domain name\n\t\t\t\t\t(for example, quay.io/assemblyline/ubuntu).

    \n
  • \n
" } }, "repositoryCredentials": { @@ -3287,43 +2179,43 @@ "target": "com.amazonaws.ecs#Integer", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

The number of cpu units reserved for the container. This parameter maps\n\t\t\tto CpuShares in the Create a container section of the\n\t\t\tDocker Remote API and the --cpu-shares option to docker run.

\n\t\t

This field is optional for tasks using the Fargate launch type, and the\n\t\t\tonly requirement is that the total amount of CPU reserved for all containers within a\n\t\t\ttask be lower than the task-level cpu value.

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

You can determine the number of CPU units that are available per EC2 instance type\n\t\t\t\tby multiplying the vCPUs listed for that instance type on the Amazon EC2 Instances detail page\n\t\t\t\tby 1,024.

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

Linux containers share unallocated CPU units with other containers on the container\n\t\t\tinstance with the same ratio as their allocated amount. For example, if you run a\n\t\t\tsingle-container task on a single-core instance type with 512 CPU units specified for\n\t\t\tthat container, and that's the only task running on the container instance, that\n\t\t\tcontainer could use the full 1,024 CPU unit share at any given time. However, if you\n\t\t\tlaunched another copy of the same task on that container instance, each task is\n\t\t\tguaranteed a minimum of 512 CPU units when needed. Moreover, each container could float\n\t\t\tto higher CPU usage if the other container was not using it. If both tasks were 100%\n\t\t\tactive all of the time, they would be limited to 512 CPU units.

\n\t\t

On Linux container instances, the Docker daemon on the container instance uses the CPU\n\t\t\tvalue to calculate the relative CPU share ratios for running containers. For more\n\t\t\tinformation, see CPU share\n\t\t\t\tconstraint in the Docker documentation. The minimum valid CPU share value\n\t\t\tthat the Linux kernel allows is 2. However, the CPU parameter isn't required, and you\n\t\t\tcan use CPU values below 2 in your container definitions. For CPU values below 2\n\t\t\t(including null), the behavior varies based on your Amazon ECS container agent\n\t\t\tversion:

\n\t\t
    \n
  • \n\t\t\t\t

    \n\t\t\t\t\t Agent versions less than or equal to 1.1.0:\n\t\t\t\t\tNull and zero CPU values are passed to Docker as 0, which Docker then converts\n\t\t\t\t\tto 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which the Linux\n\t\t\t\t\tkernel converts to two CPU shares.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n\t\t\t\t\t Agent versions greater than or equal to 1.2.0:\n\t\t\t\t\tNull, zero, and CPU values of 1 are passed to Docker as 2.

    \n\t\t\t
  • \n
\n\t\t

On Windows container instances, the CPU limit is enforced as an absolute limit, or a\n\t\t\tquota. Windows containers only have access to the specified amount of CPU that's\n\t\t\tdescribed in the task definition. A null or zero CPU value is passed to Docker as\n\t\t\t\t0, which Windows interprets as 1% of one CPU.

" + "smithy.api#documentation": "

The number of cpu units reserved for the container. This parameter maps\n\t\t\tto CpuShares in the Create a container section of the\n\t\t\tDocker Remote API and the --cpu-shares option to docker run.

\n

This field is optional for tasks using the Fargate launch type, and the\n\t\t\tonly requirement is that the total amount of CPU reserved for all containers within a\n\t\t\ttask be lower than the task-level cpu value.

\n \n

You can determine the number of CPU units that are available per EC2 instance type\n\t\t\t\tby multiplying the vCPUs listed for that instance type on the Amazon EC2 Instances detail page\n\t\t\t\tby 1,024.

\n
\n

Linux containers share unallocated CPU units with other containers on the container\n\t\t\tinstance with the same ratio as their allocated amount. For example, if you run a\n\t\t\tsingle-container task on a single-core instance type with 512 CPU units specified for\n\t\t\tthat container, and that's the only task running on the container instance, that\n\t\t\tcontainer could use the full 1,024 CPU unit share at any given time. However, if you\n\t\t\tlaunched another copy of the same task on that container instance, each task is\n\t\t\tguaranteed a minimum of 512 CPU units when needed. Moreover, each container could float\n\t\t\tto higher CPU usage if the other container was not using it. If both tasks were 100%\n\t\t\tactive all of the time, they would be limited to 512 CPU units.

\n

On Linux container instances, the Docker daemon on the container instance uses the CPU\n\t\t\tvalue to calculate the relative CPU share ratios for running containers. For more\n\t\t\tinformation, see CPU share\n\t\t\t\tconstraint in the Docker documentation. The minimum valid CPU share value\n\t\t\tthat the Linux kernel allows is 2. However, the CPU parameter isn't required, and you\n\t\t\tcan use CPU values below 2 in your container definitions. For CPU values below 2\n\t\t\t(including null), the behavior varies based on your Amazon ECS container agent\n\t\t\tversion:

\n
    \n
  • \n

    \n Agent versions less than or equal to 1.1.0:\n\t\t\t\t\tNull and zero CPU values are passed to Docker as 0, which Docker then converts\n\t\t\t\t\tto 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which the Linux\n\t\t\t\t\tkernel converts to two CPU shares.

    \n
  • \n
  • \n

    \n Agent versions greater than or equal to 1.2.0:\n\t\t\t\t\tNull, zero, and CPU values of 1 are passed to Docker as 2.

    \n
  • \n
\n

On Windows container instances, the CPU limit is enforced as an absolute limit, or a\n\t\t\tquota. Windows containers only have access to the specified amount of CPU that's\n\t\t\tdescribed in the task definition. A null or zero CPU value is passed to Docker as\n\t\t\t\t0, which Windows interprets as 1% of one CPU.

" } }, "memory": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The amount (in MiB) of memory to present to the container. If your container attempts\n\t\t\tto exceed the memory specified here, the container is killed. The total amount of memory\n\t\t\treserved for all containers within a task must be lower than the task\n\t\t\t\tmemory value, if one is specified. This parameter maps to\n\t\t\t\tMemory in the Create a container section of the\n\t\t\tDocker Remote API and the --memory option to docker run.

\n\t\t

If using the Fargate launch type, this parameter is optional.

\n\t\t

If using the EC2 launch type, you must specify either a task-level\n\t\t\tmemory value or a container-level memory value. If you specify both a container-level\n\t\t\t\tmemory and memoryReservation value, memory\n\t\t\tmust be greater than memoryReservation. If you specify\n\t\t\t\tmemoryReservation, then that value is subtracted from the available\n\t\t\tmemory resources for the container instance where the container is placed. Otherwise,\n\t\t\tthe value of memory is used.

\n\t\t

The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a\n\t\t\tcontainer. So, don't specify less than 6 MiB of memory for your containers.

\n\t\t

The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a\n\t\t\tcontainer. So, don't specify less than 4 MiB of memory for your containers.

" + "smithy.api#documentation": "

The amount (in MiB) of memory to present to the container. If your container attempts\n\t\t\tto exceed the memory specified here, the container is killed. The total amount of memory\n\t\t\treserved for all containers within a task must be lower than the task\n\t\t\t\tmemory value, if one is specified. This parameter maps to\n\t\t\t\tMemory in the Create a container section of the\n\t\t\tDocker Remote API and the --memory option to docker run.

\n

If using the Fargate launch type, this parameter is optional.

\n

If using the EC2 launch type, you must specify either a task-level\n\t\t\tmemory value or a container-level memory value. If you specify both a container-level\n\t\t\t\tmemory and memoryReservation value, memory\n\t\t\tmust be greater than memoryReservation. If you specify\n\t\t\t\tmemoryReservation, then that value is subtracted from the available\n\t\t\tmemory resources for the container instance where the container is placed. Otherwise,\n\t\t\tthe value of memory is used.

\n

The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a\n\t\t\tcontainer. So, don't specify less than 6 MiB of memory for your containers.

\n

The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a\n\t\t\tcontainer. So, don't specify less than 4 MiB of memory for your containers.

" } }, "memoryReservation": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The soft limit (in MiB) of memory to reserve for the container. When system memory is\n\t\t\tunder heavy contention, Docker attempts to keep the container memory to this soft limit.\n\t\t\tHowever, your container can consume more memory when it needs to, up to either the hard\n\t\t\tlimit specified with the memory parameter (if applicable), or all of the\n\t\t\tavailable memory on the container instance, whichever comes first. This parameter maps\n\t\t\tto MemoryReservation in the Create a container section of\n\t\t\tthe Docker Remote API and the --memory-reservation option to docker run.

\n\t\t

If a task-level memory value is not specified, you must specify a non-zero integer for\n\t\t\tone or both of memory or memoryReservation in a container\n\t\t\tdefinition. If you specify both, memory must be greater than\n\t\t\t\tmemoryReservation. If you specify memoryReservation, then\n\t\t\tthat value is subtracted from the available memory resources for the container instance\n\t\t\twhere the container is placed. Otherwise, the value of memory is\n\t\t\tused.

\n\t\t

For example, if your container normally uses 128 MiB of memory, but occasionally\n\t\t\tbursts to 256 MiB of memory for short periods of time, you can set a\n\t\t\t\tmemoryReservation of 128 MiB, and a memory hard limit of\n\t\t\t300 MiB. This configuration would allow the container to only reserve 128 MiB of memory\n\t\t\tfrom the remaining resources on the container instance, but also allow the container to\n\t\t\tconsume more memory resources when needed.

\n\t\t

The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a\n\t\t\tcontainer. So, don't specify less than 6 MiB of memory for your containers.

\n\t\t

The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a\n\t\t\tcontainer. So, don't specify less than 4 MiB of memory for your containers.

" + "smithy.api#documentation": "

The soft limit (in MiB) of memory to reserve for the container. When system memory is\n\t\t\tunder heavy contention, Docker attempts to keep the container memory to this soft limit.\n\t\t\tHowever, your container can consume more memory when it needs to, up to either the hard\n\t\t\tlimit specified with the memory parameter (if applicable), or all of the\n\t\t\tavailable memory on the container instance, whichever comes first. This parameter maps\n\t\t\tto MemoryReservation in the Create a container section of\n\t\t\tthe Docker Remote API and the --memory-reservation option to docker run.

\n

If a task-level memory value is not specified, you must specify a non-zero integer for\n\t\t\tone or both of memory or memoryReservation in a container\n\t\t\tdefinition. If you specify both, memory must be greater than\n\t\t\t\tmemoryReservation. If you specify memoryReservation, then\n\t\t\tthat value is subtracted from the available memory resources for the container instance\n\t\t\twhere the container is placed. Otherwise, the value of memory is\n\t\t\tused.

\n

For example, if your container normally uses 128 MiB of memory, but occasionally\n\t\t\tbursts to 256 MiB of memory for short periods of time, you can set a\n\t\t\t\tmemoryReservation of 128 MiB, and a memory hard limit of\n\t\t\t300 MiB. This configuration would allow the container to only reserve 128 MiB of memory\n\t\t\tfrom the remaining resources on the container instance, but also allow the container to\n\t\t\tconsume more memory resources when needed.

\n

The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a\n\t\t\tcontainer. So, don't specify less than 6 MiB of memory for your containers.

\n

The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a\n\t\t\tcontainer. So, don't specify less than 4 MiB of memory for your containers.

" } }, "links": { "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

The links parameter allows containers to communicate with each other\n\t\t\twithout the need for port mappings. This parameter is only supported if the network mode\n\t\t\tof a task definition is bridge. The name:internalName\n\t\t\tconstruct is analogous to name:alias in Docker links.\n\t\t\tUp to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. For more information about linking Docker containers, go to\n\t\t\t\tLegacy container links\n\t\t\tin the Docker documentation. This parameter maps to Links in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--link option to docker\n\t\t\trun.

\n\t\t \n

This parameter is not supported for Windows containers.

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

Containers that are collocated on a single container instance may be able to\n\t\t\t\tcommunicate with each other without requiring links or host port mappings. Network\n\t\t\t\tisolation is achieved on the container instance using security groups and VPC\n\t\t\t\tsettings.

\n\t\t
" + "smithy.api#documentation": "

The links parameter allows containers to communicate with each other\n\t\t\twithout the need for port mappings. This parameter is only supported if the network mode\n\t\t\tof a task definition is bridge. The name:internalName\n\t\t\tconstruct is analogous to name:alias in Docker links.\n\t\t\tUp to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. For more information about linking Docker containers, go to\n\t\t\t\tLegacy container links\n\t\t\tin the Docker documentation. This parameter maps to Links in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--link option to docker\n\t\t\trun.

\n \n

This parameter is not supported for Windows containers.

\n
\n \n

Containers that are collocated on a single container instance may be able to\n\t\t\t\tcommunicate with each other without requiring links or host port mappings. Network\n\t\t\t\tisolation is achieved on the container instance using security groups and VPC\n\t\t\t\tsettings.

\n
" } }, "portMappings": { "target": "com.amazonaws.ecs#PortMappingList", "traits": { - "smithy.api#documentation": "

The list of port mappings for the container. Port mappings allow containers to access\n\t\t\tports on the host container instance to send or receive traffic.

\n\t\t

For task definitions that use the awsvpc network mode, only specify the\n\t\t\t\tcontainerPort. The hostPort can be left blank or it must\n\t\t\tbe the same value as the containerPort.

\n\t\t

Port mappings on Windows use the NetNAT gateway address rather than\n\t\t\t\tlocalhost. There's no loopback for port mappings on Windows, so you\n\t\t\tcan't access a container's mapped port from the host itself.

\n\t\t

This parameter maps to PortBindings in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--publish option to docker\n\t\t\t\trun. If the network mode of a task definition is set to none,\n\t\t\tthen you can't specify port mappings. If the network mode of a task definition is set to\n\t\t\t\thost, then host ports must either be undefined or they must match the\n\t\t\tcontainer port in the port mapping.

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

After a task reaches the RUNNING status, manual and automatic host\n\t\t\t\tand container port assignments are visible in the Network\n\t\t\t\t\tBindings section of a container description for a selected task in\n\t\t\t\tthe Amazon ECS console. The assignments are also visible in the\n\t\t\t\t\tnetworkBindings section DescribeTasks\n\t\t\t\tresponses.

\n\t\t
" + "smithy.api#documentation": "

The list of port mappings for the container. Port mappings allow containers to access\n\t\t\tports on the host container instance to send or receive traffic.

\n

For task definitions that use the awsvpc network mode, only specify the\n\t\t\t\tcontainerPort. The hostPort can be left blank or it must\n\t\t\tbe the same value as the containerPort.

\n

Port mappings on Windows use the NetNAT gateway address rather than\n\t\t\t\tlocalhost. There's no loopback for port mappings on Windows, so you\n\t\t\tcan't access a container's mapped port from the host itself.

\n

This parameter maps to PortBindings in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--publish option to docker\n\t\t\t\trun. If the network mode of a task definition is set to none,\n\t\t\tthen you can't specify port mappings. If the network mode of a task definition is set to\n\t\t\t\thost, then host ports must either be undefined or they must match the\n\t\t\tcontainer port in the port mapping.

\n \n

After a task reaches the RUNNING status, manual and automatic host\n\t\t\t\tand container port assignments are visible in the Network\n\t\t\t\t\tBindings section of a container description for a selected task in\n\t\t\t\tthe Amazon ECS console. The assignments are also visible in the\n\t\t\t\t\tnetworkBindings section DescribeTasks\n\t\t\t\tresponses.

\n
" } }, "essential": { "target": "com.amazonaws.ecs#BoxedBoolean", "traits": { - "smithy.api#documentation": "

If the essential parameter of a container is marked as true,\n\t\t\tand that container fails or stops for any reason, all other containers that are part of\n\t\t\tthe task are stopped. If the essential parameter of a container is marked\n\t\t\tas false, its failure doesn't affect the rest of the containers in a task.\n\t\t\tIf this parameter is omitted, a container is assumed to be essential.

\n\t\t

All tasks must have at least one essential container. If you have an application\n\t\t\tthat's composed of multiple containers, group containers that are used for a common\n\t\t\tpurpose into components, and separate the different components into multiple task\n\t\t\tdefinitions. For more information, see Application\n\t\t\t\tArchitecture in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

If the essential parameter of a container is marked as true,\n\t\t\tand that container fails or stops for any reason, all other containers that are part of\n\t\t\tthe task are stopped. If the essential parameter of a container is marked\n\t\t\tas false, its failure doesn't affect the rest of the containers in a task.\n\t\t\tIf this parameter is omitted, a container is assumed to be essential.

\n

All tasks must have at least one essential container. If you have an application\n\t\t\tthat's composed of multiple containers, group containers that are used for a common\n\t\t\tpurpose into components, and separate the different components into multiple task\n\t\t\tdefinitions. For more information, see Application\n\t\t\t\tArchitecture in the Amazon Elastic Container Service Developer Guide.

" } }, "entryPoint": { "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "\n\t\t\t

Early versions of the Amazon ECS container agent don't properly handle\n\t\t\t\t\tentryPoint parameters. If you have problems using\n\t\t\t\t\tentryPoint, update your container agent or enter your commands and\n\t\t\t\targuments as command array items instead.

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

The entry point that's passed to the container. This parameter maps to\n\t\t\t\tEntrypoint in the Create a container section of the\n\t\t\tDocker Remote API and the --entrypoint option to docker run. For more information, see https://docs.docker.com/engine/reference/builder/#entrypoint.

" + "smithy.api#documentation": "\n

Early versions of the Amazon ECS container agent don't properly handle\n\t\t\t\t\tentryPoint parameters. If you have problems using\n\t\t\t\t\tentryPoint, update your container agent or enter your commands and\n\t\t\t\targuments as command array items instead.

\n
\n

The entry point that's passed to the container. This parameter maps to\n\t\t\t\tEntrypoint in the Create a container section of the\n\t\t\tDocker Remote API and the --entrypoint option to docker run. For more information, see https://docs.docker.com/engine/reference/builder/#entrypoint.

" } }, "command": { @@ -3335,19 +2227,19 @@ "environment": { "target": "com.amazonaws.ecs#EnvironmentVariables", "traits": { - "smithy.api#documentation": "

The environment variables to pass to a container. This parameter maps to\n\t\t\t\tEnv in the Create a container section of the\n\t\t\tDocker Remote API and the --env option to docker run.

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

We don't recommend that you use plaintext environment variables for sensitive\n\t\t\t\tinformation, such as credential data.

\n\t\t
" + "smithy.api#documentation": "

The environment variables to pass to a container. This parameter maps to\n\t\t\t\tEnv in the Create a container section of the\n\t\t\tDocker Remote API and the --env option to docker run.

\n \n

We don't recommend that you use plaintext environment variables for sensitive\n\t\t\t\tinformation, such as credential data.

\n
" } }, "environmentFiles": { "target": "com.amazonaws.ecs#EnvironmentFiles", "traits": { - "smithy.api#documentation": "

A list of files containing the environment variables to pass to a container. This\n\t\t\tparameter maps to the --env-file option to docker run.

\n\t\t

You can specify up to ten environment files. The file must have a .env\n\t\t\tfile extension. Each line in an environment file contains an environment variable in\n\t\t\t\tVARIABLE=VALUE format. Lines beginning with # are treated\n\t\t\tas comments and are ignored. For more information about the environment variable file\n\t\t\tsyntax, see Declare default\n\t\t\t\tenvironment variables in file.

\n\t\t

If there are environment variables specified using the environment\n\t\t\tparameter in a container definition, they take precedence over the variables contained\n\t\t\twithin an environment file. If multiple environment files are specified that contain the\n\t\t\tsame variable, they're processed from the top down. We recommend that you use unique\n\t\t\tvariable names. For more information, see Specifying Environment\n\t\t\t\tVariables in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

A list of files containing the environment variables to pass to a container. This\n\t\t\tparameter maps to the --env-file option to docker run.

\n

You can specify up to ten environment files. The file must have a .env\n\t\t\tfile extension. Each line in an environment file contains an environment variable in\n\t\t\t\tVARIABLE=VALUE format. Lines beginning with # are treated\n\t\t\tas comments and are ignored. For more information about the environment variable file\n\t\t\tsyntax, see Declare default\n\t\t\t\tenvironment variables in file.

\n

If there are environment variables specified using the environment\n\t\t\tparameter in a container definition, they take precedence over the variables contained\n\t\t\twithin an environment file. If multiple environment files are specified that contain the\n\t\t\tsame variable, they're processed from the top down. We recommend that you use unique\n\t\t\tvariable names. For more information, see Specifying Environment\n\t\t\t\tVariables in the Amazon Elastic Container Service Developer Guide.

" } }, "mountPoints": { "target": "com.amazonaws.ecs#MountPointList", "traits": { - "smithy.api#documentation": "

The mount points for data volumes in your container.

\n\t\t

This parameter maps to Volumes in the Create a container\n\t\t\tsection of the Docker Remote API and the --volume option to docker run.

\n\t\t

Windows containers can mount whole directories on the same drive as\n\t\t\t\t$env:ProgramData. Windows containers can't mount directories on a\n\t\t\tdifferent drive, and mount point can't be across drives.

" + "smithy.api#documentation": "

The mount points for data volumes in your container.

\n

This parameter maps to Volumes in the Create a container\n\t\t\tsection of the Docker Remote API and the --volume option to docker run.

\n

Windows containers can mount whole directories on the same drive as\n\t\t\t\t$env:ProgramData. Windows containers can't mount directories on a\n\t\t\tdifferent drive, and mount point can't be across drives.

" } }, "volumesFrom": { @@ -3359,7 +2251,7 @@ "linuxParameters": { "target": "com.amazonaws.ecs#LinuxParameters", "traits": { - "smithy.api#documentation": "

Linux-specific modifications that are applied to the container, such as Linux kernel\n\t\t\tcapabilities. For more information see KernelCapabilities.

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

This parameter is not supported for Windows containers.

\n\t\t
" + "smithy.api#documentation": "

Linux-specific modifications that are applied to the container, such as Linux kernel\n\t\t\tcapabilities. For more information see KernelCapabilities.

\n \n

This parameter is not supported for Windows containers.

\n
" } }, "secrets": { @@ -3371,31 +2263,31 @@ "dependsOn": { "target": "com.amazonaws.ecs#ContainerDependencies", "traits": { - "smithy.api#documentation": "

The dependencies defined for container startup and shutdown. A container can contain\n\t\t\tmultiple dependencies on other containers in a task definition. When a dependency is defined for container startup, for container\n\t\t\tshutdown it is reversed.

\n\t\t

For tasks using the EC2 launch type, the container instances require at\n\t\t\tleast version 1.26.0 of the container agent to turn on container dependencies. However,\n\t\t\twe recommend using the latest container agent version. For information about checking\n\t\t\tyour agent version and updating to the latest version, see Updating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you're using\n\t\t\tan Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the\n\t\t\t\tecs-init package. If your container instances are launched from version\n\t\t\t\t20190301 or later, then they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

\n\t\t

For tasks using the Fargate launch type, the task or service requires\n\t\t\tthe following platforms:

\n\t\t
    \n
  • \n\t\t\t\t

    Linux platform version 1.3.0 or later.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    Windows platform version 1.0.0 or later.

    \n\t\t\t
  • \n
" + "smithy.api#documentation": "

The dependencies defined for container startup and shutdown. A container can contain\n\t\t\tmultiple dependencies on other containers in a task definition. When a dependency is\n\t\t\tdefined for container startup, for container shutdown it is reversed.

\n

For tasks using the EC2 launch type, the container instances require at\n\t\t\tleast version 1.26.0 of the container agent to turn on container dependencies. However,\n\t\t\twe recommend using the latest container agent version. For information about checking\n\t\t\tyour agent version and updating to the latest version, see Updating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you're using an Amazon ECS-optimized Linux AMI,\n\t\t\tyour instance needs at least version 1.26.0-1 of the ecs-init package. If\n\t\t\tyour container instances are launched from version 20190301 or later, then\n\t\t\tthey contain the required versions of the container agent and ecs-init. For\n\t\t\tmore information, see Amazon ECS-optimized Linux AMI\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

\n

For tasks using the Fargate launch type, the task or service requires\n\t\t\tthe following platforms:

\n
    \n
  • \n

    Linux platform version 1.3.0 or later.

    \n
  • \n
  • \n

    Windows platform version 1.0.0 or later.

    \n
  • \n
" } }, "startTimeout": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

Time duration (in seconds) to wait before giving up on resolving dependencies for a\n\t\t\tcontainer. For example, you specify two containers in a task definition with containerA\n\t\t\thaving a dependency on containerB reaching a COMPLETE,\n\t\t\tSUCCESS, or HEALTHY status. If a startTimeout\n\t\t\tvalue is specified for containerB and it doesn't reach the desired status within that\n\t\t\ttime then containerA gives up and not start. This results in the task transitioning to a\n\t\t\t\tSTOPPED state.

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

When the ECS_CONTAINER_START_TIMEOUT container agent configuration\n\t\t\t\tvariable is used, it's enforced independently from this start timeout value.

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

For tasks using the Fargate launch type, the task or service requires\n\t\t\tthe following platforms:

\n\t\t
    \n
  • \n\t\t\t\t

    Linux platform version 1.3.0 or later.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    Windows platform version 1.0.0 or later.

    \n\t\t\t
  • \n
\n\t\t

For tasks using the EC2 launch type, your container instances require at\n\t\t\tleast version 1.26.0 of the container agent to use a container start\n\t\t\ttimeout value. However, we recommend using the latest container agent version. For\n\t\t\tinformation about checking your agent version and updating to the latest version, see\n\t\t\t\tUpdating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you're using\n\t\t\tan Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the\n\t\t\t\tecs-init package. If your container instances are launched from version\n\t\t\t\t20190301 or later, then they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

Time duration (in seconds) to wait before giving up on resolving dependencies for a\n\t\t\tcontainer. For example, you specify two containers in a task definition with containerA\n\t\t\thaving a dependency on containerB reaching a COMPLETE,\n\t\t\tSUCCESS, or HEALTHY status. If a startTimeout\n\t\t\tvalue is specified for containerB and it doesn't reach the desired status within that\n\t\t\ttime then containerA gives up and not start. This results in the task transitioning to a\n\t\t\t\tSTOPPED state.

\n \n

When the ECS_CONTAINER_START_TIMEOUT container agent configuration\n\t\t\t\tvariable is used, it's enforced independently from this start timeout value.

\n
\n

For tasks using the Fargate launch type, the task or service requires\n\t\t\tthe following platforms:

\n
    \n
  • \n

    Linux platform version 1.3.0 or later.

    \n
  • \n
  • \n

    Windows platform version 1.0.0 or later.

    \n
  • \n
\n

For tasks using the EC2 launch type, your container instances require at\n\t\t\tleast version 1.26.0 of the container agent to use a container start\n\t\t\ttimeout value. However, we recommend using the latest container agent version. For\n\t\t\tinformation about checking your agent version and updating to the latest version, see\n\t\t\t\tUpdating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you're using an Amazon ECS-optimized Linux AMI,\n\t\t\tyour instance needs at least version 1.26.0-1 of the ecs-init\n\t\t\tpackage. If your container instances are launched from version 20190301 or\n\t\t\tlater, then they contain the required versions of the container agent and\n\t\t\t\tecs-init. For more information, see Amazon ECS-optimized Linux AMI\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

" } }, "stopTimeout": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

Time duration (in seconds) to wait before the container is forcefully killed if it\n\t\t\tdoesn't exit normally on its own.

\n\t\t

For tasks using the Fargate launch type, the task or service requires\n\t\t\tthe following platforms:

\n\t\t
    \n
  • \n\t\t\t\t

    Linux platform version 1.3.0 or later.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    Windows platform version 1.0.0 or later.

    \n\t\t\t
  • \n
\n\t\t

The max stop timeout value is 120 seconds and if the parameter is not specified, the\n\t\t\tdefault value of 30 seconds is used.

\n\t\t

For tasks that use the EC2 launch type, if the stopTimeout\n\t\t\tparameter isn't specified, the value set for the Amazon ECS container agent configuration\n\t\t\tvariable ECS_CONTAINER_STOP_TIMEOUT is used. If neither the\n\t\t\t\tstopTimeout parameter or the ECS_CONTAINER_STOP_TIMEOUT\n\t\t\tagent configuration variable are set, then the default values of 30 seconds for Linux\n\t\t\tcontainers and 30 seconds on Windows containers are used. Your container instances\n\t\t\trequire at least version 1.26.0 of the container agent to use a container stop timeout\n\t\t\tvalue. However, we recommend using the latest container agent version. For information\n\t\t\tabout checking your agent version and updating to the latest version, see Updating the Amazon ECS Container Agent in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide. If you're using an Amazon ECS-optimized Linux AMI, your\n\t\t\tinstance needs at least version 1.26.0-1 of the ecs-init package. If your\n\t\t\tcontainer instances are launched from version 20190301 or later, then they\n\t\t\tcontain the required versions of the container agent and ecs-init. For more\n\t\t\tinformation, see Amazon ECS-optimized Linux AMI\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

Time duration (in seconds) to wait before the container is forcefully killed if it\n\t\t\tdoesn't exit normally on its own.

\n

For tasks using the Fargate launch type, the task or service requires\n\t\t\tthe following platforms:

\n
    \n
  • \n

    Linux platform version 1.3.0 or later.

    \n
  • \n
  • \n

    Windows platform version 1.0.0 or later.

    \n
  • \n
\n

The max stop timeout value is 120 seconds and if the parameter is not specified, the\n\t\t\tdefault value of 30 seconds is used.

\n

For tasks that use the EC2 launch type, if the stopTimeout\n\t\t\tparameter isn't specified, the value set for the Amazon ECS container agent configuration\n\t\t\tvariable ECS_CONTAINER_STOP_TIMEOUT is used. If neither the\n\t\t\t\tstopTimeout parameter or the ECS_CONTAINER_STOP_TIMEOUT\n\t\t\tagent configuration variable are set, then the default values of 30 seconds for Linux\n\t\t\tcontainers and 30 seconds on Windows containers are used. Your container instances\n\t\t\trequire at least version 1.26.0 of the container agent to use a container stop timeout\n\t\t\tvalue. However, we recommend using the latest container agent version. For information\n\t\t\tabout checking your agent version and updating to the latest version, see Updating the Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide. If you're using\n\t\t\tan Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the\n\t\t\t\tecs-init package. If your container instances are launched from version\n\t\t\t\t20190301 or later, then they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

" } }, "hostname": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The hostname to use for your container. This parameter maps to Hostname\n\t\t\tin the Create a container section of the Docker Remote API and the\n\t\t\t\t--hostname option to docker\n\t\t\t\trun.

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

The hostname parameter is not supported if you're using the\n\t\t\t\t\tawsvpc network mode.

\n\t\t
" + "smithy.api#documentation": "

The hostname to use for your container. This parameter maps to Hostname\n\t\t\tin the Create a container section of the Docker Remote API and the\n\t\t\t\t--hostname option to docker\n\t\t\t\trun.

\n \n

The hostname parameter is not supported if you're using the\n\t\t\t\t\tawsvpc network mode.

\n
" } }, "user": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The user to use inside the container. This parameter maps to User in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--user option to docker\n\t\t\trun.

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

When running tasks using the host network mode, don't run containers\n\t\t\t\tusing the root user (UID 0). We recommend using a non-root user for better\n\t\t\t\tsecurity.

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

You can specify the user using the following formats. If specifying a UID\n\t\t\tor GID, you must specify it as a positive integer.

\n\t\t
    \n
  • \n\t\t\t\t

    \n user\n

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n user:group\n

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n uid\n

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n uid:gid\n

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n user:gid\n

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n uid:group\n

    \n\t\t\t
  • \n
\n\t\t \n

This parameter is not supported for Windows containers.

\n
" + "smithy.api#documentation": "

The user to use inside the container. This parameter maps to User in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--user option to docker\n\t\t\trun.

\n \n

When running tasks using the host network mode, don't run containers\n\t\t\t\tusing the root user (UID 0). We recommend using a non-root user for better\n\t\t\t\tsecurity.

\n
\n

You can specify the user using the following formats. If specifying a UID\n\t\t\tor GID, you must specify it as a positive integer.

\n
    \n
  • \n

    \n user\n

    \n
  • \n
  • \n

    \n user:group\n

    \n
  • \n
  • \n

    \n uid\n

    \n
  • \n
  • \n

    \n uid:gid\n

    \n
  • \n
  • \n

    \n user:gid\n

    \n
  • \n
  • \n

    \n uid:group\n

    \n
  • \n
\n \n

This parameter is not supported for Windows containers.

\n
" } }, "workingDirectory": { @@ -3407,43 +2299,43 @@ "disableNetworking": { "target": "com.amazonaws.ecs#BoxedBoolean", "traits": { - "smithy.api#documentation": "

When this parameter is true, networking is disabled within the container. This\n\t\t\tparameter maps to NetworkDisabled in the Create a container\n\t\t\tsection of the Docker Remote API.

\n\t\t \n

This parameter is not supported for Windows containers.

\n
" + "smithy.api#documentation": "

When this parameter is true, networking is disabled within the container. This\n\t\t\tparameter maps to NetworkDisabled in the Create a container\n\t\t\tsection of the Docker Remote API.

\n \n

This parameter is not supported for Windows containers.

\n
" } }, "privileged": { "target": "com.amazonaws.ecs#BoxedBoolean", "traits": { - "smithy.api#documentation": "

When this parameter is true, the container is given elevated privileges on the host\n\t\t\tcontainer instance (similar to the root user). This parameter maps to\n\t\t\t\tPrivileged in the Create a container section of the\n\t\t\tDocker Remote API and the --privileged option to docker run.

\n\t\t \n

This parameter is not supported for Windows containers or tasks run on Fargate.

\n
" + "smithy.api#documentation": "

When this parameter is true, the container is given elevated privileges on the host\n\t\t\tcontainer instance (similar to the root user). This parameter maps to\n\t\t\t\tPrivileged in the Create a container section of the\n\t\t\tDocker Remote API and the --privileged option to docker run.

\n \n

This parameter is not supported for Windows containers or tasks run on Fargate.

\n
" } }, "readonlyRootFilesystem": { "target": "com.amazonaws.ecs#BoxedBoolean", "traits": { - "smithy.api#documentation": "

When this parameter is true, the container is given read-only access to its root file\n\t\t\tsystem. This parameter maps to ReadonlyRootfs in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--read-only option to docker\n\t\t\t\trun.

\n\t\t \n

This parameter is not supported for Windows containers.

\n
" + "smithy.api#documentation": "

When this parameter is true, the container is given read-only access to its root file\n\t\t\tsystem. This parameter maps to ReadonlyRootfs in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--read-only option to docker\n\t\t\t\trun.

\n \n

This parameter is not supported for Windows containers.

\n
" } }, "dnsServers": { "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

A list of DNS servers that are presented to the container. This parameter maps to\n\t\t\t\tDns in the Create a container section of the\n\t\t\tDocker Remote API and the --dns option to docker run.

\n\t\t \n

This parameter is not supported for Windows containers.

\n
" + "smithy.api#documentation": "

A list of DNS servers that are presented to the container. This parameter maps to\n\t\t\t\tDns in the Create a container section of the\n\t\t\tDocker Remote API and the --dns option to docker run.

\n \n

This parameter is not supported for Windows containers.

\n
" } }, "dnsSearchDomains": { "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

A list of DNS search domains that are presented to the container. This parameter maps\n\t\t\tto DnsSearch in the Create a container section of the\n\t\t\tDocker Remote API and the --dns-search option to docker run.

\n\t\t \n

This parameter is not supported for Windows containers.

\n
" + "smithy.api#documentation": "

A list of DNS search domains that are presented to the container. This parameter maps\n\t\t\tto DnsSearch in the Create a container section of the\n\t\t\tDocker Remote API and the --dns-search option to docker run.

\n \n

This parameter is not supported for Windows containers.

\n
" } }, "extraHosts": { "target": "com.amazonaws.ecs#HostEntryList", "traits": { - "smithy.api#documentation": "

A list of hostnames and IP address mappings to append to the /etc/hosts\n\t\t\tfile on the container. This parameter maps to ExtraHosts in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--add-host option to docker\n\t\t\t\trun.

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

This parameter isn't supported for Windows containers or tasks that use the\n\t\t\t\t\tawsvpc network mode.

\n\t\t
" + "smithy.api#documentation": "

A list of hostnames and IP address mappings to append to the /etc/hosts\n\t\t\tfile on the container. This parameter maps to ExtraHosts in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--add-host option to docker\n\t\t\t\trun.

\n \n

This parameter isn't supported for Windows containers or tasks that use the\n\t\t\t\t\tawsvpc network mode.

\n
" } }, "dockerSecurityOptions": { "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

A list of strings to provide custom labels for SELinux and AppArmor multi-level\n\t\t\tsecurity systems. This field isn't valid for containers in tasks using the\n\t\t\tFargate launch type.

\n\t\t

With Windows containers, this parameter can be used to reference a credential spec\n\t\t\tfile when configuring a container for Active Directory authentication. For more\n\t\t\tinformation, see Using gMSAs for Windows\n\t\t\t\tContainers in the Amazon Elastic Container Service Developer Guide.

\n\t\t

This parameter maps to SecurityOpt in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--security-opt option to docker\n\t\t\t\trun.

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

The Amazon ECS container agent running on a container instance must register with the\n\t\t\t\t\tECS_SELINUX_CAPABLE=true or ECS_APPARMOR_CAPABLE=true\n\t\t\t\tenvironment variables before containers placed on that instance can use these\n\t\t\t\tsecurity options. For more information, see Amazon ECS Container\n\t\t\t\t\tAgent Configuration in the Amazon Elastic Container Service Developer Guide.

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

For more information about valid values, see Docker\n\t\t\t\tRun Security Configuration.

\n\t\t

Valid values: \"no-new-privileges\" | \"apparmor:PROFILE\" | \"label:value\" |\n\t\t\t\"credentialspec:CredentialSpecFilePath\"

" + "smithy.api#documentation": "

A list of strings to provide custom labels for SELinux and AppArmor multi-level\n\t\t\tsecurity systems. This field isn't valid for containers in tasks using the\n\t\t\tFargate launch type.

\n

With Windows containers, this parameter can be used to reference a credential spec\n\t\t\tfile when configuring a container for Active Directory authentication. For more\n\t\t\tinformation, see Using gMSAs for Windows\n\t\t\t\tContainers in the Amazon Elastic Container Service Developer Guide.

\n

This parameter maps to SecurityOpt in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--security-opt option to docker\n\t\t\t\trun.

\n \n

The Amazon ECS container agent running on a container instance must register with the\n\t\t\t\t\tECS_SELINUX_CAPABLE=true or ECS_APPARMOR_CAPABLE=true\n\t\t\t\tenvironment variables before containers placed on that instance can use these\n\t\t\t\tsecurity options. For more information, see Amazon ECS Container\n\t\t\t\t\tAgent Configuration in the Amazon Elastic Container Service Developer Guide.

\n
\n

For more information about valid values, see Docker\n\t\t\t\tRun Security Configuration.

\n

Valid values: \"no-new-privileges\" | \"apparmor:PROFILE\" | \"label:value\" |\n\t\t\t\"credentialspec:CredentialSpecFilePath\"

" } }, "interactive": { @@ -3461,19 +2353,19 @@ "dockerLabels": { "target": "com.amazonaws.ecs#DockerLabelsMap", "traits": { - "smithy.api#documentation": "

A key/value map of labels to add to the container. This parameter maps to\n\t\t\t\tLabels in the Create a container section of the\n\t\t\tDocker Remote API and the --label option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' \n

" + "smithy.api#documentation": "

A key/value map of labels to add to the container. This parameter maps to\n\t\t\t\tLabels in the Create a container section of the\n\t\t\tDocker Remote API and the --label option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'\n

" } }, "ulimits": { "target": "com.amazonaws.ecs#UlimitList", "traits": { - "smithy.api#documentation": "

A list of ulimits to set in the container. If a ulimit value is specified\n\t\t\tin a task definition, it overrides the default values set by Docker. This parameter maps\n\t\t\tto Ulimits in the Create a container section of the\n\t\t\tDocker Remote API and the --ulimit option to docker run. Valid naming values are displayed\n\t\t\tin the Ulimit data type.

\n\t\t

Amazon ECS tasks hosted on Fargate use the default\n\t\t\t\t\t\t\tresource limit values set by the operating system with the exception of\n\t\t\t\t\t\t\tthe nofile resource limit parameter which Fargate\n\t\t\t\t\t\t\toverrides. The nofile resource limit sets a restriction on\n\t\t\t\t\t\t\tthe number of open files that a container can use. The default\n\t\t\t\t\t\t\t\tnofile soft limit is 1024 and hard limit\n\t\t\t\t\t\t\tis 4096.

\n\t\t

This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'\n

\n\t\t \n

This parameter is not supported for Windows containers.

\n
" + "smithy.api#documentation": "

A list of ulimits to set in the container. If a ulimit value\n\t\t\tis specified in a task definition, it overrides the default values set by Docker. This\n\t\t\tparameter maps to Ulimits in the Create a container section\n\t\t\tof the Docker Remote API and the --ulimit option to docker run. Valid naming values are displayed\n\t\t\tin the Ulimit data type.

\n

Amazon ECS tasks hosted on Fargate use the default\n\t\t\t\t\t\t\tresource limit values set by the operating system with the exception of\n\t\t\t\t\t\t\tthe nofile resource limit parameter which Fargate\n\t\t\t\t\t\t\toverrides. The nofile resource limit sets a restriction on\n\t\t\t\t\t\t\tthe number of open files that a container can use. The default\n\t\t\t\t\t\t\t\tnofile soft limit is 1024 and hard limit\n\t\t\t\t\t\t\tis 4096.

\n

This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'\n

\n \n

This parameter is not supported for Windows containers.

\n
" } }, "logConfiguration": { "target": "com.amazonaws.ecs#LogConfiguration", "traits": { - "smithy.api#documentation": "

The log configuration specification for the container.

\n\t\t

This parameter maps to LogConfig in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--log-driver option to docker\n\t\t\t\trun. By default, containers use the same logging driver that the Docker\n\t\t\tdaemon uses. However the container can use a different logging driver than the Docker\n\t\t\tdaemon by specifying a log driver with this parameter in the container definition. To\n\t\t\tuse a different logging driver for a container, the log system must be configured\n\t\t\tproperly on the container instance (or on a different log server for remote logging\n\t\t\toptions). For more information about the options for different supported log drivers,\n\t\t\tsee Configure\n\t\t\t\tlogging drivers in the Docker documentation.

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

Amazon ECS currently supports a subset of the logging drivers available to the Docker\n\t\t\t\tdaemon (shown in the LogConfiguration data type). Additional log\n\t\t\t\tdrivers may be available in future releases of the Amazon ECS container agent.

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

This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' \n

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

The Amazon ECS container agent running on a container instance must register the\n\t\t\t\tlogging drivers available on that instance with the\n\t\t\t\t\tECS_AVAILABLE_LOGGING_DRIVERS environment variable before\n\t\t\t\tcontainers placed on that instance can use these log configuration options. For more\n\t\t\t\tinformation, see Amazon ECS Container\n\t\t\t\t\tAgent Configuration in the Amazon Elastic Container Service Developer Guide.

\n\t\t
" + "smithy.api#documentation": "

The log configuration specification for the container.

\n

This parameter maps to LogConfig in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--log-driver option to docker\n\t\t\t\trun. By default, containers use the same logging driver that the Docker\n\t\t\tdaemon uses. However the container can use a different logging driver than the Docker\n\t\t\tdaemon by specifying a log driver with this parameter in the container definition. To\n\t\t\tuse a different logging driver for a container, the log system must be configured\n\t\t\tproperly on the container instance (or on a different log server for remote logging\n\t\t\toptions). For more information about the options for different supported log drivers,\n\t\t\tsee Configure\n\t\t\t\tlogging drivers in the Docker documentation.

\n \n

Amazon ECS currently supports a subset of the logging drivers available to the Docker\n\t\t\t\tdaemon (shown in the LogConfiguration data type). Additional log\n\t\t\t\tdrivers may be available in future releases of the Amazon ECS container agent.

\n
\n

This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'\n

\n \n

The Amazon ECS container agent running on a container instance must register the\n\t\t\t\tlogging drivers available on that instance with the\n\t\t\t\t\tECS_AVAILABLE_LOGGING_DRIVERS environment variable before\n\t\t\t\tcontainers placed on that instance can use these log configuration options. For more\n\t\t\t\tinformation, see Amazon ECS Container\n\t\t\t\t\tAgent Configuration in the Amazon Elastic Container Service Developer Guide.

\n
" } }, "healthCheck": { @@ -3485,7 +2377,7 @@ "systemControls": { "target": "com.amazonaws.ecs#SystemControls", "traits": { - "smithy.api#documentation": "

A list of namespaced kernel parameters to set in the container. This parameter maps to\n\t\t\t\tSysctls in the Create a container section of the\n\t\t\tDocker Remote API and the --sysctl option to docker run.

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

We don't recommended that you specify network-related systemControls\n\t\t\t\tparameters for multiple containers in a single task that also uses either the\n\t\t\t\t\tawsvpc or host network modes. For tasks that use the\n\t\t\t\t\tawsvpc network mode, the container that's started last determines\n\t\t\t\twhich systemControls parameters take effect. For tasks that use the\n\t\t\t\t\thost network mode, it changes the container instance's namespaced\n\t\t\t\tkernel parameters as well as the containers.

\n\t\t
" + "smithy.api#documentation": "

A list of namespaced kernel parameters to set in the container. This parameter maps to\n\t\t\t\tSysctls in the Create a container section of the\n\t\t\tDocker Remote API and the --sysctl option to docker run.

\n \n

We don't recommended that you specify network-related systemControls\n\t\t\t\tparameters for multiple containers in a single task that also uses either the\n\t\t\t\t\tawsvpc or host network modes. For tasks that use the\n\t\t\t\t\tawsvpc network mode, the container that's started last determines\n\t\t\t\twhich systemControls parameters take effect. For tasks that use the\n\t\t\t\t\thost network mode, it changes the container instance's namespaced\n\t\t\t\tkernel parameters as well as the containers.

\n
" } }, "resourceRequirements": { @@ -3530,13 +2422,13 @@ "condition": { "target": "com.amazonaws.ecs#ContainerCondition", "traits": { - "smithy.api#documentation": "

The dependency condition of the container. The following are the available conditions\n\t\t\tand their behavior:

\n\t\t
    \n
  • \n\t\t\t\t

    \n START - This condition emulates the behavior of links and\n\t\t\t\t\tvolumes today. It validates that a dependent container is started before\n\t\t\t\t\tpermitting other containers to start.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n COMPLETE - This condition validates that a dependent\n\t\t\t\t\tcontainer runs to completion (exits) before permitting other containers to\n\t\t\t\t\tstart. This can be useful for nonessential containers that run a script and then\n\t\t\t\t\texit. This condition can't be set on an essential container.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n SUCCESS - This condition is the same as\n\t\t\t\t\t\tCOMPLETE, but it also requires that the container exits with a\n\t\t\t\t\t\tzero status. This condition can't be set on an essential\n\t\t\t\t\tcontainer.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n HEALTHY - This condition validates that the dependent\n\t\t\t\t\tcontainer passes its Docker health check before permitting other containers to\n\t\t\t\t\tstart. This requires that the dependent container has health checks configured.\n\t\t\t\t\tThis condition is confirmed only at task startup.

    \n\t\t\t
  • \n
", + "smithy.api#documentation": "

The dependency condition of the container. The following are the available conditions\n\t\t\tand their behavior:

\n
    \n
  • \n

    \n START - This condition emulates the behavior of links and\n\t\t\t\t\tvolumes today. It validates that a dependent container is started before\n\t\t\t\t\tpermitting other containers to start.

    \n
  • \n
  • \n

    \n COMPLETE - This condition validates that a dependent\n\t\t\t\t\tcontainer runs to completion (exits) before permitting other containers to\n\t\t\t\t\tstart. This can be useful for nonessential containers that run a script and then\n\t\t\t\t\texit. This condition can't be set on an essential container.

    \n
  • \n
  • \n

    \n SUCCESS - This condition is the same as\n\t\t\t\t\t\tCOMPLETE, but it also requires that the container exits with a\n\t\t\t\t\t\tzero status. This condition can't be set on an essential\n\t\t\t\t\tcontainer.

    \n
  • \n
  • \n

    \n HEALTHY - This condition validates that the dependent\n\t\t\t\t\tcontainer passes its Docker health check before permitting other containers to\n\t\t\t\t\tstart. This requires that the dependent container has health checks configured.\n\t\t\t\t\tThis condition is confirmed only at task startup.

    \n
  • \n
", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

The dependencies defined for container startup and shutdown. A container can contain\n\t\t\tmultiple dependencies. When a dependency is defined for container startup, for container\n\t\t\tshutdown it is reversed.

\n\t\t

Your Amazon ECS container instances require at least version 1.26.0 of the container agent\n\t\t\tto use container dependencies. However, we recommend using the latest container agent\n\t\t\tversion. For information about checking your agent version and updating to the latest\n\t\t\tversion, see Updating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you're using\n\t\t\tan Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the\n\t\t\t\tecs-init package. If your container instances are launched from version\n\t\t\t\t20190301 or later, then they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

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

For tasks that use the Fargate launch type, the task or service\n\t\t\t\trequires the following platforms:

\n\t\t\t
    \n
  • \n\t\t\t\t\t

    Linux platform version 1.3.0 or later.

    \n\t\t\t\t
  • \n
  • \n\t\t\t\t\t

    Windows platform version 1.0.0 or later.

    \n\t\t\t\t
  • \n
\n\t\t
" + "smithy.api#documentation": "

The dependencies defined for container startup and shutdown. A container can contain\n\t\t\tmultiple dependencies. When a dependency is defined for container startup, for container\n\t\t\tshutdown it is reversed.

\n

Your Amazon ECS container instances require at least version 1.26.0 of the container agent\n\t\t\tto use container dependencies. However, we recommend using the latest container agent\n\t\t\tversion. For information about checking your agent version and updating to the latest\n\t\t\tversion, see Updating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you're using an Amazon ECS-optimized Linux AMI,\n\t\t\tyour instance needs at least version 1.26.0-1 of the ecs-init package. If\n\t\t\tyour container instances are launched from version 20190301 or later, then\n\t\t\tthey contain the required versions of the container agent and ecs-init. For\n\t\t\tmore information, see Amazon ECS-optimized Linux AMI\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

\n \n

For tasks that use the Fargate launch type, the task or service\n\t\t\t\trequires the following platforms:

\n
    \n
  • \n

    Linux platform version 1.3.0 or later.

    \n
  • \n
  • \n

    Windows platform version 1.0.0 or later.

    \n
  • \n
\n
" } }, "com.amazonaws.ecs#ContainerInstance": { @@ -3588,7 +2480,7 @@ "status": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The status of the container instance. The valid values are REGISTERING,\n\t\t\t\tREGISTRATION_FAILED, ACTIVE, INACTIVE,\n\t\t\t\tDEREGISTERING, or DRAINING.

\n\t\t

If your account has opted in to the awsvpcTrunking account setting, then\n\t\t\tany newly registered container instance will transition to a REGISTERING\n\t\t\tstatus while the trunk elastic network interface is provisioned for the instance. If the\n\t\t\tregistration fails, the instance will transition to a REGISTRATION_FAILED\n\t\t\tstatus. You can describe the container instance and see the reason for failure in the\n\t\t\t\tstatusReason parameter. Once the container instance is terminated, the\n\t\t\tinstance transitions to a DEREGISTERING status while the trunk elastic\n\t\t\tnetwork interface is deprovisioned. The instance then transitions to an\n\t\t\t\tINACTIVE status.

\n\t\t

The ACTIVE status indicates that the container instance can accept tasks.\n\t\t\tThe DRAINING indicates that new tasks aren't placed on the container\n\t\t\tinstance and any service tasks running on the container instance are removed if\n\t\t\tpossible. For more information, see Container instance draining in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The status of the container instance. The valid values are REGISTERING,\n\t\t\t\tREGISTRATION_FAILED, ACTIVE, INACTIVE,\n\t\t\t\tDEREGISTERING, or DRAINING.

\n

If your account has opted in to the awsvpcTrunking account setting, then\n\t\t\tany newly registered container instance will transition to a REGISTERING\n\t\t\tstatus while the trunk elastic network interface is provisioned for the instance. If the\n\t\t\tregistration fails, the instance will transition to a REGISTRATION_FAILED\n\t\t\tstatus. You can describe the container instance and see the reason for failure in the\n\t\t\t\tstatusReason parameter. Once the container instance is terminated, the\n\t\t\tinstance transitions to a DEREGISTERING status while the trunk elastic\n\t\t\tnetwork interface is deprovisioned. The instance then transitions to an\n\t\t\t\tINACTIVE status.

\n

The ACTIVE status indicates that the container instance can accept tasks.\n\t\t\tThe DRAINING indicates that new tasks aren't placed on the container\n\t\t\tinstance and any service tasks running on the container instance are removed if\n\t\t\tpossible. For more information, see Container instance draining in the\n\t\t\tAmazon Elastic Container Service Developer Guide.

" } }, "statusReason": { @@ -3645,7 +2537,7 @@ "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The metadata that you apply to the container instance to help you categorize and\n\t\t\torganize them. Each tag consists of a key and an optional value. You define both.

\n\t\t

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that you apply to the container instance to help you categorize and\n\t\t\torganize them. Each tag consists of a key and an optional value. You define both.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" } }, "healthStatus": { @@ -3893,7 +2785,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a new capacity provider. Capacity providers are associated with an Amazon ECS\n\t\t\tcluster and are used in capacity provider strategies to facilitate cluster auto\n\t\t\tscaling.

\n\t\t

Only capacity providers that use an Auto Scaling group can be created. Amazon ECS tasks on\n\t\t\tFargate use the FARGATE and FARGATE_SPOT capacity providers.\n\t\t\tThese providers are available to all accounts in the Amazon Web Services Regions that Fargate\n\t\t\tsupports.

" + "smithy.api#documentation": "

Creates a new capacity provider. Capacity providers are associated with an Amazon ECS\n\t\t\tcluster and are used in capacity provider strategies to facilitate cluster auto\n\t\t\tscaling.

\n

Only capacity providers that use an Auto Scaling group can be created. Amazon ECS tasks on\n\t\t\tFargate use the FARGATE and FARGATE_SPOT capacity providers.\n\t\t\tThese providers are available to all accounts in the Amazon Web Services Regions that Fargate\n\t\t\tsupports.

" } }, "com.amazonaws.ecs#CreateCapacityProviderRequest": { @@ -3916,7 +2808,7 @@ "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The metadata that you apply to the capacity provider to categorize and organize them\n\t\t\tmore conveniently. Each tag consists of a key and an optional value. You define both of\n\t\t\tthem.

\n\t\t

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that you apply to the capacity provider to categorize and organize them\n\t\t\tmore conveniently. Each tag consists of a key and an optional value. You define both of\n\t\t\tthem.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" } } } @@ -3952,7 +2844,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a new Amazon ECS cluster. By default, your account receives a default\n\t\t\tcluster when you launch your first container instance. However, you can create your own\n\t\t\tcluster with a unique name with the CreateCluster action.

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

When you call the CreateCluster API operation, Amazon ECS attempts to\n\t\t\t\tcreate the Amazon ECS service-linked role for your account. This is so that it can manage\n\t\t\t\trequired resources in other Amazon Web Services services on your behalf. However, if the IAM user\n\t\t\t\tthat makes the call doesn't have permissions to create the service-linked role, it\n\t\t\t\tisn't created. For more information, see Using\n\t\t\t\t\tservice-linked roles for Amazon ECS in the\n\t\t\t\t\tAmazon Elastic Container Service Developer Guide.

\n\t\t
" + "smithy.api#documentation": "

Creates a new Amazon ECS cluster. By default, your account receives a default\n\t\t\tcluster when you launch your first container instance. However, you can create your own\n\t\t\tcluster with a unique name with the CreateCluster action.

\n \n

When you call the CreateCluster API operation, Amazon ECS attempts to\n\t\t\t\tcreate the Amazon ECS service-linked role for your account. This is so that it can manage\n\t\t\t\trequired resources in other Amazon Web Services services on your behalf. However, if the IAM user\n\t\t\t\tthat makes the call doesn't have permissions to create the service-linked role, it\n\t\t\t\tisn't created. For more information, see Using\n\t\t\t\t\tservice-linked roles for Amazon ECS in the Amazon Elastic Container Service Developer Guide.

\n
" } }, "com.amazonaws.ecs#CreateClusterRequest": { @@ -3967,7 +2859,7 @@ "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The metadata that you apply to the cluster to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value. You define both.

\n\t\t

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that you apply to the cluster to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value. You define both.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" } }, "settings": { @@ -3985,13 +2877,19 @@ "capacityProviders": { "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

The short name of one or more capacity providers to associate with the cluster. A\n\t\t\tcapacity provider must be associated with a cluster before it can be included as part of\n\t\t\tthe default capacity provider strategy of the cluster or used in a capacity provider\n\t\t\tstrategy when calling the CreateService or RunTask\n\t\t\tactions.

\n\t\t

If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must be created but not associated with another cluster. New Auto Scaling group\n\t\t\tcapacity providers can be created with the CreateCapacityProvider API\n\t\t\toperation.

\n\t\t

To use a Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The Fargate capacity providers are\n\t\t\tavailable to all accounts and only need to be associated with a cluster to be\n\t\t\tused.

\n\t\t

The PutClusterCapacityProviders API operation is used to update the\n\t\t\tlist of available capacity providers for a cluster after the cluster is created.

" + "smithy.api#documentation": "

The short name of one or more capacity providers to associate with the cluster. A\n\t\t\tcapacity provider must be associated with a cluster before it can be included as part of\n\t\t\tthe default capacity provider strategy of the cluster or used in a capacity provider\n\t\t\tstrategy when calling the CreateService or RunTask\n\t\t\tactions.

\n

If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must be created but not associated with another cluster. New Auto Scaling group\n\t\t\tcapacity providers can be created with the CreateCapacityProvider API\n\t\t\toperation.

\n

To use a Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The Fargate capacity providers are\n\t\t\tavailable to all accounts and only need to be associated with a cluster to be\n\t\t\tused.

\n

The PutClusterCapacityProviders API operation is used to update the\n\t\t\tlist of available capacity providers for a cluster after the cluster is created.

" } }, "defaultCapacityProviderStrategy": { "target": "com.amazonaws.ecs#CapacityProviderStrategy", "traits": { - "smithy.api#documentation": "

The capacity provider strategy to set as the default for the cluster. After a default\n\t\t\tcapacity provider strategy is set for a cluster, when you call the RunTask or CreateService APIs with no capacity\n\t\t\tprovider strategy or launch type specified, the default capacity provider strategy for\n\t\t\tthe cluster is used.

\n\t\t

If a default capacity provider strategy isn't defined for a cluster when it was\n\t\t\tcreated, it can be defined later with the PutClusterCapacityProviders\n\t\t\tAPI operation.

" + "smithy.api#documentation": "

The capacity provider strategy to set as the default for the cluster. After a default\n\t\t\tcapacity provider strategy is set for a cluster, when you call the RunTask or CreateService APIs with no capacity\n\t\t\tprovider strategy or launch type specified, the default capacity provider strategy for\n\t\t\tthe cluster is used.

\n

If a default capacity provider strategy isn't defined for a cluster when it was\n\t\t\tcreated, it can be defined later with the PutClusterCapacityProviders\n\t\t\tAPI operation.

" + } + }, + "serviceConnectDefaults": { + "target": "com.amazonaws.ecs#ClusterServiceConnectDefaultsRequest", + "traits": { + "smithy.api#documentation": "

Use this parameter to set a default Service Connect namespace. After you set a default \n\tService Connect namespace, any new services with Service Connect turned on that are created in the cluster are added as\n\tclient services in the namespace. This setting only applies to new services that set the enabled parameter to\n\ttrue in the ServiceConnectConfiguration.\n\tYou can set the namespace of each service individually in the ServiceConnectConfiguration to override this default\n\tparameter.

\n

Tasks that run in a namespace can use short names to connect\n\tto services in the namespace. Tasks can connect to services across all of the clusters in the namespace.\n\tTasks connect through a managed proxy container\n\tthat collects logs and metrics for increased visibility.\n\tOnly the tasks that Amazon ECS services create are supported with Service Connect.\n\tFor more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

" } } } @@ -4028,6 +2926,9 @@ { "target": "com.amazonaws.ecs#InvalidParameterException" }, + { + "target": "com.amazonaws.ecs#NamespaceNotFoundException" + }, { "target": "com.amazonaws.ecs#PlatformTaskDefinitionIncompatibilityException" }, @@ -4042,7 +2943,7 @@ } ], "traits": { - "smithy.api#documentation": "

Runs and maintains your desired number of tasks from a specified task definition. If\n\t\t\tthe number of tasks running in a service drops below the desiredCount,\n\t\t\tAmazon ECS runs another copy of the task in the specified cluster. To update an existing\n\t\t\tservice, see the UpdateService action.

\n\t\t

In addition to maintaining the desired count of tasks in your service, you can\n\t\t\toptionally run your service behind one or more load balancers. The load balancers\n\t\t\tdistribute traffic across the tasks that are associated with the service. For more\n\t\t\tinformation, see Service load balancing in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

\n\t\t

Tasks for services that don't use a load balancer are considered healthy if they're in\n\t\t\tthe RUNNING state. Tasks for services that use a load balancer are\n\t\t\tconsidered healthy if they're in the RUNNING state and are reported as\n\t\t\thealthy by the load balancer.

\n\t\t

There are two service scheduler strategies available:

\n\t\t
    \n
  • \n\t\t\t\t

    \n REPLICA - The replica scheduling strategy places and\n\t\t\t\t\tmaintains your desired number of tasks across your cluster. By default, the\n\t\t\t\t\tservice scheduler spreads tasks across Availability Zones. You can use task\n\t\t\t\t\tplacement strategies and constraints to customize task placement decisions. For\n\t\t\t\t\tmore information, see Service scheduler concepts in the\n\t\t\t\t\t\tAmazon Elastic Container Service Developer Guide.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n DAEMON - The daemon scheduling strategy deploys exactly one\n\t\t\t\t\ttask on each active container instance that meets all of the task placement\n\t\t\t\t\tconstraints that you specify in your cluster. The service scheduler also\n\t\t\t\t\tevaluates the task placement constraints for running tasks. It also stops tasks\n\t\t\t\t\tthat don't meet the placement constraints. When using this strategy, you don't\n\t\t\t\t\tneed to specify a desired number of tasks, a task placement strategy, or use\n\t\t\t\t\tService Auto Scaling policies. For more information, see Service scheduler concepts in the\n\t\t\t\t\t\tAmazon Elastic Container Service Developer Guide.

    \n\t\t\t
  • \n
\n\t\t

You can optionally specify a deployment configuration for your service. The deployment\n\t\t\tis initiated by changing properties. For example, the deployment might be initiated by\n\t\t\tthe task definition or by your desired count of a service. This is done with an UpdateService operation. The default value for a replica service for\n\t\t\t\tminimumHealthyPercent is 100%. The default value for a daemon service\n\t\t\tfor minimumHealthyPercent is 0%.

\n\t\t

If a service uses the ECS deployment controller, the minimum healthy\n\t\t\tpercent represents a lower limit on the number of tasks in a service that must remain in\n\t\t\tthe RUNNING state during a deployment. Specifically, it represents it as a\n\t\t\tpercentage of your desired number of tasks (rounded up to the nearest integer). This\n\t\t\thappens when any of your container instances are in the DRAINING state if\n\t\t\tthe service contains tasks using the EC2 launch type. Using this\n\t\t\tparameter, you can deploy without using additional cluster capacity. For example, if you\n\t\t\tset your service to have desired number of four tasks and a minimum healthy percent of\n\t\t\t50%, the scheduler might stop two existing tasks to free up cluster capacity before\n\t\t\tstarting two new tasks. If they're in the RUNNING state, tasks for services\n\t\t\tthat don't use a load balancer are considered healthy . If they're in the\n\t\t\t\tRUNNING state and reported as healthy by the load balancer, tasks for\n\t\t\tservices that do use a load balancer are considered healthy . The\n\t\t\tdefault value for minimum healthy percent is 100%.

\n\t\t

If a service uses the ECS deployment controller, the maximum percent parameter represents an upper limit on the\n\t\t\tnumber of tasks in a service that are allowed in the RUNNING or\n\t\t\t\tPENDING state during a deployment. Specifically, it represents it as a\n\t\t\tpercentage of the desired number of tasks (rounded down to the nearest integer). This\n\t\t\thappens when any of your container instances are in the DRAINING state if\n\t\t\tthe service contains tasks using the EC2 launch type. Using this\n\t\t\tparameter, you can define the deployment batch size. For example, if your service has a\n\t\t\tdesired number of four tasks and a maximum percent value of 200%, the scheduler may\n\t\t\tstart four new tasks before stopping the four older tasks (provided that the cluster\n\t\t\tresources required to do this are available). The default value for maximum percent is\n\t\t\t200%.

\n\t\t

If a service uses either the CODE_DEPLOY or EXTERNAL\n\t\t\tdeployment controller types and tasks that use the EC2 launch type, the\n\t\t\t\tminimum healthy percent and maximum percent values are used only to define the lower and upper limit\n\t\t\ton the number of the tasks in the service that remain in the RUNNING state.\n\t\t\tThis is while the container instances are in the DRAINING state. If the\n\t\t\ttasks in the service use the Fargate launch type, the minimum healthy\n\t\t\tpercent and maximum percent values aren't used. This is the case even if they're\n\t\t\tcurrently visible when describing your service.

\n\t\t

When creating a service that uses the EXTERNAL deployment controller, you\n\t\t\tcan specify only parameters that aren't controlled at the task set level. The only\n\t\t\trequired parameter is the service name. You control your services using the CreateTaskSet operation. For more information, see Amazon ECS deployment types in the Amazon Elastic Container Service Developer Guide.

\n\t\t

When the service scheduler launches new tasks, it determines task placement. For information\n\t\t\tabout task placement and task placement strategies, see Amazon ECS task placement in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

Runs and maintains your desired number of tasks from a specified task definition. If\n\t\t\tthe number of tasks running in a service drops below the desiredCount,\n\t\t\tAmazon ECS runs another copy of the task in the specified cluster. To update an existing\n\t\t\tservice, see the UpdateService action.

\n

In addition to maintaining the desired count of tasks in your service, you can\n\t\t\toptionally run your service behind one or more load balancers. The load balancers\n\t\t\tdistribute traffic across the tasks that are associated with the service. For more\n\t\t\tinformation, see Service load balancing in the Amazon Elastic Container Service Developer Guide.

\n

Tasks for services that don't use a load balancer are considered healthy if they're in\n\t\t\tthe RUNNING state. Tasks for services that use a load balancer are\n\t\t\tconsidered healthy if they're in the RUNNING state and are reported as\n\t\t\thealthy by the load balancer.

\n

There are two service scheduler strategies available:

\n
    \n
  • \n

    \n REPLICA - The replica scheduling strategy places and\n\t\t\t\t\tmaintains your desired number of tasks across your cluster. By default, the\n\t\t\t\t\tservice scheduler spreads tasks across Availability Zones. You can use task\n\t\t\t\t\tplacement strategies and constraints to customize task placement decisions. For\n\t\t\t\t\tmore information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide.

    \n
  • \n
  • \n

    \n DAEMON - The daemon scheduling strategy deploys exactly one\n\t\t\t\t\ttask on each active container instance that meets all of the task placement\n\t\t\t\t\tconstraints that you specify in your cluster. The service scheduler also\n\t\t\t\t\tevaluates the task placement constraints for running tasks. It also stops tasks\n\t\t\t\t\tthat don't meet the placement constraints. When using this strategy, you don't\n\t\t\t\t\tneed to specify a desired number of tasks, a task placement strategy, or use\n\t\t\t\t\tService Auto Scaling policies. For more information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide.

    \n
  • \n
\n

You can optionally specify a deployment configuration for your service. The deployment\n\t\t\tis initiated by changing properties. For example, the deployment might be initiated by\n\t\t\tthe task definition or by your desired count of a service. This is done with an UpdateService operation. The default value for a replica service for\n\t\t\t\tminimumHealthyPercent is 100%. The default value for a daemon service\n\t\t\tfor minimumHealthyPercent is 0%.

\n

If a service uses the ECS deployment controller, the minimum healthy\n\t\t\tpercent represents a lower limit on the number of tasks in a service that must remain in\n\t\t\tthe RUNNING state during a deployment. Specifically, it represents it as a\n\t\t\tpercentage of your desired number of tasks (rounded up to the nearest integer). This\n\t\t\thappens when any of your container instances are in the DRAINING state if\n\t\t\tthe service contains tasks using the EC2 launch type. Using this\n\t\t\tparameter, you can deploy without using additional cluster capacity. For example, if you\n\t\t\tset your service to have desired number of four tasks and a minimum healthy percent of\n\t\t\t50%, the scheduler might stop two existing tasks to free up cluster capacity before\n\t\t\tstarting two new tasks. If they're in the RUNNING state, tasks for services\n\t\t\tthat don't use a load balancer are considered healthy . If they're in the\n\t\t\t\tRUNNING state and reported as healthy by the load balancer, tasks for\n\t\t\tservices that do use a load balancer are considered healthy . The\n\t\t\tdefault value for minimum healthy percent is 100%.

\n

If a service uses the ECS deployment controller, the maximum percent parameter represents an upper limit on the\n\t\t\tnumber of tasks in a service that are allowed in the RUNNING or\n\t\t\t\tPENDING state during a deployment. Specifically, it represents it as a\n\t\t\tpercentage of the desired number of tasks (rounded down to the nearest integer). This\n\t\t\thappens when any of your container instances are in the DRAINING state if\n\t\t\tthe service contains tasks using the EC2 launch type. Using this\n\t\t\tparameter, you can define the deployment batch size. For example, if your service has a\n\t\t\tdesired number of four tasks and a maximum percent value of 200%, the scheduler may\n\t\t\tstart four new tasks before stopping the four older tasks (provided that the cluster\n\t\t\tresources required to do this are available). The default value for maximum percent is\n\t\t\t200%.

\n

If a service uses either the CODE_DEPLOY or EXTERNAL\n\t\t\tdeployment controller types and tasks that use the EC2 launch type, the\n\t\t\t\tminimum healthy percent and maximum percent values are used only to define the lower and upper limit\n\t\t\ton the number of the tasks in the service that remain in the RUNNING state.\n\t\t\tThis is while the container instances are in the DRAINING state. If the\n\t\t\ttasks in the service use the Fargate launch type, the minimum healthy\n\t\t\tpercent and maximum percent values aren't used. This is the case even if they're\n\t\t\tcurrently visible when describing your service.

\n

When creating a service that uses the EXTERNAL deployment controller, you\n\t\t\tcan specify only parameters that aren't controlled at the task set level. The only\n\t\t\trequired parameter is the service name. You control your services using the CreateTaskSet operation. For more information, see Amazon ECS deployment types in the Amazon Elastic Container Service Developer Guide.

\n

When the service scheduler launches new tasks, it determines task placement. For\n\t\t\tinformation about task placement and task placement strategies, see Amazon ECS\n\t\t\t\ttask placement in the Amazon Elastic Container Service Developer Guide.

" } }, "com.amazonaws.ecs#CreateServiceRequest": { @@ -4064,25 +2965,25 @@ "taskDefinition": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The family and revision (family:revision) or\n\t\t\tfull ARN of the task definition to run in your service. If a revision\n\t\t\tisn't specified, the latest ACTIVE revision is used.

\n\t\t

A task definition must be specified if the service uses either the ECS or\n\t\t\t\tCODE_DEPLOY deployment controllers.

" + "smithy.api#documentation": "

The family and revision (family:revision) or\n\t\t\tfull ARN of the task definition to run in your service. If a revision\n\t\t\tisn't specified, the latest ACTIVE revision is used.

\n

A task definition must be specified if the service uses either the ECS or\n\t\t\t\tCODE_DEPLOY deployment controllers.

" } }, "loadBalancers": { "target": "com.amazonaws.ecs#LoadBalancers", "traits": { - "smithy.api#documentation": "

A load balancer object representing the load balancers to use with your service. For\n\t\t\tmore information, see Service load balancing in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

\n\t\t

If the service uses the rolling update (ECS) deployment controller and\n\t\t\tusing either an Application Load Balancer or Network Load Balancer, you must specify one or more target group ARNs to attach\n\t\t\tto the service. The service-linked role is required for services that use multiple\n\t\t\ttarget groups. For more information, see Using service-linked roles for Amazon ECS in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

\n\t\t

If the service uses the CODE_DEPLOY deployment controller, the service is\n\t\t\trequired to use either an Application Load Balancer or Network Load Balancer. When creating an CodeDeploy deployment group, you\n\t\t\tspecify two target groups (referred to as a targetGroupPair). During a\n\t\t\tdeployment, CodeDeploy determines which task set in your service has the status\n\t\t\t\tPRIMARY, and it associates one target group with it. Then, it also\n\t\t\tassociates the other target group with the replacement task set. The load balancer can\n\t\t\talso have up to two listeners: a required listener for production traffic and an\n\t\t\toptional listener that you can use to perform validation tests with Lambda functions\n\t\t\tbefore routing production traffic to it.

\n\t\t

If you use the CODE_DEPLOY deployment controller, these values can be\n\t\t\tchanged when updating the service.

\n\t\t

For Application Load Balancers and Network Load Balancers, this object must contain the load balancer target group ARN,\n\t\t\tthe container name, and the container port to access from the load balancer. The\n\t\t\tcontainer name must be as it appears in a container definition. The load balancer name\n\t\t\tparameter must be omitted. When a task from this service is placed on a container\n\t\t\tinstance, the container instance and port combination is registered as a target in the\n\t\t\ttarget group that's specified here.

\n\t\t

For Classic Load Balancers, this object must contain the load balancer name, the container name , and\n\t\t\tthe container port to access from the load balancer. The container name must be as it\n\t\t\tappears in a container definition. The target group ARN parameter must be omitted.\n\t\t\tWhen a task from this service is placed on a container instance, the container instance\n\t\t\tis registered with the load balancer that's specified here.

\n\t\t

Services with tasks that use the awsvpc network mode (for example, those\n\t\t\twith the Fargate launch type) only support Application Load Balancers and Network Load Balancers. Classic Load Balancers\n\t\t\taren't supported. Also, when you create any target groups for these services, you must\n\t\t\tchoose ip as the target type, not instance. This is because\n\t\t\ttasks that use the awsvpc network mode are associated with an elastic\n\t\t\tnetwork interface, not an Amazon EC2 instance.

" + "smithy.api#documentation": "

A load balancer object representing the load balancers to use with your service. For\n\t\t\tmore information, see Service load balancing in the Amazon Elastic Container Service Developer Guide.

\n

If the service uses the rolling update (ECS) deployment controller and\n\t\t\tusing either an Application Load Balancer or Network Load Balancer, you must specify one or more target group ARNs to attach\n\t\t\tto the service. The service-linked role is required for services that use multiple\n\t\t\ttarget groups. For more information, see Using service-linked roles for Amazon ECS in the\n\t\t\tAmazon Elastic Container Service Developer Guide.

\n

If the service uses the CODE_DEPLOY deployment controller, the service is\n\t\t\trequired to use either an Application Load Balancer or Network Load Balancer. When creating an CodeDeploy deployment group, you\n\t\t\tspecify two target groups (referred to as a targetGroupPair). During a\n\t\t\tdeployment, CodeDeploy determines which task set in your service has the status\n\t\t\t\tPRIMARY, and it associates one target group with it. Then, it also\n\t\t\tassociates the other target group with the replacement task set. The load balancer can\n\t\t\talso have up to two listeners: a required listener for production traffic and an\n\t\t\toptional listener that you can use to perform validation tests with Lambda functions\n\t\t\tbefore routing production traffic to it.

\n

If you use the CODE_DEPLOY deployment controller, these values can be\n\t\t\tchanged when updating the service.

\n

For Application Load Balancers and Network Load Balancers, this object must contain the load balancer target group ARN,\n\t\t\tthe container name, and the container port to access from the load balancer. The\n\t\t\tcontainer name must be as it appears in a container definition. The load balancer name\n\t\t\tparameter must be omitted. When a task from this service is placed on a container\n\t\t\tinstance, the container instance and port combination is registered as a target in the\n\t\t\ttarget group that's specified here.

\n

For Classic Load Balancers, this object must contain the load balancer name, the container name , and\n\t\t\tthe container port to access from the load balancer. The container name must be as it\n\t\t\tappears in a container definition. The target group ARN parameter must be omitted.\n\t\t\tWhen a task from this service is placed on a container instance, the container instance\n\t\t\tis registered with the load balancer that's specified here.

\n

Services with tasks that use the awsvpc network mode (for example, those\n\t\t\twith the Fargate launch type) only support Application Load Balancers and Network Load Balancers. Classic Load Balancers\n\t\t\taren't supported. Also, when you create any target groups for these services, you must\n\t\t\tchoose ip as the target type, not instance. This is because\n\t\t\ttasks that use the awsvpc network mode are associated with an elastic\n\t\t\tnetwork interface, not an Amazon EC2 instance.

" } }, "serviceRegistries": { "target": "com.amazonaws.ecs#ServiceRegistries", "traits": { - "smithy.api#documentation": "

The details of the service discovery registry to associate with this service. For more\n\t\t\tinformation, see Service\n\t\t\t\tdiscovery.

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

Each service may be associated with one service registry. Multiple service\n\t\t\t\tregistries for each service isn't supported.

\n\t\t
" + "smithy.api#documentation": "

The details of the service discovery registry to associate with this service. For more\n\t\t\tinformation, see Service\n\t\t\t\tdiscovery.

\n \n

Each service may be associated with one service registry. Multiple service\n\t\t\t\tregistries for each service isn't supported.

\n
" } }, "desiredCount": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The number of instantiations of the specified task definition to place and keep\n\t\t\trunning on your cluster.

\n\t\t

This is required if schedulingStrategy is REPLICA or isn't\n\t\t\tspecified. If schedulingStrategy is DAEMON then this isn't\n\t\t\trequired.

" + "smithy.api#documentation": "

The number of instantiations of the specified task definition to place and keep\n\t\t\trunning on your cluster.

\n

This is required if schedulingStrategy is REPLICA or isn't\n\t\t\tspecified. If schedulingStrategy is DAEMON then this isn't\n\t\t\trequired.

" } }, "clientToken": { @@ -4094,13 +2995,13 @@ "launchType": { "target": "com.amazonaws.ecs#LaunchType", "traits": { - "smithy.api#documentation": "

The infrastructure that you run your service on. For more information, see Amazon ECS\n\t\t\t\tlaunch types in the Amazon Elastic Container Service Developer Guide.

\n\t\t

The FARGATE launch type runs your tasks on Fargate On-Demand\n\t\t\tinfrastructure.

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

Fargate Spot infrastructure is available for use but a capacity provider\n\t\t\t\tstrategy must be used. For more information, see Fargate capacity providers in the\n\t\t\t\t\tAmazon ECS User Guide for Fargate.

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

The EC2 launch type runs your tasks on Amazon EC2 instances registered to your\n\t\t\tcluster.

\n\t\t

The EXTERNAL launch type runs your tasks on your on-premises server or\n\t\t\tvirtual machine (VM) capacity registered to your cluster.

\n\t\t

A service can use either a launch type or a capacity provider strategy. If a\n\t\t\t\tlaunchType is specified, the capacityProviderStrategy\n\t\t\tparameter must be omitted.

" + "smithy.api#documentation": "

The infrastructure that you run your service on. For more information, see Amazon ECS\n\t\t\t\tlaunch types in the Amazon Elastic Container Service Developer Guide.

\n

The FARGATE launch type runs your tasks on Fargate On-Demand\n\t\t\tinfrastructure.

\n \n

Fargate Spot infrastructure is available for use but a capacity provider\n\t\t\t\tstrategy must be used. For more information, see Fargate capacity providers in the\n\t\t\t\t\tAmazon ECS User Guide for Fargate.

\n
\n

The EC2 launch type runs your tasks on Amazon EC2 instances registered to your\n\t\t\tcluster.

\n

The EXTERNAL launch type runs your tasks on your on-premises server or\n\t\t\tvirtual machine (VM) capacity registered to your cluster.

\n

A service can use either a launch type or a capacity provider strategy. If a\n\t\t\t\tlaunchType is specified, the capacityProviderStrategy\n\t\t\tparameter must be omitted.

" } }, "capacityProviderStrategy": { "target": "com.amazonaws.ecs#CapacityProviderStrategy", "traits": { - "smithy.api#documentation": "

The capacity provider strategy to use for the service.

\n\t\t

If a capacityProviderStrategy is specified, the launchType\n\t\t\tparameter must be omitted. If no capacityProviderStrategy or\n\t\t\t\tlaunchType is specified, the\n\t\t\t\tdefaultCapacityProviderStrategy for the cluster is used.

\n\t\t

A capacity provider strategy may contain a maximum of 6 capacity providers.

" + "smithy.api#documentation": "

The capacity provider strategy to use for the service.

\n

If a capacityProviderStrategy is specified, the launchType\n\t\t\tparameter must be omitted. If no capacityProviderStrategy or\n\t\t\t\tlaunchType is specified, the\n\t\t\t\tdefaultCapacityProviderStrategy for the cluster is used.

\n

A capacity provider strategy may contain a maximum of 6 capacity providers.

" } }, "platformVersion": { @@ -4112,7 +3013,7 @@ "role": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to make calls to your\n\t\t\tload balancer on your behalf. This parameter is only permitted if you are using a load\n\t\t\tbalancer with your service and your task definition doesn't use the awsvpc\n\t\t\tnetwork mode. If you specify the role parameter, you must also specify a\n\t\t\tload balancer object with the loadBalancers parameter.

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

If your account has already created the Amazon ECS service-linked role, that role is\n\t\t\t\tused for your service unless you specify a role here. The service-linked role is\n\t\t\t\trequired if your task definition uses the awsvpc network mode or if the\n\t\t\t\tservice is configured to use service discovery, an external deployment controller,\n\t\t\t\tmultiple target groups, or Elastic Inference accelerators in which case you don't\n\t\t\t\tspecify a role here. For more information, see Using\n\t\t\t\t\tservice-linked roles for Amazon ECS in the\n\t\t\t\t\tAmazon Elastic Container Service Developer Guide.

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

If your specified role has a path other than /, then you must either\n\t\t\tspecify the full role ARN (this is recommended) or prefix the role name with the path.\n\t\t\tFor example, if a role with the name bar has a path of /foo/\n\t\t\tthen you would specify /foo/bar as the role name. For more information, see\n\t\t\t\tFriendly names and paths in the IAM User Guide.

" + "smithy.api#documentation": "

The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to make calls to your\n\t\t\tload balancer on your behalf. This parameter is only permitted if you are using a load\n\t\t\tbalancer with your service and your task definition doesn't use the awsvpc\n\t\t\tnetwork mode. If you specify the role parameter, you must also specify a\n\t\t\tload balancer object with the loadBalancers parameter.

\n \n

If your account has already created the Amazon ECS service-linked role, that role is\n\t\t\t\tused for your service unless you specify a role here. The service-linked role is\n\t\t\t\trequired if your task definition uses the awsvpc network mode or if the\n\t\t\t\tservice is configured to use service discovery, an external deployment controller,\n\t\t\t\tmultiple target groups, or Elastic Inference accelerators in which case you don't\n\t\t\t\tspecify a role here. For more information, see Using\n\t\t\t\t\tservice-linked roles for Amazon ECS in the Amazon Elastic Container Service Developer Guide.

\n
\n

If your specified role has a path other than /, then you must either\n\t\t\tspecify the full role ARN (this is recommended) or prefix the role name with the path.\n\t\t\tFor example, if a role with the name bar has a path of /foo/\n\t\t\tthen you would specify /foo/bar as the role name. For more information, see\n\t\t\t\tFriendly names and paths in the IAM User Guide.

" } }, "deploymentConfiguration": { @@ -4142,13 +3043,13 @@ "healthCheckGracePeriodSeconds": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy\n\t\t\tElastic Load Balancing target health checks after a task has first started. This is only used when your\n\t\t\tservice is configured to use a load balancer. If your service has a load balancer\n\t\t\tdefined and you don't specify a health check grace period value, the default value of\n\t\t\t\t0 is used.

\n\t\t

If you do not use an Elastic Load Balancing, we recomend that you use the startPeriod in\n\t\t\tthe task definition healtch check parameters. For more information, see Health\n\t\t\t\tcheck.

\n\t\t

If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you\n\t\t\tcan specify a health check grace period of up to\n\t\t\t2,147,483,647\n\t\t\tseconds (about 69 years). During that time, the Amazon ECS service\n\t\t\tscheduler ignores health check status. This grace period can prevent the service\n\t\t\tscheduler from marking tasks as unhealthy and stopping them before they have time to\n\t\t\tcome up.

" + "smithy.api#documentation": "

The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy\n\t\t\tElastic Load Balancing target health checks after a task has first started. This is only used when your\n\t\t\tservice is configured to use a load balancer. If your service has a load balancer\n\t\t\tdefined and you don't specify a health check grace period value, the default value of\n\t\t\t\t0 is used.

\n

If you do not use an Elastic Load Balancing, we recommend that you use the startPeriod in\n\t\t\tthe task definition health check parameters. For more information, see Health\n\t\t\t\tcheck.

\n

If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you\n\t\t\tcan specify a health check grace period of up to\n\t\t\t2,147,483,647\n\t\t\tseconds (about 69 years). During that time, the Amazon ECS service\n\t\t\tscheduler ignores health check status. This grace period can prevent the service\n\t\t\tscheduler from marking tasks as unhealthy and stopping them before they have time to\n\t\t\tcome up.

" } }, "schedulingStrategy": { "target": "com.amazonaws.ecs#SchedulingStrategy", "traits": { - "smithy.api#documentation": "

The scheduling strategy to use for the service. For more information, see Services.

\n\t\t

There are two service scheduler strategies available:

\n\t\t
    \n
  • \n\t\t\t\t

    \n REPLICA-The replica scheduling strategy places and\n\t\t\t\t\tmaintains the desired number of tasks across your cluster. By default, the\n\t\t\t\t\tservice scheduler spreads tasks across Availability Zones. You can use task\n\t\t\t\t\tplacement strategies and constraints to customize task placement decisions. This\n\t\t\t\t\tscheduler strategy is required if the service uses the CODE_DEPLOY\n\t\t\t\t\tor EXTERNAL deployment controller types.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n DAEMON-The daemon scheduling strategy deploys exactly one\n\t\t\t\t\ttask on each active container instance that meets all of the task placement\n\t\t\t\t\tconstraints that you specify in your cluster. The service scheduler also\n\t\t\t\t\tevaluates the task placement constraints for running tasks and will stop tasks\n\t\t\t\t\tthat don't meet the placement constraints. When you're using this strategy, you\n\t\t\t\t\tdon't need to specify a desired number of tasks, a task placement strategy, or\n\t\t\t\t\tuse Service Auto Scaling policies.

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

    Tasks using the Fargate launch type or the\n\t\t\t\t\t\t\tCODE_DEPLOY or EXTERNAL deployment controller\n\t\t\t\t\t\ttypes don't support the DAEMON scheduling strategy.

    \n\t\t\t\t
    \n\t\t\t
  • \n
" + "smithy.api#documentation": "

The scheduling strategy to use for the service. For more information, see Services.

\n

There are two service scheduler strategies available:

\n
    \n
  • \n

    \n REPLICA-The replica scheduling strategy places and\n\t\t\t\t\tmaintains the desired number of tasks across your cluster. By default, the\n\t\t\t\t\tservice scheduler spreads tasks across Availability Zones. You can use task\n\t\t\t\t\tplacement strategies and constraints to customize task placement decisions. This\n\t\t\t\t\tscheduler strategy is required if the service uses the CODE_DEPLOY\n\t\t\t\t\tor EXTERNAL deployment controller types.

    \n
  • \n
  • \n

    \n DAEMON-The daemon scheduling strategy deploys exactly one\n\t\t\t\t\ttask on each active container instance that meets all of the task placement\n\t\t\t\t\tconstraints that you specify in your cluster. The service scheduler also\n\t\t\t\t\tevaluates the task placement constraints for running tasks and will stop tasks\n\t\t\t\t\tthat don't meet the placement constraints. When you're using this strategy, you\n\t\t\t\t\tdon't need to specify a desired number of tasks, a task placement strategy, or\n\t\t\t\t\tuse Service Auto Scaling policies.

    \n \n

    Tasks using the Fargate launch type or the\n\t\t\t\t\t\t\tCODE_DEPLOY or EXTERNAL deployment controller\n\t\t\t\t\t\ttypes don't support the DAEMON scheduling strategy.

    \n
    \n
  • \n
" } }, "deploymentController": { @@ -4160,7 +3061,7 @@ "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The metadata that you apply to the service to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value, both of which you define. When a\n\t\t\tservice is deleted, the tags are deleted as well.

\n\t\t

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that you apply to the service to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value, both of which you define. When a\n\t\t\tservice is deleted, the tags are deleted as well.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" } }, "enableECSManagedTags": { @@ -4182,6 +3083,12 @@ "smithy.api#default": false, "smithy.api#documentation": "

Determines whether the execute command functionality is enabled for the service. If\n\t\t\t\ttrue, this enables execute command functionality on all containers in\n\t\t\tthe service tasks.

" } + }, + "serviceConnectConfiguration": { + "target": "com.amazonaws.ecs#ServiceConnectConfiguration", + "traits": { + "smithy.api#documentation": "

The configuration for this service to discover and connect to\n\tservices, and be discovered by, and connected from, other services within a namespace.

\n

Tasks that run in a namespace can use short names to connect\n\tto services in the namespace. Tasks can connect to services across all of the clusters in the namespace.\n\tTasks connect through a managed proxy container\n\tthat collects logs and metrics for increased visibility.\n\tOnly the tasks that Amazon ECS services create are supported with Service Connect.\n\tFor more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

" + } } } }, @@ -4191,7 +3098,7 @@ "service": { "target": "com.amazonaws.ecs#Service", "traits": { - "smithy.api#documentation": "

The full description of your service following the create call.

\n\t\t

A service will return either a capacityProviderStrategy or\n\t\t\t\tlaunchType parameter, but not both, depending where one was specified\n\t\t\twhen it was created.

\n\t\t

If a service is using the ECS deployment controller, the\n\t\t\t\tdeploymentController and taskSets parameters will not be\n\t\t\treturned.

\n\t\t

if the service uses the CODE_DEPLOY deployment controller, the\n\t\t\t\tdeploymentController, taskSets and\n\t\t\t\tdeployments parameters will be returned, however the\n\t\t\t\tdeployments parameter will be an empty list.

" + "smithy.api#documentation": "

The full description of your service following the create call.

\n

A service will return either a capacityProviderStrategy or\n\t\t\t\tlaunchType parameter, but not both, depending where one was specified\n\t\t\twhen it was created.

\n

If a service is using the ECS deployment controller, the\n\t\t\t\tdeploymentController and taskSets parameters will not be\n\t\t\treturned.

\n

if the service uses the CODE_DEPLOY deployment controller, the\n\t\t\t\tdeploymentController, taskSets and\n\t\t\t\tdeployments parameters will be returned, however the\n\t\t\t\tdeployments parameter will be an empty list.

" } } } @@ -4217,6 +3124,9 @@ { "target": "com.amazonaws.ecs#InvalidParameterException" }, + { + "target": "com.amazonaws.ecs#NamespaceNotFoundException" + }, { "target": "com.amazonaws.ecs#PlatformTaskDefinitionIncompatibilityException" }, @@ -4291,13 +3201,13 @@ "launchType": { "target": "com.amazonaws.ecs#LaunchType", "traits": { - "smithy.api#documentation": "

The launch type that new tasks in the task set uses. For more information, see Amazon ECS\n\t\t\t\tlaunch types in the Amazon Elastic Container Service Developer Guide.

\n\t\t

If a launchType is specified, the capacityProviderStrategy\n\t\t\tparameter must be omitted.

" + "smithy.api#documentation": "

The launch type that new tasks in the task set uses. For more information, see Amazon ECS\n\t\t\t\tlaunch types in the Amazon Elastic Container Service Developer Guide.

\n

If a launchType is specified, the capacityProviderStrategy\n\t\t\tparameter must be omitted.

" } }, "capacityProviderStrategy": { "target": "com.amazonaws.ecs#CapacityProviderStrategy", "traits": { - "smithy.api#documentation": "

The capacity provider strategy to use for the task set.

\n\t\t

A capacity provider strategy consists of one or more capacity providers along with the\n\t\t\t\tbase and weight to assign to them. A capacity provider\n\t\t\tmust be associated with the cluster to be used in a capacity provider strategy. The\n\t\t\t\tPutClusterCapacityProviders API is used to associate a capacity\n\t\t\tprovider with a cluster. Only capacity providers with an ACTIVE or\n\t\t\t\tUPDATING status can be used.

\n\t\t

If a capacityProviderStrategy is specified, the launchType\n\t\t\tparameter must be omitted. If no capacityProviderStrategy or\n\t\t\t\tlaunchType is specified, the\n\t\t\t\tdefaultCapacityProviderStrategy for the cluster is used.

\n\t\t

If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

\n\t\t

To use a Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The Fargate capacity providers are\n\t\t\tavailable to all accounts and only need to be associated with a cluster to be\n\t\t\tused.

\n\t\t

The PutClusterCapacityProviders API operation is used to update the\n\t\t\tlist of available capacity providers for a cluster after the cluster is created.

" + "smithy.api#documentation": "

The capacity provider strategy to use for the task set.

\n

A capacity provider strategy consists of one or more capacity providers along with the\n\t\t\t\tbase and weight to assign to them. A capacity provider\n\t\t\tmust be associated with the cluster to be used in a capacity provider strategy. The\n\t\t\t\tPutClusterCapacityProviders API is used to associate a capacity\n\t\t\tprovider with a cluster. Only capacity providers with an ACTIVE or\n\t\t\t\tUPDATING status can be used.

\n

If a capacityProviderStrategy is specified, the launchType\n\t\t\tparameter must be omitted. If no capacityProviderStrategy or\n\t\t\t\tlaunchType is specified, the\n\t\t\t\tdefaultCapacityProviderStrategy for the cluster is used.

\n

If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

\n

To use a Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The Fargate capacity providers are\n\t\t\tavailable to all accounts and only need to be associated with a cluster to be\n\t\t\tused.

\n

The PutClusterCapacityProviders API operation is used to update the\n\t\t\tlist of available capacity providers for a cluster after the cluster is created.

" } }, "platformVersion": { @@ -4321,7 +3231,7 @@ "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The metadata that you apply to the task set to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value. You define both. When a service is\n\t\t\tdeleted, the tags are deleted.

\n\t\t

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that you apply to the task set to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value. You define both. When a service is\n\t\t\tdeleted, the tags are deleted.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" } } } @@ -4461,7 +3371,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes the specified capacity provider.

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

The FARGATE and FARGATE_SPOT capacity providers are\n\t\t\t\treserved and can't be deleted. You can disassociate them from a cluster using either\n\t\t\t\tthe PutClusterCapacityProviders API or by deleting the\n\t\t\t\tcluster.

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

Prior to a capacity provider being deleted, the capacity provider must be removed from\n\t\t\tthe capacity provider strategy from all services. The UpdateService\n\t\t\tAPI can be used to remove a capacity provider from a service's capacity provider\n\t\t\tstrategy. When updating a service, the forceNewDeployment option can be\n\t\t\tused to ensure that any tasks using the Amazon EC2 instance capacity provided by the capacity\n\t\t\tprovider are transitioned to use the capacity from the remaining capacity providers.\n\t\t\tOnly capacity providers that aren't associated with a cluster can be deleted. To remove\n\t\t\ta capacity provider from a cluster, you can either use PutClusterCapacityProviders or delete the cluster.

" + "smithy.api#documentation": "

Deletes the specified capacity provider.

\n \n

The FARGATE and FARGATE_SPOT capacity providers are\n\t\t\t\treserved and can't be deleted. You can disassociate them from a cluster using either\n\t\t\t\tthe PutClusterCapacityProviders API or by deleting the\n\t\t\t\tcluster.

\n
\n

Prior to a capacity provider being deleted, the capacity provider must be removed from\n\t\t\tthe capacity provider strategy from all services. The UpdateService\n\t\t\tAPI can be used to remove a capacity provider from a service's capacity provider\n\t\t\tstrategy. When updating a service, the forceNewDeployment option can be\n\t\t\tused to ensure that any tasks using the Amazon EC2 instance capacity provided by the capacity\n\t\t\tprovider are transitioned to use the capacity from the remaining capacity providers.\n\t\t\tOnly capacity providers that aren't associated with a cluster can be deleted. To remove\n\t\t\ta capacity provider from a cluster, you can either use PutClusterCapacityProviders or delete the cluster.

" } }, "com.amazonaws.ecs#DeleteCapacityProviderRequest": { @@ -4522,7 +3432,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes the specified cluster. The cluster transitions to the INACTIVE\n\t\t\tstate. Clusters with an INACTIVE status might remain discoverable in your\n\t\t\taccount for a period of time. However, this behavior is subject to change in the future.\n\t\t\tWe don't recommend that you rely on INACTIVE clusters persisting.

\n\t\t

You must deregister all container instances from this cluster before you may delete\n\t\t\tit. You can list the container instances in a cluster with ListContainerInstances and deregister them with DeregisterContainerInstance.

" + "smithy.api#documentation": "

Deletes the specified cluster. The cluster transitions to the INACTIVE\n\t\t\tstate. Clusters with an INACTIVE status might remain discoverable in your\n\t\t\taccount for a period of time. However, this behavior is subject to change in the future.\n\t\t\tWe don't recommend that you rely on INACTIVE clusters persisting.

\n

You must deregister all container instances from this cluster before you may delete\n\t\t\tit. You can list the container instances in a cluster with ListContainerInstances and deregister them with DeregisterContainerInstance.

" } }, "com.amazonaws.ecs#DeleteClusterRequest": { @@ -4574,7 +3484,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a specified service within a cluster. You can delete a service if you have no\n\t\t\trunning tasks in it and the desired task count is zero. If the service is actively\n\t\t\tmaintaining tasks, you can't delete it, and you must update the service to a desired\n\t\t\ttask count of zero. For more information, see UpdateService.

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

When you delete a service, if there are still running tasks that require cleanup,\n\t\t\t\tthe service status moves from ACTIVE to DRAINING, and the\n\t\t\t\tservice is no longer visible in the console or in the ListServices\n\t\t\t\tAPI operation. After all tasks have transitioned to either STOPPING or\n\t\t\t\t\tSTOPPED status, the service status moves from DRAINING\n\t\t\t\tto INACTIVE. Services in the DRAINING or\n\t\t\t\t\tINACTIVE status can still be viewed with the DescribeServices API operation. However, in the future,\n\t\t\t\t\tINACTIVE services may be cleaned up and purged from Amazon ECS record\n\t\t\t\tkeeping, and DescribeServices calls on those services return a\n\t\t\t\t\tServiceNotFoundException error.

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

If you attempt to create a new service with the same name as an existing service\n\t\t\t\tin either ACTIVE or DRAINING status, you receive an\n\t\t\t\terror.

\n\t\t
" + "smithy.api#documentation": "

Deletes a specified service within a cluster. You can delete a service if you have no\n\t\t\trunning tasks in it and the desired task count is zero. If the service is actively\n\t\t\tmaintaining tasks, you can't delete it, and you must update the service to a desired\n\t\t\ttask count of zero. For more information, see UpdateService.

\n \n

When you delete a service, if there are still running tasks that require cleanup,\n\t\t\t\tthe service status moves from ACTIVE to DRAINING, and the\n\t\t\t\tservice is no longer visible in the console or in the ListServices\n\t\t\t\tAPI operation. After all tasks have transitioned to either STOPPING or\n\t\t\t\t\tSTOPPED status, the service status moves from DRAINING\n\t\t\t\tto INACTIVE. Services in the DRAINING or\n\t\t\t\t\tINACTIVE status can still be viewed with the DescribeServices API operation. However, in the future,\n\t\t\t\t\tINACTIVE services may be cleaned up and purged from Amazon ECS record\n\t\t\t\tkeeping, and DescribeServices calls on those services return a\n\t\t\t\t\tServiceNotFoundException error.

\n
\n \n

If you attempt to create a new service with the same name as an existing service\n\t\t\t\tin either ACTIVE or DRAINING status, you receive an\n\t\t\t\terror.

\n
" } }, "com.amazonaws.ecs#DeleteServiceRequest": { @@ -4708,7 +3618,7 @@ "status": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The status of the deployment. The following describes each state.

\n\t\t
\n
PRIMARY
\n
\n\t\t\t\t\t

The most recent deployment of a service.

\n\t\t\t\t
\n
ACTIVE
\n
\n\t\t\t\t\t

A service deployment that still has running tasks, but are in the process\n\t\t\t\t\t\tof being replaced with a new PRIMARY deployment.

\n\t\t\t\t
\n
INACTIVE
\n
\n\t\t\t\t\t

A deployment that has been completely replaced.

\n\t\t\t\t
\n
" + "smithy.api#documentation": "

The status of the deployment. The following describes each state.

\n
\n
PRIMARY
\n
\n

The most recent deployment of a service.

\n
\n
ACTIVE
\n
\n

A service deployment that still has running tasks, but are in the process\n\t\t\t\t\t\tof being replaced with a new PRIMARY deployment.

\n
\n
INACTIVE
\n
\n

A deployment that has been completely replaced.

\n
\n
" } }, "taskDefinition": { @@ -4742,7 +3652,7 @@ "target": "com.amazonaws.ecs#Integer", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

The number of consecutively failed tasks in the deployment. A task is considered a\n\t\t\tfailure if the service scheduler can't launch the task, the task doesn't transition to a\n\t\t\t\tRUNNING state, or if it fails any of its defined health checks and is\n\t\t\tstopped.

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

Once a service deployment has one or more successfully running tasks, the failed\n\t\t\t\ttask count resets to zero and stops being evaluated.

\n\t\t
" + "smithy.api#documentation": "

The number of consecutively failed tasks in the deployment. A task is considered a\n\t\t\tfailure if the service scheduler can't launch the task, the task doesn't transition to a\n\t\t\t\tRUNNING state, or if it fails any of its defined health checks and is\n\t\t\tstopped.

\n \n

Once a service deployment has one or more successfully running tasks, the failed\n\t\t\t\ttask count resets to zero and stops being evaluated.

\n
" } }, "createdAt": { @@ -4772,13 +3682,13 @@ "platformVersion": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The platform version that your tasks in the service run on. A platform version is only\n\t\t\tspecified for tasks using the Fargate launch type. If one isn't specified,\n\t\t\tthe LATEST platform version is used. For more information, see Fargate Platform Versions in the\n\t\t\tAmazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The platform version that your tasks in the service run on. A platform version is only\n\t\t\tspecified for tasks using the Fargate launch type. If one isn't specified,\n\t\t\tthe LATEST platform version is used. For more information, see Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

" } }, "platformFamily": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The operating system that your tasks in the service, or tasks are running on. A\n\t\t\tplatform family is specified only for tasks using the Fargate launch type.

\n\t\t

All tasks that run as part of this service must use the same\n\t\t\t\tplatformFamily value as the service, for example, \n\t\t\tLINUX..

" + "smithy.api#documentation": "

The operating system that your tasks in the service, or tasks are running on. A\n\t\t\tplatform family is specified only for tasks using the Fargate launch type.

\n

All tasks that run as part of this service must use the same\n\t\t\t\tplatformFamily value as the service, for example, \n\t\t\tLINUX..

" } }, "networkConfiguration": { @@ -4790,7 +3700,7 @@ "rolloutState": { "target": "com.amazonaws.ecs#DeploymentRolloutState", "traits": { - "smithy.api#documentation": "\n\t\t\t

The rolloutState of a service is only returned for services that use\n\t\t\t\tthe rolling update (ECS) deployment type that aren't behind a\n\t\t\t\tClassic Load Balancer.

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

The rollout state of the deployment. When a service deployment is started, it begins\n\t\t\tin an IN_PROGRESS state. When the service reaches a steady state, the\n\t\t\tdeployment transitions to a COMPLETED state. If the service fails to reach\n\t\t\ta steady state and circuit breaker is enabled, the deployment transitions to a\n\t\t\t\tFAILED state. A deployment in FAILED state doesn't launch\n\t\t\tany new tasks. For more information, see DeploymentCircuitBreaker.

" + "smithy.api#documentation": "\n

The rolloutState of a service is only returned for services that use\n\t\t\t\tthe rolling update (ECS) deployment type that aren't behind a\n\t\t\t\tClassic Load Balancer.

\n
\n

The rollout state of the deployment. When a service deployment is started, it begins\n\t\t\tin an IN_PROGRESS state. When the service reaches a steady state, the\n\t\t\tdeployment transitions to a COMPLETED state. If the service fails to reach\n\t\t\ta steady state and circuit breaker is enabled, the deployment transitions to a\n\t\t\t\tFAILED state. A deployment in FAILED state doesn't launch\n\t\t\tany new tasks. For more information, see DeploymentCircuitBreaker.

" } }, "rolloutStateReason": { @@ -4798,12 +3708,55 @@ "traits": { "smithy.api#documentation": "

A description of the rollout state of a deployment.

" } + }, + "serviceConnectConfiguration": { + "target": "com.amazonaws.ecs#ServiceConnectConfiguration", + "traits": { + "smithy.api#documentation": "

The details of the Service Connect configuration that's used by this deployment.\n\t\t\tCompare the configuration between multiple deployments when troubleshooting issues with\n\t\t\tnew deployments.

\n

The configuration for this service to discover and connect to\n\tservices, and be discovered by, and connected from, other services within a namespace.

\n

Tasks that run in a namespace can use short names to connect\n\tto services in the namespace. Tasks can connect to services across all of the clusters in the namespace.\n\tTasks connect through a managed proxy container\n\tthat collects logs and metrics for increased visibility.\n\tOnly the tasks that Amazon ECS services create are supported with Service Connect.\n\tFor more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

" + } + }, + "serviceConnectResources": { + "target": "com.amazonaws.ecs#ServiceConnectServiceResourceList", + "traits": { + "smithy.api#documentation": "

The list of Service Connect resources that are associated with this deployment. Each\n\t\t\tlist entry maps a discovery name to a Cloud Map service name.

" + } } }, "traits": { "smithy.api#documentation": "

The details of an Amazon ECS service deployment. This is used only when a service uses the\n\t\t\t\tECS deployment controller type.

" } }, + "com.amazonaws.ecs#DeploymentAlarms": { + "type": "structure", + "members": { + "alarmNames": { + "target": "com.amazonaws.ecs#StringList", + "traits": { + "smithy.api#documentation": "

One or more CloudWatch alarm names. Use a \",\" to separate the alarms.

", + "smithy.api#required": {} + } + }, + "enable": { + "target": "com.amazonaws.ecs#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Determines whether to use the CloudWatch alarm option in the service deployment process.

", + "smithy.api#required": {} + } + }, + "rollback": { + "target": "com.amazonaws.ecs#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Determines whether to configure Amazon ECS to roll back the service if a service deployment\n\t\t\tfails. If rollback is used, when a service deployment fails, the service is rolled back\n\t\t\tto the last deployment that completed successfully.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

One of the methods which provide a way for you to quickly identify when a deployment\n\t\t\thas failed, and then to optionally roll back the failure to the last working\n\t\t\tdeployment.

\n

When the alarms are generated, Amazon ECS sets the service deployment to failed. Set the rollback\n\t\t\tparameter to have Amazon ECS to roll back your service to the last completed deployment\n\t\t\tafter a failure.

\n

You can only use the DeploymentAlarms method to detect failures when the\n\t\t\t\tDeploymentController is set to ECS (rolling\n\t\t\tupdate).

\n

For more information, see Rolling\n\t\t\t\tupdate in the \n Amazon Elastic Container Service Developer Guide\n .

" + } + }, "com.amazonaws.ecs#DeploymentCircuitBreaker": { "type": "structure", "members": { @@ -4819,13 +3772,13 @@ "target": "com.amazonaws.ecs#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

Determines whether to configure Amazon ECS to roll back the service if a service deployment\n\t\t\tfails. If rollback is enabled, when a service deployment fails, the service is rolled\n\t\t\tback to the last deployment that completed successfully.

", + "smithy.api#documentation": "

Determines whether to configure Amazon ECS to roll back the service if a service deployment\n\t\t\tfails. If rollback is on, when a service deployment fails, the service is rolled back to\n\t\t\tthe last deployment that completed successfully.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "\n\t\t\t

The deployment circuit breaker can only be used for services using the rolling\n\t\t\t\tupdate (ECS) deployment type that aren't behind a Classic Load Balancer.

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

The deployment circuit breaker determines whether a\n\t\t\tservice deployment will fail if the service can't reach a steady state. If enabled, a\n\t\t\tservice deployment will transition to a failed state and stop launching new tasks. You\n\t\t\tcan also configure Amazon ECS to roll back your service to the last completed deployment\n\t\t\tafter a failure. For more information, see Rolling\n\t\t\t\tupdate in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "\n

The deployment circuit breaker can only be used for services using the rolling\n\t\t\t\tupdate (ECS) deployment type that aren't behind a Classic Load Balancer.

\n
\n

The deployment circuit breaker determines whether a\n\t\t\tservice deployment will fail if the service can't reach a steady state. If enabled, a\n\t\t\tservice deployment will transition to a failed state and stop launching new tasks. You\n\t\t\tcan also configure Amazon ECS to roll back your service to the last completed deployment\n\t\t\tafter a failure. For more information, see Rolling\n\t\t\t\tupdate in the Amazon Elastic Container Service Developer Guide.

" } }, "com.amazonaws.ecs#DeploymentConfiguration": { @@ -4834,19 +3787,25 @@ "deploymentCircuitBreaker": { "target": "com.amazonaws.ecs#DeploymentCircuitBreaker", "traits": { - "smithy.api#documentation": "\n\t\t\t

The deployment circuit breaker can only be used for services using the rolling\n\t\t\t\tupdate (ECS) deployment type.

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

The deployment circuit breaker determines whether a\n\t\t\tservice deployment will fail if the service can't reach a steady state. If deployment\n\t\t\tcircuit breaker is enabled, a service deployment will transition to a failed state and\n\t\t\tstop launching new tasks. If rollback is enabled, when a service deployment fails, the\n\t\t\tservice is rolled back to the last deployment that completed successfully.

" + "smithy.api#documentation": "\n

The deployment circuit breaker can only be used for services using the rolling\n\t\t\t\tupdate (ECS) deployment type.

\n
\n

The deployment circuit breaker determines whether a\n\t\t\tservice deployment will fail if the service can't reach a steady state. If deployment\n\t\t\tcircuit breaker is enabled, a service deployment will transition to a failed state and\n\t\t\tstop launching new tasks. If rollback is enabled, when a service deployment fails, the\n\t\t\tservice is rolled back to the last deployment that completed successfully.

" } }, "maximumPercent": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

If a service is using the rolling update (ECS) deployment type, the\n\t\t\t\tmaximumPercent parameter represents an upper limit on the number of\n\t\t\tyour service's tasks that are allowed in the RUNNING or\n\t\t\t\tPENDING state during a deployment, as a percentage of the\n\t\t\t\tdesiredCount (rounded down to the nearest integer). This parameter\n\t\t\tenables you to define the deployment batch size. For example, if your service is using\n\t\t\tthe REPLICA service scheduler and has a desiredCount of four\n\t\t\ttasks and a maximumPercent value of 200%, the scheduler may start four new\n\t\t\ttasks before stopping the four older tasks (provided that the cluster resources required\n\t\t\tto do this are available). The default maximumPercent value for a service\n\t\t\tusing the REPLICA service scheduler is 200%.

\n\t\t

If a service is using either the blue/green (CODE_DEPLOY) or\n\t\t\t\tEXTERNAL deployment types and tasks that use the EC2\n\t\t\tlaunch type, the maximum percent value is set to the\n\t\t\tdefault value and is used to define the upper limit on the number of the tasks in the\n\t\t\tservice that remain in the RUNNING state while the container instances are\n\t\t\tin the DRAINING state. If the tasks in the service use the\n\t\t\tFargate launch type, the maximum percent value is not used, although it is\n\t\t\treturned when describing your service.

" + "smithy.api#documentation": "

If a service is using the rolling update (ECS) deployment type, the\n\t\t\t\tmaximumPercent parameter represents an upper limit on the number of\n\t\t\tyour service's tasks that are allowed in the RUNNING or\n\t\t\t\tPENDING state during a deployment, as a percentage of the\n\t\t\t\tdesiredCount (rounded down to the nearest integer). This parameter\n\t\t\tenables you to define the deployment batch size. For example, if your service is using\n\t\t\tthe REPLICA service scheduler and has a desiredCount of four\n\t\t\ttasks and a maximumPercent value of 200%, the scheduler may start four new\n\t\t\ttasks before stopping the four older tasks (provided that the cluster resources required\n\t\t\tto do this are available). The default maximumPercent value for a service\n\t\t\tusing the REPLICA service scheduler is 200%.

\n

If a service is using either the blue/green (CODE_DEPLOY) or\n\t\t\t\tEXTERNAL deployment types and tasks that use the EC2\n\t\t\tlaunch type, the maximum percent value is set to the\n\t\t\tdefault value and is used to define the upper limit on the number of the tasks in the\n\t\t\tservice that remain in the RUNNING state while the container instances are\n\t\t\tin the DRAINING state. If the tasks in the service use the\n\t\t\tFargate launch type, the maximum percent value is not used, although it is\n\t\t\treturned when describing your service.

" } }, "minimumHealthyPercent": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

If a service is using the rolling update (ECS) deployment type, the\n\t\t\t\tminimumHealthyPercent represents a lower limit on the number of your\n\t\t\tservice's tasks that must remain in the RUNNING state during a deployment,\n\t\t\tas a percentage of the desiredCount (rounded up to the nearest integer).\n\t\t\tThis parameter enables you to deploy without using additional cluster capacity. For\n\t\t\texample, if your service has a desiredCount of four tasks and a\n\t\t\t\tminimumHealthyPercent of 50%, the service scheduler may stop two\n\t\t\texisting tasks to free up cluster capacity before starting two new tasks.

\n\t\t

For services that do not use a load balancer, the following\n\t\t\tshould be noted:

\n\t\t
    \n
  • \n\t\t\t\t

    A service is considered healthy if all essential containers within the tasks\n\t\t\t\t\tin the service pass their health checks.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    If a task has no essential containers with a health check defined, the service\n\t\t\t\t\tscheduler will wait for 40 seconds after a task reaches a RUNNING\n\t\t\t\t\tstate before the task is counted towards the minimum healthy percent\n\t\t\t\t\ttotal.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    If a task has one or more essential containers with a health check defined,\n\t\t\t\t\tthe service scheduler will wait for the task to reach a healthy status before\n\t\t\t\t\tcounting it towards the minimum healthy percent total. A task is considered\n\t\t\t\t\thealthy when all essential containers within the task have passed their health\n\t\t\t\t\tchecks. The amount of time the service scheduler can wait for is determined by\n\t\t\t\t\tthe container health check settings.

    \n\t\t\t
  • \n
\n\t\t

For services are that do use a load balancer, the following\n\t\t\tshould be noted:

\n\t\t
    \n
  • \n\t\t\t\t

    If a task has no essential containers with a health check defined, the service\n\t\t\t\t\tscheduler will wait for the load balancer target group health check to return a\n\t\t\t\t\thealthy status before counting the task towards the minimum healthy percent\n\t\t\t\t\ttotal.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    If a task has an essential container with a health check defined, the service\n\t\t\t\t\tscheduler will wait for both the task to reach a healthy status and the load\n\t\t\t\t\tbalancer target group health check to return a healthy status before counting\n\t\t\t\t\tthe task towards the minimum healthy percent total.

    \n\t\t\t
  • \n
\n\t\t

If a service is using either the blue/green (CODE_DEPLOY) or\n\t\t\t\tEXTERNAL deployment types and is running tasks that use the\n\t\t\tEC2 launch type, the minimum healthy\n\t\t\t\tpercent value is set to the default value and is used to define the lower\n\t\t\tlimit on the number of the tasks in the service that remain in the RUNNING\n\t\t\tstate while the container instances are in the DRAINING state. If a service\n\t\t\tis using either the blue/green (CODE_DEPLOY) or EXTERNAL\n\t\t\tdeployment types and is running tasks that use the Fargate launch type,\n\t\t\tthe minimum healthy percent value is not used, although it is returned when describing\n\t\t\tyour service.

" + "smithy.api#documentation": "

If a service is using the rolling update (ECS) deployment type, the\n\t\t\t\tminimumHealthyPercent represents a lower limit on the number of your\n\t\t\tservice's tasks that must remain in the RUNNING state during a deployment,\n\t\t\tas a percentage of the desiredCount (rounded up to the nearest integer).\n\t\t\tThis parameter enables you to deploy without using additional cluster capacity. For\n\t\t\texample, if your service has a desiredCount of four tasks and a\n\t\t\t\tminimumHealthyPercent of 50%, the service scheduler may stop two\n\t\t\texisting tasks to free up cluster capacity before starting two new tasks.

\n

For services that do not use a load balancer, the following\n\t\t\tshould be noted:

\n
    \n
  • \n

    A service is considered healthy if all essential containers within the tasks\n\t\t\t\t\tin the service pass their health checks.

    \n
  • \n
  • \n

    If a task has no essential containers with a health check defined, the service\n\t\t\t\t\tscheduler will wait for 40 seconds after a task reaches a RUNNING\n\t\t\t\t\tstate before the task is counted towards the minimum healthy percent\n\t\t\t\t\ttotal.

    \n
  • \n
  • \n

    If a task has one or more essential containers with a health check defined,\n\t\t\t\t\tthe service scheduler will wait for the task to reach a healthy status before\n\t\t\t\t\tcounting it towards the minimum healthy percent total. A task is considered\n\t\t\t\t\thealthy when all essential containers within the task have passed their health\n\t\t\t\t\tchecks. The amount of time the service scheduler can wait for is determined by\n\t\t\t\t\tthe container health check settings.

    \n
  • \n
\n

For services are that do use a load balancer, the following\n\t\t\tshould be noted:

\n
    \n
  • \n

    If a task has no essential containers with a health check defined, the service\n\t\t\t\t\tscheduler will wait for the load balancer target group health check to return a\n\t\t\t\t\thealthy status before counting the task towards the minimum healthy percent\n\t\t\t\t\ttotal.

    \n
  • \n
  • \n

    If a task has an essential container with a health check defined, the service\n\t\t\t\t\tscheduler will wait for both the task to reach a healthy status and the load\n\t\t\t\t\tbalancer target group health check to return a healthy status before counting\n\t\t\t\t\tthe task towards the minimum healthy percent total.

    \n
  • \n
\n

If a service is using either the blue/green (CODE_DEPLOY) or\n\t\t\t\tEXTERNAL deployment types and is running tasks that use the\n\t\t\tEC2 launch type, the minimum healthy\n\t\t\t\tpercent value is set to the default value and is used to define the lower\n\t\t\tlimit on the number of the tasks in the service that remain in the RUNNING\n\t\t\tstate while the container instances are in the DRAINING state. If a service\n\t\t\tis using either the blue/green (CODE_DEPLOY) or EXTERNAL\n\t\t\tdeployment types and is running tasks that use the Fargate launch type,\n\t\t\tthe minimum healthy percent value is not used, although it is returned when describing\n\t\t\tyour service.

" + } + }, + "alarms": { + "target": "com.amazonaws.ecs#DeploymentAlarms", + "traits": { + "smithy.api#documentation": "

Information about the CloudWatch alarms.

" } } }, @@ -4860,7 +3819,7 @@ "type": { "target": "com.amazonaws.ecs#DeploymentControllerType", "traits": { - "smithy.api#documentation": "

The deployment controller type to use.

\n\t\t

There are three deployment controller types available:

\n\t\t
\n
ECS
\n
\n\t\t\t\t\t

The rolling update (ECS) deployment type involves replacing\n\t\t\t\t\t\tthe current running version of the container with the latest version. The\n\t\t\t\t\t\tnumber of containers Amazon ECS adds or removes from the service during a rolling\n\t\t\t\t\t\tupdate is controlled by adjusting the minimum and maximum number of healthy\n\t\t\t\t\t\ttasks allowed during a service deployment, as specified in the DeploymentConfiguration.

\n\t\t\t\t
\n
CODE_DEPLOY
\n
\n\t\t\t\t\t

The blue/green (CODE_DEPLOY) deployment type uses the\n\t\t\t\t\t\tblue/green deployment model powered by CodeDeploy, which allows you to verify a\n\t\t\t\t\t\tnew deployment of a service before sending production traffic to it.

\n\t\t\t\t
\n
EXTERNAL
\n
\n\t\t\t\t\t

The external (EXTERNAL) deployment type enables you to use\n\t\t\t\t\t\tany third-party deployment controller for full control over the deployment\n\t\t\t\t\t\tprocess for an Amazon ECS service.

\n\t\t\t\t
\n
", + "smithy.api#documentation": "

The deployment controller type to use.

\n

There are three deployment controller types available:

\n
\n
ECS
\n
\n

The rolling update (ECS) deployment type involves replacing\n\t\t\t\t\t\tthe current running version of the container with the latest version. The\n\t\t\t\t\t\tnumber of containers Amazon ECS adds or removes from the service during a rolling\n\t\t\t\t\t\tupdate is controlled by adjusting the minimum and maximum number of healthy\n\t\t\t\t\t\ttasks allowed during a service deployment, as specified in the DeploymentConfiguration.

\n
\n
CODE_DEPLOY
\n
\n

The blue/green (CODE_DEPLOY) deployment type uses the\n\t\t\t\t\t\tblue/green deployment model powered by CodeDeploy, which allows you to verify a\n\t\t\t\t\t\tnew deployment of a service before sending production traffic to it.

\n
\n
EXTERNAL
\n
\n

The external (EXTERNAL) deployment type enables you to use\n\t\t\t\t\t\tany third-party deployment controller for full control over the deployment\n\t\t\t\t\t\tprocess for an Amazon ECS service.

\n
\n
", "smithy.api#required": {} } } @@ -4944,7 +3903,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deregisters an Amazon ECS container instance from the specified cluster. This instance is\n\t\t\tno longer available to run tasks.

\n\t\t

If you intend to use the container instance for some other purpose after\n\t\t\tderegistration, we recommend that you stop all of the tasks running on the container\n\t\t\tinstance before deregistration. That prevents any orphaned tasks from consuming\n\t\t\tresources.

\n\t\t

Deregistering a container instance removes the instance from a cluster, but it doesn't\n\t\t\tterminate the EC2 instance. If you are finished using the instance, be sure to terminate\n\t\t\tit in the Amazon EC2 console to stop billing.

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

If you terminate a running container instance, Amazon ECS automatically deregisters the\n\t\t\t\tinstance from your cluster (stopped container instances or instances with\n\t\t\t\tdisconnected agents aren't automatically deregistered when terminated).

\n\t\t
" + "smithy.api#documentation": "

Deregisters an Amazon ECS container instance from the specified cluster. This instance is\n\t\t\tno longer available to run tasks.

\n

If you intend to use the container instance for some other purpose after\n\t\t\tderegistration, we recommend that you stop all of the tasks running on the container\n\t\t\tinstance before deregistration. That prevents any orphaned tasks from consuming\n\t\t\tresources.

\n

Deregistering a container instance removes the instance from a cluster, but it doesn't\n\t\t\tterminate the EC2 instance. If you are finished using the instance, be sure to terminate\n\t\t\tit in the Amazon EC2 console to stop billing.

\n \n

If you terminate a running container instance, Amazon ECS automatically deregisters the\n\t\t\t\tinstance from your cluster (stopped container instances or instances with\n\t\t\t\tdisconnected agents aren't automatically deregistered when terminated).

\n
" } }, "com.amazonaws.ecs#DeregisterContainerInstanceRequest": { @@ -4966,7 +3925,7 @@ "force": { "target": "com.amazonaws.ecs#BoxedBoolean", "traits": { - "smithy.api#documentation": "

Forces the container instance to be deregistered. If you have tasks running on the\n\t\t\tcontainer instance when you deregister it with the force option, these\n\t\t\ttasks remain running until you terminate the instance or the tasks stop through some\n\t\t\tother means, but they're orphaned (no longer monitored or accounted for by Amazon ECS). If an\n\t\t\torphaned task on your container instance is part of an Amazon ECS service, then the service\n\t\t\tscheduler starts another copy of that task, on a different container instance if\n\t\t\tpossible.

\n\t\t

Any containers in orphaned service tasks that are registered with a Classic Load Balancer or an Application Load Balancer\n\t\t\ttarget group are deregistered. They begin connection draining according to the settings\n\t\t\ton the load balancer or target group.

" + "smithy.api#documentation": "

Forces the container instance to be deregistered. If you have tasks running on the\n\t\t\tcontainer instance when you deregister it with the force option, these\n\t\t\ttasks remain running until you terminate the instance or the tasks stop through some\n\t\t\tother means, but they're orphaned (no longer monitored or accounted for by Amazon ECS). If an\n\t\t\torphaned task on your container instance is part of an Amazon ECS service, then the service\n\t\t\tscheduler starts another copy of that task, on a different container instance if\n\t\t\tpossible.

\n

Any containers in orphaned service tasks that are registered with a Classic Load Balancer or an Application Load Balancer\n\t\t\ttarget group are deregistered. They begin connection draining according to the settings\n\t\t\ton the load balancer or target group.

" } } } @@ -5002,7 +3961,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deregisters the specified task definition by family and revision. Upon deregistration,\n\t\t\tthe task definition is marked as INACTIVE. Existing tasks and services that\n\t\t\treference an INACTIVE task definition continue to run without disruption.\n\t\t\tExisting services that reference an INACTIVE task definition can still\n\t\t\tscale up or down by modifying the service's desired count.

\n\t\t

You can't use an INACTIVE task definition to run new tasks or create new\n\t\t\tservices, and you can't update an existing service to reference an INACTIVE\n\t\t\ttask definition. However, there may be up to a 10-minute window following deregistration\n\t\t\twhere these restrictions have not yet taken effect.

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

At this time, INACTIVE task definitions remain discoverable in your\n\t\t\t\taccount indefinitely. However, this behavior is subject to change in the future. We\n\t\t\t\tdon't recommend that you rely on INACTIVE task definitions persisting\n\t\t\t\tbeyond the lifecycle of any associated tasks and services.

\n\t\t
" + "smithy.api#documentation": "

Deregisters the specified task definition by family and revision. Upon deregistration,\n\t\t\tthe task definition is marked as INACTIVE. Existing tasks and services that\n\t\t\treference an INACTIVE task definition continue to run without disruption.\n\t\t\tExisting services that reference an INACTIVE task definition can still\n\t\t\tscale up or down by modifying the service's desired count.

\n

You can't use an INACTIVE task definition to run new tasks or create new\n\t\t\tservices, and you can't update an existing service to reference an INACTIVE\n\t\t\ttask definition. However, there may be up to a 10-minute window following deregistration\n\t\t\twhere these restrictions have not yet taken effect.

\n \n

At this time, INACTIVE task definitions remain discoverable in your\n\t\t\t\taccount indefinitely. However, this behavior is subject to change in the future. We\n\t\t\t\tdon't recommend that you rely on INACTIVE task definitions persisting\n\t\t\t\tbeyond the lifecycle of any associated tasks and services.

\n
" } }, "com.amazonaws.ecs#DeregisterTaskDefinitionRequest": { @@ -5075,7 +4034,7 @@ "nextToken": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The nextToken value returned from a previous paginated\n\t\t\t\tDescribeCapacityProviders request where maxResults was\n\t\t\tused and the results exceeded the value of that parameter. Pagination continues from the\n\t\t\tend of the previous results that returned the nextToken value.

\n\t\t \n

This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

\n
" + "smithy.api#documentation": "

The nextToken value returned from a previous paginated\n\t\t\t\tDescribeCapacityProviders request where maxResults was\n\t\t\tused and the results exceeded the value of that parameter. Pagination continues from the\n\t\t\tend of the previous results that returned the nextToken value.

\n \n

This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

\n
" } } } @@ -5138,7 +4097,7 @@ "include": { "target": "com.amazonaws.ecs#ClusterFieldList", "traits": { - "smithy.api#documentation": "

Determines whether to include additional information about the clusters in the\n\t\t\tresponse. If this field is omitted, this information isn't included.

\n\t\t

If ATTACHMENTS is specified, the attachments for the container instances\n\t\t\tor tasks within the cluster are included.

\n\t\t

If SETTINGS is specified, the settings for the cluster are\n\t\t\tincluded.

\n\t\t

If CONFIGURATIONS is specified, the configuration for the cluster is\n\t\t\tincluded.

\n\t\t

If STATISTICS is specified, the task and service count is included,\n\t\t\tseparated by launch type.

\n\t\t

If TAGS is specified, the metadata tags associated with the cluster are\n\t\t\tincluded.

" + "smithy.api#documentation": "

Determines whether to include additional information about the clusters in the\n\t\t\tresponse. If this field is omitted, this information isn't included.

\n

If ATTACHMENTS is specified, the attachments for the container instances\n\t\t\tor tasks within the cluster are included, for example the capacity providers.

\n

If SETTINGS is specified, the settings for the cluster are\n\t\t\tincluded.

\n

If CONFIGURATIONS is specified, the configuration for the cluster is\n\t\t\tincluded.

\n

If STATISTICS is specified, the task and service count is included,\n\t\t\tseparated by launch type.

\n

If TAGS is specified, the metadata tags associated with the cluster are\n\t\t\tincluded.

" } } } @@ -5386,7 +4345,7 @@ } ], "traits": { - "smithy.api#documentation": "

Describes a task definition. You can specify a family and\n\t\t\t\trevision to find information about a specific task definition, or you\n\t\t\tcan simply specify the family to find the latest ACTIVE revision in that\n\t\t\tfamily.

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

You can only describe INACTIVE task definitions while an active task\n\t\t\t\tor service references them.

\n\t\t
" + "smithy.api#documentation": "

Describes a task definition. You can specify a family and\n\t\t\t\trevision to find information about a specific task definition, or you\n\t\t\tcan simply specify the family to find the latest ACTIVE revision in that\n\t\t\tfamily.

\n \n

You can only describe INACTIVE task definitions while an active task\n\t\t\t\tor service references them.

\n
" } }, "com.amazonaws.ecs#DescribeTaskDefinitionRequest": { @@ -5419,7 +4378,7 @@ "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The metadata that's applied to the task definition to help you categorize and organize\n\t\t\tthem. Each tag consists of a key and an optional value. You define both.

\n\t\t

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that's applied to the task definition to help you categorize and organize\n\t\t\tthem. Each tag consists of a key and an optional value. You define both.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" } } } @@ -5533,7 +4492,7 @@ } ], "traits": { - "smithy.api#documentation": "

Describes a specified task or tasks.

\n\t\t

Currently, stopped tasks appear in the returned results for at least one hour.

", + "smithy.api#documentation": "

Describes a specified task or tasks.

\n

Currently, stopped tasks appear in the returned results for at least one hour.

", "smithy.waiters#waitable": { "TasksRunning": { "acceptors": [ @@ -5731,7 +4690,7 @@ } ], "traits": { - "smithy.api#documentation": "\n

This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

\n
\n\t\t

Returns an endpoint for the Amazon ECS agent to poll for updates.

" + "smithy.api#documentation": "\n

This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

\n
\n

Returns an endpoint for the Amazon ECS agent to poll for updates.

" } }, "com.amazonaws.ecs#DiscoverPollEndpointRequest": { @@ -5765,6 +4724,12 @@ "traits": { "smithy.api#documentation": "

The telemetry endpoint for the Amazon ECS agent.

" } + }, + "serviceConnectEndpoint": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

The endpoint for the Amazon ECS agent to poll for Service Connect configuration.\n\t\t\tFor more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

" + } } } }, @@ -5789,7 +4754,7 @@ "autoprovision": { "target": "com.amazonaws.ecs#BoxedBoolean", "traits": { - "smithy.api#documentation": "

If this value is true, the Docker volume is created if it doesn't already\n\t\t\texist.

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

This field is only used if the scope is shared.

\n\t\t
" + "smithy.api#documentation": "

If this value is true, the Docker volume is created if it doesn't already\n\t\t\texist.

\n \n

This field is only used if the scope is shared.

\n
" } }, "driver": { @@ -5888,7 +4853,7 @@ "rootDirectory": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The directory within the Amazon EFS file system to mount as the root directory inside the\n\t\t\thost. If this parameter is omitted, the root of the Amazon EFS volume will be used.\n\t\t\tSpecifying / will have the same effect as omitting this parameter.

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

If an EFS access point is specified in the authorizationConfig, the\n\t\t\t\troot directory parameter must either be omitted or set to / which will\n\t\t\t\tenforce the path set on the EFS access point.

\n\t\t
" + "smithy.api#documentation": "

The directory within the Amazon EFS file system to mount as the root directory inside the\n\t\t\thost. If this parameter is omitted, the root of the Amazon EFS volume will be used.\n\t\t\tSpecifying / will have the same effect as omitting this parameter.

\n \n

If an EFS access point is specified in the authorizationConfig, the\n\t\t\t\troot directory parameter must either be omitted or set to / which will\n\t\t\t\tenforce the path set on the EFS access point.

\n
" } }, "transitEncryption": { @@ -5911,7 +4876,7 @@ } }, "traits": { - "smithy.api#documentation": "

This parameter is specified when you're using an Amazon Elastic File System file system for task\n\t\t\tstorage. For more information, see Amazon EFS volumes in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

This parameter is specified when you're using an Amazon Elastic File System file system for task\n\t\t\tstorage. For more information, see Amazon EFS volumes in the\n\t\t\tAmazon Elastic Container Service Developer Guide.

" } }, "com.amazonaws.ecs#EnvironmentFile": { @@ -5933,7 +4898,7 @@ } }, "traits": { - "smithy.api#documentation": "

A list of files containing the environment variables to pass to a container. You can\n\t\t\tspecify up to ten environment files. The file must have a .env file\n\t\t\textension. Each line in an environment file should contain an environment variable in\n\t\t\t\tVARIABLE=VALUE format. Lines beginning with # are treated\n\t\t\tas comments and are ignored. For more information about the environment variable file\n\t\t\tsyntax, see Declare default\n\t\t\t\tenvironment variables in file.

\n\t\t

If there are environment variables specified using the environment\n\t\t\tparameter in a container definition, they take precedence over the variables contained\n\t\t\twithin an environment file. If multiple environment files are specified that contain the\n\t\t\tsame variable, they're processed from the top down. We recommend that you use unique\n\t\t\tvariable names. For more information, see Specifying environment\n\t\t\t\tvariables in the Amazon Elastic Container Service Developer Guide.

\n\t\t

This parameter is only supported for tasks hosted on Fargate using the\n\t\t\tfollowing platform versions:

\n\t\t
    \n
  • \n\t\t\t\t

    Linux platform version 1.4.0 or later.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    Windows platform version 1.0.0 or later.

    \n\t\t\t
  • \n
" + "smithy.api#documentation": "

A list of files containing the environment variables to pass to a container. You can\n\t\t\tspecify up to ten environment files. The file must have a .env file\n\t\t\textension. Each line in an environment file should contain an environment variable in\n\t\t\t\tVARIABLE=VALUE format. Lines beginning with # are treated\n\t\t\tas comments and are ignored. For more information about the environment variable file\n\t\t\tsyntax, see Declare default\n\t\t\t\tenvironment variables in file.

\n

If there are environment variables specified using the environment\n\t\t\tparameter in a container definition, they take precedence over the variables contained\n\t\t\twithin an environment file. If multiple environment files are specified that contain the\n\t\t\tsame variable, they're processed from the top down. We recommend that you use unique\n\t\t\tvariable names. For more information, see Specifying environment\n\t\t\t\tvariables in the Amazon Elastic Container Service Developer Guide.

\n

This parameter is only supported for tasks hosted on Fargate using the\n\t\t\tfollowing platform versions:

\n
    \n
  • \n

    Linux platform version 1.4.0 or later.

    \n
  • \n
  • \n

    Windows platform version 1.0.0 or later.

    \n
  • \n
" } }, "com.amazonaws.ecs#EnvironmentFileType": { @@ -5972,7 +4937,7 @@ } }, "traits": { - "smithy.api#documentation": "

The amount of ephemeral storage to allocate for the task. This parameter is used to\n\t\t\texpand the total amount of ephemeral storage available, beyond the default amount, for\n\t\t\ttasks hosted on Fargate. For more information, see Fargate task\n\t\t\t\tstorage in the Amazon ECS User Guide for Fargate.

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

This parameter is only supported for tasks hosted on Fargate using\n\t\t\t\tLinux platform version 1.4.0 or later. This parameter is not supported\n\t\t\t\tfor Windows containers on Fargate.

\n\t\t
" + "smithy.api#documentation": "

The amount of ephemeral storage to allocate for the task. This parameter is used to\n\t\t\texpand the total amount of ephemeral storage available, beyond the default amount, for\n\t\t\ttasks hosted on Fargate. For more information, see Fargate task\n\t\t\t\tstorage in the Amazon ECS User Guide for Fargate.

\n \n

This parameter is only supported for tasks hosted on Fargate using\n\t\t\t\tLinux platform version 1.4.0 or later. This parameter is not supported\n\t\t\t\tfor Windows containers on Fargate.

\n
" } }, "com.amazonaws.ecs#ExecuteCommand": { @@ -6004,7 +4969,7 @@ } ], "traits": { - "smithy.api#documentation": "

Runs a command remotely on a container within a task.

\n\t\t

If you use a condition key in your IAM policy to refine the conditions for the policy\n\t\t\tstatement, for example limit the actions to a specific cluster, you recevie an\n\t\t\t\tAccessDeniedException when there is a mismatch between the condition\n\t\t\tkey value and the corresponding parameter value.

" + "smithy.api#documentation": "

Runs a command remotely on a container within a task.

\n

If you use a condition key in your IAM policy to refine the conditions for the policy\n\t\t\tstatement, for example limit the actions to a specific cluster, you receive an\n\t\t\t\tAccessDeniedException when there is a mismatch between the condition\n\t\t\tkey value and the corresponding parameter value.

\n

For information about required permissions and considerations, see Using Amazon ECS Exec for\n\t\t\tdebugging in the Amazon ECS Developer Guide.

" } }, "com.amazonaws.ecs#ExecuteCommandConfiguration": { @@ -6019,7 +4984,7 @@ "logging": { "target": "com.amazonaws.ecs#ExecuteCommandLogging", "traits": { - "smithy.api#documentation": "

The log setting to use for redirecting logs for your execute command results. The\n\t\t\tfollowing log settings are available.

\n\t\t
    \n
  • \n\t\t\t\t

    \n NONE: The execute command session is not logged.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n DEFAULT: The awslogs configuration in the task\n\t\t\t\t\tdefinition is used. If no logging parameter is specified, it defaults to this\n\t\t\t\t\tvalue. If no awslogs log driver is configured in the task\n\t\t\t\t\tdefinition, the output won't be logged.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n OVERRIDE: Specify the logging details as a part of\n\t\t\t\t\t\tlogConfiguration. If the OVERRIDE logging option\n\t\t\t\t\tis specified, the logConfiguration is required.

    \n\t\t\t
  • \n
" + "smithy.api#documentation": "

The log setting to use for redirecting logs for your execute command results. The\n\t\t\tfollowing log settings are available.

\n
    \n
  • \n

    \n NONE: The execute command session is not logged.

    \n
  • \n
  • \n

    \n DEFAULT: The awslogs configuration in the task\n\t\t\t\t\tdefinition is used. If no logging parameter is specified, it defaults to this\n\t\t\t\t\tvalue. If no awslogs log driver is configured in the task\n\t\t\t\t\tdefinition, the output won't be logged.

    \n
  • \n
  • \n

    \n OVERRIDE: Specify the logging details as a part of\n\t\t\t\t\t\tlogConfiguration. If the OVERRIDE logging option\n\t\t\t\t\tis specified, the logConfiguration is required.

    \n
  • \n
" } }, "logConfiguration": { @@ -6039,7 +5004,7 @@ "cloudWatchLogGroupName": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The name of the CloudWatch log group to send logs to.

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

The CloudWatch log group must already be created.

\n\t\t
" + "smithy.api#documentation": "

The name of the CloudWatch log group to send logs to.

\n \n

The CloudWatch log group must already be created.

\n
" } }, "cloudWatchEncryptionEnabled": { @@ -6052,7 +5017,7 @@ "s3BucketName": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The name of the S3 bucket to send logs to.

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

The S3 bucket must already be created.

\n\t\t
" + "smithy.api#documentation": "

The name of the S3 bucket to send logs to.

\n \n

The S3 bucket must already be created.

\n
" } }, "s3EncryptionEnabled": { @@ -6196,7 +5161,7 @@ } }, "traits": { - "smithy.api#documentation": "

The authorization configuration details for Amazon FSx for Windows File Server file system. See FSxWindowsFileServerVolumeConfiguration in the Amazon ECS API\n\t\t\t\tReference.

\n\t\t

For more information and the input format, see Amazon FSx for Windows File Server Volumes\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The authorization configuration details for Amazon FSx for Windows File Server file system. See FSxWindowsFileServerVolumeConfiguration in the Amazon ECS API\n\t\t\t\tReference.

\n

For more information and the input format, see Amazon FSx for Windows File Server Volumes\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

" } }, "com.amazonaws.ecs#FSxWindowsFileServerVolumeConfiguration": { @@ -6225,7 +5190,7 @@ } }, "traits": { - "smithy.api#documentation": "

This parameter is specified when you're using Amazon FSx for Windows File Server file system for task\n\t\t\tstorage.

\n\t\t

For more information and the input format, see Amazon FSx for Windows File Server volumes\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

This parameter is specified when you're using Amazon FSx for Windows File Server file system for task\n\t\t\tstorage.

\n

For more information and the input format, see Amazon FSx for Windows File Server volumes\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

" } }, "com.amazonaws.ecs#Failure": { @@ -6273,7 +5238,7 @@ "options": { "target": "com.amazonaws.ecs#FirelensConfigurationOptionsMap", "traits": { - "smithy.api#documentation": "

The options to use when configuring the log router. This field is optional and can be\n\t\t\tused to specify a custom configuration file or to add additional metadata, such as the\n\t\t\ttask, task definition, cluster, and container instance details to the log event. If\n\t\t\tspecified, the syntax to use is\n\t\t\t\t\"options\":{\"enable-ecs-log-metadata\":\"true|false\",\"config-file-type:\"s3|file\",\"config-file-value\":\"arn:aws:s3:::mybucket/fluent.conf|filepath\"}.\n\t\t\tFor more information, see Creating\n\t\t\t\ta task definition that uses a FireLens configuration in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

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

Tasks hosted on Fargate only support the file configuration file\n\t\t\t\ttype.

\n\t\t
" + "smithy.api#documentation": "

The options to use when configuring the log router. This field is optional and can be\n\t\t\tused to specify a custom configuration file or to add additional metadata, such as the\n\t\t\ttask, task definition, cluster, and container instance details to the log event. If\n\t\t\tspecified, the syntax to use is\n\t\t\t\t\"options\":{\"enable-ecs-log-metadata\":\"true|false\",\"config-file-type:\"s3|file\",\"config-file-value\":\"arn:aws:s3:::mybucket/fluent.conf|filepath\"}.\n\t\t\tFor more information, see Creating\n\t\t\t\ta task definition that uses a FireLens configuration in the\n\t\t\tAmazon Elastic Container Service Developer Guide.

\n \n

Tasks hosted on Fargate only support the file configuration file\n\t\t\t\ttype.

\n
" } } }, @@ -6307,6 +5272,76 @@ } } }, + "com.amazonaws.ecs#GetTaskProtection": { + "type": "operation", + "input": { + "target": "com.amazonaws.ecs#GetTaskProtectionRequest" + }, + "output": { + "target": "com.amazonaws.ecs#GetTaskProtectionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.ecs#AccessDeniedException" + }, + { + "target": "com.amazonaws.ecs#ClientException" + }, + { + "target": "com.amazonaws.ecs#ClusterNotFoundException" + }, + { + "target": "com.amazonaws.ecs#InvalidParameterException" + }, + { + "target": "com.amazonaws.ecs#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.ecs#ServerException" + }, + { + "target": "com.amazonaws.ecs#UnsupportedFeatureException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves the protection status of tasks in an Amazon ECS service.

" + } + }, + "com.amazonaws.ecs#GetTaskProtectionRequest": { + "type": "structure", + "members": { + "cluster": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task\n\t\t\tsets exist in.

", + "smithy.api#required": {} + } + }, + "tasks": { + "target": "com.amazonaws.ecs#StringList", + "traits": { + "smithy.api#documentation": "

A list of up to 100 task IDs or full ARN entries.

" + } + } + } + }, + "com.amazonaws.ecs#GetTaskProtectionResponse": { + "type": "structure", + "members": { + "protectedTasks": { + "target": "com.amazonaws.ecs#ProtectedTasks", + "traits": { + "smithy.api#documentation": "

A list of tasks with the following information.

\n
    \n
  • \n

    \n taskArn: The task ARN.

    \n
  • \n
  • \n

    \n protectionEnabled: The protection status of the task. If scale-in\n\t\t\t\t\tprotection is enabled for a task, the value is true. Otherwise, it\n\t\t\t\t\tis false.

    \n
  • \n
  • \n

    \n expirationDate: The epoch time when protection for the task will\n\t\t\t\t\texpire.

    \n
  • \n
" + } + }, + "failures": { + "target": "com.amazonaws.ecs#Failures", + "traits": { + "smithy.api#documentation": "

Any failures associated with the call.

" + } + } + } + }, "com.amazonaws.ecs#GpuIds": { "type": "list", "member": { @@ -6319,7 +5354,7 @@ "command": { "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

A string array representing the command that the container runs to determine if it is\n\t\t\thealthy. The string array must start with CMD to run the command arguments\n\t\t\tdirectly, or CMD-SHELL to run the command with the container's default\n\t\t\tshell.

\n\t\t

When you use the Amazon Web Services Management Console JSON panel, the Command Line Interface, or the APIs, enclose the list\n\t\t\tof commands in brackets.

\n\t\t

\n\t\t\t [ \"CMD-SHELL\", \"curl -f http://localhost/ || exit 1\" ]\n\t\t

\n\t\t

You don't need to include the brackets when you use the Amazon Web Services Management Console.

\n\t\t

\n\t\t\t \"CMD-SHELL\", \"curl -f http://localhost/ || exit 1\" \n\t\t

\n\t\t

An exit code of 0 indicates success, and non-zero exit code indicates failure. For\n\t\t\tmore information, see HealthCheck in the Create a container\n\t\t\tsection of the Docker Remote API.

", + "smithy.api#documentation": "

A string array representing the command that the container runs to determine if it is\n\t\t\thealthy. The string array must start with CMD to run the command arguments\n\t\t\tdirectly, or CMD-SHELL to run the command with the container's default\n\t\t\tshell.

\n

When you use the Amazon Web Services Management Console JSON panel, the Command Line Interface, or the APIs, enclose the list\n\t\t\tof commands in brackets.

\n

\n [ \"CMD-SHELL\", \"curl -f http://localhost/ || exit 1\" ]\n

\n

You don't need to include the brackets when you use the Amazon Web Services Management Console.

\n

\n \"CMD-SHELL\", \"curl -f http://localhost/ || exit 1\" \n

\n

An exit code of 0 indicates success, and non-zero exit code indicates failure. For\n\t\t\tmore information, see HealthCheck in the Create a container\n\t\t\tsection of the Docker Remote API.

", "smithy.api#required": {} } }, @@ -6344,12 +5379,12 @@ "startPeriod": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The optional grace period to provide containers time to bootstrap before failed health\n\t\t\tchecks count towards the maximum number of retries. You can specify between 0 and 300\n\t\t\tseconds. By default, the startPeriod is disabled.

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

If a health check succeeds within the startPeriod, then the container\n\t\t\t\tis considered healthy and any subsequent failures count toward the maximum number of\n\t\t\t\tretries.

\n\t\t
" + "smithy.api#documentation": "

The optional grace period to provide containers time to bootstrap before failed health\n\t\t\tchecks count towards the maximum number of retries. You can specify between 0 and 300\n\t\t\tseconds. By default, the startPeriod is disabled.

\n \n

If a health check succeeds within the startPeriod, then the container\n\t\t\t\tis considered healthy and any subsequent failures count toward the maximum number of\n\t\t\t\tretries.

\n
" } } }, "traits": { - "smithy.api#documentation": "

An object representing a container health check. Health check parameters that are\n\t\t\tspecified in a container definition override any Docker health checks that exist in the\n\t\t\tcontainer image (such as those specified in a parent image or from the image's\n\t\t\tDockerfile).

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

The Amazon ECS container agent only monitors and reports on the health checks specified\n\t\t\t\tin the task definition. Amazon ECS does not monitor Docker health checks that are\n\t\t\t\tembedded in a container image and not specified in the container definition. Health\n\t\t\t\tcheck parameters that are specified in a container definition override any Docker\n\t\t\t\thealth checks that exist in the container image.

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

You can view the health status of both individual containers and a task with the\n\t\t\tDescribeTasks API operation or when viewing the task details in the console.

\n\t\t

The following describes the possible healthStatus values for a\n\t\t\tcontainer:

\n\t\t
    \n
  • \n\t\t\t\t

    \n HEALTHY-The container health check has passed\n\t\t\t\t\tsuccessfully.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n UNHEALTHY-The container health check has failed.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n UNKNOWN-The container health check is being evaluated or\n\t\t\t\t\tthere's no container health check defined.

    \n\t\t\t
  • \n
\n\t\t

The following describes the possible healthStatus values for a task. The\n\t\t\tcontainer health check status of nonessential containers do not have an effect on the\n\t\t\thealth status of a task.

\n\t\t
    \n
  • \n\t\t\t\t

    \n HEALTHY-All essential containers within the task have\n\t\t\t\t\tpassed their health checks.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n UNHEALTHY-One or more essential containers have failed\n\t\t\t\t\ttheir health check.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n UNKNOWN-The essential containers within the task are still\n\t\t\t\t\thaving their health checks evaluated or there are no container health checks\n\t\t\t\t\tdefined.

    \n\t\t\t
  • \n
\n\t\t

If a task is run manually, and not as part of a service, the task will continue its\n\t\t\tlifecycle regardless of its health status. For tasks that are part of a service, if the\n\t\t\ttask reports as unhealthy then the task will be stopped and the service scheduler will\n\t\t\treplace it.

\n\t\t

The following are notes about container health check support:

\n\t\t
    \n
  • \n\t\t\t\t

    Container health checks require version 1.17.0 or greater of the Amazon ECS\n\t\t\t\t\tcontainer agent. For more information, see Updating the\n\t\t\t\t\t\tAmazon ECS container agent.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    Container health checks are supported for Fargate tasks if\n\t\t\t\t\tyou're using platform version 1.1.0 or greater. For more\n\t\t\t\t\tinformation, see Fargate\n\t\t\t\t\t\tplatform versions.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    Container health checks aren't supported for tasks that are part of a service\n\t\t\t\t\tthat's configured to use a Classic Load Balancer.

    \n\t\t\t
  • \n
" + "smithy.api#documentation": "

An object representing a container health check. Health check parameters that are\n\t\t\tspecified in a container definition override any Docker health checks that exist in the\n\t\t\tcontainer image (such as those specified in a parent image or from the image's\n\t\t\tDockerfile).

\n \n

The Amazon ECS container agent only monitors and reports on the health checks specified\n\t\t\t\tin the task definition. Amazon ECS does not monitor Docker health checks that are\n\t\t\t\tembedded in a container image and not specified in the container definition. Health\n\t\t\t\tcheck parameters that are specified in a container definition override any Docker\n\t\t\t\thealth checks that exist in the container image.

\n
\n

You can view the health status of both individual containers and a task with the\n\t\t\tDescribeTasks API operation or when viewing the task details in the console.

\n

The following describes the possible healthStatus values for a\n\t\t\tcontainer:

\n
    \n
  • \n

    \n HEALTHY-The container health check has passed\n\t\t\t\t\tsuccessfully.

    \n
  • \n
  • \n

    \n UNHEALTHY-The container health check has failed.

    \n
  • \n
  • \n

    \n UNKNOWN-The container health check is being evaluated or\n\t\t\t\t\tthere's no container health check defined.

    \n
  • \n
\n

The following describes the possible healthStatus values for a task. The\n\t\t\tcontainer health check status of nonessential containers only affects the health status\n\t\t\tof a task if no essential containers have health checks defined.

\n
    \n
  • \n

    \n HEALTHY-All essential containers within the task have\n\t\t\t\t\tpassed their health checks.

    \n
  • \n
  • \n

    \n UNHEALTHY-One or more essential containers have failed\n\t\t\t\t\ttheir health check.

    \n
  • \n
  • \n

    \n UNKNOWN-The essential containers within the task are still\n\t\t\t\t\thaving their health checks evaluated or there are only nonessential containers\n\t\t\t\t\twith health checks defined.

    \n
  • \n
\n

If a task is run manually, and not as part of a service, the task will continue its\n\t\t\tlifecycle regardless of its health status. For tasks that are part of a service, if the\n\t\t\ttask reports as unhealthy then the task will be stopped and the service scheduler will\n\t\t\treplace it.

\n \n

For tasks that are a part of a service and the service uses the ECS\n\t\t\t\trolling deployment type, the deployment is paused while the new tasks have the\n\t\t\t\t\tUNKNOWN task health check status. For example, tasks that define\n\t\t\t\thealth checks for nonessential containers when no essential containers have health\n\t\t\t\tchecks will have the UNKNOWN health check status indefinitely which\n\t\t\t\tprevents the deployment from completing.

\n
\n

The following are notes about container health check support:

\n
    \n
  • \n

    Container health checks require version 1.17.0 or greater of the Amazon ECS\n\t\t\t\t\tcontainer agent. For more information, see Updating the\n\t\t\t\t\t\tAmazon ECS container agent.

    \n
  • \n
  • \n

    Container health checks are supported for Fargate tasks if\n\t\t\t\t\tyou're using platform version 1.1.0 or greater. For more\n\t\t\t\t\tinformation, see Fargate\n\t\t\t\t\t\tplatform versions.

    \n
  • \n
  • \n

    Container health checks aren't supported for tasks that are part of a service\n\t\t\t\t\tthat's configured to use a Classic Load Balancer.

    \n
  • \n
" } }, "com.amazonaws.ecs#HealthStatus": { @@ -6409,7 +5444,7 @@ "sourcePath": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

When the host parameter is used, specify a sourcePath to\n\t\t\tdeclare the path on the host container instance that's presented to the container. If\n\t\t\tthis parameter is empty, then the Docker daemon has assigned a host path for you. If the\n\t\t\t\thost parameter contains a sourcePath file location, then\n\t\t\tthe data volume persists at the specified location on the host container instance until\n\t\t\tyou delete it manually. If the sourcePath value doesn't exist on the host\n\t\t\tcontainer instance, the Docker daemon creates it. If the location does exist, the\n\t\t\tcontents of the source path folder are exported.

\n\t\t

If you're using the Fargate launch type, the sourcePath\n\t\t\tparameter is not supported.

" + "smithy.api#documentation": "

When the host parameter is used, specify a sourcePath to\n\t\t\tdeclare the path on the host container instance that's presented to the container. If\n\t\t\tthis parameter is empty, then the Docker daemon has assigned a host path for you. If the\n\t\t\t\thost parameter contains a sourcePath file location, then\n\t\t\tthe data volume persists at the specified location on the host container instance until\n\t\t\tyou delete it manually. If the sourcePath value doesn't exist on the host\n\t\t\tcontainer instance, the Docker daemon creates it. If the location does exist, the\n\t\t\tcontents of the source path folder are exported.

\n

If you're using the Fargate launch type, the sourcePath\n\t\t\tparameter is not supported.

" } } }, @@ -6456,7 +5491,7 @@ } }, "traits": { - "smithy.api#documentation": "

Details on an Elastic Inference accelerator task override. This parameter is used to\n\t\t\toverride the Elastic Inference accelerator specified in the task definition. For more\n\t\t\tinformation, see Working with Amazon\n\t\t\t\tElastic Inference on Amazon ECS in the\n\t\t\tAmazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

Details on an Elastic Inference accelerator task override. This parameter is used to\n\t\t\toverride the Elastic Inference accelerator specified in the task definition. For more\n\t\t\tinformation, see Working with Amazon\n\t\t\t\tElastic Inference on Amazon ECS in the Amazon Elastic Container Service Developer Guide.

" } }, "com.amazonaws.ecs#InferenceAcceleratorOverrides": { @@ -6596,13 +5631,13 @@ "add": { "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

The Linux capabilities for the container that have been added to the default\n\t\t\tconfiguration provided by Docker. This parameter maps to CapAdd in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--cap-add option to docker\n\t\t\t\trun.

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

Tasks launched on Fargate only support adding the SYS_PTRACE kernel\n\t\t\t\tcapability.

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

Valid values: \"ALL\" | \"AUDIT_CONTROL\" | \"AUDIT_WRITE\" | \"BLOCK_SUSPEND\" |\n\t\t\t\t\"CHOWN\" | \"DAC_OVERRIDE\" | \"DAC_READ_SEARCH\" | \"FOWNER\" | \"FSETID\" | \"IPC_LOCK\" |\n\t\t\t\t\"IPC_OWNER\" | \"KILL\" | \"LEASE\" | \"LINUX_IMMUTABLE\" | \"MAC_ADMIN\" | \"MAC_OVERRIDE\" |\n\t\t\t\t\"MKNOD\" | \"NET_ADMIN\" | \"NET_BIND_SERVICE\" | \"NET_BROADCAST\" | \"NET_RAW\" | \"SETFCAP\"\n\t\t\t\t| \"SETGID\" | \"SETPCAP\" | \"SETUID\" | \"SYS_ADMIN\" | \"SYS_BOOT\" | \"SYS_CHROOT\" |\n\t\t\t\t\"SYS_MODULE\" | \"SYS_NICE\" | \"SYS_PACCT\" | \"SYS_PTRACE\" | \"SYS_RAWIO\" |\n\t\t\t\t\"SYS_RESOURCE\" | \"SYS_TIME\" | \"SYS_TTY_CONFIG\" | \"SYSLOG\" |\n\t\t\t\"WAKE_ALARM\"\n

" + "smithy.api#documentation": "

The Linux capabilities for the container that have been added to the default\n\t\t\tconfiguration provided by Docker. This parameter maps to CapAdd in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--cap-add option to docker\n\t\t\t\trun.

\n \n

Tasks launched on Fargate only support adding the SYS_PTRACE kernel\n\t\t\t\tcapability.

\n
\n

Valid values: \"ALL\" | \"AUDIT_CONTROL\" | \"AUDIT_WRITE\" | \"BLOCK_SUSPEND\" |\n\t\t\t\t\"CHOWN\" | \"DAC_OVERRIDE\" | \"DAC_READ_SEARCH\" | \"FOWNER\" | \"FSETID\" | \"IPC_LOCK\" |\n\t\t\t\t\"IPC_OWNER\" | \"KILL\" | \"LEASE\" | \"LINUX_IMMUTABLE\" | \"MAC_ADMIN\" | \"MAC_OVERRIDE\" |\n\t\t\t\t\"MKNOD\" | \"NET_ADMIN\" | \"NET_BIND_SERVICE\" | \"NET_BROADCAST\" | \"NET_RAW\" | \"SETFCAP\"\n\t\t\t\t| \"SETGID\" | \"SETPCAP\" | \"SETUID\" | \"SYS_ADMIN\" | \"SYS_BOOT\" | \"SYS_CHROOT\" |\n\t\t\t\t\"SYS_MODULE\" | \"SYS_NICE\" | \"SYS_PACCT\" | \"SYS_PTRACE\" | \"SYS_RAWIO\" |\n\t\t\t\t\"SYS_RESOURCE\" | \"SYS_TIME\" | \"SYS_TTY_CONFIG\" | \"SYSLOG\" |\n\t\t\t\"WAKE_ALARM\"\n

" } }, "drop": { "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

The Linux capabilities for the container that have been removed from the default\n\t\t\tconfiguration provided by Docker. This parameter maps to CapDrop in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--cap-drop option to docker\n\t\t\t\trun.

\n\t\t

Valid values: \"ALL\" | \"AUDIT_CONTROL\" | \"AUDIT_WRITE\" | \"BLOCK_SUSPEND\" |\n\t\t\t\t\"CHOWN\" | \"DAC_OVERRIDE\" | \"DAC_READ_SEARCH\" | \"FOWNER\" | \"FSETID\" | \"IPC_LOCK\" |\n\t\t\t\t\"IPC_OWNER\" | \"KILL\" | \"LEASE\" | \"LINUX_IMMUTABLE\" | \"MAC_ADMIN\" | \"MAC_OVERRIDE\" |\n\t\t\t\t\"MKNOD\" | \"NET_ADMIN\" | \"NET_BIND_SERVICE\" | \"NET_BROADCAST\" | \"NET_RAW\" | \"SETFCAP\"\n\t\t\t\t| \"SETGID\" | \"SETPCAP\" | \"SETUID\" | \"SYS_ADMIN\" | \"SYS_BOOT\" | \"SYS_CHROOT\" |\n\t\t\t\t\"SYS_MODULE\" | \"SYS_NICE\" | \"SYS_PACCT\" | \"SYS_PTRACE\" | \"SYS_RAWIO\" |\n\t\t\t\t\"SYS_RESOURCE\" | \"SYS_TIME\" | \"SYS_TTY_CONFIG\" | \"SYSLOG\" |\n\t\t\t\"WAKE_ALARM\"\n

" + "smithy.api#documentation": "

The Linux capabilities for the container that have been removed from the default\n\t\t\tconfiguration provided by Docker. This parameter maps to CapDrop in the\n\t\t\tCreate a container section of the Docker Remote API and the\n\t\t\t\t--cap-drop option to docker\n\t\t\t\trun.

\n

Valid values: \"ALL\" | \"AUDIT_CONTROL\" | \"AUDIT_WRITE\" | \"BLOCK_SUSPEND\" |\n\t\t\t\t\"CHOWN\" | \"DAC_OVERRIDE\" | \"DAC_READ_SEARCH\" | \"FOWNER\" | \"FSETID\" | \"IPC_LOCK\" |\n\t\t\t\t\"IPC_OWNER\" | \"KILL\" | \"LEASE\" | \"LINUX_IMMUTABLE\" | \"MAC_ADMIN\" | \"MAC_OVERRIDE\" |\n\t\t\t\t\"MKNOD\" | \"NET_ADMIN\" | \"NET_BIND_SERVICE\" | \"NET_BROADCAST\" | \"NET_RAW\" | \"SETFCAP\"\n\t\t\t\t| \"SETGID\" | \"SETPCAP\" | \"SETUID\" | \"SYS_ADMIN\" | \"SYS_BOOT\" | \"SYS_CHROOT\" |\n\t\t\t\t\"SYS_MODULE\" | \"SYS_NICE\" | \"SYS_PACCT\" | \"SYS_PTRACE\" | \"SYS_RAWIO\" |\n\t\t\t\t\"SYS_RESOURCE\" | \"SYS_TIME\" | \"SYS_TTY_CONFIG\" | \"SYSLOG\" |\n\t\t\t\"WAKE_ALARM\"\n

" } } }, @@ -6671,13 +5706,13 @@ "capabilities": { "target": "com.amazonaws.ecs#KernelCapabilities", "traits": { - "smithy.api#documentation": "

The Linux capabilities for the container that are added to or dropped from the default\n\t\t\tconfiguration provided by Docker.

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

For tasks that use the Fargate launch type,\n\t\t\t\t\tcapabilities is supported for all platform versions but the\n\t\t\t\t\tadd parameter is only supported if using platform version 1.4.0 or\n\t\t\t\tlater.

\n\t\t
" + "smithy.api#documentation": "

The Linux capabilities for the container that are added to or dropped from the default\n\t\t\tconfiguration provided by Docker.

\n \n

For tasks that use the Fargate launch type,\n\t\t\t\t\tcapabilities is supported for all platform versions but the\n\t\t\t\t\tadd parameter is only supported if using platform version 1.4.0 or\n\t\t\t\tlater.

\n
" } }, "devices": { "target": "com.amazonaws.ecs#DevicesList", "traits": { - "smithy.api#documentation": "

Any host devices to expose to the container. This parameter maps to\n\t\t\t\tDevices in the Create a container section of the\n\t\t\tDocker Remote API and the --device option to docker run.

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

If you're using tasks that use the Fargate launch type, the\n\t\t\t\t\tdevices parameter isn't supported.

\n\t\t
" + "smithy.api#documentation": "

Any host devices to expose to the container. This parameter maps to\n\t\t\t\tDevices in the Create a container section of the\n\t\t\tDocker Remote API and the --device option to docker run.

\n \n

If you're using tasks that use the Fargate launch type, the\n\t\t\t\t\tdevices parameter isn't supported.

\n
" } }, "initProcessEnabled": { @@ -6689,25 +5724,25 @@ "sharedMemorySize": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The value for the size (in MiB) of the /dev/shm volume. This parameter\n\t\t\tmaps to the --shm-size option to docker\n\t\t\t\trun.

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

If you are using tasks that use the Fargate launch type, the\n\t\t\t\t\tsharedMemorySize parameter is not supported.

\n\t\t
" + "smithy.api#documentation": "

The value for the size (in MiB) of the /dev/shm volume. This parameter\n\t\t\tmaps to the --shm-size option to docker\n\t\t\t\trun.

\n \n

If you are using tasks that use the Fargate launch type, the\n\t\t\t\t\tsharedMemorySize parameter is not supported.

\n
" } }, "tmpfs": { "target": "com.amazonaws.ecs#TmpfsList", "traits": { - "smithy.api#documentation": "

The container path, mount options, and size (in MiB) of the tmpfs mount. This\n\t\t\tparameter maps to the --tmpfs option to docker run.

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

If you're using tasks that use the Fargate launch type, the\n\t\t\t\t\ttmpfs parameter isn't supported.

\n\t\t
" + "smithy.api#documentation": "

The container path, mount options, and size (in MiB) of the tmpfs mount. This\n\t\t\tparameter maps to the --tmpfs option to docker run.

\n \n

If you're using tasks that use the Fargate launch type, the\n\t\t\t\t\ttmpfs parameter isn't supported.

\n
" } }, "maxSwap": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The total amount of swap memory (in MiB) a container can use. This parameter will be\n\t\t\ttranslated to the --memory-swap option to docker run where the value would be the sum of\n\t\t\tthe container memory plus the maxSwap value.

\n\t\t

If a maxSwap value of 0 is specified, the container will not\n\t\t\tuse swap. Accepted values are 0 or any positive integer. If the\n\t\t\t\tmaxSwap parameter is omitted, the container will use the swap\n\t\t\tconfiguration for the container instance it is running on. A maxSwap value\n\t\t\tmust be set for the swappiness parameter to be used.

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

If you're using tasks that use the Fargate launch type, the\n\t\t\t\t\tmaxSwap parameter isn't supported.

\n\t\t
" + "smithy.api#documentation": "

The total amount of swap memory (in MiB) a container can use. This parameter will be\n\t\t\ttranslated to the --memory-swap option to docker run where the value would be the sum of\n\t\t\tthe container memory plus the maxSwap value.

\n

If a maxSwap value of 0 is specified, the container will not\n\t\t\tuse swap. Accepted values are 0 or any positive integer. If the\n\t\t\t\tmaxSwap parameter is omitted, the container will use the swap\n\t\t\tconfiguration for the container instance it is running on. A maxSwap value\n\t\t\tmust be set for the swappiness parameter to be used.

\n \n

If you're using tasks that use the Fargate launch type, the\n\t\t\t\t\tmaxSwap parameter isn't supported.

\n
" } }, "swappiness": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

This allows you to tune a container's memory swappiness behavior. A\n\t\t\t\tswappiness value of 0 will cause swapping to not happen\n\t\t\tunless absolutely necessary. A swappiness value of 100 will\n\t\t\tcause pages to be swapped very aggressively. Accepted values are whole numbers between\n\t\t\t\t0 and 100. If the swappiness parameter is not\n\t\t\tspecified, a default value of 60 is used. If a value is not specified for\n\t\t\t\tmaxSwap then this parameter is ignored. This parameter maps to the\n\t\t\t\t--memory-swappiness option to docker run.

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

If you're using tasks that use the Fargate launch type, the\n\t\t\t\t\tswappiness parameter isn't supported.

\n\t\t
" + "smithy.api#documentation": "

This allows you to tune a container's memory swappiness behavior. A\n\t\t\t\tswappiness value of 0 will cause swapping to not happen\n\t\t\tunless absolutely necessary. A swappiness value of 100 will\n\t\t\tcause pages to be swapped very aggressively. Accepted values are whole numbers between\n\t\t\t\t0 and 100. If the swappiness parameter is not\n\t\t\tspecified, a default value of 60 is used. If a value is not specified for\n\t\t\t\tmaxSwap then this parameter is ignored. This parameter maps to the\n\t\t\t\t--memory-swappiness option to docker run.

\n \n

If you're using tasks that use the Fargate launch type, the\n\t\t\t\t\tswappiness parameter isn't supported.

\n
" } } }, @@ -6762,7 +5797,7 @@ "principalArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The ARN of the principal, which can be an IAM user, IAM role, or the root user. If\n\t\t\tthis field is omitted, the account settings are listed only for the authenticated\n\t\t\tuser.

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

Federated users assume the account setting of the root user and can't have\n\t\t\t\texplicit account settings set for them.

\n\t\t
" + "smithy.api#documentation": "

The ARN of the principal, which can be an IAM user, IAM role, or the root user. If\n\t\t\tthis field is omitted, the account settings are listed only for the authenticated\n\t\t\tuser.

\n \n

Federated users assume the account setting of the root user and can't have\n\t\t\t\texplicit account settings set for them.

\n
" } }, "effectiveSettings": { @@ -6775,7 +5810,7 @@ "nextToken": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The nextToken value returned from a ListAccountSettings\n\t\t\trequest indicating that more results are available to fulfill the request and further\n\t\t\tcalls will be needed. If maxResults was provided, it's possible the number\n\t\t\tof results to be fewer than maxResults.

\n\t\t \n

This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

\n
" + "smithy.api#documentation": "

The nextToken value returned from a ListAccountSettings\n\t\t\trequest indicating that more results are available to fulfill the request and further\n\t\t\tcalls will be needed. If maxResults was provided, it's possible the number\n\t\t\tof results to be fewer than maxResults.

\n \n

This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

\n
" } }, "maxResults": { @@ -6861,7 +5896,7 @@ "nextToken": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The nextToken value returned from a ListAttributes request\n\t\t\tindicating that more results are available to fulfill the request and further calls are\n\t\t\tneeded. If maxResults was provided, it's possible the number of results to\n\t\t\tbe fewer than maxResults.

\n\t\t \n

This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

\n
" + "smithy.api#documentation": "

The nextToken value returned from a ListAttributes request\n\t\t\tindicating that more results are available to fulfill the request and further calls are\n\t\t\tneeded. If maxResults was provided, it's possible the number of results to\n\t\t\tbe fewer than maxResults.

\n \n

This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

\n
" } }, "maxResults": { @@ -6924,7 +5959,7 @@ "nextToken": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The nextToken value returned from a ListClusters request\n\t\t\tindicating that more results are available to fulfill the request and further calls are\n\t\t\tneeded. If maxResults was provided, it's possible the number of results to\n\t\t\tbe fewer than maxResults.

\n\t\t \n

This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

\n
" + "smithy.api#documentation": "

The nextToken value returned from a ListClusters request\n\t\t\tindicating that more results are available to fulfill the request and further calls are\n\t\t\tneeded. If maxResults was provided, it's possible the number of results to\n\t\t\tbe fewer than maxResults.

\n \n

This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

\n
" } }, "maxResults": { @@ -6975,7 +6010,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a list of container instances in a specified cluster. You can filter the\n\t\t\tresults of a ListContainerInstances operation with cluster query language\n\t\t\tstatements inside the filter parameter. For more information, see Cluster Query Language in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

", + "smithy.api#documentation": "

Returns a list of container instances in a specified cluster. You can filter the\n\t\t\tresults of a ListContainerInstances operation with cluster query language\n\t\t\tstatements inside the filter parameter. For more information, see Cluster Query Language in the Amazon Elastic Container Service Developer Guide.

", "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", @@ -6996,13 +6031,13 @@ "filter": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

You can filter the results of a ListContainerInstances operation with\n\t\t\tcluster query language statements. For more information, see Cluster Query Language in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

You can filter the results of a ListContainerInstances operation with\n\t\t\tcluster query language statements. For more information, see Cluster Query Language in the Amazon Elastic Container Service Developer Guide.

" } }, "nextToken": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The nextToken value returned from a ListContainerInstances\n\t\t\trequest indicating that more results are available to fulfill the request and further\n\t\t\tcalls are needed. If maxResults was provided, it's possible the number of\n\t\t\tresults to be fewer than maxResults.

\n\t\t \n

This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

\n
" + "smithy.api#documentation": "

The nextToken value returned from a ListContainerInstances\n\t\t\trequest indicating that more results are available to fulfill the request and further\n\t\t\tcalls are needed. If maxResults was provided, it's possible the number of\n\t\t\tresults to be fewer than maxResults.

\n \n

This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

\n
" } }, "maxResults": { @@ -7054,17 +6089,90 @@ { "target": "com.amazonaws.ecs#InvalidParameterException" }, - { - "target": "com.amazonaws.ecs#ServerException" - } - ], - "traits": { - "smithy.api#documentation": "

Returns a list of services. You can filter the results by cluster, launch type, and\n\t\t\tscheduling strategy.

", - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "items": "serviceArns", - "pageSize": "maxResults" + { + "target": "com.amazonaws.ecs#ServerException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns a list of services. You can filter the results by cluster, launch type, and\n\t\t\tscheduling strategy.

", + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "items": "serviceArns", + "pageSize": "maxResults" + } + } + }, + "com.amazonaws.ecs#ListServicesByNamespace": { + "type": "operation", + "input": { + "target": "com.amazonaws.ecs#ListServicesByNamespaceRequest" + }, + "output": { + "target": "com.amazonaws.ecs#ListServicesByNamespaceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.ecs#ClientException" + }, + { + "target": "com.amazonaws.ecs#InvalidParameterException" + }, + { + "target": "com.amazonaws.ecs#NamespaceNotFoundException" + }, + { + "target": "com.amazonaws.ecs#ServerException" + } + ], + "traits": { + "smithy.api#documentation": "

This operation lists all of the services that are associated with a Cloud Map\n\t\t\tnamespace. This list might include services in different clusters. In contrast,\n\t\t\t\tListServices can only list services in one cluster at a time. If you\n\t\t\tneed to filter the list of services in a single cluster by various parameters, use\n\t\t\t\tListServices. For more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

", + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "items": "serviceArns", + "pageSize": "maxResults" + } + } + }, + "com.amazonaws.ecs#ListServicesByNamespaceRequest": { + "type": "structure", + "members": { + "namespace": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

The namespace name or full Amazon Resource Name (ARN) of the Cloud Map namespace to list the services in.

\n

Tasks that run in a namespace can use short names to connect\n\tto services in the namespace. Tasks can connect to services across all of the clusters in the namespace.\n\tTasks connect through a managed proxy container\n\tthat collects logs and metrics for increased visibility.\n\tOnly the tasks that Amazon ECS services create are supported with Service Connect.\n\tFor more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

The nextToken value that's returned from a\n\t\t\t\tListServicesByNamespace request. It indicates that more results are\n\t\t\tavailable to fulfill the request and further calls are needed. If\n\t\t\t\tmaxResults is returned, it is possible the number of results is less\n\t\t\tthan maxResults.

" + } + }, + "maxResults": { + "target": "com.amazonaws.ecs#BoxedInteger", + "traits": { + "smithy.api#documentation": "

The maximum number of service results that ListServicesByNamespace\n\t\t\treturns in paginated output. When this parameter is used,\n\t\t\t\tListServicesByNamespace only returns maxResults results in\n\t\t\ta single page along with a nextToken response element. The remaining\n\t\t\tresults of the initial request can be seen by sending another\n\t\t\t\tListServicesByNamespace request with the returned\n\t\t\t\tnextToken value. This value can be between 1 and\n\t\t\t100. If this parameter isn't used, then\n\t\t\t\tListServicesByNamespace returns up to\n\t\t\t10 results and a nextToken\n\t\t\tvalue if applicable.

" + } + } + } + }, + "com.amazonaws.ecs#ListServicesByNamespaceResponse": { + "type": "structure", + "members": { + "serviceArns": { + "target": "com.amazonaws.ecs#StringList", + "traits": { + "smithy.api#documentation": "

The list of full ARN entries for each service that's associated with the specified\n\t\t\tnamespace.

" + } + }, + "nextToken": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

The nextToken value to include in a future\n\t\t\t\tListServicesByNamespace request. When the results of a\n\t\t\t\tListServicesByNamespace request exceed maxResults, this\n\t\t\tvalue can be used to retrieve the next page of results. When there are no more results\n\t\t\tto return, this value is null.

" + } } } }, @@ -7080,7 +6188,7 @@ "nextToken": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The nextToken value returned from a ListServices request\n\t\t\tindicating that more results are available to fulfill the request and further calls will\n\t\t\tbe needed. If maxResults was provided, it is possible the number of results\n\t\t\tto be fewer than maxResults.

\n\t\t \n

This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

\n
" + "smithy.api#documentation": "

The nextToken value returned from a ListServices request\n\t\t\tindicating that more results are available to fulfill the request and further calls will\n\t\t\tbe needed. If maxResults was provided, it is possible the number of results\n\t\t\tto be fewer than maxResults.

\n \n

This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

\n
" } }, "maxResults": { @@ -7189,7 +6297,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a list of task definition families that are registered to your account. This\n\t\t\tlist includes task definition families that no longer have any ACTIVE task\n\t\t\tdefinition revisions.

\n\t\t

You can filter out task definition families that don't contain any ACTIVE\n\t\t\ttask definition revisions by setting the status parameter to\n\t\t\t\tACTIVE. You can also filter the results with the\n\t\t\t\tfamilyPrefix parameter.

", + "smithy.api#documentation": "

Returns a list of task definition families that are registered to your account. This\n\t\t\tlist includes task definition families that no longer have any ACTIVE task\n\t\t\tdefinition revisions.

\n

You can filter out task definition families that don't contain any ACTIVE\n\t\t\ttask definition revisions by setting the status parameter to\n\t\t\t\tACTIVE. You can also filter the results with the\n\t\t\t\tfamilyPrefix parameter.

", "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", @@ -7216,7 +6324,7 @@ "nextToken": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The nextToken value returned from a\n\t\t\t\tListTaskDefinitionFamilies request indicating that more results are\n\t\t\tavailable to fulfill the request and further calls will be needed. If\n\t\t\t\tmaxResults was provided, it is possible the number of results to be\n\t\t\tfewer than maxResults.

\n\t\t \n

This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

\n
" + "smithy.api#documentation": "

The nextToken value returned from a\n\t\t\t\tListTaskDefinitionFamilies request indicating that more results are\n\t\t\tavailable to fulfill the request and further calls will be needed. If\n\t\t\t\tmaxResults was provided, it is possible the number of results to be\n\t\t\tfewer than maxResults.

\n \n

This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

\n
" } }, "maxResults": { @@ -7297,7 +6405,7 @@ "nextToken": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The nextToken value returned from a ListTaskDefinitions\n\t\t\trequest indicating that more results are available to fulfill the request and further\n\t\t\tcalls will be needed. If maxResults was provided, it is possible the number\n\t\t\tof results to be fewer than maxResults.

\n\t\t \n

This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

\n
" + "smithy.api#documentation": "

The nextToken value returned from a ListTaskDefinitions\n\t\t\trequest indicating that more results are available to fulfill the request and further\n\t\t\tcalls will be needed. If maxResults was provided, it is possible the number\n\t\t\tof results to be fewer than maxResults.

\n \n

This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

\n
" } }, "maxResults": { @@ -7351,7 +6459,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a list of tasks. You can filter the results by cluster, task definition\n\t\t\tfamily, container instance, launch type, what IAM principal started the task, or by the\n\t\t\tdesired status of the task.

\n\t\t

Recently stopped tasks might appear in the returned results. Currently, stopped tasks\n\t\t\tappear in the returned results for at least one hour.

", + "smithy.api#documentation": "

Returns a list of tasks. You can filter the results by cluster, task definition\n\t\t\tfamily, container instance, launch type, what IAM principal started the task, or by the\n\t\t\tdesired status of the task.

\n

Recently stopped tasks might appear in the returned results. Currently, stopped tasks\n\t\t\tappear in the returned results for at least one hour.

", "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", @@ -7384,7 +6492,7 @@ "nextToken": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The nextToken value returned from a ListTasks request\n\t\t\tindicating that more results are available to fulfill the request and further calls will\n\t\t\tbe needed. If maxResults was provided, it's possible the number of results\n\t\t\tto be fewer than maxResults.

\n\t\t \n

This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

\n
" + "smithy.api#documentation": "

The nextToken value returned from a ListTasks request\n\t\t\tindicating that more results are available to fulfill the request and further calls will\n\t\t\tbe needed. If maxResults was provided, it's possible the number of results\n\t\t\tto be fewer than maxResults.

\n \n

This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

\n
" } }, "maxResults": { @@ -7396,7 +6504,7 @@ "startedBy": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The startedBy value to filter the task results with. Specifying a\n\t\t\t\tstartedBy value limits the results to tasks that were started with that\n\t\t\tvalue.

" + "smithy.api#documentation": "

The startedBy value to filter the task results with. Specifying a\n\t\t\t\tstartedBy value limits the results to tasks that were started with that\n\t\t\tvalue.

\n

When you specify startedBy as the filter, it must be the only filter that\n\t\t\tyou use.

" } }, "serviceName": { @@ -7408,7 +6516,7 @@ "desiredStatus": { "target": "com.amazonaws.ecs#DesiredStatus", "traits": { - "smithy.api#documentation": "

The task desired status to use when filtering the ListTasks results.\n\t\t\tSpecifying a desiredStatus of STOPPED limits the results to\n\t\t\ttasks that Amazon ECS has set the desired status to STOPPED. This can be useful\n\t\t\tfor debugging tasks that aren't starting properly or have died or finished. The default\n\t\t\tstatus filter is RUNNING, which shows tasks that Amazon ECS has set the desired\n\t\t\tstatus to RUNNING.

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

Although you can filter results based on a desired status of PENDING,\n\t\t\t\tthis doesn't return any results. Amazon ECS never sets the desired status of a task to\n\t\t\t\tthat value (only a task's lastStatus may have a value of\n\t\t\t\t\tPENDING).

\n\t\t
" + "smithy.api#documentation": "

The task desired status to use when filtering the ListTasks results.\n\t\t\tSpecifying a desiredStatus of STOPPED limits the results to\n\t\t\ttasks that Amazon ECS has set the desired status to STOPPED. This can be useful\n\t\t\tfor debugging tasks that aren't starting properly or have died or finished. The default\n\t\t\tstatus filter is RUNNING, which shows tasks that Amazon ECS has set the desired\n\t\t\tstatus to RUNNING.

\n \n

Although you can filter results based on a desired status of PENDING,\n\t\t\t\tthis doesn't return any results. Amazon ECS never sets the desired status of a task to\n\t\t\t\tthat value (only a task's lastStatus may have a value of\n\t\t\t\t\tPENDING).

\n
" } }, "launchType": { @@ -7442,13 +6550,13 @@ "targetGroupArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or\n\t\t\ttask set.

\n\t\t

A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer. If you're using a\n\t\t\tClassic Load Balancer, omit the target group ARN.

\n\t\t

For services using the ECS deployment controller, you can specify one or\n\t\t\tmultiple target groups. For more information, see Registering multiple target groups with a service in\n\t\t\tthe Amazon Elastic Container Service Developer Guide.

\n\t\t

For services using the CODE_DEPLOY deployment controller, you're required\n\t\t\tto define two target groups for the load balancer. For more information, see Blue/green deployment with CodeDeploy in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

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

If your service's task definition uses the awsvpc network mode, you\n\t\t\t\tmust choose ip as the target type, not instance. Do this\n\t\t\t\twhen creating your target groups because tasks that use the awsvpc\n\t\t\t\tnetwork mode are associated with an elastic network interface, not an Amazon EC2\n\t\t\t\tinstance. This network mode is required for the Fargate launch\n\t\t\t\ttype.

\n\t\t
" + "smithy.api#documentation": "

The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or\n\t\t\ttask set.

\n

A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer. If you're using a\n\t\t\tClassic Load Balancer, omit the target group ARN.

\n

For services using the ECS deployment controller, you can specify one or\n\t\t\tmultiple target groups. For more information, see Registering multiple target groups with a service in\n\t\t\tthe Amazon Elastic Container Service Developer Guide.

\n

For services using the CODE_DEPLOY deployment controller, you're required\n\t\t\tto define two target groups for the load balancer. For more information, see Blue/green deployment with CodeDeploy in the\n\t\t\tAmazon Elastic Container Service Developer Guide.

\n \n

If your service's task definition uses the awsvpc network mode, you\n\t\t\t\tmust choose ip as the target type, not instance. Do this\n\t\t\t\twhen creating your target groups because tasks that use the awsvpc\n\t\t\t\tnetwork mode are associated with an elastic network interface, not an Amazon EC2\n\t\t\t\tinstance. This network mode is required for the Fargate launch\n\t\t\t\ttype.

\n
" } }, "loadBalancerName": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The name of the load balancer to associate with the Amazon ECS service or task set.

\n\t\t

A load balancer name is only specified when using a Classic Load Balancer. If you are using an Application Load Balancer\n\t\t\tor a Network Load Balancer the load balancer name parameter should be omitted.

" + "smithy.api#documentation": "

The name of the load balancer to associate with the Amazon ECS service or task set.

\n

A load balancer name is only specified when using a Classic Load Balancer. If you are using an Application Load Balancer\n\t\t\tor a Network Load Balancer the load balancer name parameter should be omitted.

" } }, "containerName": { @@ -7465,7 +6573,7 @@ } }, "traits": { - "smithy.api#documentation": "

The load balancer configuration to use with a service or task set.

\n\t\t

For specific notes and restrictions regarding the use of load balancers with services\n\t\t\tand task sets, see the CreateService and CreateTaskSet actions.

\n\t\t

When you add, update, or remove a load balancer configuration, Amazon ECS starts a new\n\t\t\tdeployment with the updated Elastic Load Balancing configuration. This causes tasks to register to and\n\t\t\tderegister from load balancers.

\n\t\t

We recommend that you verify this on a test environment before you update the Elastic Load Balancing\n\t\t\tconfiguration.

\n\t\t

A service-linked role is required for services that use multiple target groups. For\n\t\t\tmore information, see Using\n\t\t\t\tservice-linked roles in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The load balancer configuration to use with a service or task set.

\n

For specific notes and restrictions regarding the use of load balancers with services\n\t\t\tand task sets, see the CreateService and CreateTaskSet actions.

\n

When you add, update, or remove a load balancer configuration, Amazon ECS starts a new\n\t\t\tdeployment with the updated Elastic Load Balancing configuration. This causes tasks to register to and\n\t\t\tderegister from load balancers.

\n

We recommend that you verify this on a test environment before you update the Elastic Load Balancing\n\t\t\tconfiguration.

\n

A service-linked role is required for services that use multiple target groups. For\n\t\t\tmore information, see Using\n\t\t\t\tservice-linked roles in the Amazon Elastic Container Service Developer Guide.

" } }, "com.amazonaws.ecs#LoadBalancers": { @@ -7480,14 +6588,14 @@ "logDriver": { "target": "com.amazonaws.ecs#LogDriver", "traits": { - "smithy.api#documentation": "

The log driver to use for the container.

\n\t\t

For tasks on Fargate, the supported log drivers are awslogs,\n\t\t\t\tsplunk, and awsfirelens.

\n\t\t

For tasks hosted on Amazon EC2 instances, the supported log drivers are\n\t\t\t\tawslogs, fluentd, gelf,\n\t\t\t\tjson-file, journald,\n\t\t\t\tlogentries,syslog, splunk, and\n\t\t\t\tawsfirelens.

\n\t\t

For more information about using the awslogs log driver, see Using\n\t\t\t\tthe awslogs log driver in the Amazon Elastic Container Service Developer Guide.

\n\t\t

For more information about using the awsfirelens log driver, see Custom log routing in the Amazon Elastic Container Service Developer Guide.

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

If you have a custom driver that isn't listed, you can fork the Amazon ECS container\n\t\t\t\tagent project that's available\n\t\t\t\t\ton GitHub and customize it to work with that driver. We encourage you to\n\t\t\t\tsubmit pull requests for changes that you would like to have included. However, we\n\t\t\t\tdon't currently provide support for running modified copies of this software.

\n\t\t
", + "smithy.api#documentation": "

The log driver to use for the container.

\n

For tasks on Fargate, the supported log drivers are awslogs,\n\t\t\t\tsplunk, and awsfirelens.

\n

For tasks hosted on Amazon EC2 instances, the supported log drivers are\n\t\t\t\tawslogs, fluentd, gelf,\n\t\t\t\tjson-file, journald,\n\t\t\t\tlogentries,syslog, splunk, and\n\t\t\t\tawsfirelens.

\n

For more information about using the awslogs log driver, see Using\n\t\t\t\tthe awslogs log driver in the Amazon Elastic Container Service Developer Guide.

\n

For more information about using the awsfirelens log driver, see Custom log routing in the Amazon Elastic Container Service Developer Guide.

\n \n

If you have a custom driver that isn't listed, you can fork the Amazon ECS container\n\t\t\t\tagent project that's available\n\t\t\t\t\ton GitHub and customize it to work with that driver. We encourage you to\n\t\t\t\tsubmit pull requests for changes that you would like to have included. However, we\n\t\t\t\tdon't currently provide support for running modified copies of this software.

\n
", "smithy.api#required": {} } }, "options": { "target": "com.amazonaws.ecs#LogConfigurationOptionsMap", "traits": { - "smithy.api#documentation": "

The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}' \n

" + "smithy.api#documentation": "

The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'\n

" } }, "secretOptions": { @@ -7498,7 +6606,7 @@ } }, "traits": { - "smithy.api#documentation": "

The log configuration for the container. This parameter maps to LogConfig\n\t\t\tin the Create a container section of the Docker Remote API and the\n\t\t\t\t--log-driver option to \n docker\n\t\t\t\t\trun\n .

\n\t\t

By default, containers use the same logging driver that the Docker daemon uses.\n\t\t\tHowever, the container might use a different logging driver than the Docker daemon by\n\t\t\tspecifying a log driver configuration in the container definition. For more information\n\t\t\tabout the options for different supported log drivers, see Configure logging\n\t\t\t\tdrivers in the Docker documentation.

\n\t\t

Understand the following when specifying a log configuration for your\n\t\t\tcontainers.

\n\t\t
    \n
  • \n\t\t\t\t

    Amazon ECS currently supports a subset of the logging drivers available to the\n\t\t\t\t\tDocker daemon (shown in the valid values below). Additional log drivers may be\n\t\t\t\t\tavailable in future releases of the Amazon ECS container agent.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    This parameter requires version 1.18 of the Docker Remote API or greater on\n\t\t\t\t\tyour container instance.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must\n\t\t\t\t\tregister the available logging drivers with the\n\t\t\t\t\t\tECS_AVAILABLE_LOGGING_DRIVERS environment variable before\n\t\t\t\t\tcontainers placed on that instance can use these log configuration options. For\n\t\t\t\t\tmore information, see Amazon ECS container agent configuration in the\n\t\t\t\t\t\tAmazon Elastic Container Service Developer Guide.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    For tasks that are on Fargate, because you don't have access to the\n\t\t\t\t\tunderlying infrastructure your tasks are hosted on, any additional software\n\t\t\t\t\tneeded must be installed outside of the task. For example, the Fluentd output\n\t\t\t\t\taggregators or a remote host running Logstash to send Gelf logs to.

    \n\t\t\t
  • \n
" + "smithy.api#documentation": "

The log configuration for the container. This parameter maps to LogConfig\n\t\t\tin the Create a container section of the Docker Remote API and the\n\t\t\t\t--log-driver option to \n docker\n\t\t\t\t\trun\n .

\n

By default, containers use the same logging driver that the Docker daemon uses.\n\t\t\tHowever, the container might use a different logging driver than the Docker daemon by\n\t\t\tspecifying a log driver configuration in the container definition. For more information\n\t\t\tabout the options for different supported log drivers, see Configure logging\n\t\t\t\tdrivers in the Docker documentation.

\n

Understand the following when specifying a log configuration for your\n\t\t\tcontainers.

\n
    \n
  • \n

    Amazon ECS currently supports a subset of the logging drivers available to the\n\t\t\t\t\tDocker daemon (shown in the valid values below). Additional log drivers may be\n\t\t\t\t\tavailable in future releases of the Amazon ECS container agent.

    \n
  • \n
  • \n

    This parameter requires version 1.18 of the Docker Remote API or greater on\n\t\t\t\t\tyour container instance.

    \n
  • \n
  • \n

    For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must\n\t\t\t\t\tregister the available logging drivers with the\n\t\t\t\t\t\tECS_AVAILABLE_LOGGING_DRIVERS environment variable before\n\t\t\t\t\tcontainers placed on that instance can use these log configuration options. For\n\t\t\t\t\tmore information, see Amazon ECS container agent configuration in the\n\t\t\t\t\tAmazon Elastic Container Service Developer Guide.

    \n
  • \n
  • \n

    For tasks that are on Fargate, because you don't have access to the\n\t\t\t\t\tunderlying infrastructure your tasks are hosted on, any additional software\n\t\t\t\t\tneeded must be installed outside of the task. For example, the Fluentd output\n\t\t\t\t\taggregators or a remote host running Logstash to send Gelf logs to.

    \n
  • \n
" } }, "com.amazonaws.ecs#LogConfigurationOptionsMap": { @@ -7677,13 +6785,13 @@ "minimumScalingStepSize": { "target": "com.amazonaws.ecs#ManagedScalingStepSize", "traits": { - "smithy.api#documentation": "

The minimum number of Amazon EC2 instances that Amazon ECS will scale out at one time. The scale\n\t\t\tin process is not affected by this parameter If this parameter is omitted, the default\n\t\t\tvalue of 1 is used.

\n\t\t

When additional capacity is required, Amazon ECS will scale up the minimum scaling step\n\t\t\tsize even if the actual demand is less than the minimum scaling step size.

\n\t\t

If you use a capacity provider with an Auto Scaling group configured with more than\n\t\t\tone Amazon EC2 instance type or Availability Zone, Amazon ECS will scale up by the exact minimum\n\t\t\tscaling step size value and will ignore both the maximum scaling step size as well as\n\t\t\tthe capacity demand.

" + "smithy.api#documentation": "

The minimum number of Amazon EC2 instances that Amazon ECS will scale out at one time. The scale\n\t\t\tin process is not affected by this parameter If this parameter is omitted, the default\n\t\t\tvalue of 1 is used.

\n

When additional capacity is required, Amazon ECS will scale up the minimum scaling step\n\t\t\tsize even if the actual demand is less than the minimum scaling step size.

\n

If you use a capacity provider with an Auto Scaling group configured with more than\n\t\t\tone Amazon EC2 instance type or Availability Zone, Amazon ECS will scale up by the exact minimum\n\t\t\tscaling step size value and will ignore both the maximum scaling step size as well as\n\t\t\tthe capacity demand.

" } }, "maximumScalingStepSize": { "target": "com.amazonaws.ecs#ManagedScalingStepSize", "traits": { - "smithy.api#documentation": "

The maximum number of Amazon EC2 instances that Amazon ECS will scale out at one time. The scale\n\t\t\tin process is not affected by this parameter. If this parameter is omitted, the default\n\t\t\tvalue of 10000 is used.

" + "smithy.api#documentation": "

The maximum number of Amazon EC2 instances that Amazon ECS will scale out at one time. The scale\n\t\t\tin process is not affected by this parameter. If this parameter is omitted, the default\n\t\t\tvalue of 1 is used.

" } }, "instanceWarmupPeriod": { @@ -7694,7 +6802,7 @@ } }, "traits": { - "smithy.api#documentation": "

The managed scaling settings for the Auto Scaling group capacity provider.

\n\t\t

When managed scaling is enabled, Amazon ECS manages the scale-in and scale-out actions of\n\t\t\tthe Auto Scaling group. Amazon ECS manages a target tracking scaling policy using an Amazon ECS\n\t\t\tmanaged CloudWatch metric with the specified targetCapacity value as the target\n\t\t\tvalue for the metric. For more information, see Using managed scaling in the Amazon Elastic Container Service Developer Guide.

\n\t\t

If managed scaling is disabled, the user must manage the scaling of the Auto Scaling\n\t\t\tgroup.

" + "smithy.api#documentation": "

The managed scaling settings for the Auto Scaling group capacity provider.

\n

When managed scaling is enabled, Amazon ECS manages the scale-in and scale-out actions of\n\t\t\tthe Auto Scaling group. Amazon ECS manages a target tracking scaling policy using an Amazon ECS\n\t\t\tmanaged CloudWatch metric with the specified targetCapacity value as the target\n\t\t\tvalue for the metric. For more information, see Using managed scaling in the Amazon Elastic Container Service Developer Guide.

\n

If managed scaling is disabled, the user must manage the scaling of the Auto Scaling\n\t\t\tgroup.

" } }, "com.amazonaws.ecs#ManagedScalingInstanceWarmupPeriod": { @@ -7802,6 +6910,18 @@ "target": "com.amazonaws.ecs#MountPoint" } }, + "com.amazonaws.ecs#NamespaceNotFoundException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.ecs#String" + } + }, + "traits": { + "smithy.api#documentation": "

The specified namespace wasn't found.

", + "smithy.api#error": "client" + } + }, "com.amazonaws.ecs#NetworkBinding": { "type": "structure", "members": { @@ -7828,6 +6948,18 @@ "traits": { "smithy.api#documentation": "

The protocol used for the network binding.

" } + }, + "containerPortRange": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

The port number range on the container that's bound to the dynamically mapped host port range.

\n

The following rules apply when you specify a containerPortRange:

\n
    \n
  • \n

    You must use either the bridge network mode or the awsvpc\n\t\t\t\t\tnetwork mode.

    \n
  • \n
  • \n

    This parameter is available for both the EC2 and Fargate launch types.

    \n
  • \n
  • \n

    This parameter is available for both the Linux and Windows operating systems.

    \n
  • \n
  • \n

    The container instance must have at least version 1.67.0 of the container agent\n\t\t\t\t\tand at least version 1.67.0-1 of the ecs-init package

    \n
  • \n
  • \n

    You can specify a maximum of 100 port ranges per container.

    \n
  • \n
  • \n

    You do not specify a hostPortRange. The value of the hostPortRange is set\n\t\t\t\t\tas follows:

    \n
      \n
    • \n

      For containers in a task with the awsvpc network mode,\n\t\t\t\t\t\t\tthe hostPort is set to the same value as the\n\t\t\t\t\t\t\t\tcontainerPort. This is a static mapping\n\t\t\t\t\t\t\tstrategy.

      \n
    • \n
    • \n

      For containers in a task with the bridge network mode, the Amazon ECS agent finds open host ports from the default ephemeral range and passes it to docker to bind them to the container ports.

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

    The containerPortRange valid values are between 1 and\n\t\t\t\t\t65535.

    \n
  • \n
  • \n

    A port can only be included in one port mapping per container.

    \n
  • \n
  • \n

    You cannot specify overlapping port ranges.

    \n
  • \n
  • \n

    The first port in the range must be less than last port in the range.

    \n
  • \n
  • \n

    Docker recommends that you turn off the docker-proxy in the Docker daemon config file when you have a large number of ports.

    \n

    For more information, see Issue #11185 on the Github website.

    \n

    For information about how to turn off the docker-proxy in the Docker daemon config file, see Docker daemon in the Amazon ECS Developer Guide.

    \n
  • \n
\n

You can call \n DescribeTasks\n to view the hostPortRange which\n\t\t\tare the host ports that are bound to the container ports.

" + } + }, + "hostPortRange": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

The port number range on the host that's used with the network binding. This is assigned is\n\t\t\tassigned by Docker and delivered by the Amazon ECS agent.

" + } } }, "traits": { @@ -7846,7 +6978,7 @@ "awsvpcConfiguration": { "target": "com.amazonaws.ecs#AwsVpcConfiguration", "traits": { - "smithy.api#documentation": "

The VPC subnets and security groups that are associated with a task.

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

All specified subnets and security groups must be from the same VPC.

\n\t\t
" + "smithy.api#documentation": "

The VPC subnets and security groups that are associated with a task.

\n \n

All specified subnets and security groups must be from the same VPC.

\n
" } } }, @@ -8009,12 +7141,12 @@ "expression": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

A cluster query language expression to apply to the constraint. The expression can\n\t\t\thave a maximum length of 2000 characters. You can't specify an expression if the\n\t\t\tconstraint type is distinctInstance. For more information, see Cluster query language in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

A cluster query language expression to apply to the constraint. The expression can\n\t\t\thave a maximum length of 2000 characters. You can't specify an expression if the\n\t\t\tconstraint type is distinctInstance. For more information, see Cluster query language in the Amazon Elastic Container Service Developer Guide.

" } } }, "traits": { - "smithy.api#documentation": "

An object representing a constraint on task placement. For more information, see\n\t\t\t\tTask placement constraints in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

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

If you're using the Fargate launch type, task placement constraints\n\t\t\t\taren't supported.

\n\t\t
" + "smithy.api#documentation": "

An object representing a constraint on task placement. For more information, see\n\t\t\t\tTask placement constraints in the\n\t\t\tAmazon Elastic Container Service Developer Guide.

\n \n

If you're using the Fargate launch type, task placement constraints\n\t\t\t\taren't supported.

\n
" } }, "com.amazonaws.ecs#PlacementConstraintType": { @@ -8063,7 +7195,7 @@ } }, "traits": { - "smithy.api#documentation": "

The task placement strategy for a task or service. For more information, see Task placement strategies in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The task placement strategy for a task or service. For more information, see Task placement strategies in the\n\t\t\tAmazon Elastic Container Service Developer Guide.

" } }, "com.amazonaws.ecs#PlacementStrategyType": { @@ -8158,13 +7290,13 @@ "containerPort": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The port number on the container that's bound to the user-specified or automatically\n\t\t\tassigned host port.

\n\t\t

If you use containers in a task with the awsvpc or host\n\t\t\tnetwork mode, specify the exposed ports using containerPort.

\n\t\t

If you use containers in a task with the bridge network mode and you\n\t\t\tspecify a container port and not a host port, your container automatically receives a\n\t\t\thost port in the ephemeral port range. For more information, see hostPort.\n\t\t\tPort mappings that are automatically assigned in this way do not count toward the 100\n\t\t\treserved ports limit of a container instance.

" + "smithy.api#documentation": "

The port number on the container that's bound to the user-specified or automatically\n\t\t\tassigned host port.

\n

If you use containers in a task with the awsvpc or host\n\t\t\tnetwork mode, specify the exposed ports using containerPort.

\n

If you use containers in a task with the bridge network mode and you\n\t\t\tspecify a container port and not a host port, your container automatically receives a\n\t\t\thost port in the ephemeral port range. For more information, see hostPort.\n\t\t\tPort mappings that are automatically assigned in this way do not count toward the 100\n\t\t\treserved ports limit of a container instance.

" } }, "hostPort": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The port number on the container instance to reserve for your container.

\n\t\t

If you use containers in a task with the awsvpc or host\n\t\t\tnetwork mode, the hostPort can either be left blank or set to the same\n\t\t\tvalue as the containerPort.

\n\t\t

If you use containers in a task with the bridge network mode, you can\n\t\t\tspecify a non-reserved host port for your container port mapping, or you can omit the\n\t\t\t\thostPort (or set it to 0) while specifying a\n\t\t\t\tcontainerPort and your container automatically receives a port in the\n\t\t\tephemeral port range for your container instance operating system and Docker\n\t\t\tversion.

\n\t\t

The default ephemeral port range for Docker version 1.6.0 and later is listed on the\n\t\t\tinstance under /proc/sys/net/ipv4/ip_local_port_range. If this kernel\n\t\t\tparameter is unavailable, the default ephemeral port range from 49153 through 65535 is\n\t\t\tused. Do not attempt to specify a host port in the ephemeral port range as these are\n\t\t\treserved for automatic assignment. In general, ports below 32768 are outside of the\n\t\t\tephemeral port range.

\n\t\t

The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the\n\t\t\tAmazon ECS container agent ports 51678-51680. Any host port that was previously specified in\n\t\t\ta running task is also reserved while the task is running. That is, after a task stops,\n\t\t\tthe host port is released. The current reserved ports are displayed in the\n\t\t\t\tremainingResources of DescribeContainerInstances\n\t\t\toutput. A container instance can have up to 100 reserved ports at a time. This number\n\t\t\tincludes the default reserved ports. Automatically assigned ports aren't included in the\n\t\t\t100 reserved ports quota.

" + "smithy.api#documentation": "

The port number on the container instance to reserve for your container.

\n

If you specify a containerPortRange, leave this field empty and the value of\n\t\t\tthe hostPort is set as follows:

\n
    \n
  • \n

    For containers in a task with the awsvpc network mode, the\n\t\t\t\t\t\thostPort is set to the same value as the\n\t\t\t\t\t\tcontainerPort. This is a static mapping strategy.

    \n
  • \n
  • \n

    For containers in a task with the bridge network mode, the Amazon ECS\n\t\t\t\t\tagent finds open ports on the host and automaticaly binds them to the container\n\t\t\t\t\tports. This is a dynamic mapping strategy.

    \n
  • \n
\n

If you use containers in a task with the awsvpc or host\n\t\t\tnetwork mode, the hostPort can either be left blank or set to the same\n\t\t\tvalue as the containerPort.

\n

If you use containers in a task with the bridge network mode, you can\n\t\t\tspecify a non-reserved host port for your container port mapping, or you can omit the\n\t\t\t\thostPort (or set it to 0) while specifying a\n\t\t\t\tcontainerPort and your container automatically receives a port in the\n\t\t\tephemeral port range for your container instance operating system and Docker\n\t\t\tversion.

\n

The default ephemeral port range for Docker version 1.6.0 and later is listed on the\n\t\t\tinstance under /proc/sys/net/ipv4/ip_local_port_range. If this kernel\n\t\t\tparameter is unavailable, the default ephemeral port range from 49153 through 65535 is\n\t\t\tused. Do not attempt to specify a host port in the ephemeral port range as these are\n\t\t\treserved for automatic assignment. In general, ports below 32768 are outside of the\n\t\t\tephemeral port range.

\n

The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the\n\t\t\tAmazon ECS container agent ports 51678-51680. Any host port that was previously specified in\n\t\t\ta running task is also reserved while the task is running. That is, after a task stops,\n\t\t\tthe host port is released. The current reserved ports are displayed in the\n\t\t\t\tremainingResources of DescribeContainerInstances\n\t\t\toutput. A container instance can have up to 100 reserved ports at a time. This number\n\t\t\tincludes the default reserved ports. Automatically assigned ports aren't included in the\n\t\t\t100 reserved ports quota.

" } }, "protocol": { @@ -8172,10 +7304,28 @@ "traits": { "smithy.api#documentation": "

The protocol used for the port mapping. Valid values are tcp and\n\t\t\t\tudp. The default is tcp.

" } + }, + "name": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

The name that's used for the port mapping. This parameter only applies to\n\t\t\tService Connect. This parameter is the name that you use in the\n\t\t\t\tserviceConnectConfiguration of a service. The name can include up to 64\n\t\t\tcharacters. The characters can include lowercase letters, numbers, underscores (_), and\n\t\t\thyphens (-). The name can't start with a hyphen.

\n

For more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

" + } + }, + "appProtocol": { + "target": "com.amazonaws.ecs#ApplicationProtocol", + "traits": { + "smithy.api#documentation": "

The application protocol that's used for the port mapping. This parameter only applies\n\t\t\tto Service Connect. We recommend that you set this parameter to be consistent with the\n\t\t\tprotocol that your application uses. If you set this parameter, Amazon ECS adds\n\t\t\tprotocol-specific connection handling to the Service Connect proxy. If you set this\n\t\t\tparameter, Amazon ECS adds protocol-specific telemetry in the Amazon ECS console and CloudWatch.

\n

If you don't set a value for this parameter, then TCP is used. However, Amazon ECS doesn't\n\t\t\tadd protocol-specific telemetry for TCP.

\n

Tasks that run in a namespace can use short names to connect\n\tto services in the namespace. Tasks can connect to services across all of the clusters in the namespace.\n\tTasks connect through a managed proxy container\n\tthat collects logs and metrics for increased visibility.\n\tOnly the tasks that Amazon ECS services create are supported with Service Connect.\n\tFor more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

" + } + }, + "containerPortRange": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

The port number range on the container that's bound to the dynamically mapped host port range.

\n

The following rules apply when you specify a containerPortRange:

\n
    \n
  • \n

    You must use either the bridge network mode or the awsvpc\n\t\t\t\t\tnetwork mode.

    \n
  • \n
  • \n

    This parameter is available for both the EC2 and Fargate launch types.

    \n
  • \n
  • \n

    This parameter is available for both the Linux and Windows operating systems.

    \n
  • \n
  • \n

    The container instance must have at least version 1.67.0 of the container agent\n\t\t\t\t\tand at least version 1.67.0-1 of the ecs-init package

    \n
  • \n
  • \n

    You can specify a maximum of 100 port ranges per container.

    \n
  • \n
  • \n

    You do not specify a hostPortRange. The value of the hostPortRange is set\n\t\t\t\t\tas follows:

    \n
      \n
    • \n

      For containers in a task with the awsvpc network mode,\n\t\t\t\t\t\t\tthe hostPort is set to the same value as the\n\t\t\t\t\t\t\t\tcontainerPort. This is a static mapping\n\t\t\t\t\t\t\tstrategy.

      \n
    • \n
    • \n

      For containers in a task with the bridge network mode, the Amazon ECS agent finds open host ports from the default ephemeral range and passes it to docker to bind them to the container ports.

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

    The containerPortRange valid values are between 1 and\n\t\t\t\t\t65535.

    \n
  • \n
  • \n

    A port can only be included in one port mapping per container.

    \n
  • \n
  • \n

    You cannot specify overlapping port ranges.

    \n
  • \n
  • \n

    The first port in the range must be less than last port in the range.

    \n
  • \n
  • \n

    Docker recommends that you turn off the docker-proxy in the Docker daemon config file when you have a large number of ports.

    \n

    For more information, see Issue #11185 on the Github website.

    \n

    For information about how to turn off the docker-proxy in the Docker daemon config file, see Docker daemon in the Amazon ECS Developer Guide.

    \n
  • \n
\n

You can call \n DescribeTasks\n to view the hostPortRange which\n\t\t\tare the host ports that are bound to the container ports.

" + } } }, "traits": { - "smithy.api#documentation": "

Port mappings allow containers to access ports on the host container instance to send\n\t\t\tor receive traffic. Port mappings are specified as part of the container\n\t\t\tdefinition.

\n\t\t

If you use containers in a task with the awsvpc or host\n\t\t\tnetwork mode, specify the exposed ports using containerPort. The\n\t\t\t\thostPort can be left blank or it must be the same value as the\n\t\t\t\tcontainerPort.

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

You can't expose the same container port for multiple protocols. If you attempt\n\t\t\t\tthis, an error is returned.

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

After a task reaches the RUNNING status, manual and automatic host and\n\t\t\tcontainer port assignments are visible in the networkBindings section of\n\t\t\t\tDescribeTasks API responses.

" + "smithy.api#documentation": "

Port mappings allow containers to access ports on the host container instance to send\n\t\t\tor receive traffic. Port mappings are specified as part of the container\n\t\t\tdefinition.

\n

If you use containers in a task with the awsvpc or host\n\t\t\tnetwork mode, specify the exposed ports using containerPort. The\n\t\t\t\thostPort can be left blank or it must be the same value as the\n\t\t\t\tcontainerPort.

\n \n

You can't expose the same container port for multiple protocols. If you attempt\n\t\t\t\tthis, an error is returned.

\n
\n

After a task reaches the RUNNING status, manual and automatic host and\n\t\t\tcontainer port assignments are visible in the networkBindings section of\n\t\t\t\tDescribeTasks API responses.

" } }, "com.amazonaws.ecs#PortMappingList": { @@ -8184,6 +7334,15 @@ "target": "com.amazonaws.ecs#PortMapping" } }, + "com.amazonaws.ecs#PortNumber": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 0, + "max": 65535 + } + } + }, "com.amazonaws.ecs#PropagateTags": { "type": "enum", "members": { @@ -8207,6 +7366,39 @@ } } }, + "com.amazonaws.ecs#ProtectedTask": { + "type": "structure", + "members": { + "taskArn": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

The task ARN.

" + } + }, + "protectionEnabled": { + "target": "com.amazonaws.ecs#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

The protection status of the task. If scale-in protection is enabled for a task, the\n\t\t\tvalue is true. Otherwise, it is false.

" + } + }, + "expirationDate": { + "target": "com.amazonaws.ecs#Timestamp", + "traits": { + "smithy.api#documentation": "

The epoch time when protection for the task will expire.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

An object representing the protection status details for a task. You can set the\n\t\t\tprotection status with the UpdateTaskProtection API and get the status\n\t\t\tof tasks with the GetTaskProtection API.

" + } + }, + "com.amazonaws.ecs#ProtectedTasks": { + "type": "list", + "member": { + "target": "com.amazonaws.ecs#ProtectedTask" + } + }, "com.amazonaws.ecs#ProxyConfiguration": { "type": "structure", "members": { @@ -8226,12 +7418,12 @@ "properties": { "target": "com.amazonaws.ecs#ProxyConfigurationProperties", "traits": { - "smithy.api#documentation": "

The set of network configuration parameters to provide the Container Network Interface\n\t\t\t(CNI) plugin, specified as key-value pairs.

\n\t\t
    \n
  • \n\t\t\t\t

    \n IgnoredUID - (Required) The user ID (UID) of the proxy\n\t\t\t\t\tcontainer as defined by the user parameter in a container\n\t\t\t\t\tdefinition. This is used to ensure the proxy ignores its own traffic. If\n\t\t\t\t\t\tIgnoredGID is specified, this field can be empty.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n IgnoredGID - (Required) The group ID (GID) of the proxy\n\t\t\t\t\tcontainer as defined by the user parameter in a container\n\t\t\t\t\tdefinition. This is used to ensure the proxy ignores its own traffic. If\n\t\t\t\t\t\tIgnoredUID is specified, this field can be empty.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n AppPorts - (Required) The list of ports that the\n\t\t\t\t\tapplication uses. Network traffic to these ports is forwarded to the\n\t\t\t\t\t\tProxyIngressPort and ProxyEgressPort.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n ProxyIngressPort - (Required) Specifies the port that\n\t\t\t\t\tincoming traffic to the AppPorts is directed to.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n ProxyEgressPort - (Required) Specifies the port that\n\t\t\t\t\toutgoing traffic from the AppPorts is directed to.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n EgressIgnoredPorts - (Required) The egress traffic going to\n\t\t\t\t\tthe specified ports is ignored and not redirected to the\n\t\t\t\t\t\tProxyEgressPort. It can be an empty list.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n EgressIgnoredIPs - (Required) The egress traffic going to\n\t\t\t\t\tthe specified IP addresses is ignored and not redirected to the\n\t\t\t\t\t\tProxyEgressPort. It can be an empty list.

    \n\t\t\t
  • \n
" + "smithy.api#documentation": "

The set of network configuration parameters to provide the Container Network Interface\n\t\t\t(CNI) plugin, specified as key-value pairs.

\n
    \n
  • \n

    \n IgnoredUID - (Required) The user ID (UID) of the proxy\n\t\t\t\t\tcontainer as defined by the user parameter in a container\n\t\t\t\t\tdefinition. This is used to ensure the proxy ignores its own traffic. If\n\t\t\t\t\t\tIgnoredGID is specified, this field can be empty.

    \n
  • \n
  • \n

    \n IgnoredGID - (Required) The group ID (GID) of the proxy\n\t\t\t\t\tcontainer as defined by the user parameter in a container\n\t\t\t\t\tdefinition. This is used to ensure the proxy ignores its own traffic. If\n\t\t\t\t\t\tIgnoredUID is specified, this field can be empty.

    \n
  • \n
  • \n

    \n AppPorts - (Required) The list of ports that the\n\t\t\t\t\tapplication uses. Network traffic to these ports is forwarded to the\n\t\t\t\t\t\tProxyIngressPort and ProxyEgressPort.

    \n
  • \n
  • \n

    \n ProxyIngressPort - (Required) Specifies the port that\n\t\t\t\t\tincoming traffic to the AppPorts is directed to.

    \n
  • \n
  • \n

    \n ProxyEgressPort - (Required) Specifies the port that\n\t\t\t\t\toutgoing traffic from the AppPorts is directed to.

    \n
  • \n
  • \n

    \n EgressIgnoredPorts - (Required) The egress traffic going to\n\t\t\t\t\tthe specified ports is ignored and not redirected to the\n\t\t\t\t\t\tProxyEgressPort. It can be an empty list.

    \n
  • \n
  • \n

    \n EgressIgnoredIPs - (Required) The egress traffic going to\n\t\t\t\t\tthe specified IP addresses is ignored and not redirected to the\n\t\t\t\t\t\tProxyEgressPort. It can be an empty list.

    \n
  • \n
" } } }, "traits": { - "smithy.api#documentation": "

The configuration details for the App Mesh proxy.

\n\t\t

For tasks that use the EC2 launch type, the container instances require\n\t\t\tat least version 1.26.0 of the container agent and at least version 1.26.0-1 of the\n\t\t\t\tecs-init package to use a proxy configuration. If your container\n\t\t\tinstances are launched from the Amazon ECS optimized AMI version 20190301 or\n\t\t\tlater, then they contain the required versions of the container agent and\n\t\t\t\tecs-init. For more information, see Amazon ECS-optimized Linux AMI\n\t\t

" + "smithy.api#documentation": "

The configuration details for the App Mesh proxy.

\n

For tasks that use the EC2 launch type, the container instances require\n\t\t\tat least version 1.26.0 of the container agent and at least version 1.26.0-1 of the\n\t\t\t\tecs-init package to use a proxy configuration. If your container\n\t\t\tinstances are launched from the Amazon ECS optimized AMI version 20190301 or\n\t\t\tlater, then they contain the required versions of the container agent and\n\t\t\t\tecs-init. For more information, see Amazon ECS-optimized Linux AMI\n

" } }, "com.amazonaws.ecs#ProxyConfigurationProperties": { @@ -8271,7 +7463,7 @@ } ], "traits": { - "smithy.api#documentation": "

Modifies an account setting. Account settings are set on a per-Region basis.

\n\t\t

If you change the account setting for the root user, the default settings for all of\n\t\t\tthe IAM users and roles that no individual account setting was specified are reset for.\n\t\t\tFor more information, see Account\n\t\t\t\tSettings in the Amazon Elastic Container Service Developer Guide.

\n\t\t

When serviceLongArnFormat, taskLongArnFormat, or\n\t\t\t\tcontainerInstanceLongArnFormat are specified, the Amazon Resource Name\n\t\t\t(ARN) and resource ID format of the resource type for a specified IAM user, IAM role, or\n\t\t\tthe root user for an account is affected. The opt-in and opt-out account setting must be\n\t\t\tset for each Amazon ECS resource separately. The ARN and resource ID format of a resource\n\t\t\tis defined by the opt-in status of the IAM user or role that created the resource. You\n\t\t\tmust turn on this setting to use Amazon ECS features such as resource tagging.

\n\t\t

When awsvpcTrunking is specified, the elastic network interface (ENI)\n\t\t\tlimit for any new container instances that support the feature is changed. If\n\t\t\t\tawsvpcTrunking is enabled, any new container instances that support the\n\t\t\tfeature are launched have the increased ENI limits available to them. For more\n\t\t\tinformation, see Elastic Network\n\t\t\t\tInterface Trunking in the Amazon Elastic Container Service Developer Guide.

\n\t\t

When containerInsights is specified, the default setting indicating\n\t\t\twhether CloudWatch Container Insights is enabled for your clusters is changed. If\n\t\t\t\tcontainerInsights is enabled, any new clusters that are created will\n\t\t\thave Container Insights enabled unless you disable it during cluster creation. For more\n\t\t\tinformation, see CloudWatch\n\t\t\t\tContainer Insights in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

Modifies an account setting. Account settings are set on a per-Region basis.

\n

If you change the account setting for the root user, the default settings for all of\n\t\t\tthe IAM users and roles that no individual account setting was specified are reset for.\n\t\t\tFor more information, see Account\n\t\t\t\tSettings in the Amazon Elastic Container Service Developer Guide.

\n

When serviceLongArnFormat, taskLongArnFormat, or\n\t\t\t\tcontainerInstanceLongArnFormat are specified, the Amazon Resource Name\n\t\t\t(ARN) and resource ID format of the resource type for a specified IAM user, IAM role, or\n\t\t\tthe root user for an account is affected. The opt-in and opt-out account setting must be\n\t\t\tset for each Amazon ECS resource separately. The ARN and resource ID format of a resource\n\t\t\tis defined by the opt-in status of the IAM user or role that created the resource. You\n\t\t\tmust turn on this setting to use Amazon ECS features such as resource tagging.

\n

When awsvpcTrunking is specified, the elastic network interface (ENI)\n\t\t\tlimit for any new container instances that support the feature is changed. If\n\t\t\t\tawsvpcTrunking is enabled, any new container instances that support the\n\t\t\tfeature are launched have the increased ENI limits available to them. For more\n\t\t\tinformation, see Elastic Network\n\t\t\t\tInterface Trunking in the Amazon Elastic Container Service Developer Guide.

\n

When containerInsights is specified, the default setting indicating\n\t\t\twhether CloudWatch Container Insights is enabled for your clusters is changed. If\n\t\t\t\tcontainerInsights is enabled, any new clusters that are created will\n\t\t\thave Container Insights enabled unless you disable it during cluster creation. For more\n\t\t\tinformation, see CloudWatch\n\t\t\t\tContainer Insights in the Amazon Elastic Container Service Developer Guide.

" } }, "com.amazonaws.ecs#PutAccountSettingDefault": { @@ -8303,7 +7495,7 @@ "name": { "target": "com.amazonaws.ecs#SettingName", "traits": { - "smithy.api#documentation": "

The resource name for which to modify the account setting. If\n\t\t\t\tserviceLongArnFormat is specified, the ARN for your Amazon ECS services is\n\t\t\taffected. If taskLongArnFormat is specified, the ARN and resource ID for\n\t\t\tyour Amazon ECS tasks is affected. If containerInstanceLongArnFormat is\n\t\t\tspecified, the ARN and resource ID for your Amazon ECS container instances is affected. If\n\t\t\t\tawsvpcTrunking is specified, the ENI limit for your Amazon ECS container\n\t\t\tinstances is affected. If containerInsights is specified, the default\n\t\t\tsetting for CloudWatch Container Insights for your clusters is affected.

\n\t\t

Fargate is transitioning from task count-based quotas to vCPU-based quotas. You can set\n\t\t\tthe name to fargateVCPULimit to opt in or opt out of the vCPU-based quotas.\n\t\t\tFor information about the opt in timeline, see Fargate vCPU-based quotas timeline in the\n\t\t\t\tAmazon ECS Developer Guide.

", + "smithy.api#documentation": "

The resource name for which to modify the account setting. If\n\t\t\t\tserviceLongArnFormat is specified, the ARN for your Amazon ECS services is\n\t\t\taffected. If taskLongArnFormat is specified, the ARN and resource ID for\n\t\t\tyour Amazon ECS tasks is affected. If containerInstanceLongArnFormat is\n\t\t\tspecified, the ARN and resource ID for your Amazon ECS container instances is affected. If\n\t\t\t\tawsvpcTrunking is specified, the ENI limit for your Amazon ECS container\n\t\t\tinstances is affected. If containerInsights is specified, the default\n\t\t\tsetting for CloudWatch Container Insights for your clusters is affected.

\n

Fargate is transitioning from task count-based quotas to vCPU-based quotas. You can\n\t\t\tset the name to fargateVCPULimit to opt in or opt out of the vCPU-based\n\t\t\tquotas. For information about the opt in timeline, see Fargate vCPU-based quotas timeline in the\n\t\t\t\tAmazon ECS Developer Guide.

", "smithy.api#required": {} } }, @@ -8347,7 +7539,7 @@ "principalArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The ARN of the principal, which can be an IAM user, IAM role, or the root user. If\n\t\t\tyou specify the root user, it modifies the account setting for all IAM users, IAM roles,\n\t\t\tand the root user of the account unless an IAM user or role explicitly overrides these\n\t\t\tsettings. If this field is omitted, the setting is changed only for the authenticated\n\t\t\tuser.

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

Federated users assume the account setting of the root user and can't have\n\t\t\t\texplicit account settings set for them.

\n\t\t
" + "smithy.api#documentation": "

The ARN of the principal, which can be an IAM user, IAM role, or the root user. If\n\t\t\tyou specify the root user, it modifies the account setting for all IAM users, IAM roles,\n\t\t\tand the root user of the account unless an IAM user or role explicitly overrides these\n\t\t\tsettings. If this field is omitted, the setting is changed only for the authenticated\n\t\t\tuser.

\n \n

Federated users assume the account setting of the root user and can't have\n\t\t\t\texplicit account settings set for them.

\n
" } } } @@ -8386,7 +7578,7 @@ } ], "traits": { - "smithy.api#documentation": "

Create or update an attribute on an Amazon ECS resource. If the attribute doesn't exist,\n\t\t\tit's created. If the attribute exists, its value is replaced with the specified value.\n\t\t\tTo delete an attribute, use DeleteAttributes. For more information,\n\t\t\tsee Attributes in the\n\t\t\tAmazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

Create or update an attribute on an Amazon ECS resource. If the attribute doesn't exist,\n\t\t\tit's created. If the attribute exists, its value is replaced with the specified value.\n\t\t\tTo delete an attribute, use DeleteAttributes. For more information,\n\t\t\tsee Attributes in the Amazon Elastic Container Service Developer Guide.

" } }, "com.amazonaws.ecs#PutAttributesRequest": { @@ -8447,7 +7639,7 @@ } ], "traits": { - "smithy.api#documentation": "

Modifies the available capacity providers and the default capacity provider strategy\n\t\t\tfor a cluster.

\n\t\t

You must specify both the available capacity providers and a default capacity provider\n\t\t\tstrategy for the cluster. If the specified cluster has existing capacity providers\n\t\t\tassociated with it, you must specify all existing capacity providers in addition to any\n\t\t\tnew ones you want to add. Any existing capacity providers that are associated with a\n\t\t\tcluster that are omitted from a PutClusterCapacityProviders API call\n\t\t\twill be disassociated with the cluster. You can only disassociate an existing capacity\n\t\t\tprovider from a cluster if it's not being used by any existing tasks.

\n\t\t

When creating a service or running a task on a cluster, if no capacity provider or\n\t\t\tlaunch type is specified, then the cluster's default capacity provider strategy is used.\n\t\t\tWe recommend that you define a default capacity provider strategy for your cluster.\n\t\t\tHowever, you must specify an empty array ([]) to bypass defining a default\n\t\t\tstrategy.

" + "smithy.api#documentation": "

Modifies the available capacity providers and the default capacity provider strategy\n\t\t\tfor a cluster.

\n

You must specify both the available capacity providers and a default capacity provider\n\t\t\tstrategy for the cluster. If the specified cluster has existing capacity providers\n\t\t\tassociated with it, you must specify all existing capacity providers in addition to any\n\t\t\tnew ones you want to add. Any existing capacity providers that are associated with a\n\t\t\tcluster that are omitted from a PutClusterCapacityProviders API call\n\t\t\twill be disassociated with the cluster. You can only disassociate an existing capacity\n\t\t\tprovider from a cluster if it's not being used by any existing tasks.

\n

When creating a service or running a task on a cluster, if no capacity provider or\n\t\t\tlaunch type is specified, then the cluster's default capacity provider strategy is used.\n\t\t\tWe recommend that you define a default capacity provider strategy for your cluster.\n\t\t\tHowever, you must specify an empty array ([]) to bypass defining a default\n\t\t\tstrategy.

" } }, "com.amazonaws.ecs#PutClusterCapacityProvidersRequest": { @@ -8463,14 +7655,14 @@ "capacityProviders": { "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

The name of one or more capacity providers to associate with the cluster.

\n\t\t

If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

\n\t\t

To use a Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The Fargate capacity providers are\n\t\t\tavailable to all accounts and only need to be associated with a cluster to be\n\t\t\tused.

", + "smithy.api#documentation": "

The name of one or more capacity providers to associate with the cluster.

\n

If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

\n

To use a Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The Fargate capacity providers are\n\t\t\tavailable to all accounts and only need to be associated with a cluster to be\n\t\t\tused.

", "smithy.api#required": {} } }, "defaultCapacityProviderStrategy": { "target": "com.amazonaws.ecs#CapacityProviderStrategy", "traits": { - "smithy.api#documentation": "

The capacity provider strategy to use by default for the cluster.

\n\t\t

When creating a service or running a task on a cluster, if no capacity provider or\n\t\t\tlaunch type is specified then the default capacity provider strategy for the cluster is\n\t\t\tused.

\n\t\t

A capacity provider strategy consists of one or more capacity providers along with the\n\t\t\t\tbase and weight to assign to them. A capacity provider\n\t\t\tmust be associated with the cluster to be used in a capacity provider strategy. The\n\t\t\t\tPutClusterCapacityProviders API is used to associate a capacity\n\t\t\tprovider with a cluster. Only capacity providers with an ACTIVE or\n\t\t\t\tUPDATING status can be used.

\n\t\t

If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

\n\t\t

To use a Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The Fargate capacity providers are\n\t\t\tavailable to all accounts and only need to be associated with a cluster to be\n\t\t\tused.

", + "smithy.api#documentation": "

The capacity provider strategy to use by default for the cluster.

\n

When creating a service or running a task on a cluster, if no capacity provider or\n\t\t\tlaunch type is specified then the default capacity provider strategy for the cluster is\n\t\t\tused.

\n

A capacity provider strategy consists of one or more capacity providers along with the\n\t\t\t\tbase and weight to assign to them. A capacity provider\n\t\t\tmust be associated with the cluster to be used in a capacity provider strategy. The\n\t\t\t\tPutClusterCapacityProviders API is used to associate a capacity\n\t\t\tprovider with a cluster. Only capacity providers with an ACTIVE or\n\t\t\t\tUPDATING status can be used.

\n

If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

\n

To use a Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The Fargate capacity providers are\n\t\t\tavailable to all accounts and only need to be associated with a cluster to be\n\t\t\tused.

", "smithy.api#required": {} } } @@ -8507,7 +7699,7 @@ } ], "traits": { - "smithy.api#documentation": "\n

This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

\n
\n\t\t

Registers an EC2 instance into the specified cluster. This instance becomes available\n\t\t\tto place containers on.

" + "smithy.api#documentation": "\n

This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

\n
\n

Registers an EC2 instance into the specified cluster. This instance becomes available\n\t\t\tto place containers on.

" } }, "com.amazonaws.ecs#RegisterContainerInstanceRequest": { @@ -8522,13 +7714,13 @@ "instanceIdentityDocument": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The instance identity document for the EC2 instance to register. This document can be\n\t\t\tfound by running the following command from the instance: curl\n\t\t\t\thttp://169.254.169.254/latest/dynamic/instance-identity/document/\n\t\t

" + "smithy.api#documentation": "

The instance identity document for the EC2 instance to register. This document can be\n\t\t\tfound by running the following command from the instance: curl\n\t\t\t\thttp://169.254.169.254/latest/dynamic/instance-identity/document/\n

" } }, "instanceIdentityDocumentSignature": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The instance identity document signature for the EC2 instance to register. This\n\t\t\tsignature can be found by running the following command from the instance: curl\n\t\t\t\thttp://169.254.169.254/latest/dynamic/instance-identity/signature/\n\t\t

" + "smithy.api#documentation": "

The instance identity document signature for the EC2 instance to register. This\n\t\t\tsignature can be found by running the following command from the instance: curl\n\t\t\t\thttp://169.254.169.254/latest/dynamic/instance-identity/signature/\n

" } }, "totalResources": { @@ -8564,7 +7756,7 @@ "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The metadata that you apply to the container instance to help you categorize and\n\t\t\torganize them. Each tag consists of a key and an optional value. You define both.

\n\t\t

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that you apply to the container instance to help you categorize and\n\t\t\torganize them. Each tag consists of a key and an optional value. You define both.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" } } } @@ -8600,7 +7792,7 @@ } ], "traits": { - "smithy.api#documentation": "

Registers a new task definition from the supplied family and\n\t\t\t\tcontainerDefinitions. Optionally, you can add data volumes to your\n\t\t\tcontainers with the volumes parameter. For more information about task\n\t\t\tdefinition parameters and defaults, see Amazon ECS Task\n\t\t\t\tDefinitions in the Amazon Elastic Container Service Developer Guide.

\n\t\t

You can specify an IAM role for your task with the taskRoleArn parameter.\n\t\t\tWhen you specify an IAM role for a task, its containers can then use the latest versions\n\t\t\tof the CLI or SDKs to make API requests to the Amazon Web Services services that are specified in\n\t\t\tthe IAM policy that's associated with the role. For more information, see IAM\n\t\t\t\tRoles for Tasks in the Amazon Elastic Container Service Developer Guide.

\n\t\t

You can specify a Docker networking mode for the containers in your task definition\n\t\t\twith the networkMode parameter. The available network modes correspond to\n\t\t\tthose described in Network\n\t\t\t\tsettings in the Docker run reference. If you specify the awsvpc\n\t\t\tnetwork mode, the task is allocated an elastic network interface, and you must specify a\n\t\t\t\tNetworkConfiguration when you create a service or run a task with\n\t\t\tthe task definition. For more information, see Task Networking\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

Registers a new task definition from the supplied family and\n\t\t\t\tcontainerDefinitions. Optionally, you can add data volumes to your\n\t\t\tcontainers with the volumes parameter. For more information about task\n\t\t\tdefinition parameters and defaults, see Amazon ECS Task\n\t\t\t\tDefinitions in the Amazon Elastic Container Service Developer Guide.

\n

You can specify an IAM role for your task with the taskRoleArn parameter.\n\t\t\tWhen you specify an IAM role for a task, its containers can then use the latest versions\n\t\t\tof the CLI or SDKs to make API requests to the Amazon Web Services services that are specified in\n\t\t\tthe IAM policy that's associated with the role. For more information, see IAM\n\t\t\t\tRoles for Tasks in the Amazon Elastic Container Service Developer Guide.

\n

You can specify a Docker networking mode for the containers in your task definition\n\t\t\twith the networkMode parameter. The available network modes correspond to\n\t\t\tthose described in Network\n\t\t\t\tsettings in the Docker run reference. If you specify the awsvpc\n\t\t\tnetwork mode, the task is allocated an elastic network interface, and you must specify a\n\t\t\t\tNetworkConfiguration when you create a service or run a task with\n\t\t\tthe task definition. For more information, see Task Networking\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

" } }, "com.amazonaws.ecs#RegisterTaskDefinitionRequest": { @@ -8628,7 +7820,7 @@ "networkMode": { "target": "com.amazonaws.ecs#NetworkMode", "traits": { - "smithy.api#documentation": "

The Docker networking mode to use for the containers in the task. The valid values are\n none, bridge, awsvpc, and host.\n If no network mode is specified, the default is bridge.

\n

For Amazon ECS tasks on Fargate, the awsvpc network mode is required. \n For Amazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. For Amazon ECS tasks on Amazon EC2 Windows instances, or awsvpc can be used. If the network\n mode is set to none, you cannot specify port mappings in your container\n definitions, and the tasks containers do not have external connectivity. The\n host and awsvpc network modes offer the highest networking\n performance for containers because they use the EC2 network stack instead of the\n virtualized network stack provided by the bridge mode.

\n

With the host and awsvpc network modes, exposed container\n ports are mapped directly to the corresponding host port (for the host\n network mode) or the attached elastic network interface port (for the\n awsvpc network mode), so you cannot take advantage of dynamic host port\n mappings.

\n \n

When using the host network mode, you should not run\n containers using the root user (UID 0). It is considered best practice\n to use a non-root user.

\n
\n

If the network mode is awsvpc, the task is allocated an elastic network\n interface, and you must specify a NetworkConfiguration value when you create\n a service or run a task with the task definition. For more information, see Task Networking in the\n Amazon Elastic Container Service Developer Guide.

\n

If the network mode is host, you cannot run multiple instantiations of the\n same task on a single container instance when port mappings are used.

\n

For more information, see Network\n settings in the Docker run reference.

" + "smithy.api#documentation": "

The Docker networking mode to use for the containers in the task. The valid values are\n none, bridge, awsvpc, and host.\n If no network mode is specified, the default is bridge.

\n

For Amazon ECS tasks on Fargate, the awsvpc network mode is required. \n For Amazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. For Amazon ECS tasks on Amazon EC2 Windows instances, or awsvpc can be used. If the network\n mode is set to none, you cannot specify port mappings in your container\n definitions, and the tasks containers do not have external connectivity. The\n host and awsvpc network modes offer the highest networking\n performance for containers because they use the EC2 network stack instead of the\n virtualized network stack provided by the bridge mode.

\n

With the host and awsvpc network modes, exposed container\n ports are mapped directly to the corresponding host port (for the host\n network mode) or the attached elastic network interface port (for the\n awsvpc network mode), so you cannot take advantage of dynamic host port\n mappings.

\n \n

When using the host network mode, you should not run\n containers using the root user (UID 0). It is considered best practice\n to use a non-root user.

\n
\n

If the network mode is awsvpc, the task is allocated an elastic network\n interface, and you must specify a NetworkConfiguration value when you create\n a service or run a task with the task definition. For more information, see Task Networking in the\n Amazon Elastic Container Service Developer Guide.

\n

If the network mode is host, you cannot run multiple instantiations of the\n same task on a single container instance when port mappings are used.

\n

For more information, see Network\n settings in the Docker run reference.

" } }, "containerDefinitions": { @@ -8659,37 +7851,37 @@ "cpu": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The number of CPU units used by the task. It can be expressed as an integer using CPU\n\t\t\tunits (for example, 1024) or as a string using vCPUs (for example, 1\n\t\t\t\tvCPU or 1 vcpu) in a task definition. String values are\n\t\t\tconverted to an integer indicating the CPU units when the task definition is\n\t\t\tregistered.

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

Task-level CPU and memory parameters are ignored for Windows containers. We\n\t\t\t\trecommend specifying container-level resources for Windows containers.

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

If you're using the EC2 launch type, this field is optional. Supported values\n\t\t\tare between 128 CPU units (0.125 vCPUs) and 10240\n\t\t\tCPU units (10 vCPUs). If you do not specify a value, the parameter is\n\t\t\tignored.

\n\t\t

If you're using the Fargate launch type, this field is required and you\n\t\t\tmust use one of the following values, which determines your range of supported values\n\t\t\tfor the memory parameter:

\n\t\t

The CPU units cannot be less than 1 vCPU when you use Windows containers on\n\t\t\tFargate.

\n\t\t
    \n
  • \n

    256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

    \n
  • \n
  • \n

    512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

    \n
  • \n
  • \n

    1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

    \n
  • \n
  • \n

    2048 (2 vCPU) - Available memory values: 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

    \n
  • \n
  • \n

    4096 (4 vCPU) - Available memory values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

    \n
  • \n
  • \n

    8192 (8 vCPU) - Available memory values: 16 GB and 60 GB in 4 GB increments

    \n \n

    This option requires Linux platform 1.4.0 or\n later.

    \n
  • \n
  • \n

    16384 (16vCPU) - Available memory values: 32GB and 120 GB in 8 GB increments

    \n

    This option requires Linux platform 1.4.0 or\n later.

    \n
  • \n
" + "smithy.api#documentation": "

The number of CPU units used by the task. It can be expressed as an integer using CPU\n\t\t\tunits (for example, 1024) or as a string using vCPUs (for example, 1\n\t\t\t\tvCPU or 1 vcpu) in a task definition. String values are\n\t\t\tconverted to an integer indicating the CPU units when the task definition is\n\t\t\tregistered.

\n \n

Task-level CPU and memory parameters are ignored for Windows containers. We\n\t\t\t\trecommend specifying container-level resources for Windows containers.

\n
\n

If you're using the EC2 launch type, this field is optional. Supported\n\t\t\tvalues are between 128 CPU units (0.125 vCPUs) and\n\t\t\t\t10240 CPU units (10 vCPUs). If you do not specify a value,\n\t\t\tthe parameter is ignored.

\n

If you're using the Fargate launch type, this field is required and you\n\t\t\tmust use one of the following values, which determines your range of supported values\n\t\t\tfor the memory parameter:

\n

The CPU units cannot be less than 1 vCPU when you use Windows containers on\n\t\t\tFargate.

\n
    \n
  • \n

    256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

    \n
  • \n
  • \n

    512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

    \n
  • \n
  • \n

    1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

    \n
  • \n
  • \n

    2048 (2 vCPU) - Available memory values: 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

    \n
  • \n
  • \n

    4096 (4 vCPU) - Available memory values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

    \n
  • \n
  • \n

    8192 (8 vCPU) - Available memory values: 16 GB and 60 GB in 4 GB increments

    \n

    This option requires Linux platform 1.4.0 or\n later.

    \n
  • \n
  • \n

    16384 (16vCPU) - Available memory values: 32GB and 120 GB in 8 GB increments

    \n

    This option requires Linux platform 1.4.0 or\n later.

    \n
  • \n
" } }, "memory": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The amount of memory (in MiB) used by the task. It can be expressed as an integer\n\t\t\tusing MiB (for example ,1024) or as a string using GB (for example,\n\t\t\t\t1GB or 1 GB) in a task definition. String values are\n\t\t\tconverted to an integer indicating the MiB when the task definition is\n\t\t\tregistered.

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

Task-level CPU and memory parameters are ignored for Windows containers. We\n\t\t\t\trecommend specifying container-level resources for Windows containers.

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

If using the EC2 launch type, this field is optional.

\n\t\t

If using the Fargate launch type, this field is required and you must\n\t\t\tuse one of the following values. This determines your range of supported values for the\n\t\t\t\tcpu parameter.

\n\t\t

The CPU units cannot be less than 1 vCPU when you use Windows containers on\n\t\t\tFargate.

\n\t\t
    \n
  • \n

    512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

    \n
  • \n
  • \n

    1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

    \n
  • \n
  • \n

    2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

    \n
  • \n
  • \n

    Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

    \n
  • \n
  • \n

    Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

    \n
  • \n
  • \n

    Between 16 GB and 60 GB in 4 GB increments - Available cpu values: 8192 (8 vCPU)

    \n

    This option requires Linux platform 1.4.0 or\n later.

    \n
  • \n
  • \n

    Between 32GB and 120 GB in 8 GB increments - Available cpu values: 16384 (16 vCPU)

    \n

    This option requires Linux platform 1.4.0 or\n later.

    \n
  • \n
" + "smithy.api#documentation": "

The amount of memory (in MiB) used by the task. It can be expressed as an integer\n\t\t\tusing MiB (for example ,1024) or as a string using GB (for example,\n\t\t\t\t1GB or 1 GB) in a task definition. String values are\n\t\t\tconverted to an integer indicating the MiB when the task definition is\n\t\t\tregistered.

\n \n

Task-level CPU and memory parameters are ignored for Windows containers. We\n\t\t\t\trecommend specifying container-level resources for Windows containers.

\n
\n

If using the EC2 launch type, this field is optional.

\n

If using the Fargate launch type, this field is required and you must\n\t\t\tuse one of the following values. This determines your range of supported values for the\n\t\t\t\tcpu parameter.

\n

The CPU units cannot be less than 1 vCPU when you use Windows containers on\n\t\t\tFargate.

\n
    \n
  • \n

    512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

    \n
  • \n
  • \n

    1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

    \n
  • \n
  • \n

    2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

    \n
  • \n
  • \n

    Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

    \n
  • \n
  • \n

    Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

    \n
  • \n
  • \n

    Between 16 GB and 60 GB in 4 GB increments - Available cpu values: 8192 (8 vCPU)

    \n

    This option requires Linux platform 1.4.0 or\n later.

    \n
  • \n
  • \n

    Between 32GB and 120 GB in 8 GB increments - Available cpu values: 16384 (16 vCPU)

    \n

    This option requires Linux platform 1.4.0 or\n later.

    \n
  • \n
" } }, "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The metadata that you apply to the task definition to help you categorize and organize\n\t\t\tthem. Each tag consists of a key and an optional value. You define both of them.

\n\t\t

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that you apply to the task definition to help you categorize and organize\n\t\t\tthem. Each tag consists of a key and an optional value. You define both of them.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" } }, "pidMode": { "target": "com.amazonaws.ecs#PidMode", "traits": { - "smithy.api#documentation": "

The process namespace to use for the containers in the task. The valid\n values are host or task. If host\n is specified, then all containers within the tasks that specified the\n host PID mode on the same container instance share the\n same process namespace with the host Amazon EC2 instance. If task is\n specified, all containers within the specified task share the same\n process namespace. If no value is specified, the default is a private\n namespace. For more information, see PID settings in the Docker run\n reference.

\n

If the host PID mode is used, be aware that there is a\n heightened risk of undesired process namespace expose. For more\n information, see Docker\n security.

\n \n

This parameter is not supported for Windows containers or tasks run on Fargate.

\n
" + "smithy.api#documentation": "

The process namespace to use for the containers in the task. The valid\n values are host or task. If host\n is specified, then all containers within the tasks that specified the\n host PID mode on the same container instance share the\n same process namespace with the host Amazon EC2 instance. If task is\n specified, all containers within the specified task share the same\n process namespace. If no value is specified, the default is a private\n namespace. For more information, see PID settings in the Docker run\n reference.

\n

If the host PID mode is used, be aware that there is a\n heightened risk of undesired process namespace expose. For more\n information, see Docker\n security.

\n \n

This parameter is not supported for Windows containers or tasks run on Fargate.

\n
" } }, "ipcMode": { "target": "com.amazonaws.ecs#IpcMode", "traits": { - "smithy.api#documentation": "

The IPC resource namespace to use for the containers in the task. The valid values are\n host, task, or none. If host is\n specified, then all containers within the tasks that specified the host IPC\n mode on the same container instance share the same IPC resources with the host Amazon EC2\n instance. If task is specified, all containers within the specified task\n share the same IPC resources. If none is specified, then IPC resources\n within the containers of a task are private and not shared with other containers in a\n task or on the container instance. If no value is specified, then the IPC resource\n namespace sharing depends on the Docker daemon setting on the container instance. For\n more information, see IPC\n settings in the Docker run reference.

\n

If the host IPC mode is used, be aware that there is a heightened risk of\n undesired IPC namespace expose. For more information, see Docker\n security.

\n

If you are setting namespaced kernel parameters using systemControls for\n the containers in the task, the following will apply to your IPC resource namespace. For\n more information, see System\n Controls in the Amazon Elastic Container Service Developer Guide.

\n
    \n
  • \n

    For tasks that use the host IPC mode, IPC namespace related\n systemControls are not supported.

    \n
  • \n
  • \n

    For tasks that use the task IPC mode, IPC namespace related\n systemControls will apply to all containers within a\n task.

    \n
  • \n
\n \n

This parameter is not supported for Windows containers or tasks run on Fargate.

\n
" + "smithy.api#documentation": "

The IPC resource namespace to use for the containers in the task. The valid values are\n host, task, or none. If host is\n specified, then all containers within the tasks that specified the host IPC\n mode on the same container instance share the same IPC resources with the host Amazon EC2\n instance. If task is specified, all containers within the specified task\n share the same IPC resources. If none is specified, then IPC resources\n within the containers of a task are private and not shared with other containers in a\n task or on the container instance. If no value is specified, then the IPC resource\n namespace sharing depends on the Docker daemon setting on the container instance. For\n more information, see IPC\n settings in the Docker run reference.

\n

If the host IPC mode is used, be aware that there is a heightened risk of\n undesired IPC namespace expose. For more information, see Docker\n security.

\n

If you are setting namespaced kernel parameters using systemControls for\n the containers in the task, the following will apply to your IPC resource namespace. For\n more information, see System\n Controls in the Amazon Elastic Container Service Developer Guide.

\n
    \n
  • \n

    For tasks that use the host IPC mode, IPC namespace related\n systemControls are not supported.

    \n
  • \n
  • \n

    For tasks that use the task IPC mode, IPC namespace related\n systemControls will apply to all containers within a\n task.

    \n
  • \n
\n \n

This parameter is not supported for Windows containers or tasks run on Fargate.

\n
" } }, "proxyConfiguration": { "target": "com.amazonaws.ecs#ProxyConfiguration", "traits": { - "smithy.api#documentation": "

The configuration details for the App Mesh proxy.

\n\t\t

For tasks hosted on Amazon EC2 instances, the container instances require at least version\n\t\t\t\t1.26.0 of the container agent and at least version\n\t\t\t\t1.26.0-1 of the ecs-init package to use a proxy\n\t\t\tconfiguration. If your container instances are launched from the Amazon ECS-optimized\n\t\t\tAMI version 20190301 or later, then they contain the required versions of\n\t\t\tthe container agent and ecs-init. For more information, see Amazon ECS-optimized AMI versions in the\n\t\t\tAmazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The configuration details for the App Mesh proxy.

\n

For tasks hosted on Amazon EC2 instances, the container instances require at least version\n\t\t\t\t1.26.0 of the container agent and at least version\n\t\t\t\t1.26.0-1 of the ecs-init package to use a proxy\n\t\t\tconfiguration. If your container instances are launched from the Amazon ECS-optimized\n\t\t\tAMI version 20190301 or later, then they contain the required versions of\n\t\t\tthe container agent and ecs-init. For more information, see Amazon ECS-optimized AMI versions in the Amazon Elastic Container Service Developer Guide.

" } }, "inferenceAccelerators": { @@ -8701,13 +7893,13 @@ "ephemeralStorage": { "target": "com.amazonaws.ecs#EphemeralStorage", "traits": { - "smithy.api#documentation": "

The amount of ephemeral storage to allocate for the task. This parameter is used to\n\t\t\texpand the total amount of ephemeral storage available, beyond the default amount, for\n\t\t\ttasks hosted on Fargate. For more information, see Fargate task\n\t\t\t\tstorage in the Amazon ECS User Guide for Fargate.

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

This parameter is only supported for tasks hosted on Fargate using\n\t\t\t\tthe following platform versions:

\n\t\t\t
    \n
  • \n\t\t\t\t\t

    Linux platform version 1.4.0 or later.

    \n\t\t\t\t
  • \n
\n\t\t
" + "smithy.api#documentation": "

The amount of ephemeral storage to allocate for the task. This parameter is used to\n\t\t\texpand the total amount of ephemeral storage available, beyond the default amount, for\n\t\t\ttasks hosted on Fargate. For more information, see Fargate task\n\t\t\t\tstorage in the Amazon ECS User Guide for Fargate.

\n \n

This parameter is only supported for tasks hosted on Fargate using\n\t\t\t\tthe following platform versions:

\n
    \n
  • \n

    Linux platform version 1.4.0 or later.

    \n
  • \n
\n
" } }, "runtimePlatform": { "target": "com.amazonaws.ecs#RuntimePlatform", "traits": { - "smithy.api#documentation": "

The operating system that your tasks definitions run on. A platform family is\n\t\t\tspecified only for tasks using the Fargate launch type.

\n\t\t

When you specify a task definition in a service, this value must match the\n\t\t\t\truntimePlatform value of the service.

" + "smithy.api#documentation": "

The operating system that your tasks definitions run on. A platform family is\n\t\t\tspecified only for tasks using the Fargate launch type.

\n

When you specify a task definition in a service, this value must match the\n\t\t\t\truntimePlatform value of the service.

" } } } @@ -8735,7 +7927,7 @@ "credentialsParameter": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the secret containing the private repository\n\t\t\tcredentials.

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

When you use the Amazon ECS API, CLI, or Amazon Web Services SDK, if the secret exists in the same\n\t\t\t\tRegion as the task that you're launching then you can use either the full ARN or\n\t\t\t\tthe name of the secret. When you use the Amazon Web Services Management Console, you must specify the full ARN\n\t\t\t\tof the secret.

\n\t\t
", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the secret containing the private repository\n\t\t\tcredentials.

\n \n

When you use the Amazon ECS API, CLI, or Amazon Web Services SDK, if the secret exists in the same\n\t\t\t\tRegion as the task that you're launching then you can use either the full ARN or\n\t\t\t\tthe name of the secret. When you use the Amazon Web Services Management Console, you must specify the full ARN\n\t\t\t\tof the secret.

\n
", "smithy.api#required": {} } } @@ -8827,7 +8019,7 @@ "value": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The value for the specified resource type.

\n\t\t

If the GPU type is used, the value is the number of physical\n\t\t\t\tGPUs the Amazon ECS container agent reserves for the container. The number\n\t\t\tof GPUs that's reserved for all containers in a task can't exceed the number of\n\t\t\tavailable GPUs on the container instance that the task is launched on.

\n\t\t

If the InferenceAccelerator type is used, the value matches\n\t\t\tthe deviceName for an InferenceAccelerator specified in a\n\t\t\ttask definition.

", + "smithy.api#documentation": "

The value for the specified resource type.

\n

If the GPU type is used, the value is the number of physical\n\t\t\t\tGPUs the Amazon ECS container agent reserves for the container. The number\n\t\t\tof GPUs that's reserved for all containers in a task can't exceed the number of\n\t\t\tavailable GPUs on the container instance that the task is launched on.

\n

If the InferenceAccelerator type is used, the value matches\n\t\t\tthe deviceName for an InferenceAccelerator specified in a\n\t\t\ttask definition.

", "smithy.api#required": {} } }, @@ -8840,7 +8032,7 @@ } }, "traits": { - "smithy.api#documentation": "

The type and amount of a resource to assign to a container. The supported resource\n\t\t\ttypes are GPUs and Elastic Inference accelerators. For more information, see Working with\n\t\t\t\tGPUs on Amazon ECS or Working with\n\t\t\t\tAmazon Elastic Inference on Amazon ECS in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide\n

" + "smithy.api#documentation": "

The type and amount of a resource to assign to a container. The supported resource\n\t\t\ttypes are GPUs and Elastic Inference accelerators. For more information, see Working with\n\t\t\t\tGPUs on Amazon ECS or Working with\n\t\t\t\tAmazon Elastic Inference on Amazon ECS in the Amazon Elastic Container Service Developer Guide\n

" } }, "com.amazonaws.ecs#ResourceRequirements": { @@ -8910,7 +8102,7 @@ } ], "traits": { - "smithy.api#documentation": "

Starts a new task using the specified task definition.

\n\t\t

You can allow Amazon ECS to place tasks for you, or you can customize how Amazon ECS places\n\t\t\ttasks using placement constraints and placement strategies. For more information, see\n\t\t\t\tScheduling Tasks in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

\n\t\t

Alternatively, you can use StartTask to use your own scheduler or\n\t\t\tplace tasks manually on specific container instances.

\n\t\t

The Amazon ECS API follows an eventual consistency model. This is because of the\n\t\t\tdistributed nature of the system supporting the API. This means that the result of an\n\t\t\tAPI command you run that affects your Amazon ECS resources might not be immediately visible\n\t\t\tto all subsequent commands you run. Keep this in mind when you carry out an API command\n\t\t\tthat immediately follows a previous API command.

\n\t\t

To manage eventual consistency, you can do the following:

\n\t\t
    \n
  • \n\t\t\t\t

    Confirm the state of the resource before you run a command to modify it. Run\n\t\t\t\t\tthe DescribeTasks command using an exponential backoff algorithm to ensure that\n\t\t\t\t\tyou allow enough time for the previous command to propagate through the system.\n\t\t\t\t\tTo do this, run the DescribeTasks command repeatedly, starting with a couple of\n\t\t\t\t\tseconds of wait time and increasing gradually up to five minutes of wait\n\t\t\t\t\ttime.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    Add wait time between subsequent commands, even if the DescribeTasks command\n\t\t\t\t\treturns an accurate response. Apply an exponential backoff algorithm starting\n\t\t\t\t\twith a couple of seconds of wait time, and increase gradually up to about five\n\t\t\t\t\tminutes of wait time.

    \n\t\t\t
  • \n
" + "smithy.api#documentation": "

Starts a new task using the specified task definition.

\n

You can allow Amazon ECS to place tasks for you, or you can customize how Amazon ECS places\n\t\t\ttasks using placement constraints and placement strategies. For more information, see\n\t\t\t\tScheduling Tasks in the Amazon Elastic Container Service Developer Guide.

\n

Alternatively, you can use StartTask to use your own scheduler or\n\t\t\tplace tasks manually on specific container instances.

\n

The Amazon ECS API follows an eventual consistency model. This is because of the\n\t\t\tdistributed nature of the system supporting the API. This means that the result of an\n\t\t\tAPI command you run that affects your Amazon ECS resources might not be immediately visible\n\t\t\tto all subsequent commands you run. Keep this in mind when you carry out an API command\n\t\t\tthat immediately follows a previous API command.

\n

To manage eventual consistency, you can do the following:

\n
    \n
  • \n

    Confirm the state of the resource before you run a command to modify it. Run\n\t\t\t\t\tthe DescribeTasks command using an exponential backoff algorithm to ensure that\n\t\t\t\t\tyou allow enough time for the previous command to propagate through the system.\n\t\t\t\t\tTo do this, run the DescribeTasks command repeatedly, starting with a couple of\n\t\t\t\t\tseconds of wait time and increasing gradually up to five minutes of wait\n\t\t\t\t\ttime.

    \n
  • \n
  • \n

    Add wait time between subsequent commands, even if the DescribeTasks command\n\t\t\t\t\treturns an accurate response. Apply an exponential backoff algorithm starting\n\t\t\t\t\twith a couple of seconds of wait time, and increase gradually up to about five\n\t\t\t\t\tminutes of wait time.

    \n
  • \n
" } }, "com.amazonaws.ecs#RunTaskRequest": { @@ -8919,7 +8111,7 @@ "capacityProviderStrategy": { "target": "com.amazonaws.ecs#CapacityProviderStrategy", "traits": { - "smithy.api#documentation": "

The capacity provider strategy to use for the task.

\n\t\t

If a capacityProviderStrategy is specified, the launchType\n\t\t\tparameter must be omitted. If no capacityProviderStrategy or\n\t\t\t\tlaunchType is specified, the\n\t\t\t\tdefaultCapacityProviderStrategy for the cluster is used.

\n\t\t

When you use cluster auto scaling, you must specify\n\t\t\t\tcapacityProviderStrategy and not launchType.

\n\t\t

A capacity provider strategy may contain a maximum of 6 capacity providers.

" + "smithy.api#documentation": "

The capacity provider strategy to use for the task.

\n

If a capacityProviderStrategy is specified, the launchType\n\t\t\tparameter must be omitted. If no capacityProviderStrategy or\n\t\t\t\tlaunchType is specified, the\n\t\t\t\tdefaultCapacityProviderStrategy for the cluster is used.

\n

When you use cluster auto scaling, you must specify\n\t\t\t\tcapacityProviderStrategy and not launchType.

\n

A capacity provider strategy may contain a maximum of 6 capacity providers.

" } }, "cluster": { @@ -8945,7 +8137,7 @@ "target": "com.amazonaws.ecs#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

Determines whether to use the execute command functionality for the containers in this\n\t\t\ttask. If true, this enables execute command functionality on all containers\n\t\t\tin the task.

\n\t\t

If true, then the task definition must have a task role, or you must\n\t\t\tprovide one as an override.

" + "smithy.api#documentation": "

Determines whether to use the execute command functionality for the containers in this\n\t\t\ttask. If true, this enables execute command functionality on all containers\n\t\t\tin the task.

\n

If true, then the task definition must have a task role, or you must\n\t\t\tprovide one as an override.

" } }, "group": { @@ -8957,7 +8149,7 @@ "launchType": { "target": "com.amazonaws.ecs#LaunchType", "traits": { - "smithy.api#documentation": "

The infrastructure to run your standalone task on. For more information, see Amazon ECS\n\t\t\t\tlaunch types in the Amazon Elastic Container Service Developer Guide.

\n\t\t

The FARGATE launch type runs your tasks on Fargate On-Demand\n\t\t\tinfrastructure.

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

Fargate Spot infrastructure is available for use but a capacity provider\n\t\t\t\tstrategy must be used. For more information, see Fargate capacity providers in the\n\t\t\t\t\tAmazon ECS User Guide for Fargate.

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

The EC2 launch type runs your tasks on Amazon EC2 instances registered to your\n\t\t\tcluster.

\n\t\t

The EXTERNAL launch type runs your tasks on your on-premises server or\n\t\t\tvirtual machine (VM) capacity registered to your cluster.

\n\t\t

A task can use either a launch type or a capacity provider strategy. If a\n\t\t\t\tlaunchType is specified, the capacityProviderStrategy\n\t\t\tparameter must be omitted.

\n\t\t

When you use cluster auto scaling, you must specify\n\t\t\t\tcapacityProviderStrategy and not launchType.

" + "smithy.api#documentation": "

The infrastructure to run your standalone task on. For more information, see Amazon ECS\n\t\t\t\tlaunch types in the Amazon Elastic Container Service Developer Guide.

\n

The FARGATE launch type runs your tasks on Fargate On-Demand\n\t\t\tinfrastructure.

\n \n

Fargate Spot infrastructure is available for use but a capacity provider\n\t\t\t\tstrategy must be used. For more information, see Fargate capacity providers in the\n\t\t\t\t\tAmazon ECS User Guide for Fargate.

\n
\n

The EC2 launch type runs your tasks on Amazon EC2 instances registered to your\n\t\t\tcluster.

\n

The EXTERNAL launch type runs your tasks on your on-premises server or\n\t\t\tvirtual machine (VM) capacity registered to your cluster.

\n

A task can use either a launch type or a capacity provider strategy. If a\n\t\t\t\tlaunchType is specified, the capacityProviderStrategy\n\t\t\tparameter must be omitted.

\n

When you use cluster auto scaling, you must specify\n\t\t\t\tcapacityProviderStrategy and not launchType.

" } }, "networkConfiguration": { @@ -8969,7 +8161,7 @@ "overrides": { "target": "com.amazonaws.ecs#TaskOverride", "traits": { - "smithy.api#documentation": "

A list of container overrides in JSON format that specify the name of a container in\n\t\t\tthe specified task definition and the overrides it should receive. You can override the\n\t\t\tdefault command for a container (that's specified in the task definition or Docker\n\t\t\timage) with a command override. You can also override existing environment\n\t\t\tvariables (that are specified in the task definition or Docker image) on a container or\n\t\t\tadd new environment variables to it with an environment override.

\n\t\t

A total of 8192 characters are allowed for overrides. This limit includes the JSON\n\t\t\tformatting characters of the override structure.

" + "smithy.api#documentation": "

A list of container overrides in JSON format that specify the name of a container in\n\t\t\tthe specified task definition and the overrides it should receive. You can override the\n\t\t\tdefault command for a container (that's specified in the task definition or Docker\n\t\t\timage) with a command override. You can also override existing environment\n\t\t\tvariables (that are specified in the task definition or Docker image) on a container or\n\t\t\tadd new environment variables to it with an environment override.

\n

A total of 8192 characters are allowed for overrides. This limit includes the JSON\n\t\t\tformatting characters of the override structure.

" } }, "placementConstraints": { @@ -8993,7 +8185,7 @@ "propagateTags": { "target": "com.amazonaws.ecs#PropagateTags", "traits": { - "smithy.api#documentation": "

Specifies whether to propagate the tags from the task definition to the task. If no\n\t\t\tvalue is specified, the tags aren't propagated. Tags can only be propagated to the task\n\t\t\tduring task creation. To add tags to a task after task creation, use the TagResource API action.

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

An error will be received if you specify the SERVICE option when\n\t\t\t\trunning a task.

\n\t\t
" + "smithy.api#documentation": "

Specifies whether to propagate the tags from the task definition to the task. If no\n\t\t\tvalue is specified, the tags aren't propagated. Tags can only be propagated to the task\n\t\t\tduring task creation. To add tags to a task after task creation, use the TagResource API action.

\n \n

An error will be received if you specify the SERVICE option when\n\t\t\t\trunning a task.

\n
" } }, "referenceId": { @@ -9005,19 +8197,19 @@ "startedBy": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

An optional tag specified when a task is started. For example, if you automatically\n\t\t\ttrigger a task to run a batch process job, you could apply a unique identifier for that\n\t\t\tjob to your task with the startedBy parameter. You can then identify which\n\t\t\ttasks belong to that job by filtering the results of a ListTasks call\n\t\t\twith the startedBy value. Up to 36 letters (uppercase and lowercase),\n\t\t\tnumbers, hyphens (-), and underscores (_) are allowed.

\n\t\t

If a task is started by an Amazon ECS service, then the startedBy parameter\n\t\t\tcontains the deployment ID of the service that starts it.

" + "smithy.api#documentation": "

An optional tag specified when a task is started. For example, if you automatically\n\t\t\ttrigger a task to run a batch process job, you could apply a unique identifier for that\n\t\t\tjob to your task with the startedBy parameter. You can then identify which\n\t\t\ttasks belong to that job by filtering the results of a ListTasks call\n\t\t\twith the startedBy value. Up to 36 letters (uppercase and lowercase),\n\t\t\tnumbers, hyphens (-), and underscores (_) are allowed.

\n

If a task is started by an Amazon ECS service, then the startedBy parameter\n\t\t\tcontains the deployment ID of the service that starts it.

" } }, "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The metadata that you apply to the task to help you categorize and organize them. Each\n\t\t\ttag consists of a key and an optional value, both of which you define.

\n\t\t

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that you apply to the task to help you categorize and organize them. Each\n\t\t\ttag consists of a key and an optional value, both of which you define.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" } }, "taskDefinition": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The family and revision (family:revision) or\n\t\t\tfull ARN of the task definition to run. If a revision isn't specified,\n\t\t\tthe latest ACTIVE revision is used.

\n\t\t

When you create an IAM policy for run-task, you can set the resource to be the latest\n\t\t\ttask definition revision, or a specific revision.

\n\t\t

The full ARN value must match the value that you specified as the\n\t\t\t\tResource of the IAM principal's permissions policy.

\n\t\t

When you specify the policy resource as the latest task definition version (by setting\n\t\t\tthe Resource in the policy to\n\t\t\t\tarn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName),\n\t\t\tthen set this value to\n\t\t\t\tarn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName.

\n\t\t

When you specify the policy resource as a specific task definition version (by setting\n\t\t\tthe Resource in the policy to\n\t\t\t\tarn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:1 or\n\t\t\t\tarn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:*),\n\t\t\tthen set this value to\n\t\t\t\tarn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:1.

\n\t\t

For more information, see Policy Resources for Amazon ECS in the Amazon Elastic Container Service developer Guide.

", + "smithy.api#documentation": "

The family and revision (family:revision) or\n\t\t\tfull ARN of the task definition to run. If a revision isn't specified,\n\t\t\tthe latest ACTIVE revision is used.

\n

When you create an IAM policy for run-task, you can set the resource to be the latest\n\t\t\ttask definition revision, or a specific revision.

\n

The full ARN value must match the value that you specified as the\n\t\t\t\tResource of the IAM principal's permissions policy.

\n

When you specify the policy resource as the latest task definition version (by setting\n\t\t\tthe Resource in the policy to\n\t\t\t\tarn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName),\n\t\t\tthen set this value to\n\t\t\t\tarn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName.

\n

When you specify the policy resource as a specific task definition version (by setting\n\t\t\tthe Resource in the policy to\n\t\t\t\tarn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:1 or\n\t\t\t\tarn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:*),\n\t\t\tthen set this value to\n\t\t\t\tarn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:1.

\n

For more information, see Policy Resources for Amazon ECS in the Amazon Elastic Container Service developer Guide.

", "smithy.api#required": {} } } @@ -9046,7 +8238,7 @@ "cpuArchitecture": { "target": "com.amazonaws.ecs#CPUArchitecture", "traits": { - "smithy.api#documentation": "

The CPU architecture.

\n\t\t

You can run your Linux tasks on an ARM-based platform by setting the value to\n\t\t\t\tARM64. This option is avaiable for tasks that run on Linux Amazon EC2\n\t\t\tinstance or Linux containers on Fargate.

" + "smithy.api#documentation": "

The CPU architecture.

\n

You can run your Linux tasks on an ARM-based platform by setting the value to\n\t\t\t\tARM64. This option is available for tasks that run on Linux Amazon EC2\n\t\t\tinstance or Linux containers on Fargate.

" } }, "operatingSystemFamily": { @@ -9057,7 +8249,7 @@ } }, "traits": { - "smithy.api#documentation": "

Information about the platform for the Amazon ECS service or task.

\n\t\t

For more information about RuntimePlatform, see RuntimePlatform in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

Information about the platform for the Amazon ECS service or task.

\n

For more information about RuntimePlatform, see RuntimePlatform in the Amazon Elastic Container Service Developer Guide.

" } }, "com.amazonaws.ecs#Scale": { @@ -9139,13 +8331,13 @@ "valueFrom": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The secret to expose to the container. The supported values are either the full ARN\n\t\t\tof the Secrets Manager secret or the full ARN of the parameter in the SSM Parameter\n\t\t\tStore.

\n\t\t

For information about the require Identity and Access Management permissions, see Required IAM permissions for Amazon ECS secrets (for Secrets Manager) or Required IAM permissions for Amazon ECS secrets (for Systems Manager Parameter\n\t\t\tstore) in the Amazon Elastic Container Service Developer Guide.

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

If the SSM Parameter Store parameter exists in the same Region as the task\n\t\t\t\tyou're launching, then you can use either the full ARN or name of the parameter.\n\t\t\t\tIf the parameter exists in a different Region, then the full ARN must be\n\t\t\t\tspecified.

\n\t\t
", + "smithy.api#documentation": "

The secret to expose to the container. The supported values are either the full ARN\n\t\t\tof the Secrets Manager secret or the full ARN of the parameter in the SSM Parameter\n\t\t\tStore.

\n

For information about the require Identity and Access Management permissions, see Required IAM permissions for Amazon ECS secrets (for Secrets Manager) or Required IAM permissions for Amazon ECS secrets (for Systems Manager Parameter\n\t\t\tstore) in the Amazon Elastic Container Service Developer Guide.

\n \n

If the SSM Parameter Store parameter exists in the same Region as the task\n\t\t\t\tyou're launching, then you can use either the full ARN or name of the parameter.\n\t\t\t\tIf the parameter exists in a different Region, then the full ARN must be\n\t\t\t\tspecified.

\n
", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

An object representing the secret to expose to your container. Secrets can be exposed\n\t\t\tto a container in the following ways:

\n\t\t
    \n
  • \n\t\t\t\t

    To inject sensitive data into your containers as environment variables, use\n\t\t\t\t\tthe secrets container definition parameter.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    To reference sensitive information in the log configuration of a container,\n\t\t\t\t\tuse the secretOptions container definition parameter.

    \n\t\t\t
  • \n
\n\t\t

For more information, see Specifying\n\t\t\t\tsensitive data in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

An object representing the secret to expose to your container. Secrets can be exposed\n\t\t\tto a container in the following ways:

\n
    \n
  • \n

    To inject sensitive data into your containers as environment variables, use\n\t\t\t\t\tthe secrets container definition parameter.

    \n
  • \n
  • \n

    To reference sensitive information in the log configuration of a container,\n\t\t\t\t\tuse the secretOptions container definition parameter.

    \n
  • \n
\n

For more information, see Specifying\n\t\t\t\tsensitive data in the Amazon Elastic Container Service Developer Guide.

" } }, "com.amazonaws.ecs#SecretList": { @@ -9253,7 +8445,7 @@ "platformFamily": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The operating system that your tasks in the service run on. A platform family is\n\t\t\tspecified only for tasks using the Fargate launch type.

\n\t\t

All tasks that run as part of this service must use the same\n\t\t\t\tplatformFamily value as the service (for example,\n\t\t\tLINUX).

" + "smithy.api#documentation": "

The operating system that your tasks in the service run on. A platform family is\n\t\t\tspecified only for tasks using the Fargate launch type.

\n

All tasks that run as part of this service must use the same\n\t\t\t\tplatformFamily value as the service (for example,\n\t\t\tLINUX).

" } }, "taskDefinition": { @@ -9325,7 +8517,7 @@ "schedulingStrategy": { "target": "com.amazonaws.ecs#SchedulingStrategy", "traits": { - "smithy.api#documentation": "

The scheduling strategy to use for the service. For more information, see Services.

\n\t\t

There are two service scheduler strategies available.

\n\t\t
    \n
  • \n\t\t\t\t

    \n REPLICA-The replica scheduling strategy places and\n\t\t\t\t\tmaintains the desired number of tasks across your cluster. By default, the\n\t\t\t\t\tservice scheduler spreads tasks across Availability Zones. You can use task\n\t\t\t\t\tplacement strategies and constraints to customize task placement\n\t\t\t\t\tdecisions.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n DAEMON-The daemon scheduling strategy deploys exactly one\n\t\t\t\t\ttask on each active container instance. This task meets all of the task\n\t\t\t\t\tplacement constraints that you specify in your cluster. The service scheduler\n\t\t\t\t\talso evaluates the task placement constraints for running tasks. It stop tasks\n\t\t\t\t\tthat don't meet the placement constraints.

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

    Fargate tasks don't support the DAEMON\n\t\t\t\t\t\tscheduling strategy.

    \n\t\t\t\t
    \n\t\t\t
  • \n
" + "smithy.api#documentation": "

The scheduling strategy to use for the service. For more information, see Services.

\n

There are two service scheduler strategies available.

\n
    \n
  • \n

    \n REPLICA-The replica scheduling strategy places and\n\t\t\t\t\tmaintains the desired number of tasks across your cluster. By default, the\n\t\t\t\t\tservice scheduler spreads tasks across Availability Zones. You can use task\n\t\t\t\t\tplacement strategies and constraints to customize task placement\n\t\t\t\t\tdecisions.

    \n
  • \n
  • \n

    \n DAEMON-The daemon scheduling strategy deploys exactly one\n\t\t\t\t\ttask on each active container instance. This task meets all of the task\n\t\t\t\t\tplacement constraints that you specify in your cluster. The service scheduler\n\t\t\t\t\talso evaluates the task placement constraints for running tasks. It stop tasks\n\t\t\t\t\tthat don't meet the placement constraints.

    \n \n

    Fargate tasks don't support the DAEMON\n\t\t\t\t\t\tscheduling strategy.

    \n
    \n
  • \n
" } }, "deploymentController": { @@ -9337,7 +8529,7 @@ "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The metadata that you apply to the service to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value. You define bot the key and\n\t\t\tvalue.

\n\t\t

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that you apply to the service to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value. You define bot the key and\n\t\t\tvalue.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" } }, "createdBy": { @@ -9371,6 +8563,129 @@ "smithy.api#documentation": "

Details on a service within a cluster

" } }, + "com.amazonaws.ecs#ServiceConnectClientAlias": { + "type": "structure", + "members": { + "port": { + "target": "com.amazonaws.ecs#PortNumber", + "traits": { + "smithy.api#documentation": "

The listening port number for the Service Connect proxy. This port is available\n\t\t\tinside of all of the tasks within the same namespace.

\n

To avoid changing your applications in client Amazon ECS services, set this to the same\n\t\t\tport that the client application uses by default. For more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

", + "smithy.api#required": {} + } + }, + "dnsName": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

The dnsName is the name that you use in the applications of client tasks\n\t\t\tto connect to this service. The name must be a valid DNS name but doesn't need to be\n\t\t\tfully-qualified. The name can include up to 127 characters. The name can include\n\t\t\tlowercase letters, numbers, underscores (_), hyphens (-), and periods (.). The name\n\t\t\tcan't start with a hyphen.

\n

If this parameter isn't specified, the default value of discoveryName.namespace is used. If the discoveryName isn't specified, the port mapping name from the task definition is used in portName.namespace.

\n

To avoid changing your applications in client Amazon ECS services, set this to the same\n\t\t\tname that the client application uses by default. For example, a few common names are\n\t\t\t\tdatabase, db, or the lowercase name of a database, such as\n\t\t\t\tmysql or redis. For more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Each alias (\"endpoint\") is a fully-qualified name and port number that other tasks\n\t\t\t(\"clients\") can use to connect to this service.

\n

Each name and port mapping must be unique within the namespace.

\n

Tasks that run in a namespace can use short names to connect\n\tto services in the namespace. Tasks can connect to services across all of the clusters in the namespace.\n\tTasks connect through a managed proxy container\n\tthat collects logs and metrics for increased visibility.\n\tOnly the tasks that Amazon ECS services create are supported with Service Connect.\n\tFor more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

" + } + }, + "com.amazonaws.ecs#ServiceConnectClientAliasList": { + "type": "list", + "member": { + "target": "com.amazonaws.ecs#ServiceConnectClientAlias" + } + }, + "com.amazonaws.ecs#ServiceConnectConfiguration": { + "type": "structure", + "members": { + "enabled": { + "target": "com.amazonaws.ecs#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Specifies whether to use Service Connect with this service.

", + "smithy.api#required": {} + } + }, + "namespace": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

The namespace name or full Amazon Resource Name (ARN) of the Cloud Map namespace for use with Service Connect. The namespace must be in\n\t\t\tthe same Amazon Web Services Region as the Amazon ECS service and cluster. The type of namespace doesn't\n\t\t\taffect Service Connect. For more information about Cloud Map, see Working with Services in the\n\t\t\tCloud Map Developer Guide.

" + } + }, + "services": { + "target": "com.amazonaws.ecs#ServiceConnectServiceList", + "traits": { + "smithy.api#documentation": "

The list of Service Connect service objects. These are names and aliases (also known\n\t\t\tas endpoints) that are used by other Amazon ECS services to connect to this service.\n\t\t\t

\n

This field is not required for a \"client\" Amazon ECS service that's a member of a namespace\n\t\t\tonly to connect to other services within the namespace. An example of this would be a\n\t\t\tfrontend application that accepts incoming requests from either a load balancer that's\n\t\t\tattached to the service or by other means.

\n

An object selects a port from the task definition, assigns a name for the Cloud Map\n\t\t\tservice, and a list of aliases (endpoints) and ports for client applications to refer to\n\t\t\tthis service.

" + } + }, + "logConfiguration": { + "target": "com.amazonaws.ecs#LogConfiguration" + } + }, + "traits": { + "smithy.api#documentation": "

The Service Connect configuration of your Amazon ECS service. The configuration for this\n\t\t\tservice to discover and connect to services, and be discovered by, and connected from,\n\t\t\tother services within a namespace.

\n

Tasks that run in a namespace can use short names to connect\n\tto services in the namespace. Tasks can connect to services across all of the clusters in the namespace.\n\tTasks connect through a managed proxy container\n\tthat collects logs and metrics for increased visibility.\n\tOnly the tasks that Amazon ECS services create are supported with Service Connect.\n\tFor more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

" + } + }, + "com.amazonaws.ecs#ServiceConnectService": { + "type": "structure", + "members": { + "portName": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

The portName must match the name of one of the portMappings\n\t\t\tfrom all the containers in the task definition of this Amazon ECS service.

", + "smithy.api#required": {} + } + }, + "discoveryName": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

The discoveryName is the name of the new Cloud Map service that Amazon ECS creates\n\t\t\tfor this Amazon ECS service. This must be unique within the Cloud Map namespace. The name can contain up to 64 characters. The name can include lowercase letters,\n\t\t\tnumbers, underscores (_), and hyphens (-). The name can't start with a hyphen.

\n

If this parameter isn't specified, the default value of discoveryName.namespace is used. If the discoveryName isn't specified, the port mapping name from the task definition is used in portName.namespace.

" + } + }, + "clientAliases": { + "target": "com.amazonaws.ecs#ServiceConnectClientAliasList", + "traits": { + "smithy.api#documentation": "

The list of client aliases for this Service Connect service. You use these to assign\n\t\t\tnames that can be used by client applications. The maximum number of client aliases that\n\t\t\tyou can have in this list is 1.

\n

Each alias (\"endpoint\") is a fully-qualified name and port number that other Amazon ECS\n\t\t\ttasks (\"clients\") can use to connect to this service.

\n

Each name and port mapping must be unique within the namespace.

\n

For each ServiceConnectService, you must provide at least one\n\t\t\t\tclientAlias with one port.

" + } + }, + "ingressPortOverride": { + "target": "com.amazonaws.ecs#PortNumber", + "traits": { + "smithy.api#documentation": "

The port number for the Service Connect proxy to listen on.

\n

Use the value of this field to bypass the proxy for traffic on the port number\n\t\t\tspecified in the named portMapping in the task definition of this\n\t\t\tapplication, and then use it in your VPC security groups to allow traffic into the proxy\n\t\t\tfor this Amazon ECS service.

\n

In awsvpc mode and Fargate, the default value is the container port\n\t\t\tnumber. The container port number is in the portMapping in the task\n\t\t\tdefinition. In bridge mode, the default value is the ephemeral port of the\n\t\t\tService Connect proxy.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The Service Connect service object configuration. For more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

" + } + }, + "com.amazonaws.ecs#ServiceConnectServiceList": { + "type": "list", + "member": { + "target": "com.amazonaws.ecs#ServiceConnectService" + } + }, + "com.amazonaws.ecs#ServiceConnectServiceResource": { + "type": "structure", + "members": { + "discoveryName": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

The discovery name of this Service Connect resource.

\n

The discoveryName is the name of the new Cloud Map service that Amazon ECS creates\n\t\t\tfor this Amazon ECS service. This must be unique within the Cloud Map namespace. The name can contain up to 64 characters. The name can include lowercase letters,\n\t\t\tnumbers, underscores (_), and hyphens (-). The name can't start with a hyphen.

\n

If this parameter isn't specified, the default value of discoveryName.namespace is used. If the discoveryName isn't specified, the port mapping name from the task definition is used in portName.namespace.

" + } + }, + "discoveryArn": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the namespace in Cloud Map that matches the discovery name for this\n\t\t\tService Connect resource. You can use this ARN in other integrations with Cloud Map.\n\t\t\tHowever, Service Connect can't ensure connectivity outside of Amazon ECS.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The Service Connect resource. Each configuration maps a discovery name to a\n\t\t\tCloud Map service name. The data is stored in Cloud Map as part of the\n\t\t\tService Connect configuration for each discovery name of this Amazon ECS service.

\n

A task can resolve the dnsName for each of the clientAliases\n\t\t\tof a service. However a task can't resolve the discovery names. If you want to connect\n\t\t\tto a service, refer to the ServiceConnectConfiguration of that service for\n\t\t\tthe list of clientAliases that you can use.

" + } + }, + "com.amazonaws.ecs#ServiceConnectServiceResourceList": { + "type": "list", + "member": { + "target": "com.amazonaws.ecs#ServiceConnectServiceResource" + } + }, "com.amazonaws.ecs#ServiceEvent": { "type": "structure", "members": { @@ -9479,7 +8794,7 @@ } }, "traits": { - "smithy.api#documentation": "

The details for the service registry.

\n\t\t

Each service may be associated with one service registry. Multiple service registries\n\t\t\tfor each service are not supported.

\n\t\t

When you add, update, or remove the service registries configuration, Amazon ECS starts a\n\t\t\tnew deployment. New tasks are registered and deregistered to the updated service\n\t\t\tregistry configuration.

" + "smithy.api#documentation": "

The details for the service registry.

\n

Each service may be associated with one service registry. Multiple service registries\n\t\t\tfor each service are not supported.

\n

When you add, update, or remove the service registries configuration, Amazon ECS starts a\n\t\t\tnew deployment. New tasks are registered and deregistered to the updated service\n\t\t\tregistry configuration.

" } }, "com.amazonaws.ecs#Services": { @@ -9638,7 +8953,7 @@ } ], "traits": { - "smithy.api#documentation": "

Starts a new task from the specified task definition on the specified container\n\t\t\tinstance or instances.

\n\t\t

Alternatively, you can use RunTask to place tasks for you. For more\n\t\t\tinformation, see Scheduling Tasks in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

Starts a new task from the specified task definition on the specified container\n\t\t\tinstance or instances.

\n

Alternatively, you can use RunTask to place tasks for you. For more\n\t\t\tinformation, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide.

" } }, "com.amazonaws.ecs#StartTaskRequest": { @@ -9686,7 +9001,7 @@ "overrides": { "target": "com.amazonaws.ecs#TaskOverride", "traits": { - "smithy.api#documentation": "

A list of container overrides in JSON format that specify the name of a container in\n\t\t\tthe specified task definition and the overrides it receives. You can override the\n\t\t\tdefault command for a container (that's specified in the task definition or Docker\n\t\t\timage) with a command override. You can also override existing environment\n\t\t\tvariables (that are specified in the task definition or Docker image) on a container or\n\t\t\tadd new environment variables to it with an environment override.

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

A total of 8192 characters are allowed for overrides. This limit includes the JSON\n\t\t\t\tformatting characters of the override structure.

\n\t\t
" + "smithy.api#documentation": "

A list of container overrides in JSON format that specify the name of a container in\n\t\t\tthe specified task definition and the overrides it receives. You can override the\n\t\t\tdefault command for a container (that's specified in the task definition or Docker\n\t\t\timage) with a command override. You can also override existing environment\n\t\t\tvariables (that are specified in the task definition or Docker image) on a container or\n\t\t\tadd new environment variables to it with an environment override.

\n \n

A total of 8192 characters are allowed for overrides. This limit includes the JSON\n\t\t\t\tformatting characters of the override structure.

\n
" } }, "propagateTags": { @@ -9704,13 +9019,13 @@ "startedBy": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

An optional tag specified when a task is started. For example, if you automatically\n\t\t\ttrigger a task to run a batch process job, you could apply a unique identifier for that\n\t\t\tjob to your task with the startedBy parameter. You can then identify which\n\t\t\ttasks belong to that job by filtering the results of a ListTasks call\n\t\t\twith the startedBy value. Up to 36 letters (uppercase and lowercase),\n\t\t\tnumbers, hyphens (-), and underscores (_) are allowed.

\n\t\t

If a task is started by an Amazon ECS service, the startedBy parameter\n\t\t\tcontains the deployment ID of the service that starts it.

" + "smithy.api#documentation": "

An optional tag specified when a task is started. For example, if you automatically\n\t\t\ttrigger a task to run a batch process job, you could apply a unique identifier for that\n\t\t\tjob to your task with the startedBy parameter. You can then identify which\n\t\t\ttasks belong to that job by filtering the results of a ListTasks call\n\t\t\twith the startedBy value. Up to 36 letters (uppercase and lowercase),\n\t\t\tnumbers, hyphens (-), and underscores (_) are allowed.

\n

If a task is started by an Amazon ECS service, the startedBy parameter\n\t\t\tcontains the deployment ID of the service that starts it.

" } }, "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The metadata that you apply to the task to help you categorize and organize them. Each\n\t\t\ttag consists of a key and an optional value, both of which you define.

\n\t\t

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that you apply to the task to help you categorize and organize them. Each\n\t\t\ttag consists of a key and an optional value, both of which you define.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" } }, "taskDefinition": { @@ -9768,7 +9083,7 @@ } ], "traits": { - "smithy.api#documentation": "

Stops a running task. Any tags associated with the task will be deleted.

\n\t\t

When StopTask is called on a task, the equivalent of docker\n\t\t\t\tstop is issued to the containers running in the task. This results in a\n\t\t\t\tSIGTERM value and a default 30-second timeout, after which the\n\t\t\t\tSIGKILL value is sent and the containers are forcibly stopped. If the\n\t\t\tcontainer handles the SIGTERM value gracefully and exits within 30 seconds\n\t\t\tfrom receiving it, no SIGKILL value is sent.

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

The default 30-second timeout can be configured on the Amazon ECS container agent with\n\t\t\t\tthe ECS_CONTAINER_STOP_TIMEOUT variable. For more information, see\n\t\t\t\t\tAmazon ECS Container Agent Configuration in the\n\t\t\t\t\tAmazon Elastic Container Service Developer Guide.

\n\t\t
" + "smithy.api#documentation": "

Stops a running task. Any tags associated with the task will be deleted.

\n

When StopTask is called on a task, the equivalent of docker\n\t\t\t\tstop is issued to the containers running in the task. This results in a\n\t\t\t\tSIGTERM value and a default 30-second timeout, after which the\n\t\t\t\tSIGKILL value is sent and the containers are forcibly stopped. If the\n\t\t\tcontainer handles the SIGTERM value gracefully and exits within 30 seconds\n\t\t\tfrom receiving it, no SIGKILL value is sent.

\n \n

The default 30-second timeout can be configured on the Amazon ECS container agent with\n\t\t\t\tthe ECS_CONTAINER_STOP_TIMEOUT variable. For more information, see\n\t\t\t\t\tAmazon ECS Container Agent Configuration in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

\n
" } }, "com.amazonaws.ecs#StopTaskRequest": { @@ -9847,7 +9162,7 @@ } ], "traits": { - "smithy.api#documentation": "\n

This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

\n
\n\t\t

Sent to acknowledge that an attachment changed states.

" + "smithy.api#documentation": "\n

This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

\n
\n

Sent to acknowledge that an attachment changed states.

" } }, "com.amazonaws.ecs#SubmitAttachmentStateChangesRequest": { @@ -9899,7 +9214,7 @@ } ], "traits": { - "smithy.api#documentation": "\n

This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

\n
\n\t\t

Sent to acknowledge that a container changed states.

" + "smithy.api#documentation": "\n

This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

\n
\n

Sent to acknowledge that a container changed states.

" } }, "com.amazonaws.ecs#SubmitContainerStateChangeRequest": { @@ -9989,7 +9304,7 @@ } ], "traits": { - "smithy.api#documentation": "\n

This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

\n
\n\t\t

Sent to acknowledge that a task changed states.

" + "smithy.api#documentation": "\n

This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

\n
\n

Sent to acknowledge that a task changed states.

" } }, "com.amazonaws.ecs#SubmitTaskStateChangeRequest": { @@ -10085,7 +9400,7 @@ } }, "traits": { - "smithy.api#documentation": "

A list of namespaced kernel parameters to set in the container. This parameter maps to\n\t\t\t\tSysctls in the Create a container section of the\n\t\t\tDocker Remote API and the --sysctl option to docker run.

\n\t\t

We don't recommend that you specify network-related systemControls\n\t\t\tparameters for multiple containers in a single task. This task also uses either the\n\t\t\t\tawsvpc or host network mode. It does it for the following\n\t\t\treasons.

\n\t\t
    \n
  • \n\t\t\t\t

    For tasks that use the awsvpc network mode, if you set\n\t\t\t\t\t\tsystemControls for any container, it applies to all containers\n\t\t\t\t\tin the task. If you set different systemControls for multiple\n\t\t\t\t\tcontainers in a single task, the container that's started last determines which\n\t\t\t\t\t\tsystemControls take effect.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    For tasks that use the host network mode, the\n\t\t\t\t\t\tsystemControls parameter applies to the container instance's\n\t\t\t\t\tkernel parameter and that of all containers of any tasks running on that\n\t\t\t\t\tcontainer instance.

    \n\t\t\t
  • \n
" + "smithy.api#documentation": "

A list of namespaced kernel parameters to set in the container. This parameter maps to\n\t\t\t\tSysctls in the Create a container section of the\n\t\t\tDocker Remote API and the --sysctl option to docker run.

\n

We don't recommend that you specify network-related systemControls\n\t\t\tparameters for multiple containers in a single task. This task also uses either the\n\t\t\t\tawsvpc or host network mode. It does it for the following\n\t\t\treasons.

\n
    \n
  • \n

    For tasks that use the awsvpc network mode, if you set\n\t\t\t\t\t\tsystemControls for any container, it applies to all containers\n\t\t\t\t\tin the task. If you set different systemControls for multiple\n\t\t\t\t\tcontainers in a single task, the container that's started last determines which\n\t\t\t\t\t\tsystemControls take effect.

    \n
  • \n
  • \n

    For tasks that use the host network mode, the\n\t\t\t\t\t\tsystemControls parameter applies to the container instance's\n\t\t\t\t\tkernel parameter and that of all containers of any tasks running on that\n\t\t\t\t\tcontainer instance.

    \n
  • \n
" } }, "com.amazonaws.ecs#SystemControls": { @@ -10111,7 +9426,7 @@ } }, "traits": { - "smithy.api#documentation": "

The metadata that you apply to a resource to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value. You define them.

\n\t\t

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that you apply to a resource to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value. You define them.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" } }, "com.amazonaws.ecs#TagKey": { @@ -10172,7 +9487,7 @@ "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The tags to add to the resource. A tag is an array of key-value pairs.

\n\t\t

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
", + "smithy.api#documentation": "

The tags to add to the resource. A tag is an array of key-value pairs.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
", "smithy.api#required": {} } } @@ -10212,7 +9527,7 @@ } }, "traits": { - "smithy.api#documentation": "

The execute command cannot run. This error can be caused by any of the following\n\t\t\tconfiguration issues:

\n\t\t
    \n
  • \n\t\t\t\t

    Incorrect IAM permissions

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    The SSM agent is not installed or is not running

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    There is an interface Amazon VPC endpoint for Amazon ECS, but there is not one for\n\t\t\t\t\tfor Systems Manager Session Manager

    \n\t\t\t
  • \n
\n\t\t

For information about how to troubleshoot the issues, see Troubleshooting issues with ECS\n\t\t\t\tExec in the Amazon Elastic Container Service Developer Guide.

", + "smithy.api#documentation": "

The execute command cannot run. This error can be caused by any of the following\n\t\t\tconfiguration issues:

\n
    \n
  • \n

    Incorrect IAM permissions

    \n
  • \n
  • \n

    The SSM agent is not installed or is not running

    \n
  • \n
  • \n

    There is an interface Amazon VPC endpoint for Amazon ECS, but there is not one for\n\t\t\t\t\tfor Systems Manager Session Manager

    \n
  • \n
\n

For information about how to troubleshoot the issues, see Troubleshooting issues with ECS\n\t\t\t\tExec in the Amazon Elastic Container Service Developer Guide.

", "smithy.api#error": "client" } }, @@ -10299,7 +9614,7 @@ "cpu": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The number of CPU units used by the task as expressed in a task definition. It can be\n\t\t\texpressed as an integer using CPU units (for example, 1024). It can also be\n\t\t\texpressed as a string using vCPUs (for example, 1 vCPU or 1\n\t\t\t\tvcpu). String values are converted to an integer that indicates the CPU units\n\t\t\twhen the task definition is registered.

\n\t\t

If you use the EC2 launch type, this field is optional. Supported values\n\t\t\tare between 128 CPU units (0.125 vCPUs) and 10240\n\t\t\tCPU units (10 vCPUs).

\n\t\t

If you use the Fargate launch type, this field is required. You must use\n\t\t\tone of the following values. These values determine the range of supported values for\n\t\t\tthe memory parameter:

\n\t\t

The CPU units cannot be less than 1 vCPU when you use Windows containers on\n\t\t\tFargate.

\n\t\t
    \n
  • \n

    256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

    \n
  • \n
  • \n

    512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

    \n
  • \n
  • \n

    1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

    \n
  • \n
  • \n

    2048 (2 vCPU) - Available memory values: 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

    \n
  • \n
  • \n

    4096 (4 vCPU) - Available memory values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

    \n
  • \n
  • \n

    8192 (8 vCPU) - Available memory values: 16 GB and 60 GB in 4 GB increments

    \n \n

    This option requires Linux platform 1.4.0 or\n later.

    \n
  • \n
  • \n

    16384 (16vCPU) - Available memory values: 32GB and 120 GB in 8 GB increments

    \n

    This option requires Linux platform 1.4.0 or\n later.

    \n
  • \n
" + "smithy.api#documentation": "

The number of CPU units used by the task as expressed in a task definition. It can be\n\t\t\texpressed as an integer using CPU units (for example, 1024). It can also be\n\t\t\texpressed as a string using vCPUs (for example, 1 vCPU or 1\n\t\t\t\tvcpu). String values are converted to an integer that indicates the CPU units\n\t\t\twhen the task definition is registered.

\n

If you use the EC2 launch type, this field is optional. Supported values\n\t\t\tare between 128 CPU units (0.125 vCPUs) and 10240\n\t\t\tCPU units (10 vCPUs).

\n

If you use the Fargate launch type, this field is required. You must use\n\t\t\tone of the following values. These values determine the range of supported values for\n\t\t\tthe memory parameter:

\n

The CPU units cannot be less than 1 vCPU when you use Windows containers on\n\t\t\tFargate.

\n
    \n
  • \n

    256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

    \n
  • \n
  • \n

    512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

    \n
  • \n
  • \n

    1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

    \n
  • \n
  • \n

    2048 (2 vCPU) - Available memory values: 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

    \n
  • \n
  • \n

    4096 (4 vCPU) - Available memory values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

    \n
  • \n
  • \n

    8192 (8 vCPU) - Available memory values: 16 GB and 60 GB in 4 GB increments

    \n

    This option requires Linux platform 1.4.0 or\n later.

    \n
  • \n
  • \n

    16384 (16vCPU) - Available memory values: 32GB and 120 GB in 8 GB increments

    \n

    This option requires Linux platform 1.4.0 or\n later.

    \n
  • \n
" } }, "createdAt": { @@ -10336,7 +9651,7 @@ "healthStatus": { "target": "com.amazonaws.ecs#HealthStatus", "traits": { - "smithy.api#documentation": "

The health status for the task. It's determined by the health of the essential\n\t\t\tcontainers in the task. If all essential containers in the task are reporting as\n\t\t\t\tHEALTHY, the task status also reports as HEALTHY. If any\n\t\t\tessential containers in the task are reporting as UNHEALTHY or\n\t\t\t\tUNKNOWN, the task status also reports as UNHEALTHY or\n\t\t\t\tUNKNOWN.

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

The Amazon ECS container agent doesn't monitor or report on Docker health checks that\n\t\t\t\tare embedded in a container image and not specified in the container definition. For\n\t\t\t\texample, this includes those specified in a parent image or from the image's\n\t\t\t\tDockerfile. Health check parameters that are specified in a container definition\n\t\t\t\toverride any Docker health checks that are found in the container image.

\n\t\t
" + "smithy.api#documentation": "

The health status for the task. It's determined by the health of the essential\n\t\t\tcontainers in the task. If all essential containers in the task are reporting as\n\t\t\t\tHEALTHY, the task status also reports as HEALTHY. If any\n\t\t\tessential containers in the task are reporting as UNHEALTHY or\n\t\t\t\tUNKNOWN, the task status also reports as UNHEALTHY or\n\t\t\t\tUNKNOWN.

\n \n

The Amazon ECS container agent doesn't monitor or report on Docker health checks that\n\t\t\t\tare embedded in a container image and not specified in the container definition. For\n\t\t\t\texample, this includes those specified in a parent image or from the image's\n\t\t\t\tDockerfile. Health check parameters that are specified in a container definition\n\t\t\t\toverride any Docker health checks that are found in the container image.

\n
" } }, "inferenceAccelerators": { @@ -10360,7 +9675,7 @@ "memory": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The amount of memory (in MiB) that the task uses as expressed in a task definition. It\n\t\t\tcan be expressed as an integer using MiB (for example, 1024). If it's\n\t\t\texpressed as a string using GB (for example, 1GB or 1 GB),\n\t\t\tit's converted to an integer indicating the MiB when the task definition is\n\t\t\tregistered.

\n\t\t

If you use the EC2 launch type, this field is optional.

\n\t\t

If you use the Fargate launch type, this field is required. You must use\n\t\t\tone of the following values. The value that you choose determines the range of supported\n\t\t\tvalues for the cpu parameter.

\n\t\t
    \n
  • \n

    512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

    \n
  • \n
  • \n

    1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

    \n
  • \n
  • \n

    2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

    \n
  • \n
  • \n

    Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

    \n
  • \n
  • \n

    Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

    \n
  • \n
  • \n

    Between 16 GB and 60 GB in 4 GB increments - Available cpu values: 8192 (8 vCPU)

    \n

    This option requires Linux platform 1.4.0 or\n later.

    \n
  • \n
  • \n

    Between 32GB and 120 GB in 8 GB increments - Available cpu values: 16384 (16 vCPU)

    \n

    This option requires Linux platform 1.4.0 or\n later.

    \n
  • \n
" + "smithy.api#documentation": "

The amount of memory (in MiB) that the task uses as expressed in a task definition. It\n\t\t\tcan be expressed as an integer using MiB (for example, 1024). If it's\n\t\t\texpressed as a string using GB (for example, 1GB or 1 GB),\n\t\t\tit's converted to an integer indicating the MiB when the task definition is\n\t\t\tregistered.

\n

If you use the EC2 launch type, this field is optional.

\n

If you use the Fargate launch type, this field is required. You must use\n\t\t\tone of the following values. The value that you choose determines the range of supported\n\t\t\tvalues for the cpu parameter.

\n
    \n
  • \n

    512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

    \n
  • \n
  • \n

    1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

    \n
  • \n
  • \n

    2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

    \n
  • \n
  • \n

    Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

    \n
  • \n
  • \n

    Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

    \n
  • \n
  • \n

    Between 16 GB and 60 GB in 4 GB increments - Available cpu values: 8192 (8 vCPU)

    \n

    This option requires Linux platform 1.4.0 or\n later.

    \n
  • \n
  • \n

    Between 32GB and 120 GB in 8 GB increments - Available cpu values: 16384 (16 vCPU)

    \n

    This option requires Linux platform 1.4.0 or\n later.

    \n
  • \n
" } }, "overrides": { @@ -10372,13 +9687,13 @@ "platformVersion": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The platform version where your task runs on. A platform version is only specified for\n\t\t\ttasks that use the Fargate launch type. If you didn't specify one, the\n\t\t\t\tLATEST platform version is used. For more information, see Fargate Platform Versions in the\n\t\t\tAmazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The platform version where your task runs on. A platform version is only specified for\n\t\t\ttasks that use the Fargate launch type. If you didn't specify one, the\n\t\t\t\tLATEST platform version is used. For more information, see Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

" } }, "platformFamily": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The operating system that your tasks are running on. A platform family is specified\n\t\t\tonly for tasks that use the Fargate launch type.

\n\t\t

All tasks that run as part of this service must use the same\n\t\t\t\tplatformFamily value as the service (for example,\n\t\t\tLINUX.).

" + "smithy.api#documentation": "

The operating system that your tasks are running on. A platform family is specified\n\t\t\tonly for tasks that use the Fargate launch type.

\n

All tasks that run as part of this service must use the same\n\t\t\t\tplatformFamily value as the service (for example,\n\t\t\tLINUX.).

" } }, "pullStartedAt": { @@ -10408,7 +9723,7 @@ "stopCode": { "target": "com.amazonaws.ecs#TaskStopCode", "traits": { - "smithy.api#documentation": "

The stop code indicating why a task was stopped. The stoppedReason might\n\t\t\tcontain additional details.

\n\t\t

The following are valid values:

\n\t\t
    \n
  • \n\t\t\t\t

    \n TaskFailedToStart\n

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n EssentialContainerExited\n

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n UserInitiated\n

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n TerminationNotice\n

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n ServiceSchedulerInitiated\n

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n SpotInterruption\n

    \n\t\t\t
  • \n
" + "smithy.api#documentation": "

The stop code indicating why a task was stopped. The stoppedReason might\n\t\t\tcontain additional details.

\n

The following are valid values:

\n
    \n
  • \n

    \n TaskFailedToStart\n

    \n
  • \n
  • \n

    \n EssentialContainerExited\n

    \n
  • \n
  • \n

    \n UserInitiated\n

    \n
  • \n
  • \n

    \n TerminationNotice\n

    \n
  • \n
  • \n

    \n ServiceSchedulerInitiated\n

    \n
  • \n
  • \n

    \n SpotInterruption\n

    \n
  • \n
" } }, "stoppedAt": { @@ -10432,7 +9747,7 @@ "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The metadata that you apply to the task to help you categorize and organize the task.\n\t\t\tEach tag consists of a key and an optional value. You define both the key and\n\t\t\tvalue.

\n\t\t

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that you apply to the task to help you categorize and organize the task.\n\t\t\tEach tag consists of a key and an optional value. You define both the key and\n\t\t\tvalue.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" } }, "taskArn": { @@ -10483,13 +9798,13 @@ "family": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The name of a family that this task definition is registered to. Up to 255 characters\n\t\t\tare allowed. Letters (both uppercase and lowercase letters), numbers, hyphens (-), and\n\t\t\tunderscores (_) are allowed.

\n\t\t

A family groups multiple versions of a task definition. Amazon ECS gives the first task\n\t\t\tdefinition that you registered to a family a revision number of 1. Amazon ECS gives\n\t\t\tsequential revision numbers to each task definition that you add.

" + "smithy.api#documentation": "

The name of a family that this task definition is registered to. Up to 255 characters\n\t\t\tare allowed. Letters (both uppercase and lowercase letters), numbers, hyphens (-), and\n\t\t\tunderscores (_) are allowed.

\n

A family groups multiple versions of a task definition. Amazon ECS gives the first task\n\t\t\tdefinition that you registered to a family a revision number of 1. Amazon ECS gives\n\t\t\tsequential revision numbers to each task definition that you add.

" } }, "taskRoleArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the Identity and Access Management role that grants containers in the\n\t\t\ttask permission to call Amazon Web Services APIs on your behalf. For more information, see Amazon ECS\n\t\t\t\tTask Role in the Amazon Elastic Container Service Developer Guide.

\n\t\t

IAM roles for tasks on Windows require that the -EnableTaskIAMRole option\n\t\t\tis set when you launch the Amazon ECS-optimized Windows AMI. Your containers must also run some\n\t\t\tconfiguration code to use the feature. For more information, see Windows IAM roles\n\t\t\t\tfor tasks in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the Identity and Access Management role that grants containers in the\n\t\t\ttask permission to call Amazon Web Services APIs on your behalf. For more information, see Amazon ECS\n\t\t\t\tTask Role in the Amazon Elastic Container Service Developer Guide.

\n

IAM roles for tasks on Windows require that the -EnableTaskIAMRole option\n\t\t\tis set when you launch the Amazon ECS-optimized Windows AMI. Your containers must also run some\n\t\t\tconfiguration code to use the feature. For more information, see Windows IAM roles\n\t\t\t\tfor tasks in the Amazon Elastic Container Service Developer Guide.

" } }, "executionRoleArn": { @@ -10501,7 +9816,7 @@ "networkMode": { "target": "com.amazonaws.ecs#NetworkMode", "traits": { - "smithy.api#documentation": "

The Docker networking mode to use for the containers in the task. The valid values are\n none, bridge, awsvpc, and host.\n If no network mode is specified, the default is bridge.

\n

For Amazon ECS tasks on Fargate, the awsvpc network mode is required. \n For Amazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. For Amazon ECS tasks on Amazon EC2 Windows instances, or awsvpc can be used. If the network\n mode is set to none, you cannot specify port mappings in your container\n definitions, and the tasks containers do not have external connectivity. The\n host and awsvpc network modes offer the highest networking\n performance for containers because they use the EC2 network stack instead of the\n virtualized network stack provided by the bridge mode.

\n

With the host and awsvpc network modes, exposed container\n ports are mapped directly to the corresponding host port (for the host\n network mode) or the attached elastic network interface port (for the\n awsvpc network mode), so you cannot take advantage of dynamic host port\n mappings.

\n \n

When using the host network mode, you should not run\n containers using the root user (UID 0). It is considered best practice\n to use a non-root user.

\n
\n

If the network mode is awsvpc, the task is allocated an elastic network\n interface, and you must specify a NetworkConfiguration value when you create\n a service or run a task with the task definition. For more information, see Task Networking in the\n Amazon Elastic Container Service Developer Guide.

\n

If the network mode is host, you cannot run multiple instantiations of the\n same task on a single container instance when port mappings are used.

\n

For more information, see Network\n settings in the Docker run reference.

" + "smithy.api#documentation": "

The Docker networking mode to use for the containers in the task. The valid values are\n none, bridge, awsvpc, and host.\n If no network mode is specified, the default is bridge.

\n

For Amazon ECS tasks on Fargate, the awsvpc network mode is required. \n For Amazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. For Amazon ECS tasks on Amazon EC2 Windows instances, or awsvpc can be used. If the network\n mode is set to none, you cannot specify port mappings in your container\n definitions, and the tasks containers do not have external connectivity. The\n host and awsvpc network modes offer the highest networking\n performance for containers because they use the EC2 network stack instead of the\n virtualized network stack provided by the bridge mode.

\n

With the host and awsvpc network modes, exposed container\n ports are mapped directly to the corresponding host port (for the host\n network mode) or the attached elastic network interface port (for the\n awsvpc network mode), so you cannot take advantage of dynamic host port\n mappings.

\n \n

When using the host network mode, you should not run\n containers using the root user (UID 0). It is considered best practice\n to use a non-root user.

\n
\n

If the network mode is awsvpc, the task is allocated an elastic network\n interface, and you must specify a NetworkConfiguration value when you create\n a service or run a task with the task definition. For more information, see Task Networking in the\n Amazon Elastic Container Service Developer Guide.

\n

If the network mode is host, you cannot run multiple instantiations of the\n same task on a single container instance when port mappings are used.

\n

For more information, see Network\n settings in the Docker run reference.

" } }, "revision": { @@ -10514,7 +9829,7 @@ "volumes": { "target": "com.amazonaws.ecs#VolumeList", "traits": { - "smithy.api#documentation": "

The list of data volume definitions for the task. For more information, see Using data volumes in tasks in the\n\t\t\tAmazon Elastic Container Service Developer Guide.

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

The host and sourcePath parameters aren't supported for\n\t\t\t\ttasks run on Fargate.

\n\t\t
" + "smithy.api#documentation": "

The list of data volume definitions for the task. For more information, see Using data volumes in tasks in the Amazon Elastic Container Service Developer Guide.

\n \n

The host and sourcePath parameters aren't supported for\n\t\t\t\ttasks run on Fargate.

\n
" } }, "status": { @@ -10526,13 +9841,13 @@ "requiresAttributes": { "target": "com.amazonaws.ecs#RequiresAttributes", "traits": { - "smithy.api#documentation": "

The container instance attributes required by your task. When an Amazon EC2 instance is\n\t\t\tregistered to your cluster, the Amazon ECS container agent assigns some standard attributes\n\t\t\tto the instance. You can apply custom attributes. These are specified as key-value pairs\n\t\t\tusing the Amazon ECS console or the PutAttributes API. These attributes are\n\t\t\tused when determining task placement for tasks hosted on Amazon EC2 instances. For more\n\t\t\tinformation, see Attributes in the Amazon Elastic Container Service Developer Guide.

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

This parameter isn't supported for tasks run on Fargate.

\n\t\t
" + "smithy.api#documentation": "

The container instance attributes required by your task. When an Amazon EC2 instance is\n\t\t\tregistered to your cluster, the Amazon ECS container agent assigns some standard attributes\n\t\t\tto the instance. You can apply custom attributes. These are specified as key-value pairs\n\t\t\tusing the Amazon ECS console or the PutAttributes API. These attributes are\n\t\t\tused when determining task placement for tasks hosted on Amazon EC2 instances. For more\n\t\t\tinformation, see Attributes in the Amazon Elastic Container Service Developer Guide.

\n \n

This parameter isn't supported for tasks run on Fargate.

\n
" } }, "placementConstraints": { "target": "com.amazonaws.ecs#TaskDefinitionPlacementConstraints", "traits": { - "smithy.api#documentation": "

An array of placement constraint objects to use for tasks.

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

This parameter isn't supported for tasks run on Fargate.

\n\t\t
" + "smithy.api#documentation": "

An array of placement constraint objects to use for tasks.

\n \n

This parameter isn't supported for tasks run on Fargate.

\n
" } }, "compatibilities": { @@ -10544,7 +9859,7 @@ "runtimePlatform": { "target": "com.amazonaws.ecs#RuntimePlatform", "traits": { - "smithy.api#documentation": "

The operating system that your task definitions are running on. A platform family is\n\t\t\tspecified only for tasks using the Fargate launch type.

\n\t\t

When you specify a task in a service, this value must match the\n\t\t\t\truntimePlatform value of the service.

" + "smithy.api#documentation": "

The operating system that your task definitions are running on. A platform family is\n\t\t\tspecified only for tasks using the Fargate launch type.

\n

When you specify a task in a service, this value must match the\n\t\t\t\truntimePlatform value of the service.

" } }, "requiresCompatibilities": { @@ -10556,13 +9871,13 @@ "cpu": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The number of cpu units used by the task. If you use the EC2 launch type,\n\t\t\tthis field is optional. Any value can be used. If you use the Fargate launch type, this\n\t\t\tfield is required. You must use one of the following values. The value that you choose\n\t\t\tdetermines your range of valid values for the memory parameter.

\n\t\t

The CPU units cannot be less than 1 vCPU when you use Windows containers on\n\t\t\tFargate.

\n\t\t
    \n
  • \n

    256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

    \n
  • \n
  • \n

    512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

    \n
  • \n
  • \n

    1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

    \n
  • \n
  • \n

    2048 (2 vCPU) - Available memory values: 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

    \n
  • \n
  • \n

    4096 (4 vCPU) - Available memory values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

    \n
  • \n
  • \n

    8192 (8 vCPU) - Available memory values: 16 GB and 60 GB in 4 GB increments

    \n \n

    This option requires Linux platform 1.4.0 or\n later.

    \n
  • \n
  • \n

    16384 (16vCPU) - Available memory values: 32GB and 120 GB in 8 GB increments

    \n

    This option requires Linux platform 1.4.0 or\n later.

    \n
  • \n
" + "smithy.api#documentation": "

The number of cpu units used by the task. If you use the EC2 launch type,\n\t\t\tthis field is optional. Any value can be used. If you use the Fargate launch type, this\n\t\t\tfield is required. You must use one of the following values. The value that you choose\n\t\t\tdetermines your range of valid values for the memory parameter.

\n

The CPU units cannot be less than 1 vCPU when you use Windows containers on\n\t\t\tFargate.

\n
    \n
  • \n

    256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

    \n
  • \n
  • \n

    512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

    \n
  • \n
  • \n

    1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

    \n
  • \n
  • \n

    2048 (2 vCPU) - Available memory values: 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

    \n
  • \n
  • \n

    4096 (4 vCPU) - Available memory values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

    \n
  • \n
  • \n

    8192 (8 vCPU) - Available memory values: 16 GB and 60 GB in 4 GB increments

    \n

    This option requires Linux platform 1.4.0 or\n later.

    \n
  • \n
  • \n

    16384 (16vCPU) - Available memory values: 32GB and 120 GB in 8 GB increments

    \n

    This option requires Linux platform 1.4.0 or\n later.

    \n
  • \n
" } }, "memory": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The amount (in MiB) of memory used by the task.

\n\t\t

If your tasks runs on Amazon EC2 instances, you must specify either a task-level memory\n\t\t\tvalue or a container-level memory value. This field is optional and any value can be\n\t\t\tused. If a task-level memory value is specified, the container-level memory value is\n\t\t\toptional. For more information regarding container-level memory and memory reservation,\n\t\t\tsee ContainerDefinition.

\n\t\t

If your tasks runs on Fargate, this field is required. You must use one of the\n\t\t\tfollowing values. The value you choose determines your range of valid values for the\n\t\t\t\tcpu parameter.

\n\t\t
    \n
  • \n

    512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

    \n
  • \n
  • \n

    1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

    \n
  • \n
  • \n

    2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

    \n
  • \n
  • \n

    Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

    \n
  • \n
  • \n

    Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

    \n
  • \n
  • \n

    Between 16 GB and 60 GB in 4 GB increments - Available cpu values: 8192 (8 vCPU)

    \n

    This option requires Linux platform 1.4.0 or\n later.

    \n
  • \n
  • \n

    Between 32GB and 120 GB in 8 GB increments - Available cpu values: 16384 (16 vCPU)

    \n

    This option requires Linux platform 1.4.0 or\n later.

    \n
  • \n
" + "smithy.api#documentation": "

The amount (in MiB) of memory used by the task.

\n

If your tasks runs on Amazon EC2 instances, you must specify either a task-level memory\n\t\t\tvalue or a container-level memory value. This field is optional and any value can be\n\t\t\tused. If a task-level memory value is specified, the container-level memory value is\n\t\t\toptional. For more information regarding container-level memory and memory reservation,\n\t\t\tsee ContainerDefinition.

\n

If your tasks runs on Fargate, this field is required. You must use one of the\n\t\t\tfollowing values. The value you choose determines your range of valid values for the\n\t\t\t\tcpu parameter.

\n
    \n
  • \n

    512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

    \n
  • \n
  • \n

    1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

    \n
  • \n
  • \n

    2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

    \n
  • \n
  • \n

    Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

    \n
  • \n
  • \n

    Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

    \n
  • \n
  • \n

    Between 16 GB and 60 GB in 4 GB increments - Available cpu values: 8192 (8 vCPU)

    \n

    This option requires Linux platform 1.4.0 or\n later.

    \n
  • \n
  • \n

    Between 32GB and 120 GB in 8 GB increments - Available cpu values: 16384 (16 vCPU)

    \n

    This option requires Linux platform 1.4.0 or\n later.

    \n
  • \n
" } }, "inferenceAccelerators": { @@ -10574,19 +9889,19 @@ "pidMode": { "target": "com.amazonaws.ecs#PidMode", "traits": { - "smithy.api#documentation": "

The process namespace to use for the containers in the task. The valid\n values are host or task. If host\n is specified, then all containers within the tasks that specified the\n host PID mode on the same container instance share the\n same process namespace with the host Amazon EC2 instance. If task is\n specified, all containers within the specified task share the same\n process namespace. If no value is specified, the default is a private\n namespace. For more information, see PID settings in the Docker run\n reference.

\n

If the host PID mode is used, be aware that there is a\n heightened risk of undesired process namespace expose. For more\n information, see Docker\n security.

\n \n

This parameter is not supported for Windows containers or tasks run on Fargate.

\n
" + "smithy.api#documentation": "

The process namespace to use for the containers in the task. The valid\n values are host or task. If host\n is specified, then all containers within the tasks that specified the\n host PID mode on the same container instance share the\n same process namespace with the host Amazon EC2 instance. If task is\n specified, all containers within the specified task share the same\n process namespace. If no value is specified, the default is a private\n namespace. For more information, see PID settings in the Docker run\n reference.

\n

If the host PID mode is used, be aware that there is a\n heightened risk of undesired process namespace expose. For more\n information, see Docker\n security.

\n \n

This parameter is not supported for Windows containers or tasks run on Fargate.

\n
" } }, "ipcMode": { "target": "com.amazonaws.ecs#IpcMode", "traits": { - "smithy.api#documentation": "

The IPC resource namespace to use for the containers in the task. The valid values are\n host, task, or none. If host is\n specified, then all containers within the tasks that specified the host IPC\n mode on the same container instance share the same IPC resources with the host Amazon EC2\n instance. If task is specified, all containers within the specified task\n share the same IPC resources. If none is specified, then IPC resources\n within the containers of a task are private and not shared with other containers in a\n task or on the container instance. If no value is specified, then the IPC resource\n namespace sharing depends on the Docker daemon setting on the container instance. For\n more information, see IPC\n settings in the Docker run reference.

\n

If the host IPC mode is used, be aware that there is a heightened risk of\n undesired IPC namespace expose. For more information, see Docker\n security.

\n

If you are setting namespaced kernel parameters using systemControls for\n the containers in the task, the following will apply to your IPC resource namespace. For\n more information, see System\n Controls in the Amazon Elastic Container Service Developer Guide.

\n
    \n
  • \n

    For tasks that use the host IPC mode, IPC namespace related\n systemControls are not supported.

    \n
  • \n
  • \n

    For tasks that use the task IPC mode, IPC namespace related\n systemControls will apply to all containers within a\n task.

    \n
  • \n
\n \n

This parameter is not supported for Windows containers or tasks run on Fargate.

\n
" + "smithy.api#documentation": "

The IPC resource namespace to use for the containers in the task. The valid values are\n host, task, or none. If host is\n specified, then all containers within the tasks that specified the host IPC\n mode on the same container instance share the same IPC resources with the host Amazon EC2\n instance. If task is specified, all containers within the specified task\n share the same IPC resources. If none is specified, then IPC resources\n within the containers of a task are private and not shared with other containers in a\n task or on the container instance. If no value is specified, then the IPC resource\n namespace sharing depends on the Docker daemon setting on the container instance. For\n more information, see IPC\n settings in the Docker run reference.

\n

If the host IPC mode is used, be aware that there is a heightened risk of\n undesired IPC namespace expose. For more information, see Docker\n security.

\n

If you are setting namespaced kernel parameters using systemControls for\n the containers in the task, the following will apply to your IPC resource namespace. For\n more information, see System\n Controls in the Amazon Elastic Container Service Developer Guide.

\n
    \n
  • \n

    For tasks that use the host IPC mode, IPC namespace related\n systemControls are not supported.

    \n
  • \n
  • \n

    For tasks that use the task IPC mode, IPC namespace related\n systemControls will apply to all containers within a\n task.

    \n
  • \n
\n \n

This parameter is not supported for Windows containers or tasks run on Fargate.

\n
" } }, "proxyConfiguration": { "target": "com.amazonaws.ecs#ProxyConfiguration", "traits": { - "smithy.api#documentation": "

The configuration details for the App Mesh proxy.

\n\t\t

Your Amazon ECS container instances require at least version 1.26.0 of the container agent\n\t\t\tand at least version 1.26.0-1 of the ecs-init package to use a proxy\n\t\t\tconfiguration. If your container instances are launched from the Amazon ECS optimized AMI\n\t\t\tversion 20190301 or later, they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The configuration details for the App Mesh proxy.

\n

Your Amazon ECS container instances require at least version 1.26.0 of the container agent\n\t\t\tand at least version 1.26.0-1 of the ecs-init package to use a proxy\n\t\t\tconfiguration. If your container instances are launched from the Amazon ECS optimized AMI\n\t\t\tversion 20190301 or later, they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

" } }, "registeredAt": { @@ -10670,12 +9985,12 @@ "expression": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

A cluster query language expression to apply to the constraint. For more information,\n\t\t\tsee Cluster query language in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

A cluster query language expression to apply to the constraint. For more information,\n\t\t\tsee Cluster query language in the Amazon Elastic Container Service Developer Guide.

" } } }, "traits": { - "smithy.api#documentation": "

An object representing a constraint on task placement in the task definition. For more\n\t\t\tinformation, see Task placement constraints in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

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

Task placement constraints aren't supported for tasks run on Fargate.

\n\t\t
" + "smithy.api#documentation": "

An object representing a constraint on task placement in the task definition. For more\n\t\t\tinformation, see Task placement constraints in the\n\t\t\tAmazon Elastic Container Service Developer Guide.

\n \n

Task placement constraints aren't supported for tasks run on Fargate.

\n
" } }, "com.amazonaws.ecs#TaskDefinitionPlacementConstraintType": { @@ -10741,7 +10056,7 @@ "cpu": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The cpu override for the task.

" + "smithy.api#documentation": "

The CPU override for the task.

" } }, "inferenceAcceleratorOverrides": { @@ -10771,7 +10086,7 @@ "ephemeralStorage": { "target": "com.amazonaws.ecs#EphemeralStorage", "traits": { - "smithy.api#documentation": "

The ephemeral storage setting override for the task.

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

This parameter is only supported for tasks hosted on Fargate that\n\t\t\t\tuse the following platform versions:

\n\t\t\t
    \n
  • \n\t\t\t\t\t

    Linux platform version 1.4.0 or later.

    \n\t\t\t\t
  • \n
  • \n\t\t\t\t\t

    Windows platform version 1.0.0 or later.

    \n\t\t\t\t
  • \n
\n\t\t
" + "smithy.api#documentation": "

The ephemeral storage setting override for the task.

\n \n

This parameter is only supported for tasks hosted on Fargate that\n\t\t\t\tuse the following platform versions:

\n
    \n
  • \n

    Linux platform version 1.4.0 or later.

    \n
  • \n
  • \n

    Windows platform version 1.0.0 or later.

    \n
  • \n
\n
" } } }, @@ -10809,19 +10124,19 @@ "startedBy": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The tag specified when a task set is started. If an CodeDeploy deployment created the task\n\t\t\tset, the startedBy parameter is CODE_DEPLOY. If an external\n\t\t\tdeployment created the task set, the startedBy field isn't used.

" + "smithy.api#documentation": "

The tag specified when a task set is started. If an CodeDeploy deployment created the task\n\t\t\tset, the startedBy parameter is CODE_DEPLOY. If an external\n\t\t\tdeployment created the task set, the startedBy field isn't used.

" } }, "externalId": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The external ID associated with the task set.

\n\t\t

If an CodeDeploy deployment created a task set, the externalId parameter\n\t\t\tcontains the CodeDeploy deployment ID.

\n\t\t

If a task set is created for an external deployment and is associated with a service\n\t\t\tdiscovery registry, the externalId parameter contains the\n\t\t\t\tECS_TASK_SET_EXTERNAL_ID Cloud Map attribute.

" + "smithy.api#documentation": "

The external ID associated with the task set.

\n

If an CodeDeploy deployment created a task set, the externalId parameter\n\t\t\tcontains the CodeDeploy deployment ID.

\n

If a task set is created for an external deployment and is associated with a service\n\t\t\tdiscovery registry, the externalId parameter contains the\n\t\t\t\tECS_TASK_SET_EXTERNAL_ID Cloud Map attribute.

" } }, "status": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The status of the task set. The following describes each state.

\n\t\t
\n
PRIMARY
\n
\n\t\t\t\t\t

The task set is serving production traffic.

\n\t\t\t\t
\n
ACTIVE
\n
\n\t\t\t\t\t

The task set isn't serving production traffic.

\n\t\t\t\t
\n
DRAINING
\n
\n\t\t\t\t\t

The tasks in the task set are being stopped, and their corresponding\n\t\t\t\t\t\ttargets are being deregistered from their target group.

\n\t\t\t\t
\n
" + "smithy.api#documentation": "

The status of the task set. The following describes each state.

\n
\n
PRIMARY
\n
\n

The task set is serving production traffic.

\n
\n
ACTIVE
\n
\n

The task set isn't serving production traffic.

\n
\n
DRAINING
\n
\n

The tasks in the task set are being stopped, and their corresponding\n\t\t\t\t\t\ttargets are being deregistered from their target group.

\n
\n
" } }, "taskDefinition": { @@ -10878,13 +10193,13 @@ "platformVersion": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The Fargate platform version where the tasks in the task set are running. A platform\n\t\t\tversion is only specified for tasks run on Fargate. For more information, see Fargate platform versions in the\n\t\t\tAmazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The Fargate platform version where the tasks in the task set are running. A platform\n\t\t\tversion is only specified for tasks run on Fargate. For more information, see Fargate platform versions in the Amazon Elastic Container Service Developer Guide.

" } }, "platformFamily": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The operating system that your tasks in the set are running on. A platform family is\n\t\t\tspecified only for tasks that use the Fargate launch type.

\n\t\t

All tasks in the set must have the same value.

" + "smithy.api#documentation": "

The operating system that your tasks in the set are running on. A platform family is\n\t\t\tspecified only for tasks that use the Fargate launch type.

\n

All tasks in the set must have the same value.

" } }, "networkConfiguration": { @@ -10914,7 +10229,7 @@ "stabilityStatus": { "target": "com.amazonaws.ecs#StabilityStatus", "traits": { - "smithy.api#documentation": "

The stability status. This indicates whether the task set has reached a steady state.\n\t\t\tIf the following conditions are met, the task set sre in\n\t\t\tSTEADY_STATE:

\n\t\t
    \n
  • \n\t\t\t\t

    The task runningCount is equal to the\n\t\t\t\t\t\tcomputedDesiredCount.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    The pendingCount is 0.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    There are no tasks that are running on container instances in the\n\t\t\t\t\t\tDRAINING status.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    All tasks are reporting a healthy status from the load balancers, service\n\t\t\t\t\tdiscovery, and container health checks.

    \n\t\t\t
  • \n
\n\t\t

If any of those conditions aren't met, the stability status returns\n\t\t\t\tSTABILIZING.

" + "smithy.api#documentation": "

The stability status. This indicates whether the task set has reached a steady state.\n\t\t\tIf the following conditions are met, the task set are in\n\t\t\tSTEADY_STATE:

\n
    \n
  • \n

    The task runningCount is equal to the\n\t\t\t\t\t\tcomputedDesiredCount.

    \n
  • \n
  • \n

    The pendingCount is 0.

    \n
  • \n
  • \n

    There are no tasks that are running on container instances in the\n\t\t\t\t\t\tDRAINING status.

    \n
  • \n
  • \n

    All tasks are reporting a healthy status from the load balancers, service\n\t\t\t\t\tdiscovery, and container health checks.

    \n
  • \n
\n

If any of those conditions aren't met, the stability status returns\n\t\t\t\tSTABILIZING.

" } }, "stabilityStatusAt": { @@ -10926,7 +10241,7 @@ "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The metadata that you apply to the task set to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value. You define both.

\n\t\t

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that you apply to the task set to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value. You define both.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" } } }, @@ -10989,6 +10304,24 @@ "traits": { "smithy.api#enumValue": "UserInitiated" } + }, + "SERVICE_SCHEDULER_INITIATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ServiceSchedulerInitiated" + } + }, + "SPOT_INTERRUPTION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SpotInterruption" + } + }, + "TERMINATION_NOTICE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TerminationNotice" + } } } }, @@ -11022,7 +10355,7 @@ "mountOptions": { "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

The list of tmpfs volume mount options.

\n\t\t

Valid values: \"defaults\" | \"ro\" | \"rw\" | \"suid\" | \"nosuid\" | \"dev\" | \"nodev\" |\n\t\t\t\t\"exec\" | \"noexec\" | \"sync\" | \"async\" | \"dirsync\" | \"remount\" | \"mand\" | \"nomand\" |\n\t\t\t\t\"atime\" | \"noatime\" | \"diratime\" | \"nodiratime\" | \"bind\" | \"rbind\" | \"unbindable\" |\n\t\t\t\t\"runbindable\" | \"private\" | \"rprivate\" | \"shared\" | \"rshared\" | \"slave\" | \"rslave\" |\n\t\t\t\t\"relatime\" | \"norelatime\" | \"strictatime\" | \"nostrictatime\" | \"mode\" | \"uid\" | \"gid\"\n\t\t\t\t| \"nr_inodes\" | \"nr_blocks\" | \"mpol\"\n

" + "smithy.api#documentation": "

The list of tmpfs volume mount options.

\n

Valid values: \"defaults\" | \"ro\" | \"rw\" | \"suid\" | \"nosuid\" | \"dev\" | \"nodev\" |\n\t\t\t\t\"exec\" | \"noexec\" | \"sync\" | \"async\" | \"dirsync\" | \"remount\" | \"mand\" | \"nomand\" |\n\t\t\t\t\"atime\" | \"noatime\" | \"diratime\" | \"nodiratime\" | \"bind\" | \"rbind\" | \"unbindable\" |\n\t\t\t\t\"runbindable\" | \"private\" | \"rprivate\" | \"shared\" | \"rshared\" | \"slave\" | \"rslave\" |\n\t\t\t\t\"relatime\" | \"norelatime\" | \"strictatime\" | \"nostrictatime\" | \"mode\" | \"uid\" | \"gid\"\n\t\t\t\t| \"nr_inodes\" | \"nr_blocks\" | \"mpol\"\n

" } } }, @@ -11067,7 +10400,7 @@ "target": "com.amazonaws.ecs#Integer", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

The soft limit for the ulimit type.

", + "smithy.api#documentation": "

The soft limit for the ulimit type.

", "smithy.api#required": {} } }, @@ -11075,13 +10408,13 @@ "target": "com.amazonaws.ecs#Integer", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

The hard limit for the ulimit type.

", + "smithy.api#documentation": "

The hard limit for the ulimit type.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

The ulimit settings to pass to the container.

\n\t\t

Amazon ECS tasks hosted on Fargate use the default\n\t\t\t\t\t\t\tresource limit values set by the operating system with the exception of\n\t\t\t\t\t\t\tthe nofile resource limit parameter which Fargate\n\t\t\t\t\t\t\toverrides. The nofile resource limit sets a restriction on\n\t\t\t\t\t\t\tthe number of open files that a container can use. The default\n\t\t\t\t\t\t\t\tnofile soft limit is 1024 and hard limit\n\t\t\t\t\t\t\tis 4096.

" + "smithy.api#documentation": "

The ulimit settings to pass to the container.

\n

Amazon ECS tasks hosted on Fargate use the default\n\t\t\t\t\t\t\tresource limit values set by the operating system with the exception of\n\t\t\t\t\t\t\tthe nofile resource limit parameter which Fargate\n\t\t\t\t\t\t\toverrides. The nofile resource limit sets a restriction on\n\t\t\t\t\t\t\tthe number of open files that a container can use. The default\n\t\t\t\t\t\t\t\tnofile soft limit is 1024 and hard limit\n\t\t\t\t\t\t\tis 4096.

" } }, "com.amazonaws.ecs#UlimitList": { @@ -11349,6 +10682,12 @@ "traits": { "smithy.api#documentation": "

The execute command configuration for the cluster.

" } + }, + "serviceConnectDefaults": { + "target": "com.amazonaws.ecs#ClusterServiceConnectDefaultsRequest", + "traits": { + "smithy.api#documentation": "

Use this parameter to set a default Service Connect namespace. After you set a default \n\tService Connect namespace, any new services with Service Connect turned on that are created in the cluster are added as\n\tclient services in the namespace. This setting only applies to new services that set the enabled parameter to\n\ttrue in the ServiceConnectConfiguration.\n\tYou can set the namespace of each service individually in the ServiceConnectConfiguration to override this default\n\tparameter.

\n

Tasks that run in a namespace can use short names to connect\n\tto services in the namespace. Tasks can connect to services across all of the clusters in the namespace.\n\tTasks connect through a managed proxy container\n\tthat collects logs and metrics for increased visibility.\n\tOnly the tasks that Amazon ECS services create are supported with Service Connect.\n\tFor more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

" + } } } }, @@ -11402,7 +10741,7 @@ "settings": { "target": "com.amazonaws.ecs#ClusterSettings", "traits": { - "smithy.api#documentation": "

The setting to use by default for a cluster. This parameter is used to turn on CloudWatch\n\t\t\tContainer Insights for a cluster. If this value is specified, it overrides the\n\t\t\t\tcontainerInsights value set with PutAccountSetting or\n\t\t\t\tPutAccountSettingDefault.

", + "smithy.api#documentation": "

The setting to use by default for a cluster. This parameter is used to turn on CloudWatch\n\t\t\tContainer Insights for a cluster. If this value is specified, it overrides the\n\t\t\t\tcontainerInsights value set with PutAccountSetting or\n\t\t\t\tPutAccountSettingDefault.

\n \n

Currently, if you delete an existing cluster that does not have Container Insights\n\t\t\t\tturned on, and then create a new cluster with the same name with Container Insights\n\t\t\t\ttuned on, Container Insights will not actually be turned on. If you want to preserve\n\t\t\t\tthe same name for your existing cluster and turn on Container Insights, you must\n\t\t\t\twait 7 days before you can re-create it.

\n
", "smithy.api#required": {} } } @@ -11451,7 +10790,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates the Amazon ECS container agent on a specified container instance. Updating the\n\t\t\tAmazon ECS container agent doesn't interrupt running tasks or services on the container\n\t\t\tinstance. The process for updating the agent differs depending on whether your container\n\t\t\tinstance was launched with the Amazon ECS-optimized AMI or another operating system.

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

The UpdateContainerAgent API isn't supported for container instances\n\t\t\t\tusing the Amazon ECS-optimized Amazon Linux 2 (arm64) AMI. To update the container agent,\n\t\t\t\tyou can update the ecs-init package. This updates the agent. For more\n\t\t\t\tinformation, see Updating the\n\t\t\t\t\tAmazon ECS container agent in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

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

The UpdateContainerAgent API requires an Amazon ECS-optimized AMI or Amazon\n\t\t\tLinux AMI with the ecs-init service installed and running. For help\n\t\t\tupdating the Amazon ECS container agent on other operating systems, see Manually updating the Amazon ECS container agent in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

Updates the Amazon ECS container agent on a specified container instance. Updating the\n\t\t\tAmazon ECS container agent doesn't interrupt running tasks or services on the container\n\t\t\tinstance. The process for updating the agent differs depending on whether your container\n\t\t\tinstance was launched with the Amazon ECS-optimized AMI or another operating system.

\n \n

The UpdateContainerAgent API isn't supported for container instances\n\t\t\t\tusing the Amazon ECS-optimized Amazon Linux 2 (arm64) AMI. To update the container agent,\n\t\t\t\tyou can update the ecs-init package. This updates the agent. For more\n\t\t\t\tinformation, see Updating the\n\t\t\t\t\tAmazon ECS container agent in the Amazon Elastic Container Service Developer Guide.

\n
\n \n

Agent updates with the UpdateContainerAgent API operation do not\n\t\t\t\tapply to Windows container instances. We recommend that you launch new container\n\t\t\t\tinstances to update the agent version in your Windows clusters.

\n
\n

The UpdateContainerAgent API requires an Amazon ECS-optimized AMI or Amazon\n\t\t\tLinux AMI with the ecs-init service installed and running. For help\n\t\t\tupdating the Amazon ECS container agent on other operating systems, see Manually updating the Amazon ECS container agent in the Amazon Elastic Container Service Developer Guide.

" } }, "com.amazonaws.ecs#UpdateContainerAgentRequest": { @@ -11506,7 +10845,7 @@ } ], "traits": { - "smithy.api#documentation": "

Modifies the status of an Amazon ECS container instance.

\n\t\t

Once a container instance has reached an ACTIVE state, you can change the\n\t\t\tstatus of a container instance to DRAINING to manually remove an instance\n\t\t\tfrom a cluster, for example to perform system updates, update the Docker daemon, or\n\t\t\tscale down the cluster size.

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

A container instance can't be changed to DRAINING until it has\n\t\t\t\treached an ACTIVE status. If the instance is in any other status, an\n\t\t\t\terror will be received.

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

When you set a container instance to DRAINING, Amazon ECS prevents new tasks\n\t\t\tfrom being scheduled for placement on the container instance and replacement service\n\t\t\ttasks are started on other container instances in the cluster if the resources are\n\t\t\tavailable. Service tasks on the container instance that are in the PENDING\n\t\t\tstate are stopped immediately.

\n\t\t

Service tasks on the container instance that are in the RUNNING state are\n\t\t\tstopped and replaced according to the service's deployment configuration parameters,\n\t\t\t\tminimumHealthyPercent and maximumPercent. You can change\n\t\t\tthe deployment configuration of your service using UpdateService.

\n\t\t
    \n
  • \n\t\t\t\t

    If minimumHealthyPercent is below 100%, the scheduler can ignore\n\t\t\t\t\t\tdesiredCount temporarily during task replacement. For example,\n\t\t\t\t\t\tdesiredCount is four tasks, a minimum of 50% allows the\n\t\t\t\t\tscheduler to stop two existing tasks before starting two new tasks. If the\n\t\t\t\t\tminimum is 100%, the service scheduler can't remove existing tasks until the\n\t\t\t\t\treplacement tasks are considered healthy. Tasks for services that do not use a\n\t\t\t\t\tload balancer are considered healthy if they're in the RUNNING\n\t\t\t\t\tstate. Tasks for services that use a load balancer are considered healthy if\n\t\t\t\t\tthey're in the RUNNING state and are reported as healthy by the\n\t\t\t\t\tload balancer.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    The maximumPercent parameter represents an upper limit on the\n\t\t\t\t\tnumber of running tasks during task replacement. You can use this to define the\n\t\t\t\t\treplacement batch size. For example, if desiredCount is four tasks,\n\t\t\t\t\ta maximum of 200% starts four new tasks before stopping the four tasks to be\n\t\t\t\t\tdrained, provided that the cluster resources required to do this are available.\n\t\t\t\t\tIf the maximum is 100%, then replacement tasks can't start until the draining\n\t\t\t\t\ttasks have stopped.

    \n\t\t\t
  • \n
\n\t\t

Any PENDING or RUNNING tasks that do not belong to a service\n\t\t\taren't affected. You must wait for them to finish or stop them manually.

\n\t\t

A container instance has completed draining when it has no more RUNNING\n\t\t\ttasks. You can verify this using ListTasks.

\n\t\t

When a container instance has been drained, you can set a container instance to\n\t\t\t\tACTIVE status and once it has reached that status the Amazon ECS scheduler\n\t\t\tcan begin scheduling tasks on the instance again.

" + "smithy.api#documentation": "

Modifies the status of an Amazon ECS container instance.

\n

Once a container instance has reached an ACTIVE state, you can change the\n\t\t\tstatus of a container instance to DRAINING to manually remove an instance\n\t\t\tfrom a cluster, for example to perform system updates, update the Docker daemon, or\n\t\t\tscale down the cluster size.

\n \n

A container instance can't be changed to DRAINING until it has\n\t\t\t\treached an ACTIVE status. If the instance is in any other status, an\n\t\t\t\terror will be received.

\n
\n

When you set a container instance to DRAINING, Amazon ECS prevents new tasks\n\t\t\tfrom being scheduled for placement on the container instance and replacement service\n\t\t\ttasks are started on other container instances in the cluster if the resources are\n\t\t\tavailable. Service tasks on the container instance that are in the PENDING\n\t\t\tstate are stopped immediately.

\n

Service tasks on the container instance that are in the RUNNING state are\n\t\t\tstopped and replaced according to the service's deployment configuration parameters,\n\t\t\t\tminimumHealthyPercent and maximumPercent. You can change\n\t\t\tthe deployment configuration of your service using UpdateService.

\n
    \n
  • \n

    If minimumHealthyPercent is below 100%, the scheduler can ignore\n\t\t\t\t\t\tdesiredCount temporarily during task replacement. For example,\n\t\t\t\t\t\tdesiredCount is four tasks, a minimum of 50% allows the\n\t\t\t\t\tscheduler to stop two existing tasks before starting two new tasks. If the\n\t\t\t\t\tminimum is 100%, the service scheduler can't remove existing tasks until the\n\t\t\t\t\treplacement tasks are considered healthy. Tasks for services that do not use a\n\t\t\t\t\tload balancer are considered healthy if they're in the RUNNING\n\t\t\t\t\tstate. Tasks for services that use a load balancer are considered healthy if\n\t\t\t\t\tthey're in the RUNNING state and are reported as healthy by the\n\t\t\t\t\tload balancer.

    \n
  • \n
  • \n

    The maximumPercent parameter represents an upper limit on the\n\t\t\t\t\tnumber of running tasks during task replacement. You can use this to define the\n\t\t\t\t\treplacement batch size. For example, if desiredCount is four tasks,\n\t\t\t\t\ta maximum of 200% starts four new tasks before stopping the four tasks to be\n\t\t\t\t\tdrained, provided that the cluster resources required to do this are available.\n\t\t\t\t\tIf the maximum is 100%, then replacement tasks can't start until the draining\n\t\t\t\t\ttasks have stopped.

    \n
  • \n
\n

Any PENDING or RUNNING tasks that do not belong to a service\n\t\t\taren't affected. You must wait for them to finish or stop them manually.

\n

A container instance has completed draining when it has no more RUNNING\n\t\t\ttasks. You can verify this using ListTasks.

\n

When a container instance has been drained, you can set a container instance to\n\t\t\t\tACTIVE status and once it has reached that status the Amazon ECS scheduler\n\t\t\tcan begin scheduling tasks on the instance again.

" } }, "com.amazonaws.ecs#UpdateContainerInstancesStateRequest": { @@ -11584,6 +10923,9 @@ { "target": "com.amazonaws.ecs#InvalidParameterException" }, + { + "target": "com.amazonaws.ecs#NamespaceNotFoundException" + }, { "target": "com.amazonaws.ecs#PlatformTaskDefinitionIncompatibilityException" }, @@ -11601,7 +10943,7 @@ } ], "traits": { - "smithy.api#documentation": "

Modifies the parameters of a service.

\n\t\t

For services using the rolling update (ECS) you can update the desired\n\t\t\tcount, deployment configuration, network configuration, load balancers, service\n\t\t\tregistries, enable ECS managed tags option, propagate tags option, task placement\n\t\t\tconstraints and strategies, and task definition. When you update any of these\n\t\t\tparameters, Amazon ECS starts new tasks with the new configuration.

\n\t\t

For services using the blue/green (CODE_DEPLOY) deployment controller,\n\t\t\tonly the desired count, deployment configuration, health check grace period, task\n\t\t\tplacement constraints and strategies, enable ECS managed tags option, and propagate tags\n\t\t\tcan be updated using this API. If the network configuration, platform version, task\n\t\t\tdefinition, or load balancer need to be updated, create a new CodeDeploy deployment. For more\n\t\t\tinformation, see CreateDeployment in the CodeDeploy API Reference.

\n\t\t

For services using an external deployment controller, you can update only the desired\n\t\t\tcount, task placement constraints and strategies, health check grace period, enable ECS\n\t\t\tmanaged tags option, and propagate tags option, using this API. If the launch type, load\n\t\t\tbalancer, network configuration, platform version, or task definition need to be\n\t\t\tupdated, create a new task set For more information, see CreateTaskSet.

\n\t\t

You can add to or subtract from the number of instantiations of a task definition in a\n\t\t\tservice by specifying the cluster that the service is running in and a new\n\t\t\t\tdesiredCount parameter.

\n\t\t

If you have updated the Docker image of your application, you can create a new task\n\t\t\tdefinition with that image and deploy it to your service. The service scheduler uses the\n\t\t\tminimum healthy percent and maximum percent parameters (in the service's deployment\n\t\t\tconfiguration) to determine the deployment strategy.

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

If your updated Docker image uses the same tag as what is in the existing task\n\t\t\t\tdefinition for your service (for example, my_image:latest), you don't\n\t\t\t\tneed to create a new revision of your task definition. You can update the service\n\t\t\t\tusing the forceNewDeployment option. The new tasks launched by the\n\t\t\t\tdeployment pull the current image/tag combination from your repository when they\n\t\t\t\tstart.

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

You can also update the deployment configuration of a service. When a deployment is\n\t\t\ttriggered by updating the task definition of a service, the service scheduler uses the\n\t\t\tdeployment configuration parameters, minimumHealthyPercent and\n\t\t\t\tmaximumPercent, to determine the deployment strategy.

\n\t\t
    \n
  • \n\t\t\t\t

    If minimumHealthyPercent is below 100%, the scheduler can ignore\n\t\t\t\t\t\tdesiredCount temporarily during a deployment. For example, if\n\t\t\t\t\t\tdesiredCount is four tasks, a minimum of 50% allows the\n\t\t\t\t\tscheduler to stop two existing tasks before starting two new tasks. Tasks for\n\t\t\t\t\tservices that don't use a load balancer are considered healthy if they're in the\n\t\t\t\t\t\tRUNNING state. Tasks for services that use a load balancer are\n\t\t\t\t\tconsidered healthy if they're in the RUNNING state and are reported\n\t\t\t\t\tas healthy by the load balancer.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    The maximumPercent parameter represents an upper limit on the\n\t\t\t\t\tnumber of running tasks during a deployment. You can use it to define the\n\t\t\t\t\tdeployment batch size. For example, if desiredCount is four tasks,\n\t\t\t\t\ta maximum of 200% starts four new tasks before stopping the four older tasks\n\t\t\t\t\t(provided that the cluster resources required to do this are available).

    \n\t\t\t
  • \n
\n\t\t

When UpdateService stops a task during a deployment, the equivalent\n\t\t\tof docker stop is issued to the containers running in the task. This\n\t\t\tresults in a SIGTERM and a 30-second timeout. After this,\n\t\t\t\tSIGKILL is sent and the containers are forcibly stopped. If the\n\t\t\tcontainer handles the SIGTERM gracefully and exits within 30 seconds from\n\t\t\treceiving it, no SIGKILL is sent.

\n\t\t

When the service scheduler launches new tasks, it determines task placement in your\n\t\t\tcluster with the following logic.

\n\t\t
    \n
  • \n\t\t\t\t

    Determine which of the container instances in your cluster can support your\n\t\t\t\t\tservice's task definition. For example, they have the required CPU, memory,\n\t\t\t\t\tports, and container instance attributes.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    By default, the service scheduler attempts to balance tasks across\n\t\t\t\t\tAvailability Zones in this manner even though you can choose a different\n\t\t\t\t\tplacement strategy.

    \n\t\t\t\t
      \n
    • \n\t\t\t\t\t\t

      Sort the valid container instances by the fewest number of running\n\t\t\t\t\t\t\ttasks for this service in the same Availability Zone as the instance.\n\t\t\t\t\t\t\tFor example, if zone A has one running service task and zones B and C\n\t\t\t\t\t\t\teach have zero, valid container instances in either zone B or C are\n\t\t\t\t\t\t\tconsidered optimal for placement.

      \n\t\t\t\t\t
    • \n
    • \n\t\t\t\t\t\t

      Place the new service task on a valid container instance in an optimal\n\t\t\t\t\t\t\tAvailability Zone (based on the previous steps), favoring container\n\t\t\t\t\t\t\tinstances with the fewest number of running tasks for this\n\t\t\t\t\t\t\tservice.

      \n\t\t\t\t\t
    • \n
    \n\t\t\t
  • \n
\n\n\t\t

When the service scheduler stops running tasks, it attempts to maintain balance across\n\t\t\tthe Availability Zones in your cluster using the following logic:

\n\t\t
    \n
  • \n\t\t\t\t

    Sort the container instances by the largest number of running tasks for this\n\t\t\t\t\tservice in the same Availability Zone as the instance. For example, if zone A\n\t\t\t\t\thas one running service task and zones B and C each have two, container\n\t\t\t\t\tinstances in either zone B or C are considered optimal for termination.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    Stop the task on a container instance in an optimal Availability Zone (based\n\t\t\t\t\ton the previous steps), favoring container instances with the largest number of\n\t\t\t\t\trunning tasks for this service.

    \n\t\t\t
  • \n
\n\t\t \n\t\t\t

You must have a service-linked role when you update any of the following service\n\t\t\t\tproperties. If you specified a custom IAM role when you created the service, Amazon ECS\n\t\t\t\tautomatically replaces the roleARN associated with the service with the ARN of your\n\t\t\t\tservice-linked role. For more information, see Service-linked roles in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

\n\t\t\t
    \n
  • \n\t\t\t\t\t

    \n loadBalancers,\n

    \n\t\t\t\t
  • \n
  • \n\t\t\t\t\t

    \n serviceRegistries\n

    \n\t\t\t\t
  • \n
\n\t\t
" + "smithy.api#documentation": "

Modifies the parameters of a service.

\n

For services using the rolling update (ECS) you can update the desired\n\t\t\tcount, deployment configuration, network configuration, load balancers, service\n\t\t\tregistries, enable ECS managed tags option, propagate tags option, task placement\n\t\t\tconstraints and strategies, and task definition. When you update any of these\n\t\t\tparameters, Amazon ECS starts new tasks with the new configuration.

\n

For services using the blue/green (CODE_DEPLOY) deployment controller,\n\t\t\tonly the desired count, deployment configuration, health check grace period, task\n\t\t\tplacement constraints and strategies, enable ECS managed tags option, and propagate tags\n\t\t\tcan be updated using this API. If the network configuration, platform version, task\n\t\t\tdefinition, or load balancer need to be updated, create a new CodeDeploy deployment. For more\n\t\t\tinformation, see CreateDeployment in the CodeDeploy API Reference.

\n

For services using an external deployment controller, you can update only the desired\n\t\t\tcount, task placement constraints and strategies, health check grace period, enable ECS\n\t\t\tmanaged tags option, and propagate tags option, using this API. If the launch type, load\n\t\t\tbalancer, network configuration, platform version, or task definition need to be\n\t\t\tupdated, create a new task set For more information, see CreateTaskSet.

\n

You can add to or subtract from the number of instantiations of a task definition in a\n\t\t\tservice by specifying the cluster that the service is running in and a new\n\t\t\t\tdesiredCount parameter.

\n

If you have updated the Docker image of your application, you can create a new task\n\t\t\tdefinition with that image and deploy it to your service. The service scheduler uses the\n\t\t\tminimum healthy percent and maximum percent parameters (in the service's deployment\n\t\t\tconfiguration) to determine the deployment strategy.

\n \n

If your updated Docker image uses the same tag as what is in the existing task\n\t\t\t\tdefinition for your service (for example, my_image:latest), you don't\n\t\t\t\tneed to create a new revision of your task definition. You can update the service\n\t\t\t\tusing the forceNewDeployment option. The new tasks launched by the\n\t\t\t\tdeployment pull the current image/tag combination from your repository when they\n\t\t\t\tstart.

\n
\n

You can also update the deployment configuration of a service. When a deployment is\n\t\t\ttriggered by updating the task definition of a service, the service scheduler uses the\n\t\t\tdeployment configuration parameters, minimumHealthyPercent and\n\t\t\t\tmaximumPercent, to determine the deployment strategy.

\n
    \n
  • \n

    If minimumHealthyPercent is below 100%, the scheduler can ignore\n\t\t\t\t\t\tdesiredCount temporarily during a deployment. For example, if\n\t\t\t\t\t\tdesiredCount is four tasks, a minimum of 50% allows the\n\t\t\t\t\tscheduler to stop two existing tasks before starting two new tasks. Tasks for\n\t\t\t\t\tservices that don't use a load balancer are considered healthy if they're in the\n\t\t\t\t\t\tRUNNING state. Tasks for services that use a load balancer are\n\t\t\t\t\tconsidered healthy if they're in the RUNNING state and are reported\n\t\t\t\t\tas healthy by the load balancer.

    \n
  • \n
  • \n

    The maximumPercent parameter represents an upper limit on the\n\t\t\t\t\tnumber of running tasks during a deployment. You can use it to define the\n\t\t\t\t\tdeployment batch size. For example, if desiredCount is four tasks,\n\t\t\t\t\ta maximum of 200% starts four new tasks before stopping the four older tasks\n\t\t\t\t\t(provided that the cluster resources required to do this are available).

    \n
  • \n
\n

When UpdateService stops a task during a deployment, the equivalent\n\t\t\tof docker stop is issued to the containers running in the task. This\n\t\t\tresults in a SIGTERM and a 30-second timeout. After this,\n\t\t\t\tSIGKILL is sent and the containers are forcibly stopped. If the\n\t\t\tcontainer handles the SIGTERM gracefully and exits within 30 seconds from\n\t\t\treceiving it, no SIGKILL is sent.

\n

When the service scheduler launches new tasks, it determines task placement in your\n\t\t\tcluster with the following logic.

\n
    \n
  • \n

    Determine which of the container instances in your cluster can support your\n\t\t\t\t\tservice's task definition. For example, they have the required CPU, memory,\n\t\t\t\t\tports, and container instance attributes.

    \n
  • \n
  • \n

    By default, the service scheduler attempts to balance tasks across\n\t\t\t\t\tAvailability Zones in this manner even though you can choose a different\n\t\t\t\t\tplacement strategy.

    \n
      \n
    • \n

      Sort the valid container instances by the fewest number of running\n\t\t\t\t\t\t\ttasks for this service in the same Availability Zone as the instance.\n\t\t\t\t\t\t\tFor example, if zone A has one running service task and zones B and C\n\t\t\t\t\t\t\teach have zero, valid container instances in either zone B or C are\n\t\t\t\t\t\t\tconsidered optimal for placement.

      \n
    • \n
    • \n

      Place the new service task on a valid container instance in an optimal\n\t\t\t\t\t\t\tAvailability Zone (based on the previous steps), favoring container\n\t\t\t\t\t\t\tinstances with the fewest number of running tasks for this\n\t\t\t\t\t\t\tservice.

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

When the service scheduler stops running tasks, it attempts to maintain balance across\n\t\t\tthe Availability Zones in your cluster using the following logic:

\n
    \n
  • \n

    Sort the container instances by the largest number of running tasks for this\n\t\t\t\t\tservice in the same Availability Zone as the instance. For example, if zone A\n\t\t\t\t\thas one running service task and zones B and C each have two, container\n\t\t\t\t\tinstances in either zone B or C are considered optimal for termination.

    \n
  • \n
  • \n

    Stop the task on a container instance in an optimal Availability Zone (based\n\t\t\t\t\ton the previous steps), favoring container instances with the largest number of\n\t\t\t\t\trunning tasks for this service.

    \n
  • \n
\n \n

You must have a service-linked role when you update any of the following service\n\t\t\t\tproperties. If you specified a custom IAM role when you created the service, Amazon ECS\n\t\t\t\tautomatically replaces the roleARN associated with the service with the ARN of your\n\t\t\t\tservice-linked role. For more information, see Service-linked roles in the Amazon Elastic Container Service Developer Guide.

\n
    \n
  • \n

    \n loadBalancers,\n

    \n
  • \n
  • \n

    \n serviceRegistries\n

    \n
  • \n
\n
" } }, "com.amazonaws.ecs#UpdateServicePrimaryTaskSet": { @@ -11677,7 +11019,7 @@ "taskSet": { "target": "com.amazonaws.ecs#TaskSet", "traits": { - "smithy.api#documentation": "

etails about the task set.

" + "smithy.api#documentation": "

The details about the task set.

" } } } @@ -11713,7 +11055,7 @@ "capacityProviderStrategy": { "target": "com.amazonaws.ecs#CapacityProviderStrategy", "traits": { - "smithy.api#documentation": "

The capacity provider strategy to update the service to use.

\n\t\t

if the service uses the default capacity provider strategy for the cluster, the\n\t\t\tservice can be updated to use one or more capacity providers as opposed to the default\n\t\t\tcapacity provider strategy. However, when a service is using a capacity provider\n\t\t\tstrategy that's not the default capacity provider strategy, the service can't be updated\n\t\t\tto use the cluster's default capacity provider strategy.

\n\t\t

A capacity provider strategy consists of one or more capacity providers along with the\n\t\t\t\tbase and weight to assign to them. A capacity provider\n\t\t\tmust be associated with the cluster to be used in a capacity provider strategy. The\n\t\t\t\tPutClusterCapacityProviders API is used to associate a capacity\n\t\t\tprovider with a cluster. Only capacity providers with an ACTIVE or\n\t\t\t\tUPDATING status can be used.

\n\t\t

If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

\n\t\t

To use a Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The Fargate capacity providers are\n\t\t\tavailable to all accounts and only need to be associated with a cluster to be\n\t\t\tused.

\n\t\t

The PutClusterCapacityProviders API operation is used to update the\n\t\t\tlist of available capacity providers for a cluster after the cluster is created.

\n\t\t

" + "smithy.api#documentation": "

The capacity provider strategy to update the service to use.

\n

if the service uses the default capacity provider strategy for the cluster, the\n\t\t\tservice can be updated to use one or more capacity providers as opposed to the default\n\t\t\tcapacity provider strategy. However, when a service is using a capacity provider\n\t\t\tstrategy that's not the default capacity provider strategy, the service can't be updated\n\t\t\tto use the cluster's default capacity provider strategy.

\n

A capacity provider strategy consists of one or more capacity providers along with the\n\t\t\t\tbase and weight to assign to them. A capacity provider\n\t\t\tmust be associated with the cluster to be used in a capacity provider strategy. The\n\t\t\t\tPutClusterCapacityProviders API is used to associate a capacity\n\t\t\tprovider with a cluster. Only capacity providers with an ACTIVE or\n\t\t\t\tUPDATING status can be used.

\n

If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

\n

To use a Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The Fargate capacity providers are\n\t\t\tavailable to all accounts and only need to be associated with a cluster to be\n\t\t\tused.

\n

The PutClusterCapacityProviders API operation is used to update the\n\t\t\tlist of available capacity providers for a cluster after the cluster is created.

\n

" } }, "deploymentConfiguration": { @@ -11731,13 +11073,13 @@ "placementConstraints": { "target": "com.amazonaws.ecs#PlacementConstraints", "traits": { - "smithy.api#documentation": "

An array of task placement constraint objects to update the service to use. If no\n\t\t\tvalue is specified, the existing placement constraints for the service will remain\n\t\t\tunchanged. If this value is specified, it will override any existing placement\n\t\t\tconstraints defined for the service. To remove all existing placement constraints,\n\t\t\tspecify an empty array.

\n\t\t

You can specify a maximum of 10 constraints for each task. This limit includes\n\t\t\tconstraints in the task definition and those specified at runtime.

" + "smithy.api#documentation": "

An array of task placement constraint objects to update the service to use. If no\n\t\t\tvalue is specified, the existing placement constraints for the service will remain\n\t\t\tunchanged. If this value is specified, it will override any existing placement\n\t\t\tconstraints defined for the service. To remove all existing placement constraints,\n\t\t\tspecify an empty array.

\n

You can specify a maximum of 10 constraints for each task. This limit includes\n\t\t\tconstraints in the task definition and those specified at runtime.

" } }, "placementStrategy": { "target": "com.amazonaws.ecs#PlacementStrategies", "traits": { - "smithy.api#documentation": "

The task placement strategy objects to update the service to use. If no value is\n\t\t\tspecified, the existing placement strategy for the service will remain unchanged. If\n\t\t\tthis value is specified, it will override the existing placement strategy defined for\n\t\t\tthe service. To remove an existing placement strategy, specify an empty object.

\n\t\t

You can specify a maximum of five strategy rules for each service.

" + "smithy.api#documentation": "

The task placement strategy objects to update the service to use. If no value is\n\t\t\tspecified, the existing placement strategy for the service will remain unchanged. If\n\t\t\tthis value is specified, it will override the existing placement strategy defined for\n\t\t\tthe service. To remove an existing placement strategy, specify an empty object.

\n

You can specify a maximum of five strategy rules for each service.

" } }, "platformVersion": { @@ -11762,31 +11104,37 @@ "enableExecuteCommand": { "target": "com.amazonaws.ecs#BoxedBoolean", "traits": { - "smithy.api#documentation": "

If true, this enables execute command functionality on all task\n\t\t\tcontainers.

\n\t\t

If you do not want to override the value that was set when the service was created,\n\t\t\tyou can set this to null when performing this action.

" + "smithy.api#documentation": "

If true, this enables execute command functionality on all task\n\t\t\tcontainers.

\n

If you do not want to override the value that was set when the service was created,\n\t\t\tyou can set this to null when performing this action.

" } }, "enableECSManagedTags": { "target": "com.amazonaws.ecs#BoxedBoolean", "traits": { - "smithy.api#documentation": "

Determines whether to turn on Amazon ECS managed tags for the tasks in the service. For\n\t\t\tmore information, see Tagging Your Amazon ECS\n\t\t\t\tResources in the Amazon Elastic Container Service Developer Guide.

\n\t\t

Only tasks launched after the update will reflect the update. To update the tags on\n\t\t\tall tasks, set forceNewDeployment to true, so that Amazon ECS\n\t\t\tstarts new tasks with the updated tags.

" + "smithy.api#documentation": "

Determines whether to turn on Amazon ECS managed tags for the tasks in the service. For\n\t\t\tmore information, see Tagging Your Amazon ECS\n\t\t\t\tResources in the Amazon Elastic Container Service Developer Guide.

\n

Only tasks launched after the update will reflect the update. To update the tags on\n\t\t\tall tasks, set forceNewDeployment to true, so that Amazon ECS\n\t\t\tstarts new tasks with the updated tags.

" } }, "loadBalancers": { "target": "com.amazonaws.ecs#LoadBalancers", "traits": { - "smithy.api#documentation": "

A list of Elastic Load Balancing load balancer objects. It contains the load balancer name, the\n\t\t\tcontainer name, and the container port to access from the load balancer. The container\n\t\t\tname is as it appears in a container definition.

\n\t\t

When you add, update, or remove a load balancer configuration, Amazon ECS starts new tasks\n\t\t\twith the updated Elastic Load Balancing configuration, and then stops the old tasks when the new tasks\n\t\t\tare running.

\n\t\t

For services that use rolling updates, you can add, update, or remove Elastic Load Balancing target\n\t\t\tgroups. You can update from a single target group to multiple target groups and from\n\t\t\tmultiple target groups to a single target group.

\n\t\t

For services that use blue/green deployments, you can update Elastic Load Balancing target groups by\n\t\t\tusing \n CreateDeployment\n through CodeDeploy. Note that multiple target groups\n\t\t\tare not supported for blue/green deployments. For more information see Register\n\t\t\t\tmultiple target groups with a service in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

\n\t\t

For services that use the external deployment controller, you can add, update, or\n\t\t\tremove load balancers by using CreateTaskSet.\n\t\t\tNote that multiple target groups are not supported for external deployments. For more\n\t\t\tinformation see Register\n\t\t\t\tmultiple target groups with a service in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

\n\t\t

You can remove existing loadBalancers by passing an empty list.

" + "smithy.api#documentation": "

A list of Elastic Load Balancing load balancer objects. It contains the load balancer name, the\n\t\t\tcontainer name, and the container port to access from the load balancer. The container\n\t\t\tname is as it appears in a container definition.

\n

When you add, update, or remove a load balancer configuration, Amazon ECS starts new tasks\n\t\t\twith the updated Elastic Load Balancing configuration, and then stops the old tasks when the new tasks\n\t\t\tare running.

\n

For services that use rolling updates, you can add, update, or remove Elastic Load Balancing target\n\t\t\tgroups. You can update from a single target group to multiple target groups and from\n\t\t\tmultiple target groups to a single target group.

\n

For services that use blue/green deployments, you can update Elastic Load Balancing target groups by\n\t\t\tusing \n CreateDeployment\n through CodeDeploy. Note that multiple target groups\n\t\t\tare not supported for blue/green deployments. For more information see Register\n\t\t\t\tmultiple target groups with a service in the Amazon Elastic Container Service Developer Guide.

\n

For services that use the external deployment controller, you can add, update, or\n\t\t\tremove load balancers by using CreateTaskSet.\n\t\t\tNote that multiple target groups are not supported for external deployments. For more\n\t\t\tinformation see Register\n\t\t\t\tmultiple target groups with a service in the Amazon Elastic Container Service Developer Guide.

\n

You can remove existing loadBalancers by passing an empty list.

" } }, "propagateTags": { "target": "com.amazonaws.ecs#PropagateTags", "traits": { - "smithy.api#documentation": "

Determines whether to propagate the tags from the task definition or the service to\n\t\t\tthe task. If no value is specified, the tags aren't propagated.

\n\t\t

Only tasks launched after the update will reflect the update. To update the tags on\n\t\t\tall tasks, set forceNewDeployment to true, so that Amazon ECS\n\t\t\tstarts new tasks with the updated tags.

" + "smithy.api#documentation": "

Determines whether to propagate the tags from the task definition or the service to\n\t\t\tthe task. If no value is specified, the tags aren't propagated.

\n

Only tasks launched after the update will reflect the update. To update the tags on\n\t\t\tall tasks, set forceNewDeployment to true, so that Amazon ECS\n\t\t\tstarts new tasks with the updated tags.

" } }, "serviceRegistries": { "target": "com.amazonaws.ecs#ServiceRegistries", "traits": { - "smithy.api#documentation": "

The details for the service discovery registries to assign to this service. For more\n\t\t\tinformation, see Service\n\t\t\t\tDiscovery.

\n\t\t

When you add, update, or remove the service registries configuration, Amazon ECS starts new\n\t\t\ttasks with the updated service registries configuration, and then stops the old tasks\n\t\t\twhen the new tasks are running.

\n\t\t

You can remove existing serviceRegistries by passing an empty\n\t\t\tlist.

" + "smithy.api#documentation": "

The details for the service discovery registries to assign to this service. For more\n\t\t\tinformation, see Service\n\t\t\t\tDiscovery.

\n

When you add, update, or remove the service registries configuration, Amazon ECS starts new\n\t\t\ttasks with the updated service registries configuration, and then stops the old tasks\n\t\t\twhen the new tasks are running.

\n

You can remove existing serviceRegistries by passing an empty\n\t\t\tlist.

" + } + }, + "serviceConnectConfiguration": { + "target": "com.amazonaws.ecs#ServiceConnectConfiguration", + "traits": { + "smithy.api#documentation": "

The configuration for this service to discover and connect to\n\tservices, and be discovered by, and connected from, other services within a namespace.

\n

Tasks that run in a namespace can use short names to connect\n\tto services in the namespace. Tasks can connect to services across all of the clusters in the namespace.\n\tTasks connect through a managed proxy container\n\tthat collects logs and metrics for increased visibility.\n\tOnly the tasks that Amazon ECS services create are supported with Service Connect.\n\tFor more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

" } } } @@ -11802,6 +11150,91 @@ } } }, + "com.amazonaws.ecs#UpdateTaskProtection": { + "type": "operation", + "input": { + "target": "com.amazonaws.ecs#UpdateTaskProtectionRequest" + }, + "output": { + "target": "com.amazonaws.ecs#UpdateTaskProtectionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.ecs#AccessDeniedException" + }, + { + "target": "com.amazonaws.ecs#ClientException" + }, + { + "target": "com.amazonaws.ecs#ClusterNotFoundException" + }, + { + "target": "com.amazonaws.ecs#InvalidParameterException" + }, + { + "target": "com.amazonaws.ecs#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.ecs#ServerException" + }, + { + "target": "com.amazonaws.ecs#UnsupportedFeatureException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates the protection status of a task. You can set protectionEnabled to\n\t\t\t\ttrue to protect your task from termination during scale-in events from\n\t\t\t\tService\n\t\t\t\tAutoscaling or deployments.

\n

Task-protection, by default, expires after 2 hours at which point Amazon ECS unsets the\n\t\t\t\tprotectionEnabled property making the task eligible for termination by\n\t\t\ta subsequent scale-in event.

\n

You can specify a custom expiration period for task protection from 1 minute to up to\n\t\t\t2,880 minutes (48 hours). To specify the custom expiration period, set the\n\t\t\t\texpiresInMinutes property. The expiresInMinutes property\n\t\t\tis always reset when you invoke this operation for a task that already has\n\t\t\t\tprotectionEnabled set to true. You can keep extending the\n\t\t\tprotection expiration period of a task by invoking this operation repeatedly.

\n

To learn more about Amazon ECS task protection, see Task scale-in\n\t\t\t\tprotection in the \n Amazon Elastic Container Service Developer Guide\n .

\n \n

This operation is only supported for tasks belonging to an Amazon ECS service. Invoking\n\t\t\t\tthis operation for a standalone task will result in an TASK_NOT_VALID\n\t\t\t\tfailure. For more information, see API failure\n\t\t\t\t\treasons.

\n
\n \n

If you prefer to set task protection from within the container, we recommend using\n\t\t\t\tthe Task scale-in protection endpoint.

\n
" + } + }, + "com.amazonaws.ecs#UpdateTaskProtectionRequest": { + "type": "structure", + "members": { + "cluster": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task\n\t\t\tsets exist in.

", + "smithy.api#required": {} + } + }, + "tasks": { + "target": "com.amazonaws.ecs#StringList", + "traits": { + "smithy.api#documentation": "

A list of up to 10 task IDs or full ARN entries.

", + "smithy.api#required": {} + } + }, + "protectionEnabled": { + "target": "com.amazonaws.ecs#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Specify true to mark a task for protection and false to\n\t\t\tunset protection, making it eligible for termination.

", + "smithy.api#required": {} + } + }, + "expiresInMinutes": { + "target": "com.amazonaws.ecs#BoxedInteger", + "traits": { + "smithy.api#documentation": "

If you set protectionEnabled to true, you can specify the\n\t\t\tduration for task protection in minutes. You can specify a value from 1 minute to up to\n\t\t\t2,880 minutes (48 hours). During this time, your task will not be terminated by scale-in\n\t\t\tevents from Service Auto Scaling or deployments. After this time period lapses,\n\t\t\t\tprotectionEnabled will be reset to false.

\n

If you don’t specify the time, then the task is automatically protected for 120\n\t\t\tminutes (2 hours).

" + } + } + } + }, + "com.amazonaws.ecs#UpdateTaskProtectionResponse": { + "type": "structure", + "members": { + "protectedTasks": { + "target": "com.amazonaws.ecs#ProtectedTasks", + "traits": { + "smithy.api#documentation": "

A list of tasks with the following information.

\n
    \n
  • \n

    \n taskArn: The task ARN.

    \n
  • \n
  • \n

    \n protectionEnabled: The protection status of the task. If scale-in\n\t\t\t\t\tprotection is enabled for a task, the value is true. Otherwise, it\n\t\t\t\t\tis false.

    \n
  • \n
  • \n

    \n expirationDate: The epoch time when protection for the task will\n\t\t\t\t\texpire.

    \n
  • \n
" + } + }, + "failures": { + "target": "com.amazonaws.ecs#Failures", + "traits": { + "smithy.api#documentation": "

Any failures associated with the call.

" + } + } + } + }, "com.amazonaws.ecs#UpdateTaskSet": { "type": "operation", "input": { @@ -11925,13 +11358,13 @@ "host": { "target": "com.amazonaws.ecs#HostVolumeProperties", "traits": { - "smithy.api#documentation": "

This parameter is specified when you use bind mount host volumes. The contents of the\n\t\t\t\thost parameter determine whether your bind mount host volume persists\n\t\t\ton the host container instance and where it's stored. If the host parameter\n\t\t\tis empty, then the Docker daemon assigns a host path for your data volume. However, the\n\t\t\tdata isn't guaranteed to persist after the containers that are associated with it stop\n\t\t\trunning.

\n\t\t

Windows containers can mount whole directories on the same drive as\n\t\t\t\t$env:ProgramData. Windows containers can't mount directories on a\n\t\t\tdifferent drive, and mount point can't be across drives. For example, you can mount\n\t\t\t\tC:\\my\\path:C:\\my\\path and D:\\:D:\\, but not\n\t\t\t\tD:\\my\\path:C:\\my\\path or D:\\:C:\\my\\path.

" + "smithy.api#documentation": "

This parameter is specified when you use bind mount host volumes. The contents of the\n\t\t\t\thost parameter determine whether your bind mount host volume persists\n\t\t\ton the host container instance and where it's stored. If the host parameter\n\t\t\tis empty, then the Docker daemon assigns a host path for your data volume. However, the\n\t\t\tdata isn't guaranteed to persist after the containers that are associated with it stop\n\t\t\trunning.

\n

Windows containers can mount whole directories on the same drive as\n\t\t\t\t$env:ProgramData. Windows containers can't mount directories on a\n\t\t\tdifferent drive, and mount point can't be across drives. For example, you can mount\n\t\t\t\tC:\\my\\path:C:\\my\\path and D:\\:D:\\, but not\n\t\t\t\tD:\\my\\path:C:\\my\\path or D:\\:C:\\my\\path.

" } }, "dockerVolumeConfiguration": { "target": "com.amazonaws.ecs#DockerVolumeConfiguration", "traits": { - "smithy.api#documentation": "

This parameter is specified when you use Docker volumes.

\n\t\t

Windows containers only support the use of the local driver. To use bind\n\t\t\tmounts, specify the host parameter instead.

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

Docker volumes aren't supported by tasks run on Fargate.

\n\t\t
" + "smithy.api#documentation": "

This parameter is specified when you use Docker volumes.

\n

Windows containers only support the use of the local driver. To use bind\n\t\t\tmounts, specify the host parameter instead.

\n \n

Docker volumes aren't supported by tasks run on Fargate.

\n
" } }, "efsVolumeConfiguration": { @@ -11948,7 +11381,7 @@ } }, "traits": { - "smithy.api#documentation": "

A data volume that's used in a task definition. For tasks that use the Amazon Elastic\n\t\t\tFile System (Amazon EFS), specify an efsVolumeConfiguration. For Windows\n\t\t\ttasks that use Amazon FSx for Windows File Server file system, specify a\n\t\t\t\tfsxWindowsFileServerVolumeConfiguration. For tasks that use a Docker\n\t\t\tvolume, specify a DockerVolumeConfiguration. For tasks that use a bind\n\t\t\tmount host volume, specify a host and optional sourcePath. For\n\t\t\tmore information, see Using Data Volumes in\n\t\t\t\tTasks.

" + "smithy.api#documentation": "

A data volume that's used in a task definition. For tasks that use the Amazon Elastic File System\n\t\t\t(Amazon EFS), specify an efsVolumeConfiguration. For Windows tasks that use\n\t\t\tAmazon FSx for Windows File Server file system, specify a\n\t\t\tfsxWindowsFileServerVolumeConfiguration. For tasks that use a Docker\n\t\t\tvolume, specify a DockerVolumeConfiguration. For tasks that use a bind\n\t\t\tmount host volume, specify a host and optional sourcePath. For\n\t\t\tmore information, see Using Data Volumes in\n\t\t\t\tTasks.

" } }, "com.amazonaws.ecs#VolumeFrom": { diff --git a/aws/sdk/aws-models/glacier.json b/aws/sdk/aws-models/glacier.json index 4efbe2b4e8..878e57eea2 100644 --- a/aws/sdk/aws-models/glacier.json +++ b/aws/sdk/aws-models/glacier.json @@ -1674,7 +1674,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": false, + "required": true, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -1723,15 +1723,6 @@ "ref": "Endpoint" } ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" } ], "type": "tree", @@ -1845,12 +1836,18 @@ "rules": [ { "conditions": [], - "endpoint": { - "url": "https://glacier-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://glacier-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] }, @@ -1899,6 +1896,31 @@ "conditions": [], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws-us-gov", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://glacier.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, { "conditions": [], "endpoint": { @@ -1955,12 +1977,18 @@ "rules": [ { "conditions": [], - "endpoint": { - "url": "https://glacier.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://glacier.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] }, @@ -1973,12 +2001,56 @@ }, { "conditions": [], - "endpoint": { - "url": "https://glacier.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-gov-east-1" + ] + } + ], + "endpoint": { + "url": "https://glacier.us-gov-east-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-gov-west-1" + ] + } + ], + "endpoint": { + "url": "https://glacier.us-gov-west-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://glacier.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] } @@ -1987,1759 +2059,588 @@ "smithy.rules#endpointTests": { "testCases": [ { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack enabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier-fips.ap-south-2.api.aws" + "url": "https://glacier.sa-east-1.amazonaws.com" } }, "params": { - "Region": "ap-south-2", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "sa-east-1" } }, { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier-fips.ap-south-2.amazonaws.com" + "url": "https://glacier.ap-east-1.amazonaws.com" } }, "params": { - "Region": "ap-south-2", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "ap-east-1" } }, { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.ap-south-2.api.aws" + "url": "https://glacier.eu-south-1.amazonaws.com" } }, "params": { - "Region": "ap-south-2", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-south-1" } }, { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.ap-south-2.amazonaws.com" + "url": "https://glacier.eu-central-1.amazonaws.com" } }, "params": { - "Region": "ap-south-2", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false + "Region": "eu-central-1" } }, { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier-fips.ap-south-1.api.aws" + "url": "https://glacier.ap-southeast-1.amazonaws.com" } }, "params": { - "Region": "ap-south-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-southeast-1" } }, { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier-fips.ap-south-1.amazonaws.com" + "url": "https://glacier.ap-southeast-2.amazonaws.com" } }, "params": { - "Region": "ap-south-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "ap-southeast-2" } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.ap-south-1.api.aws" + "url": "https://glacier.ap-southeast-3.amazonaws.com" } }, "params": { - "Region": "ap-south-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-southeast-3" } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.ap-south-1.amazonaws.com" + "url": "https://glacier.ca-central-1.amazonaws.com" } }, "params": { - "Region": "ap-south-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false + "Region": "ca-central-1" } }, { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier-fips.eu-south-1.api.aws" + "url": "https://glacier-fips.ca-central-1.amazonaws.com" } }, "params": { - "Region": "eu-south-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false, + "Region": "ca-central-1" } }, { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier-fips.eu-south-1.amazonaws.com" + "url": "https://glacier.us-west-1.amazonaws.com" } }, "params": { - "Region": "eu-south-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "us-west-1" } }, { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.eu-south-1.api.aws" + "url": "https://glacier-fips.us-west-1.amazonaws.com" } }, "params": { - "Region": "eu-south-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-west-1" } }, { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.eu-south-1.amazonaws.com" + "url": "https://glacier.us-west-2.amazonaws.com" } }, "params": { - "Region": "eu-south-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false + "Region": "us-west-2" } }, { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier-fips.eu-south-2.api.aws" + "url": "https://glacier-fips.us-west-2.amazonaws.com" } }, "params": { - "Region": "eu-south-2", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-west-2" } }, { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack disabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier-fips.eu-south-2.amazonaws.com" + "url": "https://glacier.af-south-1.amazonaws.com" } }, "params": { - "Region": "eu-south-2", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "af-south-1" } }, { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.eu-south-2.api.aws" + "url": "https://glacier.ap-south-1.amazonaws.com" } }, "params": { - "Region": "eu-south-2", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-south-1" } }, { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.eu-south-2.amazonaws.com" + "url": "https://glacier.ap-northeast-1.amazonaws.com" } }, "params": { - "Region": "eu-south-2", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false + "Region": "ap-northeast-1" } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier-fips.us-gov-east-1.api.aws" + "url": "https://glacier.ap-northeast-2.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-northeast-2" } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier-fips.us-gov-east-1.amazonaws.com" + "url": "https://glacier.ap-northeast-3.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "ap-northeast-3" } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.us-gov-east-1.api.aws" + "url": "https://glacier.us-east-1.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-east-1" } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.us-gov-east-1.amazonaws.com" + "url": "https://glacier-fips.us-east-1.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": false + "Region": "us-east-1" } }, { - "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier-fips.me-central-1.api.aws" + "url": "https://glacier.eu-west-1.amazonaws.com" } }, "params": { - "Region": "me-central-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-west-1" } }, { - "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier-fips.me-central-1.amazonaws.com" + "url": "https://glacier.eu-west-2.amazonaws.com" } }, "params": { - "Region": "me-central-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "eu-west-2" } }, { - "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.me-central-1.api.aws" + "url": "https://glacier.eu-west-3.amazonaws.com" } }, "params": { - "Region": "me-central-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-west-3" } }, { - "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.me-central-1.amazonaws.com" + "url": "https://glacier.me-south-1.amazonaws.com" } }, "params": { - "Region": "me-central-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false + "Region": "me-south-1" } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier-fips.ca-central-1.api.aws" + "url": "https://glacier.eu-north-1.amazonaws.com" } }, "params": { - "Region": "ca-central-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-north-1" } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier-fips.ca-central-1.amazonaws.com" + "url": "https://glacier.us-east-2.amazonaws.com" } }, "params": { - "Region": "ca-central-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "us-east-2" } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.ca-central-1.api.aws" + "url": "https://glacier-fips.us-east-2.amazonaws.com" } }, "params": { - "Region": "ca-central-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-east-2" } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://glacier.ca-central-1.amazonaws.com" + "url": "https://glacier-fips.us-east-1.api.aws" } }, "params": { - "Region": "ca-central-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-east-1" } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://glacier-fips.eu-central-1.api.aws" + "url": "https://glacier.us-east-1.api.aws" } }, "params": { - "Region": "eu-central-1", + "UseFIPS": false, "UseDualStack": true, - "UseFIPS": true + "Region": "us-east-1" } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier-fips.eu-central-1.amazonaws.com" + "url": "https://glacier.us-gov-west-1.amazonaws.com" } }, "params": { - "Region": "eu-central-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "us-gov-west-1" } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.eu-central-1.api.aws" + "url": "https://glacier.us-gov-west-1.amazonaws.com" } }, "params": { - "Region": "eu-central-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-gov-west-1" } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.eu-central-1.amazonaws.com" + "url": "https://glacier.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "eu-central-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false + "Region": "us-gov-east-1" } }, { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + "endpoint": { + "url": "https://glacier.us-gov-east-1.amazonaws.com" + } }, "params": { - "Region": "us-iso-west-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-gov-east-1" } }, { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://glacier-fips.us-iso-west-1.c2s.ic.gov" + "url": "https://glacier-fips.us-gov-east-1.api.aws" } }, "params": { - "Region": "us-iso-west-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-gov-east-1" } }, { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" + "endpoint": { + "url": "https://glacier.us-gov-east-1.api.aws" + } }, "params": { - "Region": "us-iso-west-1", + "UseFIPS": false, "UseDualStack": true, - "UseFIPS": false + "Region": "us-gov-east-1" } }, { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.us-iso-west-1.c2s.ic.gov" + "url": "https://glacier.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "Region": "us-iso-west-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false + "Region": "us-isob-east-1" } }, { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier-fips.eu-central-2.api.aws" + "url": "https://glacier-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "Region": "eu-central-2", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-isob-east-1" } }, { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier-fips.eu-central-2.amazonaws.com" + "url": "https://glacier.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "Region": "eu-central-2", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "cn-northwest-1" } }, { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.eu-central-2.api.aws" + "url": "https://glacier.cn-north-1.amazonaws.com.cn" } }, "params": { - "Region": "eu-central-2", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "cn-north-1" } }, { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://glacier.eu-central-2.amazonaws.com" - } - }, - "params": { - "Region": "eu-central-2", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.us-west-1.api.aws" - } - }, - "params": { - "Region": "us-west-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "Region": "us-west-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier.us-west-1.api.aws" - } - }, - "params": { - "Region": "us-west-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier.us-west-1.amazonaws.com" - } - }, - "params": { - "Region": "us-west-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.us-west-2.api.aws" - } - }, - "params": { - "Region": "us-west-2", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "Region": "us-west-2", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier.us-west-2.api.aws" - } - }, - "params": { - "Region": "us-west-2", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier.us-west-2.amazonaws.com" - } - }, - "params": { - "Region": "us-west-2", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.af-south-1.api.aws" - } - }, - "params": { - "Region": "af-south-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "Region": "af-south-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier.af-south-1.api.aws" - } - }, - "params": { - "Region": "af-south-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier.af-south-1.amazonaws.com" - } - }, - "params": { - "Region": "af-south-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.eu-north-1.api.aws" - } - }, - "params": { - "Region": "eu-north-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-north-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier.eu-north-1.api.aws" - } - }, - "params": { - "Region": "eu-north-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier.eu-north-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-north-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.eu-west-3.api.aws" - } - }, - "params": { - "Region": "eu-west-3", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-3", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier.eu-west-3.api.aws" - } - }, - "params": { - "Region": "eu-west-3", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier.eu-west-3.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-3", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.eu-west-2.api.aws" - } - }, - "params": { - "Region": "eu-west-2", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-2", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier.eu-west-2.api.aws" - } - }, - "params": { - "Region": "eu-west-2", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier.eu-west-2.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-2", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.eu-west-1.api.aws" - } - }, - "params": { - "Region": "eu-west-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier.eu-west-1.api.aws" - } - }, - "params": { - "Region": "eu-west-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier.eu-west-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "Region": "ap-northeast-3", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-3", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier.ap-northeast-3.api.aws" - } - }, - "params": { - "Region": "ap-northeast-3", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-3", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier.ap-northeast-2.api.aws" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier.ap-northeast-1.api.aws" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.me-south-1.api.aws" - } - }, - "params": { - "Region": "me-south-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.me-south-1.amazonaws.com" - } - }, - "params": { - "Region": "me-south-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier.me-south-1.api.aws" - } - }, - "params": { - "Region": "me-south-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier.me-south-1.amazonaws.com" - } - }, - "params": { - "Region": "me-south-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.sa-east-1.api.aws" - } - }, - "params": { - "Region": "sa-east-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "Region": "sa-east-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier.sa-east-1.api.aws" - } - }, - "params": { - "Region": "sa-east-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier.sa-east-1.amazonaws.com" - } - }, - "params": { - "Region": "sa-east-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.ap-east-1.api.aws" - } - }, - "params": { - "Region": "ap-east-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.ap-east-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-east-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier.ap-east-1.api.aws" - } - }, - "params": { - "Region": "ap-east-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier.ap-east-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-east-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.us-gov-west-1.api.aws" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier.us-gov-west-1.api.aws" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.ap-southeast-1.api.aws" - } - }, - "params": { - "Region": "ap-southeast-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier.ap-southeast-1.api.aws" - } - }, - "params": { - "Region": "ap-southeast-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.ap-southeast-2.api.aws" - } - }, - "params": { - "Region": "ap-southeast-2", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-2", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier.ap-southeast-2.api.aws" - } - }, - "params": { - "Region": "ap-southeast-2", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-2", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "Region": "us-iso-east-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "Region": "us-iso-east-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.ap-southeast-3.api.aws" - } - }, - "params": { - "Region": "ap-southeast-3", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.ap-southeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-3", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier.ap-southeast-3.api.aws" - } - }, - "params": { - "Region": "ap-southeast-3", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier.ap-southeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-3", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.ap-southeast-4.api.aws" - } - }, - "params": { - "Region": "ap-southeast-4", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.ap-southeast-4.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-4", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier.ap-southeast-4.api.aws" - } - }, - "params": { - "Region": "ap-southeast-4", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier.ap-southeast-4.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-4", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.us-east-1.api.aws" - } - }, - "params": { - "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.us-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier.us-east-1.api.aws" - } - }, - "params": { - "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier.us-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.us-east-2.api.aws" - } - }, - "params": { - "Region": "us-east-2", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "Region": "us-east-2", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier.us-east-2.api.aws" - } - }, - "params": { - "Region": "us-east-2", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://glacier.us-east-2.amazonaws.com" - } - }, - "params": { - "Region": "us-east-2", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://glacier-fips.cn-northwest-1.api.amazonwebservices.com.cn" + "url": "https://glacier-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "cn-northwest-1", + "UseFIPS": true, "UseDualStack": true, - "UseFIPS": true + "Region": "cn-north-1" } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier-fips.cn-northwest-1.amazonaws.com.cn" + "url": "https://glacier-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "Region": "cn-northwest-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": true + "Region": "cn-north-1" } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://glacier.cn-northwest-1.api.amazonwebservices.com.cn" + "url": "https://glacier.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "cn-northwest-1", + "UseFIPS": false, "UseDualStack": true, - "UseFIPS": false + "Region": "cn-north-1" } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.cn-northwest-1.amazonaws.com.cn" + "url": "https://glacier.us-iso-west-1.c2s.ic.gov" } }, "params": { - "Region": "cn-northwest-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "Region": "us-isob-east-1", - "UseDualStack": true, - "UseFIPS": true + "Region": "us-iso-west-1" } }, { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier-fips.us-isob-east-1.sc2s.sgov.gov" + "url": "https://glacier.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "us-isob-east-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "us-iso-east-1" } }, { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "Region": "us-isob-east-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.us-isob-east-1.sc2s.sgov.gov" + "url": "https://glacier-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "us-isob-east-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": false + "Region": "us-iso-east-1" } }, { @@ -3750,9 +2651,9 @@ } }, "params": { - "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -3762,9 +2663,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -3774,9 +2675,9 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "Region": "us-east-1", - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, + "Region": "us-east-1", "Endpoint": "https://example.com" } } diff --git a/aws/sdk/aws-models/iam.json b/aws/sdk/aws-models/iam.json index 9f457c6346..da5df834e7 100644 --- a/aws/sdk/aws-models/iam.json +++ b/aws/sdk/aws-models/iam.json @@ -530,7 +530,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": false, + "required": true, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -579,15 +579,6 @@ "ref": "Endpoint" } ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" } ], "type": "tree", @@ -723,15 +714,7 @@ "conditions": [], "endpoint": { "url": "https://iam-fips.{Region}.api.aws", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-east-1", - "signingName": "iam" - } - ] - }, + "properties": {}, "headers": {} }, "type": "endpoint" @@ -843,15 +826,7 @@ "conditions": [], "endpoint": { "url": "https://iam.{Region}.api.aws", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-east-1", - "signingName": "iam" - } - ] - }, + "properties": {}, "headers": {} }, "type": "endpoint" @@ -966,15 +941,7 @@ "conditions": [], "endpoint": { "url": "https://iam-fips.{Region}.api.amazonwebservices.com.cn", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "cn-north-1", - "signingName": "iam" - } - ] - }, + "properties": {}, "headers": {} }, "type": "endpoint" @@ -1026,15 +993,7 @@ "conditions": [], "endpoint": { "url": "https://iam-fips.{Region}.amazonaws.com.cn", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "cn-north-1", - "signingName": "iam" - } - ] - }, + "properties": {}, "headers": {} }, "type": "endpoint" @@ -1086,15 +1045,7 @@ "conditions": [], "endpoint": { "url": "https://iam.{Region}.api.amazonwebservices.com.cn", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "cn-north-1", - "signingName": "iam" - } - ] - }, + "properties": {}, "headers": {} }, "type": "endpoint" @@ -1209,15 +1160,7 @@ "conditions": [], "endpoint": { "url": "https://iam-fips.{Region}.api.aws", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-gov-west-1", - "signingName": "iam" - } - ] - }, + "properties": {}, "headers": {} }, "type": "endpoint" @@ -1329,15 +1272,7 @@ "conditions": [], "endpoint": { "url": "https://iam.{Region}.api.aws", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-gov-west-1", - "signingName": "iam" - } - ] - }, + "properties": {}, "headers": {} }, "type": "endpoint" @@ -1428,15 +1363,7 @@ "conditions": [], "endpoint": { "url": "https://iam-fips.{Region}.c2s.ic.gov", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-iso-east-1", - "signingName": "iam" - } - ] - }, + "properties": {}, "headers": {} }, "type": "endpoint" @@ -1527,15 +1454,7 @@ "conditions": [], "endpoint": { "url": "https://iam-fips.{Region}.sc2s.sgov.gov", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-isob-east-1", - "signingName": "iam" - } - ] - }, + "properties": {}, "headers": {} }, "type": "endpoint" @@ -1628,12 +1547,18 @@ "rules": [ { "conditions": [], - "endpoint": { - "url": "https://iam-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://iam-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] }, @@ -1682,33 +1607,6 @@ "conditions": [], "type": "tree", "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "iam" - ] - } - ], - "endpoint": { - "url": "https://iam-fips.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-east-1", - "signingName": "iam" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, { "conditions": [ { @@ -1736,33 +1634,6 @@ }, "type": "endpoint" }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "iam-govcloud" - ] - } - ], - "endpoint": { - "url": "https://iam.us-gov.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-gov-west-1", - "signingName": "iam" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, { "conditions": [ { @@ -1846,12 +1717,18 @@ "rules": [ { "conditions": [], - "endpoint": { - "url": "https://iam.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://iam.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] }, @@ -2019,37 +1896,107 @@ "smithy.rules#endpointTests": { "testCases": [ { - "documentation": "For region aws-cn-global with FIPS disabled and DualStack disabled", + "documentation": "For region aws-global with FIPS disabled and DualStack disabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { - "signingRegion": "cn-north-1", "signingName": "iam", - "name": "sigv4" + "name": "sigv4", + "signingRegion": "us-east-1" } ] }, - "url": "https://iam.cn-north-1.amazonaws.com.cn" + "url": "https://iam.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "aws-cn-global", - "UseDualStack": false + "UseDualStack": false, + "Region": "aws-global" } }, { - "documentation": "For region aws-global with FIPS disabled and DualStack disabled", + "documentation": "For region aws-global with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "signingName": "iam", + "name": "sigv4", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://iam-fips.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "aws-global" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://iam-fips.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { - "signingRegion": "us-east-1", "signingName": "iam", - "name": "sigv4" + "name": "sigv4", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://iam-fips.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://iam.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "signingName": "iam", + "name": "sigv4", + "signingRegion": "us-east-1" } ] }, @@ -2058,30 +2005,122 @@ }, "params": { "UseFIPS": false, - "Region": "aws-global", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-east-1" } }, { - "documentation": "For region aws-iso-global with FIPS disabled and DualStack disabled", + "documentation": "For region aws-us-gov-global with FIPS disabled and DualStack disabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { - "signingRegion": "us-iso-east-1", "signingName": "iam", - "name": "sigv4" + "name": "sigv4", + "signingRegion": "us-gov-west-1" } ] }, - "url": "https://iam.us-iso-east-1.c2s.ic.gov" + "url": "https://iam.us-gov.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "aws-iso-global", - "UseDualStack": false + "UseDualStack": false, + "Region": "aws-us-gov-global" + } + }, + { + "documentation": "For region aws-us-gov-global with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "signingName": "iam", + "name": "sigv4", + "signingRegion": "us-gov-west-1" + } + ] + }, + "url": "https://iam.us-gov.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "aws-us-gov-global" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://iam-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "signingName": "iam", + "name": "sigv4", + "signingRegion": "us-gov-west-1" + } + ] + }, + "url": "https://iam.us-gov.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://iam.us-gov-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "signingName": "iam", + "name": "sigv4", + "signingRegion": "us-gov-west-1" + } + ] + }, + "url": "https://iam.us-gov.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-gov-east-1" } }, { @@ -2091,9 +2130,9 @@ "properties": { "authSchemes": [ { - "signingRegion": "us-isob-east-1", "signingName": "iam", - "name": "sigv4" + "name": "sigv4", + "signingRegion": "us-isob-east-1" } ] }, @@ -2102,30 +2141,183 @@ }, "params": { "UseFIPS": false, - "Region": "aws-iso-b-global", - "UseDualStack": false + "UseDualStack": false, + "Region": "aws-iso-b-global" } }, { - "documentation": "For region aws-us-gov-global with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://iam-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { - "signingRegion": "us-gov-west-1", "signingName": "iam", - "name": "sigv4" + "name": "sigv4", + "signingRegion": "us-isob-east-1" } ] }, - "url": "https://iam.us-gov.amazonaws.com" + "url": "https://iam.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For region aws-cn-global with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "signingName": "iam", + "name": "sigv4", + "signingRegion": "cn-north-1" + } + ] + }, + "url": "https://iam.cn-north-1.amazonaws.com.cn" } }, "params": { "UseFIPS": false, - "Region": "aws-us-gov-global", - "UseDualStack": false + "UseDualStack": false, + "Region": "aws-cn-global" + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://iam-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://iam-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://iam.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "signingName": "iam", + "name": "sigv4", + "signingRegion": "cn-north-1" + } + ] + }, + "url": "https://iam.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region aws-iso-global with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "signingName": "iam", + "name": "sigv4", + "signingRegion": "us-iso-east-1" + } + ] + }, + "url": "https://iam.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "aws-iso-global" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://iam-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "signingName": "iam", + "name": "sigv4", + "signingRegion": "us-iso-east-1" + } + ] + }, + "url": "https://iam.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-iso-east-1" } }, { @@ -2137,8 +2329,8 @@ }, "params": { "UseFIPS": false, - "Region": "us-east-1", "UseDualStack": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -2149,8 +2341,8 @@ }, "params": { "UseFIPS": true, - "Region": "us-east-1", "UseDualStack": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -2161,8 +2353,8 @@ }, "params": { "UseFIPS": false, - "Region": "us-east-1", "UseDualStack": true, + "Region": "us-east-1", "Endpoint": "https://example.com" } } diff --git a/aws/sdk/aws-models/kms.json b/aws/sdk/aws-models/kms.json index 59cce2ddb1..d4ce662672 100644 --- a/aws/sdk/aws-models/kms.json +++ b/aws/sdk/aws-models/kms.json @@ -33,22 +33,26 @@ "type": "string" }, "com.amazonaws.kms#AlgorithmSpec": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "RSAES_PKCS1_V1_5", - "name": "RSAES_PKCS1_V1_5" - }, - { - "value": "RSAES_OAEP_SHA_1", - "name": "RSAES_OAEP_SHA_1" - }, - { - "value": "RSAES_OAEP_SHA_256", - "name": "RSAES_OAEP_SHA_256" + "type": "enum", + "members": { + "RSAES_PKCS1_V1_5": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RSAES_PKCS1_V1_5" + } + }, + "RSAES_OAEP_SHA_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RSAES_OAEP_SHA_1" + } + }, + "RSAES_OAEP_SHA_256": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RSAES_OAEP_SHA_256" } - ] + } } }, "com.amazonaws.kms#AliasList": { @@ -163,7 +167,7 @@ } ], "traits": { - "smithy.api#documentation": "

Cancels the deletion of a KMS key. When this operation succeeds, the key state of the KMS\n key is Disabled. To enable the KMS key, use EnableKey.

\n

For more information about scheduling and canceling deletion of a KMS key, see Deleting KMS keys in the\n Key Management Service Developer Guide.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account\n use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n

\n Required permissions: kms:CancelKeyDeletion (key policy)

\n

\n Related operations: ScheduleKeyDeletion\n

" + "smithy.api#documentation": "

Cancels the deletion of a KMS key. When this operation succeeds, the key state of the KMS\n key is Disabled. To enable the KMS key, use EnableKey.

\n

For more information about scheduling and canceling deletion of a KMS key, see Deleting KMS keys in the\n Key Management Service Developer Guide.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n

\n Required permissions: kms:CancelKeyDeletion (key policy)

\n

\n Related operations: ScheduleKeyDeletion\n

" } }, "com.amazonaws.kms#CancelKeyDeletionRequest": { @@ -219,7 +223,7 @@ "code": "CloudHsmClusterInUseException", "httpResponseCode": 400 }, - "smithy.api#documentation": "

The request was rejected because the specified CloudHSM cluster is already associated with a\n custom key store or it shares a backup history with a cluster that is associated with a custom\n key store. Each custom key store must be associated with a different CloudHSM cluster.

\n

Clusters that share a backup history have the same cluster certificate. To view the\n cluster certificate of a cluster, use the DescribeClusters operation.

", + "smithy.api#documentation": "

The request was rejected because the specified CloudHSM cluster is already associated with an\n CloudHSM key store in the account, or it shares a backup history with an CloudHSM key store in the\n account. Each CloudHSM key store in the account must be associated with a different CloudHSM\n cluster.

\n

CloudHSM clusters that share a backup history have the same cluster certificate. To view the\n cluster certificate of an CloudHSM cluster, use the DescribeClusters operation.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -236,7 +240,7 @@ "code": "CloudHsmClusterInvalidConfigurationException", "httpResponseCode": 400 }, - "smithy.api#documentation": "

The request was rejected because the associated CloudHSM cluster did not meet the\n configuration requirements for a custom key store.

\n\n
    \n
  • \n

    The cluster must be configured with private subnets in at least two different\n Availability Zones in the Region.

    \n
  • \n
  • \n

    The security group for\n the cluster (cloudhsm-cluster--sg) must\n include inbound rules and outbound rules that allow TCP traffic on ports 2223-2225. The\n Source in the inbound rules and the Destination in the outbound rules must match the security group\n ID. These rules are set by default when you create the cluster. Do not delete or change\n them. To get information about a particular security group, use the DescribeSecurityGroups operation.

    \n
  • \n
  • \n

    The cluster must contain at least as many HSMs as the operation requires. To add HSMs,\n use the CloudHSM CreateHsm operation.

    \n

    For the CreateCustomKeyStore, UpdateCustomKeyStore, and CreateKey operations, the CloudHSM cluster must have at least two\n active HSMs, each in a different Availability Zone. For the ConnectCustomKeyStore operation, the CloudHSM must contain at least one active\n HSM.

    \n
  • \n
\n

For information about the requirements for an CloudHSM cluster that is associated with a\n custom key store, see Assemble the Prerequisites\n in the Key Management Service Developer Guide. For information about creating a private subnet for an CloudHSM cluster,\n see Create a Private\n Subnet in the CloudHSM User Guide. For information about cluster security groups, see\n Configure a Default Security\n Group in the \n CloudHSM User Guide\n .

", + "smithy.api#documentation": "

The request was rejected because the associated CloudHSM cluster did not meet the\n configuration requirements for an CloudHSM key store.

\n\n
    \n
  • \n

    The CloudHSM cluster must be configured with private subnets in at least two different\n Availability Zones in the Region.

    \n
  • \n
  • \n

    The security group for\n the cluster (cloudhsm-cluster--sg) must\n include inbound rules and outbound rules that allow TCP traffic on ports 2223-2225. The\n Source in the inbound rules and the Destination in the outbound rules must match the security group\n ID. These rules are set by default when you create the CloudHSM cluster. Do not delete or\n change them. To get information about a particular security group, use the DescribeSecurityGroups operation.

    \n
  • \n
  • \n

    The CloudHSM cluster must contain at least as many HSMs as the operation requires. To add\n HSMs, use the CloudHSM CreateHsm operation.

    \n

    For the CreateCustomKeyStore, UpdateCustomKeyStore, and CreateKey operations, the CloudHSM cluster must have at least two\n active HSMs, each in a different Availability Zone. For the ConnectCustomKeyStore operation, the CloudHSM must contain at least one active\n HSM.

    \n
  • \n
\n

For information about the requirements for an CloudHSM cluster that is associated with an\n CloudHSM key store, see Assemble the Prerequisites\n in the Key Management Service Developer Guide. For information about creating a private subnet for an CloudHSM cluster,\n see Create a Private\n Subnet in the CloudHSM User Guide. For information about cluster security groups, see\n Configure a Default Security\n Group in the \n CloudHSM User Guide\n .

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -253,7 +257,7 @@ "code": "CloudHsmClusterNotActiveException", "httpResponseCode": 400 }, - "smithy.api#documentation": "

The request was rejected because the CloudHSM cluster that is associated with the custom key\n store is not active. Initialize and activate the cluster and try the command again. For\n detailed instructions, see Getting Started in the CloudHSM User Guide.

", + "smithy.api#documentation": "

The request was rejected because the CloudHSM cluster associated with the CloudHSM key store is\n not active. Initialize and activate the cluster and try the command again. For detailed\n instructions, see Getting\n Started in the CloudHSM User Guide.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -287,7 +291,7 @@ "code": "CloudHsmClusterNotRelatedException", "httpResponseCode": 400 }, - "smithy.api#documentation": "

The request was rejected because the specified CloudHSM cluster has a different cluster\n certificate than the original cluster. You cannot use the operation to specify an unrelated\n cluster.

\n

Specify a cluster that shares a backup history with the original cluster. This includes\n clusters that were created from a backup of the current cluster, and clusters that were\n created from the same backup that produced the current cluster.

\n

Clusters that share a backup history have the same cluster certificate. To view the\n cluster certificate of a cluster, use the DescribeClusters operation.

", + "smithy.api#documentation": "

The request was rejected because the specified CloudHSM cluster has a different cluster\n certificate than the original cluster. You cannot use the operation to specify an unrelated\n cluster for an CloudHSM key store.

\n

Specify an CloudHSM cluster that shares a backup history with the original cluster. This\n includes clusters that were created from a backup of the current cluster, and clusters that\n were created from the same backup that produced the current cluster.

\n

CloudHSM clusters that share a backup history have the same cluster certificate. To view the\n cluster certificate of an CloudHSM cluster, use the DescribeClusters operation.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -318,7 +322,7 @@ } ], "traits": { - "smithy.api#documentation": "

Connects or reconnects a custom key store to its associated CloudHSM cluster.

\n

The custom key store must be connected before you can create KMS keys in the key store or\n use the KMS keys it contains. You can disconnect and reconnect a custom key store at any\n time.

\n

To connect a custom key store, its associated CloudHSM cluster must have at least one active\n HSM. To get the number of active HSMs in a cluster, use the DescribeClusters operation. To add HSMs\n to the cluster, use the CreateHsm operation. Also, the \n kmsuser crypto\n user (CU) must not be logged into the cluster. This prevents KMS from using this\n account to log in.

\n

The connection process can take an extended amount of time to complete; up to 20 minutes.\n This operation starts the connection process, but it does not wait for it to complete. When it\n succeeds, this operation quickly returns an HTTP 200 response and a JSON object with no\n properties. However, this response does not indicate that the custom key store is connected.\n To get the connection state of the custom key store, use the DescribeCustomKeyStores operation.

\n

During the connection process, KMS finds the CloudHSM cluster that is associated with the\n custom key store, creates the connection infrastructure, connects to the cluster, logs into\n the CloudHSM client as the kmsuser CU, and rotates its password.

\n

The ConnectCustomKeyStore operation might fail for various reasons. To find\n the reason, use the DescribeCustomKeyStores operation and see the\n ConnectionErrorCode in the response. For help interpreting the\n ConnectionErrorCode, see CustomKeyStoresListEntry.

\n

To fix the failure, use the DisconnectCustomKeyStore operation to\n disconnect the custom key store, correct the error, use the UpdateCustomKeyStore operation if necessary, and then use\n ConnectCustomKeyStore again.

\n

If you are having trouble connecting or disconnecting a custom key store, see Troubleshooting a Custom Key\n Store in the Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on a custom key store in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:ConnectCustomKeyStore (IAM policy)

\n

\n Related operations\n

\n " + "smithy.api#documentation": "

Connects or reconnects a custom key store to its backing key store. For an CloudHSM key\n store, ConnectCustomKeyStore connects the key store to its associated CloudHSM\n cluster. For an external key store, ConnectCustomKeyStore connects the key store\n to the external key store proxy that communicates with your external key manager.

\n

The custom key store must be connected before you can create KMS keys in the key store or\n use the KMS keys it contains. You can disconnect and reconnect a custom key store at any\n time.

\n

The connection process for a custom key store can take an extended amount of time to\n complete. This operation starts the connection process, but it does not wait for it to\n complete. When it succeeds, this operation quickly returns an HTTP 200 response and a JSON\n object with no properties. However, this response does not indicate that the custom key store\n is connected. To get the connection state of the custom key store, use the DescribeCustomKeyStores operation.

\n

This operation is part of the custom key stores feature in KMS, which\ncombines the convenience and extensive integration of KMS with the isolation and control of a\nkey store that you own and manage.

\n

The ConnectCustomKeyStore operation might fail for various reasons. To find\n the reason, use the DescribeCustomKeyStores operation and see the\n ConnectionErrorCode in the response. For help interpreting the\n ConnectionErrorCode, see CustomKeyStoresListEntry.

\n

To fix the failure, use the DisconnectCustomKeyStore operation to\n disconnect the custom key store, correct the error, use the UpdateCustomKeyStore operation if necessary, and then use\n ConnectCustomKeyStore again.

\n

\n CloudHSM key store\n

\n

During the connection process for an CloudHSM key store, KMS finds the CloudHSM cluster that\n is associated with the custom key store, creates the connection infrastructure, connects to\n the cluster, logs into the CloudHSM client as the kmsuser CU, and rotates its\n password.

\n

To connect an CloudHSM key store, its associated CloudHSM cluster must have at least one active\n HSM. To get the number of active HSMs in a cluster, use the DescribeClusters operation. To add HSMs\n to the cluster, use the CreateHsm operation. Also, the \n kmsuser crypto\n user (CU) must not be logged into the cluster. This prevents KMS from using this\n account to log in.

\n

If you are having trouble connecting or disconnecting a CloudHSM key store, see Troubleshooting an CloudHSM key\n store in the Key Management Service Developer Guide.

\n

\n External key store\n

\n

When you connect an external key store that uses public endpoint connectivity, KMS tests\n its ability to communicate with your external key manager by sending a request via the\n external key store proxy.

\n

When you connect to an external key store that uses VPC endpoint service connectivity,\n KMS establishes the networking elements that it needs to communicate with your external key\n manager via the external key store proxy. This includes creating an interface endpoint to the\n VPC endpoint service and a private hosted zone for traffic between KMS and the VPC endpoint\n service.

\n

To connect an external key store, KMS must be able to connect to the external key store\n proxy, the external key store proxy must be able to communicate with your external key\n manager, and the external key manager must be available for cryptographic operations.

\n

If you are having trouble connecting or disconnecting an external key store, see Troubleshooting an external\n key store in the Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on a custom key store in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:ConnectCustomKeyStore (IAM policy)

\n

\n Related operations\n

\n " } }, "com.amazonaws.kms#ConnectCustomKeyStoreRequest": { @@ -338,77 +342,151 @@ "members": {} }, "com.amazonaws.kms#ConnectionErrorCodeType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "INVALID_CREDENTIALS", - "name": "INVALID_CREDENTIALS" - }, - { - "value": "CLUSTER_NOT_FOUND", - "name": "CLUSTER_NOT_FOUND" - }, - { - "value": "NETWORK_ERRORS", - "name": "NETWORK_ERRORS" - }, - { - "value": "INTERNAL_ERROR", - "name": "INTERNAL_ERROR" - }, - { - "value": "INSUFFICIENT_CLOUDHSM_HSMS", - "name": "INSUFFICIENT_CLOUDHSM_HSMS" - }, - { - "value": "USER_LOCKED_OUT", - "name": "USER_LOCKED_OUT" - }, - { - "value": "USER_NOT_FOUND", - "name": "USER_NOT_FOUND" - }, - { - "value": "USER_LOGGED_IN", - "name": "USER_LOGGED_IN" - }, - { - "value": "SUBNET_NOT_FOUND", - "name": "SUBNET_NOT_FOUND" - }, - { - "value": "INSUFFICIENT_FREE_ADDRESSES_IN_SUBNET", - "name": "INSUFFICIENT_FREE_ADDRESSES_IN_SUBNET" + "type": "enum", + "members": { + "INVALID_CREDENTIALS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INVALID_CREDENTIALS" + } + }, + "CLUSTER_NOT_FOUND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CLUSTER_NOT_FOUND" + } + }, + "NETWORK_ERRORS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NETWORK_ERRORS" + } + }, + "INTERNAL_ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INTERNAL_ERROR" + } + }, + "INSUFFICIENT_CLOUDHSM_HSMS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INSUFFICIENT_CLOUDHSM_HSMS" + } + }, + "USER_LOCKED_OUT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "USER_LOCKED_OUT" + } + }, + "USER_NOT_FOUND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "USER_NOT_FOUND" + } + }, + "USER_LOGGED_IN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "USER_LOGGED_IN" + } + }, + "SUBNET_NOT_FOUND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SUBNET_NOT_FOUND" + } + }, + "INSUFFICIENT_FREE_ADDRESSES_IN_SUBNET": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INSUFFICIENT_FREE_ADDRESSES_IN_SUBNET" + } + }, + "XKS_PROXY_ACCESS_DENIED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "XKS_PROXY_ACCESS_DENIED" + } + }, + "XKS_PROXY_NOT_REACHABLE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "XKS_PROXY_NOT_REACHABLE" + } + }, + "XKS_VPC_ENDPOINT_SERVICE_NOT_FOUND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "XKS_VPC_ENDPOINT_SERVICE_NOT_FOUND" + } + }, + "XKS_PROXY_INVALID_RESPONSE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "XKS_PROXY_INVALID_RESPONSE" + } + }, + "XKS_PROXY_INVALID_CONFIGURATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "XKS_PROXY_INVALID_CONFIGURATION" + } + }, + "XKS_VPC_ENDPOINT_SERVICE_INVALID_CONFIGURATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "XKS_VPC_ENDPOINT_SERVICE_INVALID_CONFIGURATION" + } + }, + "XKS_PROXY_TIMED_OUT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "XKS_PROXY_TIMED_OUT" + } + }, + "XKS_PROXY_INVALID_TLS_CONFIGURATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "XKS_PROXY_INVALID_TLS_CONFIGURATION" } - ] + } } }, "com.amazonaws.kms#ConnectionStateType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "CONNECTED", - "name": "CONNECTED" - }, - { - "value": "CONNECTING", - "name": "CONNECTING" - }, - { - "value": "FAILED", - "name": "FAILED" - }, - { - "value": "DISCONNECTED", - "name": "DISCONNECTED" - }, - { - "value": "DISCONNECTING", - "name": "DISCONNECTING" + "type": "enum", + "members": { + "CONNECTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONNECTED" + } + }, + "CONNECTING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONNECTING" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + }, + "DISCONNECTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISCONNECTED" + } + }, + "DISCONNECTING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISCONNECTING" } - ] + } } }, "com.amazonaws.kms#CreateAlias": { @@ -443,7 +521,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a friendly name for a KMS key.

\n \n

Adding, deleting, or updating an alias can allow or deny permission to the KMS key. For details, see ABAC in KMS in the Key Management Service Developer Guide.

\n
\n

You can use an alias to identify a KMS key in the KMS console, in the DescribeKey operation and in cryptographic operations, such as Encrypt and\n GenerateDataKey. You can also change the KMS key that's associated with\n the alias (UpdateAlias) or delete the alias (DeleteAlias)\n at any time. These operations don't affect the underlying KMS key.

\n

You can associate the alias with any customer managed key in the same Amazon Web Services Region. Each\n alias is associated with only one KMS key at a time, but a KMS key can have multiple aliases.\n A valid KMS key is required. You can't create an alias without a KMS key.

\n

The alias must be unique in the account and Region, but you can have aliases with the same\n name in different Regions. For detailed information about aliases, see Using aliases in the\n Key Management Service Developer Guide.

\n

This operation does not return a response. To get the alias that you created, use the\n ListAliases operation.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on an alias in a different Amazon Web Services account.

\n\n

\n Required permissions\n

\n \n

For details, see Controlling access to aliases in the\n Key Management Service Developer Guide.

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Creates a friendly name for a KMS key.

\n \n

Adding, deleting, or updating an alias can allow or deny permission to the KMS key. For details, see ABAC for KMS in the Key Management Service Developer Guide.

\n
\n

You can use an alias to identify a KMS key in the KMS console, in the DescribeKey operation and in cryptographic operations, such as Encrypt and\n GenerateDataKey. You can also change the KMS key that's associated with\n the alias (UpdateAlias) or delete the alias (DeleteAlias)\n at any time. These operations don't affect the underlying KMS key.

\n

You can associate the alias with any customer managed key in the same Amazon Web Services Region. Each\n alias is associated with only one KMS key at a time, but a KMS key can have multiple aliases.\n A valid KMS key is required. You can't create an alias without a KMS key.

\n

The alias must be unique in the account and Region, but you can have aliases with the same\n name in different Regions. For detailed information about aliases, see Using aliases in the\n Key Management Service Developer Guide.

\n

This operation does not return a response. To get the alias that you created, use the\n ListAliases operation.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on an alias in a different Amazon Web Services account.

\n\n

\n Required permissions\n

\n \n

For details, see Controlling access to aliases in the\n Key Management Service Developer Guide.

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#CreateAliasRequest": { @@ -459,7 +537,7 @@ "TargetKeyId": { "target": "com.amazonaws.kms#KeyIdType", "traits": { - "smithy.api#documentation": "

Associates the alias with the specified customer managed key. The KMS key must\n be in the same Amazon Web Services Region.

\n

A valid key ID is required. If you supply a null or empty string value, this operation\n returns an error.

\n

For help finding the key ID and ARN, see Finding the Key ID and\n ARN in the \n Key Management Service Developer Guide\n .

\n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", + "smithy.api#documentation": "

Associates the alias with the specified customer managed key. The KMS key must\n be in the same Amazon Web Services Region.

\n

A valid key ID is required. If you supply a null or empty string value, this operation\n returns an error.

\n

For help finding the key ID and ARN, see Finding the Key ID and\n ARN in the \n Key Management Service Developer Guide\n .

\n \n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", "smithy.api#required": {} } } @@ -494,10 +572,40 @@ }, { "target": "com.amazonaws.kms#KMSInternalException" + }, + { + "target": "com.amazonaws.kms#LimitExceededException" + }, + { + "target": "com.amazonaws.kms#XksProxyIncorrectAuthenticationCredentialException" + }, + { + "target": "com.amazonaws.kms#XksProxyInvalidConfigurationException" + }, + { + "target": "com.amazonaws.kms#XksProxyInvalidResponseException" + }, + { + "target": "com.amazonaws.kms#XksProxyUriEndpointInUseException" + }, + { + "target": "com.amazonaws.kms#XksProxyUriInUseException" + }, + { + "target": "com.amazonaws.kms#XksProxyUriUnreachableException" + }, + { + "target": "com.amazonaws.kms#XksProxyVpcEndpointServiceInUseException" + }, + { + "target": "com.amazonaws.kms#XksProxyVpcEndpointServiceInvalidConfigurationException" + }, + { + "target": "com.amazonaws.kms#XksProxyVpcEndpointServiceNotFoundException" } ], "traits": { - "smithy.api#documentation": "

Creates a custom key store that is associated with an CloudHSM cluster that you own and\n manage.

\n

This operation is part of the custom key store feature feature in KMS, which\ncombines the convenience and extensive integration of KMS with the isolation and control of a\nsingle-tenant key store.

\n

Before you create the custom key store, you must assemble\n the required elements, including an CloudHSM cluster that fulfills the requirements for a custom\n key store. For details about the required elements, see Assemble the Prerequisites\n in the Key Management Service Developer Guide.

\n

When the operation completes successfully, it returns the ID of the new custom key store.\n Before you can use your new custom key store, you need to use the ConnectCustomKeyStore operation to connect the new key store to its CloudHSM\n cluster. Even if you are not going to use your custom key store immediately, you might want to\n connect it to verify that all settings are correct and then disconnect it until you are ready\n to use it.

\n

For help with failures, see Troubleshooting a Custom Key Store in the\n Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on a custom key store in a different Amazon Web Services account.

\n

\n Required permissions: kms:CreateCustomKeyStore (IAM policy).

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Creates a custom key store backed by a key store that you own and manage. When you use a\n KMS key in a custom key store for a cryptographic operation, the cryptographic operation is\n actually performed in your key store using your keys. KMS supports CloudHSM key stores\n backed by an CloudHSM cluster\n and external key stores backed by an external key store proxy and\n external key manager outside of Amazon Web Services.

\n

This operation is part of the custom key stores feature in KMS, which\ncombines the convenience and extensive integration of KMS with the isolation and control of a\nkey store that you own and manage.

\n

Before you create the custom key store, the required elements must be in place and\n operational. We recommend that you use the test tools that KMS provides to verify the\n configuration your external key store proxy. For details about the required elements and\n verification tests, see Assemble the prerequisites (for\n CloudHSM key stores) or Assemble the prerequisites (for\n external key stores) in the Key Management Service Developer Guide.

\n

To create a custom key store, use the following parameters.

\n
    \n
  • \n

    To create an CloudHSM key store, specify the CustomKeyStoreName,\n CloudHsmClusterId, KeyStorePassword, and\n TrustAnchorCertificate. The CustomKeyStoreType parameter is\n optional for CloudHSM key stores. If you include it, set it to the default value,\n AWS_CLOUDHSM. For help with failures, see Troubleshooting an CloudHSM key store in the\n Key Management Service Developer Guide.

    \n
  • \n
  • \n

    To create an external key store, specify the CustomKeyStoreName and a\n CustomKeyStoreType of EXTERNAL_KEY_STORE. Also, specify values\n for XksProxyConnectivity, XksProxyAuthenticationCredential,\n XksProxyUriEndpoint, and XksProxyUriPath. If your\n XksProxyConnectivity value is VPC_ENDPOINT_SERVICE, specify\n the XksProxyVpcEndpointServiceName parameter. For help with failures, see\n Troubleshooting\n an external key store in the Key Management Service Developer Guide.

    \n
  • \n
\n \n

For external key stores:

\n

Some external key managers provide a simpler method for creating an external key store.\n For details, see your external key manager documentation.

\n

When creating an external key store in the KMS console, you can upload a JSON-based\n proxy configuration file with the desired values. You cannot use a proxy configuration\n with the CreateCustomKeyStore operation. However, you can use the values in\n the file to help you determine the correct values for the CreateCustomKeyStore\n parameters.

\n
\n

When the operation completes successfully, it returns the ID of the new custom key store.\n Before you can use your new custom key store, you need to use the ConnectCustomKeyStore operation to connect a new CloudHSM key store to its CloudHSM\n cluster, or to connect a new external key store to the external key store proxy for your\n external key manager. Even if you are not going to use your custom key store immediately, you\n might want to connect it to verify that all settings are correct and then disconnect it until\n you are ready to use it.

\n

For help with failures, see Troubleshooting a custom key store in the\n Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on a custom key store in a different Amazon Web Services account.

\n

\n Required permissions: kms:CreateCustomKeyStore (IAM policy).

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#CreateCustomKeyStoreRequest": { @@ -506,26 +614,62 @@ "CustomKeyStoreName": { "target": "com.amazonaws.kms#CustomKeyStoreNameType", "traits": { - "smithy.api#documentation": "

Specifies a friendly name for the custom key store. The name must be unique in your\n Amazon Web Services account.

", + "smithy.api#documentation": "

Specifies a friendly name for the custom key store. The name must be unique in your\n Amazon Web Services account and Region. This parameter is required for all custom key stores.

", "smithy.api#required": {} } }, "CloudHsmClusterId": { "target": "com.amazonaws.kms#CloudHsmClusterIdType", "traits": { - "smithy.api#documentation": "

Identifies the CloudHSM cluster for the custom key store. Enter the cluster ID of any active\n CloudHSM cluster that is not already associated with a custom key store. To find the cluster ID,\n use the DescribeClusters operation.

" + "smithy.api#documentation": "

Identifies the CloudHSM cluster for an CloudHSM key store. This parameter is required for custom\n key stores with CustomKeyStoreType of AWS_CLOUDHSM.

\n

Enter the cluster ID of any active CloudHSM cluster that is not already associated with a\n custom key store. To find the cluster ID, use the DescribeClusters operation.

" } }, "TrustAnchorCertificate": { "target": "com.amazonaws.kms#TrustAnchorCertificateType", "traits": { - "smithy.api#documentation": "

Enter the content of the trust anchor certificate for the cluster. This is the content of\n the customerCA.crt file that you created when you initialized the cluster.

" + "smithy.api#documentation": "

Specifies the certificate for an CloudHSM key store. This parameter is required for custom\n key stores with a CustomKeyStoreType of AWS_CLOUDHSM.

\n

Enter the content of the trust anchor certificate for the CloudHSM cluster. This is the\n content of the customerCA.crt file that you created when you initialized the\n cluster.

" } }, "KeyStorePassword": { "target": "com.amazonaws.kms#KeyStorePasswordType", "traits": { - "smithy.api#documentation": "

Enter the password of the \n kmsuser crypto user\n (CU) account in the specified CloudHSM cluster. KMS logs into the cluster as this\n user to manage key material on your behalf.

\n

The password must be a string of 7 to 32 characters. Its value is case sensitive.

\n

This parameter tells KMS the kmsuser account password; it does not change\n the password in the CloudHSM cluster.

" + "smithy.api#documentation": "

Specifies the kmsuser password for an CloudHSM key store. This parameter is\n required for custom key stores with a CustomKeyStoreType of\n AWS_CLOUDHSM.

\n

Enter the password of the \n kmsuser crypto user\n (CU) account in the specified CloudHSM cluster. KMS logs into the cluster as this\n user to manage key material on your behalf.

\n

The password must be a string of 7 to 32 characters. Its value is case sensitive.

\n

This parameter tells KMS the kmsuser account password; it does not change\n the password in the CloudHSM cluster.

" + } + }, + "CustomKeyStoreType": { + "target": "com.amazonaws.kms#CustomKeyStoreType", + "traits": { + "smithy.api#documentation": "

Specifies the type of custom key store. The default value is\n AWS_CLOUDHSM.

\n

For a custom key store backed by an CloudHSM cluster, omit the parameter or enter\n AWS_CLOUDHSM. For a custom key store backed by an external key manager outside\n of Amazon Web Services, enter EXTERNAL_KEY_STORE. You cannot change this property after the key\n store is created.

" + } + }, + "XksProxyUriEndpoint": { + "target": "com.amazonaws.kms#XksProxyUriEndpointType", + "traits": { + "smithy.api#documentation": "

Specifies the endpoint that KMS uses to send requests to the external key store proxy\n (XKS proxy). This parameter is required for custom key stores with a\n CustomKeyStoreType of EXTERNAL_KEY_STORE.

\n

The protocol must be HTTPS. KMS communicates on port 443. Do not specify the port in the\n XksProxyUriEndpoint value.

\n

For external key stores with XksProxyConnectivity value of\n VPC_ENDPOINT_SERVICE, specify https:// followed by the private DNS\n name of the VPC endpoint service.

\n

For external key stores with PUBLIC_ENDPOINT connectivity, this endpoint must\n be reachable before you create the custom key store. KMS connects to the external key store\n proxy while creating the custom key store. For external key stores with\n VPC_ENDPOINT_SERVICE connectivity, KMS connects when you call the ConnectCustomKeyStore operation.

\n

The value of this parameter must begin with https://. The remainder can\n contain upper and lower case letters (A-Z and a-z), numbers (0-9), dots (.), and\n hyphens (-). Additional slashes (/ and \\) are not\n permitted.

\n

\n Uniqueness requirements: \n

\n
    \n
  • \n

    The combined XksProxyUriEndpoint and XksProxyUriPath values\n must be unique in the Amazon Web Services account and Region.

    \n
  • \n
  • \n

    An external key store with PUBLIC_ENDPOINT connectivity cannot use the\n same XksProxyUriEndpoint value as an external key store with\n VPC_ENDPOINT_SERVICE connectivity in the same Amazon Web Services Region.

    \n
  • \n
  • \n

    Each external key store with VPC_ENDPOINT_SERVICE connectivity must have\n its own private DNS name. The XksProxyUriEndpoint value for external key\n stores with VPC_ENDPOINT_SERVICE connectivity (private DNS name) must be\n unique in the Amazon Web Services account and Region.

    \n
  • \n
" + } + }, + "XksProxyUriPath": { + "target": "com.amazonaws.kms#XksProxyUriPathType", + "traits": { + "smithy.api#documentation": "

Specifies the base path to the proxy APIs for this external key store. To find this value,\n see the documentation for your external key store proxy. This parameter is required for all\n custom key stores with a CustomKeyStoreType of\n EXTERNAL_KEY_STORE.

\n

The value must start with / and must end with /kms/xks/v1 where\n v1 represents the version of the KMS external key store proxy API. This path\n can include an optional prefix between the required elements such as\n /prefix/kms/xks/v1.

\n

\n Uniqueness requirements: \n

\n
    \n
  • \n

    The combined XksProxyUriEndpoint and XksProxyUriPath values\n must be unique in the Amazon Web Services account and Region.

    \n
  • \n
" + } + }, + "XksProxyVpcEndpointServiceName": { + "target": "com.amazonaws.kms#XksProxyVpcEndpointServiceNameType", + "traits": { + "smithy.api#documentation": "

Specifies the name of the Amazon VPC endpoint service for interface endpoints that is used to\n communicate with your external key store proxy (XKS proxy). This parameter is required when\n the value of CustomKeyStoreType is EXTERNAL_KEY_STORE and the value\n of XksProxyConnectivity is VPC_ENDPOINT_SERVICE.

\n

The Amazon VPC endpoint service must fulfill all requirements for use with an external key\n store.

\n

\n Uniqueness requirements:\n

\n
    \n
  • \n

    External key stores with VPC_ENDPOINT_SERVICE connectivity can share an\n Amazon VPC, but each external key store must have its own VPC endpoint service and private DNS\n name.

    \n
  • \n
" + } + }, + "XksProxyAuthenticationCredential": { + "target": "com.amazonaws.kms#XksProxyAuthenticationCredentialType", + "traits": { + "smithy.api#documentation": "

Specifies an authentication credential for the external key store proxy (XKS proxy). This\n parameter is required for all custom key stores with a CustomKeyStoreType of\n EXTERNAL_KEY_STORE.

\n

The XksProxyAuthenticationCredential has two required elements:\n RawSecretAccessKey, a secret key, and AccessKeyId, a unique\n identifier for the RawSecretAccessKey. For character requirements, see XksProxyAuthenticationCredentialType.

\n

KMS uses this authentication credential to sign requests to the external key store proxy\n on your behalf. This credential is unrelated to Identity and Access Management (IAM) and Amazon Web Services credentials.

\n

This parameter doesn't set or change the authentication credentials on the XKS proxy. It\n just tells KMS the credential that you established on your external key store proxy. If you\n rotate your proxy authentication credential, use the UpdateCustomKeyStore\n operation to provide the new credential to KMS.

" + } + }, + "XksProxyConnectivity": { + "target": "com.amazonaws.kms#XksProxyConnectivityType", + "traits": { + "smithy.api#documentation": "

Indicates how KMS communicates with the external key store proxy. This parameter is\n required for custom key stores with a CustomKeyStoreType of\n EXTERNAL_KEY_STORE.

\n

If the external key store proxy uses a public endpoint, specify\n PUBLIC_ENDPOINT. If the external key store proxy uses a Amazon VPC\n endpoint service for communication with KMS, specify VPC_ENDPOINT_SERVICE. For\n help making this choice, see Choosing a connectivity option in the Key Management Service Developer Guide.

\n

An Amazon VPC endpoint service keeps your communication with KMS in a private address space\n entirely within Amazon Web Services, but it requires more configuration, including establishing a Amazon VPC with multiple subnets, a VPC endpoint service, a network load balancer, and a\n verified private DNS name. A public endpoint is simpler to set up, but it might be slower and\n might not fulfill your security requirements. You might consider testing with a public\n endpoint, and then establishing a VPC endpoint service for production tasks. Note that this\n choice does not determine the location of the external key store proxy. Even if you choose a\n VPC endpoint service, the proxy can be hosted within the VPC or outside of Amazon Web Services such as in\n your corporate data center.

" } } } @@ -576,7 +720,7 @@ } ], "traits": { - "smithy.api#documentation": "

Adds a grant to a KMS key.

\n

A grant is a policy instrument that allows Amazon Web Services principals to use\n KMS keys in cryptographic operations. It also can allow them to view a KMS key (DescribeKey) and create and manage grants. When authorizing access to a KMS key,\n grants are considered along with key policies and IAM policies. Grants are often used for\n temporary permissions because you can create one, use its permissions, and delete it without\n changing your key policies or IAM policies.

\n

For detailed information about grants, including grant terminology, see Grants in KMS in the\n \n Key Management Service Developer Guide\n . For examples of working with grants in several\n programming languages, see Programming grants.

\n

The CreateGrant operation returns a GrantToken and a\n GrantId.

\n
    \n
  • \n

    When you create, retire, or revoke a grant, there might be a brief delay, usually less than five minutes, until the grant is available throughout KMS. This state is known as eventual consistency. Once the grant has achieved eventual consistency, the grantee\n principal can use the permissions in the grant without identifying the grant.

    \n

    However, to use the permissions in the grant immediately, use the\n GrantToken that CreateGrant returns. For details, see Using a\n grant token in the \n Key Management Service Developer Guide\n .

    \n
  • \n
  • \n

    The CreateGrant operation also returns a GrantId. You can\n use the GrantId and a key identifier to identify the grant in the RetireGrant and RevokeGrant operations. To find the grant\n ID, use the ListGrants or ListRetirableGrants\n operations.

    \n
  • \n
\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: Yes.\n To perform this operation on a KMS key in a different Amazon Web Services account, specify the key\n ARN in the value of the KeyId parameter.

\n

\n Required permissions: kms:CreateGrant (key policy)

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Adds a grant to a KMS key.

\n

A grant is a policy instrument that allows Amazon Web Services principals to use\n KMS keys in cryptographic operations. It also can allow them to view a KMS key (DescribeKey) and create and manage grants. When authorizing access to a KMS key,\n grants are considered along with key policies and IAM policies. Grants are often used for\n temporary permissions because you can create one, use its permissions, and delete it without\n changing your key policies or IAM policies.

\n

For detailed information about grants, including grant terminology, see Grants in KMS in the\n \n Key Management Service Developer Guide\n . For examples of working with grants in several\n programming languages, see Programming grants.

\n

The CreateGrant operation returns a GrantToken and a\n GrantId.

\n
    \n
  • \n

    When you create, retire, or revoke a grant, there might be a brief delay, usually less than five minutes, until the grant is available throughout KMS. This state is known as eventual consistency. Once the grant has achieved eventual consistency, the grantee\n principal can use the permissions in the grant without identifying the grant.

    \n

    However, to use the permissions in the grant immediately, use the\n GrantToken that CreateGrant returns. For details, see Using a\n grant token in the \n Key Management Service Developer Guide\n .

    \n
  • \n
  • \n

    The CreateGrant operation also returns a GrantId. You can\n use the GrantId and a key identifier to identify the grant in the RetireGrant and RevokeGrant operations. To find the grant\n ID, use the ListGrants or ListRetirableGrants\n operations.

    \n
  • \n
\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: Yes. To perform this operation on a KMS key in a different Amazon Web Services account, specify the key\n ARN in the value of the KeyId parameter.

\n

\n Required permissions: kms:CreateGrant (key policy)

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#CreateGrantRequest": { @@ -585,7 +729,7 @@ "KeyId": { "target": "com.amazonaws.kms#KeyIdType", "traits": { - "smithy.api#documentation": "

Identifies the KMS key for the grant. The grant gives principals permission to use this\n KMS key.

\n

Specify the key ID or key ARN of the KMS key. To specify a KMS key in a\ndifferent Amazon Web Services account, you must use the key ARN.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", + "smithy.api#documentation": "

Identifies the KMS key for the grant. The grant gives principals permission to use this\n KMS key.

\n \n

Specify the key ID or key ARN of the KMS key. To specify a KMS key in a\ndifferent Amazon Web Services account, you must use the key ARN.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", "smithy.api#required": {} } }, @@ -605,14 +749,14 @@ "Operations": { "target": "com.amazonaws.kms#GrantOperationList", "traits": { - "smithy.api#documentation": "

A list of operations that the grant permits.

\n

This list must include only operations that are permitted in a grant. Also, the operation\n must be supported on the KMS key. For example, you cannot create a grant for a symmetric encryption KMS key that allows the Sign operation, or a grant for an\n asymmetric KMS key that allows the GenerateDataKey operation. If you try,\n KMS returns a ValidationError exception. For details, see Grant\n operations in the Key Management Service Developer Guide.

", + "smithy.api#documentation": "

A list of operations that the grant permits.

\n

This list must include only operations that are permitted in a grant. Also, the operation\n must be supported on the KMS key. For example, you cannot create a grant for a symmetric\n encryption KMS key that allows the Sign operation, or a grant for an\n asymmetric KMS key that allows the GenerateDataKey operation. If you try,\n KMS returns a ValidationError exception. For details, see Grant\n operations in the Key Management Service Developer Guide.

", "smithy.api#required": {} } }, "Constraints": { "target": "com.amazonaws.kms#GrantConstraints", "traits": { - "smithy.api#documentation": "

Specifies a grant constraint.

\n

KMS supports the EncryptionContextEquals and\n EncryptionContextSubset grant constraints. Each constraint value can include up\n to 8 encryption context pairs. The encryption context value in each constraint cannot exceed\n 384 characters. For information about grant constraints, see Using grant\n constraints in the Key Management Service Developer Guide. For more information about encryption context,\n see Encryption\n context in the \n Key Management Service Developer Guide\n .

\n

The encryption context grant constraints allow the permissions in the grant only when the\n encryption context in the request matches (EncryptionContextEquals) or includes\n (EncryptionContextSubset) the encryption context specified in this structure.

\n

The encryption context grant constraints are supported only on grant operations that\n include an EncryptionContext parameter, such as cryptographic operations on\n symmetric encryption KMS keys. Grants with grant constraints can include the DescribeKey and RetireGrant operations, but the constraint\n doesn't apply to these operations. If a grant with a grant constraint includes the\n CreateGrant operation, the constraint requires that any grants created with the\n CreateGrant permission have an equally strict or stricter encryption context\n constraint.

\n

You cannot use an encryption context grant constraint for cryptographic operations with\n asymmetric KMS keys or HMAC KMS keys. These keys don't support an encryption context.

\n

" + "smithy.api#documentation": "

Specifies a grant constraint.

\n

KMS supports the EncryptionContextEquals and\n EncryptionContextSubset grant constraints. Each constraint value can include up\n to 8 encryption context pairs. The encryption context value in each constraint cannot exceed\n 384 characters. For information about grant constraints, see Using grant\n constraints in the Key Management Service Developer Guide. For more information about encryption context,\n see Encryption\n context in the \n Key Management Service Developer Guide\n .

\n

The encryption context grant constraints allow the permissions in the grant only when the\n encryption context in the request matches (EncryptionContextEquals) or includes\n (EncryptionContextSubset) the encryption context specified in this structure.

\n

The encryption context grant constraints are supported only on grant operations that include\n an EncryptionContext parameter, such as cryptographic operations on symmetric\n encryption KMS keys. Grants with grant constraints can include the DescribeKey and RetireGrant operations, but the constraint doesn't apply to these\n operations. If a grant with a grant constraint includes the CreateGrant\n operation, the constraint requires that any grants created with the CreateGrant\n permission have an equally strict or stricter encryption context constraint.

\n

You cannot use an encryption context grant constraint for cryptographic operations with\n asymmetric KMS keys or HMAC KMS keys. These keys don't support an encryption context.

\n

" } }, "GrantTokens": { @@ -684,10 +828,19 @@ }, { "target": "com.amazonaws.kms#UnsupportedOperationException" + }, + { + "target": "com.amazonaws.kms#XksKeyAlreadyInUseException" + }, + { + "target": "com.amazonaws.kms#XksKeyInvalidConfigurationException" + }, + { + "target": "com.amazonaws.kms#XksKeyNotFoundException" } ], "traits": { - "smithy.api#documentation": "

Creates a unique customer managed KMS key in your Amazon Web Services account and\n Region.

\n

In addition to the required parameters, you can use the optional parameters to specify a key policy, description, tags, and other useful elements for any key type.

\n \n

KMS is replacing the term customer master key (CMK) with KMS key and KMS key. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.

\n
\n\n

To create different types of KMS keys, use the following guidance:

\n\n
\n
Symmetric encryption KMS key
\n
\n

To create a symmetric encryption KMS key, you aren't required to specify any parameters. The default value for\n KeySpec, SYMMETRIC_DEFAULT, and the default value for\n KeyUsage, ENCRYPT_DECRYPT, create a symmetric encryption KMS key. For technical details, see\n \n SYMMETRIC_DEFAULT key spec in the Key Management Service Developer Guide.

\n

If you need a key for basic encryption and decryption or you \n are creating a KMS key to protect your resources in an Amazon Web Services service, create a symmetric encryption KMS key. The key material in a symmetric encryption key never leaves KMS unencrypted. You can use a symmetric encryption KMS key to encrypt and decrypt data up to 4,096 bytes, but they are typically used to generate data keys and data keys pairs. For details, see GenerateDataKey and GenerateDataKeyPair.

\n

\n
\n
Asymmetric KMS keys
\n
\n

To create an asymmetric KMS key, use the KeySpec parameter to specify\n the type of key material in the KMS key. Then, use the KeyUsage parameter\n to determine whether the KMS key will be used to encrypt and decrypt or sign and verify.\n You can't change these properties after the KMS key is created.

\n

Asymmetric KMS keys contain an RSA key pair, Elliptic Curve (ECC) key pair, or an SM2 key pair (China Regions only). The private key in an asymmetric \n KMS key never leaves KMS unencrypted. However, you can use the GetPublicKey operation to download the public key\n so it can be used outside of KMS. KMS keys with RSA or SM2 key pairs can be used to encrypt or decrypt data or sign and verify messages (but not both). \n KMS keys with ECC key pairs can be used only to sign and verify messages. \n For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

\n

\n
\n
HMAC KMS key
\n
\n

To create an HMAC KMS key, set the KeySpec parameter to a\n key spec value for HMAC KMS keys. Then set the KeyUsage parameter to\n GENERATE_VERIFY_MAC. You must set the key usage even though\n GENERATE_VERIFY_MAC is the only valid key usage value for HMAC KMS keys.\n You can't change these properties after the KMS key is created.

\n

HMAC KMS keys are symmetric keys that never leave KMS unencrypted. You can use\n HMAC keys to generate (GenerateMac) and verify (VerifyMac) HMAC codes for messages up to 4096 bytes.

\n

HMAC KMS keys are not supported in all Amazon Web Services Regions. If you try to create an HMAC\n KMS key in an Amazon Web Services Region in which HMAC keys are not supported, the\n CreateKey operation returns an\n UnsupportedOperationException. For a list of Regions in which HMAC KMS keys\n are supported, see HMAC keys in\n KMS in the Key Management Service Developer Guide.

\n

\n
\n
Multi-Region primary keys
\n
Imported key material
\n
\n

To create a multi-Region primary key in the local Amazon Web Services Region,\n use the MultiRegion parameter with a value of True. To create\n a multi-Region replica key, that is, a KMS key with the same key ID\n and key material as a primary key, but in a different Amazon Web Services Region, use the ReplicateKey operation. To change a replica key to a primary key, and its\n primary key to a replica key, use the UpdatePrimaryRegion\n operation.

\n

You can create multi-Region KMS keys for all supported KMS key types: symmetric\n encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric\n signing KMS keys. You can also create multi-Region keys with imported key material.\n However, you can't create multi-Region keys in a custom key store.

\n

This operation supports multi-Region keys, an KMS feature that lets you create multiple\n interoperable KMS keys in different Amazon Web Services Regions. Because these KMS keys have the same key ID, key\n material, and other metadata, you can use them interchangeably to encrypt data in one Amazon Web Services Region and decrypt\n it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

\n

\n
\n
\n

To import your own key material, begin by creating a symmetric encryption KMS key with no key\n material. To do this, use the Origin parameter of CreateKey\n with a value of EXTERNAL. Next, use GetParametersForImport operation to get a public key and import token, and use the public key to encrypt\n your key material. Then, use ImportKeyMaterial with your import token\n to import the key material. For step-by-step instructions, see Importing Key Material in the \n Key Management Service Developer Guide\n .

\n

This feature supports only symmetric encryption KMS keys, including multi-Region symmetric encryption KMS keys. You cannot import key\n material into any other type of KMS key.

\n

To create a multi-Region primary key with imported key material, use the\n Origin parameter of CreateKey with a value of\n EXTERNAL and the MultiRegion parameter with a value of\n True. To create replicas of the multi-Region primary key, use the ReplicateKey operation. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

\n

\n
\n
Custom key store
\n
\n

To create a symmetric encryption KMS key in a custom key store, use the\n CustomKeyStoreId parameter to specify the custom key store. You must also\n use the Origin parameter with a value of AWS_CLOUDHSM. The\n CloudHSM cluster that is associated with the custom key store must have at least two active\n HSMs in different Availability Zones in the Amazon Web Services Region.

\n

Custom key stores support only symmetric encryption KMS keys. You cannot create an\n HMAC KMS key or an asymmetric KMS key in a custom key store. For information about\n custom key stores in KMS see Custom key stores in KMS in\n the \n Key Management Service Developer Guide\n .

\n
\n
\n

\n Cross-account use: No. You cannot use this operation to\n create a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:CreateKey (IAM policy). To use the\n Tags parameter, kms:TagResource (IAM policy). For examples and information about related\n permissions, see Allow a user to create\n KMS keys in the Key Management Service Developer Guide.

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Creates a unique customer managed KMS key in your Amazon Web Services account and Region.\n You can use a KMS key in cryptographic operations, such as encryption and signing. Some Amazon Web Services\n services let you use KMS keys that you create and manage to protect your service\n resources.

\n

A KMS key is a logical representation of a cryptographic key. In addition to the key\n material used in cryptographic operations, a KMS key includes metadata, such as the key ID,\n key policy, creation date, description, and key state. For details, see Managing keys in the\n Key Management Service Developer Guide\n

\n

Use the parameters of CreateKey to specify the type of KMS key, the source of\n its key material, its key policy, description, tags, and other properties.

\n \n

KMS has replaced the term customer master key (CMK) with KMS key and KMS key. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.

\n
\n\n\n

To create different types of KMS keys, use the following guidance:

\n\n
\n
Symmetric encryption KMS key
\n
\n

By default, CreateKey creates a symmetric encryption KMS key with key\n material that KMS generates. This is the basic and most widely used type of KMS key, and\n provides the best performance.

\n

To create a symmetric encryption KMS key, you don't need to specify any parameters.\n The default value for KeySpec, SYMMETRIC_DEFAULT, the default\n value for KeyUsage, ENCRYPT_DECRYPT, and the default value for\n Origin, AWS_KMS, create a symmetric encryption KMS key with\n KMS key material.

\n

If you need a key for basic encryption and decryption or you are creating a KMS key\n to protect your resources in an Amazon Web Services service, create a symmetric encryption KMS key.\n The key material in a symmetric encryption key never leaves KMS unencrypted. You can\n use a symmetric encryption KMS key to encrypt and decrypt data up to 4,096 bytes, but\n they are typically used to generate data keys and data keys pairs. For details, see\n GenerateDataKey and GenerateDataKeyPair.

\n

\n
\n
Asymmetric KMS keys
\n
\n

To create an asymmetric KMS key, use the KeySpec parameter to specify\n the type of key material in the KMS key. Then, use the KeyUsage parameter\n to determine whether the KMS key will be used to encrypt and decrypt or sign and verify.\n You can't change these properties after the KMS key is created.

\n

Asymmetric KMS keys contain an RSA key pair, Elliptic Curve (ECC) key pair, or an SM2 key pair (China Regions only). The private key in an asymmetric \n KMS key never leaves KMS unencrypted. However, you can use the GetPublicKey operation to download the public key\n so it can be used outside of KMS. KMS keys with RSA or SM2 key pairs can be used to encrypt or decrypt data or sign and verify messages (but not both). \n KMS keys with ECC key pairs can be used only to sign and verify messages. \n For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

\n

\n
\n
HMAC KMS key
\n
\n

To create an HMAC KMS key, set the KeySpec parameter to a key spec\n value for HMAC KMS keys. Then set the KeyUsage parameter to\n GENERATE_VERIFY_MAC. You must set the key usage even though\n GENERATE_VERIFY_MAC is the only valid key usage value for HMAC KMS keys.\n You can't change these properties after the KMS key is created.

\n

HMAC KMS keys are symmetric keys that never leave KMS unencrypted. You can use\n HMAC keys to generate (GenerateMac) and verify (VerifyMac) HMAC codes for messages up to 4096 bytes.

\n

HMAC KMS keys are not supported in all Amazon Web Services Regions. If you try to create an HMAC\n KMS key in an Amazon Web Services Region in which HMAC keys are not supported, the\n CreateKey operation returns an\n UnsupportedOperationException. For a list of Regions in which HMAC KMS keys\n are supported, see HMAC keys in\n KMS in the Key Management Service Developer Guide.

\n

\n
\n
Multi-Region primary keys
\n
Imported key material
\n
\n

To create a multi-Region primary key in the local Amazon Web Services Region,\n use the MultiRegion parameter with a value of True. To create\n a multi-Region replica key, that is, a KMS key with the same key ID\n and key material as a primary key, but in a different Amazon Web Services Region, use the ReplicateKey operation. To change a replica key to a primary key, and its\n primary key to a replica key, use the UpdatePrimaryRegion\n operation.

\n

You can create multi-Region KMS keys for all supported KMS key types: symmetric\n encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric\n signing KMS keys. You can also create multi-Region keys with imported key material.\n However, you can't create multi-Region keys in a custom key store.

\n

This operation supports multi-Region keys, an KMS feature that lets you create multiple\n interoperable KMS keys in different Amazon Web Services Regions. Because these KMS keys have the same key ID, key\n material, and other metadata, you can use them interchangeably to encrypt data in one Amazon Web Services Region and decrypt\n it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

\n

\n
\n
\n

To import your own key material into a KMS key, begin by creating a symmetric\n encryption KMS key with no key material. To do this, use the Origin\n parameter of CreateKey with a value of EXTERNAL. Next, use\n GetParametersForImport operation to get a public key and import\n token, and use the public key to encrypt your key material. Then, use ImportKeyMaterial with your import token to import the key material. For\n step-by-step instructions, see Importing Key Material in the \n Key Management Service Developer Guide\n .

\n

This feature supports only symmetric encryption KMS keys, including multi-Region\n symmetric encryption KMS keys. You cannot import key material into any other type of KMS\n key.

\n

To create a multi-Region primary key with imported key material, use the\n Origin parameter of CreateKey with a value of\n EXTERNAL and the MultiRegion parameter with a value of\n True. To create replicas of the multi-Region primary key, use the ReplicateKey operation. For instructions, see Importing key material into\n multi-Region keys. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

\n

\n
\n
Custom key store
\n
\n

A custom key store lets you protect your Amazon Web Services resources using keys in a backing key\n store that you own and manage. When you request a cryptographic operation with a KMS key\n in a custom key store, the operation is performed in the backing key store using its\n cryptographic keys.

\n

KMS supports CloudHSM key stores backed by an CloudHSM cluster and external key stores backed by an\n external key manager outside of Amazon Web Services. When you create a KMS key in an CloudHSM key store,\n KMS generates an encryption key in the CloudHSM cluster and associates it with the KMS\n key. When you create a KMS key in an external key store, you specify an existing\n encryption key in the external key manager.

\n \n

Some external key managers provide a simpler method for creating a KMS key in an\n external key store. For details, see your external key manager documentation.

\n
\n

Before you create a KMS key in a custom key store, the ConnectionState\n of the key store must be CONNECTED. To connect the custom key store, use\n the ConnectCustomKeyStore operation. To find the\n ConnectionState, use the DescribeCustomKeyStores\n operation.

\n

To create a KMS key in a custom key store, use the CustomKeyStoreId.\n Use the default KeySpec value, SYMMETRIC_DEFAULT, and the\n default KeyUsage value, ENCRYPT_DECRYPT to create a symmetric\n encryption key. No other key type is supported in a custom key store.

\n

To create a KMS key in an CloudHSM key store, use the\n Origin parameter with a value of AWS_CLOUDHSM. The CloudHSM\n cluster that is associated with the custom key store must have at least two active HSMs\n in different Availability Zones in the Amazon Web Services Region.

\n

To create a KMS key in an external key store, use the Origin parameter\n with a value of EXTERNAL_KEY_STORE and an XksKeyId parameter\n that identifies an existing external key.

\n \n

Some external key managers provide a simpler method for creating a KMS key in an\n external key store. For details, see your external key manager documentation.

\n
\n
\n
\n

\n Cross-account use: No. You cannot use this operation to\n create a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:CreateKey (IAM policy). To use the\n Tags parameter, kms:TagResource (IAM policy). For examples and information about related\n permissions, see Allow a user to create\n KMS keys in the Key Management Service Developer Guide.

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#CreateKeyRequest": { @@ -696,7 +849,7 @@ "Policy": { "target": "com.amazonaws.kms#PolicyType", "traits": { - "smithy.api#documentation": "

The key policy to attach to the KMS key. If you do not specify a key policy, KMS attaches a default key policy to the KMS key.\n For more information, see Default key policy in the\n Key Management Service Developer Guide.

\n

If you provide a key policy, it must meet the following criteria:

\n
    \n
  • \n

    If you don't set BypassPolicyLockoutSafetyCheck to True, the key policy\n must allow the principal that is making the CreateKey request to make a\n subsequent PutKeyPolicy request on the KMS key. This reduces the risk\n that the KMS key becomes unmanageable. For more information, refer to the scenario in the\n Default Key Policy section of the \n Key Management Service Developer Guide\n .

    \n
  • \n
  • \n

    Each statement in the key policy must contain one or more principals. The principals\n in the key policy must exist and be visible to KMS. When you create a new Amazon Web Services\n principal (for example, an IAM user or role), you might need to enforce a delay before\n including the new principal in a key policy because the new principal might not be\n immediately visible to KMS. For more information, see Changes that I make are not always immediately visible in the Amazon Web Services\n Identity and Access Management User Guide.

    \n
  • \n
\n \n

A key policy document can include only the following characters:

\n
    \n
  • \n

    Printable ASCII characters from the space character (\\u0020) through the end of the ASCII character range.

    \n
  • \n
  • \n

    Printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF).

    \n
  • \n
  • \n

    The tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D) special characters

    \n
  • \n
\n

For information about key policies, see Key policies in KMS in the\n Key Management Service Developer Guide. For help writing and formatting a JSON policy document, see the IAM JSON Policy Reference in the \n Identity and Access Management User Guide\n .

" + "smithy.api#documentation": "

The key policy to attach to the KMS key.

\n

If you provide a key policy, it must meet the following criteria:

\n
    \n
  • \n

    If you don't set BypassPolicyLockoutSafetyCheck to true, the key policy\n must allow the principal that is making the CreateKey request to make a\n subsequent PutKeyPolicy request on the KMS key. This reduces the risk\n that the KMS key becomes unmanageable. For more information, refer to the scenario in the\n Default Key Policy section of the \n Key Management Service Developer Guide\n .

    \n
  • \n
  • \n

    Each statement in the key policy must contain one or more principals. The principals\n in the key policy must exist and be visible to KMS. When you create a new Amazon Web Services\n principal (for example, an IAM user or role), you might need to enforce a delay before\n including the new principal in a key policy because the new principal might not be\n immediately visible to KMS. For more information, see Changes that I make are not always immediately visible in the Amazon Web Services\n Identity and Access Management User Guide.

    \n
  • \n
\n

If you do not provide a key policy, KMS attaches a default key policy to the KMS key.\n For more information, see Default Key Policy in the\n Key Management Service Developer Guide.

\n

The key policy size quota is 32 kilobytes (32768 bytes).

\n

For help writing and formatting a JSON policy document, see the IAM JSON Policy Reference in the \n Identity and Access Management User Guide\n .

" } }, "Description": { @@ -708,7 +861,7 @@ "KeyUsage": { "target": "com.amazonaws.kms#KeyUsageType", "traits": { - "smithy.api#documentation": "

Determines the cryptographic operations for which you can use the KMS key. The default value is\n ENCRYPT_DECRYPT. This parameter is optional when you are creating a symmetric\n encryption KMS key; otherwise, it is required. You\n can't change the KeyUsage value after the KMS key is created.

\n

Select only one valid value.

\n
    \n
  • \n

    For symmetric encryption KMS keys, omit the parameter or specify\n ENCRYPT_DECRYPT.

    \n
  • \n
  • \n

    For HMAC KMS keys (symmetric), specify GENERATE_VERIFY_MAC.

    \n
  • \n
  • \n

    For asymmetric KMS keys with RSA key material, specify ENCRYPT_DECRYPT or\n SIGN_VERIFY.

    \n
  • \n
  • \n

    For asymmetric KMS keys with ECC key material, specify\n SIGN_VERIFY.

    \n
  • \n
  • \n

    For asymmetric KMS keys with SM2 key material (China Regions only), specify ENCRYPT_DECRYPT or\n SIGN_VERIFY.

    \n
  • \n
" + "smithy.api#documentation": "

Determines the cryptographic operations for which you can use the KMS key. The default value is\n ENCRYPT_DECRYPT. This parameter is optional when you are creating a symmetric\n encryption KMS key; otherwise, it is required. You can't change the KeyUsage\n value after the KMS key is created.

\n

Select only one valid value.

\n
    \n
  • \n

    For symmetric encryption KMS keys, omit the parameter or specify\n ENCRYPT_DECRYPT.

    \n
  • \n
  • \n

    For HMAC KMS keys (symmetric), specify GENERATE_VERIFY_MAC.

    \n
  • \n
  • \n

    For asymmetric KMS keys with RSA key material, specify ENCRYPT_DECRYPT or\n SIGN_VERIFY.

    \n
  • \n
  • \n

    For asymmetric KMS keys with ECC key material, specify\n SIGN_VERIFY.

    \n
  • \n
  • \n

    For asymmetric KMS keys with SM2 key material (China Regions only), specify ENCRYPT_DECRYPT or\n SIGN_VERIFY.

    \n
  • \n
" } }, "CustomerMasterKeySpec": { @@ -717,25 +870,25 @@ "smithy.api#deprecated": { "message": "This parameter has been deprecated. Instead, use the KeySpec parameter." }, - "smithy.api#documentation": "

Instead, use the KeySpec parameter.

\n

The KeySpec and CustomerMasterKeySpec parameters work the same\n way. Only the names differ. We recommend that you use KeySpec parameter in your\n code. However, to avoid breaking changes, KMS will support both parameters.

" + "smithy.api#documentation": "

Instead, use the KeySpec parameter.

\n

The KeySpec and CustomerMasterKeySpec parameters work the same\n way. Only the names differ. We recommend that you use KeySpec parameter in your\n code. However, to avoid breaking changes, KMS supports both parameters.

" } }, "KeySpec": { "target": "com.amazonaws.kms#KeySpec", "traits": { - "smithy.api#documentation": "

Specifies the type of KMS key to create. The default value,\n SYMMETRIC_DEFAULT, creates a KMS key with a 256-bit AES-GCM key that is used for encryption and decryption, except in China Regions, \n where it creates a 128-bit symmetric key that uses SM4 encryption. For help choosing a key spec for your KMS key, see Choosing a KMS key type in the \n Key Management Service Developer Guide\n .

\n

The KeySpec determines whether the KMS key contains a symmetric key or an\n asymmetric key pair. It also determines the cryptographic algorithms that the KMS key supports. You can't\n change the KeySpec after the KMS key is created.\n To further restrict the algorithms that can be used with the KMS key, use a condition key in\n its key policy or IAM policy. For more information, see kms:EncryptionAlgorithm, kms:MacAlgorithm or kms:Signing Algorithm in the \n Key Management Service Developer Guide\n .

\n \n

\n Amazon Web Services services that\n are integrated with KMS use symmetric encryption KMS keys to protect your data.\n These services do not support asymmetric KMS keys or HMAC KMS keys.

\n
\n

KMS supports the following key specs for KMS keys:

\n
    \n
  • \n

    Symmetric encryption key (default)

    \n
      \n
    • \n

      \n SYMMETRIC_DEFAULT\n

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

    HMAC keys (symmetric)

    \n
      \n
    • \n

      \n HMAC_224\n

      \n
    • \n
    • \n

      \n HMAC_256\n

      \n
    • \n
    • \n

      \n HMAC_384\n

      \n
    • \n
    • \n

      \n HMAC_512\n

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

    Asymmetric RSA key pairs

    \n
      \n
    • \n

      \n RSA_2048\n

      \n
    • \n
    • \n

      \n RSA_3072\n

      \n
    • \n
    • \n

      \n RSA_4096\n

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

    Asymmetric NIST-recommended elliptic curve key pairs

    \n
      \n
    • \n

      \n ECC_NIST_P256 (secp256r1)

      \n
    • \n
    • \n

      \n ECC_NIST_P384 (secp384r1)

      \n
    • \n
    • \n

      \n ECC_NIST_P521 (secp521r1)

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

    Other asymmetric elliptic curve key pairs

    \n
      \n
    • \n

      \n ECC_SECG_P256K1 (secp256k1), commonly used for\n cryptocurrencies.

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

    SM2 key pairs (China Regions only)

    \n
      \n
    • \n

      \n SM2\n

      \n
    • \n
    \n
  • \n
" + "smithy.api#documentation": "

Specifies the type of KMS key to create. The default value,\n SYMMETRIC_DEFAULT, creates a KMS key with a 256-bit AES-GCM key that is used for encryption and decryption, except in China Regions, \n where it creates a 128-bit symmetric key that uses SM4 encryption. For help choosing a key spec for your KMS key, see Choosing a KMS key type in the \n Key Management Service Developer Guide\n .

\n

The KeySpec determines whether the KMS key contains a symmetric key or an\n asymmetric key pair. It also determines the algorithms that the KMS key supports. You can't\n change the KeySpec after the KMS key is created. To further restrict the\n algorithms that can be used with the KMS key, use a condition key in its key policy or IAM\n policy. For more information, see kms:EncryptionAlgorithm, kms:MacAlgorithm or kms:Signing Algorithm in the \n Key Management Service Developer Guide\n .

\n \n

\n Amazon Web Services services that\n are integrated with KMS use symmetric encryption KMS keys to protect your data.\n These services do not support asymmetric KMS keys or HMAC KMS keys.

\n
\n

KMS supports the following key specs for KMS keys:

\n
    \n
  • \n

    Symmetric encryption key (default)

    \n
      \n
    • \n

      \n SYMMETRIC_DEFAULT\n

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

    HMAC keys (symmetric)

    \n
      \n
    • \n

      \n HMAC_224\n

      \n
    • \n
    • \n

      \n HMAC_256\n

      \n
    • \n
    • \n

      \n HMAC_384\n

      \n
    • \n
    • \n

      \n HMAC_512\n

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

    Asymmetric RSA key pairs

    \n
      \n
    • \n

      \n RSA_2048\n

      \n
    • \n
    • \n

      \n RSA_3072\n

      \n
    • \n
    • \n

      \n RSA_4096\n

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

    Asymmetric NIST-recommended elliptic curve key pairs

    \n
      \n
    • \n

      \n ECC_NIST_P256 (secp256r1)

      \n
    • \n
    • \n

      \n ECC_NIST_P384 (secp384r1)

      \n
    • \n
    • \n

      \n ECC_NIST_P521 (secp521r1)

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

    Other asymmetric elliptic curve key pairs

    \n
      \n
    • \n

      \n ECC_SECG_P256K1 (secp256k1), commonly used for\n cryptocurrencies.

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

    SM2 key pairs (China Regions only)

    \n
      \n
    • \n

      \n SM2\n

      \n
    • \n
    \n
  • \n
" } }, "Origin": { "target": "com.amazonaws.kms#OriginType", "traits": { - "smithy.api#documentation": "

The source of the key material for the KMS key. You cannot change the origin after you\n create the KMS key. The default is AWS_KMS, which means that KMS creates the\n key material.

\n

To create a KMS key with no key material (for imported key material), set the value to\n EXTERNAL. For more information about importing key material into KMS, see\n Importing Key\n Material in the Key Management Service Developer Guide. This value is valid only for symmetric encryption KMS keys.

\n

To create a KMS key in an KMS custom key store and create its key material in the\n associated CloudHSM cluster, set this value to AWS_CLOUDHSM. You must also use the\n CustomKeyStoreId parameter to identify the custom key store. This value is\n valid only for symmetric encryption KMS keys.

" + "smithy.api#documentation": "

The source of the key material for the KMS key. You cannot change the origin after you\n create the KMS key. The default is AWS_KMS, which means that KMS creates the\n key material.

\n

To create a\n KMS key with no key material (for imported key material), set this value to\n EXTERNAL. For more information about importing key material into KMS, see\n Importing Key\n Material in the Key Management Service Developer Guide. The EXTERNAL origin value is valid\n only for symmetric KMS keys.

\n

To create a KMS key in an CloudHSM key store and create its key\n material in the associated CloudHSM cluster, set this value to AWS_CLOUDHSM. You\n must also use the CustomKeyStoreId parameter to identify the CloudHSM key store. The\n KeySpec value must be SYMMETRIC_DEFAULT.

\n

To create a KMS key in\n an external key store, set this value to EXTERNAL_KEY_STORE. You must\n also use the CustomKeyStoreId parameter to identify the external key store and\n the XksKeyId parameter to identify the associated external key. The\n KeySpec value must be SYMMETRIC_DEFAULT.

" } }, "CustomKeyStoreId": { "target": "com.amazonaws.kms#CustomKeyStoreIdType", "traits": { - "smithy.api#documentation": "

Creates the KMS key in the specified custom key store and the key material in its\n associated CloudHSM cluster. To create a KMS key in a custom key store, you must also specify the\n Origin parameter with a value of AWS_CLOUDHSM. The CloudHSM cluster\n that is associated with the custom key store must have at least two active HSMs, each in a\n different Availability Zone in the Region.

\n

This parameter is valid only for symmetric encryption KMS keys in a single Region. You \n cannot create any other type of KMS key in a custom key store.

\n

To find the ID of a custom key store, use the DescribeCustomKeyStores operation.

\n

The response includes the custom key store ID and the ID of the CloudHSM cluster.

\n

This operation is part of the custom key store feature feature in KMS, which\ncombines the convenience and extensive integration of KMS with the isolation and control of a\nsingle-tenant key store.

" + "smithy.api#documentation": "

Creates the KMS key in the specified custom key store. The ConnectionState of\n the custom key store must be CONNECTED. To find the CustomKeyStoreID and\n ConnectionState use the DescribeCustomKeyStores operation.

\n

This parameter is valid only for symmetric encryption KMS keys in a single Region. You\n cannot create any other type of KMS key in a custom key store.

\n

When you create a KMS key in an CloudHSM key store, KMS generates a non-exportable 256-bit\n symmetric key in its associated CloudHSM cluster and associates it with the KMS key. When you\n create a KMS key in an external key store, you must use the XksKeyId parameter to specify an\n external key that serves as key material for the KMS key.

" } }, "BypassPolicyLockoutSafetyCheck": { @@ -748,13 +901,19 @@ "Tags": { "target": "com.amazonaws.kms#TagList", "traits": { - "smithy.api#documentation": "

Assigns one or more tags to the KMS key. Use this parameter to tag the KMS key when it is\n created. To tag an existing KMS key, use the TagResource operation.

\n \n

Tagging or untagging a KMS key can allow or deny permission to the KMS key. For details, see ABAC in KMS in the Key Management Service Developer Guide.

\n
\n

To use this parameter, you must have kms:TagResource permission in an IAM policy.

\n

Each tag consists of a tag key and a tag value. Both the tag key and the tag value are\n required, but the tag value can be an empty (null) string. You cannot have more than one tag\n on a KMS key with the same tag key. If you specify an existing tag key with a different tag\n value, KMS replaces the current tag value with the specified one.

\n

When you add tags to an Amazon Web Services resource, Amazon Web Services generates a cost allocation\n report with usage and costs aggregated by tags. Tags can also be used to control access to a KMS key. For details,\n see Tagging Keys.

" + "smithy.api#documentation": "

Assigns one or more tags to the KMS key. Use this parameter to tag the KMS key when it is\n created. To tag an existing KMS key, use the TagResource operation.

\n \n

Tagging or untagging a KMS key can allow or deny permission to the KMS key. For details, see ABAC for KMS in the Key Management Service Developer Guide.

\n
\n

To use this parameter, you must have kms:TagResource permission in an IAM policy.

\n

Each tag consists of a tag key and a tag value. Both the tag key and the tag value are\n required, but the tag value can be an empty (null) string. You cannot have more than one tag\n on a KMS key with the same tag key. If you specify an existing tag key with a different tag\n value, KMS replaces the current tag value with the specified one.

\n

When you add tags to an Amazon Web Services resource, Amazon Web Services generates a cost allocation\n report with usage and costs aggregated by tags. Tags can also be used to control access to a KMS key. For details,\n see Tagging Keys.

" } }, "MultiRegion": { "target": "com.amazonaws.kms#NullableBooleanType", "traits": { - "smithy.api#documentation": "

Creates a multi-Region primary key that you can replicate into other Amazon Web Services Regions. You\n cannot change this value after you create the KMS key.

\n

For a multi-Region key, set this parameter to True. For a single-Region KMS\n key, omit this parameter or set it to False. The default value is\n False.

\n

This operation supports multi-Region keys, an KMS feature that lets you create multiple\n interoperable KMS keys in different Amazon Web Services Regions. Because these KMS keys have the same key ID, key\n material, and other metadata, you can use them interchangeably to encrypt data in one Amazon Web Services Region and decrypt\n it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

\n

This value creates a primary key, not a replica. To create a\n replica key, use the ReplicateKey operation.

\n

You can create a multi-Region version of a symmetric encryption KMS key, an HMAC KMS key, an asymmetric KMS key, or a\n KMS key with imported key material. However, you cannot create a multi-Region key in\n a custom key store.

" + "smithy.api#documentation": "

Creates a multi-Region primary key that you can replicate into other Amazon Web Services Regions. You\n cannot change this value after you create the KMS key.

\n

For a multi-Region key, set this parameter to True. For a single-Region KMS\n key, omit this parameter or set it to False. The default value is\n False.

\n

This operation supports multi-Region keys, an KMS feature that lets you create multiple\n interoperable KMS keys in different Amazon Web Services Regions. Because these KMS keys have the same key ID, key\n material, and other metadata, you can use them interchangeably to encrypt data in one Amazon Web Services Region and decrypt\n it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

\n

This value creates a primary key, not a replica. To create a\n replica key, use the ReplicateKey operation.

\n

You can create a symmetric or asymmetric multi-Region key, and you can create a\n multi-Region key with imported key material. However, you cannot create a multi-Region key in\n a custom key store.

" + } + }, + "XksKeyId": { + "target": "com.amazonaws.kms#XksKeyIdType", + "traits": { + "smithy.api#documentation": "

Identifies the external key that\n serves as key material for the KMS key in an external key store. Specify the ID that\n the external key store proxy uses to refer to the external key. For help, see the\n documentation for your external key store proxy.

\n

This parameter is required for a KMS key with an Origin value of\n EXTERNAL_KEY_STORE. It is not valid for KMS keys with any other\n Origin value.

\n

The external key must be an existing 256-bit AES symmetric encryption key hosted outside\n of Amazon Web Services in an external key manager associated with the external key store specified by the\n CustomKeyStoreId parameter. This key must be enabled and configured to perform\n encryption and decryption. Each KMS key in an external key store must use a different external\n key. For details, see Requirements for a KMS key in an external\n key store in the Key Management Service Developer Guide.

\n

Each KMS key in an external key store is associated two backing keys. One is key material\n that KMS generates. The other is the external key specified by this parameter. When you use\n the KMS key in an external key store to encrypt data, the encryption operation is performed\n first by KMS using the KMS key material, and then by the external key manager using the\n specified external key, a process known as double encryption. For\n details, see Double\n encryption in the Key Management Service Developer Guide.

" } } } @@ -808,7 +967,7 @@ "code": "CustomKeyStoreInvalidStateException", "httpResponseCode": 400 }, - "smithy.api#documentation": "

The request was rejected because of the ConnectionState of the custom key\n store. To get the ConnectionState of a custom key store, use the DescribeCustomKeyStores operation.

\n

This exception is thrown under the following conditions:

\n
    \n
  • \n

    You requested the CreateKey or GenerateRandom\n operation in a custom key store that is not connected. These operations are valid only\n when the custom key store ConnectionState is CONNECTED.

    \n
  • \n
  • \n

    You requested the UpdateCustomKeyStore or DeleteCustomKeyStore operation on a custom key store that is not\n disconnected. This operation is valid only when the custom key store\n ConnectionState is DISCONNECTED.

    \n
  • \n
  • \n

    You requested the ConnectCustomKeyStore operation on a custom key\n store with a ConnectionState of DISCONNECTING or\n FAILED. This operation is valid for all other ConnectionState\n values.

    \n
  • \n
", + "smithy.api#documentation": "

The request was rejected because of the ConnectionState of the custom key\n store. To get the ConnectionState of a custom key store, use the DescribeCustomKeyStores operation.

\n

This exception is thrown under the following conditions:

\n
    \n
  • \n

    You requested the ConnectCustomKeyStore operation on a custom key\n store with a ConnectionState of DISCONNECTING or\n FAILED. This operation is valid for all other ConnectionState\n values. To reconnect a custom key store in a FAILED state, disconnect it\n (DisconnectCustomKeyStore), then connect it\n (ConnectCustomKeyStore).

    \n
  • \n
  • \n

    You requested the CreateKey operation in a custom key store that is\n not connected. This operations is valid only when the custom key store\n ConnectionState is CONNECTED.

    \n
  • \n
  • \n

    You requested the DisconnectCustomKeyStore operation on a custom key\n store with a ConnectionState of DISCONNECTING or\n DISCONNECTED. This operation is valid for all other\n ConnectionState values.

    \n
  • \n
  • \n

    You requested the UpdateCustomKeyStore or DeleteCustomKeyStore operation on a custom key store that is not\n disconnected. This operation is valid only when the custom key store\n ConnectionState is DISCONNECTED.

    \n
  • \n
  • \n

    You requested the GenerateRandom operation in an CloudHSM key store\n that is not connected. This operation is valid only when the CloudHSM key store\n ConnectionState is CONNECTED.

    \n
  • \n
", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -856,6 +1015,23 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.kms#CustomKeyStoreType": { + "type": "enum", + "members": { + "AWS_CLOUDHSM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS_CLOUDHSM" + } + }, + "EXTERNAL_KEY_STORE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EXTERNAL_KEY_STORE" + } + } + } + }, "com.amazonaws.kms#CustomKeyStoresList": { "type": "list", "member": { @@ -880,25 +1056,25 @@ "CloudHsmClusterId": { "target": "com.amazonaws.kms#CloudHsmClusterIdType", "traits": { - "smithy.api#documentation": "

A unique identifier for the CloudHSM cluster that is associated with the custom key\n store.

" + "smithy.api#documentation": "

A unique identifier for the CloudHSM cluster that is associated with an CloudHSM key store. This\n field appears only when the CustomKeyStoreType is\n AWS_CLOUDHSM.

" } }, "TrustAnchorCertificate": { "target": "com.amazonaws.kms#TrustAnchorCertificateType", "traits": { - "smithy.api#documentation": "

The trust anchor certificate of the associated CloudHSM cluster. When you initialize the\n cluster, you create this certificate and save it in the customerCA.crt\n file.

" + "smithy.api#documentation": "

The trust anchor certificate of the CloudHSM cluster associated with an CloudHSM key store. When\n you initialize\n the cluster, you create this certificate and save it in the\n customerCA.crt file.

\n

This field appears only when the CustomKeyStoreType is\n AWS_CLOUDHSM.

" } }, "ConnectionState": { "target": "com.amazonaws.kms#ConnectionStateType", "traits": { - "smithy.api#documentation": "

Indicates whether the custom key store is connected to its CloudHSM cluster.

\n

You can create and use KMS keys in your custom key stores only when its connection state\n is CONNECTED.

\n

The value is DISCONNECTED if the key store has never been connected or you\n use the DisconnectCustomKeyStore operation to disconnect it. If the value is\n CONNECTED but you are having trouble using the custom key store, make sure that\n its associated CloudHSM cluster is active and contains at least one active HSM.

\n

A value of FAILED indicates that an attempt to connect was unsuccessful. The\n ConnectionErrorCode field in the response indicates the cause of the failure.\n For help resolving a connection failure, see Troubleshooting a Custom Key Store in the\n Key Management Service Developer Guide.

" + "smithy.api#documentation": "

Indicates whether the custom key store is connected to its backing key store. For an CloudHSM\n key store, the ConnectionState indicates whether it is connected to its CloudHSM\n cluster. For an external key store, the ConnectionState indicates whether it is\n connected to the external key store proxy that communicates with your external key\n manager.

\n

You can create and use KMS keys in your custom key stores only when its\n ConnectionState is CONNECTED.

\n

The ConnectionState value is DISCONNECTED only if the key store\n has never been connected or you use the DisconnectCustomKeyStore operation\n to disconnect it. If the value is CONNECTED but you are having trouble using the\n custom key store, make sure that the backing key store is reachable and active. For an CloudHSM\n key store, verify that its associated CloudHSM cluster is active and contains at least one active\n HSM. For an external key store, verify that the external key store proxy and external key\n manager are connected and enabled.

\n

A value of FAILED indicates that an attempt to connect was unsuccessful. The\n ConnectionErrorCode field in the response indicates the cause of the failure.\n For help resolving a connection failure, see Troubleshooting a custom key store in the\n Key Management Service Developer Guide.

" } }, "ConnectionErrorCode": { "target": "com.amazonaws.kms#ConnectionErrorCodeType", "traits": { - "smithy.api#documentation": "

Describes the connection error. This field appears in the response only when the\n ConnectionState is FAILED. For help resolving these errors, see\n How to\n Fix a Connection Failure in Key Management Service Developer Guide.

\n

Valid values are:

\n
    \n
  • \n

    \n CLUSTER_NOT_FOUND - KMS cannot find the CloudHSM cluster with the\n specified cluster ID.

    \n
  • \n
  • \n

    \n INSUFFICIENT_CLOUDHSM_HSMS - The associated CloudHSM cluster does not\n contain any active HSMs. To connect a custom key store to its CloudHSM cluster, the cluster\n must contain at least one active HSM.

    \n
  • \n
  • \n

    \n INTERNAL_ERROR - KMS could not complete the request due to an internal\n error. Retry the request. For ConnectCustomKeyStore requests, disconnect the\n custom key store before trying to connect again.

    \n
  • \n
  • \n

    \n INVALID_CREDENTIALS - KMS does not have the correct password for the\n kmsuser crypto user in the CloudHSM cluster. Before you can connect your\n custom key store to its CloudHSM cluster, you must change the kmsuser account\n password and update the key store password value for the custom key store.

    \n
  • \n
  • \n

    \n NETWORK_ERRORS - Network errors are preventing KMS from connecting to\n the custom key store.

    \n
  • \n
  • \n

    \n SUBNET_NOT_FOUND - A subnet in the CloudHSM cluster configuration was\n deleted. If KMS cannot find all of the subnets in the cluster configuration, attempts to\n connect the custom key store to the CloudHSM cluster fail. To fix this error, create a\n cluster from a recent backup and associate it with your custom key store. (This process\n creates a new cluster configuration with a VPC and private subnets.) For details, see\n How\n to Fix a Connection Failure in the Key Management Service Developer Guide.

    \n
  • \n
  • \n

    \n USER_LOCKED_OUT - The kmsuser CU account is locked out of\n the associated CloudHSM cluster due to too many failed password attempts. Before you can\n connect your custom key store to its CloudHSM cluster, you must change the\n kmsuser account password and update the key store password value for the\n custom key store.

    \n
  • \n
  • \n

    \n USER_LOGGED_IN - The kmsuser CU account is logged into the\n the associated CloudHSM cluster. This prevents KMS from rotating the kmsuser\n account password and logging into the cluster. Before you can connect your custom key\n store to its CloudHSM cluster, you must log the kmsuser CU out of the cluster.\n If you changed the kmsuser password to log into the cluster, you must also\n and update the key store password value for the custom key store. For help, see How to Log Out\n and Reconnect in the Key Management Service Developer Guide.

    \n
  • \n
  • \n

    \n USER_NOT_FOUND - KMS cannot find a kmsuser CU account in\n the associated CloudHSM cluster. Before you can connect your custom key store to its CloudHSM\n cluster, you must create a kmsuser CU account in the cluster, and then update\n the key store password value for the custom key store.

    \n
  • \n
" + "smithy.api#documentation": "

Describes the connection error. This field appears in the response only when the\n ConnectionState is FAILED.

\n

Many failures can be resolved by updating the properties of the custom key store. To\n update a custom key store, disconnect it (DisconnectCustomKeyStore), correct\n the errors (UpdateCustomKeyStore), and try to connect again (ConnectCustomKeyStore). For additional help resolving these errors, see How to Fix a\n Connection Failure in Key Management Service Developer Guide.

\n

\n All custom key stores:\n

\n
    \n
  • \n

    \n INTERNAL_ERROR β€” KMS could not complete the request due to an\n internal error. Retry the request. For ConnectCustomKeyStore requests,\n disconnect the custom key store before trying to connect again.

    \n
  • \n
  • \n

    \n NETWORK_ERRORS β€” Network errors are preventing KMS from\n connecting the custom key store to its backing key store.

    \n
  • \n
\n\n

\n CloudHSM key stores:\n

\n
    \n
  • \n

    \n CLUSTER_NOT_FOUND β€” KMS cannot find the CloudHSM cluster with the\n specified cluster ID.

    \n
  • \n
  • \n

    \n INSUFFICIENT_CLOUDHSM_HSMS β€” The associated CloudHSM cluster does not\n contain any active HSMs. To connect a custom key store to its CloudHSM cluster, the cluster\n must contain at least one active HSM.

    \n
  • \n
  • \n

    \n INSUFFICIENT_FREE_ADDRESSES_IN_SUBNET β€” At least one private subnet\n associated with the CloudHSM cluster doesn't have any available IP addresses. A CloudHSM key\n store connection requires one free IP address in each of the associated private subnets,\n although two are preferable. For details, see How to Fix a Connection\n Failure in the Key Management Service Developer Guide.

    \n
  • \n
  • \n

    \n INVALID_CREDENTIALS β€” The KeyStorePassword for the\n custom key store doesn't match the current password of the kmsuser crypto\n user in the CloudHSM cluster. Before you can connect your custom key store to its CloudHSM\n cluster, you must change the kmsuser account password and update the\n KeyStorePassword value for the custom key store.

    \n
  • \n
  • \n

    \n SUBNET_NOT_FOUND β€” A subnet in the CloudHSM cluster configuration was\n deleted. If KMS cannot find all of the subnets in the cluster configuration, attempts to\n connect the custom key store to the CloudHSM cluster fail. To fix this error, create a\n cluster from a recent backup and associate it with your custom key store. (This process\n creates a new cluster configuration with a VPC and private subnets.) For details, see\n How\n to Fix a Connection Failure in the Key Management Service Developer Guide.

    \n
  • \n
  • \n

    \n USER_LOCKED_OUT β€” The kmsuser CU account is locked\n out of the associated CloudHSM cluster due to too many failed password attempts. Before you\n can connect your custom key store to its CloudHSM cluster, you must change the\n kmsuser account password and update the key store password value for the\n custom key store.

    \n
  • \n
  • \n

    \n USER_LOGGED_IN β€” The kmsuser CU account is logged\n into the associated CloudHSM cluster. This prevents KMS from rotating the\n kmsuser account password and logging into the cluster. Before you can\n connect your custom key store to its CloudHSM cluster, you must log the kmsuser\n CU out of the cluster. If you changed the kmsuser password to log into the\n cluster, you must also and update the key store password value for the custom key store.\n For help, see How to Log Out and\n Reconnect in the Key Management Service Developer Guide.

    \n
  • \n
  • \n

    \n USER_NOT_FOUND β€” KMS cannot find a kmsuser CU\n account in the associated CloudHSM cluster. Before you can connect your custom key store to\n its CloudHSM cluster, you must create a kmsuser CU account in the cluster, and\n then update the key store password value for the custom key store.

    \n
  • \n
\n\n

\n External key stores:\n

\n
    \n
  • \n

    \n INVALID_CREDENTIALS β€” One or both of the\n XksProxyAuthenticationCredential values is not valid on the specified\n external key store proxy.

    \n
  • \n
  • \n

    \n XKS_PROXY_ACCESS_DENIED β€” KMS requests are denied access to the\n external key store proxy. If the external key store proxy has authorization rules, verify\n that they permit KMS to communicate with the proxy on your behalf.

    \n
  • \n
  • \n

    \n XKS_PROXY_INVALID_CONFIGURATION β€” A configuration error is\n preventing the external key store from connecting to its proxy. Verify the value of the\n XksProxyUriPath.

    \n
  • \n
  • \n

    \n XKS_PROXY_INVALID_RESPONSE β€” KMS cannot interpret the response\n from the external key store proxy. If you see this connection error code repeatedly,\n notify your external key store proxy vendor.

    \n
  • \n
  • \n

    \n XKS_PROXY_INVALID_TLS_CONFIGURATION β€” KMS cannot connect to the\n external key store proxy because the TLS configuration is invalid. Verify that the XKS\n proxy supports TLS 1.2 or 1.3. Also, verify that the TLS certificate is not expired, and\n that it matches the hostname in the XksProxyUriEndpoint value, and that it is\n signed by a certificate authority included in the Trusted Certificate Authorities\n list.

    \n
  • \n
  • \n

    \n XKS_PROXY_NOT_REACHABLE β€” KMS can't communicate with your\n external key store proxy. Verify that the XksProxyUriEndpoint and\n XksProxyUriPath are correct. Use the tools for your external key store\n proxy to verify that the proxy is active and available on its network. Also, verify that\n your external key manager instances are operating properly. Connection attempts fail with\n this connection error code if the proxy reports that all external key manager instances\n are unavailable.

    \n
  • \n
  • \n

    \n XKS_PROXY_TIMED_OUT β€” KMS can connect to the external key store\n proxy, but the proxy does not respond to KMS in the time allotted. If you see this\n connection error code repeatedly, notify your external key store proxy vendor.

    \n
  • \n
  • \n

    \n XKS_VPC_ENDPOINT_SERVICE_INVALID_CONFIGURATION β€” The Amazon VPC\n endpoint service configuration doesn't conform to the requirements for an KMS external\n key store.

    \n \n\t \n\t
      \n
    • \n

      The VPC endpoint service must be an endpoint service for interface endpoints in the caller's Amazon Web Services account.

      \n
    • \n
    • \n

      It must have a network load balancer (NLB) connected to at least two subnets, each in a different Availability Zone.

      \n
    • \n
    • \n

      The Allow principals list must include \n\t the KMS service principal for the Region, cks.kms..amazonaws.com, \n\t such as cks.kms.us-east-1.amazonaws.com.

      \n
    • \n
    • \n

      It must not require acceptance of connection requests.

      \n
    • \n
    • \n

      It must have a private DNS name. The private DNS name for an external key store with VPC_ENDPOINT_SERVICE connectivity\n\t must be unique in its Amazon Web Services Region.

      \n
    • \n
    • \n

      The domain of the private DNS name must have a verification status of\n\t verified.

      \n
    • \n
    • \n

      The TLS certificate specifies the private DNS hostname at which the endpoint is reachable.

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

    \n XKS_VPC_ENDPOINT_SERVICE_NOT_FOUND β€” KMS can't find the VPC\n endpoint service that it uses to communicate with the external key store proxy. Verify\n that the XksProxyVpcEndpointServiceName is correct and the KMS service\n principal has service consumer permissions on the Amazon VPC endpoint service.

    \n
  • \n
" } }, "CreationDate": { @@ -906,6 +1082,18 @@ "traits": { "smithy.api#documentation": "

The date and time when the custom key store was created.

" } + }, + "CustomKeyStoreType": { + "target": "com.amazonaws.kms#CustomKeyStoreType", + "traits": { + "smithy.api#documentation": "

Indicates the type of the custom key store. AWS_CLOUDHSM indicates a custom\n key store backed by an CloudHSM cluster. EXTERNAL_KEY_STORE indicates a custom key\n store backed by an external key store proxy and external key manager outside of Amazon Web Services.

" + } + }, + "XksProxyConfiguration": { + "target": "com.amazonaws.kms#XksProxyConfigurationType", + "traits": { + "smithy.api#documentation": "

Configuration settings for the external key store proxy (XKS proxy). The external key\n store proxy translates KMS requests into a format that your external key manager can\n understand. The proxy configuration includes connection information that KMS\n requires.

\n

This field appears only when the CustomKeyStoreType is\n EXTERNAL_KEY_STORE.

" + } } }, "traits": { @@ -913,166 +1101,208 @@ } }, "com.amazonaws.kms#CustomerMasterKeySpec": { - "type": "string", - "traits": { - "smithy.api#deprecated": { - "message": "This enum has been deprecated. Instead, use the KeySpec enum." + "type": "enum", + "members": { + "RSA_2048": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RSA_2048" + } }, - "smithy.api#enum": [ - { - "value": "RSA_2048", - "name": "RSA_2048" - }, - { - "value": "RSA_3072", - "name": "RSA_3072" - }, - { - "value": "RSA_4096", - "name": "RSA_4096" - }, - { - "value": "ECC_NIST_P256", - "name": "ECC_NIST_P256" - }, - { - "value": "ECC_NIST_P384", - "name": "ECC_NIST_P384" - }, - { - "value": "ECC_NIST_P521", - "name": "ECC_NIST_P521" - }, - { - "value": "ECC_SECG_P256K1", - "name": "ECC_SECG_P256K1" - }, - { - "value": "SYMMETRIC_DEFAULT", - "name": "SYMMETRIC_DEFAULT" - }, - { - "value": "HMAC_224", - "name": "HMAC_224" - }, - { - "value": "HMAC_256", - "name": "HMAC_256" - }, - { - "value": "HMAC_384", - "name": "HMAC_384" - }, - { - "value": "HMAC_512", - "name": "HMAC_512" - }, - { - "value": "SM2", - "name": "SM2" + "RSA_3072": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RSA_3072" } - ] - } - }, - "com.amazonaws.kms#DataKeyPairSpec": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "RSA_2048", - "name": "RSA_2048" - }, - { - "value": "RSA_3072", - "name": "RSA_3072" - }, - { - "value": "RSA_4096", - "name": "RSA_4096" - }, - { - "value": "ECC_NIST_P256", - "name": "ECC_NIST_P256" - }, - { - "value": "ECC_NIST_P384", - "name": "ECC_NIST_P384" - }, - { - "value": "ECC_NIST_P521", - "name": "ECC_NIST_P521" - }, - { - "value": "ECC_SECG_P256K1", - "name": "ECC_SECG_P256K1" - }, - { - "value": "SM2", - "name": "SM2" + }, + "RSA_4096": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RSA_4096" } - ] - } - }, - "com.amazonaws.kms#DataKeySpec": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "AES_256", - "name": "AES_256" - }, - { - "value": "AES_128", - "name": "AES_128" + }, + "ECC_NIST_P256": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ECC_NIST_P256" } - ] - } - }, - "com.amazonaws.kms#DateType": { - "type": "timestamp" - }, - "com.amazonaws.kms#Decrypt": { - "type": "operation", - "input": { - "target": "com.amazonaws.kms#DecryptRequest" - }, - "output": { - "target": "com.amazonaws.kms#DecryptResponse" - }, - "errors": [ - { - "target": "com.amazonaws.kms#DependencyTimeoutException" }, - { - "target": "com.amazonaws.kms#DisabledException" + "ECC_NIST_P384": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ECC_NIST_P384" + } }, - { - "target": "com.amazonaws.kms#IncorrectKeyException" + "ECC_NIST_P521": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ECC_NIST_P521" + } }, - { - "target": "com.amazonaws.kms#InvalidCiphertextException" + "ECC_SECG_P256K1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ECC_SECG_P256K1" + } }, - { - "target": "com.amazonaws.kms#InvalidGrantTokenException" + "SYMMETRIC_DEFAULT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SYMMETRIC_DEFAULT" + } }, - { - "target": "com.amazonaws.kms#InvalidKeyUsageException" + "HMAC_224": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HMAC_224" + } }, - { - "target": "com.amazonaws.kms#KeyUnavailableException" + "HMAC_256": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HMAC_256" + } }, - { - "target": "com.amazonaws.kms#KMSInternalException" + "HMAC_384": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HMAC_384" + } }, - { - "target": "com.amazonaws.kms#KMSInvalidStateException" + "HMAC_512": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HMAC_512" + } }, - { - "target": "com.amazonaws.kms#NotFoundException" + "SM2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SM2" + } + } + }, + "traits": { + "smithy.api#deprecated": { + "message": "This enum has been deprecated. Instead, use the KeySpec enum." + } + } + }, + "com.amazonaws.kms#DataKeyPairSpec": { + "type": "enum", + "members": { + "RSA_2048": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RSA_2048" + } + }, + "RSA_3072": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RSA_3072" + } + }, + "RSA_4096": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RSA_4096" + } + }, + "ECC_NIST_P256": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ECC_NIST_P256" + } + }, + "ECC_NIST_P384": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ECC_NIST_P384" + } + }, + "ECC_NIST_P521": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ECC_NIST_P521" + } + }, + "ECC_SECG_P256K1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ECC_SECG_P256K1" + } + }, + "SM2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SM2" + } + } + } + }, + "com.amazonaws.kms#DataKeySpec": { + "type": "enum", + "members": { + "AES_256": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AES_256" + } + }, + "AES_128": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AES_128" + } + } + } + }, + "com.amazonaws.kms#DateType": { + "type": "timestamp" + }, + "com.amazonaws.kms#Decrypt": { + "type": "operation", + "input": { + "target": "com.amazonaws.kms#DecryptRequest" + }, + "output": { + "target": "com.amazonaws.kms#DecryptResponse" + }, + "errors": [ + { + "target": "com.amazonaws.kms#DependencyTimeoutException" + }, + { + "target": "com.amazonaws.kms#DisabledException" + }, + { + "target": "com.amazonaws.kms#IncorrectKeyException" + }, + { + "target": "com.amazonaws.kms#InvalidCiphertextException" + }, + { + "target": "com.amazonaws.kms#InvalidGrantTokenException" + }, + { + "target": "com.amazonaws.kms#InvalidKeyUsageException" + }, + { + "target": "com.amazonaws.kms#KeyUnavailableException" + }, + { + "target": "com.amazonaws.kms#KMSInternalException" + }, + { + "target": "com.amazonaws.kms#KMSInvalidStateException" + }, + { + "target": "com.amazonaws.kms#NotFoundException" } ], "traits": { - "smithy.api#documentation": "

Decrypts ciphertext that was encrypted by a KMS key using any of the following\n operations:

\n \n

You can use this operation to decrypt ciphertext that was encrypted under a symmetric encryption KMS key or an\n asymmetric encryption KMS key. When the KMS key is asymmetric, you must specify the KMS key and the\n encryption algorithm that was used to encrypt the ciphertext. For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

\n

The Decrypt operation also decrypts ciphertext that was encrypted outside of KMS by the\n public key in an KMS asymmetric KMS key. However, it cannot decrypt ciphertext produced by\n other libraries, such as the Amazon Web Services\n Encryption SDK or Amazon S3 client-side encryption.\n These libraries return a ciphertext format that is incompatible with KMS.

\n

If the ciphertext was encrypted under a symmetric encryption KMS key, the KeyId\n parameter is optional. KMS can get this information from metadata that it adds to the\n symmetric ciphertext blob. This feature adds durability to your implementation by ensuring\n that authorized users can decrypt ciphertext decades after it was encrypted, even if they've\n lost track of the key ID. However, specifying the KMS key is always recommended as a best\n practice. When you use the KeyId parameter to specify a KMS key, KMS only uses\n the KMS key you specify. If the ciphertext was encrypted under a different KMS key, the\n Decrypt operation fails. This practice ensures that you use the KMS key that\n you intend.

\n

Whenever possible, use key policies to give users permission to call the\n Decrypt operation on a particular KMS key, instead of using IAM policies.\n Otherwise, you might create an IAM user policy that gives the user Decrypt\n permission on all KMS keys. This user could decrypt ciphertext that was encrypted by KMS keys\n in other accounts if the key policy for the cross-account KMS key permits it. If you must use\n an IAM policy for Decrypt permissions, limit the user to particular KMS keys or\n particular trusted accounts. For details, see Best practices for IAM\n policies in the Key Management Service Developer Guide.

\n

Applications in Amazon Web Services Nitro Enclaves can call this operation by using the Amazon Web Services Nitro Enclaves Development Kit. For information about the supporting parameters, see How Amazon Web Services Nitro Enclaves use KMS in the Key Management Service Developer Guide.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account\n use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:Decrypt (key policy)

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Decrypts ciphertext that was encrypted by a KMS key using any of the following\n operations:

\n \n

You can use this operation to decrypt ciphertext that was encrypted under a symmetric\n encryption KMS key or an asymmetric encryption KMS key. When the KMS key is asymmetric, you\n must specify the KMS key and the encryption algorithm that was used to encrypt the ciphertext.\n For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

\n

The Decrypt operation also decrypts ciphertext that was encrypted outside of\n KMS by the public key in an KMS asymmetric KMS key. However, it cannot decrypt symmetric\n ciphertext produced by other libraries, such as the Amazon Web Services Encryption SDK or Amazon S3 client-side encryption.\n These libraries return a ciphertext format that is incompatible with KMS.

\n

If the ciphertext was encrypted under a symmetric encryption KMS key, the\n KeyId parameter is optional. KMS can get this information from metadata that\n it adds to the symmetric ciphertext blob. This feature adds durability to your implementation\n by ensuring that authorized users can decrypt ciphertext decades after it was encrypted, even\n if they've lost track of the key ID. However, specifying the KMS key is always recommended as\n a best practice. When you use the KeyId parameter to specify a KMS key, KMS\n only uses the KMS key you specify. If the ciphertext was encrypted under a different KMS key,\n the Decrypt operation fails. This practice ensures that you use the KMS key that\n you intend.

\n

Whenever possible, use key policies to give users permission to call the\n Decrypt operation on a particular KMS key, instead of using IAM policies.\n Otherwise, you might create an IAM user policy that gives the user Decrypt\n permission on all KMS keys. This user could decrypt ciphertext that was encrypted by KMS keys\n in other accounts if the key policy for the cross-account KMS key permits it. If you must use\n an IAM policy for Decrypt permissions, limit the user to particular KMS keys or\n particular trusted accounts. For details, see Best practices for IAM\n policies in the Key Management Service Developer Guide.

\n

Applications in Amazon Web Services Nitro Enclaves can call this operation by using the Amazon Web Services Nitro Enclaves Development Kit. For information about the supporting parameters, see How Amazon Web Services Nitro Enclaves use KMS in the Key Management Service Developer Guide.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:Decrypt (key policy)

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#DecryptRequest": { @@ -1088,7 +1318,7 @@ "EncryptionContext": { "target": "com.amazonaws.kms#EncryptionContextType", "traits": { - "smithy.api#documentation": "

Specifies the encryption context to use when decrypting the data.\n An encryption context is valid only for cryptographic operations with a symmetric encryption KMS key. The standard asymmetric encryption algorithms and HMAC algorithms that KMS uses do not support an encryption context.

\n

An encryption context is a collection of non-secret key-value pairs that represent additional authenticated data. \nWhen you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is supported\nonly on operations with symmetric encryption KMS keys. On operations with symmetric encryption KMS keys, an encryption context is optional, but it is strongly recommended.

\n

For more information, see\nEncryption context in the Key Management Service Developer Guide.

" + "smithy.api#documentation": "

Specifies the encryption context to use when decrypting the data.\n An encryption context is valid only for cryptographic operations with a symmetric encryption KMS key. The standard asymmetric encryption algorithms and HMAC algorithms that KMS uses do not support an encryption context.

\n

An encryption context is a collection of non-secret key-value pairs that represent additional authenticated data. \nWhen you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is supported\nonly on operations with symmetric encryption KMS keys. On operations with symmetric encryption KMS keys, an encryption context is optional, but it is strongly recommended.

\n

For more information, see\nEncryption context in the Key Management Service Developer Guide.

" } }, "GrantTokens": { @@ -1100,7 +1330,7 @@ "KeyId": { "target": "com.amazonaws.kms#KeyIdType", "traits": { - "smithy.api#documentation": "

Specifies the KMS key that KMS uses to decrypt the ciphertext.

\n

Enter a key ID of the KMS\n key that was used to encrypt the ciphertext. If you identify a different KMS key, the Decrypt operation throws an IncorrectKeyException.

\n

This parameter is required only when the ciphertext was encrypted under an asymmetric KMS\n key. If you used a symmetric encryption KMS key, KMS can get the KMS key from metadata that it adds to\n the symmetric ciphertext blob. However, it is always recommended as a best practice. This\n practice ensures that you use the KMS key that you intend.

\n \n

To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Alias name: alias/ExampleAlias\n

    \n
  • \n
  • \n

    Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" + "smithy.api#documentation": "

Specifies the KMS key that KMS uses to decrypt the ciphertext.

\n\n

Enter a key ID of the KMS key that was used to encrypt the ciphertext. If you identify a\n different KMS key, the Decrypt operation throws an\n IncorrectKeyException.

\n\n

This parameter is required only when the ciphertext was encrypted under an asymmetric KMS\n key. If you used a symmetric encryption KMS key, KMS can get the KMS key from metadata that\n it adds to the symmetric ciphertext blob. However, it is always recommended as a best\n practice. This practice ensures that you use the KMS key that you intend.

\n \n

To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Alias name: alias/ExampleAlias\n

    \n
  • \n
  • \n

    Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" } }, "EncryptionAlgorithm": { @@ -1157,7 +1387,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes the specified alias.

\n \n

Adding, deleting, or updating an alias can allow or deny permission to the KMS key. For details, see ABAC in KMS in the Key Management Service Developer Guide.

\n
\n

Because an alias is not a property of a KMS key, you can delete and change the aliases of\n a KMS key without affecting the KMS key. Also, aliases do not appear in the response from the\n DescribeKey operation. To get the aliases of all KMS keys, use the ListAliases operation.

\n

Each KMS key can have multiple aliases. To change the alias of a KMS key, use DeleteAlias to delete the current alias and CreateAlias to\n create a new alias. To associate an existing alias with a different KMS key, call UpdateAlias.

\n

\n Cross-account use: No. You cannot perform this operation on an alias in a different Amazon Web Services account.

\n

\n Required permissions\n

\n \n

For details, see Controlling access to aliases in the\n Key Management Service Developer Guide.

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Deletes the specified alias.

\n \n

Adding, deleting, or updating an alias can allow or deny permission to the KMS key. For details, see ABAC for KMS in the Key Management Service Developer Guide.

\n
\n

Because an alias is not a property of a KMS key, you can delete and change the aliases of\n a KMS key without affecting the KMS key. Also, aliases do not appear in the response from the\n DescribeKey operation. To get the aliases of all KMS keys, use the ListAliases operation.

\n

Each KMS key can have multiple aliases. To change the alias of a KMS key, use DeleteAlias to delete the current alias and CreateAlias to\n create a new alias. To associate an existing alias with a different KMS key, call UpdateAlias.

\n

\n Cross-account use: No. You cannot perform this operation on an alias in a different Amazon Web Services account.

\n

\n Required permissions\n

\n \n

For details, see Controlling access to aliases in the\n Key Management Service Developer Guide.

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#DeleteAliasRequest": { @@ -1195,7 +1425,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a custom key store. This operation does not delete the CloudHSM cluster that is\n associated with the custom key store, or affect any users or keys in the cluster.

\n

The custom key store that you delete cannot contain any KMS keys. Before deleting the key store,\n verify that you will never need to use any of the KMS keys in the key store for any\n cryptographic operations. Then, use ScheduleKeyDeletion to delete the KMS keys from the\n key store. When the scheduled waiting period expires, the ScheduleKeyDeletion\n operation deletes the KMS keys. Then it makes a best effort to delete the key material from\n the associated cluster. However, you might need to manually delete the orphaned key\n material from the cluster and its backups.

\n

After all KMS keys are deleted from KMS, use DisconnectCustomKeyStore\n to disconnect the key store from KMS. Then, you can delete the custom key store.

\n

Instead of deleting the custom key store, consider using DisconnectCustomKeyStore to disconnect it from KMS. While the key store is\n disconnected, you cannot create or use the KMS keys in the key store. But, you do not need to\n delete KMS keys and you can reconnect a disconnected custom key store at any time.

\n

If the operation succeeds, it returns a JSON object with no\nproperties.

\n

This operation is part of the custom key store feature feature in KMS, which\ncombines the convenience and extensive integration of KMS with the isolation and control of a\nsingle-tenant key store.

\n

\n Cross-account use: No.\n You cannot perform this operation on a custom key store in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:DeleteCustomKeyStore (IAM policy)

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Deletes a custom key store. This operation does not affect any backing elements of the\n custom key store. It does not delete the CloudHSM cluster that is associated with an CloudHSM key\n store, or affect any users or keys in the cluster. For an external key store, it does not\n affect the external key store proxy, external key manager, or any external keys.

\n

This operation is part of the custom key stores feature in KMS, which\ncombines the convenience and extensive integration of KMS with the isolation and control of a\nkey store that you own and manage.

\n

The custom key store that you delete cannot contain any KMS keys. Before deleting the key store,\n verify that you will never need to use any of the KMS keys in the key store for any\n cryptographic operations. Then, use ScheduleKeyDeletion to delete the KMS keys from the\n key store. After the required waiting period expires and all KMS keys are deleted from the\n custom key store, use DisconnectCustomKeyStore to disconnect the key store\n from KMS. Then, you can delete the custom key store.

\n

For keys in an CloudHSM key store, the ScheduleKeyDeletion operation makes a\n best effort to delete the key material from the associated cluster. However, you might need to\n manually delete the orphaned key\n material from the cluster and its backups. KMS never creates, manages, or deletes\n cryptographic keys in the external key manager associated with an external key store. You must\n manage them using your external key manager tools.

\n

Instead of deleting the custom key store, consider using the DisconnectCustomKeyStore operation to disconnect the custom key store from its\n backing key store. While the key store is disconnected, you cannot create or use the KMS keys\n in the key store. But, you do not need to delete KMS keys and you can reconnect a disconnected\n custom key store at any time.

\n

If the operation succeeds, it returns a JSON object with no\nproperties.

\n

\n Cross-account use: No. You cannot perform this operation on a custom key store in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:DeleteCustomKeyStore (IAM policy)

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#DeleteCustomKeyStoreRequest": { @@ -1243,7 +1473,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes key material that you previously imported. This operation makes the specified KMS\n key unusable. For more information about importing key material into KMS, see Importing Key Material\n in the Key Management Service Developer Guide.

\n

When the specified KMS key is in the PendingDeletion state, this operation\n does not change the KMS key's state. Otherwise, it changes the KMS key's state to\n PendingImport.

\n

After you delete key material, you can use ImportKeyMaterial to reimport\n the same key material into the KMS key.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:DeleteImportedKeyMaterial (key policy)

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Deletes key material that you previously imported. This operation makes the specified KMS\n key unusable. For more information about importing key material into KMS, see Importing Key Material\n in the Key Management Service Developer Guide.

\n

When the specified KMS key is in the PendingDeletion state, this operation\n does not change the KMS key's state. Otherwise, it changes the KMS key's state to\n PendingImport.

\n

After you delete key material, you can use ImportKeyMaterial to reimport\n the same key material into the KMS key.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:DeleteImportedKeyMaterial (key policy)

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#DeleteImportedKeyMaterialRequest": { @@ -1270,7 +1500,7 @@ "code": "DependencyTimeout", "httpResponseCode": 503 }, - "smithy.api#documentation": "

The system timed out while trying to fulfill the request. The request can be\n retried.

", + "smithy.api#documentation": "

The system timed out while trying to fulfill the request. You can retry the\n request.

", "smithy.api#error": "server", "smithy.api#httpError": 503 } @@ -1295,7 +1525,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets information about custom key stores in the account and Region.

\n

This operation is part of the custom key store feature feature in KMS, which\ncombines the convenience and extensive integration of KMS with the isolation and control of a\nsingle-tenant key store.

\n

By default, this operation returns information about all custom key\n stores in the account and Region. To get only information about a particular custom key store,\n use either the CustomKeyStoreName or CustomKeyStoreId parameter (but\n not both).

\n

To determine whether the custom key store is connected to its CloudHSM cluster, use the\n ConnectionState element in the response. If an attempt to connect the custom\n key store failed, the ConnectionState value is FAILED and the\n ConnectionErrorCode element in the response indicates the cause of the failure.\n For help interpreting the ConnectionErrorCode, see CustomKeyStoresListEntry.

\n

Custom key stores have a DISCONNECTED connection state if the key store has\n never been connected or you use the DisconnectCustomKeyStore operation to\n disconnect it. If your custom key store state is CONNECTED but you are having\n trouble using it, make sure that its associated CloudHSM cluster is active and contains the\n minimum number of HSMs required for the operation, if any.

\n

For help repairing your custom key store, see the Troubleshooting Custom Key Stores topic in the\n Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on a custom key store in a different Amazon Web Services account.

\n

\n Required permissions: kms:DescribeCustomKeyStores (IAM policy)

\n

\n Related operations:\n

\n ", + "smithy.api#documentation": "

Gets information about custom key stores in the account and Region.

\n

This operation is part of the custom key stores feature in KMS, which\ncombines the convenience and extensive integration of KMS with the isolation and control of a\nkey store that you own and manage.

\n

By default, this operation returns information about all custom key stores in the account\n and Region. To get only information about a particular custom key store, use either the\n CustomKeyStoreName or CustomKeyStoreId parameter (but not\n both).

\n

To determine whether the custom key store is connected to its CloudHSM cluster or external\n key store proxy, use the ConnectionState element in the response. If an attempt\n to connect the custom key store failed, the ConnectionState value is\n FAILED and the ConnectionErrorCode element in the response\n indicates the cause of the failure. For help interpreting the\n ConnectionErrorCode, see CustomKeyStoresListEntry.

\n

Custom key stores have a DISCONNECTED connection state if the key store has\n never been connected or you used the DisconnectCustomKeyStore operation to\n disconnect it. Otherwise, the connection state is CONNECTED. If your custom key store\n connection state is CONNECTED but you are having trouble using it, verify that\n the backing store is active and available. For an CloudHSM key store, verify that the associated\n CloudHSM cluster is active and contains the minimum number of HSMs required for the operation, if\n any. For an external key store, verify that the external key store proxy and its associated\n external key manager are reachable and enabled.

\n

For help repairing your CloudHSM key store, see the Troubleshooting CloudHSM key stores. For help\n repairing your external key store, see the Troubleshooting external key stores. Both\n topics are in the Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on a custom key store in a different Amazon Web Services account.

\n

\n Required permissions: kms:DescribeCustomKeyStores (IAM policy)

\n

\n Related operations:\n

\n ", "smithy.api#paginated": { "inputToken": "Marker", "outputToken": "NextMarker", @@ -1310,13 +1540,13 @@ "CustomKeyStoreId": { "target": "com.amazonaws.kms#CustomKeyStoreIdType", "traits": { - "smithy.api#documentation": "

Gets only information about the specified custom key store. Enter the key store ID.

\n

By default, this operation gets information about all custom key stores in the account and\n Region. To limit the output to a particular custom key store, you can use either the\n CustomKeyStoreId or CustomKeyStoreName parameter, but not\n both.

" + "smithy.api#documentation": "

Gets only information about the specified custom key store. Enter the key store ID.

\n

By default, this operation gets information about all custom key stores in the account and\n Region. To limit the output to a particular custom key store, provide either the\n CustomKeyStoreId or CustomKeyStoreName parameter, but not\n both.

" } }, "CustomKeyStoreName": { "target": "com.amazonaws.kms#CustomKeyStoreNameType", "traits": { - "smithy.api#documentation": "

Gets only information about the specified custom key store. Enter the friendly name of the\n custom key store.

\n

By default, this operation gets information about all custom key stores in the account and\n Region. To limit the output to a particular custom key store, you can use either the\n CustomKeyStoreId or CustomKeyStoreName parameter, but not\n both.

" + "smithy.api#documentation": "

Gets only information about the specified custom key store. Enter the friendly name of the\n custom key store.

\n

By default, this operation gets information about all custom key stores in the account and\n Region. To limit the output to a particular custom key store, provide either the\n CustomKeyStoreId or CustomKeyStoreName parameter, but not\n both.

" } }, "Limit": { @@ -1380,7 +1610,7 @@ } ], "traits": { - "smithy.api#documentation": "

Provides detailed information about a KMS key. You can run DescribeKey on a\n customer managed\n key or an Amazon Web Services managed key.

\n

This detailed information includes the key ARN, creation date (and deletion date, if\n applicable), the key state, and the origin and expiration date (if any) of the key material.\n It includes fields, like KeySpec, that help you distinguish different types of KMS keys. It also displays the key usage (encryption, signing, or generating and verifying MACs) and the algorithms that the KMS key supports. For KMS keys in custom key stores, it includes\n information about the custom key store, such as the key store ID and the CloudHSM cluster ID. For\n multi-Region keys, it displays the primary key and all related replica keys.

\n

\n DescribeKey does not return the following information:

\n
    \n
  • \n

    Aliases associated with the KMS key. To get this information, use ListAliases.

    \n
  • \n
  • \n

    Whether automatic key rotation is enabled on the KMS key. To get this information, use\n GetKeyRotationStatus. Also, some key states prevent a KMS key from\n being automatically rotated. For details, see How Automatic Key Rotation\n Works in the Key Management Service Developer Guide.

    \n
  • \n
  • \n

    Tags on the KMS key. To get this information, use ListResourceTags.

    \n
  • \n
  • \n

    Key policies and grants on the KMS key. To get this information, use GetKeyPolicy and ListGrants.

    \n
  • \n
\n

In general, DescribeKey is a non-mutating operation. It returns data about\n KMS keys, but doesn't change them. However, Amazon Web Services services use DescribeKey to\n create Amazon Web Services\n managed keys from a predefined Amazon Web Services alias with no key\n ID.

\n

\n Cross-account use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:DescribeKey (key policy)

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Provides detailed information about a KMS key. You can run DescribeKey on a\n customer managed\n key or an Amazon Web Services managed key.

\n

This detailed information includes the key ARN, creation date (and deletion date, if\n applicable), the key state, and the origin and expiration date (if any) of the key material.\n It includes fields, like KeySpec, that help you distinguish different types of\n KMS keys. It also displays the key usage (encryption, signing, or generating and verifying\n MACs) and the algorithms that the KMS key supports.

\n

For multi-Region keys,\n DescribeKey displays the primary key and all related replica keys. For KMS keys\n in CloudHSM key stores, it includes\n information about the key store, such as the key store ID and the CloudHSM cluster ID. For KMS\n keys in external key stores, it\n includes the custom key store ID and the ID of the external key.

\n

\n DescribeKey does not return the following information:

\n
    \n
  • \n

    Aliases associated with the KMS key. To get this information, use ListAliases.

    \n
  • \n
  • \n

    Whether automatic key rotation is enabled on the KMS key. To get this information, use\n GetKeyRotationStatus. Also, some key states prevent a KMS key from\n being automatically rotated. For details, see How Automatic Key Rotation\n Works in the Key Management Service Developer Guide.

    \n
  • \n
  • \n

    Tags on the KMS key. To get this information, use ListResourceTags.

    \n
  • \n
  • \n

    Key policies and grants on the KMS key. To get this information, use GetKeyPolicy and ListGrants.

    \n
  • \n
\n

In general, DescribeKey is a non-mutating operation. It returns data about\n KMS keys, but doesn't change them. However, Amazon Web Services services use DescribeKey to\n create Amazon Web Services\n managed keys from a predefined Amazon Web Services alias with no key\n ID.

\n

\n Cross-account use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:DescribeKey (key policy)

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#DescribeKeyRequest": { @@ -1447,7 +1677,7 @@ } ], "traits": { - "smithy.api#documentation": "

Sets the state of a KMS key to disabled. This change temporarily prevents use of the KMS\n key for cryptographic operations.

\n

For more information about how key state affects the use of a KMS key, see Key states of KMS keys in the \n Key Management Service Developer Guide\n .

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:DisableKey (key policy)

\n

\n Related operations: EnableKey\n

" + "smithy.api#documentation": "

Sets the state of a KMS key to disabled. This change temporarily prevents use of the KMS\n key for cryptographic operations.

\n

For more information about how key state affects the use of a KMS key, see\n Key states of KMS keys in the \n Key Management Service Developer Guide\n .

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:DisableKey (key policy)

\n

\n Related operations: EnableKey\n

" } }, "com.amazonaws.kms#DisableKeyRequest": { @@ -1456,7 +1686,7 @@ "KeyId": { "target": "com.amazonaws.kms#KeyIdType", "traits": { - "smithy.api#documentation": "

Identifies the KMS key to disable.

\n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", + "smithy.api#documentation": "

Identifies the KMS key to disable.

\n \n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", "smithy.api#required": {} } } @@ -1494,7 +1724,7 @@ } ], "traits": { - "smithy.api#documentation": "

Disables automatic\n rotation of the key material of the specified symmetric encryption KMS key.

\n

Automatic key rotation is supported only on symmetric encryption KMS keys.\n You cannot enable or disable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. The key rotation status of these KMS keys is always false.\nTo enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key.

\n

You can enable (EnableKeyRotation) and disable automatic rotation of the\n key material in customer managed KMS keys. Key material rotation of Amazon Web Services managed KMS keys is not\n configurable. KMS always rotates the key material for every year. Rotation of Amazon Web Services owned KMS\n keys varies.

\n \n

In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every\n three years to every year. For details, see EnableKeyRotation.

\n
\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account\n use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:DisableKeyRotation (key policy)

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Disables automatic\n rotation of the key material of the specified symmetric encryption KMS key.

\n

Automatic key rotation is supported only on symmetric encryption KMS keys.\n You cannot enable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key.

\n

You can enable (EnableKeyRotation) and disable automatic rotation of the\n key material in customer managed KMS keys. Key material rotation of Amazon Web Services managed KMS keys is not\n configurable. KMS always rotates the key material for every year. Rotation of Amazon Web Services owned KMS\n keys varies.

\n \n

In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every three\n years to every year. For details, see EnableKeyRotation.

\n
\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:DisableKeyRotation (key policy)

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#DisableKeyRotationRequest": { @@ -1503,7 +1733,7 @@ "KeyId": { "target": "com.amazonaws.kms#KeyIdType", "traits": { - "smithy.api#documentation": "

Identifies a symmetric encryption KMS key. You cannot enable or disable automatic rotation of asymmetric\n KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a\n custom key store.

\n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", + "smithy.api#documentation": "

Identifies a symmetric encryption KMS key. You cannot enable or disable automatic rotation\n of asymmetric KMS keys, HMAC\n KMS keys, KMS keys with imported key material, or KMS keys in a\n custom key store.

\n \n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", "smithy.api#required": {} } } @@ -1546,7 +1776,7 @@ } ], "traits": { - "smithy.api#documentation": "

Disconnects the custom key store from its associated CloudHSM cluster. While a custom key\n store is disconnected, you can manage the custom key store and its KMS keys, but you cannot\n create or use KMS keys in the custom key store. You can reconnect the custom key store at any\n time.

\n \n

While a custom key store is disconnected, all attempts to create KMS keys in the custom key store or to use existing KMS keys in cryptographic operations will\n fail. This action can prevent users from storing and accessing sensitive data.

\n
\n

\n

To find the connection state of a custom key store, use the DescribeCustomKeyStores operation. To reconnect a custom key store, use the\n ConnectCustomKeyStore operation.

\n

If the operation succeeds, it returns a JSON object with no\nproperties.

\n

This operation is part of the custom key store feature feature in KMS, which\ncombines the convenience and extensive integration of KMS with the isolation and control of a\nsingle-tenant key store.

\n\n

\n Cross-account use: No.\n You cannot perform this operation on a custom key store in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:DisconnectCustomKeyStore (IAM policy)

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Disconnects the custom key store from its backing key store. This operation disconnects an\n CloudHSM key store from its associated CloudHSM cluster or disconnects an external key store from\n the external key store proxy that communicates with your external key manager.

\n

This operation is part of the custom key stores feature in KMS, which\ncombines the convenience and extensive integration of KMS with the isolation and control of a\nkey store that you own and manage.

\n

While a custom key store is disconnected, you can manage the custom key store and its KMS\n keys, but you cannot create or use its KMS keys. You can reconnect the custom key store at any\n time.

\n \n

While a custom key store is disconnected, all attempts to create KMS keys in the custom key store or to use existing KMS keys in cryptographic operations will\n fail. This action can prevent users from storing and accessing sensitive data.

\n
\n

When you disconnect a custom key store, its ConnectionState changes to\n Disconnected. To find the connection state of a custom key store, use the DescribeCustomKeyStores operation. To reconnect a custom key store, use the\n ConnectCustomKeyStore operation.

\n

If the operation succeeds, it returns a JSON object with no\nproperties.

\n

\n Cross-account use: No. You cannot perform this operation on a custom key store in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:DisconnectCustomKeyStore (IAM policy)

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#DisconnectCustomKeyStoreRequest": { @@ -1594,7 +1824,7 @@ } ], "traits": { - "smithy.api#documentation": "

Sets the key state of a KMS key to enabled. This allows you to use the KMS key for\n cryptographic operations.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account\n use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:EnableKey (key policy)

\n

\n Related operations: DisableKey\n

" + "smithy.api#documentation": "

Sets the key state of a KMS key to enabled. This allows you to use the KMS key for\n cryptographic operations.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:EnableKey (key policy)

\n

\n Related operations: DisableKey\n

" } }, "com.amazonaws.kms#EnableKeyRequest": { @@ -1603,7 +1833,7 @@ "KeyId": { "target": "com.amazonaws.kms#KeyIdType", "traits": { - "smithy.api#documentation": "

Identifies the KMS key to enable.

\n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", + "smithy.api#documentation": "

Identifies the KMS key to enable.

\n \n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", "smithy.api#required": {} } } @@ -1641,7 +1871,7 @@ } ], "traits": { - "smithy.api#documentation": "

Enables automatic rotation\n of the key material of the specified symmetric encryption KMS key.

\n

When you enable automatic rotation of acustomer managed KMS key, KMS\n rotates the key material of the KMS key one year (approximately 365 days) from the enable date\n and every year thereafter. You can monitor rotation of the key material for your KMS keys in\n CloudTrail and Amazon CloudWatch. To disable rotation of the key material in a customer\n managed KMS key, use the DisableKeyRotation operation.

\n

Automatic key rotation is supported only on symmetric encryption KMS keys.\n You cannot enable or disable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. The key rotation status of these KMS keys is always false.\nTo enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key.

\n

You cannot enable or disable automatic rotation Amazon Web Services managed KMS keys. KMS\n always rotates the key material of Amazon Web Services managed keys every year. Rotation of Amazon Web Services owned KMS\n keys varies.

\n \n

In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every three\n years (approximately 1,095 days) to every year (approximately 365 days).

\n

New Amazon Web Services managed keys are automatically rotated one year after they\n are created, and approximately every year thereafter.

\n

Existing Amazon Web Services managed keys are automatically rotated one year after\n their most recent rotation, and every year thereafter.

\n
\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account\n use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:EnableKeyRotation (key policy)

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Enables automatic rotation\n of the key material of the specified symmetric encryption KMS key.

\n

When you enable automatic rotation of acustomer managed KMS key, KMS\n rotates the key material of the KMS key one year (approximately 365 days) from the enable date\n and every year thereafter. You can monitor rotation of the key material for your KMS keys in\n CloudTrail and Amazon CloudWatch. To disable rotation of the key material in a customer\n managed KMS key, use the DisableKeyRotation operation.

\n

Automatic key rotation is supported only on symmetric encryption KMS keys.\n You cannot enable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key.

\n

You cannot enable or disable automatic rotation Amazon Web Services managed KMS keys. KMS\n always rotates the key material of Amazon Web Services managed keys every year. Rotation of Amazon Web Services owned KMS\n keys varies.

\n \n

In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every three\n years (approximately 1,095 days) to every year (approximately 365 days).

\n

New Amazon Web Services managed keys are automatically rotated one year after they are created, and\n approximately every year thereafter.

\n

Existing Amazon Web Services managed keys are automatically rotated one year after their most recent\n rotation, and every year thereafter.

\n
\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:EnableKeyRotation (key policy)

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#EnableKeyRotationRequest": { @@ -1650,7 +1880,7 @@ "KeyId": { "target": "com.amazonaws.kms#KeyIdType", "traits": { - "smithy.api#documentation": "

Identifies a symmetric encryption KMS key. You cannot enable or disable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. The key rotation status of these KMS keys is always false.\nTo enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key.

\n \n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", + "smithy.api#documentation": "

Identifies a symmetric encryption KMS key. You cannot enable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key.

\n \n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", "smithy.api#required": {} } } @@ -1691,7 +1921,7 @@ } ], "traits": { - "smithy.api#documentation": "

Encrypts plaintext of up to 4,096 bytes using a KMS key. You can use a symmetric or\n asymmetric KMS key with a KeyUsage of ENCRYPT_DECRYPT.

\n

You can use this operation to encrypt small amounts of arbitrary data, such as a personal identifier or\n database password, or other sensitive information. You don't need to use the Encrypt operation to encrypt a data key. The GenerateDataKey and GenerateDataKeyPair operations return a\n plaintext data key and an encrypted copy of that data key.

\n\n

If you use a symmetric encryption KMS key, you can use an encryption context to add additional\n security to your encryption operation. If you specify an EncryptionContext when\n encrypting data, you must specify the same encryption context (a case-sensitive exact match)\n when decrypting the data. Otherwise, the request to decrypt fails with an\n InvalidCiphertextException. For more information, see Encryption\n Context in the Key Management Service Developer Guide.

\n

If you specify an asymmetric KMS key, you must also specify the encryption algorithm. The\n algorithm must be compatible with the KMS key spec.

\n \n

When you use an asymmetric KMS key to encrypt or reencrypt data, be sure to record the KMS key and encryption algorithm that you choose. You will be required to provide the same KMS key and encryption algorithm when you decrypt the data. If the KMS key and algorithm do not match the values used to encrypt the data, the decrypt operation fails.

\n

You are not required to supply the key ID and encryption algorithm when you decrypt with symmetric encryption KMS keys because KMS stores this information in the ciphertext blob. KMS cannot store metadata in ciphertext generated with asymmetric keys. The standard format for asymmetric key ciphertext does not include configurable fields.

\n
\n\n\n

The maximum size of the data that you can encrypt varies with the type of KMS key and the\n encryption algorithm that you choose.

\n
    \n
  • \n

    Symmetric encryption KMS keys

    \n
      \n
    • \n

      \n SYMMETRIC_DEFAULT: 4096 bytes

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

    \n RSA_2048\n

    \n
      \n
    • \n

      \n RSAES_OAEP_SHA_1: 214 bytes

      \n
    • \n
    • \n

      \n RSAES_OAEP_SHA_256: 190 bytes

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

    \n RSA_3072\n

    \n
      \n
    • \n

      \n RSAES_OAEP_SHA_1: 342 bytes

      \n
    • \n
    • \n

      \n RSAES_OAEP_SHA_256: 318 bytes

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

    \n RSA_4096\n

    \n
      \n
    • \n

      \n RSAES_OAEP_SHA_1: 470 bytes

      \n
    • \n
    • \n

      \n RSAES_OAEP_SHA_256: 446 bytes

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

    \n SM2PKE: 1024 bytes (China Regions only)

    \n
  • \n
\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: Yes.\n To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:Encrypt (key policy)

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Encrypts plaintext of up to 4,096 bytes using a KMS key. You can use a symmetric or\n asymmetric KMS key with a KeyUsage of ENCRYPT_DECRYPT.

\n

You can use this operation to encrypt small amounts of arbitrary data, such as a personal\n identifier or database password, or other sensitive information. You don't need to use the\n Encrypt operation to encrypt a data key. The GenerateDataKey\n and GenerateDataKeyPair operations return a plaintext data key and an\n encrypted copy of that data key.

\n

If you use a symmetric encryption KMS key, you can use an encryption context to add\n additional security to your encryption operation. If you specify an\n EncryptionContext when encrypting data, you must specify the same encryption\n context (a case-sensitive exact match) when decrypting the data. Otherwise, the request to\n decrypt fails with an InvalidCiphertextException. For more information, see\n Encryption\n Context in the Key Management Service Developer Guide.

\n

If you specify an asymmetric KMS key, you must also specify the encryption algorithm. The\n algorithm must be compatible with the KMS key spec.

\n \n

When you use an asymmetric KMS key to encrypt or reencrypt data, be sure to record the KMS key and encryption algorithm that you choose. You will be required to provide the same KMS key and encryption algorithm when you decrypt the data. If the KMS key and algorithm do not match the values used to encrypt the data, the decrypt operation fails.

\n

You are not required to supply the key ID and encryption algorithm when you decrypt with symmetric encryption KMS keys because KMS stores this information in the ciphertext blob. KMS cannot store metadata in ciphertext generated with asymmetric keys. The standard format for asymmetric key ciphertext does not include configurable fields.

\n
\n\n\n

The maximum size of the data that you can encrypt varies with the type of KMS key and the\n encryption algorithm that you choose.

\n
    \n
  • \n

    Symmetric encryption KMS keys

    \n
      \n
    • \n

      \n SYMMETRIC_DEFAULT: 4096 bytes

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

    \n RSA_2048\n

    \n
      \n
    • \n

      \n RSAES_OAEP_SHA_1: 214 bytes

      \n
    • \n
    • \n

      \n RSAES_OAEP_SHA_256: 190 bytes

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

    \n RSA_3072\n

    \n
      \n
    • \n

      \n RSAES_OAEP_SHA_1: 342 bytes

      \n
    • \n
    • \n

      \n RSAES_OAEP_SHA_256: 318 bytes

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

    \n RSA_4096\n

    \n
      \n
    • \n

      \n RSAES_OAEP_SHA_1: 470 bytes

      \n
    • \n
    • \n

      \n RSAES_OAEP_SHA_256: 446 bytes

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

    \n SM2PKE: 1024 bytes (China Regions only)

    \n
  • \n
\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: Yes.\n To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:Encrypt (key policy)

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#EncryptRequest": { @@ -1714,7 +1944,7 @@ "EncryptionContext": { "target": "com.amazonaws.kms#EncryptionContextType", "traits": { - "smithy.api#documentation": "

Specifies the encryption context that will be used to encrypt the data.\n An encryption context is valid only for cryptographic operations with a symmetric encryption KMS key. The standard asymmetric encryption algorithms and HMAC algorithms that KMS uses do not support an encryption context.

\n

An encryption context is a collection of non-secret key-value pairs that represent additional authenticated data. \nWhen you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is supported\nonly on operations with symmetric encryption KMS keys. On operations with symmetric encryption KMS keys, an encryption context is optional, but it is strongly recommended.

\n

For more information, see\nEncryption context in the Key Management Service Developer Guide.

" + "smithy.api#documentation": "

Specifies the encryption context that will be used to encrypt the data.\n An encryption context is valid only for cryptographic operations with a symmetric encryption KMS key. The standard asymmetric encryption algorithms and HMAC algorithms that KMS uses do not support an encryption context.

\n

An encryption context is a collection of non-secret key-value pairs that represent additional authenticated data. \nWhen you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is supported\nonly on operations with symmetric encryption KMS keys. On operations with symmetric encryption KMS keys, an encryption context is optional, but it is strongly recommended.

\n

For more information, see\nEncryption context in the Key Management Service Developer Guide.

" } }, "GrantTokens": { @@ -1726,7 +1956,7 @@ "EncryptionAlgorithm": { "target": "com.amazonaws.kms#EncryptionAlgorithmSpec", "traits": { - "smithy.api#documentation": "

Specifies the encryption algorithm that KMS will use to encrypt the plaintext message.\n The algorithm must be compatible with the KMS key that you specify.

\n

This parameter is required only for asymmetric KMS keys. The default value,\n SYMMETRIC_DEFAULT, is the algorithm used for symmetric encryption KMS keys. If you are\n using an asymmetric KMS key, we recommend RSAES_OAEP_SHA_256.

" + "smithy.api#documentation": "

Specifies the encryption algorithm that KMS will use to encrypt the plaintext message.\n The algorithm must be compatible with the KMS key that you specify.

\n

This parameter is required only for asymmetric KMS keys. The default value,\n SYMMETRIC_DEFAULT, is the algorithm used for symmetric encryption KMS keys. If you are\n using an asymmetric KMS key, we recommend RSAES_OAEP_SHA_256.

\n

The SM2PKE algorithm is only available in China Regions.

" } } } @@ -1755,26 +1985,32 @@ } }, "com.amazonaws.kms#EncryptionAlgorithmSpec": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "SYMMETRIC_DEFAULT", - "name": "SYMMETRIC_DEFAULT" - }, - { - "value": "RSAES_OAEP_SHA_1", - "name": "RSAES_OAEP_SHA_1" - }, - { - "value": "RSAES_OAEP_SHA_256", - "name": "RSAES_OAEP_SHA_256" - }, - { - "value": "SM2PKE", - "name": "SM2PKE" + "type": "enum", + "members": { + "SYMMETRIC_DEFAULT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SYMMETRIC_DEFAULT" + } + }, + "RSAES_OAEP_SHA_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RSAES_OAEP_SHA_1" + } + }, + "RSAES_OAEP_SHA_256": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RSAES_OAEP_SHA_256" } - ] + }, + "SM2PKE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SM2PKE" + } + } } }, "com.amazonaws.kms#EncryptionAlgorithmSpecList": { @@ -1802,18 +2038,20 @@ "type": "string" }, "com.amazonaws.kms#ExpirationModelType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "KEY_MATERIAL_EXPIRES", - "name": "KEY_MATERIAL_EXPIRES" - }, - { - "value": "KEY_MATERIAL_DOES_NOT_EXPIRE", - "name": "KEY_MATERIAL_DOES_NOT_EXPIRE" + "type": "enum", + "members": { + "KEY_MATERIAL_EXPIRES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "KEY_MATERIAL_EXPIRES" + } + }, + "KEY_MATERIAL_DOES_NOT_EXPIRE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "KEY_MATERIAL_DOES_NOT_EXPIRE" } - ] + } } }, "com.amazonaws.kms#ExpiredImportTokenException": { @@ -1868,7 +2106,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a unique symmetric data key for use outside of KMS. This operation returns a\n plaintext copy of the data key and a copy that is encrypted under a symmetric encryption KMS\n key that you specify. The bytes in the plaintext key are random; they are not related \n to the caller or the KMS key. You can use the plaintext key to encrypt your data outside of KMS \n and store the encrypted data key with the encrypted data.

\n\n

To generate a data key, specify the symmetric encryption KMS key that will be used to\n encrypt the data key. You cannot use an asymmetric KMS key to encrypt data keys. To get the\n type of your KMS key, use the DescribeKey operation.

\n \n

You must also specify the length of the data key. Use either the KeySpec or \n NumberOfBytes parameters (but not both). For 128-bit and 256-bit data keys, use \n the KeySpec parameter.

\n \n

To generate an SM4 data key (China Regions only), specify a KeySpec value of\n AES_128 or NumberOfBytes value of 128. The symmetric \n encryption key used in China Regions to encrypt your data key is an SM4 encryption key.

\n\n

To get only an encrypted copy of the data key, use GenerateDataKeyWithoutPlaintext. To generate an asymmetric data key pair, use\n the GenerateDataKeyPair or GenerateDataKeyPairWithoutPlaintext operation. To get a cryptographically secure\n random byte string, use GenerateRandom.

\n\n

You can use an optional encryption context to add additional security to the encryption\n operation. If you specify an EncryptionContext, you must specify the same\n encryption context (a case-sensitive exact match) when decrypting the encrypted data key.\n Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the\n Key Management Service Developer Guide.

\n

Applications in Amazon Web Services Nitro Enclaves can call this operation by using the Amazon Web Services Nitro Enclaves Development Kit. For information about the supporting parameters, see How Amazon Web Services Nitro Enclaves use KMS in the Key Management Service Developer Guide.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n How to use your data\n key\n

\n

We recommend that you use the following pattern to encrypt data locally in your\n application. You can write your own code or use a client-side encryption library, such as the\n Amazon Web Services Encryption SDK, the\n Amazon DynamoDB Encryption Client,\n or Amazon S3\n client-side encryption to do these tasks for you.

\n

To encrypt data outside of KMS:

\n
    \n
  1. \n

    Use the GenerateDataKey operation to get a data key.

    \n
  2. \n
  3. \n

    Use the plaintext data key (in the Plaintext field of the response) to\n encrypt your data outside of KMS. Then erase the plaintext data key from memory.

    \n
  4. \n
  5. \n

    Store the encrypted data key (in the CiphertextBlob field of the\n response) with the encrypted data.

    \n
  6. \n
\n

To decrypt data outside of KMS:

\n
    \n
  1. \n

    Use the Decrypt operation to decrypt the encrypted data key. The\n operation returns a plaintext copy of the data key.

    \n
  2. \n
  3. \n

    Use the plaintext data key to decrypt data outside of KMS, then erase the plaintext\n data key from memory.

    \n
  4. \n
\n

\n Cross-account use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:GenerateDataKey (key policy)

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Returns a unique symmetric data key for use outside of KMS. This operation returns a\n plaintext copy of the data key and a copy that is encrypted under a symmetric encryption KMS\n key that you specify. The bytes in the plaintext key are random; they are not related \n to the caller or the KMS key. You can use the plaintext key to encrypt your data outside of KMS \n and store the encrypted data key with the encrypted data.

\n\n

To generate a data key, specify the symmetric encryption KMS key that will be used to\n encrypt the data key. You cannot use an asymmetric KMS key to encrypt data keys. To get the\n type of your KMS key, use the DescribeKey operation.

\n \n

You must also specify the length of the data key. Use either the KeySpec or \n NumberOfBytes parameters (but not both). For 128-bit and 256-bit data keys, use \n the KeySpec parameter.

\n \n

To generate an SM4 data key (China Regions only), specify a KeySpec value of\n AES_128 or NumberOfBytes value of 128. The symmetric \n encryption key used in China Regions to encrypt your data key is an SM4 encryption key.

\n\n

To get only an encrypted copy of the data key, use GenerateDataKeyWithoutPlaintext. To generate an asymmetric data key pair, use\n the GenerateDataKeyPair or GenerateDataKeyPairWithoutPlaintext operation. To get a cryptographically secure\n random byte string, use GenerateRandom.

\n\n

You can use an optional encryption context to add additional security to the encryption\n operation. If you specify an EncryptionContext, you must specify the same\n encryption context (a case-sensitive exact match) when decrypting the encrypted data key.\n Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the\n Key Management Service Developer Guide.

\n

Applications in Amazon Web Services Nitro Enclaves can call this operation by using the Amazon Web Services Nitro Enclaves Development Kit. For information about the supporting parameters, see How Amazon Web Services Nitro Enclaves use KMS in the Key Management Service Developer Guide.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n How to use your data key\n

\n

We recommend that you use the following pattern to encrypt data locally in your\n application. You can write your own code or use a client-side encryption library, such as the\n Amazon Web Services Encryption SDK, the\n Amazon DynamoDB Encryption Client,\n or Amazon S3\n client-side encryption to do these tasks for you.

\n

To encrypt data outside of KMS:

\n
    \n
  1. \n

    Use the GenerateDataKey operation to get a data key.

    \n
  2. \n
  3. \n

    Use the plaintext data key (in the Plaintext field of the response) to\n encrypt your data outside of KMS. Then erase the plaintext data key from memory.

    \n
  4. \n
  5. \n

    Store the encrypted data key (in the CiphertextBlob field of the\n response) with the encrypted data.

    \n
  6. \n
\n

To decrypt data outside of KMS:

\n
    \n
  1. \n

    Use the Decrypt operation to decrypt the encrypted data key. The\n operation returns a plaintext copy of the data key.

    \n
  2. \n
  3. \n

    Use the plaintext data key to decrypt data outside of KMS, then erase the plaintext\n data key from memory.

    \n
  4. \n
\n

\n Cross-account use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:GenerateDataKey (key policy)

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#GenerateDataKeyPair": { @@ -1909,7 +2147,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a unique asymmetric data key pair for use outside of KMS. This operation returns\n a plaintext public key, a plaintext private key, and a copy of the private key that is\n encrypted under the symmetric encryption KMS key you specify. You can use the data key pair to\n perform asymmetric cryptography and implement digital signatures outside of KMS. The bytes\n in the keys are random; they not related to the caller or to the KMS key that is used to encrypt the\n private key.

\n\n

You can use the public key that GenerateDataKeyPair returns to encrypt data\n or verify a signature outside of KMS. Then, store the encrypted private key with the data.\n When you are ready to decrypt data or sign a message, you can use the Decrypt operation to decrypt the encrypted private key.

\n\n

To generate a data key pair, you must specify a symmetric encryption KMS key to encrypt\n the private key in a data key pair. You cannot use an asymmetric KMS key or a KMS key in a\n custom key store. To get the type and origin of your KMS key, use the DescribeKey\n operation.

\n

Use the KeyPairSpec parameter to choose an RSA or Elliptic Curve (ECC) data\n key pair. In China Regions, you can also choose an SM2 data key pair. KMS recommends that you use\n ECC key pairs for signing, and use RSA and SM2 key pairs for either encryption or signing, but not both.\n However, KMS cannot enforce any restrictions on the use of data key pairs outside of KMS.

\n\n

If you are using the data key pair to encrypt data, or for any operation where you don't\n immediately need a private key, consider using the GenerateDataKeyPairWithoutPlaintext operation.\n GenerateDataKeyPairWithoutPlaintext returns a plaintext public key and an\n encrypted private key, but omits the plaintext private key that you need only to decrypt\n ciphertext or sign a message. Later, when you need to decrypt the data or sign a message, use\n the Decrypt operation to decrypt the encrypted private key in the data key\n pair.

\n\n

\n GenerateDataKeyPair returns a unique data key pair for each request. The\n bytes in the keys are random; they are not related to the caller or the KMS key that is used to encrypt the\n private key. The public key is a DER-encoded X.509 SubjectPublicKeyInfo, as specified in\n RFC 5280. The private key is a\n DER-encoded PKCS8 PrivateKeyInfo, as specified in RFC 5958.

\n\n

You can use an optional encryption context to add additional security to the encryption\n operation. If you specify an EncryptionContext, you must specify the same\n encryption context (a case-sensitive exact match) when decrypting the encrypted data key.\n Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the\n Key Management Service Developer Guide.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account\n use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:GenerateDataKeyPair (key policy)

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Returns a unique asymmetric data key pair for use outside of KMS. This operation returns\n a plaintext public key, a plaintext private key, and a copy of the private key that is\n encrypted under the symmetric encryption KMS key you specify. You can use the data key pair to\n perform asymmetric cryptography and implement digital signatures outside of KMS. The bytes\n in the keys are random; they not related to the caller or to the KMS key that is used to\n encrypt the private key.

\n\n

You can use the public key that GenerateDataKeyPair returns to encrypt data\n or verify a signature outside of KMS. Then, store the encrypted private key with the data.\n When you are ready to decrypt data or sign a message, you can use the Decrypt operation to decrypt the encrypted private key.

\n\n

To generate a data key pair, you must specify a symmetric encryption KMS key to encrypt\n the private key in a data key pair. You cannot use an asymmetric KMS key or a KMS key in a\n custom key store. To get the type and origin of your KMS key, use the DescribeKey operation.

\n

Use the KeyPairSpec parameter to choose an RSA or Elliptic Curve (ECC) data\n key pair. In China Regions, you can also choose an SM2 data key pair. KMS recommends that you use\n ECC key pairs for signing, and use RSA and SM2 key pairs for either encryption or signing, but not both.\n However, KMS cannot enforce any restrictions on the use of data key pairs outside of KMS.

\n\n

If you are using the data key pair to encrypt data, or for any operation where you don't\n immediately need a private key, consider using the GenerateDataKeyPairWithoutPlaintext operation.\n GenerateDataKeyPairWithoutPlaintext returns a plaintext public key and an\n encrypted private key, but omits the plaintext private key that you need only to decrypt\n ciphertext or sign a message. Later, when you need to decrypt the data or sign a message, use\n the Decrypt operation to decrypt the encrypted private key in the data key\n pair.

\n\n

\n GenerateDataKeyPair returns a unique data key pair for each request. The\n bytes in the keys are random; they are not related to the caller or the KMS key that is used\n to encrypt the private key. The public key is a DER-encoded X.509 SubjectPublicKeyInfo, as\n specified in RFC 5280. The private\n key is a DER-encoded PKCS8 PrivateKeyInfo, as specified in RFC 5958.

\n\n

You can use an optional encryption context to add additional security to the encryption\n operation. If you specify an EncryptionContext, you must specify the same\n encryption context (a case-sensitive exact match) when decrypting the encrypted data key.\n Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the\n Key Management Service Developer Guide.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:GenerateDataKeyPair (key policy)

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#GenerateDataKeyPairRequest": { @@ -1918,7 +2156,7 @@ "EncryptionContext": { "target": "com.amazonaws.kms#EncryptionContextType", "traits": { - "smithy.api#documentation": "

Specifies the encryption context that will be used when encrypting the private key in the\n data key pair.

\n

An encryption context is a collection of non-secret key-value pairs that represent additional authenticated data. \nWhen you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is supported\nonly on operations with symmetric encryption KMS keys. On operations with symmetric encryption KMS keys, an encryption context is optional, but it is strongly recommended.

\n

For more information, see\nEncryption context in the Key Management Service Developer Guide.

" + "smithy.api#documentation": "

Specifies the encryption context that will be used when encrypting the private key in the\n data key pair.

\n

An encryption context is a collection of non-secret key-value pairs that represent additional authenticated data. \nWhen you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is supported\nonly on operations with symmetric encryption KMS keys. On operations with symmetric encryption KMS keys, an encryption context is optional, but it is strongly recommended.

\n

For more information, see\nEncryption context in the Key Management Service Developer Guide.

" } }, "KeyId": { @@ -1931,7 +2169,7 @@ "KeyPairSpec": { "target": "com.amazonaws.kms#DataKeyPairSpec", "traits": { - "smithy.api#documentation": "

Determines the type of data key pair that is generated.

\n

The KMS rule that restricts the use of asymmetric RSA and SM2 KMS keys to encrypt and decrypt or to sign and verify (but not both), and the rule that permits you to use ECC KMS keys only to sign and verify, are not effective on data key pairs, which are used outside of KMS. The SM2 key spec is only available in China Regions. RSA and ECC asymmetric key pairs are also available in China Regions.

", + "smithy.api#documentation": "

Determines the type of data key pair that is generated.

\n

The KMS rule that restricts the use of asymmetric RSA and SM2 KMS keys to encrypt and decrypt or to sign and verify (but not both), and the rule that permits you to use ECC KMS keys only to sign and verify, are not effective on data key pairs, which are used outside of KMS. The SM2 key spec is only available in China Regions.

", "smithy.api#required": {} } }, @@ -2016,7 +2254,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a unique asymmetric data key pair for use outside of KMS. This operation returns\n a plaintext public key and a copy of the private key that is encrypted under the symmetric\n encryption KMS key you specify. Unlike GenerateDataKeyPair, this operation\n does not return a plaintext private key. The bytes in the keys are random; they are not related to the caller\n or to the KMS key that is used to encrypt the private key.

\n

You can use the public key that GenerateDataKeyPairWithoutPlaintext returns\n to encrypt data or verify a signature outside of KMS. Then, store the encrypted private key\n with the data. When you are ready to decrypt data or sign a message, you can use the Decrypt operation to decrypt the encrypted private key.

\n

To generate a data key pair, you must specify a symmetric encryption KMS key to encrypt\n the private key in a data key pair. You cannot use an asymmetric KMS key or a KMS key in a\n custom key store. To get the type and origin of your KMS key, use the DescribeKey\n operation.

\n

Use the KeyPairSpec parameter to choose an RSA or Elliptic Curve (ECC) data\n key pair. In China Regions, you can also choose an SM2 data key pair. KMS recommends that you \n use ECC key pairs for signing, and use RSA and SM2 key pairs for either encryption or signing, but not\n both. However, KMS cannot enforce any restrictions on the use of data key pairs outside of KMS.

\n

\n GenerateDataKeyPairWithoutPlaintext returns a unique data key pair for each\n request. The bytes in the key are not related to the caller or KMS key that is used to encrypt\n the private key. The public key is a DER-encoded X.509 SubjectPublicKeyInfo, as specified in\n RFC 5280.

\n\n

You can use an optional encryption context to add additional security to the encryption\n operation. If you specify an EncryptionContext, you must specify the same\n encryption context (a case-sensitive exact match) when decrypting the encrypted data key.\n Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the\n Key Management Service Developer Guide.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account\n use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:GenerateDataKeyPairWithoutPlaintext (key\n policy)

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Returns a unique asymmetric data key pair for use outside of KMS. This operation returns\n a plaintext public key and a copy of the private key that is encrypted under the symmetric\n encryption KMS key you specify. Unlike GenerateDataKeyPair, this operation\n does not return a plaintext private key. The bytes in the keys are random; they are not\n related to the caller or to the KMS key that is used to encrypt the private key.

\n

You can use the public key that GenerateDataKeyPairWithoutPlaintext returns\n to encrypt data or verify a signature outside of KMS. Then, store the encrypted private key\n with the data. When you are ready to decrypt data or sign a message, you can use the Decrypt operation to decrypt the encrypted private key.

\n

To generate a data key pair, you must specify a symmetric encryption KMS key to encrypt\n the private key in a data key pair. You cannot use an asymmetric KMS key or a KMS key in a\n custom key store. To get the type and origin of your KMS key, use the DescribeKey operation.

\n

Use the KeyPairSpec parameter to choose an RSA or Elliptic Curve (ECC) data\n key pair. In China Regions, you can also choose an SM2 data key pair. KMS recommends that you \n use ECC key pairs for signing, and use RSA and SM2 key pairs for either encryption or signing, but not\n both. However, KMS cannot enforce any restrictions on the use of data key pairs outside of KMS.

\n

\n GenerateDataKeyPairWithoutPlaintext returns a unique data key pair for each\n request. The bytes in the key are not related to the caller or KMS key that is used to encrypt\n the private key. The public key is a DER-encoded X.509 SubjectPublicKeyInfo, as specified in\n RFC 5280.

\n\n

You can use an optional encryption context to add additional security to the encryption\n operation. If you specify an EncryptionContext, you must specify the same\n encryption context (a case-sensitive exact match) when decrypting the encrypted data key.\n Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the\n Key Management Service Developer Guide.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:GenerateDataKeyPairWithoutPlaintext (key\n policy)

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#GenerateDataKeyPairWithoutPlaintextRequest": { @@ -2025,20 +2263,20 @@ "EncryptionContext": { "target": "com.amazonaws.kms#EncryptionContextType", "traits": { - "smithy.api#documentation": "

Specifies the encryption context that will be used when encrypting the private key in the\n data key pair.

\n

An encryption context is a collection of non-secret key-value pairs that represent additional authenticated data. \nWhen you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is supported\nonly on operations with symmetric encryption KMS keys. On operations with symmetric encryption KMS keys, an encryption context is optional, but it is strongly recommended.

\n

For more information, see\nEncryption context in the Key Management Service Developer Guide.

" + "smithy.api#documentation": "

Specifies the encryption context that will be used when encrypting the private key in the\n data key pair.

\n

An encryption context is a collection of non-secret key-value pairs that represent additional authenticated data. \nWhen you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is supported\nonly on operations with symmetric encryption KMS keys. On operations with symmetric encryption KMS keys, an encryption context is optional, but it is strongly recommended.

\n

For more information, see\nEncryption context in the Key Management Service Developer Guide.

" } }, "KeyId": { "target": "com.amazonaws.kms#KeyIdType", "traits": { - "smithy.api#documentation": "

Specifies the symmetric encryption KMS key that encrypts the private key in the data key\n pair. You cannot specify an asymmetric KMS key or a KMS key in a custom key store. To get the\n type and origin of your KMS key, use the DescribeKey operation.\n

\n

To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Alias name: alias/ExampleAlias\n

    \n
  • \n
  • \n

    Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

", + "smithy.api#documentation": "

Specifies the symmetric encryption KMS key that encrypts the private key in the data key\n pair. You cannot specify an asymmetric KMS key or a KMS key in a custom key store. To get the\n type and origin of your KMS key, use the DescribeKey operation.

\n \n

To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Alias name: alias/ExampleAlias\n

    \n
  • \n
  • \n

    Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

", "smithy.api#required": {} } }, "KeyPairSpec": { "target": "com.amazonaws.kms#DataKeyPairSpec", "traits": { - "smithy.api#documentation": "

Determines the type of data key pair that is generated.

\n

The KMS rule that restricts the use of asymmetric RSA and SM2 KMS keys to encrypt and decrypt or to sign and verify (but not both), and the rule that permits you to use ECC KMS keys only to sign and verify, are not effective on data key pairs, which are used outside of KMS. The SM2 key spec is only available in China Regions. RSA and ECC asymmetric key pairs are also available in China Regions.

", + "smithy.api#documentation": "

Determines the type of data key pair that is generated.

\n

The KMS rule that restricts the use of asymmetric RSA and SM2 KMS keys to encrypt and decrypt or to sign and verify (but not both), and the rule that permits you to use ECC KMS keys only to sign and verify, are not effective on data key pairs, which are used outside of KMS. The SM2 key spec is only available in China Regions.

", "smithy.api#required": {} } }, @@ -2173,7 +2411,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a unique symmetric data key for use outside of KMS. This operation returns a\n data key that is encrypted under a symmetric encryption KMS key that you specify. The bytes in\n the key are random; they are not related to the caller or to the KMS key.

\n

\n GenerateDataKeyWithoutPlaintext is identical to the GenerateDataKey operation except that it does not return a plaintext copy of the\n data key.

\n

This operation is useful for systems that need to encrypt data at some point, but not\n immediately. When you need to encrypt the data, you call the Decrypt\n operation on the encrypted copy of the key.

\n

It's also useful in distributed systems with different levels of trust. For example, you\n might store encrypted data in containers. One component of your system creates new containers\n and stores an encrypted data key with each container. Then, a different component puts the\n data into the containers. That component first decrypts the data key, uses the plaintext data\n key to encrypt data, puts the encrypted data into the container, and then destroys the\n plaintext data key. In this system, the component that creates the containers never sees the\n plaintext data key.

\n

To request an asymmetric data key pair, use the GenerateDataKeyPair or\n GenerateDataKeyPairWithoutPlaintext operations.

\n\n

To generate a data key, you must specify the symmetric encryption KMS key that is used to\n encrypt the data key. You cannot use an asymmetric KMS key or a key in a custom key store to generate a data key. To get the\n type of your KMS key, use the DescribeKey operation.

\n\n

If the operation succeeds, you will find the encrypted copy of the data key in the\n CiphertextBlob field.

\n\n

You can use an optional encryption context to add additional security to the encryption\n operation. If you specify an EncryptionContext, you must specify the same\n encryption context (a case-sensitive exact match) when decrypting the encrypted data key.\n Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the\n Key Management Service Developer Guide.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account\n use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:GenerateDataKeyWithoutPlaintext (key\n policy)

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Returns a unique symmetric data key for use outside of KMS. This operation returns a\n data key that is encrypted under a symmetric encryption KMS key that you specify. The bytes in\n the key are random; they are not related to the caller or to the KMS key.

\n

\n GenerateDataKeyWithoutPlaintext is identical to the GenerateDataKey operation except that it does not return a plaintext copy of the\n data key.

\n

This operation is useful for systems that need to encrypt data at some point, but not\n immediately. When you need to encrypt the data, you call the Decrypt\n operation on the encrypted copy of the key.

\n

It's also useful in distributed systems with different levels of trust. For example, you\n might store encrypted data in containers. One component of your system creates new containers\n and stores an encrypted data key with each container. Then, a different component puts the\n data into the containers. That component first decrypts the data key, uses the plaintext data\n key to encrypt data, puts the encrypted data into the container, and then destroys the\n plaintext data key. In this system, the component that creates the containers never sees the\n plaintext data key.

\n

To request an asymmetric data key pair, use the GenerateDataKeyPair or\n GenerateDataKeyPairWithoutPlaintext operations.

\n\n

To generate a data key, you must specify the symmetric encryption KMS key that is used to\n encrypt the data key. You cannot use an asymmetric KMS key or a key in a custom key store to generate a data key. To get the\n type of your KMS key, use the DescribeKey operation.

\n \n

You must also specify the length of the data key. Use either the KeySpec or \n NumberOfBytes parameters (but not both). For 128-bit and 256-bit data keys, use \n the KeySpec parameter.

\n \n

To generate an SM4 data key (China Regions only), specify a KeySpec value of\n AES_128 or NumberOfBytes value of 128. The symmetric \n encryption key used in China Regions to encrypt your data key is an SM4 encryption key.

\n\n

If the operation succeeds, you will find the encrypted copy of the data key in the\n CiphertextBlob field.

\n\n

You can use an optional encryption context to add additional security to the encryption\n operation. If you specify an EncryptionContext, you must specify the same\n encryption context (a case-sensitive exact match) when decrypting the encrypted data key.\n Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the\n Key Management Service Developer Guide.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:GenerateDataKeyWithoutPlaintext (key\n policy)

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#GenerateDataKeyWithoutPlaintextRequest": { @@ -2261,7 +2499,7 @@ } ], "traits": { - "smithy.api#documentation": "

Generates a hash-based message authentication code (HMAC) for a message using an HMAC KMS\n key and a MAC algorithm that the key supports. The MAC algorithm computes the HMAC for the\n message and the key as described in RFC 2104.

\n

You can use the HMAC that this operation generates with the VerifyMac\n operation to demonstrate that the original message has not changed. Also, because a secret key\n is used to create the hash, you can verify that the party that generated the hash has the\n required secret key. This operation is part of KMS support for HMAC KMS keys.\n For details, see HMAC keys in KMS in the \n Key Management Service Developer Guide\n .

\n \n

Best practices recommend that you limit the time during which any signing mechanism,\n including an HMAC, is effective. This deters an attack where the actor uses a signed\n message to establish validity repeatedly or long after the message is superseded. HMAC\n tags do not include a timestamp, but you can include a timestamp in the token or message\n to help you detect when its time to refresh the HMAC.

\n
\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account\n use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n

\n Required permissions: kms:GenerateMac (key policy)

\n

\n Related operations: VerifyMac\n

" + "smithy.api#documentation": "

Generates a hash-based message authentication code (HMAC) for a message using an HMAC KMS key and a MAC algorithm that the key supports.\n HMAC KMS keys and the HMAC algorithms that KMS uses conform to industry standards defined in RFC 2104.

\n

You can use value that GenerateMac returns in the VerifyMac operation to\n demonstrate that the original message has not changed. Also, because a secret key is used to\n create the hash, you can verify that the party that generated the hash has the required secret\n key. You can also use the raw result to implement HMAC-based algorithms such as key derivation\n functions. This operation is part of KMS support for HMAC KMS keys. For\n details, see HMAC keys in\n KMS in the \n Key Management Service Developer Guide\n .

\n \n

Best practices recommend that you limit the time during which any signing mechanism,\n including an HMAC, is effective. This deters an attack where the actor uses a signed message\n to establish validity repeatedly or long after the message is superseded. HMAC tags do not\n include a timestamp, but you can include a timestamp in the token or message to help you\n detect when its time to refresh the HMAC.

\n
\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n

\n Required permissions: kms:GenerateMac (key policy)

\n

\n Related operations: VerifyMac\n

" } }, "com.amazonaws.kms#GenerateMacRequest": { @@ -2277,7 +2515,7 @@ "KeyId": { "target": "com.amazonaws.kms#KeyIdType", "traits": { - "smithy.api#documentation": "

The HMAC KMS key to use in the operation. The MAC algorithm computes the HMAC for the message and the key as described in RFC 2104.

\n

To identify an HMAC KMS key, use the DescribeKey operation and see the\n KeySpec field in the response.

", + "smithy.api#documentation": "

The HMAC KMS key to use in the operation. The MAC algorithm computes the HMAC for the\n message and the key as described in RFC 2104.

\n

To identify an HMAC KMS key, use the DescribeKey operation and see the\n KeySpec field in the response.

", "smithy.api#required": {} } }, @@ -2302,7 +2540,7 @@ "Mac": { "target": "com.amazonaws.kms#CiphertextType", "traits": { - "smithy.api#documentation": "

The hash-based message authentication code (HMAC) for the given message, key, and MAC\n algorithm.

" + "smithy.api#documentation": "

The hash-based message authentication code (HMAC) that was generated for the\n specified message, HMAC KMS key, and MAC algorithm.

\n

This is the standard, raw HMAC defined in RFC 2104.

" } }, "MacAlgorithm": { @@ -2339,10 +2577,13 @@ }, { "target": "com.amazonaws.kms#KMSInternalException" + }, + { + "target": "com.amazonaws.kms#UnsupportedOperationException" } ], "traits": { - "smithy.api#documentation": "

Returns a random byte string that is cryptographically secure.

\n

You must use the NumberOfBytes parameter to specify the length of the random\n byte string. There is no default value for string length.

\n

By default, the random byte string is generated in KMS. To generate the byte string in\n the CloudHSM cluster that is associated with a custom key store, specify the custom key store\n ID.

\n

Applications in Amazon Web Services Nitro Enclaves can call this operation by using the Amazon Web Services Nitro Enclaves Development Kit. For information about the supporting parameters, see How Amazon Web Services Nitro Enclaves use KMS in the Key Management Service Developer Guide.

\n

For more information about entropy and random number generation, see\n Key Management Service Cryptographic Details.

\n

\n Cross-account use: Not applicable. GenerateRandom does not use any account-specific resources, such as KMS keys.

\n

\n Required permissions: kms:GenerateRandom (IAM policy)

" + "smithy.api#documentation": "

Returns a random byte string that is cryptographically secure.

\n

You must use the NumberOfBytes parameter to specify the length of the random\n byte string. There is no default value for string length.

\n

By default, the random byte string is generated in KMS. To generate the byte string in\n the CloudHSM cluster associated with an CloudHSM key store, use the CustomKeyStoreId\n parameter.

\n

Applications in Amazon Web Services Nitro Enclaves can call this operation by using the Amazon Web Services Nitro Enclaves Development Kit. For information about the supporting parameters, see How Amazon Web Services Nitro Enclaves use KMS in the Key Management Service Developer Guide.

\n

For more information about entropy and random number generation, see\n Key Management Service Cryptographic Details.

\n\n

\n Cross-account use: Not applicable.\n GenerateRandom does not use any account-specific resources, such as KMS\n keys.

\n

\n Required permissions: kms:GenerateRandom (IAM policy)

" } }, "com.amazonaws.kms#GenerateRandomRequest": { @@ -2357,7 +2598,7 @@ "CustomKeyStoreId": { "target": "com.amazonaws.kms#CustomKeyStoreIdType", "traits": { - "smithy.api#documentation": "

Generates the random byte string in the CloudHSM cluster that is associated with the\n specified custom key store. To find the ID of a custom key store, use the DescribeCustomKeyStores operation.

" + "smithy.api#documentation": "

Generates the random byte string in the CloudHSM cluster that is associated with the\n specified CloudHSM key store. To find the ID of a custom key store, use the DescribeCustomKeyStores operation.

\n

External key store IDs are not valid for this parameter. If you specify the ID of an\n external key store, GenerateRandom throws an\n UnsupportedOperationException.

" } } } @@ -2408,7 +2649,7 @@ "KeyId": { "target": "com.amazonaws.kms#KeyIdType", "traits": { - "smithy.api#documentation": "

Gets the key policy for the specified KMS key.

\n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", + "smithy.api#documentation": "

Gets the key policy for the specified KMS key.

\n \n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", "smithy.api#required": {} } }, @@ -2461,7 +2702,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets a Boolean value that indicates whether automatic rotation of the key material is\n enabled for the specified KMS key.

\n

When you enable automatic rotation for customer managed KMS keys, KMS\n rotates the key material of the KMS key one year (approximately 365 days) from the enable date\n and every year thereafter. You can monitor rotation of the key material for your KMS keys in\n CloudTrail and Amazon CloudWatch.

\n

Automatic key rotation is supported only on symmetric encryption KMS keys.\n You cannot enable or disable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. The key rotation status of these KMS keys is always false.\nTo enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key..

\n

You can enable (EnableKeyRotation) and disable automatic rotation (DisableKeyRotation) of the key material in customer managed KMS keys. Key\n material rotation of Amazon Web Services managed KMS keys is not\n configurable. KMS always rotates the key material in Amazon Web Services managed KMS keys every year. The\n key rotation status for Amazon Web Services managed KMS keys is always true.

\n \n

In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every three years to every year. For details, see EnableKeyRotation.

\n
\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n
    \n
  • \n

    Disabled: The key rotation status does not change when you disable a KMS key. However,\n while the KMS key is disabled, KMS does not rotate the key material. When you re-enable\n the KMS key, rotation resumes. If the key material in the re-enabled KMS key hasn't been\n rotated in one year, KMS rotates it immediately, and every year thereafter. If it's been\n less than a year since the key material in the re-enabled KMS key was rotated, the KMS key\n resumes its prior rotation schedule.

    \n
  • \n
  • \n

    Pending deletion: While a KMS key is pending deletion, its key rotation status is\n false and KMS does not rotate the key material. If you cancel the\n deletion, the original key rotation status returns to true.

    \n
  • \n
\n

\n Cross-account use: Yes. To perform this operation on a KMS key in a different Amazon Web Services account, specify the key\n ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:GetKeyRotationStatus (key policy)

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Gets a Boolean value that indicates whether automatic rotation of the key material is\n enabled for the specified KMS key.

\n

When you enable automatic rotation for customer managed KMS keys, KMS\n rotates the key material of the KMS key one year (approximately 365 days) from the enable date\n and every year thereafter. You can monitor rotation of the key material for your KMS keys in\n CloudTrail and Amazon CloudWatch.

\n

Automatic key rotation is supported only on symmetric encryption KMS keys.\n You cannot enable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key..

\n

You can enable (EnableKeyRotation) and disable automatic rotation (DisableKeyRotation) of the key material in customer managed KMS keys. Key\n material rotation of Amazon Web Services managed KMS keys is not\n configurable. KMS always rotates the key material in Amazon Web Services managed KMS keys every year. The\n key rotation status for Amazon Web Services managed KMS keys is always true.

\n \n

In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every three\n years to every year. For details, see EnableKeyRotation.

\n
\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n
    \n
  • \n

    Disabled: The key rotation status does not change when you disable a KMS key. However,\n while the KMS key is disabled, KMS does not rotate the key material. When you re-enable\n the KMS key, rotation resumes. If the key material in the re-enabled KMS key hasn't been\n rotated in one year, KMS rotates it immediately, and every year thereafter. If it's been\n less than a year since the key material in the re-enabled KMS key was rotated, the KMS key\n resumes its prior rotation schedule.

    \n
  • \n
  • \n

    Pending deletion: While a KMS key is pending deletion, its key rotation status is\n false and KMS does not rotate the key material. If you cancel the\n deletion, the original key rotation status returns to true.

    \n
  • \n
\n

\n Cross-account use: Yes. To perform this operation on a KMS key in a different Amazon Web Services account, specify the key\n ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:GetKeyRotationStatus (key policy)

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#GetKeyRotationStatusRequest": { @@ -2517,7 +2758,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns the items you need to import key material into a symmetric encryption KMS key. For\n more information about importing key material into KMS, see Importing key material\n in the Key Management Service Developer Guide.

\n

This operation returns a public key and an import token. Use the public key to encrypt the\n symmetric key material. Store the import token to send with a subsequent ImportKeyMaterial request.

\n

You must specify the key ID of the symmetric encryption KMS key into which you will import\n key material. This KMS key's Origin must be EXTERNAL. You must also\n specify the wrapping algorithm and type of wrapping key (public key) that you will use to\n encrypt the key material. You cannot perform this operation on an asymmetric KMS key, an HMAC KMS key, or on any KMS key in a different Amazon Web Services account.

\n

To import key material, you must use the public key and import token from the same\n response. These items are valid for 24 hours. The expiration date and time appear in the\n GetParametersForImport response. You cannot use an expired token in an ImportKeyMaterial request. If your key and token expire, send another\n GetParametersForImport request.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:GetParametersForImport (key policy)

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Returns the items you need to import key material into a symmetric encryption KMS key. For\n more information about importing key material into KMS, see Importing key material in the\n Key Management Service Developer Guide.

\n

This operation returns a public key and an import token. Use the public key to encrypt the\n symmetric key material. Store the import token to send with a subsequent ImportKeyMaterial request.

\n

You must specify the key ID of the symmetric encryption KMS key into which you will import\n key material. The KMS key Origin must be EXTERNAL. You must also\n specify the wrapping algorithm and type of wrapping key (public key) that you will use to\n encrypt the key material. You cannot perform this operation on an asymmetric KMS key, an HMAC KMS key, or on any KMS key in a different Amazon Web Services account.

\n

To import key material, you must use the public key and import token from the same\n response. These items are valid for 24 hours. The expiration date and time appear in the\n GetParametersForImport response. You cannot use an expired token in an ImportKeyMaterial request. If your key and token expire, send another\n GetParametersForImport request.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:GetParametersForImport (key policy)

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#GetParametersForImportRequest": { @@ -2526,7 +2767,7 @@ "KeyId": { "target": "com.amazonaws.kms#KeyIdType", "traits": { - "smithy.api#documentation": "

The identifier of the symmetric encryption KMS key into which you will import key material. The\n Origin of the KMS key must be EXTERNAL.

\n \n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", + "smithy.api#documentation": "

The identifier of the symmetric encryption KMS key into which you will import key\n material. The Origin of the KMS key must be EXTERNAL.

\n \n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", "smithy.api#required": {} } }, @@ -2616,7 +2857,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns the public key of an asymmetric KMS key. Unlike the private key of a asymmetric\n KMS key, which never leaves KMS unencrypted, callers with kms:GetPublicKey\n permission can download the public key of an asymmetric KMS key. You can share the public key\n to allow others to encrypt messages and verify signatures outside of KMS.\n For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

\n

You do not need to download the public key. Instead, you can use the public key within\n KMS by calling the Encrypt, ReEncrypt, or Verify operations with the identifier of an asymmetric KMS key. When you use the\n public key within KMS, you benefit from the authentication, authorization, and logging that\n are part of every KMS operation. You also reduce of risk of encrypting data that cannot be\n decrypted. These features are not effective outside of KMS.

\n

To verify a signature outside of KMS with an SM2 public key (China Regions only), you must \n specify the distinguishing ID. By default, KMS uses 1234567812345678 as the \n distinguishing ID. For more information, see Offline verification\n with SM2 key pairs.

\n

To help you use the public key safely outside of KMS, GetPublicKey returns\n important information about the public key in the response, including:

\n
    \n
  • \n

    \n KeySpec: The type of key material in the public key, such as\n RSA_4096 or ECC_NIST_P521.

    \n
  • \n
  • \n

    \n KeyUsage: Whether the key is used for encryption or signing.

    \n
  • \n
  • \n

    \n EncryptionAlgorithms or SigningAlgorithms: A list of the encryption algorithms or the signing\n algorithms for the key.

    \n
  • \n
\n

Although KMS cannot enforce these restrictions on external operations, it is crucial\n that you use this information to prevent the public key from being used improperly. For\n example, you can prevent a public signing key from being used encrypt data, or prevent a\n public key from being used with an encryption algorithm that is not supported by KMS. You\n can also avoid errors, such as using the wrong signing algorithm in a verification\n operation.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use:\n Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:GetPublicKey (key policy)

\n

\n Related operations: CreateKey\n

" + "smithy.api#documentation": "

Returns the public key of an asymmetric KMS key. Unlike the private key of a asymmetric\n KMS key, which never leaves KMS unencrypted, callers with kms:GetPublicKey\n permission can download the public key of an asymmetric KMS key. You can share the public key\n to allow others to encrypt messages and verify signatures outside of KMS.\n For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

\n

You do not need to download the public key. Instead, you can use the public key within\n KMS by calling the Encrypt, ReEncrypt, or Verify operations with the identifier of an asymmetric KMS key. When you use the\n public key within KMS, you benefit from the authentication, authorization, and logging that\n are part of every KMS operation. You also reduce of risk of encrypting data that cannot be\n decrypted. These features are not effective outside of KMS.

\n \n

To help you use the public key safely outside of KMS, GetPublicKey returns\n important information about the public key in the response, including:

\n
    \n
  • \n

    \n KeySpec: The type of key material in the public key, such as\n RSA_4096 or ECC_NIST_P521.

    \n
  • \n
  • \n

    \n KeyUsage: Whether the key is used for encryption or signing.

    \n
  • \n
  • \n

    \n EncryptionAlgorithms or SigningAlgorithms: A list of the encryption algorithms or the signing\n algorithms for the key.

    \n
  • \n
\n

Although KMS cannot enforce these restrictions on external operations, it is crucial\n that you use this information to prevent the public key from being used improperly. For\n example, you can prevent a public signing key from being used encrypt data, or prevent a\n public key from being used with an encryption algorithm that is not supported by KMS. You\n can also avoid errors, such as using the wrong signing algorithm in a verification\n operation.

\n

To verify a signature outside of KMS with an SM2 public key (China Regions only), you must \n specify the distinguishing ID. By default, KMS uses 1234567812345678 as the \n distinguishing ID. For more information, see Offline verification\n with SM2 key pairs.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use:\n Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:GetPublicKey (key policy)

\n

\n Related operations: CreateKey\n

" } }, "com.amazonaws.kms#GetPublicKeyRequest": { @@ -2658,7 +2899,7 @@ "smithy.api#deprecated": { "message": "This field has been deprecated. Instead, use the KeySpec field." }, - "smithy.api#documentation": "

Instead, use the KeySpec field in the GetPublicKey\n response.

\n

The KeySpec and CustomerMasterKeySpec fields have the same\n value. We recommend that you use the KeySpec field in your code. However, to\n avoid breaking changes, KMS will support both fields.

" + "smithy.api#documentation": "

Instead, use the KeySpec field in the GetPublicKey\n response.

\n

The KeySpec and CustomerMasterKeySpec fields have the same\n value. We recommend that you use the KeySpec field in your code. However, to\n avoid breaking changes, KMS supports both fields.

" } }, "KeySpec": { @@ -2704,7 +2945,7 @@ } }, "traits": { - "smithy.api#documentation": "

Use this structure to allow cryptographic operations in the grant only when the operation request\n includes the specified encryption context.

\n

KMS applies the grant constraints only to cryptographic operations that support an\n encryption context, that is, all cryptographic operations with a symmetric encryption KMS key. Grant\n constraints are not applied to operations that do not support an encryption context, such as\n cryptographic operations with HMAC KMS keys or asymmetric KMS keys, and management operations, such as DescribeKey or RetireGrant.

\n \n

In a cryptographic operation, the encryption context in the decryption operation must be\n an exact, case-sensitive match for the keys and values in the encryption context of the\n encryption operation. Only the order of the pairs can vary.

\n

However, in a grant constraint, the key in each key-value pair is not case sensitive,\n but the value is case sensitive.

\n

To avoid confusion, do not use multiple encryption context pairs that differ only by\n case. To require a fully case-sensitive encryption context, use the\n kms:EncryptionContext: and kms:EncryptionContextKeys conditions\n in an IAM or key policy. For details, see kms:EncryptionContext: in the \n Key Management Service Developer Guide\n .

\n
" + "smithy.api#documentation": "

Use this structure to allow cryptographic operations in the grant only when the operation request\n includes the specified encryption context.

\n

KMS applies the grant constraints only to cryptographic operations that support an\n encryption context, that is, all cryptographic operations with a symmetric KMS key. Grant\n constraints are not applied to operations that do not support an encryption context, such as\n cryptographic operations with asymmetric KMS keys and management operations, such as DescribeKey or RetireGrant.

\n \n

In a cryptographic operation, the encryption context in the decryption operation must be\n an exact, case-sensitive match for the keys and values in the encryption context of the\n encryption operation. Only the order of the pairs can vary.

\n

However, in a grant constraint, the key in each key-value pair is not case sensitive,\n but the value is case sensitive.

\n

To avoid confusion, do not use multiple encryption context pairs that differ only by\n case. To require a fully case-sensitive encryption context, use the\n kms:EncryptionContext: and kms:EncryptionContextKeys conditions\n in an IAM or key policy. For details, see kms:EncryptionContext: in the \n Key Management Service Developer Guide\n .

\n
" } }, "com.amazonaws.kms#GrantIdType": { @@ -2795,74 +3036,104 @@ } }, "com.amazonaws.kms#GrantOperation": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "Decrypt", - "name": "Decrypt" - }, - { - "value": "Encrypt", - "name": "Encrypt" - }, - { - "value": "GenerateDataKey", - "name": "GenerateDataKey" - }, - { - "value": "GenerateDataKeyWithoutPlaintext", - "name": "GenerateDataKeyWithoutPlaintext" - }, - { - "value": "ReEncryptFrom", - "name": "ReEncryptFrom" - }, - { - "value": "ReEncryptTo", - "name": "ReEncryptTo" - }, - { - "value": "Sign", - "name": "Sign" - }, - { - "value": "Verify", - "name": "Verify" - }, - { - "value": "GetPublicKey", - "name": "GetPublicKey" - }, - { - "value": "CreateGrant", - "name": "CreateGrant" - }, - { - "value": "RetireGrant", - "name": "RetireGrant" - }, - { - "value": "DescribeKey", - "name": "DescribeKey" - }, - { - "value": "GenerateDataKeyPair", - "name": "GenerateDataKeyPair" - }, - { - "value": "GenerateDataKeyPairWithoutPlaintext", - "name": "GenerateDataKeyPairWithoutPlaintext" - }, - { - "value": "GenerateMac", - "name": "GenerateMac" - }, - { - "value": "VerifyMac", - "name": "VerifyMac" + "type": "enum", + "members": { + "Decrypt": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Decrypt" + } + }, + "Encrypt": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Encrypt" + } + }, + "GenerateDataKey": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GenerateDataKey" + } + }, + "GenerateDataKeyWithoutPlaintext": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GenerateDataKeyWithoutPlaintext" + } + }, + "ReEncryptFrom": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ReEncryptFrom" + } + }, + "ReEncryptTo": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ReEncryptTo" + } + }, + "Sign": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Sign" + } + }, + "Verify": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Verify" + } + }, + "GetPublicKey": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GetPublicKey" + } + }, + "CreateGrant": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CreateGrant" + } + }, + "RetireGrant": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RetireGrant" + } + }, + "DescribeKey": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DescribeKey" + } + }, + "GenerateDataKeyPair": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GenerateDataKeyPair" + } + }, + "GenerateDataKeyPairWithoutPlaintext": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GenerateDataKeyPairWithoutPlaintext" + } + }, + "GenerateMac": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GenerateMac" + } + }, + "VerifyMac": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "VerifyMac" } - ] + } } }, "com.amazonaws.kms#GrantOperationList": { @@ -2933,7 +3204,7 @@ } ], "traits": { - "smithy.api#documentation": "

Imports key material into an existing symmetric encryption KMS key that was created\n without key material. After you successfully import key material into a KMS key, you can\n reimport\n the same key material into that KMS key, but you cannot import different key\n material.

\n

You cannot perform this operation on an asymmetric KMS key, an HMAC KMS key, or on any KMS key in a different Amazon Web Services account. For more information about creating KMS keys with no key material\n and then importing key material, see Importing Key Material in the\n Key Management Service Developer Guide.

\n

Before using this operation, call GetParametersForImport. Its response\n includes a public key and an import token. Use the public key to encrypt the key material.\n Then, submit the import token from the same GetParametersForImport\n response.

\n

When calling this operation, you must specify the following values:

\n
    \n
  • \n

    The key ID or key ARN of a KMS key with no key material. Its Origin must\n be EXTERNAL.

    \n

    To create a KMS key with no key material, call CreateKey and set the\n value of its Origin parameter to EXTERNAL. To get the\n Origin of a KMS key, call DescribeKey.)

    \n
  • \n
  • \n

    The encrypted key material. To get the public key to encrypt the key material, call\n GetParametersForImport.

    \n
  • \n
  • \n

    The import token that GetParametersForImport returned. You must use\n a public key and token from the same GetParametersForImport response.

    \n
  • \n
  • \n

    Whether the key material expires and if so, when. If you set an expiration date, KMS\n deletes the key material from the KMS key on the specified date, and the KMS key becomes\n unusable. To use the KMS key again, you must reimport the same key material. The only way\n to change an expiration date is by reimporting the same key material and specifying a new\n expiration date.

    \n
  • \n
\n

When this operation is successful, the key state of the KMS key changes from\n PendingImport to Enabled, and you can use the KMS key.

\n

If this operation fails, use the exception to help determine the problem. If the error is\n related to the key material, the import token, or wrapping key, use GetParametersForImport to get a new public key and import token for the KMS key\n and repeat the import procedure. For help, see How To Import Key\n Material in the Key Management Service Developer Guide.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:ImportKeyMaterial (key policy)

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Imports key material into an existing symmetric encryption KMS key that was created\n without key material. After you successfully import key material into a KMS key, you can\n reimport the same key material into that KMS key, but you cannot import different\n key material.

\n

You cannot perform this operation on an asymmetric KMS key, an HMAC KMS key, or on any KMS key in a different Amazon Web Services account. For more information about creating KMS keys with no key material\n and then importing key material, see Importing Key Material in the\n Key Management Service Developer Guide.

\n

Before using this operation, call GetParametersForImport. Its response\n includes a public key and an import token. Use the public key to encrypt the key material.\n Then, submit the import token from the same GetParametersForImport\n response.

\n

When calling this operation, you must specify the following values:

\n
    \n
  • \n

    The key ID or key ARN of a KMS key with no key material. Its Origin must\n be EXTERNAL.

    \n

    To create a KMS key with no key material, call CreateKey and set the\n value of its Origin parameter to EXTERNAL. To get the\n Origin of a KMS key, call DescribeKey.)

    \n
  • \n
  • \n

    The encrypted key material. To get the public key to encrypt the key material, call\n GetParametersForImport.

    \n
  • \n
  • \n

    The import token that GetParametersForImport returned. You must use\n a public key and token from the same GetParametersForImport response.

    \n
  • \n
  • \n

    Whether the key material expires (ExpirationModel) and, if so, when\n (ValidTo). If you set an expiration date, on the specified date, KMS\n deletes the key material from the KMS key, making the KMS key unusable. To use the KMS key\n in cryptographic operations again, you must reimport the same key material. The only way\n to change the expiration model or expiration date is by reimporting the same key material\n and specifying a new expiration date.

    \n
  • \n
\n

When this operation is successful, the key state of the KMS key changes from\n PendingImport to Enabled, and you can use the KMS key.

\n

If this operation fails, use the exception to help determine the problem. If the error is\n related to the key material, the import token, or wrapping key, use GetParametersForImport to get a new public key and import token for the KMS key\n and repeat the import procedure. For help, see How To Import Key\n Material in the Key Management Service Developer Guide.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:ImportKeyMaterial (key policy)

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#ImportKeyMaterialRequest": { @@ -2942,7 +3213,7 @@ "KeyId": { "target": "com.amazonaws.kms#KeyIdType", "traits": { - "smithy.api#documentation": "

The identifier of the symmetric encryption KMS key that receives the imported key\n material. This must be the same KMS key specified in the KeyID parameter of the corresponding GetParametersForImport request. The Origin of the\n KMS key must be EXTERNAL. You cannot perform this operation on an asymmetric KMS\n key, an HMAC KMS key, a KMS key in a custom key store, or on a KMS key in a different\n Amazon Web Services account

\n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", + "smithy.api#documentation": "

The identifier of the symmetric encryption KMS key that receives the imported key\n material. This must be the same KMS key specified in the KeyID parameter of the\n corresponding GetParametersForImport request. The Origin of the\n KMS key must be EXTERNAL. You cannot perform this operation on an asymmetric KMS\n key, an HMAC KMS key, a KMS key in a custom key store, or on a KMS key in a different\n Amazon Web Services account

\n \n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", "smithy.api#required": {} } }, @@ -2963,13 +3234,13 @@ "ValidTo": { "target": "com.amazonaws.kms#DateType", "traits": { - "smithy.api#documentation": "

The time at which the imported key material expires. When the key material expires, KMS\n deletes the key material and the KMS key becomes unusable. You must omit this parameter when\n the ExpirationModel parameter is set to\n KEY_MATERIAL_DOES_NOT_EXPIRE. Otherwise it is required.

" + "smithy.api#documentation": "

The date and time when the imported key material expires. This parameter is required when\n the value of the ExpirationModel parameter is KEY_MATERIAL_EXPIRES.\n Otherwise it is not valid.

\n

The value of this parameter must be a future date and time. The maximum value is 365 days\n from the request date.

\n

When the key material expires, KMS deletes the key material from the KMS key. Without\n its key material, the KMS key is unusable. To use the KMS key in cryptographic operations, you\n must reimport the same key material.

\n

You cannot change the ExpirationModel or ValidTo values for the\n current import after the request completes. To change either value, you must delete (DeleteImportedKeyMaterial) and reimport the key material.

" } }, "ExpirationModel": { "target": "com.amazonaws.kms#ExpirationModelType", "traits": { - "smithy.api#documentation": "

Specifies whether the key material expires. The default is\n KEY_MATERIAL_EXPIRES, in which case you must include the ValidTo\n parameter. When this parameter is set to KEY_MATERIAL_DOES_NOT_EXPIRE, you must\n omit the ValidTo parameter.

" + "smithy.api#documentation": "

Specifies whether the key material expires. The default is\n KEY_MATERIAL_EXPIRES.

\n

When the value of ExpirationModel is KEY_MATERIAL_EXPIRES, you\n must specify a value for the ValidTo parameter. When value is\n KEY_MATERIAL_DOES_NOT_EXPIRE, you must omit the ValidTo\n parameter.

\n

You cannot change the ExpirationModel or ValidTo values for the\n current import after the request completes. To change either value, you must delete (DeleteImportedKeyMaterial) and reimport the key material.

" } } } @@ -2990,7 +3261,7 @@ "code": "IncorrectKeyException", "httpResponseCode": 400 }, - "smithy.api#documentation": "

The request was rejected because the specified KMS key cannot decrypt the data. The\n KeyId in a Decrypt request and the SourceKeyId\n in a ReEncrypt request must identify the same KMS key that was used to\n encrypt the ciphertext.

", + "smithy.api#documentation": "

The request was rejected because the specified KMS key cannot decrypt the data. The\n KeyId in a Decrypt request and the SourceKeyId\n in a ReEncrypt request must identify the same KMS key that was used to\n encrypt the ciphertext.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -3024,7 +3295,7 @@ "code": "IncorrectTrustAnchorException", "httpResponseCode": 400 }, - "smithy.api#documentation": "

The request was rejected because the trust anchor certificate in the request is not the\n trust anchor certificate for the specified CloudHSM cluster.

\n

When you initialize the cluster, you create the trust anchor certificate and save it in the\n customerCA.crt file.

", + "smithy.api#documentation": "

The request was rejected because the trust anchor certificate in the request to create an\n CloudHSM key store is not the trust anchor certificate for the specified CloudHSM cluster.

\n

When you initialize the CloudHSM cluster, you create the trust anchor certificate and save it\n in the customerCA.crt file.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -3143,7 +3414,7 @@ "code": "InvalidKeyUsage", "httpResponseCode": 400 }, - "smithy.api#documentation": "

The request was rejected for one of the following reasons:

\n
    \n
  • \n

    The KeyUsage value of the KMS key is incompatible with the API\n operation.

    \n
  • \n
  • \n

    The encryption algorithm or signing algorithm specified for the operation is\n incompatible with the type of key material in the KMS key (KeySpec).

    \n
  • \n
\n

For encrypting, decrypting, re-encrypting, and generating data keys, the\n KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying\n messages, the KeyUsage must be SIGN_VERIFY. For generating and\n verifying message authentication codes (MACs), the KeyUsage must be\n GENERATE_VERIFY_MAC. To find the KeyUsage of\n a KMS key, use the DescribeKey operation.

\n

To find the encryption or signing algorithms supported for a particular KMS key, use the\n DescribeKey operation.

", + "smithy.api#documentation": "

The request was rejected for one of the following reasons:

\n
    \n
  • \n

    The KeyUsage value of the KMS key is incompatible with the API\n operation.

    \n
  • \n
  • \n

    The encryption algorithm or signing algorithm specified for the operation is\n incompatible with the type of key material in the KMS key (KeySpec).

    \n
  • \n
\n

For encrypting, decrypting, re-encrypting, and generating data keys, the\n KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying\n messages, the KeyUsage must be SIGN_VERIFY. For generating and\n verifying message authentication codes (MACs), the KeyUsage must be\n GENERATE_VERIFY_MAC. To find the KeyUsage of a KMS key, use the\n DescribeKey operation.

\n

To find the encryption or signing algorithms supported for a particular KMS key, use the\n DescribeKey operation.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -3194,7 +3465,7 @@ "code": "KMSInvalidMac", "httpResponseCode": 400 }, - "smithy.api#documentation": "

The request was rejected because the HMAC verification failed. HMAC verification\n fails when the HMAC computed by using the specified message, HMAC KMS key, and MAC algorithm does not match the HMAC specified in the request.

", + "smithy.api#documentation": "

The request was rejected because the HMAC verification failed. HMAC verification fails\n when the HMAC computed by using the specified message, HMAC KMS key, and MAC algorithm does\n not match the HMAC specified in the request.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -3228,7 +3499,7 @@ "code": "KMSInvalidStateException", "httpResponseCode": 409 }, - "smithy.api#documentation": "

The request was rejected because the state of the specified resource is not valid for this\n request.

\n

For more information about how key state affects the use of a KMS key, see Key states of KMS keys in the \n Key Management Service Developer Guide\n .

", + "smithy.api#documentation": "

The request was rejected because the state of the specified resource is not valid for this\n request.

\n

This exceptions means one of the following:

\n
    \n
  • \n

    The key state of the KMS key is not compatible with the operation.

    \n

    To find the key state, use the DescribeKey operation. For more\n information about which key states are compatible with each KMS operation, see\n Key states of KMS keys in the \n Key Management Service Developer Guide\n .

    \n
  • \n
  • \n

    For cryptographic operations on KMS keys in custom key stores, this exception represents a general failure with many possible causes. To identify the cause, see the error message that accompanies the exception.

    \n
  • \n
", "smithy.api#error": "client", "smithy.api#httpError": 409 } @@ -3269,18 +3540,20 @@ } }, "com.amazonaws.kms#KeyManagerType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "AWS", - "name": "AWS" - }, - { - "value": "CUSTOMER", - "name": "CUSTOMER" + "type": "enum", + "members": { + "AWS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS" + } + }, + "CUSTOMER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CUSTOMER" } - ] + } } }, "com.amazonaws.kms#KeyMetadata": { @@ -3333,7 +3606,7 @@ "KeyState": { "target": "com.amazonaws.kms#KeyState", "traits": { - "smithy.api#documentation": "

The current status of the KMS key.

\n

For more information about how key state affects the use of a KMS key, see Key states of KMS keys in the Key Management Service Developer Guide.

" + "smithy.api#documentation": "

The current status of the KMS key.

\n

For more information about how key state affects the use of a KMS key, see Key states of KMS keys in\n the Key Management Service Developer Guide.

" } }, "DeletionDate": { @@ -3357,13 +3630,13 @@ "CustomKeyStoreId": { "target": "com.amazonaws.kms#CustomKeyStoreIdType", "traits": { - "smithy.api#documentation": "

A unique identifier for the custom key store that contains the KMS key. This value is\n present only when the KMS key is created in a custom key store.

" + "smithy.api#documentation": "

A unique identifier for the custom key store that contains the KMS key. This field is\n present only when the KMS key is created in a custom key store.

" } }, "CloudHsmClusterId": { "target": "com.amazonaws.kms#CloudHsmClusterIdType", "traits": { - "smithy.api#documentation": "

The cluster ID of the CloudHSM cluster that contains the key material for the KMS key. When\n you create a KMS key in a custom key store, KMS creates the key material for the KMS key in\n the associated CloudHSM cluster. This value is present only when the KMS key is created in a\n custom key store.

" + "smithy.api#documentation": "

The cluster ID of the CloudHSM cluster that contains the key material for the KMS key. When\n you create a KMS key in an CloudHSM custom key store, KMS creates the key material for the KMS\n key in the associated CloudHSM cluster. This field is present only when the KMS key is created in\n an CloudHSM key store.

" } }, "ExpirationModel": { @@ -3384,7 +3657,7 @@ "smithy.api#deprecated": { "message": "This field has been deprecated. Instead, use the KeySpec field." }, - "smithy.api#documentation": "

Instead, use the KeySpec field.

\n

The KeySpec and CustomerMasterKeySpec fields have the same\n value. We recommend that you use the KeySpec field in your code. However, to\n avoid breaking changes, KMS will support both fields.

" + "smithy.api#documentation": "

Instead, use the KeySpec field.

\n

The KeySpec and CustomerMasterKeySpec fields have the same\n value. We recommend that you use the KeySpec field in your code. However, to\n avoid breaking changes, KMS supports both fields.

" } }, "KeySpec": { @@ -3426,156 +3699,204 @@ "MacAlgorithms": { "target": "com.amazonaws.kms#MacAlgorithmSpecList", "traits": { - "smithy.api#documentation": "

The message authentication code (MAC) algorithm that the HMAC KMS key supports.

\n

This value is present only when the KeyUsage of the KMS key is\n GENERATE_VERIFY_MAC.

" + "smithy.api#documentation": "

The message authentication code (MAC) algorithm that the HMAC KMS key supports.

\n

This value is present only when the KeyUsage of the KMS key is\n GENERATE_VERIFY_MAC.

" + } + }, + "XksKeyConfiguration": { + "target": "com.amazonaws.kms#XksKeyConfigurationType", + "traits": { + "smithy.api#documentation": "

Information about the external key that is associated with a KMS key in an\n external key store.

\n

For more information, see \n External key in the Key Management Service Developer Guide.

" } } }, "traits": { - "smithy.api#documentation": "

Contains metadata about a KMS key.

\n

This data type is used as a response element for the CreateKey and DescribeKey operations.

" + "smithy.api#documentation": "

Contains metadata about a KMS key.

\n

This data type is used as a response element for the CreateKey, DescribeKey, and ReplicateKey operations.

" } }, "com.amazonaws.kms#KeySpec": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "RSA_2048", - "name": "RSA_2048" - }, - { - "value": "RSA_3072", - "name": "RSA_3072" - }, - { - "value": "RSA_4096", - "name": "RSA_4096" - }, - { - "value": "ECC_NIST_P256", - "name": "ECC_NIST_P256" - }, - { - "value": "ECC_NIST_P384", - "name": "ECC_NIST_P384" - }, - { - "value": "ECC_NIST_P521", - "name": "ECC_NIST_P521" - }, - { - "value": "ECC_SECG_P256K1", - "name": "ECC_SECG_P256K1" - }, - { - "value": "SYMMETRIC_DEFAULT", - "name": "SYMMETRIC_DEFAULT" - }, - { - "value": "HMAC_224", - "name": "HMAC_224" - }, - { - "value": "HMAC_256", - "name": "HMAC_256" - }, - { - "value": "HMAC_384", - "name": "HMAC_384" - }, - { - "value": "HMAC_512", - "name": "HMAC_512" - }, - { - "value": "SM2", - "name": "SM2" + "type": "enum", + "members": { + "RSA_2048": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RSA_2048" } - ] - } - }, - "com.amazonaws.kms#KeyState": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "Creating", - "name": "Creating" - }, - { - "value": "Enabled", - "name": "Enabled" - }, - { - "value": "Disabled", - "name": "Disabled" - }, - { - "value": "PendingDeletion", - "name": "PendingDeletion" - }, - { - "value": "PendingImport", - "name": "PendingImport" - }, - { - "value": "PendingReplicaDeletion", - "name": "PendingReplicaDeletion" - }, - { - "value": "Unavailable", - "name": "Unavailable" - }, - { - "value": "Updating", - "name": "Updating" + }, + "RSA_3072": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RSA_3072" } - ] - } - }, - "com.amazonaws.kms#KeyStorePasswordType": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 7, - "max": 32 }, - "smithy.api#sensitive": {} - } - }, - "com.amazonaws.kms#KeyUnavailableException": { - "type": "structure", - "members": { - "message": { - "target": "com.amazonaws.kms#ErrorMessageType" - } - }, - "traits": { - "aws.protocols#awsQueryError": { - "code": "KeyUnavailable", - "httpResponseCode": 500 + "RSA_4096": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RSA_4096" + } }, - "smithy.api#documentation": "

The request was rejected because the specified KMS key was not available. You can retry\n the request.

", - "smithy.api#error": "server", - "smithy.api#httpError": 500 - } - }, - "com.amazonaws.kms#KeyUsageType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "SIGN_VERIFY", - "name": "SIGN_VERIFY" - }, - { - "value": "ENCRYPT_DECRYPT", - "name": "ENCRYPT_DECRYPT" - }, - { - "value": "GENERATE_VERIFY_MAC", - "name": "GENERATE_VERIFY_MAC" + "ECC_NIST_P256": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ECC_NIST_P256" + } + }, + "ECC_NIST_P384": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ECC_NIST_P384" + } + }, + "ECC_NIST_P521": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ECC_NIST_P521" + } + }, + "ECC_SECG_P256K1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ECC_SECG_P256K1" + } + }, + "SYMMETRIC_DEFAULT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SYMMETRIC_DEFAULT" + } + }, + "HMAC_224": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HMAC_224" + } + }, + "HMAC_256": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HMAC_256" + } + }, + "HMAC_384": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HMAC_384" + } + }, + "HMAC_512": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HMAC_512" + } + }, + "SM2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SM2" + } + } + } + }, + "com.amazonaws.kms#KeyState": { + "type": "enum", + "members": { + "Creating": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Creating" + } + }, + "Enabled": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Enabled" + } + }, + "Disabled": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Disabled" + } + }, + "PendingDeletion": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PendingDeletion" + } + }, + "PendingImport": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PendingImport" + } + }, + "PendingReplicaDeletion": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PendingReplicaDeletion" + } + }, + "Unavailable": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Unavailable" + } + }, + "Updating": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Updating" + } + } + } + }, + "com.amazonaws.kms#KeyStorePasswordType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 7, + "max": 32 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.kms#KeyUnavailableException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.kms#ErrorMessageType" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "KeyUnavailable", + "httpResponseCode": 500 + }, + "smithy.api#documentation": "

The request was rejected because the specified KMS key was not available. You can retry\n the request.

", + "smithy.api#error": "server", + "smithy.api#httpError": 500 + } + }, + "com.amazonaws.kms#KeyUsageType": { + "type": "enum", + "members": { + "SIGN_VERIFY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SIGN_VERIFY" + } + }, + "ENCRYPT_DECRYPT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENCRYPT_DECRYPT" + } + }, + "GENERATE_VERIFY_MAC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GENERATE_VERIFY_MAC" } - ] + } } }, "com.amazonaws.kms#LimitExceededException": { @@ -3645,7 +3966,7 @@ "KeyId": { "target": "com.amazonaws.kms#KeyIdType", "traits": { - "smithy.api#documentation": "

Lists only aliases that are associated with the specified KMS key. Enter a KMS key in your\n Amazon Web Services account.

\n

This parameter is optional. If you omit it, ListAliases returns all aliases\n in the account and Region.

\n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

" + "smithy.api#documentation": "

Lists only aliases that are associated with the specified KMS key. Enter a KMS key in your\n Amazon Web Services account.

\n

This parameter is optional. If you omit it, ListAliases returns all aliases\n in the account and Region.

\n \n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

" } }, "Limit": { @@ -3828,7 +4149,7 @@ "KeyId": { "target": "com.amazonaws.kms#KeyIdType", "traits": { - "smithy.api#documentation": "

Gets the names of key policies for the specified KMS key.

\n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", + "smithy.api#documentation": "

Gets the names of key policies for the specified KMS key.

\n \n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", "smithy.api#required": {} } }, @@ -3978,7 +4299,7 @@ "KeyId": { "target": "com.amazonaws.kms#KeyIdType", "traits": { - "smithy.api#documentation": "

Gets tags on the specified KMS key.

\n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", + "smithy.api#documentation": "

Gets tags on the specified KMS key.

\n \n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", "smithy.api#required": {} } }, @@ -4002,7 +4323,7 @@ "Tags": { "target": "com.amazonaws.kms#TagList", "traits": { - "smithy.api#documentation": "

A list of tags. Each tag consists of a tag key and a tag value.

\n \n

Tagging or untagging a KMS key can allow or deny permission to the KMS key. For details, see ABAC in KMS in the Key Management Service Developer Guide.

\n
" + "smithy.api#documentation": "

A list of tags. Each tag consists of a tag key and a tag value.

\n \n

Tagging or untagging a KMS key can allow or deny permission to the KMS key. For details, see ABAC for KMS in the Key Management Service Developer Guide.

\n
" } }, "NextMarker": { @@ -4080,26 +4401,32 @@ } }, "com.amazonaws.kms#MacAlgorithmSpec": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "HMAC_SHA_224", - "name": "HMAC_SHA_224" - }, - { - "value": "HMAC_SHA_256", - "name": "HMAC_SHA_256" - }, - { - "value": "HMAC_SHA_384", - "name": "HMAC_SHA_384" - }, - { - "value": "HMAC_SHA_512", - "name": "HMAC_SHA_512" + "type": "enum", + "members": { + "HMAC_SHA_224": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HMAC_SHA_224" + } + }, + "HMAC_SHA_256": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HMAC_SHA_256" + } + }, + "HMAC_SHA_384": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HMAC_SHA_384" } - ] + }, + "HMAC_SHA_512": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HMAC_SHA_512" + } + } } }, "com.amazonaws.kms#MacAlgorithmSpecList": { @@ -4136,18 +4463,20 @@ } }, "com.amazonaws.kms#MessageType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "RAW", - "name": "RAW" - }, - { - "value": "DIGEST", - "name": "DIGEST" + "type": "enum", + "members": { + "RAW": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RAW" + } + }, + "DIGEST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DIGEST" } - ] + } } }, "com.amazonaws.kms#MultiRegionConfiguration": { @@ -4203,18 +4532,20 @@ } }, "com.amazonaws.kms#MultiRegionKeyType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "PRIMARY", - "name": "PRIMARY" - }, - { - "value": "REPLICA", - "name": "REPLICA" + "type": "enum", + "members": { + "PRIMARY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PRIMARY" + } + }, + "REPLICA": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "REPLICA" } - ] + } } }, "com.amazonaws.kms#NotFoundException": { @@ -4247,22 +4578,32 @@ } }, "com.amazonaws.kms#OriginType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "AWS_KMS", - "name": "AWS_KMS" - }, - { - "value": "EXTERNAL", - "name": "EXTERNAL" - }, - { - "value": "AWS_CLOUDHSM", - "name": "AWS_CLOUDHSM" + "type": "enum", + "members": { + "AWS_KMS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS_KMS" + } + }, + "EXTERNAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EXTERNAL" + } + }, + "AWS_CLOUDHSM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS_CLOUDHSM" + } + }, + "EXTERNAL_KEY_STORE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EXTERNAL_KEY_STORE" } - ] + } } }, "com.amazonaws.kms#PendingWindowInDaysType": { @@ -4373,7 +4714,7 @@ "KeyId": { "target": "com.amazonaws.kms#KeyIdType", "traits": { - "smithy.api#documentation": "

Sets the key policy on the specified KMS key.

\n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", + "smithy.api#documentation": "

Sets the key policy on the specified KMS key.

\n \n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", "smithy.api#required": {} } }, @@ -4387,7 +4728,7 @@ "Policy": { "target": "com.amazonaws.kms#PolicyType", "traits": { - "smithy.api#documentation": "

The key policy to attach to the KMS key.

\n

The key policy must meet the following criteria:

\n
    \n
  • \n

    If you don't set BypassPolicyLockoutSafetyCheck to true, the key policy\n must allow the principal that is making the PutKeyPolicy request to make a\n subsequent PutKeyPolicy request on the KMS key. This reduces the risk that\n the KMS key becomes unmanageable. For more information, refer to the scenario in the\n Default Key Policy section of the Key Management Service Developer Guide.

    \n
  • \n
  • \n

    Each statement in the key policy must contain one or more principals. The principals\n in the key policy must exist and be visible to KMS. When you create a new Amazon Web Services\n principal (for example, an IAM user or role), you might need to enforce a delay before\n including the new principal in a key policy because the new principal might not be\n immediately visible to KMS. For more information, see Changes that I make are not always immediately visible in the Amazon Web Services\n Identity and Access Management User Guide.

    \n
  • \n
\n \n

A key policy document can include only the following characters:

\n
    \n
  • \n

    Printable ASCII characters from the space character (\\u0020) through the end of the ASCII character range.

    \n
  • \n
  • \n

    Printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF).

    \n
  • \n
  • \n

    The tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D) special characters

    \n
  • \n
\n

For information about key policies, see Key policies in KMS in the\n Key Management Service Developer Guide. For help writing and formatting a JSON policy document, see the IAM JSON Policy Reference in the \n Identity and Access Management User Guide\n .

", + "smithy.api#documentation": "

The key policy to attach to the KMS key.

\n

The key policy must meet the following criteria:

\n
    \n
  • \n

    If you don't set BypassPolicyLockoutSafetyCheck to true, the key policy\n must allow the principal that is making the PutKeyPolicy request to make a\n subsequent PutKeyPolicy request on the KMS key. This reduces the risk that\n the KMS key becomes unmanageable. For more information, refer to the scenario in the\n Default Key Policy section of the Key Management Service Developer Guide.

    \n
  • \n
  • \n

    Each statement in the key policy must contain one or more principals. The principals\n in the key policy must exist and be visible to KMS. When you create a new Amazon Web Services\n principal (for example, an IAM user or role), you might need to enforce a delay before\n including the new principal in a key policy because the new principal might not be\n immediately visible to KMS. For more information, see Changes that I make are not always immediately visible in the Amazon Web Services\n Identity and Access Management User Guide.

    \n
  • \n
\n \n

A key policy document can include only the following characters:

\n
    \n
  • \n

    Printable ASCII characters from the space character (\\u0020) through the end of the ASCII character range.

    \n
  • \n
  • \n

    Printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF).

    \n
  • \n
  • \n

    The tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D) special characters

    \n
  • \n
\n

For information about key policies, see Key policies in KMS in the\n Key Management Service Developer Guide.For help writing and formatting a JSON policy document, see the IAM JSON Policy Reference in the \n Identity and Access Management User Guide\n .

", "smithy.api#required": {} } }, @@ -4441,7 +4782,7 @@ } ], "traits": { - "smithy.api#documentation": "

Decrypts ciphertext and then reencrypts it entirely within KMS. You can use this\n operation to change the KMS key under which data is encrypted, such as when you manually\n rotate a KMS key or change the KMS key that protects a ciphertext. You can also use\n it to reencrypt ciphertext under the same KMS key, such as to change the encryption\n context of a ciphertext.

\n

The ReEncrypt operation can decrypt ciphertext that was encrypted by using a\n KMS key in an KMS operation, such as Encrypt or GenerateDataKey. It can also decrypt ciphertext that was encrypted by using the\n public key of an asymmetric KMS key\n outside of KMS. However, it cannot decrypt ciphertext produced by other libraries, such as\n the Amazon Web Services Encryption SDK or\n Amazon S3\n client-side encryption. These libraries return a ciphertext format that is\n incompatible with KMS.

\n

When you use the ReEncrypt operation, you need to provide information for the\n decrypt operation and the subsequent encrypt operation.

\n
    \n
  • \n

    If your ciphertext was encrypted under an asymmetric KMS key, you must use the\n SourceKeyId parameter to identify the KMS key that encrypted the\n ciphertext. You must also supply the encryption algorithm that was used. This information\n is required to decrypt the data.

    \n
  • \n
  • \n

    If your ciphertext was encrypted under a symmetric encryption KMS key, the\n SourceKeyId parameter is optional. KMS can get this information from\n metadata that it adds to the symmetric ciphertext blob. This feature adds durability to\n your implementation by ensuring that authorized users can decrypt ciphertext decades after\n it was encrypted, even if they've lost track of the key ID. However, specifying the source\n KMS key is always recommended as a best practice. When you use the\n SourceKeyId parameter to specify a KMS key, KMS uses only the KMS key you\n specify. If the ciphertext was encrypted under a different KMS key, the\n ReEncrypt operation fails. This practice ensures that you use the KMS key\n that you intend.

    \n
  • \n
  • \n

    To reencrypt the data, you must use the DestinationKeyId parameter\n specify the KMS key that re-encrypts the data after it is decrypted. If the destination\n KMS key is an asymmetric KMS key, you must also provide the encryption algorithm. The\n algorithm that you choose must be compatible with the KMS key.

    \n\n \n

    When you use an asymmetric KMS key to encrypt or reencrypt data, be sure to record the KMS key and encryption algorithm that you choose. You will be required to provide the same KMS key and encryption algorithm when you decrypt the data. If the KMS key and algorithm do not match the values used to encrypt the data, the decrypt operation fails.

    \n

    You are not required to supply the key ID and encryption algorithm when you decrypt with symmetric encryption KMS keys because KMS stores this information in the ciphertext blob. KMS cannot store metadata in ciphertext generated with asymmetric keys. The standard format for asymmetric key ciphertext does not include configurable fields.

    \n
    \n
  • \n
\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: Yes.\n The source KMS key and destination KMS key can be in different Amazon Web Services accounts. Either or both\n KMS keys can be in a different account than the caller. To specify a KMS key in a different\n account, you must use its key ARN or alias ARN.

\n\n

\n Required permissions:

\n
    \n
  • \n

    \n kms:ReEncryptFrom\n permission on the source KMS key (key policy)

    \n
  • \n
  • \n

    \n kms:ReEncryptTo\n permission on the destination KMS key (key policy)

    \n
  • \n
\n

To permit reencryption from or to a KMS key, include the \"kms:ReEncrypt*\"\n permission in your key policy. This permission is\n automatically included in the key policy when you use the console to create a KMS key. But you\n must include it manually when you create a KMS key programmatically or when you use the PutKeyPolicy operation to set a key policy.

\n\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Decrypts ciphertext and then reencrypts it entirely within KMS. You can use this\n operation to change the KMS key under which data is encrypted, such as when you manually\n rotate a KMS key or change the KMS key that protects a ciphertext. You can also use\n it to reencrypt ciphertext under the same KMS key, such as to change the encryption\n context of a ciphertext.

\n

The ReEncrypt operation can decrypt ciphertext that was encrypted by using a\n KMS key in an KMS operation, such as Encrypt or GenerateDataKey. It can also decrypt ciphertext that was encrypted by using the\n public key of an asymmetric KMS key\n outside of KMS. However, it cannot decrypt ciphertext produced by other libraries, such as\n the Amazon Web Services Encryption SDK or\n Amazon S3\n client-side encryption. These libraries return a ciphertext format that is\n incompatible with KMS.

\n

When you use the ReEncrypt operation, you need to provide information for the\n decrypt operation and the subsequent encrypt operation.

\n
    \n
  • \n

    If your ciphertext was encrypted under an asymmetric KMS key, you must use the\n SourceKeyId parameter to identify the KMS key that encrypted the\n ciphertext. You must also supply the encryption algorithm that was used. This information\n is required to decrypt the data.

    \n
  • \n
  • \n

    If your ciphertext was encrypted under a symmetric encryption KMS key, the\n SourceKeyId parameter is optional. KMS can get this information from\n metadata that it adds to the symmetric ciphertext blob. This feature adds durability to\n your implementation by ensuring that authorized users can decrypt ciphertext decades after\n it was encrypted, even if they've lost track of the key ID. However, specifying the source\n KMS key is always recommended as a best practice. When you use the\n SourceKeyId parameter to specify a KMS key, KMS uses only the KMS key you\n specify. If the ciphertext was encrypted under a different KMS key, the\n ReEncrypt operation fails. This practice ensures that you use the KMS key\n that you intend.

    \n
  • \n
  • \n

    To reencrypt the data, you must use the DestinationKeyId parameter to\n specify the KMS key that re-encrypts the data after it is decrypted. If the destination\n KMS key is an asymmetric KMS key, you must also provide the encryption algorithm. The\n algorithm that you choose must be compatible with the KMS key.

    \n\n \n

    When you use an asymmetric KMS key to encrypt or reencrypt data, be sure to record the KMS key and encryption algorithm that you choose. You will be required to provide the same KMS key and encryption algorithm when you decrypt the data. If the KMS key and algorithm do not match the values used to encrypt the data, the decrypt operation fails.

    \n

    You are not required to supply the key ID and encryption algorithm when you decrypt with symmetric encryption KMS keys because KMS stores this information in the ciphertext blob. KMS cannot store metadata in ciphertext generated with asymmetric keys. The standard format for asymmetric key ciphertext does not include configurable fields.

    \n
    \n
  • \n
\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: Yes. The source KMS key and\n destination KMS key can be in different Amazon Web Services accounts. Either or both KMS keys can be in a\n different account than the caller. To specify a KMS key in a different account, you must use\n its key ARN or alias ARN.

\n\n

\n Required permissions:

\n
    \n
  • \n

    \n kms:ReEncryptFrom\n permission on the source KMS key (key policy)

    \n
  • \n
  • \n

    \n kms:ReEncryptTo\n permission on the destination KMS key (key policy)

    \n
  • \n
\n

To permit reencryption from or to a KMS key, include the \"kms:ReEncrypt*\"\n permission in your key policy. This permission is\n automatically included in the key policy when you use the console to create a KMS key. But you\n must include it manually when you create a KMS key programmatically or when you use the PutKeyPolicy operation to set a key policy.

\n\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#ReEncryptRequest": { @@ -4457,26 +4798,26 @@ "SourceEncryptionContext": { "target": "com.amazonaws.kms#EncryptionContextType", "traits": { - "smithy.api#documentation": "

Specifies the encryption context to use to decrypt the ciphertext. Enter the same\n encryption context that was used to encrypt the ciphertext.

\n

An encryption context is a collection of non-secret key-value pairs that represent additional authenticated data. \nWhen you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is supported\nonly on operations with symmetric encryption KMS keys. On operations with symmetric encryption KMS keys, an encryption context is optional, but it is strongly recommended.

\n

For more information, see\nEncryption context in the Key Management Service Developer Guide.

" + "smithy.api#documentation": "

Specifies the encryption context to use to decrypt the ciphertext. Enter the same\n encryption context that was used to encrypt the ciphertext.

\n

An encryption context is a collection of non-secret key-value pairs that represent additional authenticated data. \nWhen you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is supported\nonly on operations with symmetric encryption KMS keys. On operations with symmetric encryption KMS keys, an encryption context is optional, but it is strongly recommended.

\n

For more information, see\nEncryption context in the Key Management Service Developer Guide.

" } }, "SourceKeyId": { "target": "com.amazonaws.kms#KeyIdType", "traits": { - "smithy.api#documentation": "

Specifies the KMS key that KMS will use to decrypt the ciphertext before it is\n re-encrypted.

\n

Enter a key ID of the KMS key that was used to encrypt the ciphertext. If you identify a different KMS key, the ReEncrypt operation throws an IncorrectKeyException.

\n

This parameter is required only when the ciphertext was encrypted under an asymmetric KMS\n key. If you used a symmetric encryption KMS key, KMS can get the KMS key from metadata that it adds to\n the symmetric ciphertext blob. However, it is always recommended as a best practice. This\n practice ensures that you use the KMS key that you intend.

\n \n

To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Alias name: alias/ExampleAlias\n

    \n
  • \n
  • \n

    Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" + "smithy.api#documentation": "

Specifies the KMS key that KMS will use to decrypt the ciphertext before it is\n re-encrypted.

\n

Enter a key ID of the KMS key that was used to encrypt the ciphertext. If you identify a\n different KMS key, the ReEncrypt operation throws an\n IncorrectKeyException.

\n

This parameter is required only when the ciphertext was encrypted under an asymmetric KMS\n key. If you used a symmetric encryption KMS key, KMS can get the KMS key from metadata that\n it adds to the symmetric ciphertext blob. However, it is always recommended as a best\n practice. This practice ensures that you use the KMS key that you intend.

\n \n

To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Alias name: alias/ExampleAlias\n

    \n
  • \n
  • \n

    Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" } }, "DestinationKeyId": { "target": "com.amazonaws.kms#KeyIdType", "traits": { - "smithy.api#documentation": "

A unique identifier for the KMS key that is used to reencrypt the data. Specify a\n symmetric encryption KMS key or an asymmetric KMS key with a KeyUsage value of\n ENCRYPT_DECRYPT. To find the KeyUsage value of a KMS key, use the\n DescribeKey operation.

\n

To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Alias name: alias/ExampleAlias\n

    \n
  • \n
  • \n

    Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

", + "smithy.api#documentation": "

A unique identifier for the KMS key that is used to reencrypt the data. Specify a\n symmetric encryption KMS key or an asymmetric KMS key with a KeyUsage value of\n ENCRYPT_DECRYPT. To find the KeyUsage value of a KMS key, use the\n DescribeKey operation.

\n \n

To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Alias name: alias/ExampleAlias\n

    \n
  • \n
  • \n

    Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

", "smithy.api#required": {} } }, "DestinationEncryptionContext": { "target": "com.amazonaws.kms#EncryptionContextType", "traits": { - "smithy.api#documentation": "

Specifies that encryption context to use when the reencrypting the data.

\n

A destination encryption context is valid only when the destination KMS key is a symmetric encryption KMS key. The standard ciphertext format for asymmetric KMS keys does not include fields for\n metadata.

\n

An encryption context is a collection of non-secret key-value pairs that represent additional authenticated data. \nWhen you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is supported\nonly on operations with symmetric encryption KMS keys. On operations with symmetric encryption KMS keys, an encryption context is optional, but it is strongly recommended.

\n

For more information, see\nEncryption context in the Key Management Service Developer Guide.

" + "smithy.api#documentation": "

Specifies that encryption context to use when the reencrypting the data.

\n

A destination encryption context is valid only when the destination KMS key is a symmetric\n encryption KMS key. The standard ciphertext format for asymmetric KMS keys does not include\n fields for metadata.

\n

An encryption context is a collection of non-secret key-value pairs that represent additional authenticated data. \nWhen you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is supported\nonly on operations with symmetric encryption KMS keys. On operations with symmetric encryption KMS keys, an encryption context is optional, but it is strongly recommended.

\n

For more information, see\nEncryption context in the Key Management Service Developer Guide.

" } }, "SourceEncryptionAlgorithm": { @@ -4585,7 +4926,7 @@ } ], "traits": { - "smithy.api#documentation": "

Replicates a multi-Region key into the specified Region. This operation creates a\n multi-Region replica key based on a multi-Region primary key in a different Region of the same\n Amazon Web Services partition. You can create multiple replicas of a primary key, but each must be in a\n different Region. To create a multi-Region primary key, use the CreateKey\n operation.

\n

This operation supports multi-Region keys, an KMS feature that lets you create multiple\n interoperable KMS keys in different Amazon Web Services Regions. Because these KMS keys have the same key ID, key\n material, and other metadata, you can use them interchangeably to encrypt data in one Amazon Web Services Region and decrypt\n it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

\n

A replica key is a fully-functional KMS key that can be used\n independently of its primary and peer replica keys. A primary key and its replica keys share\n properties that make them interoperable. They have the same key ID and key material. They also\n have the same key\n spec, key\n usage, key\n material origin, and automatic key rotation status. KMS automatically synchronizes these shared\n properties among related multi-Region keys. All other properties of a replica key can differ,\n including its key\n policy, tags, aliases, and Key states of KMS keys. KMS pricing and quotas for KMS keys apply to each primary key and replica\n key.

\n

When this operation completes, the new replica key has a transient key state of\n Creating. This key state changes to Enabled (or\n PendingImport) after a few seconds when the process of creating the new replica\n key is complete. While the key state is Creating, you can manage key, but you\n cannot yet use it in cryptographic operations. If you are creating and using the replica key\n programmatically, retry on KMSInvalidStateException or call\n DescribeKey to check its KeyState value before using it. For\n details about the Creating key state, see Key states of KMS keys in the\n Key Management Service Developer Guide.

\n

You cannot create more than one replica of a primary key in any Region. If the Region\n already includes a replica of the key you're trying to replicate, ReplicateKey\n returns an AlreadyExistsException error. If the key state of the existing replica\n is PendingDeletion, you can cancel the scheduled key deletion (CancelKeyDeletion) or wait for the key to be deleted. The new replica key you create\n will have the same shared properties as the original replica key.

\n

The CloudTrail log of a ReplicateKey operation records a\n ReplicateKey operation in the primary key's Region and a CreateKey operation in the replica key's Region.

\n

If you replicate a multi-Region primary key with imported key material, the replica key is\n created with no key material. You must import the same key material that you imported into the\n primary key. For details, see Importing key material into multi-Region keys in the Key Management Service Developer Guide.

\n

To convert a replica key to a primary key, use the UpdatePrimaryRegion\n operation.

\n \n

\n ReplicateKey uses different default values for the KeyPolicy\n and Tags parameters than those used in the KMS console. For details, see the\n parameter descriptions.

\n
\n

\n Cross-account use: No. You cannot use this operation to\n create a replica key in a different Amazon Web Services account.

\n

\n Required permissions:

\n
    \n
  • \n

    \n kms:ReplicateKey on the primary key (in the primary key's Region).\n Include this permission in the primary key's key policy.

    \n
  • \n
  • \n

    \n kms:CreateKey in an IAM policy in the replica Region.

    \n
  • \n
  • \n

    To use the Tags parameter, kms:TagResource in an IAM policy\n in the replica Region.

    \n
  • \n
\n

\n Related operations\n

\n " + "smithy.api#documentation": "

Replicates a multi-Region key into the specified Region. This operation creates a\n multi-Region replica key based on a multi-Region primary key in a different Region of the same\n Amazon Web Services partition. You can create multiple replicas of a primary key, but each must be in a\n different Region. To create a multi-Region primary key, use the CreateKey\n operation.

\n

This operation supports multi-Region keys, an KMS feature that lets you create multiple\n interoperable KMS keys in different Amazon Web Services Regions. Because these KMS keys have the same key ID, key\n material, and other metadata, you can use them interchangeably to encrypt data in one Amazon Web Services Region and decrypt\n it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

\n

A replica key is a fully-functional KMS key that can be used\n independently of its primary and peer replica keys. A primary key and its replica keys share\n properties that make them interoperable. They have the same key ID and key material. They also\n have the same key\n spec, key\n usage, key\n material origin, and automatic key rotation status. KMS automatically synchronizes these shared\n properties among related multi-Region keys. All other properties of a replica key can differ,\n including its key\n policy, tags, aliases, and Key states of KMS keys. KMS pricing and quotas for KMS keys apply to each\n primary key and replica key.

\n

When this operation completes, the new replica key has a transient key state of\n Creating. This key state changes to Enabled (or\n PendingImport) after a few seconds when the process of creating the new replica\n key is complete. While the key state is Creating, you can manage key, but you\n cannot yet use it in cryptographic operations. If you are creating and using the replica key\n programmatically, retry on KMSInvalidStateException or call\n DescribeKey to check its KeyState value before using it. For\n details about the Creating key state, see Key states of KMS keys in the\n Key Management Service Developer Guide.

\n

You cannot create more than one replica of a primary key in any Region. If the Region\n already includes a replica of the key you're trying to replicate, ReplicateKey\n returns an AlreadyExistsException error. If the key state of the existing replica\n is PendingDeletion, you can cancel the scheduled key deletion (CancelKeyDeletion) or wait for the key to be deleted. The new replica key you\n create will have the same shared\n properties as the original replica key.

\n

The CloudTrail log of a ReplicateKey operation records a\n ReplicateKey operation in the primary key's Region and a CreateKey operation in the replica key's Region.

\n

If you replicate a multi-Region primary key with imported key material, the replica key is\n created with no key material. You must import the same key material that you imported into the\n primary key. For details, see Importing key material into multi-Region keys in the Key Management Service Developer Guide.

\n

To convert a replica key to a primary key, use the UpdatePrimaryRegion\n operation.

\n \n

\n ReplicateKey uses different default values for the KeyPolicy\n and Tags parameters than those used in the KMS console. For details, see the\n parameter descriptions.

\n
\n

\n Cross-account use: No. You cannot use this operation to\n create a replica key in a different Amazon Web Services account.

\n

\n Required permissions:

\n
    \n
  • \n

    \n kms:ReplicateKey on the primary key (in the primary key's Region).\n Include this permission in the primary key's key policy.

    \n
  • \n
  • \n

    \n kms:CreateKey in an IAM policy in the replica Region.

    \n
  • \n
  • \n

    To use the Tags parameter, kms:TagResource in an IAM policy\n in the replica Region.

    \n
  • \n
\n

\n Related operations\n

\n " } }, "com.amazonaws.kms#ReplicateKeyRequest": { @@ -4601,14 +4942,14 @@ "ReplicaRegion": { "target": "com.amazonaws.kms#RegionType", "traits": { - "smithy.api#documentation": "

The Region ID of the Amazon Web Services Region for this replica key.

\n

Enter the Region ID, such as us-east-1 or ap-southeast-2. For a\n list of Amazon Web Services Regions in which KMS is supported, see KMS service endpoints in the\n Amazon Web Services General Reference.

\n \n

HMAC KMS keys are not supported in all Amazon Web Services Regions. If you try to replicate an HMAC\n KMS key in an Amazon Web Services Region in which HMAC keys are not supported, the\n ReplicateKey operation returns an UnsupportedOperationException.\n For a list of Regions in which HMAC KMS keys are supported, see HMAC keys in KMS in the Key Management Service Developer Guide.

\n
\n

The replica must be in a different Amazon Web Services Region than its primary key and other replicas of\n that primary key, but in the same Amazon Web Services partition. KMS must be available in the replica\n Region. If the Region is not enabled by default, the Amazon Web Services account must be enabled in the\n Region. For information about Amazon Web Services partitions, see Amazon Resource Names (ARNs) in the\n Amazon Web Services General Reference. For information about enabling and disabling Regions, see Enabling a\n Region and Disabling a Region in the\n Amazon Web Services General Reference.

", + "smithy.api#documentation": "

The Region ID of the Amazon Web Services Region for this replica key.

\n

Enter the Region ID, such as us-east-1 or ap-southeast-2. For a\n list of Amazon Web Services Regions in which KMS is supported, see KMS service endpoints in the\n Amazon Web Services General Reference.

\n \n

HMAC KMS keys are not supported in all Amazon Web Services Regions. If you try to replicate an HMAC\n KMS key in an Amazon Web Services Region in which HMAC keys are not supported, the\n ReplicateKey operation returns an UnsupportedOperationException.\n For a list of Regions in which HMAC KMS keys are supported, see HMAC keys in KMS in the Key Management Service Developer Guide.

\n
\n

The replica must be in a different Amazon Web Services Region than its primary key and other replicas of\n that primary key, but in the same Amazon Web Services partition. KMS must be available in the replica\n Region. If the Region is not enabled by default, the Amazon Web Services account must be enabled in the\n Region. For information about Amazon Web Services partitions, see Amazon Resource Names (ARNs) in the\n Amazon Web Services General Reference. For information about enabling and disabling Regions, see Enabling a\n Region and Disabling a Region in the\n Amazon Web Services General Reference.

", "smithy.api#required": {} } }, "Policy": { "target": "com.amazonaws.kms#PolicyType", "traits": { - "smithy.api#documentation": "

The key policy to attach to the KMS key. This parameter is optional. If you do not provide\n a key policy, KMS attaches the default key policy to the\n KMS key.

\n

The key policy is not a shared property of multi-Region keys. You can specify the same key\n policy or a different key policy for each key in a set of related multi-Region keys. KMS\n does not synchronize this property.

\n

If you provide a key policy, it must meet the following criteria:

\n
    \n
  • \n

    If you don't set BypassPolicyLockoutSafetyCheck to true, the key policy\n must give the caller kms:PutKeyPolicy permission on the replica key. This\n reduces the risk that the KMS key becomes unmanageable. For more information, refer to the\n scenario in the Default Key Policy section of the \n Key Management Service Developer Guide\n .

    \n
  • \n
  • \n

    Each statement in the key policy must contain one or more principals. The principals\n in the key policy must exist and be visible to KMS. When you create a new Amazon Web Services\n principal (for example, an IAM user or role), you might need to enforce a delay before\n including the new principal in a key policy because the new principal might not be\n immediately visible to KMS. For more information, see Changes that I make are not always immediately visible in the\n \n Identity and Access Management User Guide\n .

    \n
  • \n
\n \n \n

A key policy document can include only the following characters:

\n
    \n
  • \n

    Printable ASCII characters from the space character (\\u0020) through the end of the ASCII character range.

    \n
  • \n
  • \n

    Printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF).

    \n
  • \n
  • \n

    The tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D) special characters

    \n
  • \n
\n

For information about key policies, see Key policies in KMS in the\n Key Management Service Developer Guide. For help writing and formatting a JSON policy document, see the IAM JSON Policy Reference in the \n Identity and Access Management User Guide\n .

" + "smithy.api#documentation": "

The key policy to attach to the KMS key. This parameter is optional. If you do not provide\n a key policy, KMS attaches the default key policy to the\n KMS key.

\n

The key policy is not a shared property of multi-Region keys. You can specify the same key\n policy or a different key policy for each key in a set of related multi-Region keys. KMS\n does not synchronize this property.

\n

If you provide a key policy, it must meet the following criteria:

\n
    \n
  • \n

    If you don't set BypassPolicyLockoutSafetyCheck to true, the key policy\n must give the caller kms:PutKeyPolicy permission on the replica key. This\n reduces the risk that the KMS key becomes unmanageable. For more information, refer to the\n scenario in the Default Key Policy section of the \n Key Management Service Developer Guide\n .

    \n
  • \n
  • \n

    Each statement in the key policy must contain one or more principals. The principals\n in the key policy must exist and be visible to KMS. When you create a new Amazon Web Services\n principal (for example, an IAM user or role), you might need to enforce a delay before\n including the new principal in a key policy because the new principal might not be\n immediately visible to KMS. For more information, see Changes that I make are not always immediately visible in the\n \n Identity and Access Management User Guide\n .

    \n
  • \n
\n \n

A key policy document can include only the following characters:

\n
    \n
  • \n

    Printable ASCII characters from the space character (\\u0020) through the end of the ASCII character range.

    \n
  • \n
  • \n

    Printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF).

    \n
  • \n
  • \n

    The tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D) special characters

    \n
  • \n
\n

For information about key policies, see Key policies in KMS in the Key Management Service Developer Guide.\n For help writing and formatting a JSON policy document, see the IAM JSON Policy Reference in the \n Identity and Access Management User Guide\n .

" } }, "BypassPolicyLockoutSafetyCheck": { @@ -4627,7 +4968,7 @@ "Tags": { "target": "com.amazonaws.kms#TagList", "traits": { - "smithy.api#documentation": "

Assigns one or more tags to the replica key. Use this parameter to tag the KMS key when it\n is created. To tag an existing KMS key, use the TagResource\n operation.

\n \n

Tagging or untagging a KMS key can allow or deny permission to the KMS key. For details, see ABAC in KMS in the Key Management Service Developer Guide.

\n
\n

To use this parameter, you must have kms:TagResource permission in an IAM policy.

\n

Tags are not a shared property of multi-Region keys. You can specify the same tags or\n different tags for each key in a set of related multi-Region keys. KMS does not synchronize\n this property.

\n

Each tag consists of a tag key and a tag value. Both the tag key and the tag value are\n required, but the tag value can be an empty (null) string. You cannot have more than one tag\n on a KMS key with the same tag key. If you specify an existing tag key with a different tag\n value, KMS replaces the current tag value with the specified one.

\n

When you add tags to an Amazon Web Services resource, Amazon Web Services generates a cost allocation\n report with usage and costs aggregated by tags. Tags can also be used to control access to a KMS key. For details,\n see Tagging Keys.

" + "smithy.api#documentation": "

Assigns one or more tags to the replica key. Use this parameter to tag the KMS key when it\n is created. To tag an existing KMS key, use the TagResource\n operation.

\n \n

Tagging or untagging a KMS key can allow or deny permission to the KMS key. For details, see ABAC for KMS in the Key Management Service Developer Guide.

\n
\n

To use this parameter, you must have kms:TagResource permission in an IAM policy.

\n

Tags are not a shared property of multi-Region keys. You can specify the same tags or\n different tags for each key in a set of related multi-Region keys. KMS does not synchronize\n this property.

\n

Each tag consists of a tag key and a tag value. Both the tag key and the tag value are\n required, but the tag value can be an empty (null) string. You cannot have more than one tag\n on a KMS key with the same tag key. If you specify an existing tag key with a different tag\n value, KMS replaces the current tag value with the specified one.

\n

When you add tags to an Amazon Web Services resource, Amazon Web Services generates a cost allocation\n report with usage and costs aggregated by tags. Tags can also be used to control access to a KMS key. For details,\n see Tagging Keys.

" } } } @@ -4638,7 +4979,7 @@ "ReplicaKeyMetadata": { "target": "com.amazonaws.kms#KeyMetadata", "traits": { - "smithy.api#documentation": "

Displays details about the new replica key, including its Amazon Resource Name (key ARN) and\n Key states of KMS keys. It also\n includes the ARN and Amazon Web Services Region of its primary key and other replica keys.

" + "smithy.api#documentation": "

Displays details about the new replica key, including its Amazon Resource Name (key ARN) and\n Key states of KMS keys. It also includes the ARN and Amazon Web Services Region of its primary key and other\n replica keys.

" } }, "ReplicaPolicy": { @@ -4790,7 +5131,7 @@ } ], "traits": { - "smithy.api#documentation": "

Schedules the deletion of a KMS key. By default, KMS applies a waiting period of 30\n days, but you can specify a waiting period of 7-30 days. When this operation is successful,\n the key state of the KMS key changes to PendingDeletion and the key can't be used\n in any cryptographic operations. It remains in this state for the duration of the waiting\n period. Before the waiting period ends, you can use CancelKeyDeletion to\n cancel the deletion of the KMS key. After the waiting period ends, KMS deletes the KMS key,\n its key material, and all KMS data associated with it, including all aliases that refer to\n it.

\n \n

Deleting a KMS key is a destructive and potentially dangerous operation. When a KMS key\n is deleted, all data that was encrypted under the KMS key is unrecoverable. (The only\n exception is a multi-Region replica key.) To prevent the use of a KMS key without deleting\n it, use DisableKey.

\n
\n

If you schedule deletion of a KMS key from a custom key store, when the waiting period\n expires, ScheduleKeyDeletion deletes the KMS key from KMS. Then KMS makes a\n best effort to delete the key material from the associated CloudHSM cluster. However, you might\n need to manually delete the orphaned key\n material from the cluster and its backups.

\n

You can schedule the deletion of a multi-Region primary key and its replica keys at any\n time. However, KMS will not delete a multi-Region primary key with existing replica keys. If\n you schedule the deletion of a primary key with replicas, its key state changes to\n PendingReplicaDeletion and it cannot be replicated or used in cryptographic\n operations. This status can continue indefinitely. When the last of its replicas keys is\n deleted (not just scheduled), the key state of the primary key changes to\n PendingDeletion and its waiting period (PendingWindowInDays)\n begins. For details, see Deleting multi-Region keys in the\n Key Management Service Developer Guide.

\n

For more information about scheduling a KMS key for deletion, see Deleting KMS keys in the\n Key Management Service Developer Guide.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account\n use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n\n\n

\n Required permissions: kms:ScheduleKeyDeletion (key\n policy)

\n

\n Related operations\n

\n " + "smithy.api#documentation": "

Schedules the deletion of a KMS key. By default, KMS applies a waiting period of 30\n days, but you can specify a waiting period of 7-30 days. When this operation is successful,\n the key state of the KMS key changes to PendingDeletion and the key can't be used\n in any cryptographic operations. It remains in this state for the duration of the waiting\n period. Before the waiting period ends, you can use CancelKeyDeletion to\n cancel the deletion of the KMS key. After the waiting period ends, KMS deletes the KMS key,\n its key material, and all KMS data associated with it, including all aliases that refer to\n it.

\n \n

Deleting a KMS key is a destructive and potentially dangerous operation. When a KMS key\n is deleted, all data that was encrypted under the KMS key is unrecoverable. (The only\n exception is a multi-Region replica key.) To prevent the use of a KMS key without deleting\n it, use DisableKey.

\n
\n

You can schedule the deletion of a multi-Region primary key and its replica keys at any\n time. However, KMS will not delete a multi-Region primary key with existing replica keys. If\n you schedule the deletion of a primary key with replicas, its key state changes to\n PendingReplicaDeletion and it cannot be replicated or used in cryptographic\n operations. This status can continue indefinitely. When the last of its replicas keys is\n deleted (not just scheduled), the key state of the primary key changes to\n PendingDeletion and its waiting period (PendingWindowInDays)\n begins. For details, see Deleting multi-Region keys in the\n Key Management Service Developer Guide.

\n

When KMS deletes\n a KMS key from an CloudHSM key store, it makes a best effort to delete the associated\n key material from the associated CloudHSM cluster. However, you might need to manually delete\n the orphaned key material from the cluster and its backups. Deleting a KMS key from an\n external key store has no effect on the associated external key. However, for both\n types of custom key stores, deleting a KMS key is destructive and irreversible. You cannot\n decrypt ciphertext encrypted under the KMS key by using only its associated external key or\n CloudHSM key. Also, you cannot recreate a KMS key in an external key store by creating a new KMS\n key with the same key material.

\n

For more information about scheduling a KMS key for deletion, see Deleting KMS keys in the\n Key Management Service Developer Guide.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n\n\n

\n Required permissions: kms:ScheduleKeyDeletion (key\n policy)

\n

\n Related operations\n

\n " } }, "com.amazonaws.kms#ScheduleKeyDeletionRequest": { @@ -4799,14 +5140,14 @@ "KeyId": { "target": "com.amazonaws.kms#KeyIdType", "traits": { - "smithy.api#documentation": "

The unique identifier of the KMS key to delete.

\n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", + "smithy.api#documentation": "

The unique identifier of the KMS key to delete.

\n \n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", "smithy.api#required": {} } }, "PendingWindowInDays": { "target": "com.amazonaws.kms#PendingWindowInDaysType", "traits": { - "smithy.api#documentation": "

The waiting period, specified in number of days. After the waiting period ends, KMS\n deletes the KMS key.

\n

If the KMS key is a multi-Region primary key with replica keys, the waiting period begins when\n the last of its replica keys is deleted. Otherwise, the waiting period begins\n immediately.

\n

This value is optional. If you include a value, it must be between 7 and 30, inclusive. If\n you do not include a value, it defaults to 30.

" + "smithy.api#documentation": "

The waiting period, specified in number of days. After the waiting period ends, KMS\n deletes the KMS key.

\n

If the KMS key is a multi-Region primary key with replica keys, the waiting period begins\n when the last of its replica keys is deleted. Otherwise, the waiting period begins\n immediately.

\n

This value is optional. If you include a value, it must be between 7 and 30, inclusive. If\n you do not include a value, it defaults to 30.

" } } } @@ -4829,7 +5170,7 @@ "KeyState": { "target": "com.amazonaws.kms#KeyState", "traits": { - "smithy.api#documentation": "

The current status of the KMS key.

\n

For more information about how key state affects the use of a KMS key, see Key states of KMS keys in the Key Management Service Developer Guide.

" + "smithy.api#documentation": "

The current status of the KMS key.

\n

For more information about how key state affects the use of a KMS key, see\n Key states of KMS keys in the Key Management Service Developer Guide.

" } }, "PendingWindowInDays": { @@ -4875,7 +5216,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a digital\n signature for a message or message digest by using the private key in an asymmetric\n signing KMS key. To verify the signature, use the Verify operation, or use the\n public key in the same asymmetric KMS key outside of KMS. For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

\n

Digital signatures are generated and verified by using asymmetric key pair, such as an RSA\n or ECC pair that is represented by an asymmetric KMS key. The key owner (or an authorized\n user) uses their private key to sign a message. Anyone with the public key can verify that the\n message was signed with that particular private key and that the message hasn't changed since\n it was signed.

\n

To use the Sign operation, provide the following information:

\n
    \n
  • \n

    Use the KeyId parameter to identify an asymmetric KMS key with a\n KeyUsage value of SIGN_VERIFY. To get the\n KeyUsage value of a KMS key, use the DescribeKey\n operation. The caller must have kms:Sign permission on the KMS key.

    \n
  • \n
  • \n

    Use the Message parameter to specify the message or message digest to\n sign. You can submit messages of up to 4096 bytes. To sign a larger message, generate a\n hash digest of the message, and then provide the hash digest in the Message\n parameter. To indicate whether the message is a full message or a digest, use the\n MessageType parameter.

    \n
  • \n
  • \n

    Choose a signing algorithm that is compatible with the KMS key.

    \n
  • \n
\n \n

When signing a message, be sure to record the KMS key and the signing algorithm. This\n information is required to verify the signature.

\n
\n \n

Best practices recommend that you limit the time during which any signature is effective. This deters an attack where the actor uses a signed\n message to establish validity repeatedly or long after the message is superseded. Signatures do not include a timestamp, but you can include a timestamp in the signed message\n to help you detect when its time to refresh the signature.

\n
\n

To verify the signature that this operation generates, use the Verify\n operation. Or use the GetPublicKey operation to download the public key and\n then use the public key to verify the signature outside of KMS.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:Sign (key policy)

\n

\n Related operations: Verify\n

" + "smithy.api#documentation": "

Creates a digital\n signature for a message or message digest by using the private key in an asymmetric\n signing KMS key. To verify the signature, use the Verify operation, or use\n the public key in the same asymmetric KMS key outside of KMS. For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

\n

Digital signatures are generated and verified by using asymmetric key pair, such as an RSA\n or ECC pair that is represented by an asymmetric KMS key. The key owner (or an authorized\n user) uses their private key to sign a message. Anyone with the public key can verify that the\n message was signed with that particular private key and that the message hasn't changed since\n it was signed.

\n

To use the Sign operation, provide the following information:

\n
    \n
  • \n

    Use the KeyId parameter to identify an asymmetric KMS key with a\n KeyUsage value of SIGN_VERIFY. To get the\n KeyUsage value of a KMS key, use the DescribeKey\n operation. The caller must have kms:Sign permission on the KMS key.

    \n
  • \n
  • \n

    Use the Message parameter to specify the message or message digest to\n sign. You can submit messages of up to 4096 bytes. To sign a larger message, generate a\n hash digest of the message, and then provide the hash digest in the Message\n parameter. To indicate whether the message is a full message or a digest, use the\n MessageType parameter.

    \n
  • \n
  • \n

    Choose a signing algorithm that is compatible with the KMS key.

    \n
  • \n
\n \n

When signing a message, be sure to record the KMS key and the signing algorithm. This\n information is required to verify the signature.

\n
\n \n

Best practices recommend that you limit the time during which any signature is\n effective. This deters an attack where the actor uses a signed message to establish validity\n repeatedly or long after the message is superseded. Signatures do not include a timestamp,\n but you can include a timestamp in the signed message to help you detect when its time to\n refresh the signature.

\n
\n

To verify the signature that this operation generates, use the Verify\n operation. Or use the GetPublicKey operation to download the public key and\n then use the public key to verify the signature outside of KMS.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:Sign (key policy)

\n

\n Related operations: Verify\n

" } }, "com.amazonaws.kms#SignRequest": { @@ -4884,7 +5225,7 @@ "KeyId": { "target": "com.amazonaws.kms#KeyIdType", "traits": { - "smithy.api#documentation": "

Identifies an asymmetric KMS key. KMS uses the private key in the asymmetric KMS key to\n sign the message. The KeyUsage type of the KMS key must be\n SIGN_VERIFY. To find the KeyUsage of a KMS key, use the DescribeKey operation.

\n

To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Alias name: alias/ExampleAlias\n

    \n
  • \n
  • \n

    Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

", + "smithy.api#documentation": "

Identifies an asymmetric KMS key. KMS uses the private key in the asymmetric KMS key to\n sign the message. The KeyUsage type of the KMS key must be\n SIGN_VERIFY. To find the KeyUsage of a KMS key, use the DescribeKey operation.

\n \n

To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Alias name: alias/ExampleAlias\n

    \n
  • \n
  • \n

    Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

", "smithy.api#required": {} } }, @@ -4940,50 +5281,68 @@ } }, "com.amazonaws.kms#SigningAlgorithmSpec": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "RSASSA_PSS_SHA_256", - "name": "RSASSA_PSS_SHA_256" - }, - { - "value": "RSASSA_PSS_SHA_384", - "name": "RSASSA_PSS_SHA_384" - }, - { - "value": "RSASSA_PSS_SHA_512", - "name": "RSASSA_PSS_SHA_512" - }, - { - "value": "RSASSA_PKCS1_V1_5_SHA_256", - "name": "RSASSA_PKCS1_V1_5_SHA_256" - }, - { - "value": "RSASSA_PKCS1_V1_5_SHA_384", - "name": "RSASSA_PKCS1_V1_5_SHA_384" - }, - { - "value": "RSASSA_PKCS1_V1_5_SHA_512", - "name": "RSASSA_PKCS1_V1_5_SHA_512" - }, - { - "value": "ECDSA_SHA_256", - "name": "ECDSA_SHA_256" - }, - { - "value": "ECDSA_SHA_384", - "name": "ECDSA_SHA_384" - }, - { - "value": "ECDSA_SHA_512", - "name": "ECDSA_SHA_512" - }, - { - "value": "SM2DSA", - "name": "SM2DSA" + "type": "enum", + "members": { + "RSASSA_PSS_SHA_256": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RSASSA_PSS_SHA_256" + } + }, + "RSASSA_PSS_SHA_384": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RSASSA_PSS_SHA_384" + } + }, + "RSASSA_PSS_SHA_512": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RSASSA_PSS_SHA_512" + } + }, + "RSASSA_PKCS1_V1_5_SHA_256": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RSASSA_PKCS1_V1_5_SHA_256" + } + }, + "RSASSA_PKCS1_V1_5_SHA_384": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RSASSA_PKCS1_V1_5_SHA_384" + } + }, + "RSASSA_PKCS1_V1_5_SHA_512": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RSASSA_PKCS1_V1_5_SHA_512" + } + }, + "ECDSA_SHA_256": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ECDSA_SHA_256" + } + }, + "ECDSA_SHA_384": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ECDSA_SHA_384" } - ] + }, + "ECDSA_SHA_512": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ECDSA_SHA_512" + } + }, + "SM2DSA": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SM2DSA" + } + } } }, "com.amazonaws.kms#SigningAlgorithmSpecList": { @@ -5081,7 +5440,7 @@ } ], "traits": { - "smithy.api#documentation": "

Adds or edits tags on a customer managed key.

\n \n

Tagging or untagging a KMS key can allow or deny permission to the KMS key. For details, see ABAC in KMS in the Key Management Service Developer Guide.

\n
\n

Each tag consists of a tag key and a tag value, both of which are case-sensitive strings.\n The tag value can be an empty (null) string. To add a tag, specify a new tag key and a tag\n value. To edit a tag, specify an existing tag key and a new tag value.

\n

You can use this operation to tag a customer managed key, but you cannot\n tag an Amazon Web Services\n managed key, an Amazon Web Services owned key, a custom key\n store, or an alias.

\n

You can also add tags to a KMS key while creating it (CreateKey) or\n replicating it (ReplicateKey).

\n

For information about using tags in KMS, see Tagging keys. For general information about\n tags, including the format and syntax, see Tagging Amazon Web Services resources in the Amazon\n Web Services General Reference.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:TagResource (key policy)

\n

\n Related operations\n

\n " + "smithy.api#documentation": "

Adds or edits tags on a customer managed key.

\n \n

Tagging or untagging a KMS key can allow or deny permission to the KMS key. For details, see ABAC for KMS in the Key Management Service Developer Guide.

\n
\n

Each tag consists of a tag key and a tag value, both of which are case-sensitive strings.\n The tag value can be an empty (null) string. To add a tag, specify a new tag key and a tag\n value. To edit a tag, specify an existing tag key and a new tag value.

\n

You can use this operation to tag a customer managed key, but you cannot\n tag an Amazon Web Services\n managed key, an Amazon Web Services owned key, a custom key\n store, or an alias.

\n

You can also add tags to a KMS key while creating it (CreateKey) or\n replicating it (ReplicateKey).

\n

For information about using tags in KMS, see Tagging keys. For general information about\n tags, including the format and syntax, see Tagging Amazon Web Services resources in the Amazon\n Web Services General Reference.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:TagResource (key policy)

\n

\n Related operations\n

\n " } }, "com.amazonaws.kms#TagResourceRequest": { @@ -5279,7 +5638,7 @@ "name": "kms" }, "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "Key Management Service\n

Key Management Service (KMS) is an encryption and key management web service. This guide describes\n the KMS operations that you can call programmatically. For general information about KMS,\n see the \n Key Management Service Developer Guide\n .

\n \n

KMS is replacing the term customer master key (CMK) with KMS key and KMS key. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.

\n

Amazon Web Services provides SDKs that consist of libraries and sample code for various programming\n languages and platforms (Java, Ruby, .Net, macOS, Android, etc.). The SDKs provide a\n convenient way to create programmatic access to KMS and other Amazon Web Services services. For example,\n the SDKs take care of tasks such as signing requests (see below), managing errors, and\n retrying requests automatically. For more information about the Amazon Web Services SDKs, including how to\n download and install them, see Tools for Amazon Web\n Services.

\n
\n

We recommend that you use the Amazon Web Services SDKs to make programmatic API calls to KMS.

\n

If you need to use FIPS 140-2 validated cryptographic modules when communicating with\n Amazon Web Services, use the FIPS endpoint in your preferred Amazon Web Services Region. For more information about the\n available FIPS endpoints, see Service endpoints in the Key Management Service topic of the Amazon Web Services General Reference.

\n

All KMS API calls must be signed and be transmitted using Transport Layer Security (TLS). \n KMS recommends you always use the latest supported TLS version. Clients\n must also support cipher suites with Perfect Forward Secrecy (PFS) such as Ephemeral\n Diffie-Hellman (DHE) or Elliptic Curve Ephemeral Diffie-Hellman (ECDHE). Most modern systems\n such as Java 7 and later support these modes.

\n

\n Signing Requests\n

\n

Requests must be signed by using an access key ID and a secret access key. We strongly\n recommend that you do not use your Amazon Web Services account (root) access key ID and\n secret key for everyday work with KMS. Instead, use the access key ID and secret access key\n for an IAM user. You can also use the Amazon Web Services Security Token Service to generate temporary\n security credentials that you can use to sign requests.

\n

All KMS operations require Signature Version 4.

\n

\n Logging API Requests\n

\n

KMS supports CloudTrail, a service that logs Amazon Web Services API calls and related events for your\n Amazon Web Services account and delivers them to an Amazon S3 bucket that you specify. By using the\n information collected by CloudTrail, you can determine what requests were made to KMS, who made\n the request, when it was made, and so on. To learn more about CloudTrail, including how to turn it\n on and find your log files, see the CloudTrail User Guide.

\n

\n Additional Resources\n

\n

For more information about credentials and request signing, see the following:

\n \n

\n Commonly Used API Operations\n

\n

Of the API operations discussed in this guide, the following will prove the most useful\n for most applications. You will likely perform operations other than these, such as creating\n keys and assigning policies, by using the console.

\n ", + "smithy.api#documentation": "Key Management Service\n

Key Management Service (KMS) is an encryption and key management web service. This guide describes\n the KMS operations that you can call programmatically. For general information about KMS,\n see the \n Key Management Service Developer Guide\n .

\n \n

KMS has replaced the term customer master key (CMK) with KMS key and KMS key. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.

\n

Amazon Web Services provides SDKs that consist of libraries and sample code for various programming\n languages and platforms (Java, Ruby, .Net, macOS, Android, etc.). The SDKs provide a\n convenient way to create programmatic access to KMS and other Amazon Web Services services. For example,\n the SDKs take care of tasks such as signing requests (see below), managing errors, and\n retrying requests automatically. For more information about the Amazon Web Services SDKs, including how to\n download and install them, see Tools for Amazon Web\n Services.

\n
\n

We recommend that you use the Amazon Web Services SDKs to make programmatic API calls to KMS.

\n

If you need to use FIPS 140-2 validated cryptographic modules when communicating with\n Amazon Web Services, use the FIPS endpoint in your preferred Amazon Web Services Region. For more information about the\n available FIPS endpoints, see Service endpoints in the Key Management Service topic of\n the Amazon Web Services General Reference.

\n

All KMS API calls must be signed and be transmitted using Transport Layer Security\n (TLS). KMS recommends you always use the latest supported TLS version. Clients must also\n support cipher suites with Perfect Forward Secrecy (PFS) such as Ephemeral Diffie-Hellman\n (DHE) or Elliptic Curve Ephemeral Diffie-Hellman (ECDHE). Most modern systems such as Java 7\n and later support these modes.

\n

\n Signing Requests\n

\n

Requests must be signed by using an access key ID and a secret access key. We strongly\n recommend that you do not use your Amazon Web Services account (root) access key ID and\n secret access key for everyday work with KMS. Instead, use the access key ID and secret\n access key for an IAM user. You can also use the Amazon Web Services Security Token Service to generate\n temporary security credentials that you can use to sign requests.

\n

All KMS operations require Signature Version 4.

\n

\n Logging API Requests\n

\n

KMS supports CloudTrail, a service that logs Amazon Web Services API calls and related events for your\n Amazon Web Services account and delivers them to an Amazon S3 bucket that you specify. By using the\n information collected by CloudTrail, you can determine what requests were made to KMS, who made\n the request, when it was made, and so on. To learn more about CloudTrail, including how to turn it\n on and find your log files, see the CloudTrail User Guide.

\n

\n Additional Resources\n

\n

For more information about credentials and request signing, see the following:

\n \n

\n Commonly Used API Operations\n

\n

Of the API operations discussed in this guide, the following will prove the most useful\n for most applications. You will likely perform operations other than these, such as creating\n keys and assigning policies, by using the console.

\n ", "smithy.api#title": "AWS Key Management Service", "smithy.api#xmlNamespace": { "uri": "https://trent.amazonaws.com/doc/2014-11-01/" @@ -5289,7 +5648,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": false, + "required": true, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -5338,15 +5697,6 @@ "ref": "Endpoint" } ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" } ], "type": "tree", @@ -5460,12 +5810,18 @@ "rules": [ { "conditions": [], - "endpoint": { - "url": "https://kms-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://kms-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] }, @@ -5570,12 +5926,18 @@ "rules": [ { "conditions": [], - "endpoint": { - "url": "https://kms.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://kms.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] }, @@ -5588,12 +5950,18 @@ }, { "conditions": [], - "endpoint": { - "url": "https://kms.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://kms.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] } @@ -5602,1797 +5970,860 @@ "smithy.rules#endpointTests": { "testCases": [ { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack enabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms-fips.ap-south-2.api.aws" + "url": "https://kms.sa-east-1.amazonaws.com" } }, "params": { - "Region": "ap-south-2", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "sa-east-1" } }, { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms-fips.ap-south-2.amazonaws.com" + "url": "https://kms-fips.sa-east-1.amazonaws.com" } }, "params": { - "Region": "ap-south-2", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": true + "Region": "sa-east-1" } }, { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms.ap-south-2.api.aws" + "url": "https://kms.ap-east-1.amazonaws.com" } }, "params": { - "Region": "ap-south-2", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-east-1" } }, { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms.ap-south-2.amazonaws.com" + "url": "https://kms-fips.ap-east-1.amazonaws.com" } }, "params": { - "Region": "ap-south-2", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": false + "Region": "ap-east-1" } }, { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms-fips.ap-south-1.api.aws" + "url": "https://kms.eu-south-1.amazonaws.com" } }, "params": { - "Region": "ap-south-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-south-1" } }, { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms-fips.ap-south-1.amazonaws.com" + "url": "https://kms-fips.eu-south-1.amazonaws.com" } }, "params": { - "Region": "ap-south-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": true + "Region": "eu-south-1" } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms.ap-south-1.api.aws" + "url": "https://kms.eu-central-1.amazonaws.com" } }, "params": { - "Region": "ap-south-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-central-1" } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms.ap-south-1.amazonaws.com" + "url": "https://kms-fips.eu-central-1.amazonaws.com" } }, "params": { - "Region": "ap-south-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": false + "Region": "eu-central-1" } }, { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms-fips.eu-south-1.api.aws" + "url": "https://kms.ap-southeast-1.amazonaws.com" } }, "params": { - "Region": "eu-south-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-southeast-1" } }, { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms-fips.eu-south-1.amazonaws.com" + "url": "https://kms-fips.ap-southeast-1.amazonaws.com" } }, "params": { - "Region": "eu-south-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": true + "Region": "ap-southeast-1" } }, { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms.eu-south-1.api.aws" + "url": "https://kms.ap-southeast-2.amazonaws.com" } }, "params": { - "Region": "eu-south-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-southeast-2" } }, { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms.eu-south-1.amazonaws.com" + "url": "https://kms-fips.ap-southeast-2.amazonaws.com" } }, "params": { - "Region": "eu-south-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": false + "Region": "ap-southeast-2" } }, { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms-fips.eu-south-2.api.aws" + "url": "https://kms.ap-southeast-3.amazonaws.com" } }, "params": { - "Region": "eu-south-2", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-southeast-3" } }, { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms-fips.eu-south-2.amazonaws.com" + "url": "https://kms-fips.ap-southeast-3.amazonaws.com" } }, "params": { - "Region": "eu-south-2", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": true + "Region": "ap-southeast-3" } }, { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack enabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms.eu-south-2.api.aws" + "url": "https://kms.ca-central-1.amazonaws.com" } }, "params": { - "Region": "eu-south-2", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "ca-central-1" } }, { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms.eu-south-2.amazonaws.com" + "url": "https://kms-fips.ca-central-1.amazonaws.com" } }, "params": { - "Region": "eu-south-2", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": false + "Region": "ca-central-1" } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms-fips.us-gov-east-1.api.aws" + "url": "https://kms.us-west-1.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-west-1" } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms-fips.us-gov-east-1.amazonaws.com" + "url": "https://kms-fips.us-west-1.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": true + "Region": "us-west-1" } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms.us-gov-east-1.api.aws" + "url": "https://kms.us-west-2.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-west-2" } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms.us-gov-east-1.amazonaws.com" + "url": "https://kms-fips.us-west-2.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": false + "Region": "us-west-2" } }, { - "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms-fips.me-central-1.api.aws" + "url": "https://kms.af-south-1.amazonaws.com" } }, "params": { - "Region": "me-central-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "af-south-1" } }, { - "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms-fips.me-central-1.amazonaws.com" + "url": "https://kms-fips.af-south-1.amazonaws.com" } }, "params": { - "Region": "me-central-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": true + "Region": "af-south-1" } }, { - "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms.me-central-1.api.aws" + "url": "https://kms.ap-south-1.amazonaws.com" } }, "params": { - "Region": "me-central-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-south-1" } }, { - "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms.me-central-1.amazonaws.com" + "url": "https://kms-fips.ap-south-1.amazonaws.com" } }, "params": { - "Region": "me-central-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": false + "Region": "ap-south-1" } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms-fips.ca-central-1.api.aws" + "url": "https://kms.ap-northeast-1.amazonaws.com" } }, "params": { - "Region": "ca-central-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-northeast-1" } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms-fips.ca-central-1.amazonaws.com" + "url": "https://kms-fips.ap-northeast-1.amazonaws.com" } }, "params": { - "Region": "ca-central-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": true + "Region": "ap-northeast-1" } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms.ca-central-1.api.aws" + "url": "https://kms.ap-northeast-2.amazonaws.com" } }, "params": { - "Region": "ca-central-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-northeast-2" } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms.ca-central-1.amazonaws.com" + "url": "https://kms-fips.ap-northeast-2.amazonaws.com" } }, "params": { - "Region": "ca-central-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": false + "Region": "ap-northeast-2" } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms-fips.eu-central-1.api.aws" + "url": "https://kms.ap-northeast-3.amazonaws.com" } }, "params": { - "Region": "eu-central-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-northeast-3" } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms-fips.eu-central-1.amazonaws.com" + "url": "https://kms-fips.ap-northeast-3.amazonaws.com" } }, "params": { - "Region": "eu-central-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": true + "Region": "ap-northeast-3" } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms.eu-central-1.api.aws" + "url": "https://kms.us-east-1.amazonaws.com" } }, "params": { - "Region": "eu-central-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-east-1" } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms.eu-central-1.amazonaws.com" + "url": "https://kms-fips.us-east-1.amazonaws.com" } }, "params": { - "Region": "eu-central-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": false + "Region": "us-east-1" } }, { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + "endpoint": { + "url": "https://kms.eu-west-1.amazonaws.com" + } }, "params": { - "Region": "us-iso-west-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-west-1" } }, { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms-fips.us-iso-west-1.c2s.ic.gov" + "url": "https://kms-fips.eu-west-1.amazonaws.com" } }, "params": { - "Region": "us-iso-west-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": true + "Region": "eu-west-1" } }, { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" + "endpoint": { + "url": "https://kms.eu-west-2.amazonaws.com" + } }, "params": { - "Region": "us-iso-west-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-west-2" } }, { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms.us-iso-west-1.c2s.ic.gov" + "url": "https://kms-fips.eu-west-2.amazonaws.com" } }, "params": { - "Region": "us-iso-west-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": false + "Region": "eu-west-2" } }, { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms-fips.eu-central-2.api.aws" + "url": "https://kms.eu-west-3.amazonaws.com" } }, "params": { - "Region": "eu-central-2", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-west-3" } }, { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms-fips.eu-central-2.amazonaws.com" + "url": "https://kms-fips.eu-west-3.amazonaws.com" } }, "params": { - "Region": "eu-central-2", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": true + "Region": "eu-west-3" } }, { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack enabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms.eu-central-2.api.aws" + "url": "https://kms.me-south-1.amazonaws.com" } }, "params": { - "Region": "eu-central-2", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "me-south-1" } }, { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack disabled", + "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms.eu-central-2.amazonaws.com" + "url": "https://kms-fips.me-south-1.amazonaws.com" } }, "params": { - "Region": "eu-central-2", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": false + "Region": "me-south-1" } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms-fips.us-west-1.api.aws" + "url": "https://kms.eu-north-1.amazonaws.com" } }, "params": { - "Region": "us-west-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-north-1" } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms-fips.us-west-1.amazonaws.com" + "url": "https://kms-fips.eu-north-1.amazonaws.com" } }, "params": { - "Region": "us-west-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": true + "Region": "eu-north-1" } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms.us-west-1.api.aws" + "url": "https://kms.us-east-2.amazonaws.com" } }, "params": { - "Region": "us-west-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-east-2" } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms.us-west-1.amazonaws.com" + "url": "https://kms-fips.us-east-2.amazonaws.com" } }, "params": { - "Region": "us-west-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": false + "Region": "us-east-2" } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kms-fips.us-west-2.api.aws" + "url": "https://kms-fips.us-east-1.api.aws" } }, "params": { - "Region": "us-west-2", + "UseFIPS": true, "UseDualStack": true, - "UseFIPS": true + "Region": "us-east-1" } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kms-fips.us-west-2.amazonaws.com" + "url": "https://kms.us-east-1.api.aws" } }, "params": { - "Region": "us-west-2", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-east-1" } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms.us-west-2.api.aws" + "url": "https://kms.us-gov-west-1.amazonaws.com" } }, "params": { - "Region": "us-west-2", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-gov-west-1" } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms.us-west-2.amazonaws.com" + "url": "https://kms-fips.us-gov-west-1.amazonaws.com" } }, "params": { - "Region": "us-west-2", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": false + "Region": "us-gov-west-1" } }, { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms-fips.af-south-1.api.aws" + "url": "https://kms.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "af-south-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-gov-east-1" } }, { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms-fips.af-south-1.amazonaws.com" + "url": "https://kms-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "af-south-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": true + "Region": "us-gov-east-1" } }, { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kms.af-south-1.api.aws" + "url": "https://kms-fips.us-gov-east-1.api.aws" } }, "params": { - "Region": "af-south-1", + "UseFIPS": true, "UseDualStack": true, - "UseFIPS": false + "Region": "us-gov-east-1" } }, { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kms.af-south-1.amazonaws.com" + "url": "https://kms.us-gov-east-1.api.aws" } }, "params": { - "Region": "af-south-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-gov-east-1" } }, { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms-fips.eu-north-1.api.aws" + "url": "https://kms.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "Region": "eu-north-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-isob-east-1" } }, { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms-fips.eu-north-1.amazonaws.com" + "url": "https://kms-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "Region": "eu-north-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": true + "Region": "us-isob-east-1" } }, { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms.eu-north-1.api.aws" + "url": "https://kms.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "Region": "eu-north-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "cn-northwest-1" } }, { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms.eu-north-1.amazonaws.com" + "url": "https://kms.cn-north-1.amazonaws.com.cn" } }, "params": { - "Region": "eu-north-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false + "Region": "cn-north-1" } }, { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kms-fips.eu-west-3.api.aws" + "url": "https://kms-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "eu-west-3", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-3", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms.eu-west-3.api.aws" - } - }, - "params": { - "Region": "eu-west-3", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms.eu-west-3.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-3", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.eu-west-2.api.aws" - } - }, - "params": { - "Region": "eu-west-2", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-2", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms.eu-west-2.api.aws" - } - }, - "params": { - "Region": "eu-west-2", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms.eu-west-2.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-2", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.eu-west-1.api.aws" - } - }, - "params": { - "Region": "eu-west-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms.eu-west-1.api.aws" - } - }, - "params": { - "Region": "eu-west-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms.eu-west-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "Region": "ap-northeast-3", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-3", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms.ap-northeast-3.api.aws" - } - }, - "params": { - "Region": "ap-northeast-3", + "UseFIPS": true, "UseDualStack": true, - "UseFIPS": false + "Region": "cn-north-1" } }, { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms.ap-northeast-3.amazonaws.com" + "url": "https://kms-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "Region": "ap-northeast-3", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": false + "Region": "cn-north-1" } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kms-fips.ap-northeast-2.api.aws" + "url": "https://kms.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "ap-northeast-2", + "UseFIPS": false, "UseDualStack": true, - "UseFIPS": true + "Region": "cn-north-1" } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms-fips.ap-northeast-2.amazonaws.com" + "url": "https://kms.us-iso-west-1.c2s.ic.gov" } }, "params": { - "Region": "ap-northeast-2", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms.ap-northeast-2.api.aws" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseDualStack": true, - "UseFIPS": false + "Region": "us-iso-west-1" } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms.ap-northeast-2.amazonaws.com" + "url": "https://kms-fips.us-iso-west-1.c2s.ic.gov" } }, "params": { - "Region": "ap-northeast-2", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseDualStack": true, - "UseFIPS": true + "Region": "us-iso-west-1" } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms-fips.ap-northeast-1.amazonaws.com" + "url": "https://kms.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "ap-northeast-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms.ap-northeast-1.api.aws" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "us-iso-east-1" } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kms.ap-northeast-1.amazonaws.com" + "url": "https://kms-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "ap-northeast-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.me-south-1.api.aws" - } - }, - "params": { - "Region": "me-south-1", - "UseDualStack": true, - "UseFIPS": true + "Region": "us-iso-east-1" } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For custom endpoint with fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://kms-fips.me-south-1.amazonaws.com" + "url": "https://example.com" } }, "params": { - "Region": "me-south-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms.me-south-1.api.aws" - } - }, - "params": { - "Region": "me-south-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "us-east-1", + "Endpoint": "https://example.com" } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with fips enabled and dualstack disabled", "expect": { - "endpoint": { - "url": "https://kms.me-south-1.amazonaws.com" - } + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "Region": "me-south-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": false + "Region": "us-east-1", + "Endpoint": "https://example.com" } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For custom endpoint with fips disabled and dualstack enabled", "expect": { - "endpoint": { - "url": "https://kms-fips.sa-east-1.api.aws" - } + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "Region": "sa-east-1", + "UseFIPS": false, "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "Region": "sa-east-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms.sa-east-1.api.aws" - } - }, - "params": { - "Region": "sa-east-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms.sa-east-1.amazonaws.com" - } - }, - "params": { - "Region": "sa-east-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.ap-east-1.api.aws" - } - }, - "params": { - "Region": "ap-east-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.ap-east-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-east-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms.ap-east-1.api.aws" - } - }, - "params": { - "Region": "ap-east-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms.ap-east-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-east-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.us-gov-west-1.api.aws" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms.us-gov-west-1.api.aws" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.ap-southeast-1.api.aws" - } - }, - "params": { - "Region": "ap-southeast-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms.ap-southeast-1.api.aws" - } - }, - "params": { - "Region": "ap-southeast-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.ap-southeast-2.api.aws" - } - }, - "params": { - "Region": "ap-southeast-2", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-2", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms.ap-southeast-2.api.aws" - } - }, - "params": { - "Region": "ap-southeast-2", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-2", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "Region": "us-iso-east-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "Region": "us-iso-east-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.ap-southeast-3.api.aws" - } - }, - "params": { - "Region": "ap-southeast-3", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.ap-southeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-3", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms.ap-southeast-3.api.aws" - } - }, - "params": { - "Region": "ap-southeast-3", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms.ap-southeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-3", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.ap-southeast-4.api.aws" - } - }, - "params": { - "Region": "ap-southeast-4", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.ap-southeast-4.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-4", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms.ap-southeast-4.api.aws" - } - }, - "params": { - "Region": "ap-southeast-4", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms.ap-southeast-4.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-4", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.us-east-1.api.aws" - } - }, - "params": { - "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.us-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms.us-east-1.api.aws" - } - }, - "params": { - "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms.us-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.us-east-2.api.aws" - } - }, - "params": { - "Region": "us-east-2", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "Region": "us-east-2", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms.us-east-2.api.aws" - } - }, - "params": { - "Region": "us-east-2", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms.us-east-2.amazonaws.com" - } - }, - "params": { - "Region": "us-east-2", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.cn-northwest-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-northwest-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.cn-northwest-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-northwest-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kms.cn-northwest-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-northwest-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms.cn-northwest-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-northwest-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "Region": "us-isob-east-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms-fips.us-isob-east-1.sc2s.sgov.gov" - } - }, - "params": { - "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "Region": "us-isob-east-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kms.us-isob-east-1.sc2s.sgov.gov" - } - }, - "params": { - "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", - "expect": { - "endpoint": { - "url": "https://example.com" - } - }, - "params": { - "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": false, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with fips enabled and dualstack disabled", - "expect": { - "error": "Invalid Configuration: FIPS and custom endpoint are not supported" - }, - "params": { - "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": true, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with fips disabled and dualstack enabled", - "expect": { - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" - }, - "params": { - "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": false, - "Endpoint": "https://example.com" + "Region": "us-east-1", + "Endpoint": "https://example.com" } } ], @@ -7452,7 +6883,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes tags from a customer managed key. To delete a tag,\n specify the tag key and the KMS key.

\n \n

Tagging or untagging a KMS key can allow or deny permission to the KMS key. For details, see ABAC in KMS in the Key Management Service Developer Guide.

\n
\n

When it succeeds, the UntagResource operation doesn't return any output.\n Also, if the specified tag key isn't found on the KMS key, it doesn't throw an exception or\n return a response. To confirm that the operation worked, use the ListResourceTags operation.

\n\n

For information about using tags in KMS, see Tagging keys. For general information about\n tags, including the format and syntax, see Tagging Amazon Web Services resources in the Amazon\n Web Services General Reference.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:UntagResource (key policy)

\n

\n Related operations\n

\n " + "smithy.api#documentation": "

Deletes tags from a customer managed key. To delete a tag,\n specify the tag key and the KMS key.

\n \n

Tagging or untagging a KMS key can allow or deny permission to the KMS key. For details, see ABAC for KMS in the Key Management Service Developer Guide.

\n
\n

When it succeeds, the UntagResource operation doesn't return any output.\n Also, if the specified tag key isn't found on the KMS key, it doesn't throw an exception or\n return a response. To confirm that the operation worked, use the ListResourceTags operation.

\n\n

For information about using tags in KMS, see Tagging keys. For general information about\n tags, including the format and syntax, see Tagging Amazon Web Services resources in the Amazon\n Web Services General Reference.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:UntagResource (key policy)

\n

\n Related operations\n

\n " } }, "com.amazonaws.kms#UntagResourceRequest": { @@ -7500,7 +6931,7 @@ } ], "traits": { - "smithy.api#documentation": "

Associates an existing KMS alias with a different KMS key. Each alias is associated with\n only one KMS key at a time, although a KMS key can have multiple aliases. The alias and the\n KMS key must be in the same Amazon Web Services account and Region.

\n \n

Adding, deleting, or updating an alias can allow or deny permission to the KMS key. For details, see ABAC in KMS in the Key Management Service Developer Guide.

\n
\n

The current and new KMS key must be the same type (both symmetric or both asymmetric), and\n they must have the same key usage (ENCRYPT_DECRYPT or SIGN_VERIFY).\n This restriction prevents errors in code that uses aliases. If you must assign an alias to a\n different type of KMS key, use DeleteAlias to delete the old alias and CreateAlias to create a new alias.

\n

You cannot use UpdateAlias to change an alias name. To change an alias name,\n use DeleteAlias to delete the old alias and CreateAlias to\n create a new alias.

\n

Because an alias is not a property of a KMS key, you can create, update, and delete the\n aliases of a KMS key without affecting the KMS key. Also, aliases do not appear in the\n response from the DescribeKey operation. To get the aliases of all KMS keys\n in the account, use the ListAliases operation.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n

\n Required permissions\n

\n \n

For details, see Controlling access to aliases in the\n Key Management Service Developer Guide.

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Associates an existing KMS alias with a different KMS key. Each alias is associated with\n only one KMS key at a time, although a KMS key can have multiple aliases. The alias and the\n KMS key must be in the same Amazon Web Services account and Region.

\n \n

Adding, deleting, or updating an alias can allow or deny permission to the KMS key. For details, see ABAC for KMS in the Key Management Service Developer Guide.

\n
\n

The current and new KMS key must be the same type (both symmetric or both asymmetric or\n both HMAC), and they must have the same key usage. This restriction prevents errors in code\n that uses aliases. If you must assign an alias to a different type of KMS key, use DeleteAlias to delete the old alias and CreateAlias to create\n a new alias.

\n

You cannot use UpdateAlias to change an alias name. To change an alias name,\n use DeleteAlias to delete the old alias and CreateAlias to\n create a new alias.

\n

Because an alias is not a property of a KMS key, you can create, update, and delete the\n aliases of a KMS key without affecting the KMS key. Also, aliases do not appear in the\n response from the DescribeKey operation. To get the aliases of all KMS keys\n in the account, use the ListAliases operation.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n

\n Required permissions\n

\n \n

For details, see Controlling access to aliases in the\n Key Management Service Developer Guide.

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#UpdateAliasRequest": { @@ -7516,7 +6947,7 @@ "TargetKeyId": { "target": "com.amazonaws.kms#KeyIdType", "traits": { - "smithy.api#documentation": "

Identifies the customer managed key to associate with the alias. You don't have permission to\n associate an alias with an Amazon Web Services managed key.

\n

The KMS key must be in the same Amazon Web Services account and Region as the alias. Also, the new\n target KMS key must be the same type as the current target KMS key (both symmetric or both\n asymmetric) and they must have the same key usage.

\n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

\n

To\n verify that the alias is mapped to the correct KMS key, use ListAliases.

", + "smithy.api#documentation": "

Identifies the customer managed key to associate with the alias. You don't have permission to\n associate an alias with an Amazon Web Services managed key.

\n

The KMS key must be in the same Amazon Web Services account and Region as the alias. Also, the new\n target KMS key must be the same type as the current target KMS key (both symmetric or both\n asymmetric or both HMAC) and they must have the same key usage.

\n \n

Specify the key ID or key ARN of the KMS key.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

\n\n

To verify that the alias is mapped to the correct KMS key, use ListAliases.

", "smithy.api#required": {} } } @@ -7554,10 +6985,37 @@ }, { "target": "com.amazonaws.kms#KMSInternalException" + }, + { + "target": "com.amazonaws.kms#XksProxyIncorrectAuthenticationCredentialException" + }, + { + "target": "com.amazonaws.kms#XksProxyInvalidConfigurationException" + }, + { + "target": "com.amazonaws.kms#XksProxyInvalidResponseException" + }, + { + "target": "com.amazonaws.kms#XksProxyUriEndpointInUseException" + }, + { + "target": "com.amazonaws.kms#XksProxyUriInUseException" + }, + { + "target": "com.amazonaws.kms#XksProxyUriUnreachableException" + }, + { + "target": "com.amazonaws.kms#XksProxyVpcEndpointServiceInUseException" + }, + { + "target": "com.amazonaws.kms#XksProxyVpcEndpointServiceInvalidConfigurationException" + }, + { + "target": "com.amazonaws.kms#XksProxyVpcEndpointServiceNotFoundException" } ], "traits": { - "smithy.api#documentation": "

Changes the properties of a custom key store. Use the CustomKeyStoreId\n parameter to identify the custom key store you want to edit. Use the remaining parameters to\n change the properties of the custom key store.

\n

You can only update a custom key store that is disconnected. To disconnect the custom key\n store, use DisconnectCustomKeyStore. To reconnect the custom key store after\n the update completes, use ConnectCustomKeyStore. To find the connection\n state of a custom key store, use the DescribeCustomKeyStores\n operation.

\n

The CustomKeyStoreId parameter is required in all commands. Use the other\n parameters of UpdateCustomKeyStore to edit your key store settings.

\n
    \n
  • \n

    Use the NewCustomKeyStoreName parameter to change the friendly name of\n the custom key store to the value that you specify.

    \n

    \n
  • \n
  • \n

    Use the KeyStorePassword parameter tell KMS the current password of the\n \n kmsuser crypto user (CU) in the associated CloudHSM cluster. You\n can use this parameter to fix connection\n failures that occur when KMS cannot log into the associated cluster because\n the kmsuser password has changed. This value does not change the password in\n the CloudHSM cluster.

    \n

    \n
  • \n
  • \n

    Use the CloudHsmClusterId parameter to associate the custom key store\n with a different, but related, CloudHSM cluster. You can use this parameter to repair a\n custom key store if its CloudHSM cluster becomes corrupted or is deleted, or when you need to\n create or restore a cluster from a backup.

    \n
  • \n
\n

If the operation succeeds, it returns a JSON object with no\nproperties.

\n

This operation is part of the custom key store feature feature in KMS, which\ncombines the convenience and extensive integration of KMS with the isolation and control of a\nsingle-tenant key store.

\n

\n Cross-account\n use: No. You cannot perform this operation on a custom key store in a different Amazon Web Services account.

\n

\n Required permissions: kms:UpdateCustomKeyStore (IAM policy)

\n

\n Related operations:\n

\n " + "smithy.api#documentation": "

Changes the properties of a custom key store. You can use this operation to change the\n properties of an CloudHSM key store or an external key store.

\n

Use the required CustomKeyStoreId parameter to identify the custom key store.\n Use the remaining optional parameters to change its properties. This operation does not return\n any property values. To verify the updated property values, use the DescribeCustomKeyStores operation.

\n

This operation is part of the custom key stores feature in KMS, which\ncombines the convenience and extensive integration of KMS with the isolation and control of a\nkey store that you own and manage.

\n \n

When updating the properties of an external key store, verify that the updated settings\n connect your key store, via the external key store proxy, to the same external key manager\n as the previous settings, or to a backup or snapshot of the external key manager with the\n same cryptographic keys. If the updated connection settings fail, you can fix them and\n retry, although an extended delay might disrupt Amazon Web Services services. However, if KMS\n permanently loses its access to cryptographic keys, ciphertext encrypted under those keys is\n unrecoverable.

\n
\n \n

For external key stores:

\n

Some external key managers provide a simpler method for updating an external key store.\n For details, see your external key manager documentation.

\n

When updating an external key store in the KMS console, you can upload a JSON-based\n proxy configuration file with the desired values. You cannot upload the proxy configuration\n file to the UpdateCustomKeyStore operation. However, you can use the file to\n help you determine the correct values for the UpdateCustomKeyStore\n parameters.

\n
\n

For an CloudHSM key store, you can use this operation to change the custom key store friendly\n name (NewCustomKeyStoreName), to tell KMS about a change to the\n kmsuser crypto user password (KeyStorePassword), or to associate\n the custom key store with a different, but related, CloudHSM cluster\n (CloudHsmClusterId). To update any property of an CloudHSM key store, the\n ConnectionState of the CloudHSM key store must be DISCONNECTED.

\n

For an external key store, you can use this operation to change the custom key store\n friendly name (NewCustomKeyStoreName), or to tell KMS about a change to the\n external key store proxy authentication credentials\n (XksProxyAuthenticationCredential), connection method\n (XksProxyConnectivity), external proxy endpoint\n (XksProxyUriEndpoint) and path (XksProxyUriPath). For external key\n stores with an XksProxyConnectivity of VPC_ENDPOINT_SERVICE, you can\n also update the Amazon VPC endpoint service name (XksProxyVpcEndpointServiceName). To\n update most properties of an external key store, the ConnectionState of the\n external key store must be DISCONNECTED. However, you can update the\n CustomKeyStoreName, XksProxyAuthenticationCredential, and\n XksProxyUriPath of an external key store when it is in the CONNECTED or\n DISCONNECTED state.

\n

If your update requires a DISCONNECTED state, before using\n UpdateCustomKeyStore, use the DisconnectCustomKeyStore\n operation to disconnect the custom key store. After the UpdateCustomKeyStore\n operation completes, use the ConnectCustomKeyStore to reconnect the custom\n key store. To find the ConnectionState of the custom key store, use the DescribeCustomKeyStores operation.

\n

\n

\n

Before updating the custom key store, verify that the new values allow KMS to connect\n the custom key store to its backing key store. For example, before you change the\n XksProxyUriPath value, verify that the external key store proxy is reachable at\n the new path.

\n

If the operation succeeds, it returns a JSON object with no\nproperties.

\n

\n Cross-account use: No. You cannot perform this operation on a custom key store in a different Amazon Web Services account.

\n

\n Required permissions: kms:UpdateCustomKeyStore (IAM policy)

\n

\n Related operations:\n

\n " } }, "com.amazonaws.kms#UpdateCustomKeyStoreRequest": { @@ -7573,19 +7031,49 @@ "NewCustomKeyStoreName": { "target": "com.amazonaws.kms#CustomKeyStoreNameType", "traits": { - "smithy.api#documentation": "

Changes the friendly name of the custom key store to the value that you specify. The\n custom key store name must be unique in the Amazon Web Services account.

" + "smithy.api#documentation": "

Changes the friendly name of the custom key store to the value that you specify. The\n custom key store name must be unique in the Amazon Web Services account.

\n

To change this value, an CloudHSM key store must be disconnected. An external key store can\n be connected or disconnected.

" } }, "KeyStorePassword": { "target": "com.amazonaws.kms#KeyStorePasswordType", "traits": { - "smithy.api#documentation": "

Enter the current password of the kmsuser crypto user (CU) in the CloudHSM\n cluster that is associated with the custom key store.

\n

This parameter tells KMS the current password of the kmsuser crypto user\n (CU). It does not set or change the password of any users in the CloudHSM cluster.

" + "smithy.api#documentation": "

Enter the current password of the kmsuser crypto user (CU) in the CloudHSM\n cluster that is associated with the custom key store. This parameter is valid only for custom\n key stores with a CustomKeyStoreType of AWS_CLOUDHSM.

\n

This parameter tells KMS the current password of the kmsuser crypto user\n (CU). It does not set or change the password of any users in the CloudHSM cluster.

\n

To change this value, the CloudHSM key store must be disconnected.

" } }, "CloudHsmClusterId": { "target": "com.amazonaws.kms#CloudHsmClusterIdType", "traits": { - "smithy.api#documentation": "

Associates the custom key store with a related CloudHSM cluster.

\n

Enter the cluster ID of the cluster that you used to create the custom key store or a\n cluster that shares a backup history and has the same cluster certificate as the original\n cluster. You cannot use this parameter to associate a custom key store with an unrelated\n cluster. In addition, the replacement cluster must fulfill the requirements for\n a cluster associated with a custom key store. To view the cluster certificate of a cluster,\n use the DescribeClusters operation.

" + "smithy.api#documentation": "

Associates the custom key store with a related CloudHSM cluster. This parameter is valid only\n for custom key stores with a CustomKeyStoreType of\n AWS_CLOUDHSM.

\n

Enter the cluster ID of the cluster that you used to create the custom key store or a\n cluster that shares a backup history and has the same cluster certificate as the original\n cluster. You cannot use this parameter to associate a custom key store with an unrelated\n cluster. In addition, the replacement cluster must fulfill the requirements for\n a cluster associated with a custom key store. To view the cluster certificate of a cluster,\n use the DescribeClusters operation.

\n

To change this value, the CloudHSM key store must be disconnected.

" + } + }, + "XksProxyUriEndpoint": { + "target": "com.amazonaws.kms#XksProxyUriEndpointType", + "traits": { + "smithy.api#documentation": "

Changes the URI endpoint that KMS uses to connect to your external key store proxy (XKS\n proxy). This parameter is valid only for custom key stores with a\n CustomKeyStoreType of EXTERNAL_KEY_STORE.

\n

For external key stores with an XksProxyConnectivity value of\n PUBLIC_ENDPOINT, the protocol must be HTTPS.

\n

For external key stores with an XksProxyConnectivity value of\n VPC_ENDPOINT_SERVICE, specify https:// followed by the private DNS\n name associated with the VPC endpoint service. Each external key store must use a different\n private DNS name.

\n

The combined XksProxyUriEndpoint and XksProxyUriPath values must\n be unique in the Amazon Web Services account and Region.

\n

To change this value, the external key store must be disconnected.

" + } + }, + "XksProxyUriPath": { + "target": "com.amazonaws.kms#XksProxyUriPathType", + "traits": { + "smithy.api#documentation": "

Changes the base path to the proxy APIs for this external key store. To find this value,\n see the documentation for your external key manager and external key store proxy (XKS proxy).\n This parameter is valid only for custom key stores with a CustomKeyStoreType of\n EXTERNAL_KEY_STORE.

\n

The value must start with / and must end with /kms/xks/v1, where\n v1 represents the version of the KMS external key store proxy API. You can\n include an optional prefix between the required elements such as\n /example/kms/xks/v1.

\n

The combined XksProxyUriEndpoint and XksProxyUriPath values must\n be unique in the Amazon Web Services account and Region.

\n

You can change this value when the external key store is connected or disconnected.

" + } + }, + "XksProxyVpcEndpointServiceName": { + "target": "com.amazonaws.kms#XksProxyVpcEndpointServiceNameType", + "traits": { + "smithy.api#documentation": "

Changes the name that KMS uses to identify the Amazon VPC endpoint service for your external\n key store proxy (XKS proxy). This parameter is valid when the CustomKeyStoreType\n is EXTERNAL_KEY_STORE and the XksProxyConnectivity is\n VPC_ENDPOINT_SERVICE.

\n

To change this value, the external key store must be disconnected.

" + } + }, + "XksProxyAuthenticationCredential": { + "target": "com.amazonaws.kms#XksProxyAuthenticationCredentialType", + "traits": { + "smithy.api#documentation": "

Changes the credentials that KMS uses to sign requests to the external key store proxy\n (XKS proxy). This parameter is valid only for custom key stores with a\n CustomKeyStoreType of EXTERNAL_KEY_STORE.

\n

You must specify both the AccessKeyId and SecretAccessKey value\n in the authentication credential, even if you are only updating one value.

\n

This parameter doesn't establish or change your authentication credentials on the proxy.\n It just tells KMS the credential that you established with your external key store proxy.\n For example, if you rotate the credential on your external key store proxy, you can use this\n parameter to update the credential in KMS.

\n

You can change this value when the external key store is connected or disconnected.

" + } + }, + "XksProxyConnectivity": { + "target": "com.amazonaws.kms#XksProxyConnectivityType", + "traits": { + "smithy.api#documentation": "

Changes the connectivity setting for the external key store. To indicate that the external\n key store proxy uses a Amazon VPC endpoint service to communicate with KMS, specify\n VPC_ENDPOINT_SERVICE. Otherwise, specify PUBLIC_ENDPOINT.

\n

If you change the XksProxyConnectivity to VPC_ENDPOINT_SERVICE,\n you must also change the XksProxyUriEndpoint and add an\n XksProxyVpcEndpointServiceName value.

\n

If you change the XksProxyConnectivity to PUBLIC_ENDPOINT, you\n must also change the XksProxyUriEndpoint and specify a null or empty string for\n the XksProxyVpcEndpointServiceName value.

\n

To change this value, the external key store must be disconnected.

" } } } @@ -7620,7 +7108,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates the description of a KMS key. To see the description of a KMS key, use DescribeKey.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account\n use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:UpdateKeyDescription (key policy)

\n

\n Related operations\n

\n " + "smithy.api#documentation": "

Updates the description of a KMS key. To see the description of a KMS key, use DescribeKey.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

\n\n

\n Required permissions: kms:UpdateKeyDescription (key policy)

\n

\n Related operations\n

\n " } }, "com.amazonaws.kms#UpdateKeyDescriptionRequest": { @@ -7680,7 +7168,7 @@ "KeyId": { "target": "com.amazonaws.kms#KeyIdType", "traits": { - "smithy.api#documentation": "

Identifies the current primary key. When the operation completes, this KMS key will be a\n replica key.

\n

Specify the key ID or key ARN of a multi-Region primary key.

\n

For example:

\n
    \n
  • \n

    Key ID: mrk-1234abcd12ab34cd56ef1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", + "smithy.api#documentation": "

Identifies the current primary key. When the operation completes, this KMS key will be a\n replica key.

\n \n

Specify the key ID or key ARN of a multi-Region primary key.

\n

For example:

\n
    \n
  • \n

    Key ID: mrk-1234abcd12ab34cd56ef1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

", "smithy.api#required": {} } }, @@ -7731,7 +7219,7 @@ } ], "traits": { - "smithy.api#documentation": "

Verifies a digital signature that was generated by the Sign operation.

\n

\n

Verification confirms that an authorized user signed the message with the specified KMS\n key and signing algorithm, and the message hasn't changed since it was signed. If the\n signature is verified, the value of the SignatureValid field in the response is\n True. If the signature verification fails, the Verify operation\n fails with an KMSInvalidSignatureException exception.

\n

A digital signature is generated by using the private key in an asymmetric KMS key. The\n signature is verified by using the public key in the same asymmetric KMS key.\n For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

\n

To verify a digital signature, you can use the Verify operation. Specify the\n same asymmetric KMS key, message, and signing algorithm that were used to produce the\n signature.

\n

You can also verify the digital signature by using the public key of the KMS key outside\n of KMS. Use the GetPublicKey operation to download the public key in the\n asymmetric KMS key and then use the public key to verify the signature outside of KMS. To \n verify a signature outside of KMS with an SM2 public key, you must specify the distinguishing \n ID. By default, KMS uses 1234567812345678 as the distinguishing ID. For more \n information, see Offline\n verification with SM2 key pairs in Key Management Service Developer Guide. The\n advantage of using the Verify operation is that it is performed within KMS. As\n a result, it's easy to call, the operation is performed within the FIPS boundary, it is logged\n in CloudTrail, and you can use key policy and IAM policy to determine who is authorized to use\n the KMS key to verify signatures.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:Verify (key policy)

\n

\n Related operations: Sign\n

" + "smithy.api#documentation": "

Verifies a digital signature that was generated by the Sign operation.

\n

\n

Verification confirms that an authorized user signed the message with the specified KMS\n key and signing algorithm, and the message hasn't changed since it was signed. If the\n signature is verified, the value of the SignatureValid field in the response is\n True. If the signature verification fails, the Verify operation\n fails with an KMSInvalidSignatureException exception.

\n

A digital signature is generated by using the private key in an asymmetric KMS key. The\n signature is verified by using the public key in the same asymmetric KMS key.\n For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

\n

To verify a digital signature, you can use the Verify operation. Specify the\n same asymmetric KMS key, message, and signing algorithm that were used to produce the\n signature.

\n

You can also verify the digital signature by using the public key of the KMS key outside\n of KMS. Use the GetPublicKey operation to download the public key in the\n asymmetric KMS key and then use the public key to verify the signature outside of KMS. The\n advantage of using the Verify operation is that it is performed within KMS. As\n a result, it's easy to call, the operation is performed within the FIPS boundary, it is logged\n in CloudTrail, and you can use key policy and IAM policy to determine who is authorized to use\n the KMS key to verify signatures.

\n

To verify a signature outside of KMS with an SM2 public key (China Regions only), you must \n specify the distinguishing ID. By default, KMS uses 1234567812345678 as the \n distinguishing ID. For more information, see Offline verification\n with SM2 key pairs.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n

\n Required permissions: kms:Verify (key policy)

\n

\n Related operations: Sign\n

" } }, "com.amazonaws.kms#VerifyMac": { @@ -7764,155 +7252,512 @@ { "target": "com.amazonaws.kms#KMSInvalidStateException" }, - { - "target": "com.amazonaws.kms#NotFoundException" + { + "target": "com.amazonaws.kms#NotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Verifies the hash-based message authentication code (HMAC) for a specified message, HMAC\n KMS key, and MAC algorithm. To verify the HMAC, VerifyMac computes an HMAC using\n the message, HMAC KMS key, and MAC algorithm that you specify, and compares the computed HMAC\n to the HMAC that you specify. If the HMACs are identical, the verification succeeds;\n otherwise, it fails. Verification indicates that the message hasn't changed since the HMAC was\n calculated, and the specified key was used to generate and verify the HMAC.

\n

HMAC KMS keys and the HMAC algorithms that KMS uses conform to industry standards\n defined in RFC 2104.

\n

This operation is part of KMS support for HMAC KMS keys. For details, see\n HMAC keys in KMS in the\n Key Management Service Developer Guide.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n\n

\n Required permissions: kms:VerifyMac (key policy)

\n

\n Related operations: GenerateMac\n

" + } + }, + "com.amazonaws.kms#VerifyMacRequest": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.kms#PlaintextType", + "traits": { + "smithy.api#documentation": "

The message that will be used in the verification. Enter the same message that was used to\n generate the HMAC.

\n

\n GenerateMac and VerifyMac do not provide special handling\n for message digests. If you generated an HMAC for a hash digest of a message, you must verify\n the HMAC for the same hash digest.

", + "smithy.api#required": {} + } + }, + "KeyId": { + "target": "com.amazonaws.kms#KeyIdType", + "traits": { + "smithy.api#documentation": "

The KMS key that will be used in the verification.

\n\n

Enter a key ID of the KMS key that was used to generate the HMAC. If you identify a\n different KMS key, the VerifyMac operation fails.

", + "smithy.api#required": {} + } + }, + "MacAlgorithm": { + "target": "com.amazonaws.kms#MacAlgorithmSpec", + "traits": { + "smithy.api#documentation": "

The MAC algorithm that will be used in the verification. Enter the same MAC algorithm that\n was used to compute the HMAC. This algorithm must be supported by the HMAC KMS key identified\n by the KeyId parameter.

", + "smithy.api#required": {} + } + }, + "Mac": { + "target": "com.amazonaws.kms#CiphertextType", + "traits": { + "smithy.api#documentation": "

The HMAC to verify. Enter the HMAC that was generated by the GenerateMac\n operation when you specified the same message, HMAC KMS key, and MAC algorithm as the values\n specified in this request.

", + "smithy.api#required": {} + } + }, + "GrantTokens": { + "target": "com.amazonaws.kms#GrantTokenList", + "traits": { + "smithy.api#documentation": "

A list of grant tokens.

\n

Use a grant token when your permission to call this operation comes from a new grant that has not yet achieved eventual consistency. For more information, see Grant token and Using a grant token in the\n Key Management Service Developer Guide.

" + } + } + } + }, + "com.amazonaws.kms#VerifyMacResponse": { + "type": "structure", + "members": { + "KeyId": { + "target": "com.amazonaws.kms#KeyIdType", + "traits": { + "smithy.api#documentation": "

The HMAC KMS key used in the verification.

" + } + }, + "MacValid": { + "target": "com.amazonaws.kms#BooleanType", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

A Boolean value that indicates whether the HMAC was verified. A value of True\n indicates that the HMAC (Mac) was generated with the specified\n Message, HMAC KMS key (KeyID) and\n MacAlgorithm..

\n

If the HMAC is not verified, the VerifyMac operation fails with a\n KMSInvalidMacException exception. This exception indicates that one or more of\n the inputs changed since the HMAC was computed.

" + } + }, + "MacAlgorithm": { + "target": "com.amazonaws.kms#MacAlgorithmSpec", + "traits": { + "smithy.api#documentation": "

The MAC algorithm used in the verification.

" + } + } + } + }, + "com.amazonaws.kms#VerifyRequest": { + "type": "structure", + "members": { + "KeyId": { + "target": "com.amazonaws.kms#KeyIdType", + "traits": { + "smithy.api#documentation": "

Identifies the asymmetric KMS key that will be used to verify the signature. This must be\n the same KMS key that was used to generate the signature. If you specify a different KMS key,\n the signature verification fails.

\n \n

To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Alias name: alias/ExampleAlias\n

    \n
  • \n
  • \n

    Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

", + "smithy.api#required": {} + } + }, + "Message": { + "target": "com.amazonaws.kms#PlaintextType", + "traits": { + "smithy.api#documentation": "

Specifies the message that was signed. You can submit a raw message of up to 4096 bytes,\n or a hash digest of the message. If you submit a digest, use the MessageType\n parameter with a value of DIGEST.

\n

If the message specified here is different from the message that was signed, the signature\n verification fails. A message and its hash digest are considered to be the same\n message.

", + "smithy.api#required": {} + } + }, + "MessageType": { + "target": "com.amazonaws.kms#MessageType", + "traits": { + "smithy.api#documentation": "

Tells KMS whether the value of the Message parameter is a message or\n message digest. The default value, RAW, indicates a message. To indicate a message digest,\n enter DIGEST.

\n \n

Use the DIGEST value only when the value of the Message\n parameter is a message digest. If you use the DIGEST value with a raw message,\n the security of the verification operation can be compromised.

\n
" + } + }, + "Signature": { + "target": "com.amazonaws.kms#CiphertextType", + "traits": { + "smithy.api#documentation": "

The signature that the Sign operation generated.

", + "smithy.api#required": {} + } + }, + "SigningAlgorithm": { + "target": "com.amazonaws.kms#SigningAlgorithmSpec", + "traits": { + "smithy.api#documentation": "

The signing algorithm that was used to sign the message. If you submit a different\n algorithm, the signature verification fails.

", + "smithy.api#required": {} + } + }, + "GrantTokens": { + "target": "com.amazonaws.kms#GrantTokenList", + "traits": { + "smithy.api#documentation": "

A list of grant tokens.

\n

Use a grant token when your permission to call this operation comes from a new grant that has not yet achieved eventual consistency. For more information, see Grant token and Using a grant token in the\n Key Management Service Developer Guide.

" + } + } + } + }, + "com.amazonaws.kms#VerifyResponse": { + "type": "structure", + "members": { + "KeyId": { + "target": "com.amazonaws.kms#KeyIdType", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (key ARN) of the asymmetric KMS key that was used to verify the signature.

" + } + }, + "SignatureValid": { + "target": "com.amazonaws.kms#BooleanType", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

A Boolean value that indicates whether the signature was verified. A value of\n True indicates that the Signature was produced by signing the\n Message with the specified KeyID and\n SigningAlgorithm. If the signature is not verified, the Verify\n operation fails with a KMSInvalidSignatureException exception.

" + } + }, + "SigningAlgorithm": { + "target": "com.amazonaws.kms#SigningAlgorithmSpec", + "traits": { + "smithy.api#documentation": "

The signing algorithm that was used to verify the signature.

" + } + } + } + }, + "com.amazonaws.kms#WrappingKeySpec": { + "type": "enum", + "members": { + "RSA_2048": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RSA_2048" + } + } + } + }, + "com.amazonaws.kms#XksKeyAlreadyInUseException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.kms#ErrorMessageType" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "XksKeyAlreadyInUse", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

The request was rejected because the (XksKeyId) is already associated with a\n KMS key in this external key store. Each KMS key in an external key store must be associated\n with a different external key.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.kms#XksKeyConfigurationType": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.kms#XksKeyIdType", + "traits": { + "smithy.api#documentation": "

The ID of the external key in its external key manager. This is the ID that the external key store proxy uses to identify the external key.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about the external key that is associated with a KMS key in an\n external key store.

\n

This element appears in a CreateKey or DescribeKey\n response only for a KMS key in an external key store.

\n

The external key is a symmetric encryption key that is hosted by\n an external key manager outside of Amazon Web Services. When you use the KMS key in an external key store\n in a cryptographic operation, the cryptographic operation is performed in the\n external key manager using the specified external key. For more information, see External key in the Key Management Service Developer Guide.

" + } + }, + "com.amazonaws.kms#XksKeyIdType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^[a-zA-Z0-9-_.]+$" + } + }, + "com.amazonaws.kms#XksKeyInvalidConfigurationException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.kms#ErrorMessageType" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "XksKeyInvalidConfiguration", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

The request was rejected because the external key specified by the XksKeyId\n parameter did not meet the configuration requirements for an external key store.

\n

The external key must be an AES-256 symmetric key that is enabled and performs encryption\n and decryption.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.kms#XksKeyNotFoundException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.kms#ErrorMessageType" } - ], + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "XksKeyNotFoundException", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

The request was rejected because the external key store proxy could not find the external key. This\n exception is thrown when the value of the XksKeyId parameter doesn't identify a\n key in the external key manager associated with the external key proxy.

\n

Verify that the XksKeyId represents an existing key in the external key\n manager. Use the key identifier that the external key store proxy uses to identify the key.\n For details, see the documentation provided with your external key store proxy or key\n manager.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.kms#XksProxyAuthenticationAccessKeyIdType": { + "type": "string", "traits": { - "smithy.api#documentation": "

Verifies the hash-based message authentication code (HMAC) for a specified message, HMAC\n KMS key, and MAC algorithm. To verify the HMAC, VerifyMac computes an HMAC using\n the message, HMAC KMS key, and MAC algorithm that you specify, and compares the computed HMAC\n to the HMAC that you specify. If the HMACs are identical, the verification succeeds;\n otherwise, it fails.

\n \n

Verification indicates that the message hasn't changed since the HMAC was calculated, and\n the specified key was used to generate and verify the HMAC.

\n

This operation is part of KMS support for HMAC KMS keys. For details, see\n HMAC keys in KMS in the Key Management Service Developer Guide.

\n \n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n \n

\n Required permissions: kms:VerifyMac (key policy)

\n

\n Related operations: GenerateMac\n

" + "smithy.api#length": { + "min": 20, + "max": 30 + }, + "smithy.api#pattern": "^[A-Z2-7]+$", + "smithy.api#sensitive": {} } }, - "com.amazonaws.kms#VerifyMacRequest": { + "com.amazonaws.kms#XksProxyAuthenticationCredentialType": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.kms#PlaintextType", + "AccessKeyId": { + "target": "com.amazonaws.kms#XksProxyAuthenticationAccessKeyIdType", "traits": { - "smithy.api#documentation": "

The message that will be used in the verification. Enter the same message that was used to\n generate the HMAC.

\n

\n GenerateMac and VerifyMac do not provide special handling\n for message digests. If you generated an HMAC for a hash digest of a message, you must verify\n the HMAC for the same hash digest.

", + "smithy.api#documentation": "

A unique identifier for the raw secret access key.

", "smithy.api#required": {} } }, - "KeyId": { - "target": "com.amazonaws.kms#KeyIdType", + "RawSecretAccessKey": { + "target": "com.amazonaws.kms#XksProxyAuthenticationRawSecretAccessKeyType", "traits": { - "smithy.api#documentation": "

The KMS key that will be used in the verification.

\n \n

Enter a key ID of the KMS\n key that was used to generate the HMAC. If you identify a different KMS key, the VerifyMac operation fails.

", + "smithy.api#documentation": "

A secret string of 43-64 characters. Valid characters are a-z, A-Z, 0-9, /, +, and\n =.

", "smithy.api#required": {} } + } + }, + "traits": { + "smithy.api#documentation": "

KMS uses the authentication credential to sign requests that it sends to the external\n key store proxy (XKS proxy) on your behalf. You establish these credentials on your external\n key store proxy and report them to KMS.

\n

The XksProxyAuthenticationCredential includes two required elements.

" + } + }, + "com.amazonaws.kms#XksProxyAuthenticationRawSecretAccessKeyType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 43, + "max": 64 }, - "MacAlgorithm": { - "target": "com.amazonaws.kms#MacAlgorithmSpec", + "smithy.api#pattern": "^[a-zA-Z0-9\\/+=]+$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.kms#XksProxyConfigurationType": { + "type": "structure", + "members": { + "Connectivity": { + "target": "com.amazonaws.kms#XksProxyConnectivityType", "traits": { - "smithy.api#documentation": "

The MAC algorithm that will be used in the verification. Enter the same MAC algorithm that was used to compute the HMAC. This algorithm must be supported by the HMAC KMS key identified by the KeyId parameter.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Indicates whether the external key store proxy uses a public endpoint or an Amazon VPC endpoint\n service to communicate with KMS.

" } }, - "Mac": { - "target": "com.amazonaws.kms#CiphertextType", + "AccessKeyId": { + "target": "com.amazonaws.kms#XksProxyAuthenticationAccessKeyIdType", "traits": { - "smithy.api#documentation": "

The HMAC to verify. Enter the HMAC that was generated by the GenerateMac operation when you specified the same message, HMAC KMS key, and MAC algorithm as the values specified in this request.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The part of the external key store proxy authentication credential\n that uniquely identifies the secret access key.

" } }, - "GrantTokens": { - "target": "com.amazonaws.kms#GrantTokenList", - "traits": { - "smithy.api#documentation": "

A list of grant tokens.

\n

Use a grant token when your permission to call this operation comes from a new grant that has not yet achieved eventual consistency. For more information, see Grant token and Using a grant token in the\n Key Management Service Developer Guide.

" - } - } - } - }, - "com.amazonaws.kms#VerifyMacResponse": { - "type": "structure", - "members": { - "KeyId": { - "target": "com.amazonaws.kms#KeyIdType", + "UriEndpoint": { + "target": "com.amazonaws.kms#XksProxyUriEndpointType", "traits": { - "smithy.api#documentation": "

The HMAC KMS key used in the verification.

" + "smithy.api#documentation": "

The URI endpoint for the external key store proxy.

\n

If the external key store proxy has a public endpoint, it is displayed here.

\n

If the external key store proxy uses an Amazon VPC endpoint service name, this field displays\n the private DNS name associated with the VPC endpoint service.

" } }, - "MacValid": { - "target": "com.amazonaws.kms#BooleanType", + "UriPath": { + "target": "com.amazonaws.kms#XksProxyUriPathType", "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "

A Boolean value that indicates whether the HMAC was verified. A value of \n True indicates that the HMAC (Mac) was generated with the specified\n Message, HMAC KMS key (KeyID) and\n MacAlgorithm..

\n

If the HMAC is not verified, the VerifyMac operation fails with a\n KMSInvalidMacException exception. This exception indicates that one or more of\n the inputs changed since the HMAC was computed.

" + "smithy.api#documentation": "

The path to the external key store proxy APIs.

" } }, - "MacAlgorithm": { - "target": "com.amazonaws.kms#MacAlgorithmSpec", + "VpcEndpointServiceName": { + "target": "com.amazonaws.kms#XksProxyVpcEndpointServiceNameType", "traits": { - "smithy.api#documentation": "

The MAC algorithm used in the verification.

" + "smithy.api#documentation": "

The Amazon VPC endpoint service used to communicate with the external key store proxy. This\n field appears only when the external key store proxy uses an Amazon VPC endpoint service to\n communicate with KMS.

" } } + }, + "traits": { + "smithy.api#documentation": "

Detailed information about the external key store proxy (XKS proxy). Your external key\n store proxy translates KMS requests into a format that your external key manager can\n understand. These fields appear in a DescribeCustomKeyStores response only\n when the CustomKeyStoreType is EXTERNAL_KEY_STORE.

" } }, - "com.amazonaws.kms#VerifyRequest": { - "type": "structure", + "com.amazonaws.kms#XksProxyConnectivityType": { + "type": "enum", "members": { - "KeyId": { - "target": "com.amazonaws.kms#KeyIdType", + "PUBLIC_ENDPOINT": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Identifies the asymmetric KMS key that will be used to verify the signature. This must be\n the same KMS key that was used to generate the signature. If you specify a different KMS key,\n the signature verification fails.

\n

To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Alias name: alias/ExampleAlias\n

    \n
  • \n
  • \n

    Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias\n

    \n
  • \n
\n

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

", - "smithy.api#required": {} + "smithy.api#enumValue": "PUBLIC_ENDPOINT" } }, - "Message": { - "target": "com.amazonaws.kms#PlaintextType", + "VPC_ENDPOINT_SERVICE": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Specifies the message that was signed. You can submit a raw message of up to 4096 bytes,\n or a hash digest of the message. If you submit a digest, use the MessageType\n parameter with a value of DIGEST.

\n

If the message specified here is different from the message that was signed, the signature\n verification fails. A message and its hash digest are considered to be the same\n message.

", - "smithy.api#required": {} + "smithy.api#enumValue": "VPC_ENDPOINT_SERVICE" } + } + } + }, + "com.amazonaws.kms#XksProxyIncorrectAuthenticationCredentialException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.kms#ErrorMessageType" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "XksProxyIncorrectAuthenticationCredentialException", + "httpResponseCode": 400 }, - "MessageType": { - "target": "com.amazonaws.kms#MessageType", - "traits": { - "smithy.api#documentation": "

Tells KMS whether the value of the Message parameter is a message or\n message digest. The default value, RAW, indicates a message. To indicate a message digest,\n enter DIGEST.

\n \n

Use the DIGEST value only when the value of the Message\n parameter is a message digest. If you use the DIGEST value with a raw message,\n the security of the verification operation can be compromised.

\n
" - } + "smithy.api#documentation": "

The request was rejected because the proxy credentials failed to authenticate to the\n specified external key store proxy. The specified external key store proxy rejected a status\n request from KMS due to invalid credentials. This can indicate an error in the credentials\n or in the identification of the external key store proxy.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.kms#XksProxyInvalidConfigurationException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.kms#ErrorMessageType" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "XksProxyInvalidConfigurationException", + "httpResponseCode": 400 }, - "Signature": { - "target": "com.amazonaws.kms#CiphertextType", - "traits": { - "smithy.api#documentation": "

The signature that the Sign operation generated.

", - "smithy.api#required": {} - } + "smithy.api#documentation": "

The request was rejected because the Amazon VPC endpoint service configuration does not fulfill\n the requirements for an external key store proxy. For details, see the exception\n message.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.kms#XksProxyInvalidResponseException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.kms#ErrorMessageType" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "XksProxyInvalidResponseException", + "httpResponseCode": 400 }, - "SigningAlgorithm": { - "target": "com.amazonaws.kms#SigningAlgorithmSpec", - "traits": { - "smithy.api#documentation": "

The signing algorithm that was used to sign the message. If you submit a different\n algorithm, the signature verification fails.

", - "smithy.api#required": {} - } + "smithy.api#documentation": "

\n

KMS cannot interpret the response it received from the external key store proxy. The\n problem might be a poorly constructed response, but it could also be a transient network\n issue. If you see this error repeatedly, report it to the proxy vendor.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.kms#XksProxyUriEndpointInUseException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.kms#ErrorMessageType" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "XksProxyUriEndpointInUseException", + "httpResponseCode": 400 }, - "GrantTokens": { - "target": "com.amazonaws.kms#GrantTokenList", - "traits": { - "smithy.api#documentation": "

A list of grant tokens.

\n

Use a grant token when your permission to call this operation comes from a new grant that has not yet achieved eventual consistency. For more information, see Grant token and Using a grant token in the\n Key Management Service Developer Guide.

" - } + "smithy.api#documentation": "

The request was rejected because the concatenation of the XksProxyUriEndpoint\n is already associated with an external key store in the Amazon Web Services account and Region. Each\n external key store in an account and Region must use a unique external key store proxy\n address.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.kms#XksProxyUriEndpointType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 10, + "max": 128 + }, + "smithy.api#pattern": "^https://[a-zA-Z0-9.-]+$" + } + }, + "com.amazonaws.kms#XksProxyUriInUseException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.kms#ErrorMessageType" } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "XksProxyUriInUseException", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

The request was rejected because the concatenation of the XksProxyUriEndpoint\n and XksProxyUriPath is already associated with an external key store in the\n Amazon Web Services account and Region. Each external key store in an account and Region must use a unique\n external key store proxy API address.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 } }, - "com.amazonaws.kms#VerifyResponse": { + "com.amazonaws.kms#XksProxyUriPathType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 10, + "max": 128 + }, + "smithy.api#pattern": "^(/[a-zA-Z0-9\\/_-]+/kms/xks/v\\d{1,2})$|^(/kms/xks/v\\d{1,2})$" + } + }, + "com.amazonaws.kms#XksProxyUriUnreachableException": { "type": "structure", "members": { - "KeyId": { - "target": "com.amazonaws.kms#KeyIdType", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (key ARN) of the asymmetric KMS key that was used to verify the signature.

" - } + "message": { + "target": "com.amazonaws.kms#ErrorMessageType" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "XksProxyUriUnreachableException", + "httpResponseCode": 400 }, - "SignatureValid": { - "target": "com.amazonaws.kms#BooleanType", - "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "

A Boolean value that indicates whether the signature was verified. A value of\n True indicates that the Signature was produced by signing the\n Message with the specified KeyID and\n SigningAlgorithm. If the signature is not verified, the Verify\n operation fails with a KMSInvalidSignatureException exception.

" - } + "smithy.api#documentation": "

KMS was unable to reach the specified XksProxyUriPath. The path must be\n reachable before you create the external key store or update its settings.

\n

This exception is also thrown when the external key store proxy response to a GetHealthStatus\n request indicates that all external key manager instances are unavailable.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.kms#XksProxyVpcEndpointServiceInUseException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.kms#ErrorMessageType" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "XksProxyVpcEndpointServiceInUseException", + "httpResponseCode": 400 }, - "SigningAlgorithm": { - "target": "com.amazonaws.kms#SigningAlgorithmSpec", - "traits": { - "smithy.api#documentation": "

The signing algorithm that was used to verify the signature.

" - } + "smithy.api#documentation": "

The request was rejected because the specified Amazon VPC endpoint service is already\n associated with an external key store in the Amazon Web Services account and Region. Each external key store\n in an Amazon Web Services account and Region must use a different Amazon VPC endpoint service.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.kms#XksProxyVpcEndpointServiceInvalidConfigurationException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.kms#ErrorMessageType" } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "XksProxyVpcEndpointServiceInvalidConfigurationException", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

The request was rejected because the Amazon VPC endpoint service configuration does not fulfill\n the requirements for an external key store proxy. For details, see the exception message and\n review the requirements for Amazon VPC endpoint service connectivity for an external key\n store.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 } }, - "com.amazonaws.kms#WrappingKeySpec": { + "com.amazonaws.kms#XksProxyVpcEndpointServiceNameType": { "type": "string", "traits": { - "smithy.api#enum": [ - { - "value": "RSA_2048", - "name": "RSA_2048" - } - ] + "smithy.api#length": { + "min": 20, + "max": 64 + }, + "smithy.api#pattern": "^com\\.amazonaws\\.vpce\\.([a-z]+-){2,3}\\d+\\.vpce-svc-[0-9a-z]+$" + } + }, + "com.amazonaws.kms#XksProxyVpcEndpointServiceNotFoundException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.kms#ErrorMessageType" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "XksProxyVpcEndpointServiceNotFoundException", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

The request was rejected because KMS could not find the specified VPC endpoint service.\n Use DescribeCustomKeyStores to verify the VPC endpoint service name for the\n external key store. Also, confirm that the Allow principals list for the VPC\n endpoint service includes the KMS service principal for the Region, such as\n cks.kms.us-east-1.amazonaws.com.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 } } } diff --git a/aws/sdk/aws-models/lambda.json b/aws/sdk/aws-models/lambda.json index 68b327a335..bc75d111c7 100644 --- a/aws/sdk/aws-models/lambda.json +++ b/aws/sdk/aws-models/lambda.json @@ -129,6 +129,9 @@ { "target": "com.amazonaws.lambda#GetProvisionedConcurrencyConfig" }, + { + "target": "com.amazonaws.lambda#GetRuntimeManagementConfig" + }, { "target": "com.amazonaws.lambda#Invoke" }, @@ -189,6 +192,9 @@ { "target": "com.amazonaws.lambda#PutProvisionedConcurrencyConfig" }, + { + "target": "com.amazonaws.lambda#PutRuntimeManagementConfig" + }, { "target": "com.amazonaws.lambda#RemoveLayerVersionPermission" }, @@ -235,14 +241,14 @@ "name": "lambda" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "Lambda\n

\n Overview\n

\n

Lambda is a compute service that lets you run code without provisioning or managing servers.\n Lambda runs your code on a high-availability compute infrastructure and performs all of the\n administration of the compute resources, including server and operating system maintenance, capacity provisioning\n and automatic scaling, code monitoring and logging. With Lambda, you can run code for virtually any\n type of application or backend service. For more information about the Lambda service, see What is Lambda in the Lambda Developer Guide.

\n

The Lambda API Reference provides information about\n each of the API methods, including details about the parameters in each API request and\n response.

\n

\n

You can use Software Development Kits (SDKs), Integrated Development Environment (IDE) Toolkits, and command\n line tools to access the API. For installation instructions, see Tools for\n Amazon Web Services.

\n

For a list of Region-specific endpoints that Lambda supports, \n see Lambda\n endpoints and quotas in the Amazon Web Services General Reference..

\n

When making the API calls, you will need to\n authenticate your request by providing a signature. Lambda supports signature version 4. For more information,\n see Signature Version 4 signing process in the\n Amazon Web Services General Reference..

\n

\n CA certificates\n

\n\n

Because Amazon Web Services SDKs use the CA certificates from your computer, changes to the certificates on the Amazon Web Services servers\n can cause connection failures when you attempt to use an SDK. You can prevent these failures by keeping your\n computer's CA certificates and operating system up-to-date. If you encounter this issue in a corporate\n environment and do not manage your own computer, you might need to ask an administrator to assist with the\n update process. The following list shows minimum operating system and Java versions:

\n
    \n
  • \n

    Microsoft Windows versions that have updates from January 2005 or later installed contain at least one\n of the required CAs in their trust list.

    \n
  • \n
  • \n

    Mac OS X 10.4 with Java for Mac OS X 10.4 Release 5 (February 2007), Mac OS X 10.5 (October 2007), and\n later versions contain at least one of the required CAs in their trust list.

    \n
  • \n
  • \n

    Red Hat Enterprise Linux 5 (March 2007), 6, and 7 and CentOS 5, 6, and 7 all contain at least one of the\n required CAs in their default trusted CA list.

    \n
  • \n
  • \n

    Java 1.4.2_12 (May 2006), 5 Update 2 (March 2005), and all later versions, including Java 6 (December\n 2006), 7, and 8, contain at least one of the required CAs in their default trusted CA list.

    \n
  • \n
\n

When accessing the Lambda management console or Lambda API endpoints, whether through browsers or\n programmatically, you will need to ensure your client machines support any of the following CAs:

\n
    \n
  • \n

    Amazon Root CA 1

    \n
  • \n
  • \n

    Starfield Services Root Certificate Authority - G2

    \n
  • \n
  • \n

    Starfield Class 2 Certification Authority

    \n
  • \n
\n

Root certificates from the first two authorities are available from Amazon trust services, but keeping your computer\n up-to-date is the more straightforward solution. To learn more about ACM-provided certificates, see Amazon Web Services Certificate Manager FAQs.\n

", + "smithy.api#documentation": "Lambda\n

\n Overview\n

\n

Lambda is a compute service that lets you run code without provisioning or managing servers.\n Lambda runs your code on a high-availability compute infrastructure and performs all of the\n administration of the compute resources, including server and operating system maintenance, capacity provisioning\n and automatic scaling, code monitoring and logging. With Lambda, you can run code for virtually any\n type of application or backend service. For more information about the Lambda service, see What is Lambda in the Lambda Developer Guide.

\n

The Lambda API Reference provides information about\n each of the API methods, including details about the parameters in each API request and\n response.

\n

\n

You can use Software Development Kits (SDKs), Integrated Development Environment (IDE) Toolkits, and command\n line tools to access the API. For installation instructions, see Tools for\n Amazon Web Services.

\n

For a list of Region-specific endpoints that Lambda supports, \n see Lambda\n endpoints and quotas in the Amazon Web Services General Reference..

\n

When making the API calls, you will need to\n authenticate your request by providing a signature. Lambda supports signature version 4. For more information,\n see Signature Version 4 signing process in the\n Amazon Web Services General Reference..

\n

\n CA certificates\n

\n

Because Amazon Web Services SDKs use the CA certificates from your computer, changes to the certificates on the Amazon Web Services servers\n can cause connection failures when you attempt to use an SDK. You can prevent these failures by keeping your\n computer's CA certificates and operating system up-to-date. If you encounter this issue in a corporate\n environment and do not manage your own computer, you might need to ask an administrator to assist with the\n update process. The following list shows minimum operating system and Java versions:

\n
    \n
  • \n

    Microsoft Windows versions that have updates from January 2005 or later installed contain at least one\n of the required CAs in their trust list.

    \n
  • \n
  • \n

    Mac OS X 10.4 with Java for Mac OS X 10.4 Release 5 (February 2007), Mac OS X 10.5 (October 2007), and\n later versions contain at least one of the required CAs in their trust list.

    \n
  • \n
  • \n

    Red Hat Enterprise Linux 5 (March 2007), 6, and 7 and CentOS 5, 6, and 7 all contain at least one of the\n required CAs in their default trusted CA list.

    \n
  • \n
  • \n

    Java 1.4.2_12 (May 2006), 5 Update 2 (March 2005), and all later versions, including Java 6 (December\n 2006), 7, and 8, contain at least one of the required CAs in their default trusted CA list.

    \n
  • \n
\n

When accessing the Lambda management console or Lambda API endpoints, whether through browsers or\n programmatically, you will need to ensure your client machines support any of the following CAs:

\n
    \n
  • \n

    Amazon Root CA 1

    \n
  • \n
  • \n

    Starfield Services Root Certificate Authority - G2

    \n
  • \n
  • \n

    Starfield Class 2 Certification Authority

    \n
  • \n
\n

Root certificates from the first two authorities are available from Amazon trust services, but keeping your computer\n up-to-date is the more straightforward solution. To learn more about ACM-provided certificates, see Amazon Web Services Certificate Manager FAQs.\n

", "smithy.api#title": "AWS Lambda", "smithy.rules#endpointRuleSet": { "version": "1.0", "parameters": { "Region": { "builtIn": "AWS::Region", - "required": false, + "required": true, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -291,15 +297,6 @@ "ref": "Endpoint" } ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" } ], "type": "tree", @@ -562,9 +559,9 @@ } }, "params": { - "Region": "ap-south-2", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "ap-south-2" } }, { @@ -575,9 +572,9 @@ } }, "params": { - "Region": "ap-south-2", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "ap-south-2" } }, { @@ -588,9 +585,9 @@ } }, "params": { - "Region": "ap-south-2", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "ap-south-2" } }, { @@ -601,9 +598,9 @@ } }, "params": { - "Region": "ap-south-2", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "ap-south-2" } }, { @@ -614,9 +611,9 @@ } }, "params": { - "Region": "ap-south-1", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "ap-south-1" } }, { @@ -627,9 +624,9 @@ } }, "params": { - "Region": "ap-south-1", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "ap-south-1" } }, { @@ -640,9 +637,9 @@ } }, "params": { - "Region": "ap-south-1", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "ap-south-1" } }, { @@ -653,9 +650,9 @@ } }, "params": { - "Region": "ap-south-1", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "ap-south-1" } }, { @@ -666,9 +663,9 @@ } }, "params": { - "Region": "eu-south-1", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "eu-south-1" } }, { @@ -679,9 +676,9 @@ } }, "params": { - "Region": "eu-south-1", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "eu-south-1" } }, { @@ -692,9 +689,9 @@ } }, "params": { - "Region": "eu-south-1", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "eu-south-1" } }, { @@ -705,9 +702,9 @@ } }, "params": { - "Region": "eu-south-1", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "eu-south-1" } }, { @@ -718,9 +715,9 @@ } }, "params": { - "Region": "eu-south-2", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "eu-south-2" } }, { @@ -731,9 +728,9 @@ } }, "params": { - "Region": "eu-south-2", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "eu-south-2" } }, { @@ -744,9 +741,9 @@ } }, "params": { - "Region": "eu-south-2", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "eu-south-2" } }, { @@ -757,9 +754,9 @@ } }, "params": { - "Region": "eu-south-2", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "eu-south-2" } }, { @@ -770,9 +767,9 @@ } }, "params": { - "Region": "us-gov-east-1", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "us-gov-east-1" } }, { @@ -783,9 +780,9 @@ } }, "params": { - "Region": "us-gov-east-1", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "us-gov-east-1" } }, { @@ -796,9 +793,9 @@ } }, "params": { - "Region": "us-gov-east-1", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "us-gov-east-1" } }, { @@ -809,9 +806,9 @@ } }, "params": { - "Region": "us-gov-east-1", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "us-gov-east-1" } }, { @@ -822,9 +819,9 @@ } }, "params": { - "Region": "me-central-1", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "me-central-1" } }, { @@ -835,9 +832,9 @@ } }, "params": { - "Region": "me-central-1", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "me-central-1" } }, { @@ -848,9 +845,9 @@ } }, "params": { - "Region": "me-central-1", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "me-central-1" } }, { @@ -861,9 +858,9 @@ } }, "params": { - "Region": "me-central-1", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "me-central-1" } }, { @@ -874,9 +871,9 @@ } }, "params": { - "Region": "ca-central-1", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "ca-central-1" } }, { @@ -887,9 +884,9 @@ } }, "params": { - "Region": "ca-central-1", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "ca-central-1" } }, { @@ -900,9 +897,9 @@ } }, "params": { - "Region": "ca-central-1", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "ca-central-1" } }, { @@ -913,9 +910,9 @@ } }, "params": { - "Region": "ca-central-1", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "ca-central-1" } }, { @@ -926,9 +923,9 @@ } }, "params": { - "Region": "eu-central-1", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "eu-central-1" } }, { @@ -939,9 +936,9 @@ } }, "params": { - "Region": "eu-central-1", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "eu-central-1" } }, { @@ -952,9 +949,9 @@ } }, "params": { - "Region": "eu-central-1", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "eu-central-1" } }, { @@ -965,9 +962,9 @@ } }, "params": { - "Region": "eu-central-1", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "eu-central-1" } }, { @@ -976,9 +973,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "Region": "us-iso-west-1", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "us-iso-west-1" } }, { @@ -989,9 +986,9 @@ } }, "params": { - "Region": "us-iso-west-1", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "us-iso-west-1" } }, { @@ -1000,9 +997,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "Region": "us-iso-west-1", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "us-iso-west-1" } }, { @@ -1013,9 +1010,9 @@ } }, "params": { - "Region": "us-iso-west-1", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "us-iso-west-1" } }, { @@ -1026,9 +1023,9 @@ } }, "params": { - "Region": "eu-central-2", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "eu-central-2" } }, { @@ -1039,9 +1036,9 @@ } }, "params": { - "Region": "eu-central-2", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "eu-central-2" } }, { @@ -1052,9 +1049,9 @@ } }, "params": { - "Region": "eu-central-2", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "eu-central-2" } }, { @@ -1065,9 +1062,9 @@ } }, "params": { - "Region": "eu-central-2", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "eu-central-2" } }, { @@ -1078,9 +1075,9 @@ } }, "params": { - "Region": "us-west-1", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "us-west-1" } }, { @@ -1091,9 +1088,9 @@ } }, "params": { - "Region": "us-west-1", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "us-west-1" } }, { @@ -1104,9 +1101,9 @@ } }, "params": { - "Region": "us-west-1", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "us-west-1" } }, { @@ -1117,9 +1114,9 @@ } }, "params": { - "Region": "us-west-1", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "us-west-1" } }, { @@ -1130,9 +1127,9 @@ } }, "params": { - "Region": "us-west-2", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "us-west-2" } }, { @@ -1143,9 +1140,9 @@ } }, "params": { - "Region": "us-west-2", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "us-west-2" } }, { @@ -1156,9 +1153,9 @@ } }, "params": { - "Region": "us-west-2", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "us-west-2" } }, { @@ -1169,9 +1166,9 @@ } }, "params": { - "Region": "us-west-2", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "us-west-2" } }, { @@ -1182,9 +1179,9 @@ } }, "params": { - "Region": "af-south-1", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "af-south-1" } }, { @@ -1195,9 +1192,9 @@ } }, "params": { - "Region": "af-south-1", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "af-south-1" } }, { @@ -1208,9 +1205,9 @@ } }, "params": { - "Region": "af-south-1", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "af-south-1" } }, { @@ -1221,9 +1218,9 @@ } }, "params": { - "Region": "af-south-1", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "af-south-1" } }, { @@ -1234,9 +1231,9 @@ } }, "params": { - "Region": "eu-north-1", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "eu-north-1" } }, { @@ -1247,9 +1244,9 @@ } }, "params": { - "Region": "eu-north-1", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "eu-north-1" } }, { @@ -1260,9 +1257,9 @@ } }, "params": { - "Region": "eu-north-1", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "eu-north-1" } }, { @@ -1273,9 +1270,9 @@ } }, "params": { - "Region": "eu-north-1", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "eu-north-1" } }, { @@ -1286,9 +1283,9 @@ } }, "params": { - "Region": "eu-west-3", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "eu-west-3" } }, { @@ -1299,9 +1296,9 @@ } }, "params": { - "Region": "eu-west-3", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "eu-west-3" } }, { @@ -1312,9 +1309,9 @@ } }, "params": { - "Region": "eu-west-3", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "eu-west-3" } }, { @@ -1325,9 +1322,9 @@ } }, "params": { - "Region": "eu-west-3", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "eu-west-3" } }, { @@ -1338,9 +1335,9 @@ } }, "params": { - "Region": "eu-west-2", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "eu-west-2" } }, { @@ -1351,9 +1348,9 @@ } }, "params": { - "Region": "eu-west-2", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "eu-west-2" } }, { @@ -1364,9 +1361,9 @@ } }, "params": { - "Region": "eu-west-2", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "eu-west-2" } }, { @@ -1377,9 +1374,9 @@ } }, "params": { - "Region": "eu-west-2", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "eu-west-2" } }, { @@ -1390,9 +1387,9 @@ } }, "params": { - "Region": "eu-west-1", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "eu-west-1" } }, { @@ -1403,9 +1400,9 @@ } }, "params": { - "Region": "eu-west-1", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "eu-west-1" } }, { @@ -1416,9 +1413,9 @@ } }, "params": { - "Region": "eu-west-1", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "eu-west-1" } }, { @@ -1429,9 +1426,9 @@ } }, "params": { - "Region": "eu-west-1", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "eu-west-1" } }, { @@ -1442,9 +1439,9 @@ } }, "params": { - "Region": "ap-northeast-3", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "ap-northeast-3" } }, { @@ -1455,9 +1452,9 @@ } }, "params": { - "Region": "ap-northeast-3", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "ap-northeast-3" } }, { @@ -1468,9 +1465,9 @@ } }, "params": { - "Region": "ap-northeast-3", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "ap-northeast-3" } }, { @@ -1481,9 +1478,9 @@ } }, "params": { - "Region": "ap-northeast-3", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "ap-northeast-3" } }, { @@ -1494,9 +1491,9 @@ } }, "params": { - "Region": "ap-northeast-2", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "ap-northeast-2" } }, { @@ -1507,9 +1504,9 @@ } }, "params": { - "Region": "ap-northeast-2", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "ap-northeast-2" } }, { @@ -1520,9 +1517,9 @@ } }, "params": { - "Region": "ap-northeast-2", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "ap-northeast-2" } }, { @@ -1533,9 +1530,9 @@ } }, "params": { - "Region": "ap-northeast-2", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "ap-northeast-2" } }, { @@ -1546,9 +1543,9 @@ } }, "params": { - "Region": "ap-northeast-1", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "ap-northeast-1" } }, { @@ -1559,9 +1556,9 @@ } }, "params": { - "Region": "ap-northeast-1", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "ap-northeast-1" } }, { @@ -1572,9 +1569,9 @@ } }, "params": { - "Region": "ap-northeast-1", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "ap-northeast-1" } }, { @@ -1585,9 +1582,9 @@ } }, "params": { - "Region": "ap-northeast-1", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "ap-northeast-1" } }, { @@ -1598,9 +1595,9 @@ } }, "params": { - "Region": "me-south-1", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "me-south-1" } }, { @@ -1611,9 +1608,9 @@ } }, "params": { - "Region": "me-south-1", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "me-south-1" } }, { @@ -1624,9 +1621,9 @@ } }, "params": { - "Region": "me-south-1", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "me-south-1" } }, { @@ -1637,9 +1634,9 @@ } }, "params": { - "Region": "me-south-1", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "me-south-1" } }, { @@ -1650,9 +1647,9 @@ } }, "params": { - "Region": "sa-east-1", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "sa-east-1" } }, { @@ -1663,9 +1660,9 @@ } }, "params": { - "Region": "sa-east-1", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "sa-east-1" } }, { @@ -1676,9 +1673,9 @@ } }, "params": { - "Region": "sa-east-1", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "sa-east-1" } }, { @@ -1689,9 +1686,9 @@ } }, "params": { - "Region": "sa-east-1", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "sa-east-1" } }, { @@ -1702,9 +1699,9 @@ } }, "params": { - "Region": "ap-east-1", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "ap-east-1" } }, { @@ -1715,9 +1712,9 @@ } }, "params": { - "Region": "ap-east-1", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "ap-east-1" } }, { @@ -1728,9 +1725,9 @@ } }, "params": { - "Region": "ap-east-1", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "ap-east-1" } }, { @@ -1741,9 +1738,9 @@ } }, "params": { - "Region": "ap-east-1", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "ap-east-1" } }, { @@ -1754,9 +1751,9 @@ } }, "params": { - "Region": "cn-north-1", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "cn-north-1" } }, { @@ -1767,9 +1764,9 @@ } }, "params": { - "Region": "cn-north-1", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "cn-north-1" } }, { @@ -1780,9 +1777,9 @@ } }, "params": { - "Region": "cn-north-1", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "cn-north-1" } }, { @@ -1793,9 +1790,9 @@ } }, "params": { - "Region": "cn-north-1", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "cn-north-1" } }, { @@ -1806,9 +1803,9 @@ } }, "params": { - "Region": "us-gov-west-1", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "us-gov-west-1" } }, { @@ -1819,9 +1816,9 @@ } }, "params": { - "Region": "us-gov-west-1", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "us-gov-west-1" } }, { @@ -1832,9 +1829,9 @@ } }, "params": { - "Region": "us-gov-west-1", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "us-gov-west-1" } }, { @@ -1845,9 +1842,9 @@ } }, "params": { - "Region": "us-gov-west-1", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "us-gov-west-1" } }, { @@ -1858,9 +1855,9 @@ } }, "params": { - "Region": "ap-southeast-1", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "ap-southeast-1" } }, { @@ -1871,9 +1868,9 @@ } }, "params": { - "Region": "ap-southeast-1", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "ap-southeast-1" } }, { @@ -1884,9 +1881,9 @@ } }, "params": { - "Region": "ap-southeast-1", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "ap-southeast-1" } }, { @@ -1897,9 +1894,9 @@ } }, "params": { - "Region": "ap-southeast-1", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "ap-southeast-1" } }, { @@ -1910,9 +1907,9 @@ } }, "params": { - "Region": "ap-southeast-2", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "ap-southeast-2" } }, { @@ -1923,9 +1920,9 @@ } }, "params": { - "Region": "ap-southeast-2", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "ap-southeast-2" } }, { @@ -1936,9 +1933,9 @@ } }, "params": { - "Region": "ap-southeast-2", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "ap-southeast-2" } }, { @@ -1949,9 +1946,9 @@ } }, "params": { - "Region": "ap-southeast-2", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "ap-southeast-2" } }, { @@ -1960,9 +1957,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "Region": "us-iso-east-1", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "us-iso-east-1" } }, { @@ -1973,9 +1970,9 @@ } }, "params": { - "Region": "us-iso-east-1", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "us-iso-east-1" } }, { @@ -1984,9 +1981,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "Region": "us-iso-east-1", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "us-iso-east-1" } }, { @@ -1997,9 +1994,9 @@ } }, "params": { - "Region": "us-iso-east-1", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "us-iso-east-1" } }, { @@ -2010,9 +2007,9 @@ } }, "params": { - "Region": "ap-southeast-3", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "ap-southeast-3" } }, { @@ -2023,9 +2020,9 @@ } }, "params": { - "Region": "ap-southeast-3", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "ap-southeast-3" } }, { @@ -2036,9 +2033,9 @@ } }, "params": { - "Region": "ap-southeast-3", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "ap-southeast-3" } }, { @@ -2049,9 +2046,9 @@ } }, "params": { - "Region": "ap-southeast-3", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "ap-southeast-3" } }, { @@ -2062,9 +2059,9 @@ } }, "params": { - "Region": "ap-southeast-4", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "ap-southeast-4" } }, { @@ -2075,9 +2072,9 @@ } }, "params": { - "Region": "ap-southeast-4", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "ap-southeast-4" } }, { @@ -2088,9 +2085,9 @@ } }, "params": { - "Region": "ap-southeast-4", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "ap-southeast-4" } }, { @@ -2101,9 +2098,9 @@ } }, "params": { - "Region": "ap-southeast-4", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "ap-southeast-4" } }, { @@ -2114,9 +2111,9 @@ } }, "params": { - "Region": "us-east-1", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "us-east-1" } }, { @@ -2127,9 +2124,9 @@ } }, "params": { - "Region": "us-east-1", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "us-east-1" } }, { @@ -2140,9 +2137,9 @@ } }, "params": { - "Region": "us-east-1", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "us-east-1" } }, { @@ -2153,9 +2150,9 @@ } }, "params": { - "Region": "us-east-1", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "us-east-1" } }, { @@ -2166,9 +2163,9 @@ } }, "params": { - "Region": "us-east-2", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "us-east-2" } }, { @@ -2179,9 +2176,9 @@ } }, "params": { - "Region": "us-east-2", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "us-east-2" } }, { @@ -2192,9 +2189,9 @@ } }, "params": { - "Region": "us-east-2", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "us-east-2" } }, { @@ -2205,9 +2202,9 @@ } }, "params": { - "Region": "us-east-2", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "us-east-2" } }, { @@ -2218,9 +2215,9 @@ } }, "params": { - "Region": "cn-northwest-1", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "cn-northwest-1" } }, { @@ -2231,9 +2228,9 @@ } }, "params": { - "Region": "cn-northwest-1", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "cn-northwest-1" } }, { @@ -2244,9 +2241,9 @@ } }, "params": { - "Region": "cn-northwest-1", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "cn-northwest-1" } }, { @@ -2257,9 +2254,9 @@ } }, "params": { - "Region": "cn-northwest-1", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "cn-northwest-1" } }, { @@ -2268,9 +2265,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "Region": "us-isob-east-1", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "Region": "us-isob-east-1" } }, { @@ -2281,9 +2278,9 @@ } }, "params": { - "Region": "us-isob-east-1", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "Region": "us-isob-east-1" } }, { @@ -2292,9 +2289,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "Region": "us-isob-east-1", "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "Region": "us-isob-east-1" } }, { @@ -2305,9 +2302,9 @@ } }, "params": { - "Region": "us-isob-east-1", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Region": "us-isob-east-1" } }, { @@ -2318,9 +2315,9 @@ } }, "params": { - "Region": "us-east-1", "UseDualStack": false, "UseFIPS": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -2330,9 +2327,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "Region": "us-east-1", "UseDualStack": false, "UseFIPS": true, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -2342,9 +2339,9 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "Region": "us-east-1", "UseDualStack": true, "UseFIPS": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } } @@ -2568,7 +2565,7 @@ } ], "traits": { - "smithy.api#documentation": "

Grants an Amazon Web Services service, account, or organization permission to use a function. You can apply the\n policy at the function level, or specify a qualifier to restrict access to a single version or alias. If you use a qualifier,\n the invoker must use the full Amazon Resource Name (ARN) of that version or alias to invoke the function.\n Note: Lambda does not support adding policies to version $LATEST.

\n \n

To grant permission to another account, specify the account ID as the Principal. To grant permission to an\n organization defined in Organizations, specify the organization ID as the PrincipalOrgID.\n For Amazon Web Services services, the principal is a domain-style identifier defined by the service,\n like s3.amazonaws.com or sns.amazonaws.com. For Amazon Web Services services, you can also specify\n the ARN of the associated resource as the SourceArn. If you grant permission to a service principal without\n specifying the source, other accounts could potentially configure resources in their account to invoke your\n Lambda function.

\n \n

This action adds a statement to a resource-based permissions policy for the function. For more information\n about function policies, see Lambda Function Policies.

", + "smithy.api#documentation": "

Grants an Amazon Web Service, Amazon Web Services account, or Amazon Web Services organization\n permission to use a function. You can apply the policy at the function level, or specify a qualifier to restrict\n access to a single version or alias. If you use a qualifier, the invoker must use the full Amazon Resource Name\n (ARN) of that version or alias to invoke the function. Note: Lambda does not support adding policies\n to version $LATEST.

\n

To grant permission to another account, specify the account ID as the Principal. To grant\n permission to an organization defined in Organizations, specify the organization ID as the\n PrincipalOrgID. For Amazon Web Services, the principal is a domain-style identifier that\n the service defines, such as s3.amazonaws.com or sns.amazonaws.com. For Amazon Web Services, you can also specify the ARN of the associated resource as the SourceArn. If\n you grant permission to a service principal without specifying the source, other accounts could potentially\n configure resources in their account to invoke your Lambda function.

\n

This operation adds a statement to a resource-based permissions policy for the function. For more information\n about function policies, see Using resource-based policies for Lambda.

", "smithy.api#http": { "method": "POST", "uri": "/2015-03-31/functions/{FunctionName}/policy", @@ -2582,7 +2579,7 @@ "FunctionName": { "target": "com.amazonaws.lambda#FunctionName", "traits": { - "smithy.api#documentation": "

The name of the Lambda function, version, or alias.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name - my-function (name-only), my-function:v1 (with alias).

    \n
  • \n
  • \n

    \n Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN - 123456789012:function:my-function.

    \n
  • \n
\n

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN.\n If you specify only the function name, it is limited to 64 characters in length.

", + "smithy.api#documentation": "

The name of the Lambda function, version, or alias.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name – my-function (name-only), my-function:v1 (with alias).

    \n
  • \n
  • \n

    \n Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN – 123456789012:function:my-function.

    \n
  • \n
\n

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN.\n If you specify only the function name, it is limited to 64 characters in length.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2604,26 +2601,26 @@ "Principal": { "target": "com.amazonaws.lambda#Principal", "traits": { - "smithy.api#documentation": "

The Amazon Web Services service or account that invokes the function. If you specify a service, use SourceArn or\n SourceAccount to limit who can invoke the function through that service.

", + "smithy.api#documentation": "

The Amazon Web Service or Amazon Web Services account that invokes the function. If you specify a\n service, use SourceArn or SourceAccount to limit who can invoke the function through\n that service.

", "smithy.api#required": {} } }, "SourceArn": { "target": "com.amazonaws.lambda#Arn", "traits": { - "smithy.api#documentation": "

For Amazon Web Services services, the ARN of the Amazon Web Services resource that invokes the function. For example, an Amazon S3 bucket or\n Amazon SNS topic.

\n

Note that Lambda configures the comparison using the StringLike operator.

" + "smithy.api#documentation": "

For Amazon Web Services, the ARN of the Amazon Web Services resource that invokes the function. For\n example, an Amazon S3 bucket or Amazon SNS topic.

\n

Note that Lambda configures the comparison using the StringLike operator.

" } }, "SourceAccount": { "target": "com.amazonaws.lambda#SourceOwner", "traits": { - "smithy.api#documentation": "

For Amazon S3, the ID of the account that owns the resource. Use this together with SourceArn to\n ensure that the resource is owned by the specified account. It is possible for an Amazon S3 bucket to be deleted\n by its owner and recreated by another account.

" + "smithy.api#documentation": "

For Amazon Web Service, the ID of the Amazon Web Services account that owns the resource. Use this\n together with SourceArn to ensure that the specified account owns the resource. It is possible for an\n Amazon S3 bucket to be deleted by its owner and recreated by another account.

" } }, "EventSourceToken": { "target": "com.amazonaws.lambda#EventSourceToken", "traits": { - "smithy.api#documentation": "

For Alexa Smart Home functions, a token that must be supplied by the invoker.

" + "smithy.api#documentation": "

For Alexa Smart Home functions, a token that the invoker must supply.

" } }, "Qualifier": { @@ -2636,19 +2633,19 @@ "RevisionId": { "target": "com.amazonaws.lambda#String", "traits": { - "smithy.api#documentation": "

Only update the policy if the revision ID matches the ID that's specified. Use this option to avoid modifying a\n policy that has changed since you last read it.

" + "smithy.api#documentation": "

Update the policy only if the revision ID matches the ID that's specified. Use this option to avoid modifying a\n policy that has changed since you last read it.

" } }, "PrincipalOrgID": { "target": "com.amazonaws.lambda#PrincipalOrgID", "traits": { - "smithy.api#documentation": "

The identifier for your organization in Organizations. Use this to grant permissions to all the Amazon Web Services\n accounts under this organization.

" + "smithy.api#documentation": "

The identifier for your organization in Organizations. Use this to grant permissions to all the\n Amazon Web Services accounts under this organization.

" } }, "FunctionUrlAuthType": { "target": "com.amazonaws.lambda#FunctionUrlAuthType", "traits": { - "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated\n IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information,\n see Security and auth model for Lambda function URLs.

" + "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated\n IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information,\n see Security and auth model for Lambda function URLs.

" } } } @@ -2734,7 +2731,7 @@ } }, "traits": { - "smithy.api#documentation": "

Provides configuration information about a Lambda function alias.

" + "smithy.api#documentation": "

Provides configuration information about a Lambda function alias.

" } }, "com.amazonaws.lambda#AliasList": { @@ -2805,7 +2802,7 @@ "ConsumerGroupId": { "target": "com.amazonaws.lambda#URI", "traits": { - "smithy.api#documentation": "

The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources.\n After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see\n services-msk-consumer-group-id.

" + "smithy.api#documentation": "

The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources.\n After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see\n Customizable consumer group ID.

" } } }, @@ -2814,18 +2811,20 @@ } }, "com.amazonaws.lambda#Architecture": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "x86_64", - "name": "x86_64" - }, - { - "value": "arm64", - "name": "arm64" + "type": "enum", + "members": { + "x86_64": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "x86_64" + } + }, + "arm64": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "arm64" } - ] + } } }, "com.amazonaws.lambda#ArchitecturesList": { @@ -2978,18 +2977,20 @@ } }, "com.amazonaws.lambda#CodeSigningPolicy": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "Warn", - "name": "Warn" - }, - { - "value": "Enforce", - "name": "Enforce" + "type": "enum", + "members": { + "Warn": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Warn" + } + }, + "Enforce": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Enforce" } - ] + } } }, "com.amazonaws.lambda#CodeStorageExceededException": { @@ -3006,7 +3007,7 @@ } }, "traits": { - "smithy.api#documentation": "

You have exceeded your maximum total code size per account. Learn more\n

", + "smithy.api#documentation": "

Your Amazon Web Services account has exceeded its maximum total code size. For more information, see Lambda quotas.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -3022,7 +3023,7 @@ } }, "traits": { - "smithy.api#documentation": "

The code signature failed one or more of the validation checks for signature mismatch or expiry, and the code signing policy\n is set to ENFORCE. Lambda blocks the deployment.

", + "smithy.api#documentation": "

The code signature failed one or more of the validation checks for signature mismatch or expiry, and the code\n signing policy is set to ENFORCE. Lambda blocks the deployment.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -3057,7 +3058,7 @@ "ReservedConcurrentExecutions": { "target": "com.amazonaws.lambda#ReservedConcurrentExecutions", "traits": { - "smithy.api#documentation": "

The number of concurrent executions that are reserved for this function. For more information, see Managing Concurrency.

" + "smithy.api#documentation": "

The number of concurrent executions that are reserved for this function. For more information, see Managing Lambda reserved\n concurrency.

" } } } @@ -3132,7 +3133,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates an alias for a\n Lambda function version. Use aliases to provide clients with a function identifier that you can update to invoke a\n different version.

\n

You can also map an alias to split invocation requests between two versions. Use the\n RoutingConfig parameter to specify a second version and the percentage of invocation requests that\n it receives.

", + "smithy.api#documentation": "

Creates an alias for a\n Lambda function version. Use aliases to provide clients with a function identifier that you can update to invoke a\n different version.

\n

You can also map an alias to split invocation requests between two versions. Use the\n RoutingConfig parameter to specify a second version and the percentage of invocation requests that\n it receives.

", "smithy.api#http": { "method": "POST", "uri": "/2015-03-31/functions/{FunctionName}/aliases", @@ -3196,7 +3197,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a code signing configuration. A code signing configuration defines a list of\n allowed signing profiles and defines the code-signing validation policy (action to be taken if deployment\n validation checks fail).

", + "smithy.api#documentation": "

Creates a code signing configuration. A code signing configuration defines a list of\n allowed signing profiles and defines the code-signing validation policy (action to be taken if deployment\n validation checks fail).

", "smithy.api#http": { "method": "POST", "uri": "/2020-04-22/code-signing-configs", @@ -3266,7 +3267,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a mapping between an event source and an Lambda function. Lambda reads items from the\n event source and invokes the function.

\n

For details about how to configure different event sources, see the following topics.

\n \n \n

The following error handling options are available only for stream sources (DynamoDB and Kinesis):

\n
    \n
  • \n

    \n BisectBatchOnFunctionError - If the function returns an error, split the batch in two and retry.

    \n
  • \n
  • \n

    \n DestinationConfig - Send discarded records to an Amazon SQS queue or Amazon SNS topic.

    \n
  • \n
  • \n

    \n MaximumRecordAgeInSeconds - Discard records older than the specified age. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires

    \n
  • \n
  • \n

    \n MaximumRetryAttempts - Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.

    \n
  • \n
  • \n

    \n ParallelizationFactor - Process multiple batches from each shard concurrently.

    \n
  • \n
\n

For information about which configuration parameters apply to each event source, see the following topics.

\n ", + "smithy.api#documentation": "

Creates a mapping between an event source and an Lambda function. Lambda reads items from the event source and invokes the function.

\n

For details about how to configure different event sources, see the following topics.

\n \n

The following error handling options are available only for stream sources (DynamoDB and Kinesis):

\n
    \n
  • \n

    \n BisectBatchOnFunctionError – If the function returns an error, split the batch in two and retry.

    \n
  • \n
  • \n

    \n DestinationConfig – Send discarded records to an Amazon SQS queue or Amazon SNS topic.

    \n
  • \n
  • \n

    \n MaximumRecordAgeInSeconds – Discard records older than the specified age. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires

    \n
  • \n
  • \n

    \n MaximumRetryAttempts – Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.

    \n
  • \n
  • \n

    \n ParallelizationFactor – Process multiple batches from each shard concurrently.

    \n
  • \n
\n

For information about which configuration parameters apply to each event source, see the following topics.

\n ", "smithy.api#http": { "method": "POST", "uri": "/2015-03-31/event-source-mappings", @@ -3280,13 +3281,13 @@ "EventSourceArn": { "target": "com.amazonaws.lambda#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the event source.

\n
    \n
  • \n

    \n Amazon Kinesis - The ARN of the data stream or a stream consumer.

    \n
  • \n
  • \n

    \n Amazon DynamoDB Streams - The ARN of the stream.

    \n
  • \n
  • \n

    \n Amazon Simple Queue Service - The ARN of the queue.

    \n
  • \n
  • \n

    \n Amazon Managed Streaming for Apache Kafka - The ARN of the cluster.

    \n
  • \n
" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the event source.

\n
    \n
  • \n

    \n Amazon Kinesis – The ARN of the data stream or a stream consumer.

    \n
  • \n
  • \n

    \n Amazon DynamoDB Streams – The ARN of the stream.

    \n
  • \n
  • \n

    \n Amazon Simple Queue Service – The ARN of the queue.

    \n
  • \n
  • \n

    \n Amazon Managed Streaming for Apache Kafka – The ARN of the cluster.

    \n
  • \n
  • \n

    \n Amazon MQ – The ARN of the broker.

    \n
  • \n
" } }, "FunctionName": { "target": "com.amazonaws.lambda#FunctionName", "traits": { - "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name - MyFunction.

    \n
  • \n
  • \n

    \n Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

    \n
  • \n
  • \n

    \n Version or Alias ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.

    \n
  • \n
  • \n

    \n Partial ARN - 123456789012:function:MyFunction.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64\n characters in length.

", + "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name – MyFunction.

    \n
  • \n
  • \n

    \n Function ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

    \n
  • \n
  • \n

    \n Version or Alias ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.

    \n
  • \n
  • \n

    \n Partial ARN – 123456789012:function:MyFunction.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64\n characters in length.

", "smithy.api#required": {} } }, @@ -3299,19 +3300,19 @@ "BatchSize": { "target": "com.amazonaws.lambda#BatchSize", "traits": { - "smithy.api#documentation": "

The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation\n (6 MB).

\n
    \n
  • \n

    \n Amazon Kinesis - Default 100. Max 10,000.

    \n
  • \n
  • \n

    \n Amazon DynamoDB Streams - Default 100. Max 10,000.

    \n
  • \n
  • \n

    \n Amazon Simple Queue Service - Default 10. For standard queues the max is 10,000. For FIFO queues the max is 10.

    \n
  • \n
  • \n

    \n Amazon Managed Streaming for Apache Kafka - Default 100. Max 10,000.

    \n
  • \n
  • \n

    \n Self-managed Apache Kafka - Default 100. Max 10,000.

    \n
  • \n
  • \n

    \n Amazon MQ (ActiveMQ and RabbitMQ) - Default 100. Max 10,000.

    \n
  • \n
" + "smithy.api#documentation": "

The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation\n (6 MB).

\n
    \n
  • \n

    \n Amazon Kinesis – Default 100. Max 10,000.

    \n
  • \n
  • \n

    \n Amazon DynamoDB Streams – Default 100. Max 10,000.

    \n
  • \n
  • \n

    \n Amazon Simple Queue Service – Default 10. For standard queues the max is 10,000. For FIFO queues the max is 10.

    \n
  • \n
  • \n

    \n Amazon Managed Streaming for Apache Kafka – Default 100. Max 10,000.

    \n
  • \n
  • \n

    \n Self-managed Apache Kafka – Default 100. Max 10,000.

    \n
  • \n
  • \n

    \n Amazon MQ (ActiveMQ and RabbitMQ) – Default 100. Max 10,000.

    \n
  • \n
" } }, "FilterCriteria": { "target": "com.amazonaws.lambda#FilterCriteria", "traits": { - "smithy.api#documentation": "

(Streams and Amazon SQS) An object that defines the filter criteria that\n determine whether Lambda should process an event. For more information, see Lambda event filtering.

" + "smithy.api#documentation": "

An object that defines the filter criteria that\n determine whether Lambda should process an event. For more information, see Lambda event filtering.

" } }, "MaximumBatchingWindowInSeconds": { "target": "com.amazonaws.lambda#MaximumBatchingWindowInSeconds", "traits": { - "smithy.api#documentation": "

(Streams and Amazon SQS standard queues) The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function.

\n

Default: 0

\n

Related setting: When you set BatchSize to a value greater than 10, you must set MaximumBatchingWindowInSeconds to at least 1.

" + "smithy.api#documentation": "

The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function.\n You can configure MaximumBatchingWindowInSeconds to any value from 0 seconds to 300 seconds in increments of seconds.

\n

For streams and Amazon SQS event sources, the default batching window is 0 seconds. For Amazon MSK, Self-managed Apache Kafka, and Amazon MQ event sources, the default\n batching window is 500 ms. Note that because you can only change MaximumBatchingWindowInSeconds in increments of seconds, you cannot revert back to the 500 ms default batching window after you have changed it.\n To restore the default batching window, you must create a new event source mapping.

\n

Related setting: For streams and Amazon SQS event sources, when you set BatchSize to a value greater than 10, you must set MaximumBatchingWindowInSeconds to at least 1.

" } }, "ParallelizationFactor": { @@ -3403,6 +3404,12 @@ "traits": { "smithy.api#documentation": "

Specific configuration settings for a self-managed Apache Kafka event source.

" } + }, + "ScalingConfig": { + "target": "com.amazonaws.lambda#ScalingConfig", + "traits": { + "smithy.api#documentation": "

(Amazon SQS only) The scaling configuration for the event source. For more information, see Configuring maximum concurrency for Amazon SQS event sources.

" + } } } }, @@ -3444,7 +3451,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a Lambda function. To create a function, you need a deployment package and an execution role. The\n deployment package is a .zip file archive or container image that contains your function code. The execution role grants the function permission to use Amazon Web Services\n services, such as Amazon CloudWatch Logs for log streaming and X-Ray for request tracing.

\n \n

You set the package type to Image if the deployment package is a\n container image. For a container image,\n the code property must include the URI of a container image in the Amazon ECR registry.\n You do not need to specify the handler and runtime properties.

\n \n

You set the package type to Zip if the deployment package is a .zip file\n archive. For a .zip file archive, the code property specifies the location of the\n .zip file. You must also specify the handler and runtime properties. The code in the\n deployment package must be compatible with the target instruction set architecture of the\n function (x86-64 or arm64). If you do not specify the architecture, the default value is\n x86-64.

\n \n

When you create a function, Lambda provisions an instance of the function and its supporting resources. If\n your function connects to a VPC, this process can take a minute or so. During this time, you can't invoke or\n modify the function. The State, StateReason, and StateReasonCode fields in\n the response from GetFunctionConfiguration indicate when the function is ready to invoke. For\n more information, see Function\n States.

\n \n

A function has an unpublished version, and can have published versions and aliases. The unpublished version\n changes when you update your function's code and configuration. A published version is a snapshot of your function\n code and configuration that can't be changed. An alias is a named resource that maps to a version, and can be\n changed to map to a different version. Use the Publish parameter to create version 1 of\n your function from its initial configuration.

\n \n

The other parameters let you configure version-specific and function-level settings. You can modify\n version-specific settings later with UpdateFunctionConfiguration. Function-level settings apply\n to both the unpublished and published versions of the function, and include tags (TagResource)\n and per-function concurrency limits (PutFunctionConcurrency).

\n \n

You can use code signing if your deployment package is a .zip file archive. To enable code signing for this function,\n specify the ARN of a code-signing configuration. When a user\n attempts to deploy a code package with UpdateFunctionCode, Lambda checks that the code\n package has a valid signature from a trusted publisher. The code-signing configuration\n includes set set of signing profiles, which define the trusted publishers for this function.

\n \n

If another account or an Amazon Web Services service invokes your function, use AddPermission to grant\n permission by creating a resource-based IAM policy. You can grant permissions at the function level, on a version,\n or on an alias.

\n \n

To invoke your function directly, use Invoke. To invoke your function in response to events\n in other Amazon Web Services services, create an event source mapping (CreateEventSourceMapping), or configure a\n function trigger in the other service. For more information, see Invoking Functions.

", + "smithy.api#documentation": "

Creates a Lambda function. To create a function, you need a deployment package and an execution role. The\n deployment package is a .zip file archive or container image that contains your function code. The execution role\n grants the function permission to use Amazon Web Services, such as Amazon CloudWatch Logs for log\n streaming and X-Ray for request tracing.

\n

If the deployment package is a container\n image, then you set the package type to Image. For a container image, the code property\n must include the URI of a container image in the Amazon ECR registry. You do not need to specify the\n handler and runtime properties.

\n

If the deployment package is a .zip file archive, then\n you set the package type to Zip. For a .zip file archive, the code property specifies the location of\n the .zip file. You must also specify the handler and runtime properties. The code in the deployment package must\n be compatible with the target instruction set architecture of the function (x86-64 or\n arm64). If you do not specify the architecture, then the default value is\n x86-64.

\n

When you create a function, Lambda provisions an instance of the function and its supporting\n resources. If your function connects to a VPC, this process can take a minute or so. During this time, you can't\n invoke or modify the function. The State, StateReason, and StateReasonCode\n fields in the response from GetFunctionConfiguration indicate when the function is ready to\n invoke. For more information, see Lambda function states.

\n

A function has an unpublished version, and can have published versions and aliases. The unpublished version\n changes when you update your function's code and configuration. A published version is a snapshot of your function\n code and configuration that can't be changed. An alias is a named resource that maps to a version, and can be\n changed to map to a different version. Use the Publish parameter to create version 1 of\n your function from its initial configuration.

\n

The other parameters let you configure version-specific and function-level settings. You can modify\n version-specific settings later with UpdateFunctionConfiguration. Function-level settings apply\n to both the unpublished and published versions of the function, and include tags (TagResource)\n and per-function concurrency limits (PutFunctionConcurrency).

\n

You can use code signing if your deployment package is a .zip file archive. To enable code signing for this\n function, specify the ARN of a code-signing configuration. When a user attempts to deploy a code package with\n UpdateFunctionCode, Lambda checks that the code package has a valid signature from\n a trusted publisher. The code-signing configuration includes set of signing profiles, which define the trusted\n publishers for this function.

\n

If another Amazon Web Services account or an Amazon Web Service invokes your function, use AddPermission to grant permission by creating a resource-based Identity and Access Management (IAM) policy. You can grant permissions at the function level, on a version, or on an alias.

\n

To invoke your function directly, use Invoke. To invoke your function in response to events\n in other Amazon Web Services, create an event source mapping (CreateEventSourceMapping),\n or configure a function trigger in the other service. For more information, see Invoking Lambda\n functions.

", "smithy.api#http": { "method": "POST", "uri": "/2015-03-31/functions", @@ -3458,14 +3465,14 @@ "FunctionName": { "target": "com.amazonaws.lambda#FunctionName", "traits": { - "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name - my-function.

    \n
  • \n
  • \n

    \n Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN - 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", + "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name – my-function.

    \n
  • \n
  • \n

    \n Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN – 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", "smithy.api#required": {} } }, "Runtime": { "target": "com.amazonaws.lambda#Runtime", "traits": { - "smithy.api#documentation": "

The identifier of the function's runtime. Runtime is required if the deployment package is a .zip file archive. \n

" + "smithy.api#documentation": "

The identifier of the function's runtime. Runtime is required if the deployment package is a .zip file archive.\n

" } }, "Role": { @@ -3478,7 +3485,7 @@ "Handler": { "target": "com.amazonaws.lambda#Handler", "traits": { - "smithy.api#documentation": "

The name of the method within your code that Lambda calls to execute your function. \nHandler is required if the deployment package is a .zip file archive. The format includes the\n file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information,\n see Programming Model.

" + "smithy.api#documentation": "

The name of the method within your code that Lambda calls to run your function. \nHandler is required if the deployment package is a .zip file archive. The format includes the\n file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information,\n see Lambda programming model.

" } }, "Code": { @@ -3497,13 +3504,13 @@ "Timeout": { "target": "com.amazonaws.lambda#Timeout", "traits": { - "smithy.api#documentation": "

The amount of time (in seconds) that Lambda allows a function to run before stopping it. The default is 3 seconds. The\n maximum allowed value is 900 seconds. For additional information, see Lambda execution environment.

" + "smithy.api#documentation": "

The amount of time (in seconds) that Lambda allows a function to run before stopping it. The default is 3 seconds. The\n maximum allowed value is 900 seconds. For more information, see Lambda execution environment.

" } }, "MemorySize": { "target": "com.amazonaws.lambda#MemorySize", "traits": { - "smithy.api#documentation": "

The amount of memory available to the function at runtime.\n Increasing the function memory also increases its CPU allocation. The default value is 128 MB. The value can be any multiple of 1 MB.

" + "smithy.api#documentation": "

The amount of memory available to the function at runtime.\n Increasing the function memory also increases its CPU allocation. The default value is 128 MB. The value can be any multiple of 1 MB.

" } }, "Publish": { @@ -3516,19 +3523,19 @@ "VpcConfig": { "target": "com.amazonaws.lambda#VpcConfig", "traits": { - "smithy.api#documentation": "

For network connectivity to Amazon Web Services resources in a VPC, specify a list of security groups and subnets in the VPC.\n When you connect a function to a VPC, it can only access resources and the internet through that VPC. For more\n information, see VPC Settings.

" + "smithy.api#documentation": "

For network connectivity to Amazon Web Services resources in a VPC, specify a list of security groups and subnets in the VPC.\n When you connect a function to a VPC, it can access resources and the internet only through that VPC. For more\n information, see Configuring a Lambda function to access resources in a VPC.

" } }, "PackageType": { "target": "com.amazonaws.lambda#PackageType", "traits": { - "smithy.api#documentation": "

The type of deployment package. Set to Image for container image and set Zip for ZIP archive.

" + "smithy.api#documentation": "

The type of deployment package. Set to Image for container image and set to Zip for .zip file archive.

" } }, "DeadLetterConfig": { "target": "com.amazonaws.lambda#DeadLetterConfig", "traits": { - "smithy.api#documentation": "

A dead letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events\n when they fail processing. For more information, see Dead Letter Queues.

" + "smithy.api#documentation": "

A dead-letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events\n when they fail processing. For more information, see Dead-letter queues.

" } }, "Environment": { @@ -3540,7 +3547,7 @@ "KMSKeyArn": { "target": "com.amazonaws.lambda#KMSKeyArn", "traits": { - "smithy.api#documentation": "

The ARN of the Amazon Web Services Key Management Service (KMS) key that's used to encrypt your function's environment\n variables. If it's not provided, Lambda uses a default service key.

" + "smithy.api#documentation": "

The ARN of the Key Management Service (KMS) key that's used to encrypt your function's environment\n variables. If it's not provided, Lambda uses a default service key.

" } }, "TracingConfig": { @@ -3588,7 +3595,13 @@ "EphemeralStorage": { "target": "com.amazonaws.lambda#EphemeralStorage", "traits": { - "smithy.api#documentation": "

The size of the function’s /tmp directory in MB. The default value is 512, but can be any whole number between 512 and 10240 MB.

" + "smithy.api#documentation": "

The size of the function's /tmp directory in MB. The default value is 512, but can be any whole\n number between 512 and 10,240 MB.

" + } + }, + "SnapStart": { + "target": "com.amazonaws.lambda#SnapStart", + "traits": { + "smithy.api#documentation": "

The function's SnapStart setting.

" } } } @@ -3633,7 +3646,7 @@ "FunctionName": { "target": "com.amazonaws.lambda#FunctionName", "traits": { - "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name - my-function.

    \n
  • \n
  • \n

    \n Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN - 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", + "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name – my-function.

    \n
  • \n
  • \n

    \n Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN – 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3648,7 +3661,7 @@ "AuthType": { "target": "com.amazonaws.lambda#FunctionUrlAuthType", "traits": { - "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated\n IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information,\n see Security and auth model for Lambda function URLs.

", + "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated\n IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information,\n see Security and auth model for Lambda function URLs.

", "smithy.api#required": {} } }, @@ -3680,7 +3693,7 @@ "AuthType": { "target": "com.amazonaws.lambda#FunctionUrlAuthType", "traits": { - "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated\n IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information,\n see Security and auth model for Lambda function URLs.

", + "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated\n IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information,\n see Security and auth model for Lambda function URLs.

", "smithy.api#required": {} } }, @@ -3739,7 +3752,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a Lambda function alias.

", + "smithy.api#documentation": "

Deletes a Lambda function alias.

", "smithy.api#http": { "method": "DELETE", "uri": "/2015-03-31/functions/{FunctionName}/aliases/{Name}", @@ -3889,7 +3902,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a Lambda function. To delete a specific function version, use the Qualifier parameter.\n Otherwise, all versions and aliases are deleted.

\n \n

To delete Lambda event source mappings that invoke a function, use DeleteEventSourceMapping.\n For Amazon Web Services services and resources that invoke your function directly, delete the trigger in the service where you\n originally configured it.

", + "smithy.api#documentation": "

Deletes a Lambda function. To delete a specific function version, use the Qualifier parameter.\n Otherwise, all versions and aliases are deleted.

\n

To delete Lambda event source mappings that invoke a function, use DeleteEventSourceMapping. For Amazon Web Services and resources that invoke your function\n directly, delete the trigger in the service where you originally configured it.

", "smithy.api#http": { "method": "DELETE", "uri": "/2015-03-31/functions/{FunctionName}", @@ -3987,7 +4000,7 @@ "FunctionName": { "target": "com.amazonaws.lambda#FunctionName", "traits": { - "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name - my-function.

    \n
  • \n
  • \n

    \n Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN - 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", + "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name – my-function.

    \n
  • \n
  • \n

    \n Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN – 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4020,7 +4033,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes the configuration for asynchronous invocation for a function, version, or alias.

\n

To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

", + "smithy.api#documentation": "

Deletes the configuration for asynchronous invocation for a function, version, or alias.

\n

To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

", "smithy.api#http": { "method": "DELETE", "uri": "/2019-09-25/functions/{FunctionName}/event-invoke-config", @@ -4054,7 +4067,7 @@ "FunctionName": { "target": "com.amazonaws.lambda#FunctionName", "traits": { - "smithy.api#documentation": "

The name of the Lambda function or version.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name - my-function (name-only), my-function:1 (with version).

    \n
  • \n
  • \n

    \n Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN - 123456789012:function:my-function.

    \n
  • \n
\n

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN.\n If you specify only the function name, it is limited to 64 characters in length.

", + "smithy.api#documentation": "

The name of the Lambda function or version.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name – my-function (name-only), my-function:1 (with version).

    \n
  • \n
  • \n

    \n Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN – 123456789012:function:my-function.

    \n
  • \n
\n

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN.\n If you specify only the function name, it is limited to 64 characters in length.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4062,7 +4075,7 @@ "Qualifier": { "target": "com.amazonaws.lambda#Qualifier", "traits": { - "smithy.api#documentation": "

Specify a version to delete. You can't delete a version that's referenced by an alias.

", + "smithy.api#documentation": "

Specify a version to delete. You can't delete a version that an alias references.

", "smithy.api#httpQuery": "Qualifier" } } @@ -4105,7 +4118,7 @@ "FunctionName": { "target": "com.amazonaws.lambda#FunctionName", "traits": { - "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name - my-function.

    \n
  • \n
  • \n

    \n Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN - 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", + "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name – my-function.

    \n
  • \n
  • \n

    \n Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN – 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4206,7 +4219,7 @@ "FunctionName": { "target": "com.amazonaws.lambda#FunctionName", "traits": { - "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name - my-function.

    \n
  • \n
  • \n

    \n Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN - 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", + "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name – my-function.

    \n
  • \n
  • \n

    \n Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN – 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4287,7 +4300,7 @@ } }, "traits": { - "smithy.api#documentation": "

Lambda was throttled by Amazon EC2 during Lambda function initialization using the execution role provided\n for the Lambda function.

", + "smithy.api#documentation": "

Amazon EC2 throttled Lambda during Lambda function initialization using\n the execution role provided for the function.

", "smithy.api#error": "server", "smithy.api#httpError": 502 } @@ -4306,7 +4319,7 @@ } }, "traits": { - "smithy.api#documentation": "

Lambda received an unexpected EC2 client exception while setting up for the Lambda function.

", + "smithy.api#documentation": "

Lambda received an unexpected Amazon EC2 client exception while setting up for the\n Lambda function.

", "smithy.api#error": "server", "smithy.api#httpError": 502 } @@ -4338,7 +4351,7 @@ } }, "traits": { - "smithy.api#documentation": "

The function couldn't make a network connection to the configured file system.

", + "smithy.api#documentation": "

The Lambda function couldn't make a network connection to the configured file system.

", "smithy.api#error": "client", "smithy.api#httpError": 408 } @@ -4354,7 +4367,7 @@ } }, "traits": { - "smithy.api#documentation": "

The function couldn't mount the configured file system due to a permission or configuration issue.

", + "smithy.api#documentation": "

The Lambda function couldn't mount the configured file system due to a permission or configuration\n issue.

", "smithy.api#error": "client", "smithy.api#httpError": 403 } @@ -4370,7 +4383,7 @@ } }, "traits": { - "smithy.api#documentation": "

The function was able to make a network connection to the configured file system, but the mount operation\n timed out.

", + "smithy.api#documentation": "

The Lambda function made a network connection to the configured file system, but the mount\n operation timed out.

", "smithy.api#error": "client", "smithy.api#httpError": 408 } @@ -4386,7 +4399,7 @@ } }, "traits": { - "smithy.api#documentation": "

Lambda was not able to create an elastic network interface in the VPC, specified as part of Lambda\n function configuration, because the limit for network interfaces has been reached.

", + "smithy.api#documentation": "

Lambda couldn't create an elastic network interface in the VPC, specified as part of Lambda function configuration, because the limit for network interfaces has been reached. For more\n information, see Lambda\n quotas.

", "smithy.api#error": "server", "smithy.api#httpError": 502 } @@ -4395,14 +4408,14 @@ "type": "boolean" }, "com.amazonaws.lambda#EndPointType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "KAFKA_BOOTSTRAP_SERVERS", - "name": "KAFKA_BOOTSTRAP_SERVERS" + "type": "enum", + "members": { + "KAFKA_BOOTSTRAP_SERVERS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "KAFKA_BOOTSTRAP_SERVERS" } - ] + } } }, "com.amazonaws.lambda#Endpoint": { @@ -4448,12 +4461,12 @@ "Variables": { "target": "com.amazonaws.lambda#EnvironmentVariables", "traits": { - "smithy.api#documentation": "

Environment variable key-value pairs. For more information, see\n Using Lambda environment variables.

" + "smithy.api#documentation": "

Environment variable key-value pairs. For more information, see Using Lambda environment variables.

" } } }, "traits": { - "smithy.api#documentation": "

A function's environment variable settings.\n You can use environment variables to adjust your function's behavior without updating code.\n An environment variable is a pair of strings that are stored in a function's version-specific configuration.

" + "smithy.api#documentation": "

A function's environment variable settings. You can use environment variables to adjust your function's\n behavior without updating code. An environment variable is a pair of strings that are stored in a function's\n version-specific configuration.

" } }, "com.amazonaws.lambda#EnvironmentError": { @@ -4482,7 +4495,7 @@ "Variables": { "target": "com.amazonaws.lambda#EnvironmentVariables", "traits": { - "smithy.api#documentation": "

Environment variable key-value pairs.

" + "smithy.api#documentation": "

Environment variable key-value pairs. Omitted from CloudTrail logs.

" } }, "Error": { @@ -4493,7 +4506,7 @@ } }, "traits": { - "smithy.api#documentation": "

The results of an operation to update or read environment variables. If the operation is successful, the\n response contains the environment variables. If it failed, the response contains details about the error.

" + "smithy.api#documentation": "

The results of an operation to update or read environment variables. If the operation succeeds, the response\n contains the environment variables. If it fails, the response contains details about the error.

" } }, "com.amazonaws.lambda#EnvironmentVariableName": { @@ -4527,13 +4540,13 @@ "Size": { "target": "com.amazonaws.lambda#EphemeralStorageSize", "traits": { - "smithy.api#documentation": "

The size of the function’s /tmp directory.

", + "smithy.api#documentation": "

The size of the function's /tmp directory.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

The size of the function’s /tmp directory in MB. The default value is 512, but can be any whole number between 512 and 10240 MB.

" + "smithy.api#documentation": "

The size of the function's /tmp directory in MB. The default value is 512, but it can be any\n whole number between 512 and 10,240 MB.

" } }, "com.amazonaws.lambda#EphemeralStorageSize": { @@ -4575,7 +4588,7 @@ "MaximumBatchingWindowInSeconds": { "target": "com.amazonaws.lambda#MaximumBatchingWindowInSeconds", "traits": { - "smithy.api#documentation": "

(Streams and Amazon SQS standard queues) The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function.

\n

Default: 0

\n

Related setting: When you set BatchSize to a value greater than 10, you must set MaximumBatchingWindowInSeconds to at least 1.

" + "smithy.api#documentation": "

The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function.\n You can configure MaximumBatchingWindowInSeconds to any value from 0 seconds to 300 seconds in increments of seconds.

\n

For streams and Amazon SQS event sources, the default batching window is 0 seconds. For Amazon MSK, Self-managed Apache Kafka, and Amazon MQ event sources, the default\n batching window is 500 ms. Note that because you can only change MaximumBatchingWindowInSeconds in increments of seconds, you cannot revert back to the 500 ms default batching window after you have changed it.\n To restore the default batching window, you must create a new event source mapping.

\n

Related setting: For streams and Amazon SQS event sources, when you set BatchSize to a value greater than 10, you must set MaximumBatchingWindowInSeconds to at least 1.

" } }, "ParallelizationFactor": { @@ -4593,7 +4606,7 @@ "FilterCriteria": { "target": "com.amazonaws.lambda#FilterCriteria", "traits": { - "smithy.api#documentation": "

(Streams and Amazon SQS) An object that defines the filter criteria that\n determine whether Lambda should process an event. For more information, see Lambda event filtering.

" + "smithy.api#documentation": "

An object that defines the filter criteria that\n determine whether Lambda should process an event. For more information, see Lambda event filtering.

" } }, "FunctionArn": { @@ -4697,6 +4710,12 @@ "traits": { "smithy.api#documentation": "

Specific configuration settings for a self-managed Apache Kafka event source.

" } + }, + "ScalingConfig": { + "target": "com.amazonaws.lambda#ScalingConfig", + "traits": { + "smithy.api#documentation": "

(Amazon SQS only) The scaling configuration for the event source. For more information, see Configuring maximum concurrency for Amazon SQS event sources.

" + } } }, "traits": { @@ -4710,22 +4729,26 @@ } }, "com.amazonaws.lambda#EventSourcePosition": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "TRIM_HORIZON", - "name": "TRIM_HORIZON" - }, - { - "value": "LATEST", - "name": "LATEST" - }, - { - "value": "AT_TIMESTAMP", - "name": "AT_TIMESTAMP" + "type": "enum", + "members": { + "TRIM_HORIZON": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TRIM_HORIZON" + } + }, + "LATEST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LATEST" + } + }, + "AT_TIMESTAMP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AT_TIMESTAMP" } - ] + } } }, "com.amazonaws.lambda#EventSourceToken": { @@ -4754,7 +4777,7 @@ "Arn": { "target": "com.amazonaws.lambda#FileSystemArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon EFS access point that provides access to the file system.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon EFS access point that provides access to the file\n system.

", "smithy.api#required": {} } }, @@ -4767,7 +4790,7 @@ } }, "traits": { - "smithy.api#documentation": "

Details about the connection between a Lambda function and an\n Amazon EFS file system.

" + "smithy.api#documentation": "

Details about the connection between a Lambda function and an Amazon EFS file system.

" } }, "com.amazonaws.lambda#FileSystemConfigList": { @@ -4834,7 +4857,7 @@ "ZipFile": { "target": "com.amazonaws.lambda#Blob", "traits": { - "smithy.api#documentation": "

The base64-encoded contents of the deployment package. Amazon Web Services SDK and Amazon Web Services CLI clients handle the encoding for\n you.

" + "smithy.api#documentation": "

The base64-encoded contents of the deployment package. Amazon Web Services SDK and CLI clients handle the encoding for\n you.

" } }, "S3Bucket": { @@ -4858,12 +4881,12 @@ "ImageUri": { "target": "com.amazonaws.lambda#String", "traits": { - "smithy.api#documentation": "

URI of a container image in the Amazon ECR registry.

" + "smithy.api#documentation": "

URI of a container image in the\n Amazon ECR registry.

" } } }, "traits": { - "smithy.api#documentation": "

The code for the Lambda function. You can specify either an object in Amazon S3, upload a .zip file archive deployment\n package directly, or specify the URI of a container image.

" + "smithy.api#documentation": "

The code for the Lambda function. You can either specify an object in Amazon S3, upload a\n .zip file archive deployment package directly, or specify the URI of a container image.

" } }, "com.amazonaws.lambda#FunctionCodeLocation": { @@ -4928,7 +4951,7 @@ "Handler": { "target": "com.amazonaws.lambda#Handler", "traits": { - "smithy.api#documentation": "

The function that Lambda calls to begin executing your function.

" + "smithy.api#documentation": "

The function that Lambda calls to begin running your function.

" } }, "CodeSize": { @@ -4953,7 +4976,7 @@ "MemorySize": { "target": "com.amazonaws.lambda#MemorySize", "traits": { - "smithy.api#documentation": "

The amount of memory available to the function at runtime.

" + "smithy.api#documentation": "

The amount of memory available to the function at runtime.

" } }, "LastModified": { @@ -4989,13 +5012,13 @@ "Environment": { "target": "com.amazonaws.lambda#EnvironmentResponse", "traits": { - "smithy.api#documentation": "

The function's environment variables.

" + "smithy.api#documentation": "

The function's environment variables. Omitted from CloudTrail logs.

" } }, "KMSKeyArn": { "target": "com.amazonaws.lambda#KMSKeyArn", "traits": { - "smithy.api#documentation": "

The KMS key that's used to encrypt the function's environment variables. This key is only returned if you've\n configured a customer managed key.

" + "smithy.api#documentation": "

The KMS key that's used to encrypt the function's environment variables. This key is\n returned only if you've configured a customer managed key.

" } }, "TracingConfig": { @@ -5019,7 +5042,7 @@ "Layers": { "target": "com.amazonaws.lambda#LayersReferenceList", "traits": { - "smithy.api#documentation": "

The function's \n layers.

" + "smithy.api#documentation": "

The function's layers.

" } }, "State": { @@ -5097,7 +5120,19 @@ "EphemeralStorage": { "target": "com.amazonaws.lambda#EphemeralStorage", "traits": { - "smithy.api#documentation": "

The size of the function’s /tmp directory in MB. The default value is 512, but can be any whole number between 512 and 10240 MB.

" + "smithy.api#documentation": "

The size of the function’s /tmp directory in MB. The default value is 512, but it can be any\n whole number between 512 and 10,240 MB.

" + } + }, + "SnapStart": { + "target": "com.amazonaws.lambda#SnapStartResponse", + "traits": { + "smithy.api#documentation": "

Set ApplyOn to PublishedVersions to create a snapshot of the initialized execution\n environment when you publish a function version. For more information, see Improving startup performance with Lambda SnapStart.

" + } + }, + "RuntimeVersionConfig": { + "target": "com.amazonaws.lambda#RuntimeVersionConfig", + "traits": { + "smithy.api#documentation": "

The ARN of the runtime and any errors that occured.

" } } }, @@ -5163,14 +5198,14 @@ } }, "com.amazonaws.lambda#FunctionResponseType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "ReportBatchItemFailures", - "name": "ReportBatchItemFailures" + "type": "enum", + "members": { + "ReportBatchItemFailures": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ReportBatchItemFailures" } - ] + } } }, "com.amazonaws.lambda#FunctionResponseTypeList": { @@ -5195,18 +5230,20 @@ } }, "com.amazonaws.lambda#FunctionUrlAuthType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "NONE", - "name": "NONE" - }, - { - "value": "AWS_IAM", - "name": "AWS_IAM" + "type": "enum", + "members": { + "NONE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NONE" + } + }, + "AWS_IAM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS_IAM" } - ] + } } }, "com.amazonaws.lambda#FunctionUrlConfig": { @@ -5249,7 +5286,7 @@ "AuthType": { "target": "com.amazonaws.lambda#FunctionUrlAuthType", "traits": { - "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated\n IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information,\n see Security and auth model for Lambda function URLs.

", + "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated\n IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information,\n see Security and auth model for Lambda function URLs.

", "smithy.api#required": {} } } @@ -5275,14 +5312,14 @@ } }, "com.amazonaws.lambda#FunctionVersion": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "ALL", - "name": "ALL" + "type": "enum", + "members": { + "ALL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ALL" } - ] + } } }, "com.amazonaws.lambda#GetAccountSettings": { @@ -5354,7 +5391,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns details about a Lambda function alias.

", + "smithy.api#documentation": "

Returns details about a Lambda function alias.

", "smithy.api#http": { "method": "GET", "uri": "/2015-03-31/functions/{FunctionName}/aliases/{Name}", @@ -5702,7 +5739,7 @@ "FunctionName": { "target": "com.amazonaws.lambda#FunctionName", "traits": { - "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name - my-function.

    \n
  • \n
  • \n

    \n Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN - 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", + "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name – my-function.

    \n
  • \n
  • \n

    \n Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN – 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -5821,26 +5858,62 @@ } ], "minDelay": 5 - } - } - } - }, - "com.amazonaws.lambda#GetFunctionConfigurationRequest": { - "type": "structure", - "members": { - "FunctionName": { - "target": "com.amazonaws.lambda#NamespacedFunctionName", - "traits": { - "smithy.api#documentation": "

The name of the Lambda function, version, or alias.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name - my-function (name-only), my-function:v1 (with alias).

    \n
  • \n
  • \n

    \n Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN - 123456789012:function:my-function.

    \n
  • \n
\n

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN.\n If you specify only the function name, it is limited to 64 characters in length.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "Qualifier": { - "target": "com.amazonaws.lambda#Qualifier", - "traits": { - "smithy.api#documentation": "

Specify a version or alias to get details about a published version of the function.

", - "smithy.api#httpQuery": "Qualifier" + }, + "PublishedVersionActive": { + "documentation": "Waits for the published version's State to be Active. This waiter uses GetFunctionConfiguration API. This should be used after new version is published.", + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "State", + "expected": "Active", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "State", + "expected": "Failed", + "comparator": "stringEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "output": { + "path": "State", + "expected": "Pending", + "comparator": "stringEquals" + } + } + } + ], + "minDelay": 5 + } + } + } + }, + "com.amazonaws.lambda#GetFunctionConfigurationRequest": { + "type": "structure", + "members": { + "FunctionName": { + "target": "com.amazonaws.lambda#NamespacedFunctionName", + "traits": { + "smithy.api#documentation": "

The name of the Lambda function, version, or alias.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name – my-function (name-only), my-function:v1 (with alias).

    \n
  • \n
  • \n

    \n Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN – 123456789012:function:my-function.

    \n
  • \n
\n

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN.\n If you specify only the function name, it is limited to 64 characters in length.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Qualifier": { + "target": "com.amazonaws.lambda#Qualifier", + "traits": { + "smithy.api#documentation": "

Specify a version or alias to get details about a published version of the function.

", + "smithy.api#httpQuery": "Qualifier" } } } @@ -5868,7 +5941,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves the configuration for asynchronous invocation for a function, version, or alias.

\n

To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

", + "smithy.api#documentation": "

Retrieves the configuration for asynchronous invocation for a function, version, or alias.

\n

To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

", "smithy.api#http": { "method": "GET", "uri": "/2019-09-25/functions/{FunctionName}/event-invoke-config", @@ -5902,7 +5975,7 @@ "FunctionName": { "target": "com.amazonaws.lambda#NamespacedFunctionName", "traits": { - "smithy.api#documentation": "

The name of the Lambda function, version, or alias.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name - my-function (name-only), my-function:v1 (with alias).

    \n
  • \n
  • \n

    \n Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN - 123456789012:function:my-function.

    \n
  • \n
\n

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN.\n If you specify only the function name, it is limited to 64 characters in length.

", + "smithy.api#documentation": "

The name of the Lambda function, version, or alias.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name – my-function (name-only), my-function:v1 (with alias).

    \n
  • \n
  • \n

    \n Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN – 123456789012:function:my-function.

    \n
  • \n
\n

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN.\n If you specify only the function name, it is limited to 64 characters in length.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -5982,7 +6055,7 @@ "FunctionName": { "target": "com.amazonaws.lambda#FunctionName", "traits": { - "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name - my-function.

    \n
  • \n
  • \n

    \n Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN - 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", + "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name – my-function.

    \n
  • \n
  • \n

    \n Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN – 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6016,7 +6089,7 @@ "AuthType": { "target": "com.amazonaws.lambda#FunctionUrlAuthType", "traits": { - "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated\n IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information,\n see Security and auth model for Lambda function URLs.

", + "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated\n IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information,\n see Security and auth model for Lambda function URLs.

", "smithy.api#required": {} } }, @@ -6306,7 +6379,7 @@ "FunctionName": { "target": "com.amazonaws.lambda#NamespacedFunctionName", "traits": { - "smithy.api#documentation": "

The name of the Lambda function, version, or alias.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name - my-function (name-only), my-function:v1 (with alias).

    \n
  • \n
  • \n

    \n Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN - 123456789012:function:my-function.

    \n
  • \n
\n

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN.\n If you specify only the function name, it is limited to 64 characters in length.

", + "smithy.api#documentation": "

The name of the Lambda function, version, or alias.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name – my-function (name-only), my-function:v1 (with alias).

    \n
  • \n
  • \n

    \n Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN – 123456789012:function:my-function.

    \n
  • \n
\n

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN.\n If you specify only the function name, it is limited to 64 characters in length.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6377,7 +6450,7 @@ "FunctionName": { "target": "com.amazonaws.lambda#FunctionName", "traits": { - "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name - my-function.

    \n
  • \n
  • \n

    \n Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN - 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", + "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name – my-function.

    \n
  • \n
  • \n

    \n Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN – 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6410,7 +6483,7 @@ "AllocatedProvisionedConcurrentExecutions": { "target": "com.amazonaws.lambda#NonNegativeInteger", "traits": { - "smithy.api#documentation": "

The amount of provisioned concurrency allocated.

" + "smithy.api#documentation": "

The amount of provisioned concurrency allocated. When a weighted alias is used during linear and canary deployments, this value fluctuates depending on the amount of concurrency that is provisioned for the function versions.

" } }, "Status": { @@ -6433,6 +6506,74 @@ } } }, + "com.amazonaws.lambda#GetRuntimeManagementConfig": { + "type": "operation", + "input": { + "target": "com.amazonaws.lambda#GetRuntimeManagementConfigRequest" + }, + "output": { + "target": "com.amazonaws.lambda#GetRuntimeManagementConfigResponse" + }, + "errors": [ + { + "target": "com.amazonaws.lambda#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.lambda#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.lambda#ServiceException" + }, + { + "target": "com.amazonaws.lambda#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves the runtime management configuration for a function's version. If the runtime update mode is Manual, this includes the ARN of the \n runtime version and the runtime update mode. If the runtime update mode is Auto or Function update, \n this includes the runtime update mode and null is returned for the ARN. For more information, see Runtime updates.

", + "smithy.api#http": { + "method": "GET", + "uri": "/2021-07-20/functions/{FunctionName}/runtime-management-config", + "code": 200 + } + } + }, + "com.amazonaws.lambda#GetRuntimeManagementConfigRequest": { + "type": "structure", + "members": { + "FunctionName": { + "target": "com.amazonaws.lambda#FunctionName", + "traits": { + "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name – my-function.

    \n
  • \n
  • \n

    \n Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN – 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Qualifier": { + "target": "com.amazonaws.lambda#Qualifier", + "traits": { + "smithy.api#documentation": "

Specify a version of the function. This can be $LATEST or a published version number. If no value is specified, the configuration for the \n $LATEST version is returned.

", + "smithy.api#httpQuery": "Qualifier" + } + } + } + }, + "com.amazonaws.lambda#GetRuntimeManagementConfigResponse": { + "type": "structure", + "members": { + "UpdateRuntimeOn": { + "target": "com.amazonaws.lambda#UpdateRuntimeOn", + "traits": { + "smithy.api#documentation": "

The current runtime update mode of the function.

" + } + }, + "RuntimeVersionArn": { + "target": "com.amazonaws.lambda#RuntimeVersionArn", + "traits": { + "smithy.api#documentation": "

The ARN of the runtime the function is configured to use. If the runtime update mode is Manual, the ARN is returned, otherwise null \n is returned.

" + } + } + } + }, "com.amazonaws.lambda#Handler": { "type": "string", "traits": { @@ -6483,7 +6624,7 @@ "Command": { "target": "com.amazonaws.lambda#StringList", "traits": { - "smithy.api#documentation": "

Specifies parameters that you want to pass in with ENTRYPOINT.

" + "smithy.api#documentation": "

Specifies parameters that you want to pass in with ENTRYPOINT.

" } }, "WorkingDirectory": { @@ -6494,7 +6635,7 @@ } }, "traits": { - "smithy.api#documentation": "

Configuration values that override the container image Dockerfile settings. See\n Container settings.

" + "smithy.api#documentation": "

Configuration values that override the container image Dockerfile settings. For more information, see Container image\n settings.

" } }, "com.amazonaws.lambda#ImageConfigError": { @@ -6514,7 +6655,7 @@ } }, "traits": { - "smithy.api#documentation": "

Error response to GetFunctionConfiguration.

" + "smithy.api#documentation": "

Error response to GetFunctionConfiguration.

" } }, "com.amazonaws.lambda#ImageConfigResponse": { @@ -6529,12 +6670,12 @@ "Error": { "target": "com.amazonaws.lambda#ImageConfigError", "traits": { - "smithy.api#documentation": "

Error response to GetFunctionConfiguration.

" + "smithy.api#documentation": "

Error response to GetFunctionConfiguration.

" } } }, "traits": { - "smithy.api#documentation": "

Response to GetFunctionConfiguration request.

" + "smithy.api#documentation": "

Response to a GetFunctionConfiguration request.

" } }, "com.amazonaws.lambda#Integer": { @@ -6554,7 +6695,7 @@ } }, "traits": { - "smithy.api#documentation": "

The code signature failed the integrity check. Lambda always blocks deployment if the integrity check\n fails, even if code signing policy is set to WARN.

", + "smithy.api#documentation": "

The code signature failed the integrity check. If the integrity check fails, then Lambda blocks\n deployment, even if the code signing policy is set to WARN.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -6576,7 +6717,7 @@ } }, "traits": { - "smithy.api#documentation": "

One of the parameters in the request is invalid.

", + "smithy.api#documentation": "

One of the parameters in the request is not valid.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -6630,7 +6771,7 @@ } }, "traits": { - "smithy.api#documentation": "

The Security Group ID provided in the Lambda function VPC configuration is invalid.

", + "smithy.api#documentation": "

The security group ID provided in the Lambda function VPC configuration is not valid.

", "smithy.api#error": "server", "smithy.api#httpError": 502 } @@ -6646,7 +6787,7 @@ } }, "traits": { - "smithy.api#documentation": "

The Subnet ID provided in the Lambda function VPC configuration is invalid.

", + "smithy.api#documentation": "

The subnet ID provided in the Lambda function VPC configuration is not valid.

", "smithy.api#error": "server", "smithy.api#httpError": 502 } @@ -6673,7 +6814,7 @@ "FunctionName": { "target": "com.amazonaws.lambda#NamespacedFunctionName", "traits": { - "smithy.api#documentation": "

The name of the Lambda function, version, or alias.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name - my-function (name-only), my-function:v1 (with alias).

    \n
  • \n
  • \n

    \n Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN - 123456789012:function:my-function.

    \n
  • \n
\n

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN.\n If you specify only the function name, it is limited to 64 characters in length.

", + "smithy.api#documentation": "

The name of the Lambda function, version, or alias.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name – my-function (name-only), my-function:v1 (with alias).

    \n
  • \n
  • \n

    \n Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN – 123456789012:function:my-function.

    \n
  • \n
\n

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN.\n If you specify only the function name, it is limited to 64 characters in length.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6681,7 +6822,7 @@ "InvocationType": { "target": "com.amazonaws.lambda#InvocationType", "traits": { - "smithy.api#documentation": "

Choose from the following options.

\n
    \n
  • \n

    \n RequestResponse (default) - Invoke the function synchronously. Keep the connection open until\n the function returns a response or times out. The API response includes the function response and additional\n data.

    \n
  • \n
  • \n

    \n Event - Invoke the function asynchronously. Send events that fail multiple times to the\n function's dead-letter queue (if it's configured). The API response only includes a status code.

    \n
  • \n
  • \n

    \n DryRun - Validate parameter values and verify that the user or role has permission to invoke\n the function.

    \n
  • \n
", + "smithy.api#documentation": "

Choose from the following options.

\n
    \n
  • \n

    \n RequestResponse (default) – Invoke the function synchronously. Keep the connection open until\n the function returns a response or times out. The API response includes the function response and additional\n data.

    \n
  • \n
  • \n

    \n Event – Invoke the function asynchronously. Send events that fail multiple times to the\n function's dead-letter queue (if one is configured). The API response only includes a status code.

    \n
  • \n
  • \n

    \n DryRun – Validate parameter values and verify that the user or role has permission to invoke\n the function.

    \n
  • \n
", "smithy.api#httpHeader": "X-Amz-Invocation-Type" } }, @@ -6695,14 +6836,14 @@ "ClientContext": { "target": "com.amazonaws.lambda#String", "traits": { - "smithy.api#documentation": "

Up to 3583 bytes of base64-encoded data about the invoking client to pass to the function in the context\n object.

", + "smithy.api#documentation": "

Up to 3,583 bytes of base64-encoded data about the invoking client to pass to the function in the context\n object.

", "smithy.api#httpHeader": "X-Amz-Client-Context" } }, "Payload": { "target": "com.amazonaws.lambda#Blob", "traits": { - "smithy.api#documentation": "

The JSON that you want to provide to your Lambda function as input.

\n

You can enter the JSON directly. For example, --payload '{ \"key\": \"value\" }'. \n You can also specify a file path. For example, --payload file://payload.json.\n

", + "smithy.api#documentation": "

The JSON that you want to provide to your Lambda function as input.

\n

You can enter the JSON directly. For example, --payload '{ \"key\": \"value\" }'. You can also\n specify a file path. For example, --payload file://payload.json.

", "smithy.api#httpPayload": {} } }, @@ -6736,7 +6877,7 @@ "LogResult": { "target": "com.amazonaws.lambda#String", "traits": { - "smithy.api#documentation": "

The last 4 KB of the execution log, which is base64 encoded.

", + "smithy.api#documentation": "

The last 4 KB of the execution log, which is base64-encoded.

", "smithy.api#httpHeader": "X-Amz-Log-Result" } }, @@ -6757,22 +6898,26 @@ } }, "com.amazonaws.lambda#InvocationType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "Event", - "name": "Event" - }, - { - "value": "RequestResponse", - "name": "RequestResponse" - }, - { - "value": "DryRun", - "name": "DryRun" + "type": "enum", + "members": { + "Event": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Event" + } + }, + "RequestResponse": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RequestResponse" } - ] + }, + "DryRun": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DryRun" + } + } } }, "com.amazonaws.lambda#Invoke": { @@ -6853,6 +6998,15 @@ { "target": "com.amazonaws.lambda#ServiceException" }, + { + "target": "com.amazonaws.lambda#SnapStartException" + }, + { + "target": "com.amazonaws.lambda#SnapStartNotReadyException" + }, + { + "target": "com.amazonaws.lambda#SnapStartTimeoutException" + }, { "target": "com.amazonaws.lambda#SubnetIPAddressLimitReachedException" }, @@ -6864,7 +7018,7 @@ } ], "traits": { - "smithy.api#documentation": "

Invokes a Lambda function. You can invoke a function synchronously (and wait for the response), or\n asynchronously. To invoke a function asynchronously, set InvocationType to Event.

\n \n

For synchronous invocation,\n details about the function response, including errors, are included in the response body and headers. For either\n invocation type, you can find more information in the execution log and trace.

\n \n

When an error occurs, your function may be invoked multiple times. Retry behavior varies by error type,\n client, event source, and invocation type. For example, if you invoke a function asynchronously and it returns an\n error, Lambda executes the function up to two more times. For more information, see Retry Behavior.

\n \n

For asynchronous invocation,\n Lambda adds events to a queue before sending them to your function. If your function does not have enough capacity\n to keep up with the queue, events may be lost. Occasionally, your function may receive the same event multiple\n times, even if no error occurs. To retain events that were not processed, configure your function with a dead-letter queue.

\n \n

The status code in the API response doesn't reflect function errors. Error codes are reserved for errors that\n prevent your function from executing, such as permissions errors, limit errors, or issues with your function's code and configuration.\n For example, Lambda returns TooManyRequestsException if executing the function would cause you to\n exceed a concurrency limit at either the account level (ConcurrentInvocationLimitExceeded) or\n function level (ReservedFunctionConcurrentInvocationLimitExceeded).

\n \n

For functions with a long timeout, your client might be disconnected during synchronous invocation while it\n waits for a response. Configure your HTTP client, SDK, firewall, proxy, or operating system to allow for long\n connections with timeout or keep-alive settings.

\n \n

This operation requires permission for the lambda:InvokeFunction action. For details on how to set up\n permissions for cross-account invocations, see Granting function\n access to other accounts.

", + "smithy.api#documentation": "

Invokes a Lambda function. You can invoke a function synchronously (and wait for the response), or\n asynchronously. To invoke a function asynchronously, set InvocationType to Event.

\n

For synchronous invocation,\n details about the function response, including errors, are included in the response body and headers. For either\n invocation type, you can find more information in the execution log and trace.

\n

When an error occurs, your function may be invoked multiple times. Retry behavior varies by error type,\n client, event source, and invocation type. For example, if you invoke a function asynchronously and it returns an\n error, Lambda executes the function up to two more times. For more information, see Error handling and automatic retries in\n Lambda.

\n

For asynchronous invocation,\n Lambda adds events to a queue before sending them to your function. If your function does not have enough capacity\n to keep up with the queue, events may be lost. Occasionally, your function may receive the same event multiple\n times, even if no error occurs. To retain events that were not processed, configure your function with a dead-letter queue.

\n

The status code in the API response doesn't reflect function errors. Error codes are reserved for errors that\n prevent your function from executing, such as permissions errors, quota errors, or issues with your function's code and\n configuration. For example, Lambda returns TooManyRequestsException if running the\n function would cause you to exceed a concurrency limit at either the account level\n (ConcurrentInvocationLimitExceeded) or function level\n (ReservedFunctionConcurrentInvocationLimitExceeded).

\n

For functions with a long timeout, your client might disconnect during synchronous invocation while it waits\n for a response. Configure your HTTP client, SDK, firewall, proxy, or operating system to allow for long\n connections with timeout or keep-alive settings.

\n

This operation requires permission for the lambda:InvokeFunction action. For details on how to set up\n permissions for cross-account invocations, see Granting function\n access to other accounts.

", "smithy.api#http": { "method": "POST", "uri": "/2015-03-31/functions/{FunctionName}/invocations", @@ -6913,7 +7067,7 @@ "FunctionName": { "target": "com.amazonaws.lambda#NamespacedFunctionName", "traits": { - "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name - my-function.

    \n
  • \n
  • \n

    \n Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN - 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", + "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name – my-function.

    \n
  • \n
  • \n

    \n Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN – 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6945,7 +7099,7 @@ }, "traits": { "smithy.api#deprecated": {}, - "smithy.api#documentation": "

A success response (202 Accepted) indicates that the request is queued for invocation.

" + "smithy.api#documentation": "

A success response (202 Accepted) indicates that the request is queued for invocation.

" } }, "com.amazonaws.lambda#KMSAccessDeniedException": { @@ -6959,7 +7113,7 @@ } }, "traits": { - "smithy.api#documentation": "

Lambda was unable to decrypt the environment variables because KMS access was denied. Check the Lambda\n function's KMS permissions.

", + "smithy.api#documentation": "

Lambda couldn't decrypt the environment variables because KMS access was denied.\n Check the Lambda function's KMS permissions.

", "smithy.api#error": "server", "smithy.api#httpError": 502 } @@ -6975,7 +7129,7 @@ } }, "traits": { - "smithy.api#documentation": "

Lambda was unable to decrypt the environment variables because the KMS key used is disabled. Check the Lambda\n function's KMS key settings.

", + "smithy.api#documentation": "

Lambda couldn't decrypt the environment variables because the KMS key used is\n disabled. Check the Lambda function's KMS key settings.

", "smithy.api#error": "server", "smithy.api#httpError": 502 } @@ -6991,7 +7145,7 @@ } }, "traits": { - "smithy.api#documentation": "

Lambda was unable to decrypt the environment variables because the KMS key used is in an invalid state for\n Decrypt. Check the function's KMS key settings.

", + "smithy.api#documentation": "

Lambda couldn't decrypt the environment variables because the state of the KMS key used is not valid for Decrypt. Check the function's KMS key settings.

", "smithy.api#error": "server", "smithy.api#httpError": 502 } @@ -7013,78 +7167,166 @@ } }, "traits": { - "smithy.api#documentation": "

Lambda was unable to decrypt the environment variables because the KMS key was not found. Check the function's\n KMS key settings.

", + "smithy.api#documentation": "

Lambda couldn't decrypt the environment variables because the KMS key was not\n found. Check the function's KMS key settings.

", "smithy.api#error": "server", "smithy.api#httpError": 502 } }, "com.amazonaws.lambda#LastUpdateStatus": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "Successful", - "name": "Successful" - }, - { - "value": "Failed", - "name": "Failed" - }, - { - "value": "InProgress", - "name": "InProgress" + "type": "enum", + "members": { + "Successful": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Successful" + } + }, + "Failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Failed" + } + }, + "InProgress": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InProgress" } - ] + } } }, "com.amazonaws.lambda#LastUpdateStatusReason": { "type": "string" }, "com.amazonaws.lambda#LastUpdateStatusReasonCode": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "EniLimitExceeded", - "name": "EniLimitExceeded" - }, - { - "value": "InsufficientRolePermissions", - "name": "InsufficientRolePermissions" - }, - { - "value": "InvalidConfiguration", - "name": "InvalidConfiguration" - }, - { - "value": "InternalError", - "name": "InternalError" - }, - { - "value": "SubnetOutOfIPAddresses", - "name": "SubnetOutOfIPAddresses" - }, - { - "value": "InvalidSubnet", - "name": "InvalidSubnet" - }, - { - "value": "InvalidSecurityGroup", - "name": "InvalidSecurityGroup" - }, - { - "value": "ImageDeleted", - "name": "ImageDeleted" - }, - { - "value": "ImageAccessDenied", - "name": "ImageAccessDenied" - }, - { - "value": "InvalidImage", - "name": "InvalidImage" + "type": "enum", + "members": { + "EniLimitExceeded": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EniLimitExceeded" + } + }, + "InsufficientRolePermissions": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InsufficientRolePermissions" + } + }, + "InvalidConfiguration": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InvalidConfiguration" + } + }, + "InternalError": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InternalError" + } + }, + "SubnetOutOfIPAddresses": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SubnetOutOfIPAddresses" + } + }, + "InvalidSubnet": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InvalidSubnet" + } + }, + "InvalidSecurityGroup": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InvalidSecurityGroup" + } + }, + "ImageDeleted": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ImageDeleted" + } + }, + "ImageAccessDenied": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ImageAccessDenied" + } + }, + "InvalidImage": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InvalidImage" + } + }, + "KMSKeyAccessDenied": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "KMSKeyAccessDenied" + } + }, + "KMSKeyNotFound": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "KMSKeyNotFound" + } + }, + "InvalidStateKMSKey": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InvalidStateKMSKey" + } + }, + "DisabledKMSKey": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DisabledKMSKey" + } + }, + "EFSIOError": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EFSIOError" + } + }, + "EFSMountConnectivityError": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EFSMountConnectivityError" + } + }, + "EFSMountFailure": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EFSMountFailure" + } + }, + "EFSMountTimeout": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EFSMountTimeout" + } + }, + "InvalidRuntime": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InvalidRuntime" + } + }, + "InvalidZipFileException": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InvalidZipFileException" + } + }, + "FunctionError": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FunctionError" } - ] + } } }, "com.amazonaws.lambda#Layer": { @@ -7376,7 +7618,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a list of aliases\n for a Lambda function.

", + "smithy.api#documentation": "

Returns a list of aliases\n for a Lambda function.

", "smithy.api#http": { "method": "GET", "uri": "/2015-03-31/functions/{FunctionName}/aliases", @@ -7551,14 +7793,14 @@ "EventSourceArn": { "target": "com.amazonaws.lambda#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the event source.

\n
    \n
  • \n

    \n Amazon Kinesis - The ARN of the data stream or a stream consumer.

    \n
  • \n
  • \n

    \n Amazon DynamoDB Streams - The ARN of the stream.

    \n
  • \n
  • \n

    \n Amazon Simple Queue Service - The ARN of the queue.

    \n
  • \n
  • \n

    \n Amazon Managed Streaming for Apache Kafka - The ARN of the cluster.

    \n
  • \n
", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the event source.

\n
    \n
  • \n

    \n Amazon Kinesis – The ARN of the data stream or a stream consumer.

    \n
  • \n
  • \n

    \n Amazon DynamoDB Streams – The ARN of the stream.

    \n
  • \n
  • \n

    \n Amazon Simple Queue Service – The ARN of the queue.

    \n
  • \n
  • \n

    \n Amazon Managed Streaming for Apache Kafka – The ARN of the cluster.

    \n
  • \n
  • \n

    \n Amazon MQ – The ARN of the broker.

    \n
  • \n
", "smithy.api#httpQuery": "EventSourceArn" } }, "FunctionName": { "target": "com.amazonaws.lambda#FunctionName", "traits": { - "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name - MyFunction.

    \n
  • \n
  • \n

    \n Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

    \n
  • \n
  • \n

    \n Version or Alias ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.

    \n
  • \n
  • \n

    \n Partial ARN - 123456789012:function:MyFunction.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64\n characters in length.

", + "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name – MyFunction.

    \n
  • \n
  • \n

    \n Function ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

    \n
  • \n
  • \n

    \n Version or Alias ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.

    \n
  • \n
  • \n

    \n Partial ARN – 123456789012:function:MyFunction.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64\n characters in length.

", "smithy.api#httpQuery": "FunctionName" } }, @@ -7618,7 +7860,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves a list of configurations for asynchronous invocation for a function.

\n

To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

", + "smithy.api#documentation": "

Retrieves a list of configurations for asynchronous invocation for a function.

\n

To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

", "smithy.api#http": { "method": "GET", "uri": "/2019-09-25/functions/{FunctionName}/event-invoke-config/list", @@ -7719,7 +7961,7 @@ "FunctionName": { "target": "com.amazonaws.lambda#FunctionName", "traits": { - "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name - my-function.

    \n
  • \n
  • \n

    \n Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN - 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", + "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name – my-function.

    \n
  • \n
  • \n

    \n Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN – 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -7778,7 +8020,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a list of Lambda functions, with the version-specific configuration of each. Lambda returns up to 50\n functions per call.

\n

Set FunctionVersion to ALL to include all published versions of each function in\n addition to the unpublished version.

\n \n

The ListFunctions action returns a subset of the FunctionConfiguration fields.\n To get the additional fields (State, StateReasonCode, StateReason, LastUpdateStatus, LastUpdateStatusReason, LastUpdateStatusReasonCode)\n for a function or version, use GetFunction.

\n
", + "smithy.api#documentation": "

Returns a list of Lambda functions, with the version-specific configuration of each. Lambda returns up to 50\n functions per call.

\n

Set FunctionVersion to ALL to include all published versions of each function in\n addition to the unpublished version.

\n \n

The ListFunctions operation returns a subset of the FunctionConfiguration fields.\n To get the additional fields (State, StateReasonCode, StateReason, LastUpdateStatus, LastUpdateStatusReason,\n LastUpdateStatusReasonCode, RuntimeVersionConfig) for a function or version, use GetFunction.

\n
", "smithy.api#http": { "method": "GET", "uri": "/2015-03-31/functions", @@ -7876,7 +8118,7 @@ "MasterRegion": { "target": "com.amazonaws.lambda#MasterRegion", "traits": { - "smithy.api#documentation": "

For Lambda@Edge functions, the Amazon Web Services Region of the master function. For example, us-east-1 filters\n the list of functions to only include Lambda@Edge functions replicated from a master function in US East (N.\n Virginia). If specified, you must set FunctionVersion to ALL.

", + "smithy.api#documentation": "

For Lambda@Edge functions, the Amazon Web Services Region of the master function. For example,\n us-east-1 filters the list of functions to include only Lambda@Edge functions replicated from a\n master function in US East (N. Virginia). If specified, you must set FunctionVersion to\n ALL.

", "smithy.api#httpQuery": "MasterRegion" } }, @@ -8145,7 +8387,7 @@ "FunctionName": { "target": "com.amazonaws.lambda#FunctionName", "traits": { - "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name - my-function.

    \n
  • \n
  • \n

    \n Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN - 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", + "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name – my-function.

    \n
  • \n
  • \n

    \n Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN – 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -8330,18 +8572,20 @@ } }, "com.amazonaws.lambda#LogType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "None", - "name": "None" - }, - { - "value": "Tail", - "name": "Tail" + "type": "enum", + "members": { + "None": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "None" + } + }, + "Tail": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Tail" } - ] + } } }, "com.amazonaws.lambda#Long": { @@ -8419,6 +8663,15 @@ } } }, + "com.amazonaws.lambda#MaximumConcurrency": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 2, + "max": 1000 + } + } + }, "com.amazonaws.lambda#MaximumEventAgeInSeconds": { "type": "integer", "traits": { @@ -8557,18 +8810,20 @@ } }, "com.amazonaws.lambda#PackageType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "Zip", - "name": "Zip" - }, - { - "value": "Image", - "name": "Image" + "type": "enum", + "members": { + "Zip": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Zip" + } + }, + "Image": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Image" } - ] + } } }, "com.amazonaws.lambda#ParallelizationFactor": { @@ -8601,7 +8856,7 @@ } }, "traits": { - "smithy.api#documentation": "

The permissions policy for the resource is too large. Learn more\n

", + "smithy.api#documentation": "

The permissions policy for the resource is too large. For more information, see Lambda quotas.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -8631,7 +8886,7 @@ } }, "traits": { - "smithy.api#documentation": "

The RevisionId provided does not match the latest RevisionId for the Lambda function or alias. Call the\n GetFunction or the GetAlias API to retrieve the latest RevisionId for your\n resource.

", + "smithy.api#documentation": "

The RevisionId provided does not match the latest RevisionId for the Lambda function or alias. Call the GetFunction or the GetAlias\n API operation to retrieve the latest RevisionId for your resource.

", "smithy.api#error": "client", "smithy.api#httpError": 412 } @@ -8682,7 +8937,7 @@ "AllocatedProvisionedConcurrentExecutions": { "target": "com.amazonaws.lambda#NonNegativeInteger", "traits": { - "smithy.api#documentation": "

The amount of provisioned concurrency allocated.

" + "smithy.api#documentation": "

The amount of provisioned concurrency allocated. When a weighted alias is used during linear and canary deployments, this value fluctuates depending on the amount of concurrency that is provisioned for the function versions.

" } }, "Status": { @@ -8725,25 +8980,29 @@ } }, "com.amazonaws.lambda#ProvisionedConcurrencyStatusEnum": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "IN_PROGRESS", - "name": "IN_PROGRESS" - }, - { - "value": "READY", - "name": "READY" - }, - { - "value": "FAILED", - "name": "FAILED" + "type": "enum", + "members": { + "IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IN_PROGRESS" } - ] - } - }, - "com.amazonaws.lambda#PublishLayerVersion": { + }, + "READY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "READY" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + } + } + }, + "com.amazonaws.lambda#PublishLayerVersion": { "type": "operation", "input": { "target": "com.amazonaws.lambda#PublishLayerVersionRequest" @@ -8913,7 +9172,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a version from the\n current code and configuration of a function. Use versions to create a snapshot of your function code and\n configuration that doesn't change.

\n \n

Lambda doesn't publish a version if the function's configuration and code haven't changed since the last\n version. Use UpdateFunctionCode or UpdateFunctionConfiguration to update the\n function before publishing a version.

\n \n

Clients can invoke versions directly or with an alias. To create an alias, use CreateAlias.

", + "smithy.api#documentation": "

Creates a version from the\n current code and configuration of a function. Use versions to create a snapshot of your function code and\n configuration that doesn't change.

\n

Lambda doesn't publish a version if the function's configuration and code haven't changed since the last\n version. Use UpdateFunctionCode or UpdateFunctionConfiguration to update the\n function before publishing a version.

\n

Clients can invoke versions directly or with an alias. To create an alias, use CreateAlias.

", "smithy.api#http": { "method": "POST", "uri": "/2015-03-31/functions/{FunctionName}/versions", @@ -9054,7 +9313,7 @@ } ], "traits": { - "smithy.api#documentation": "

Sets the maximum number of simultaneous executions for a function, and reserves capacity for that concurrency\n level.

\n

Concurrency settings apply to the function as a whole, including all published versions and the unpublished\n version. Reserving concurrency both ensures that your function has capacity to process the specified number of\n events simultaneously, and prevents it from scaling beyond that level. Use GetFunction to see\n the current setting for a function.

\n

Use GetAccountSettings to see your Regional concurrency limit. You can reserve concurrency\n for as many functions as you like, as long as you leave at least 100 simultaneous executions unreserved for\n functions that aren't configured with a per-function limit. For more information, see Managing Concurrency.

", + "smithy.api#documentation": "

Sets the maximum number of simultaneous executions for a function, and reserves capacity for that concurrency\n level.

\n

Concurrency settings apply to the function as a whole, including all published versions and the unpublished\n version. Reserving concurrency both ensures that your function has capacity to process the specified number of\n events simultaneously, and prevents it from scaling beyond that level. Use GetFunction to see\n the current setting for a function.

\n

Use GetAccountSettings to see your Regional concurrency limit. You can reserve concurrency\n for as many functions as you like, as long as you leave at least 100 simultaneous executions unreserved for\n functions that aren't configured with a per-function limit. For more information, see Lambda function scaling.

", "smithy.api#http": { "method": "PUT", "uri": "/2017-10-31/functions/{FunctionName}/concurrency", @@ -9068,7 +9327,7 @@ "FunctionName": { "target": "com.amazonaws.lambda#FunctionName", "traits": { - "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name - my-function.

    \n
  • \n
  • \n

    \n Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN - 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", + "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name – my-function.

    \n
  • \n
  • \n

    \n Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN – 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -9194,7 +9453,7 @@ "FunctionName": { "target": "com.amazonaws.lambda#FunctionName", "traits": { - "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name - my-function.

    \n
  • \n
  • \n

    \n Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN - 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", + "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name – my-function.

    \n
  • \n
  • \n

    \n Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN – 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -9234,7 +9493,7 @@ "AllocatedProvisionedConcurrentExecutions": { "target": "com.amazonaws.lambda#NonNegativeInteger", "traits": { - "smithy.api#documentation": "

The amount of provisioned concurrency allocated.

" + "smithy.api#documentation": "

The amount of provisioned concurrency allocated. When a weighted alias is used during linear and canary deployments, this value fluctuates depending on the amount of concurrency that is provisioned for the function versions.

" } }, "Status": { @@ -9257,6 +9516,98 @@ } } }, + "com.amazonaws.lambda#PutRuntimeManagementConfig": { + "type": "operation", + "input": { + "target": "com.amazonaws.lambda#PutRuntimeManagementConfigRequest" + }, + "output": { + "target": "com.amazonaws.lambda#PutRuntimeManagementConfigResponse" + }, + "errors": [ + { + "target": "com.amazonaws.lambda#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.lambda#ResourceConflictException" + }, + { + "target": "com.amazonaws.lambda#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.lambda#ServiceException" + }, + { + "target": "com.amazonaws.lambda#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "

Sets the runtime management configuration for a function's version. For more information, \n see Runtime updates.

", + "smithy.api#http": { + "method": "PUT", + "uri": "/2021-07-20/functions/{FunctionName}/runtime-management-config", + "code": 200 + } + } + }, + "com.amazonaws.lambda#PutRuntimeManagementConfigRequest": { + "type": "structure", + "members": { + "FunctionName": { + "target": "com.amazonaws.lambda#FunctionName", + "traits": { + "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name – my-function.

    \n
  • \n
  • \n

    \n Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN – 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Qualifier": { + "target": "com.amazonaws.lambda#Qualifier", + "traits": { + "smithy.api#documentation": "

Specify a version of the function. This can be $LATEST or a published version number. If no value is specified, the configuration for the \n $LATEST version is returned.

", + "smithy.api#httpQuery": "Qualifier" + } + }, + "UpdateRuntimeOn": { + "target": "com.amazonaws.lambda#UpdateRuntimeOn", + "traits": { + "smithy.api#documentation": "

Specify the runtime update mode.

\n
    \n
  • \n

    \n Auto (default) - Automatically update to the most recent and secure runtime version using a Two-phase runtime version rollout. This is the best \n choice for most customers to ensure they always benefit from runtime updates.

    \n
  • \n
  • \n

    \n Function update - Lambda updates the runtime of your function to the most recent and secure runtime version when you update your \n function. This approach synchronizes runtime updates with function deployments, giving you control over when runtime updates are applied and allowing you to detect and \n mitigate rare runtime update incompatibilities early. When using this setting, you need to regularly update your functions to keep their runtime up-to-date.

    \n
  • \n
  • \n

    \n Manual - You specify a runtime version in your function configuration. The function will use this runtime version indefinitely. \n In the rare case where a new runtime version is incompatible with an existing function, this allows you to roll back your function to an earlier runtime version. For more information, \n see Roll back a runtime version.

    \n
  • \n
", + "smithy.api#required": {} + } + }, + "RuntimeVersionArn": { + "target": "com.amazonaws.lambda#RuntimeVersionArn", + "traits": { + "smithy.api#documentation": "

The ARN of the runtime version you want the function to use.

\n \n

This is only required if you're using the Manual runtime update mode.

\n
" + } + } + } + }, + "com.amazonaws.lambda#PutRuntimeManagementConfigResponse": { + "type": "structure", + "members": { + "UpdateRuntimeOn": { + "target": "com.amazonaws.lambda#UpdateRuntimeOn", + "traits": { + "smithy.api#documentation": "

The runtime update mode.

", + "smithy.api#required": {} + } + }, + "FunctionArn": { + "target": "com.amazonaws.lambda#FunctionArn", + "traits": { + "smithy.api#documentation": "

The ARN of the function

", + "smithy.api#required": {} + } + }, + "RuntimeVersionArn": { + "target": "com.amazonaws.lambda#RuntimeVersionArn", + "traits": { + "smithy.api#documentation": "

The ARN of the runtime the function is configured to use. If the runtime update mode is manual, the ARN is returned, otherwise null \n is returned.

" + } + } + } + }, "com.amazonaws.lambda#Qualifier": { "type": "string", "traits": { @@ -9386,7 +9737,7 @@ } ], "traits": { - "smithy.api#documentation": "

Revokes function-use permission from an Amazon Web Services service or another account. You can get the ID of the statement\n from the output of GetPolicy.

", + "smithy.api#documentation": "

Revokes function-use permission from an Amazon Web Service or another Amazon Web Services account. You\n can get the ID of the statement from the output of GetPolicy.

", "smithy.api#http": { "method": "DELETE", "uri": "/2015-03-31/functions/{FunctionName}/policy/{StatementId}", @@ -9400,7 +9751,7 @@ "FunctionName": { "target": "com.amazonaws.lambda#FunctionName", "traits": { - "smithy.api#documentation": "

The name of the Lambda function, version, or alias.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name - my-function (name-only), my-function:v1 (with alias).

    \n
  • \n
  • \n

    \n Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN - 123456789012:function:my-function.

    \n
  • \n
\n

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN.\n If you specify only the function name, it is limited to 64 characters in length.

", + "smithy.api#documentation": "

The name of the Lambda function, version, or alias.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name – my-function (name-only), my-function:v1 (with alias).

    \n
  • \n
  • \n

    \n Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN – 123456789012:function:my-function.

    \n
  • \n
\n

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN.\n If you specify only the function name, it is limited to 64 characters in length.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -9423,7 +9774,7 @@ "RevisionId": { "target": "com.amazonaws.lambda#String", "traits": { - "smithy.api#documentation": "

Only update the policy if the revision ID matches the ID that's specified. Use this option to avoid modifying a\n policy that has changed since you last read it.

", + "smithy.api#documentation": "

Update the policy only if the revision ID matches the ID that's specified. Use this option to avoid modifying a\n policy that has changed since you last read it.

", "smithy.api#httpQuery": "RevisionId" } } @@ -9440,7 +9791,7 @@ } }, "traits": { - "smithy.api#documentation": "

The request payload exceeded the Invoke request body JSON input limit. For more information, see\n Limits.

", + "smithy.api#documentation": "

The request payload exceeded the Invoke request body JSON input quota. For more information, see Lambda\n quotas.

", "smithy.api#error": "client", "smithy.api#httpError": 413 } @@ -9492,7 +9843,7 @@ } }, "traits": { - "smithy.api#documentation": "

The operation conflicts with the resource's availability. For example, you attempted to update an EventSource\n Mapping in CREATING, or tried to delete a EventSource mapping currently in the UPDATING state.

", + "smithy.api#documentation": "

The operation conflicts with the resource's availability. For example, you tried to update an event source\n mapping in the CREATING state, or you tried to delete an event source mapping currently UPDATING.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -9542,118 +9893,226 @@ } }, "com.amazonaws.lambda#Runtime": { + "type": "enum", + "members": { + "nodejs": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "nodejs" + } + }, + "nodejs43": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "nodejs4.3" + } + }, + "nodejs610": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "nodejs6.10" + } + }, + "nodejs810": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "nodejs8.10" + } + }, + "nodejs10x": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "nodejs10.x" + } + }, + "nodejs12x": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "nodejs12.x" + } + }, + "nodejs14x": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "nodejs14.x" + } + }, + "nodejs16x": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "nodejs16.x" + } + }, + "java8": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "java8" + } + }, + "java8al2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "java8.al2" + } + }, + "java11": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "java11" + } + }, + "python27": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "python2.7" + } + }, + "python36": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "python3.6" + } + }, + "python37": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "python3.7" + } + }, + "python38": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "python3.8" + } + }, + "python39": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "python3.9" + } + }, + "dotnetcore10": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "dotnetcore1.0" + } + }, + "dotnetcore20": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "dotnetcore2.0" + } + }, + "dotnetcore21": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "dotnetcore2.1" + } + }, + "dotnetcore31": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "dotnetcore3.1" + } + }, + "dotnet6": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "dotnet6" + } + }, + "nodejs43edge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "nodejs4.3-edge" + } + }, + "go1x": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "go1.x" + } + }, + "ruby25": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ruby2.5" + } + }, + "ruby27": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ruby2.7" + } + }, + "provided": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "provided" + } + }, + "providedal2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "provided.al2" + } + }, + "nodejs18x": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "nodejs18.x" + } + } + } + }, + "com.amazonaws.lambda#RuntimeVersionArn": { "type": "string", "traits": { - "smithy.api#enum": [ - { - "value": "nodejs", - "name": "nodejs" - }, - { - "value": "nodejs4.3", - "name": "nodejs43" - }, - { - "value": "nodejs6.10", - "name": "nodejs610" - }, - { - "value": "nodejs8.10", - "name": "nodejs810" - }, - { - "value": "nodejs10.x", - "name": "nodejs10x" - }, - { - "value": "nodejs12.x", - "name": "nodejs12x" - }, - { - "value": "nodejs14.x", - "name": "nodejs14x" - }, - { - "value": "nodejs16.x", - "name": "nodejs16x" - }, - { - "value": "java8", - "name": "java8" - }, - { - "value": "java8.al2", - "name": "java8al2" - }, - { - "value": "java11", - "name": "java11" - }, - { - "value": "python2.7", - "name": "python27" - }, - { - "value": "python3.6", - "name": "python36" - }, - { - "value": "python3.7", - "name": "python37" - }, - { - "value": "python3.8", - "name": "python38" - }, - { - "value": "python3.9", - "name": "python39" - }, - { - "value": "dotnetcore1.0", - "name": "dotnetcore10" - }, - { - "value": "dotnetcore2.0", - "name": "dotnetcore20" - }, - { - "value": "dotnetcore2.1", - "name": "dotnetcore21" - }, - { - "value": "dotnetcore3.1", - "name": "dotnetcore31" - }, - { - "value": "dotnet6", - "name": "dotnet6" - }, - { - "value": "nodejs4.3-edge", - "name": "nodejs43edge" - }, - { - "value": "go1.x", - "name": "go1x" - }, - { - "value": "ruby2.5", - "name": "ruby25" - }, - { - "value": "ruby2.7", - "name": "ruby27" - }, - { - "value": "provided", - "name": "provided" - }, - { - "value": "provided.al2", - "name": "providedal2" + "smithy.api#length": { + "min": 26, + "max": 2048 + }, + "smithy.api#pattern": "^arn:(aws[a-zA-Z-]*):lambda:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}::runtime:.+$" + } + }, + "com.amazonaws.lambda#RuntimeVersionConfig": { + "type": "structure", + "members": { + "RuntimeVersionArn": { + "target": "com.amazonaws.lambda#RuntimeVersionArn", + "traits": { + "smithy.api#documentation": "

The ARN of the runtime version you want the function to use.

" + } + }, + "Error": { + "target": "com.amazonaws.lambda#RuntimeVersionError", + "traits": { + "smithy.api#documentation": "

Error response when Lambda is unable to retrieve the runtime version for a function.

" } - ] + } + }, + "traits": { + "smithy.api#documentation": "

The ARN of the runtime and any errors that occured.

" + } + }, + "com.amazonaws.lambda#RuntimeVersionError": { + "type": "structure", + "members": { + "ErrorCode": { + "target": "com.amazonaws.lambda#String", + "traits": { + "smithy.api#documentation": "

The error code.

" + } + }, + "Message": { + "target": "com.amazonaws.lambda#SensitiveString", + "traits": { + "smithy.api#documentation": "

The error message.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Any error returned when the runtime version information for the function could not be retrieved.

" } }, "com.amazonaws.lambda#S3Bucket": { @@ -9684,6 +10143,20 @@ } } }, + "com.amazonaws.lambda#ScalingConfig": { + "type": "structure", + "members": { + "MaximumConcurrency": { + "target": "com.amazonaws.lambda#MaximumConcurrency", + "traits": { + "smithy.api#documentation": "

Limits the number of concurrent instances that the Amazon SQS event source can invoke.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

(Amazon SQS only) The scaling configuration for the event source. To remove the configuration, pass an empty value.

" + } + }, "com.amazonaws.lambda#SecurityGroupId": { "type": "string" }, @@ -9719,7 +10192,7 @@ "ConsumerGroupId": { "target": "com.amazonaws.lambda#URI", "traits": { - "smithy.api#documentation": "

The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources.\n After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see\n services-msk-consumer-group-id.

" + "smithy.api#documentation": "

The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources.\n After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see\n Customizable consumer group ID.

" } } }, @@ -9761,13 +10234,129 @@ } } }, + "com.amazonaws.lambda#SnapStart": { + "type": "structure", + "members": { + "ApplyOn": { + "target": "com.amazonaws.lambda#SnapStartApplyOn", + "traits": { + "smithy.api#documentation": "

Set to PublishedVersions to create a snapshot of the initialized execution environment when you publish a function version.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The function's Lambda SnapStart setting. Set ApplyOn to PublishedVersions to create a\n snapshot of the initialized execution environment when you publish a function version.

\n

SnapStart is supported with the java11 runtime. For more information, see\n Improving startup performance with Lambda\n SnapStart.

" + } + }, + "com.amazonaws.lambda#SnapStartApplyOn": { + "type": "enum", + "members": { + "PublishedVersions": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PublishedVersions" + } + }, + "None": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "None" + } + } + } + }, + "com.amazonaws.lambda#SnapStartException": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.lambda#String" + }, + "Message": { + "target": "com.amazonaws.lambda#String" + } + }, + "traits": { + "smithy.api#documentation": "

The afterRestore()\n runtime hook encountered an error. For more information, check the Amazon CloudWatch logs.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.lambda#SnapStartNotReadyException": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.lambda#String" + }, + "Message": { + "target": "com.amazonaws.lambda#String" + } + }, + "traits": { + "smithy.api#documentation": "

Lambda is initializing your function. You can invoke the function when the function state becomes Active.

", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.lambda#SnapStartOptimizationStatus": { + "type": "enum", + "members": { + "On": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "On" + } + }, + "Off": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Off" + } + } + } + }, + "com.amazonaws.lambda#SnapStartResponse": { + "type": "structure", + "members": { + "ApplyOn": { + "target": "com.amazonaws.lambda#SnapStartApplyOn", + "traits": { + "smithy.api#documentation": "

When set to PublishedVersions, Lambda creates a snapshot of the execution environment when you publish a function version.

" + } + }, + "OptimizationStatus": { + "target": "com.amazonaws.lambda#SnapStartOptimizationStatus", + "traits": { + "smithy.api#documentation": "

When you provide a qualified Amazon Resource Name (ARN), this response element indicates whether SnapStart is activated for the specified function version.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The function's SnapStart setting.

" + } + }, + "com.amazonaws.lambda#SnapStartTimeoutException": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.lambda#String" + }, + "Message": { + "target": "com.amazonaws.lambda#String" + } + }, + "traits": { + "smithy.api#documentation": "

Lambda couldn't restore the snapshot within the timeout limit.

", + "smithy.api#error": "client", + "smithy.api#httpError": 408 + } + }, "com.amazonaws.lambda#SourceAccessConfiguration": { "type": "structure", "members": { "Type": { "target": "com.amazonaws.lambda#SourceAccessType", "traits": { - "smithy.api#documentation": "

The type of authentication protocol, VPC components, or virtual host for your event source. For example: \"Type\":\"SASL_SCRAM_512_AUTH\".

\n
    \n
  • \n

    \n BASIC_AUTH - (Amazon MQ) The Secrets Manager secret that stores your broker credentials.

    \n
  • \n
  • \n

    \n BASIC_AUTH - (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL/PLAIN authentication of your Apache Kafka brokers.

    \n
  • \n
  • \n

    \n VPC_SUBNET - The subnets associated with your VPC. Lambda connects to these subnets to fetch data from your self-managed Apache Kafka cluster.

    \n
  • \n
  • \n

    \n VPC_SECURITY_GROUP - The VPC security group used to manage access to your self-managed Apache Kafka brokers.

    \n
  • \n
  • \n

    \n SASL_SCRAM_256_AUTH - The Secrets Manager ARN of your secret key used for SASL SCRAM-256 authentication of your self-managed Apache Kafka brokers.

    \n
  • \n
  • \n

    \n SASL_SCRAM_512_AUTH - The Secrets Manager ARN of your secret key used for SASL SCRAM-512 authentication of your self-managed Apache Kafka brokers.

    \n
  • \n
  • \n

    \n VIRTUAL_HOST - (Amazon MQ) The name of the virtual host in your RabbitMQ broker. Lambda uses this RabbitMQ host as the event source. \n This property cannot be specified in an UpdateEventSourceMapping API call.

    \n
  • \n
  • \n

    \n CLIENT_CERTIFICATE_TLS_AUTH - (Amazon MSK, self-managed Apache Kafka) The Secrets Manager ARN of your secret key containing the certificate chain (X.509 PEM), \n private key (PKCS#8 PEM), and private key password (optional) used for mutual TLS authentication of your MSK/Apache Kafka brokers.

    \n
  • \n
  • \n

    \n SERVER_ROOT_CA_CERTIFICATE - (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key containing the root CA certificate (X.509 PEM) used for TLS encryption of your Apache Kafka brokers.\n

    \n
  • \n
" + "smithy.api#documentation": "

The type of authentication protocol, VPC components, or virtual host for your event source. For example: \"Type\":\"SASL_SCRAM_512_AUTH\".

\n
    \n
  • \n

    \n BASIC_AUTH – (Amazon MQ) The Secrets Manager secret that stores your broker credentials.

    \n
  • \n
  • \n

    \n BASIC_AUTH – (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL/PLAIN authentication of your Apache Kafka brokers.

    \n
  • \n
  • \n

    \n VPC_SUBNET – (Self-managed Apache Kafka) The subnets associated with your VPC. Lambda connects to these subnets to fetch data from your self-managed Apache Kafka cluster.

    \n
  • \n
  • \n

    \n VPC_SECURITY_GROUP – (Self-managed Apache Kafka) The VPC security group used to manage access to your self-managed Apache Kafka brokers.

    \n
  • \n
  • \n

    \n SASL_SCRAM_256_AUTH – (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL SCRAM-256 authentication of your self-managed Apache Kafka brokers.

    \n
  • \n
  • \n

    \n SASL_SCRAM_512_AUTH – (Amazon MSK, Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL SCRAM-512 authentication of your self-managed Apache Kafka brokers.

    \n
  • \n
  • \n

    \n VIRTUAL_HOST –- (RabbitMQ) The name of the virtual host in your RabbitMQ broker. Lambda uses this RabbitMQ host as the event source. \n This property cannot be specified in an UpdateEventSourceMapping API call.

    \n
  • \n
  • \n

    \n CLIENT_CERTIFICATE_TLS_AUTH – (Amazon MSK, self-managed Apache Kafka) The Secrets Manager ARN of your secret key containing the certificate chain (X.509 PEM), \n private key (PKCS#8 PEM), and private key password (optional) used for mutual TLS authentication of your MSK/Apache Kafka brokers.

    \n
  • \n
  • \n

    \n SERVER_ROOT_CA_CERTIFICATE – (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key containing the root CA certificate (X.509 PEM) used for TLS encryption of your Apache Kafka brokers.\n

    \n
  • \n
" } }, "URI": { @@ -9794,42 +10383,56 @@ } }, "com.amazonaws.lambda#SourceAccessType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "BASIC_AUTH", - "name": "BASIC_AUTH" - }, - { - "value": "VPC_SUBNET", - "name": "VPC_SUBNET" - }, - { - "value": "VPC_SECURITY_GROUP", - "name": "VPC_SECURITY_GROUP" - }, - { - "value": "SASL_SCRAM_512_AUTH", - "name": "SASL_SCRAM_512_AUTH" - }, - { - "value": "SASL_SCRAM_256_AUTH", - "name": "SASL_SCRAM_256_AUTH" - }, - { - "value": "VIRTUAL_HOST", - "name": "VIRTUAL_HOST" - }, - { - "value": "CLIENT_CERTIFICATE_TLS_AUTH", - "name": "CLIENT_CERTIFICATE_TLS_AUTH" - }, - { - "value": "SERVER_ROOT_CA_CERTIFICATE", - "name": "SERVER_ROOT_CA_CERTIFICATE" + "type": "enum", + "members": { + "BASIC_AUTH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BASIC_AUTH" + } + }, + "VPC_SUBNET": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "VPC_SUBNET" + } + }, + "VPC_SECURITY_GROUP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "VPC_SECURITY_GROUP" } - ] + }, + "SASL_SCRAM_512_AUTH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SASL_SCRAM_512_AUTH" + } + }, + "SASL_SCRAM_256_AUTH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SASL_SCRAM_256_AUTH" + } + }, + "VIRTUAL_HOST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "VIRTUAL_HOST" + } + }, + "CLIENT_CERTIFICATE_TLS_AUTH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CLIENT_CERTIFICATE_TLS_AUTH" + } + }, + "SERVER_ROOT_CA_CERTIFICATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SERVER_ROOT_CA_CERTIFICATE" + } + } } }, "com.amazonaws.lambda#SourceOwner": { @@ -9843,88 +10446,184 @@ } }, "com.amazonaws.lambda#State": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "Pending", - "name": "Pending" - }, - { - "value": "Active", - "name": "Active" - }, - { - "value": "Inactive", - "name": "Inactive" - }, - { - "value": "Failed", - "name": "Failed" + "type": "enum", + "members": { + "Pending": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Pending" + } + }, + "Active": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Active" + } + }, + "Inactive": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Inactive" + } + }, + "Failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Failed" } - ] + } } }, "com.amazonaws.lambda#StateReason": { "type": "string" }, "com.amazonaws.lambda#StateReasonCode": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "Idle", - "name": "Idle" - }, - { - "value": "Creating", - "name": "Creating" - }, - { - "value": "Restoring", - "name": "Restoring" - }, - { - "value": "EniLimitExceeded", - "name": "EniLimitExceeded" - }, - { - "value": "InsufficientRolePermissions", - "name": "InsufficientRolePermissions" - }, - { - "value": "InvalidConfiguration", - "name": "InvalidConfiguration" - }, - { - "value": "InternalError", - "name": "InternalError" - }, - { - "value": "SubnetOutOfIPAddresses", - "name": "SubnetOutOfIPAddresses" - }, - { - "value": "InvalidSubnet", - "name": "InvalidSubnet" - }, - { - "value": "InvalidSecurityGroup", - "name": "InvalidSecurityGroup" - }, - { - "value": "ImageDeleted", - "name": "ImageDeleted" - }, - { - "value": "ImageAccessDenied", - "name": "ImageAccessDenied" - }, - { - "value": "InvalidImage", - "name": "InvalidImage" + "type": "enum", + "members": { + "Idle": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Idle" + } + }, + "Creating": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Creating" + } + }, + "Restoring": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Restoring" + } + }, + "EniLimitExceeded": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EniLimitExceeded" + } + }, + "InsufficientRolePermissions": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InsufficientRolePermissions" + } + }, + "InvalidConfiguration": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InvalidConfiguration" + } + }, + "InternalError": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InternalError" + } + }, + "SubnetOutOfIPAddresses": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SubnetOutOfIPAddresses" + } + }, + "InvalidSubnet": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InvalidSubnet" + } + }, + "InvalidSecurityGroup": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InvalidSecurityGroup" + } + }, + "ImageDeleted": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ImageDeleted" } - ] + }, + "ImageAccessDenied": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ImageAccessDenied" + } + }, + "InvalidImage": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InvalidImage" + } + }, + "KMSKeyAccessDenied": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "KMSKeyAccessDenied" + } + }, + "KMSKeyNotFound": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "KMSKeyNotFound" + } + }, + "InvalidStateKMSKey": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InvalidStateKMSKey" + } + }, + "DisabledKMSKey": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DisabledKMSKey" + } + }, + "EFSIOError": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EFSIOError" + } + }, + "EFSMountConnectivityError": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EFSMountConnectivityError" + } + }, + "EFSMountFailure": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EFSMountFailure" + } + }, + "EFSMountTimeout": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EFSMountTimeout" + } + }, + "InvalidRuntime": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InvalidRuntime" + } + }, + "InvalidZipFileException": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InvalidZipFileException" + } + }, + "FunctionError": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FunctionError" + } + } } }, "com.amazonaws.lambda#StatementId": { @@ -9963,7 +10662,7 @@ } }, "traits": { - "smithy.api#documentation": "

Lambda was not able to set up VPC access for the Lambda function because one or more configured subnets\n has no available IP addresses.

", + "smithy.api#documentation": "

Lambda couldn't set up VPC access for the Lambda function because one or more\n configured subnets has no available IP addresses.

", "smithy.api#error": "server", "smithy.api#httpError": 502 } @@ -10059,30 +10758,44 @@ } }, "com.amazonaws.lambda#ThrottleReason": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "ConcurrentInvocationLimitExceeded", - "name": "ConcurrentInvocationLimitExceeded" - }, - { - "value": "FunctionInvocationRateLimitExceeded", - "name": "FunctionInvocationRateLimitExceeded" - }, - { - "value": "ReservedFunctionConcurrentInvocationLimitExceeded", - "name": "ReservedFunctionConcurrentInvocationLimitExceeded" - }, - { - "value": "ReservedFunctionInvocationRateLimitExceeded", - "name": "ReservedFunctionInvocationRateLimitExceeded" - }, - { - "value": "CallerRateLimitExceeded", - "name": "CallerRateLimitExceeded" + "type": "enum", + "members": { + "ConcurrentInvocationLimitExceeded": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ConcurrentInvocationLimitExceeded" + } + }, + "FunctionInvocationRateLimitExceeded": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FunctionInvocationRateLimitExceeded" + } + }, + "ReservedFunctionConcurrentInvocationLimitExceeded": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ReservedFunctionConcurrentInvocationLimitExceeded" + } + }, + "ReservedFunctionInvocationRateLimitExceeded": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ReservedFunctionInvocationRateLimitExceeded" + } + }, + "CallerRateLimitExceeded": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CallerRateLimitExceeded" + } + }, + "ConcurrentSnapshotCreateLimitExceeded": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ConcurrentSnapshotCreateLimitExceeded" } - ] + } } }, "com.amazonaws.lambda#Timeout": { @@ -10117,7 +10830,7 @@ } }, "traits": { - "smithy.api#documentation": "

The request throughput limit was exceeded.

", + "smithy.api#documentation": "

The request throughput limit was exceeded. For more information, see Lambda quotas.

", "smithy.api#error": "client", "smithy.api#httpError": 429 } @@ -10173,18 +10886,20 @@ } }, "com.amazonaws.lambda#TracingMode": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "Active", - "name": "Active" - }, - { - "value": "PassThrough", - "name": "PassThrough" + "type": "enum", + "members": { + "Active": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Active" + } + }, + "PassThrough": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PassThrough" } - ] + } } }, "com.amazonaws.lambda#TumblingWindowInSeconds": { @@ -10314,7 +11029,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates the configuration of a Lambda function alias.

", + "smithy.api#documentation": "

Updates the configuration of a Lambda function alias.

", "smithy.api#http": { "method": "PUT", "uri": "/2015-03-31/functions/{FunctionName}/aliases/{Name}", @@ -10467,7 +11182,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates an event source mapping. You can change the function that Lambda invokes, or pause\n invocation and resume later from the same location.

\n

For details about how to configure different event sources, see the following topics.

\n \n \n

The following error handling options are available only for stream sources (DynamoDB and Kinesis):

\n
    \n
  • \n

    \n BisectBatchOnFunctionError - If the function returns an error, split the batch in two and retry.

    \n
  • \n
  • \n

    \n DestinationConfig - Send discarded records to an Amazon SQS queue or Amazon SNS topic.

    \n
  • \n
  • \n

    \n MaximumRecordAgeInSeconds - Discard records older than the specified age. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires

    \n
  • \n
  • \n

    \n MaximumRetryAttempts - Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.

    \n
  • \n
  • \n

    \n ParallelizationFactor - Process multiple batches from each shard concurrently.

    \n
  • \n
\n

For information about which configuration parameters apply to each event source, see the following topics.

\n ", + "smithy.api#documentation": "

Updates an event source mapping. You can change the function that Lambda invokes, or pause\n invocation and resume later from the same location.

\n

For details about how to configure different event sources, see the following topics.

\n \n

The following error handling options are available only for stream sources (DynamoDB and Kinesis):

\n
    \n
  • \n

    \n BisectBatchOnFunctionError – If the function returns an error, split the batch in two and retry.

    \n
  • \n
  • \n

    \n DestinationConfig – Send discarded records to an Amazon SQS queue or Amazon SNS topic.

    \n
  • \n
  • \n

    \n MaximumRecordAgeInSeconds – Discard records older than the specified age. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires

    \n
  • \n
  • \n

    \n MaximumRetryAttempts – Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.

    \n
  • \n
  • \n

    \n ParallelizationFactor – Process multiple batches from each shard concurrently.

    \n
  • \n
\n

For information about which configuration parameters apply to each event source, see the following topics.

\n ", "smithy.api#http": { "method": "PUT", "uri": "/2015-03-31/event-source-mappings/{UUID}", @@ -10489,7 +11204,7 @@ "FunctionName": { "target": "com.amazonaws.lambda#FunctionName", "traits": { - "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name - MyFunction.

    \n
  • \n
  • \n

    \n Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

    \n
  • \n
  • \n

    \n Version or Alias ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.

    \n
  • \n
  • \n

    \n Partial ARN - 123456789012:function:MyFunction.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64\n characters in length.

" + "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name – MyFunction.

    \n
  • \n
  • \n

    \n Function ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

    \n
  • \n
  • \n

    \n Version or Alias ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.

    \n
  • \n
  • \n

    \n Partial ARN – 123456789012:function:MyFunction.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64\n characters in length.

" } }, "Enabled": { @@ -10501,19 +11216,19 @@ "BatchSize": { "target": "com.amazonaws.lambda#BatchSize", "traits": { - "smithy.api#documentation": "

The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation\n (6 MB).

\n
    \n
  • \n

    \n Amazon Kinesis - Default 100. Max 10,000.

    \n
  • \n
  • \n

    \n Amazon DynamoDB Streams - Default 100. Max 10,000.

    \n
  • \n
  • \n

    \n Amazon Simple Queue Service - Default 10. For standard queues the max is 10,000. For FIFO queues the max is 10.

    \n
  • \n
  • \n

    \n Amazon Managed Streaming for Apache Kafka - Default 100. Max 10,000.

    \n
  • \n
  • \n

    \n Self-managed Apache Kafka - Default 100. Max 10,000.

    \n
  • \n
  • \n

    \n Amazon MQ (ActiveMQ and RabbitMQ) - Default 100. Max 10,000.

    \n
  • \n
" + "smithy.api#documentation": "

The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation\n (6 MB).

\n
    \n
  • \n

    \n Amazon Kinesis – Default 100. Max 10,000.

    \n
  • \n
  • \n

    \n Amazon DynamoDB Streams – Default 100. Max 10,000.

    \n
  • \n
  • \n

    \n Amazon Simple Queue Service – Default 10. For standard queues the max is 10,000. For FIFO queues the max is 10.

    \n
  • \n
  • \n

    \n Amazon Managed Streaming for Apache Kafka – Default 100. Max 10,000.

    \n
  • \n
  • \n

    \n Self-managed Apache Kafka – Default 100. Max 10,000.

    \n
  • \n
  • \n

    \n Amazon MQ (ActiveMQ and RabbitMQ) – Default 100. Max 10,000.

    \n
  • \n
" } }, "FilterCriteria": { "target": "com.amazonaws.lambda#FilterCriteria", "traits": { - "smithy.api#documentation": "

(Streams and Amazon SQS) An object that defines the filter criteria that\n determine whether Lambda should process an event. For more information, see Lambda event filtering.

" + "smithy.api#documentation": "

An object that defines the filter criteria that\n determine whether Lambda should process an event. For more information, see Lambda event filtering.

" } }, "MaximumBatchingWindowInSeconds": { "target": "com.amazonaws.lambda#MaximumBatchingWindowInSeconds", "traits": { - "smithy.api#documentation": "

(Streams and Amazon SQS standard queues) The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function.

\n

Default: 0

\n

Related setting: When you set BatchSize to a value greater than 10, you must set MaximumBatchingWindowInSeconds to at least 1.

" + "smithy.api#documentation": "

The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function.\n You can configure MaximumBatchingWindowInSeconds to any value from 0 seconds to 300 seconds in increments of seconds.

\n

For streams and Amazon SQS event sources, the default batching window is 0 seconds. For Amazon MSK, Self-managed Apache Kafka, and Amazon MQ event sources, the default\n batching window is 500 ms. Note that because you can only change MaximumBatchingWindowInSeconds in increments of seconds, you cannot revert back to the 500 ms default batching window after you have changed it.\n To restore the default batching window, you must create a new event source mapping.

\n

Related setting: For streams and Amazon SQS event sources, when you set BatchSize to a value greater than 10, you must set MaximumBatchingWindowInSeconds to at least 1.

" } }, "DestinationConfig": { @@ -10563,6 +11278,12 @@ "traits": { "smithy.api#documentation": "

(Streams and Amazon SQS) A list of current response type enums applied to the event source mapping.

" } + }, + "ScalingConfig": { + "target": "com.amazonaws.lambda#ScalingConfig", + "traits": { + "smithy.api#documentation": "

(Amazon SQS only) The scaling configuration for the event source. For more information, see Configuring maximum concurrency for Amazon SQS event sources.

" + } } } }, @@ -10607,7 +11328,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates a Lambda function's code. If code signing is enabled for the function, the code package must be signed\n by a trusted publisher. For more information, see Configuring code signing.

\n \n

If the function's package type is Image, you must specify the code package in ImageUri as \n the URI of a\n container image \n in the Amazon ECR registry.\n

\n \n

If the function's package type is Zip, you must specify the deployment\n package as a .zip file\n archive. Enter the Amazon S3 bucket and key of the code .zip file location.\n You can also provide the function code inline using the ZipFile field.

\n

The code in the deployment package must be compatible with the target instruction set\n architecture of the function (x86-64 or arm64).

\n \n

The function's code is locked when you publish a version. You can't modify the code of a published version,\n only the unpublished version.

\n \n

For a function defined as a container image, Lambda resolves the image tag to an image digest. In Amazon ECR, if\n you update the image tag to a new image, Lambda does not automatically update the function.

\n
", + "smithy.api#documentation": "

Updates a Lambda function's code. If code signing is enabled for the function, the code package\n must be signed by a trusted publisher. For more information, see Configuring code signing for Lambda.

\n

If the function's package type is Image, then you must specify the code package in\n ImageUri as the URI of a container image in the Amazon ECR registry.

\n

If the function's package type is Zip, then you must specify the deployment package as a .zip file\n archive. Enter the Amazon S3 bucket and key of the code .zip file location. You can also provide\n the function code inline using the ZipFile field.

\n

The code in the deployment package must be compatible with the target instruction set architecture of the\n function (x86-64 or arm64).

\n

The function's code is locked when you publish a version. You can't modify the code of a published version,\n only the unpublished version.

\n \n

For a function defined as a container image, Lambda resolves the image tag to an image digest. In\n Amazon ECR, if you update the image tag to a new image, Lambda does not automatically\n update the function.

\n
", "smithy.api#http": { "method": "PUT", "uri": "/2015-03-31/functions/{FunctionName}/code", @@ -10621,7 +11342,7 @@ "FunctionName": { "target": "com.amazonaws.lambda#FunctionName", "traits": { - "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name - my-function.

    \n
  • \n
  • \n

    \n Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN - 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", + "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name – my-function.

    \n
  • \n
  • \n

    \n Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN – 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -10629,7 +11350,7 @@ "ZipFile": { "target": "com.amazonaws.lambda#Blob", "traits": { - "smithy.api#documentation": "

The base64-encoded contents of the deployment package. Amazon Web Services SDK and Amazon Web Services CLI clients \nhandle the encoding for you. Use only with a function defined with a .zip file archive deployment package.

" + "smithy.api#documentation": "

The base64-encoded contents of the deployment package. Amazon Web Services SDK and CLI clients \nhandle the encoding for you. Use only with a function defined with a .zip file archive deployment package.

" } }, "S3Bucket": { @@ -10653,7 +11374,7 @@ "ImageUri": { "target": "com.amazonaws.lambda#String", "traits": { - "smithy.api#documentation": "

URI of a container image in the Amazon ECR registry. Do not use for a function defined\n with a .zip file archive.

" + "smithy.api#documentation": "

URI of a container image in the Amazon ECR registry. Do not use for a function defined with a .zip\n file archive.

" } }, "Publish": { @@ -10673,7 +11394,7 @@ "RevisionId": { "target": "com.amazonaws.lambda#String", "traits": { - "smithy.api#documentation": "

Only update the function if the revision ID matches the ID that's specified. Use this option to avoid modifying a\n function that has changed since you last read it.

" + "smithy.api#documentation": "

Update the function only if the revision ID matches the ID that's specified. Use this option to avoid modifying a\n function that has changed since you last read it.

" } }, "Architectures": { @@ -10722,7 +11443,7 @@ } ], "traits": { - "smithy.api#documentation": "

Modify the version-specific settings of a Lambda function.

\n \n

When you update a function, Lambda provisions an instance of the function and its supporting resources. If\n your function connects to a VPC, this process can take a minute. During this time, you can't modify the function,\n but you can still invoke it. The LastUpdateStatus, LastUpdateStatusReason, and\n LastUpdateStatusReasonCode fields in the response from GetFunctionConfiguration\n indicate when the update is complete and the function is processing events with the new configuration. For more\n information, see Function\n States.

\n \n

These settings can vary between versions of a function and are locked when you publish a version. You can't\n modify the configuration of a published version, only the unpublished version.

\n \n

To configure function concurrency, use PutFunctionConcurrency. To grant invoke permissions\n to an account or Amazon Web Services service, use AddPermission.

", + "smithy.api#documentation": "

Modify the version-specific settings of a Lambda function.

\n

When you update a function, Lambda provisions an instance of the function and its supporting\n resources. If your function connects to a VPC, this process can take a minute. During this time, you can't modify\n the function, but you can still invoke it. The LastUpdateStatus, LastUpdateStatusReason,\n and LastUpdateStatusReasonCode fields in the response from GetFunctionConfiguration\n indicate when the update is complete and the function is processing events with the new configuration. For more\n information, see Lambda\n function states.

\n

These settings can vary between versions of a function and are locked when you publish a version. You can't\n modify the configuration of a published version, only the unpublished version.

\n

To configure function concurrency, use PutFunctionConcurrency. To grant invoke permissions\n to an Amazon Web Services account or Amazon Web Service, use AddPermission.

", "smithy.api#http": { "method": "PUT", "uri": "/2015-03-31/functions/{FunctionName}/configuration", @@ -10736,7 +11457,7 @@ "FunctionName": { "target": "com.amazonaws.lambda#FunctionName", "traits": { - "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name - my-function.

    \n
  • \n
  • \n

    \n Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN - 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", + "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name – my-function.

    \n
  • \n
  • \n

    \n Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN – 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -10750,7 +11471,7 @@ "Handler": { "target": "com.amazonaws.lambda#Handler", "traits": { - "smithy.api#documentation": "

The name of the method within your code that Lambda calls to execute your function. \nHandler is required if the deployment package is a .zip file archive. The format includes the\n file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information,\n see Programming Model.

" + "smithy.api#documentation": "

The name of the method within your code that Lambda calls to run your function. \nHandler is required if the deployment package is a .zip file archive. The format includes the\n file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information,\n see Lambda programming model.

" } }, "Description": { @@ -10762,19 +11483,19 @@ "Timeout": { "target": "com.amazonaws.lambda#Timeout", "traits": { - "smithy.api#documentation": "

The amount of time (in seconds) that Lambda allows a function to run before stopping it. The default is 3 seconds. The\n maximum allowed value is 900 seconds. For additional information, see Lambda execution environment.

" + "smithy.api#documentation": "

The amount of time (in seconds) that Lambda allows a function to run before stopping it. The default is 3 seconds. The\n maximum allowed value is 900 seconds. For more information, see Lambda execution environment.

" } }, "MemorySize": { "target": "com.amazonaws.lambda#MemorySize", "traits": { - "smithy.api#documentation": "

The amount of memory available to the function at runtime.\n Increasing the function memory also increases its CPU allocation. The default value is 128 MB. The value can be any multiple of 1 MB.

" + "smithy.api#documentation": "

The amount of memory available to the function at runtime.\n Increasing the function memory also increases its CPU allocation. The default value is 128 MB. The value can be any multiple of 1 MB.

" } }, "VpcConfig": { "target": "com.amazonaws.lambda#VpcConfig", "traits": { - "smithy.api#documentation": "

For network connectivity to Amazon Web Services resources in a VPC, specify a list of security groups and subnets in the VPC.\n When you connect a function to a VPC, it can only access resources and the internet through that VPC. For more\n information, see VPC Settings.

" + "smithy.api#documentation": "

For network connectivity to Amazon Web Services resources in a VPC, specify a list of security groups and subnets in the VPC.\n When you connect a function to a VPC, it can access resources and the internet only through that VPC. For more\n information, see Configuring a Lambda function to access resources in a VPC.

" } }, "Environment": { @@ -10786,19 +11507,19 @@ "Runtime": { "target": "com.amazonaws.lambda#Runtime", "traits": { - "smithy.api#documentation": "

The identifier of the function's runtime. Runtime is required if the deployment package is a .zip file archive. \n

" + "smithy.api#documentation": "

The identifier of the function's runtime. Runtime is required if the deployment package is a .zip file archive.\n

" } }, "DeadLetterConfig": { "target": "com.amazonaws.lambda#DeadLetterConfig", "traits": { - "smithy.api#documentation": "

A dead letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events\n when they fail processing. For more information, see Dead Letter Queues.

" + "smithy.api#documentation": "

A dead-letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events\n when they fail processing. For more information, see Dead-letter queues.

" } }, "KMSKeyArn": { "target": "com.amazonaws.lambda#KMSKeyArn", "traits": { - "smithy.api#documentation": "

The ARN of the Amazon Web Services Key Management Service (KMS) key that's used to encrypt your function's environment\n variables. If it's not provided, Lambda uses a default service key.

" + "smithy.api#documentation": "

The ARN of the Key Management Service (KMS) key that's used to encrypt your function's environment\n variables. If it's not provided, Lambda uses a default service key.

" } }, "TracingConfig": { @@ -10810,7 +11531,7 @@ "RevisionId": { "target": "com.amazonaws.lambda#String", "traits": { - "smithy.api#documentation": "

Only update the function if the revision ID matches the ID that's specified. Use this option to avoid modifying a\n function that has changed since you last read it.

" + "smithy.api#documentation": "

Update the function only if the revision ID matches the ID that's specified. Use this option to avoid modifying a\n function that has changed since you last read it.

" } }, "Layers": { @@ -10834,7 +11555,13 @@ "EphemeralStorage": { "target": "com.amazonaws.lambda#EphemeralStorage", "traits": { - "smithy.api#documentation": "

The size of the function’s /tmp directory in MB. The default value is 512, but can be any whole number between 512 and 10240 MB.

" + "smithy.api#documentation": "

The size of the function's /tmp directory in MB. The default value is 512, but can be any whole\n number between 512 and 10,240 MB.

" + } + }, + "SnapStart": { + "target": "com.amazonaws.lambda#SnapStart", + "traits": { + "smithy.api#documentation": "

The function's SnapStart setting.

" } } } @@ -10865,7 +11592,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates the configuration for asynchronous invocation for a function, version, or alias.

\n

To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

", + "smithy.api#documentation": "

Updates the configuration for asynchronous invocation for a function, version, or alias.

\n

To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

", "smithy.api#http": { "method": "POST", "uri": "/2019-09-25/functions/{FunctionName}/event-invoke-config", @@ -10951,7 +11678,7 @@ "FunctionName": { "target": "com.amazonaws.lambda#FunctionName", "traits": { - "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name - my-function.

    \n
  • \n
  • \n

    \n Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN - 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", + "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function name – my-function.

    \n
  • \n
  • \n

    \n Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN – 123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -10966,7 +11693,7 @@ "AuthType": { "target": "com.amazonaws.lambda#FunctionUrlAuthType", "traits": { - "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated\n IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information,\n see Security and auth model for Lambda function URLs.

" + "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated\n IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information,\n see Security and auth model for Lambda function URLs.

" } }, "Cors": { @@ -10997,7 +11724,7 @@ "AuthType": { "target": "com.amazonaws.lambda#FunctionUrlAuthType", "traits": { - "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated\n IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information,\n see Security and auth model for Lambda function URLs.

", + "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated\n IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information,\n see Security and auth model for Lambda function URLs.

", "smithy.api#required": {} } }, @@ -11023,6 +11750,29 @@ } } }, + "com.amazonaws.lambda#UpdateRuntimeOn": { + "type": "enum", + "members": { + "Auto": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Auto" + } + }, + "Manual": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Manual" + } + }, + "FunctionUpdate": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FunctionUpdate" + } + } + } + }, "com.amazonaws.lambda#Version": { "type": "string", "traits": { @@ -11045,12 +11795,12 @@ "SecurityGroupIds": { "target": "com.amazonaws.lambda#SecurityGroupIds", "traits": { - "smithy.api#documentation": "

A list of VPC security groups IDs.

" + "smithy.api#documentation": "

A list of VPC security group IDs.

" } } }, "traits": { - "smithy.api#documentation": "

The VPC security groups and subnets that are attached to a Lambda function. For more information, see VPC Settings.

" + "smithy.api#documentation": "

The VPC security groups and subnets that are attached to a Lambda function. For more information,\n see Configuring a Lambda\n function to access resources in a VPC.

" } }, "com.amazonaws.lambda#VpcConfigResponse": { @@ -11065,7 +11815,7 @@ "SecurityGroupIds": { "target": "com.amazonaws.lambda#SecurityGroupIds", "traits": { - "smithy.api#documentation": "

A list of VPC security groups IDs.

" + "smithy.api#documentation": "

A list of VPC security group IDs.

" } }, "VpcId": { diff --git a/aws/sdk/aws-models/polly.json b/aws/sdk/aws-models/polly.json index 5e94d71253..6b1eb41b83 100644 --- a/aws/sdk/aws-models/polly.json +++ b/aws/sdk/aws-models/polly.json @@ -103,7 +103,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns the list of voices that are available for use when\n requesting speech synthesis. Each voice speaks a specified language, is\n either male or female, and is identified by an ID, which is the ASCII\n version of the voice name.

\n\n

When synthesizing speech ( SynthesizeSpeech ), you\n provide the voice ID for the voice you want from the list of voices\n returned by DescribeVoices.

\n\n

For example, you want your news reader application to read news in\n a specific language, but giving a user the option to choose the voice.\n Using the DescribeVoices operation you can provide the user\n with a list of available voices to select from.

\n\n

You can optionally specify a language code to filter the available\n voices. For example, if you specify en-US, the operation\n returns a list of all available US English voices.

\n

This operation requires permissions to perform the\n polly:DescribeVoices action.

", + "smithy.api#documentation": "

Returns the list of voices that are available for use when\n requesting speech synthesis. Each voice speaks a specified language, is\n either male or female, and is identified by an ID, which is the ASCII\n version of the voice name.

\n

When synthesizing speech ( SynthesizeSpeech ), you\n provide the voice ID for the voice you want from the list of voices\n returned by DescribeVoices.

\n

For example, you want your news reader application to read news in\n a specific language, but giving a user the option to choose the voice.\n Using the DescribeVoices operation you can provide the user\n with a list of available voices to select from.

\n

You can optionally specify a language code to filter the available\n voices. For example, if you specify en-US, the operation\n returns a list of all available US English voices.

\n

This operation requires permissions to perform the\n polly:DescribeVoices action.

", "smithy.api#http": { "method": "GET", "uri": "/v1/voices", @@ -641,6 +641,18 @@ "traits": { "smithy.api#enumValue": "yue-CN" } + }, + "ar_AE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ar-AE" + } + }, + "fi_FI": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "fi-FI" + } } } }, @@ -1102,7 +1114,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": false, + "required": true, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -1151,15 +1163,6 @@ "ref": "Endpoint" } ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" } ], "type": "tree", @@ -3018,7 +3021,7 @@ "Engine": { "target": "com.amazonaws.polly#Engine", "traits": { - "smithy.api#documentation": "

Specifies the engine (standard or neural)\n for Amazon Polly to use when processing input text for speech synthesis. For\n information on Amazon Polly voices and which voices are available in\n standard-only, NTTS-only, and both standard and NTTS formats, see Available Voices.

\n

\n NTTS-only voices\n

\n

When using NTTS-only voices such as Kevin (en-US), this parameter is\n required and must be set to neural. If the engine is not\n specified, or is set to standard, this will result in an\n error.

\n

Type: String

\n

Valid Values: standard | neural\n

\n

Required: Yes

\n\n

\n Standard voices\n

\n

For standard voices, this is not required; the engine parameter\n defaults to standard. If the engine is not specified, or is\n set to standard and an NTTS-only voice is selected, this will\n result in an error.

" + "smithy.api#documentation": "

Specifies the engine (standard or neural)\n for Amazon Polly to use when processing input text for speech synthesis. For\n information on Amazon Polly voices and which voices are available in\n standard-only, NTTS-only, and both standard and NTTS formats, see Available Voices.

\n

\n NTTS-only voices\n

\n

When using NTTS-only voices such as Kevin (en-US), this parameter is\n required and must be set to neural. If the engine is not\n specified, or is set to standard, this will result in an\n error.

\n

Type: String

\n

Valid Values: standard | neural\n

\n

Required: Yes

\n

\n Standard voices\n

\n

For standard voices, this is not required; the engine parameter\n defaults to standard. If the engine is not specified, or is\n set to standard and an NTTS-only voice is selected, this will\n result in an error.

" } }, "LanguageCode": { @@ -3713,6 +3716,48 @@ "traits": { "smithy.api#enumValue": "Suvi" } + }, + "Ola": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Ola" + } + }, + "Hala": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Hala" + } + }, + "Andres": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Andres" + } + }, + "Sergio": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Sergio" + } + }, + "Remi": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Remi" + } + }, + "Adriano": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Adriano" + } + }, + "Thiago": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Thiago" + } } } }, diff --git a/aws/sdk/aws-models/qldb-session.json b/aws/sdk/aws-models/qldb-session.json index 1fb1402c37..9b50e436f4 100644 --- a/aws/sdk/aws-models/qldb-session.json +++ b/aws/sdk/aws-models/qldb-session.json @@ -416,7 +416,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": false, + "required": true, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -465,15 +465,6 @@ "ref": "Endpoint" } ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" } ], "type": "tree", @@ -587,12 +578,18 @@ "rules": [ { "conditions": [], - "endpoint": { - "url": "https://session.qldb-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://session.qldb-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] }, @@ -697,12 +694,18 @@ "rules": [ { "conditions": [], - "endpoint": { - "url": "https://session.qldb.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://session.qldb.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] }, @@ -715,12 +718,18 @@ }, { "conditions": [], - "endpoint": { - "url": "https://session.qldb.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://session.qldb.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] } @@ -729,42 +738,42 @@ "smithy.rules#endpointTests": { "testCases": [ { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb-fips.ca-central-1.api.aws" + "url": "https://session.qldb.ap-southeast-2.amazonaws.com" } }, "params": { - "Region": "ca-central-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-southeast-2" } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb-fips.ca-central-1.amazonaws.com" + "url": "https://session.qldb.us-east-2.amazonaws.com" } }, "params": { - "Region": "ca-central-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "us-east-2" } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb.ca-central-1.api.aws" + "url": "https://session.qldb-fips.us-east-2.amazonaws.com" } }, "params": { - "Region": "ca-central-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-east-2" } }, { @@ -775,74 +784,22 @@ } }, "params": { - "Region": "ca-central-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://session.qldb-fips.eu-central-1.api.aws" - } - }, - "params": { - "Region": "eu-central-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-central-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "ca-central-1" } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://session.qldb.eu-central-1.api.aws" - } - }, - "params": { - "Region": "eu-central-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb.eu-central-1.amazonaws.com" + "url": "https://session.qldb.us-west-2.amazonaws.com" } }, "params": { - "Region": "eu-central-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://session.qldb-fips.us-west-2.api.aws" - } - }, - "params": { - "Region": "us-west-2", - "UseDualStack": true, - "UseFIPS": true + "Region": "us-west-2" } }, { @@ -853,126 +810,74 @@ } }, "params": { - "Region": "us-west-2", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": true + "Region": "us-west-2" } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://session.qldb.us-west-2.api.aws" - } - }, - "params": { - "Region": "us-west-2", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb.us-west-2.amazonaws.com" + "url": "https://session.qldb.ap-northeast-1.amazonaws.com" } }, "params": { - "Region": "us-west-2", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://session.qldb-fips.eu-west-2.api.aws" - } - }, - "params": { - "Region": "eu-west-2", - "UseDualStack": true, - "UseFIPS": true + "Region": "ap-northeast-1" } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb-fips.eu-west-2.amazonaws.com" + "url": "https://session.qldb.ap-northeast-2.amazonaws.com" } }, "params": { - "Region": "eu-west-2", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "ap-northeast-2" } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://session.qldb.eu-west-2.api.aws" - } - }, - "params": { - "Region": "eu-west-2", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb.eu-west-2.amazonaws.com" + "url": "https://session.qldb.eu-central-1.amazonaws.com" } }, "params": { - "Region": "eu-west-2", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false + "Region": "eu-central-1" } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://session.qldb-fips.eu-west-1.api.aws" - } - }, - "params": { - "Region": "eu-west-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb-fips.eu-west-1.amazonaws.com" + "url": "https://session.qldb.us-east-1.amazonaws.com" } }, "params": { - "Region": "eu-west-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "us-east-1" } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb.eu-west-1.api.aws" + "url": "https://session.qldb-fips.us-east-1.amazonaws.com" } }, "params": { - "Region": "eu-west-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-east-1" } }, { @@ -983,321 +888,217 @@ } }, "params": { - "Region": "eu-west-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false + "Region": "eu-west-1" } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://session.qldb-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb-fips.ap-northeast-2.amazonaws.com" + "url": "https://session.qldb.eu-west-2.amazonaws.com" } }, "params": { - "Region": "ap-northeast-2", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://session.qldb.ap-northeast-2.api.aws" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseDualStack": true, - "UseFIPS": false + "Region": "eu-west-2" } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb.ap-northeast-2.amazonaws.com" + "url": "https://session.qldb.ap-southeast-1.amazonaws.com" } }, "params": { - "Region": "ap-northeast-2", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false + "Region": "ap-southeast-1" } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://session.qldb-fips.ap-northeast-1.api.aws" + "url": "https://session.qldb-fips.us-east-1.api.aws" } }, "params": { - "Region": "ap-northeast-1", + "UseFIPS": true, "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseDualStack": false, - "UseFIPS": true + "Region": "us-east-1" } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://session.qldb.ap-northeast-1.api.aws" + "url": "https://session.qldb.us-east-1.api.aws" } }, "params": { - "Region": "ap-northeast-1", + "UseFIPS": false, "UseDualStack": true, - "UseFIPS": false + "Region": "us-east-1" } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://session.qldb-fips.ap-southeast-1.api.aws" + "url": "https://session.qldb-fips.us-gov-east-1.api.aws" } }, "params": { - "Region": "ap-southeast-1", + "UseFIPS": true, "UseDualStack": true, - "UseFIPS": true + "Region": "us-gov-east-1" } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb-fips.ap-southeast-1.amazonaws.com" + "url": "https://session.qldb-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "ap-southeast-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": true + "Region": "us-gov-east-1" } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://session.qldb.ap-southeast-1.api.aws" + "url": "https://session.qldb.us-gov-east-1.api.aws" } }, "params": { - "Region": "ap-southeast-1", + "UseFIPS": false, "UseDualStack": true, - "UseFIPS": false + "Region": "us-gov-east-1" } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb.ap-southeast-1.amazonaws.com" + "url": "https://session.qldb.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "ap-southeast-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://session.qldb-fips.ap-southeast-2.api.aws" - } - }, - "params": { - "Region": "ap-southeast-2", - "UseDualStack": true, - "UseFIPS": true + "Region": "us-gov-east-1" } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb-fips.ap-southeast-2.amazonaws.com" + "url": "https://session.qldb-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "Region": "ap-southeast-2", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": true + "Region": "us-isob-east-1" } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb.ap-southeast-2.api.aws" + "url": "https://session.qldb.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "Region": "ap-southeast-2", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-2", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false + "Region": "us-isob-east-1" } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://session.qldb-fips.us-east-1.api.aws" + "url": "https://session.qldb-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "us-east-1", + "UseFIPS": true, "UseDualStack": true, - "UseFIPS": true + "Region": "cn-north-1" } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb-fips.us-east-1.amazonaws.com" + "url": "https://session.qldb-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "Region": "us-east-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": true + "Region": "cn-north-1" } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://session.qldb.us-east-1.api.aws" + "url": "https://session.qldb.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": true, - "UseFIPS": false + "Region": "cn-north-1" } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb.us-east-1.amazonaws.com" + "url": "https://session.qldb.cn-north-1.amazonaws.com.cn" } }, "params": { - "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false + "Region": "cn-north-1" } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb-fips.us-east-2.api.aws" + "url": "https://session.qldb-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "us-east-2", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "Region": "us-east-2", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://session.qldb.us-east-2.api.aws" - } - }, - "params": { - "Region": "us-east-2", - "UseDualStack": true, - "UseFIPS": false + "Region": "us-iso-east-1" } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb.us-east-2.amazonaws.com" + "url": "https://session.qldb.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "us-east-2", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false + "Region": "us-iso-east-1" } }, { @@ -1308,9 +1109,9 @@ } }, "params": { - "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -1320,9 +1121,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -1332,9 +1133,9 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "Region": "us-east-1", - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, + "Region": "us-east-1", "Endpoint": "https://example.com" } } diff --git a/aws/sdk/aws-models/route53.json b/aws/sdk/aws-models/route53.json index 8f92ac5139..38b7bca903 100644 --- a/aws/sdk/aws-models/route53.json +++ b/aws/sdk/aws-models/route53.json @@ -269,7 +269,7 @@ "name": "route53" }, "aws.protocols#restXml": {}, - "smithy.api#documentation": "

Amazon RouteΒ 53 is a highly available and scalable Domain Name System (DNS) web\n\t\t\tservice.

\n\t\t

You can use RouteΒ 53 to:

\n\t\t ", + "smithy.api#documentation": "

Amazon RouteΒ 53 is a highly available and scalable Domain Name System (DNS) web\n\t\t\tservice.

\n

You can use RouteΒ 53 to:

\n ", "smithy.api#title": "Amazon Route 53", "smithy.api#xmlNamespace": { "uri": "https://route53.amazonaws.com/doc/2013-04-01/" @@ -279,7 +279,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": false, + "required": true, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -328,15 +328,6 @@ "ref": "Endpoint" } ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" } ], "type": "tree", @@ -476,8 +467,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "route53", - "signingRegion": "us-east-1" + "signingRegion": "us-east-1", + "signingName": "route53" } ] }, @@ -536,8 +527,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "route53", - "signingRegion": "us-east-1" + "signingRegion": "us-east-1", + "signingName": "route53" } ] }, @@ -596,8 +587,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "route53", - "signingRegion": "us-east-1" + "signingRegion": "us-east-1", + "signingName": "route53" } ] }, @@ -622,8 +613,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "route53", - "signingRegion": "us-east-1" + "signingRegion": "us-east-1", + "signingName": "route53" } ] }, @@ -719,8 +710,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "route53", - "signingRegion": "cn-northwest-1" + "signingRegion": "cn-northwest-1", + "signingName": "route53" } ] }, @@ -779,8 +770,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "route53", - "signingRegion": "cn-northwest-1" + "signingRegion": "cn-northwest-1", + "signingName": "route53" } ] }, @@ -839,8 +830,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "route53", - "signingRegion": "cn-northwest-1" + "signingRegion": "cn-northwest-1", + "signingName": "route53" } ] }, @@ -865,8 +856,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "route53", - "signingRegion": "cn-northwest-1" + "signingRegion": "cn-northwest-1", + "signingName": "route53" } ] }, @@ -962,8 +953,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "route53", - "signingRegion": "us-gov-west-1" + "signingRegion": "us-gov-west-1", + "signingName": "route53" } ] }, @@ -1022,8 +1013,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "route53", - "signingRegion": "us-gov-west-1" + "signingRegion": "us-gov-west-1", + "signingName": "route53" } ] }, @@ -1082,8 +1073,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "route53", - "signingRegion": "us-gov-west-1" + "signingRegion": "us-gov-west-1", + "signingName": "route53" } ] }, @@ -1108,8 +1099,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "route53", - "signingRegion": "us-gov-west-1" + "signingRegion": "us-gov-west-1", + "signingName": "route53" } ] }, @@ -1181,8 +1172,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "route53", - "signingRegion": "us-iso-east-1" + "signingRegion": "us-iso-east-1", + "signingName": "route53" } ] }, @@ -1207,8 +1198,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "route53", - "signingRegion": "us-iso-east-1" + "signingRegion": "us-iso-east-1", + "signingName": "route53" } ] }, @@ -1280,8 +1271,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "route53", - "signingRegion": "us-isob-east-1" + "signingRegion": "us-isob-east-1", + "signingName": "route53" } ] }, @@ -1306,8 +1297,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "route53", - "signingRegion": "us-isob-east-1" + "signingRegion": "us-isob-east-1", + "signingName": "route53" } ] }, @@ -1449,8 +1440,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "route53", - "signingRegion": "us-east-1" + "signingRegion": "us-east-1", + "signingName": "route53" } ] }, @@ -1476,8 +1467,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "route53", - "signingRegion": "us-gov-west-1" + "signingRegion": "us-gov-west-1", + "signingName": "route53" } ] }, @@ -1579,8 +1570,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "route53", - "signingRegion": "us-east-1" + "signingRegion": "us-east-1", + "signingName": "route53" } ] }, @@ -1606,8 +1597,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "route53", - "signingRegion": "cn-northwest-1" + "signingRegion": "cn-northwest-1", + "signingName": "route53" } ] }, @@ -1633,8 +1624,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "route53", - "signingRegion": "us-gov-west-1" + "signingRegion": "us-gov-west-1", + "signingName": "route53" } ] }, @@ -1660,8 +1651,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "route53", - "signingRegion": "us-iso-east-1" + "signingRegion": "us-iso-east-1", + "signingName": "route53" } ] }, @@ -1687,8 +1678,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "route53", - "signingRegion": "us-isob-east-1" + "signingRegion": "us-isob-east-1", + "signingName": "route53" } ] }, @@ -1730,9 +1721,9 @@ } }, "params": { - "Region": "aws-cn-global", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "aws-cn-global" } }, { @@ -1752,9 +1743,9 @@ } }, "params": { - "Region": "aws-global", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "aws-global" } }, { @@ -1774,9 +1765,9 @@ } }, "params": { - "Region": "aws-iso-global", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "aws-iso-global" } }, { @@ -1796,9 +1787,9 @@ } }, "params": { - "Region": "aws-iso-b-global", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "aws-iso-b-global" } }, { @@ -1818,9 +1809,9 @@ } }, "params": { - "Region": "aws-us-gov-global", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "aws-us-gov-global" } }, { @@ -1831,9 +1822,9 @@ } }, "params": { - "Region": "us-east-1", - "UseFIPS": false, "UseDualStack": false, + "UseFIPS": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -1843,9 +1834,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "Region": "us-east-1", - "UseFIPS": true, "UseDualStack": false, + "UseFIPS": true, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -1855,9 +1846,9 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "Region": "us-east-1", - "UseFIPS": false, "UseDualStack": true, + "UseFIPS": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } } @@ -1872,7 +1863,7 @@ "Type": { "target": "com.amazonaws.route53#AccountLimitType", "traits": { - "smithy.api#documentation": "

The limit that you requested. Valid values include the following:

\n\t\t
    \n
  • \n\t\t\t\t

    \n MAX_HEALTH_CHECKS_BY_OWNER: The maximum\n\t\t\t\t\tnumber of health checks that you can create using the current account.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n MAX_HOSTED_ZONES_BY_OWNER: The maximum number\n\t\t\t\t\tof hosted zones that you can create using the current account.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n MAX_REUSABLE_DELEGATION_SETS_BY_OWNER: The\n\t\t\t\t\tmaximum number of reusable delegation sets that you can create using the current\n\t\t\t\t\taccount.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n MAX_TRAFFIC_POLICIES_BY_OWNER: The maximum\n\t\t\t\t\tnumber of traffic policies that you can create using the current account.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n MAX_TRAFFIC_POLICY_INSTANCES_BY_OWNER: The\n\t\t\t\t\tmaximum number of traffic policy instances that you can create using the current\n\t\t\t\t\taccount. (Traffic policy instances are referred to as traffic flow policy\n\t\t\t\t\trecords in the Amazon Route 53 console.)

    \n\t\t\t
  • \n
", + "smithy.api#documentation": "

The limit that you requested. Valid values include the following:

\n
    \n
  • \n

    \n MAX_HEALTH_CHECKS_BY_OWNER: The maximum\n\t\t\t\t\tnumber of health checks that you can create using the current account.

    \n
  • \n
  • \n

    \n MAX_HOSTED_ZONES_BY_OWNER: The maximum number\n\t\t\t\t\tof hosted zones that you can create using the current account.

    \n
  • \n
  • \n

    \n MAX_REUSABLE_DELEGATION_SETS_BY_OWNER: The\n\t\t\t\t\tmaximum number of reusable delegation sets that you can create using the current\n\t\t\t\t\taccount.

    \n
  • \n
  • \n

    \n MAX_TRAFFIC_POLICIES_BY_OWNER: The maximum\n\t\t\t\t\tnumber of traffic policies that you can create using the current account.

    \n
  • \n
  • \n

    \n MAX_TRAFFIC_POLICY_INSTANCES_BY_OWNER: The\n\t\t\t\t\tmaximum number of traffic policy instances that you can create using the current\n\t\t\t\t\taccount. (Traffic policy instances are referred to as traffic flow policy\n\t\t\t\t\trecords in the Amazon Route 53 console.)

    \n
  • \n
", "smithy.api#required": {} } }, @@ -1999,14 +1990,14 @@ "Region": { "target": "com.amazonaws.route53#CloudWatchRegion", "traits": { - "smithy.api#documentation": "

For the CloudWatch alarm that you want Route 53 health checkers to use to determine\n\t\t\twhether this health check is healthy, the region that the alarm was created in.

\n\t\t

For the current list of CloudWatch regions, see Amazon CloudWatch endpoints and\n\t\t\t\tquotas in the Amazon Web Services General\n\t\t\tReference.

", + "smithy.api#documentation": "

For the CloudWatch alarm that you want Route 53 health checkers to use to determine\n\t\t\twhether this health check is healthy, the region that the alarm was created in.

\n

For the current list of CloudWatch regions, see Amazon CloudWatch endpoints and\n\t\t\t\tquotas in the Amazon Web Services General\n\t\t\tReference.

", "smithy.api#required": {} } }, "Name": { "target": "com.amazonaws.route53#AlarmName", "traits": { - "smithy.api#documentation": "

The name of the CloudWatch alarm that you want Amazon Route 53 health checkers to use\n\t\t\tto determine whether this health check is healthy.

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

Route 53 supports CloudWatch alarms with the following features:

\n\t\t\t
    \n
  • \n\t\t\t\t\t

    Standard-resolution metrics. High-resolution metrics aren't supported. For\n\t\t\t\t\t\tmore information, see High-Resolution Metrics in the Amazon CloudWatch User\n\t\t\t\t\t\t\tGuide.

    \n\t\t\t\t
  • \n
  • \n\t\t\t\t\t

    Statistics: Average, Minimum, Maximum, Sum, and SampleCount. Extended\n\t\t\t\t\t\tstatistics aren't supported.

    \n\t\t\t\t
  • \n
\n\t\t
", + "smithy.api#documentation": "

The name of the CloudWatch alarm that you want Amazon Route 53 health checkers to use\n\t\t\tto determine whether this health check is healthy.

\n \n

Route 53 supports CloudWatch alarms with the following features:

\n
    \n
  • \n

    Standard-resolution metrics. High-resolution metrics aren't supported. For\n\t\t\t\t\t\tmore information, see High-Resolution Metrics in the Amazon CloudWatch User\n\t\t\t\t\t\t\tGuide.

    \n
  • \n
  • \n

    Statistics: Average, Minimum, Maximum, Sum, and SampleCount. Extended\n\t\t\t\t\t\tstatistics aren't supported.

    \n
  • \n
\n
", "smithy.api#required": {} } } @@ -2036,14 +2027,14 @@ "HostedZoneId": { "target": "com.amazonaws.route53#ResourceId", "traits": { - "smithy.api#documentation": "

\n Alias resource records sets only: The value used depends on where\n\t\t\tyou want to route traffic:

\n\t\t
\n
Amazon API Gateway custom regional APIs and edge-optimized APIs
\n
\n\t\t\t\t\t

Specify the hosted zone ID for your API. You can get the applicable value\n\t\t\t\t\t\tusing the CLI command get-domain-names:

\n\t\t\t\t\t
    \n
  • \n\t\t\t\t\t\t\t

    For regional APIs, specify the value of\n\t\t\t\t\t\t\t\t\tregionalHostedZoneId.

    \n\t\t\t\t\t\t
  • \n
  • \n\t\t\t\t\t\t\t

    For edge-optimized APIs, specify the value of\n\t\t\t\t\t\t\t\t\tdistributionHostedZoneId.

    \n\t\t\t\t\t\t
  • \n
\n\t\t\t\t
\n
Amazon Virtual Private Cloud interface VPC endpoint
\n
\n\t\t\t\t\t

Specify the hosted zone ID for your interface endpoint. You can get the\n\t\t\t\t\t\tvalue of HostedZoneId using the CLI command\n\t\t\t\t\t\t\tdescribe-vpc-endpoints.

\n\t\t\t\t
\n
CloudFront distribution
\n
\n\t\t\t\t\t

Specify Z2FDTNDATAQYW2.

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

Alias resource record sets for CloudFront can't be created in a\n\t\t\t\t\t\t\tprivate zone.

\n\t\t\t\t\t
\n\t\t\t\t
\n
Elastic Beanstalk environment
\n
\n\t\t\t\t\t

Specify the hosted zone ID for the region that you created the environment\n\t\t\t\t\t\tin. The environment must have a regionalized subdomain. For a list of\n\t\t\t\t\t\tregions and the corresponding hosted zone IDs, see Elastic Beanstalk endpoints and quotas in the the\n\t\t\t\t\t\t\tAmazon Web Services General Reference.

\n\t\t\t\t
\n
ELB load balancer
\n
\n\t\t\t\t\t

Specify the value of the hosted zone ID for the load balancer. Use the\n\t\t\t\t\t\tfollowing methods to get the hosted zone ID:

\n\t\t\t\t\t
    \n
  • \n\t\t\t\t\t\t\t

    \n Elastic Load Balancing endpoints and quotas topic in\n\t\t\t\t\t\t\t\tthe Amazon Web Services General Reference: Use\n\t\t\t\t\t\t\t\tthe value that corresponds with the region that you created your\n\t\t\t\t\t\t\t\tload balancer in. Note that there are separate columns for\n\t\t\t\t\t\t\t\tApplication and Classic Load Balancers and for Network Load\n\t\t\t\t\t\t\t\tBalancers.

    \n\t\t\t\t\t\t
  • \n
  • \n\t\t\t\t\t\t\t

    \n Amazon Web Services Management Console: Go to the\n\t\t\t\t\t\t\t\tAmazon EC2 page, choose Load\n\t\t\t\t\t\t\t\t\tBalancers in the navigation pane, select the load\n\t\t\t\t\t\t\t\tbalancer, and get the value of the Hosted\n\t\t\t\t\t\t\t\t\tzone field on the Description tab.

    \n\t\t\t\t\t\t
  • \n
  • \n\t\t\t\t\t\t\t

    \n Elastic Load Balancing API: Use\n\t\t\t\t\t\t\t\t\tDescribeLoadBalancers to get the applicable value.\n\t\t\t\t\t\t\t\tFor more information, see the applicable guide:

    \n\t\t\t\t\t\t\t
      \n
    • \n\t\t\t\t\t\t\t\t\t

      Classic Load Balancers: Use DescribeLoadBalancers to get the value of\n\t\t\t\t\t\t\t\t\t\t\tCanonicalHostedZoneNameId.

      \n\t\t\t\t\t\t\t\t
    • \n
    • \n\t\t\t\t\t\t\t\t\t

      Application and Network Load Balancers: Use DescribeLoadBalancers to get the value of\n\t\t\t\t\t\t\t\t\t\t\tCanonicalHostedZoneId.

      \n\t\t\t\t\t\t\t\t
    • \n
    \n\t\t\t\t\t\t
  • \n
  • \n\t\t\t\t\t\t\t

    \n CLI: Use\n\t\t\t\t\t\t\t\t\tdescribe-load-balancers to get the applicable\n\t\t\t\t\t\t\t\tvalue. For more information, see the applicable guide:

    \n\t\t\t\t\t\t\t
      \n
    • \n\t\t\t\t\t\t\t\t\t

      Classic Load Balancers: Use describe-load-balancers to get the value of\n\t\t\t\t\t\t\t\t\t\t\tCanonicalHostedZoneNameId.

      \n\t\t\t\t\t\t\t\t
    • \n
    • \n\t\t\t\t\t\t\t\t\t

      Application and Network Load Balancers: Use describe-load-balancers to get the value of\n\t\t\t\t\t\t\t\t\t\t\tCanonicalHostedZoneId.

      \n\t\t\t\t\t\t\t\t
    • \n
    \n\t\t\t\t\t\t
  • \n
\n\t\t\t\t
\n
Global Accelerator accelerator
\n
\n\t\t\t\t\t

Specify Z2BJ6XQ5FK7U4H.

\n\t\t\t\t
\n
An Amazon S3 bucket configured as a static website
\n
\n\t\t\t\t\t

Specify the hosted zone ID for the region that you created the bucket in.\n\t\t\t\t\t\tFor more information about valid values, see the table Amazon S3\n\t\t\t\t\t\t\tWebsite Endpoints in the Amazon Web Services General\n\t\t\t\t\t\t\tReference.

\n\t\t\t\t
\n
Another Route 53 resource record set in your hosted zone
\n
\n\t\t\t\t\t

Specify the hosted zone ID of your hosted zone. (An alias resource record\n\t\t\t\t\t\tset can't reference a resource record set in a different hosted\n\t\t\t\t\t\tzone.)

\n\t\t\t\t
\n
", + "smithy.api#documentation": "

\n Alias resource records sets only: The value used depends on where\n\t\t\tyou want to route traffic:

\n
\n
Amazon API Gateway custom regional APIs and edge-optimized APIs
\n
\n

Specify the hosted zone ID for your API. You can get the applicable value\n\t\t\t\t\t\tusing the CLI command get-domain-names:

\n
    \n
  • \n

    For regional APIs, specify the value of\n\t\t\t\t\t\t\t\t\tregionalHostedZoneId.

    \n
  • \n
  • \n

    For edge-optimized APIs, specify the value of\n\t\t\t\t\t\t\t\t\tdistributionHostedZoneId.

    \n
  • \n
\n
\n
Amazon Virtual Private Cloud interface VPC endpoint
\n
\n

Specify the hosted zone ID for your interface endpoint. You can get the\n\t\t\t\t\t\tvalue of HostedZoneId using the CLI command\n\t\t\t\t\t\t\tdescribe-vpc-endpoints.

\n
\n
CloudFront distribution
\n
\n

Specify Z2FDTNDATAQYW2.

\n \n

Alias resource record sets for CloudFront can't be created in a\n\t\t\t\t\t\t\tprivate zone.

\n
\n
\n
Elastic Beanstalk environment
\n
\n

Specify the hosted zone ID for the region that you created the environment\n\t\t\t\t\t\tin. The environment must have a regionalized subdomain. For a list of\n\t\t\t\t\t\tregions and the corresponding hosted zone IDs, see Elastic Beanstalk endpoints and quotas in the the\n\t\t\t\t\t\t\tAmazon Web Services General Reference.

\n
\n
ELB load balancer
\n
\n

Specify the value of the hosted zone ID for the load balancer. Use the\n\t\t\t\t\t\tfollowing methods to get the hosted zone ID:

\n
    \n
  • \n

    \n Elastic Load Balancing endpoints and quotas topic in\n\t\t\t\t\t\t\t\tthe Amazon Web Services General Reference: Use\n\t\t\t\t\t\t\t\tthe value that corresponds with the region that you created your\n\t\t\t\t\t\t\t\tload balancer in. Note that there are separate columns for\n\t\t\t\t\t\t\t\tApplication and Classic Load Balancers and for Network Load\n\t\t\t\t\t\t\t\tBalancers.

    \n
  • \n
  • \n

    \n Amazon Web Services Management Console: Go to the\n\t\t\t\t\t\t\t\tAmazon EC2 page, choose Load\n\t\t\t\t\t\t\t\t\tBalancers in the navigation pane, select the load\n\t\t\t\t\t\t\t\tbalancer, and get the value of the Hosted\n\t\t\t\t\t\t\t\t\tzone field on the Description tab.

    \n
  • \n
  • \n

    \n Elastic Load Balancing API: Use\n\t\t\t\t\t\t\t\t\tDescribeLoadBalancers to get the applicable value.\n\t\t\t\t\t\t\t\tFor more information, see the applicable guide:

    \n
      \n
    • \n

      Classic Load Balancers: Use DescribeLoadBalancers to get the value of\n\t\t\t\t\t\t\t\t\t\t\tCanonicalHostedZoneNameId.

      \n
    • \n
    • \n

      Application and Network Load Balancers: Use DescribeLoadBalancers to get the value of\n\t\t\t\t\t\t\t\t\t\t\tCanonicalHostedZoneId.

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

    \n CLI: Use\n\t\t\t\t\t\t\t\t\tdescribe-load-balancers to get the applicable\n\t\t\t\t\t\t\t\tvalue. For more information, see the applicable guide:

    \n
      \n
    • \n

      Classic Load Balancers: Use describe-load-balancers to get the value of\n\t\t\t\t\t\t\t\t\t\t\tCanonicalHostedZoneNameId.

      \n
    • \n
    • \n

      Application and Network Load Balancers: Use describe-load-balancers to get the value of\n\t\t\t\t\t\t\t\t\t\t\tCanonicalHostedZoneId.

      \n
    • \n
    \n
  • \n
\n
\n
Global Accelerator accelerator
\n
\n

Specify Z2BJ6XQ5FK7U4H.

\n
\n
An Amazon S3 bucket configured as a static website
\n
\n

Specify the hosted zone ID for the region that you created the bucket in.\n\t\t\t\t\t\tFor more information about valid values, see the table Amazon S3\n\t\t\t\t\t\t\tWebsite Endpoints in the Amazon Web Services General\n\t\t\t\t\t\t\tReference.

\n
\n
Another Route 53 resource record set in your hosted zone
\n
\n

Specify the hosted zone ID of your hosted zone. (An alias resource record\n\t\t\t\t\t\tset can't reference a resource record set in a different hosted\n\t\t\t\t\t\tzone.)

\n
\n
", "smithy.api#required": {} } }, "DNSName": { "target": "com.amazonaws.route53#DNSName", "traits": { - "smithy.api#documentation": "

\n Alias resource record sets only: The value that you specify\n\t\t\tdepends on where you want to route queries:

\n\t\t
\n
Amazon API Gateway custom regional APIs and edge-optimized APIs
\n
\n\t\t\t\t\t

Specify the applicable domain name for your API. You can get the\n\t\t\t\t\t\tapplicable value using the CLI command get-domain-names:

\n\t\t\t\t\t
    \n
  • \n\t\t\t\t\t\t\t

    For regional APIs, specify the value of\n\t\t\t\t\t\t\t\t\tregionalDomainName.

    \n\t\t\t\t\t\t
  • \n
  • \n\t\t\t\t\t\t\t

    For edge-optimized APIs, specify the value of\n\t\t\t\t\t\t\t\t\tdistributionDomainName. This is the name of the\n\t\t\t\t\t\t\t\tassociated CloudFront distribution, such as\n\t\t\t\t\t\t\t\t\tda1b2c3d4e5.cloudfront.net.

    \n\t\t\t\t\t\t
  • \n
\n\t\t\t\t\t \n\t\t\t\t\t\t

The name of the record that you're creating must match a custom domain\n\t\t\t\t\t\t\tname for your API, such as api.example.com.

\n\t\t\t\t\t
\n\t\t\t\t
\n
Amazon Virtual Private Cloud interface VPC endpoint
\n
\n\t\t\t\t\t

Enter the API endpoint for the interface endpoint, such as\n\t\t\t\t\t\t\tvpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com.\n\t\t\t\t\t\tFor edge-optimized APIs, this is the domain name for the corresponding\n\t\t\t\t\t\tCloudFront distribution. You can get the value of DnsName using\n\t\t\t\t\t\tthe CLI command describe-vpc-endpoints.

\n\t\t\t\t
\n
CloudFront distribution
\n
\n\t\t\t\t\t

Specify the domain name that CloudFront assigned when you created your\n\t\t\t\t\t\tdistribution.

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

Your CloudFront distribution must include an alternate domain name that\n\t\t\t\t\t\tmatches the name of the resource record set. For example, if the name of the\n\t\t\t\t\t\tresource record set is acme.example.com, your\n\t\t\t\t\t\tCloudFront distribution must include acme.example.com\n\t\t\t\t\t\tas one of the alternate domain names. For more information, see Using Alternate\n\t\t\t\t\t\t\tDomain Names (CNAMEs) in the Amazon CloudFront\n\t\t\t\t\t\t\tDeveloper Guide.

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

You can't create a resource record set in a private hosted zone to route\n\t\t\t\t\t\ttraffic to a CloudFront distribution.

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

For failover alias records, you can't specify a CloudFront\n\t\t\t\t\t\t\tdistribution for both the primary and secondary records. A distribution\n\t\t\t\t\t\t\tmust include an alternate domain name that matches the name of the\n\t\t\t\t\t\t\trecord. However, the primary and secondary records have the same name,\n\t\t\t\t\t\t\tand you can't include the same alternate domain name in more than one\n\t\t\t\t\t\t\tdistribution.

\n\t\t\t\t\t
\n\t\t\t\t
\n
Elastic Beanstalk environment
\n
\n\t\t\t\t\t

If the domain name for your Elastic Beanstalk environment includes the\n\t\t\t\t\t\tregion that you deployed the environment in, you can create an alias record\n\t\t\t\t\t\tthat routes traffic to the environment. For example, the domain name\n\t\t\t\t\t\t\t\tmy-environment.us-west-2.elasticbeanstalk.com\n\t\t\t\t\t\tis a regionalized domain name.

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

For environments that were created before early 2016, the domain name\n\t\t\t\t\t\t\tdoesn't include the region. To route traffic to these environments, you\n\t\t\t\t\t\t\tmust create a CNAME record instead of an alias record. Note that you\n\t\t\t\t\t\t\tcan't create a CNAME record for the root domain name. For example, if\n\t\t\t\t\t\t\tyour domain name is example.com, you can create a record that routes\n\t\t\t\t\t\t\ttraffic for acme.example.com to your Elastic Beanstalk environment, but\n\t\t\t\t\t\t\tyou can't create a record that routes traffic for example.com to your\n\t\t\t\t\t\t\tElastic Beanstalk environment.

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

For Elastic Beanstalk environments that have regionalized subdomains,\n\t\t\t\t\t\tspecify the CNAME attribute for the environment. You can use\n\t\t\t\t\t\tthe following methods to get the value of the CNAME attribute:

\n\t\t\t\t\t
    \n
  • \n\t\t\t\t\t\t\t

    \n Amazon Web Services Management Console: For information about\n\t\t\t\t\t\t\t\thow to get the value by using the console, see Using Custom\n\t\t\t\t\t\t\t\t\tDomains with Elastic Beanstalk in the\n\t\t\t\t\t\t\t\t\t\tElastic Beanstalk Developer\n\t\t\t\t\t\t\t\tGuide.

    \n\t\t\t\t\t\t
  • \n
  • \n\t\t\t\t\t\t\t

    \n Elastic Beanstalk API: Use the\n\t\t\t\t\t\t\t\t\tDescribeEnvironments action to get the value of the\n\t\t\t\t\t\t\t\t\tCNAME attribute. For more information, see DescribeEnvironments in the Elastic Beanstalk API Reference.

    \n\t\t\t\t\t\t
  • \n
  • \n\t\t\t\t\t\t\t

    \n CLI: Use the\n\t\t\t\t\t\t\t\t\tdescribe-environments command to get the value of\n\t\t\t\t\t\t\t\tthe CNAME attribute. For more information, see describe-environments in the CLI Command Reference.

    \n\t\t\t\t\t\t
  • \n
\n\t\t\t\t
\n
ELB load balancer
\n
\n\t\t\t\t\t

Specify the DNS name that is associated with the load balancer. Get the\n\t\t\t\t\t\tDNS name by using the Amazon Web Services Management Console, the ELB API, or the CLI.

\n\t\t\t\t\t
    \n
  • \n\t\t\t\t\t\t\t

    \n Amazon Web Services Management Console: Go to the\n\t\t\t\t\t\t\t\tEC2 page, choose Load Balancers in\n\t\t\t\t\t\t\t\tthe navigation pane, choose the load balancer, choose the Description tab, and get the value of the\n\t\t\t\t\t\t\t\t\tDNS name field.

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

    If you're routing traffic to a Classic Load Balancer, get the\n\t\t\t\t\t\t\t\tvalue that begins with dualstack.\n\t\t\t\t\t\t\t\tIf you're routing traffic to another type of load balancer, get the\n\t\t\t\t\t\t\t\tvalue that applies to the record type, A or AAAA.

    \n\t\t\t\t\t\t
  • \n
  • \n\t\t\t\t\t\t\t

    \n Elastic Load Balancing API: Use\n\t\t\t\t\t\t\t\t\tDescribeLoadBalancers to get the value of\n\t\t\t\t\t\t\t\t\tDNSName. For more information, see the applicable\n\t\t\t\t\t\t\t\tguide:

    \n\t\t\t\t\t\t\t
      \n
    • \n\t\t\t\t\t\t\t\t\t

      Classic Load Balancers: DescribeLoadBalancers\n\t\t\t\t\t\t\t\t\t

      \n\t\t\t\t\t\t\t\t
    • \n
    • \n\t\t\t\t\t\t\t\t\t

      Application and Network Load Balancers: DescribeLoadBalancers\n

      \n\t\t\t\t\t\t\t\t
    • \n
    \n\t\t\t\t\t\t
  • \n
  • \n\t\t\t\t\t\t\t

    \n CLI: Use\n\t\t\t\t\t\t\t\t\tdescribe-load-balancers to get the value of\n\t\t\t\t\t\t\t\t\tDNSName. For more information, see the applicable\n\t\t\t\t\t\t\t\tguide:

    \n\t\t\t\t\t\t\t \n\t\t\t\t\t\t
  • \n
\n\t\t\t\t
\n
Global Accelerator accelerator
\n
\n\t\t\t\t\t

Specify the DNS name for your accelerator:

\n\t\t\t\t\t
    \n
  • \n\t\t\t\t\t\t\t

    \n Global Accelerator API: To get\n\t\t\t\t\t\t\t\tthe DNS name, use DescribeAccelerator.

    \n\t\t\t\t\t\t
  • \n
  • \n\t\t\t\t\t\t\t

    \n CLI: To get the\n\t\t\t\t\t\t\t\tDNS name, use describe-accelerator.

    \n\t\t\t\t\t\t
  • \n
\n\t\t\t\t
\n
Amazon S3 bucket that is configured as a static website
\n
\n\t\t\t\t\t

Specify the domain name of the Amazon S3 website endpoint that you created\n\t\t\t\t\t\tthe bucket in, for example, s3-website.us-east-2.amazonaws.com.\n\t\t\t\t\t\tFor more information about valid values, see the table Amazon S3\n\t\t\t\t\t\t\tWebsite Endpoints in the Amazon Web Services General\n\t\t\t\t\t\t\tReference. For more information about using S3 buckets for\n\t\t\t\t\t\twebsites, see Getting Started\n\t\t\t\t\t\t\twith Amazon Route 53 in the Amazon Route 53 Developer\n\t\t\t\t\t\t\tGuide.\n

\n\t\t\t\t
\n
Another Route 53 resource record set
\n
\n\t\t\t\t\t

Specify the value of the Name element for a resource record\n\t\t\t\t\t\tset in the current hosted zone.

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

If you're creating an alias record that has the same name as the\n\t\t\t\t\t\t\thosted zone (known as the zone apex), you can't specify the domain name\n\t\t\t\t\t\t\tfor a record for which the value of Type is\n\t\t\t\t\t\t\t\tCNAME. This is because the alias record must have the\n\t\t\t\t\t\t\tsame type as the record that you're routing traffic to, and creating a\n\t\t\t\t\t\t\tCNAME record for the zone apex isn't supported even for an alias\n\t\t\t\t\t\t\trecord.

\n\t\t\t\t\t
\n\t\t\t\t
\n
", + "smithy.api#documentation": "

\n Alias resource record sets only: The value that you specify\n\t\t\tdepends on where you want to route queries:

\n
\n
Amazon API Gateway custom regional APIs and edge-optimized APIs
\n
\n

Specify the applicable domain name for your API. You can get the\n\t\t\t\t\t\tapplicable value using the CLI command get-domain-names:

\n
    \n
  • \n

    For regional APIs, specify the value of\n\t\t\t\t\t\t\t\t\tregionalDomainName.

    \n
  • \n
  • \n

    For edge-optimized APIs, specify the value of\n\t\t\t\t\t\t\t\t\tdistributionDomainName. This is the name of the\n\t\t\t\t\t\t\t\tassociated CloudFront distribution, such as\n\t\t\t\t\t\t\t\t\tda1b2c3d4e5.cloudfront.net.

    \n
  • \n
\n \n

The name of the record that you're creating must match a custom domain\n\t\t\t\t\t\t\tname for your API, such as api.example.com.

\n
\n
\n
Amazon Virtual Private Cloud interface VPC endpoint
\n
\n

Enter the API endpoint for the interface endpoint, such as\n\t\t\t\t\t\t\tvpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com.\n\t\t\t\t\t\tFor edge-optimized APIs, this is the domain name for the corresponding\n\t\t\t\t\t\tCloudFront distribution. You can get the value of DnsName using\n\t\t\t\t\t\tthe CLI command describe-vpc-endpoints.

\n
\n
CloudFront distribution
\n
\n

Specify the domain name that CloudFront assigned when you created your\n\t\t\t\t\t\tdistribution.

\n

Your CloudFront distribution must include an alternate domain name that\n\t\t\t\t\t\tmatches the name of the resource record set. For example, if the name of the\n\t\t\t\t\t\tresource record set is acme.example.com, your\n\t\t\t\t\t\tCloudFront distribution must include acme.example.com\n\t\t\t\t\t\tas one of the alternate domain names. For more information, see Using Alternate\n\t\t\t\t\t\t\tDomain Names (CNAMEs) in the Amazon CloudFront\n\t\t\t\t\t\t\tDeveloper Guide.

\n

You can't create a resource record set in a private hosted zone to route\n\t\t\t\t\t\ttraffic to a CloudFront distribution.

\n \n

For failover alias records, you can't specify a CloudFront\n\t\t\t\t\t\t\tdistribution for both the primary and secondary records. A distribution\n\t\t\t\t\t\t\tmust include an alternate domain name that matches the name of the\n\t\t\t\t\t\t\trecord. However, the primary and secondary records have the same name,\n\t\t\t\t\t\t\tand you can't include the same alternate domain name in more than one\n\t\t\t\t\t\t\tdistribution.

\n
\n
\n
Elastic Beanstalk environment
\n
\n

If the domain name for your Elastic Beanstalk environment includes the\n\t\t\t\t\t\tregion that you deployed the environment in, you can create an alias record\n\t\t\t\t\t\tthat routes traffic to the environment. For example, the domain name\n\t\t\t\t\t\t\t\tmy-environment.us-west-2.elasticbeanstalk.com\n\t\t\t\t\t\tis a regionalized domain name.

\n \n

For environments that were created before early 2016, the domain name\n\t\t\t\t\t\t\tdoesn't include the region. To route traffic to these environments, you\n\t\t\t\t\t\t\tmust create a CNAME record instead of an alias record. Note that you\n\t\t\t\t\t\t\tcan't create a CNAME record for the root domain name. For example, if\n\t\t\t\t\t\t\tyour domain name is example.com, you can create a record that routes\n\t\t\t\t\t\t\ttraffic for acme.example.com to your Elastic Beanstalk environment, but\n\t\t\t\t\t\t\tyou can't create a record that routes traffic for example.com to your\n\t\t\t\t\t\t\tElastic Beanstalk environment.

\n
\n

For Elastic Beanstalk environments that have regionalized subdomains,\n\t\t\t\t\t\tspecify the CNAME attribute for the environment. You can use\n\t\t\t\t\t\tthe following methods to get the value of the CNAME attribute:

\n
    \n
  • \n

    \n Amazon Web Services Management Console: For information about\n\t\t\t\t\t\t\t\thow to get the value by using the console, see Using Custom\n\t\t\t\t\t\t\t\t\tDomains with Elastic Beanstalk in the\n\t\t\t\t\t\t\t\t\t\tElastic Beanstalk Developer\n\t\t\t\t\t\t\t\tGuide.

    \n
  • \n
  • \n

    \n Elastic Beanstalk API: Use the\n\t\t\t\t\t\t\t\t\tDescribeEnvironments action to get the value of the\n\t\t\t\t\t\t\t\t\tCNAME attribute. For more information, see DescribeEnvironments in the Elastic Beanstalk API Reference.

    \n
  • \n
  • \n

    \n CLI: Use the\n\t\t\t\t\t\t\t\t\tdescribe-environments command to get the value of\n\t\t\t\t\t\t\t\tthe CNAME attribute. For more information, see describe-environments in the CLI Command Reference.

    \n
  • \n
\n
\n
ELB load balancer
\n
\n

Specify the DNS name that is associated with the load balancer. Get the\n\t\t\t\t\t\tDNS name by using the Amazon Web Services Management Console, the ELB API, or the CLI.

\n
    \n
  • \n

    \n Amazon Web Services Management Console: Go to the\n\t\t\t\t\t\t\t\tEC2 page, choose Load Balancers in\n\t\t\t\t\t\t\t\tthe navigation pane, choose the load balancer, choose the Description tab, and get the value of the\n\t\t\t\t\t\t\t\t\tDNS name field.

    \n

    If you're routing traffic to a Classic Load Balancer, get the\n\t\t\t\t\t\t\t\tvalue that begins with dualstack.\n\t\t\t\t\t\t\t\tIf you're routing traffic to another type of load balancer, get the\n\t\t\t\t\t\t\t\tvalue that applies to the record type, A or AAAA.

    \n
  • \n
  • \n

    \n Elastic Load Balancing API: Use\n\t\t\t\t\t\t\t\t\tDescribeLoadBalancers to get the value of\n\t\t\t\t\t\t\t\t\tDNSName. For more information, see the applicable\n\t\t\t\t\t\t\t\tguide:

    \n \n
  • \n
  • \n

    \n CLI: Use\n\t\t\t\t\t\t\t\t\tdescribe-load-balancers to get the value of\n\t\t\t\t\t\t\t\t\tDNSName. For more information, see the applicable\n\t\t\t\t\t\t\t\tguide:

    \n \n
  • \n
\n
\n
Global Accelerator accelerator
\n
\n

Specify the DNS name for your accelerator:

\n \n
\n
Amazon S3 bucket that is configured as a static website
\n
\n

Specify the domain name of the Amazon S3 website endpoint that you created\n\t\t\t\t\t\tthe bucket in, for example, s3-website.us-east-2.amazonaws.com.\n\t\t\t\t\t\tFor more information about valid values, see the table Amazon S3\n\t\t\t\t\t\t\tWebsite Endpoints in the Amazon Web Services General\n\t\t\t\t\t\t\tReference. For more information about using S3 buckets for\n\t\t\t\t\t\twebsites, see Getting Started\n\t\t\t\t\t\t\twith Amazon Route 53 in the Amazon Route 53 Developer\n\t\t\t\t\t\t\tGuide.\n

\n
\n
Another Route 53 resource record set
\n
\n

Specify the value of the Name element for a resource record\n\t\t\t\t\t\tset in the current hosted zone.

\n \n

If you're creating an alias record that has the same name as the\n\t\t\t\t\t\t\thosted zone (known as the zone apex), you can't specify the domain name\n\t\t\t\t\t\t\tfor a record for which the value of Type is\n\t\t\t\t\t\t\t\tCNAME. This is because the alias record must have the\n\t\t\t\t\t\t\tsame type as the record that you're routing traffic to, and creating a\n\t\t\t\t\t\t\tCNAME record for the zone apex isn't supported even for an alias\n\t\t\t\t\t\t\trecord.

\n
\n
\n
", "smithy.api#required": {} } }, @@ -2051,13 +2042,13 @@ "target": "com.amazonaws.route53#AliasHealthEnabled", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

\n Applies only to alias, failover alias, geolocation alias, latency alias, and\n\t\t\t\tweighted alias resource record sets: When\n\t\t\t\tEvaluateTargetHealth is true, an alias resource record set\n\t\t\tinherits the health of the referenced Amazon Web Services resource, such as an ELB load\n\t\t\tbalancer or another resource record set in the hosted zone.

\n\t\t

Note the following:

\n\t\t
\n
CloudFront distributions
\n
\n\t\t\t\t\t

You can't set EvaluateTargetHealth to true when\n\t\t\t\t\t\tthe alias target is a CloudFront distribution.

\n\t\t\t\t
\n
Elastic Beanstalk environments that have regionalized subdomains
\n
\n\t\t\t\t\t

If you specify an Elastic Beanstalk environment in DNSName\n\t\t\t\t\t\tand the environment contains an ELB load balancer, Elastic Load Balancing\n\t\t\t\t\t\troutes queries only to the healthy Amazon EC2 instances that are registered\n\t\t\t\t\t\twith the load balancer. (An environment automatically contains an ELB load\n\t\t\t\t\t\tbalancer if it includes more than one Amazon EC2 instance.) If you set\n\t\t\t\t\t\t\tEvaluateTargetHealth to true and either no\n\t\t\t\t\t\tAmazon EC2 instances are healthy or the load balancer itself is unhealthy,\n\t\t\t\t\t\tRoute 53 routes queries to other available resources that are healthy, if\n\t\t\t\t\t\tany.

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

If the environment contains a single Amazon EC2 instance, there are no\n\t\t\t\t\t\tspecial requirements.

\n\t\t\t\t
\n
ELB load balancers
\n
\n\t\t\t\t\t

Health checking behavior depends on the type of load balancer:

\n\t\t\t\t\t
    \n
  • \n\t\t\t\t\t\t\t

    \n Classic Load Balancers: If you\n\t\t\t\t\t\t\t\tspecify an ELB Classic Load Balancer in DNSName,\n\t\t\t\t\t\t\t\tElastic Load Balancing routes queries only to the healthy Amazon EC2\n\t\t\t\t\t\t\t\tinstances that are registered with the load balancer. If you set\n\t\t\t\t\t\t\t\t\tEvaluateTargetHealth to true and\n\t\t\t\t\t\t\t\teither no EC2 instances are healthy or the load balancer itself is\n\t\t\t\t\t\t\t\tunhealthy, Route 53 routes queries to other resources.

    \n\t\t\t\t\t\t
  • \n
  • \n\t\t\t\t\t\t\t

    \n Application and Network Load\n\t\t\t\t\t\t\t\t\tBalancers: If you specify an ELB Application or\n\t\t\t\t\t\t\t\tNetwork Load Balancer and you set EvaluateTargetHealth\n\t\t\t\t\t\t\t\tto true, Route 53 routes queries to the load balancer\n\t\t\t\t\t\t\t\tbased on the health of the target groups that are associated with\n\t\t\t\t\t\t\t\tthe load balancer:

    \n\t\t\t\t\t\t\t
      \n
    • \n\t\t\t\t\t\t\t\t\t

      For an Application or Network Load Balancer to be\n\t\t\t\t\t\t\t\t\t\tconsidered healthy, every target group that contains targets\n\t\t\t\t\t\t\t\t\t\tmust contain at least one healthy target. If any target\n\t\t\t\t\t\t\t\t\t\tgroup contains only unhealthy targets, the load balancer is\n\t\t\t\t\t\t\t\t\t\tconsidered unhealthy, and Route 53 routes queries to other\n\t\t\t\t\t\t\t\t\t\tresources.

      \n\t\t\t\t\t\t\t\t
    • \n
    • \n\t\t\t\t\t\t\t\t\t

      A target group that has no registered targets is\n\t\t\t\t\t\t\t\t\t\tconsidered unhealthy.

      \n\t\t\t\t\t\t\t\t
    • \n
    \n\t\t\t\t\t\t
  • \n
\n\t\t\t\t\t \n\t\t\t\t\t\t

When you create a load balancer, you configure settings for Elastic\n\t\t\t\t\t\t\tLoad Balancing health checks; they're not Route 53 health checks, but\n\t\t\t\t\t\t\tthey perform a similar function. Do not create Route 53 health checks\n\t\t\t\t\t\t\tfor the EC2 instances that you register with an ELB load balancer.\n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\t\t\t\t
\n
S3 buckets
\n
\n\t\t\t\t\t

There are no special requirements for setting\n\t\t\t\t\t\t\tEvaluateTargetHealth to true when the alias\n\t\t\t\t\t\ttarget is an S3 bucket.

\n\t\t\t\t
\n
Other records in the same hosted zone
\n
\n\t\t\t\t\t

If the Amazon Web Services resource that you specify in\n\t\t\t\t\t\t\tDNSName is a record or a group of records (for example, a\n\t\t\t\t\t\tgroup of weighted records) but is not another alias record, we recommend\n\t\t\t\t\t\tthat you associate a health check with all of the records in the alias\n\t\t\t\t\t\ttarget. For more information, see What Happens When You Omit Health Checks? in the\n\t\t\t\t\t\t\tAmazon Route 53 Developer Guide.

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

For more information and examples, see Amazon Route 53 Health Checks\n\t\t\t\tand DNS Failover in the Amazon Route 53 Developer\n\t\t\tGuide.

", + "smithy.api#documentation": "

\n Applies only to alias, failover alias, geolocation alias, latency alias, and\n\t\t\t\tweighted alias resource record sets: When\n\t\t\t\tEvaluateTargetHealth is true, an alias resource record set\n\t\t\tinherits the health of the referenced Amazon Web Services resource, such as an ELB load\n\t\t\tbalancer or another resource record set in the hosted zone.

\n

Note the following:

\n
\n
CloudFront distributions
\n
\n

You can't set EvaluateTargetHealth to true when\n\t\t\t\t\t\tthe alias target is a CloudFront distribution.

\n
\n
Elastic Beanstalk environments that have regionalized subdomains
\n
\n

If you specify an Elastic Beanstalk environment in DNSName\n\t\t\t\t\t\tand the environment contains an ELB load balancer, Elastic Load Balancing\n\t\t\t\t\t\troutes queries only to the healthy Amazon EC2 instances that are registered\n\t\t\t\t\t\twith the load balancer. (An environment automatically contains an ELB load\n\t\t\t\t\t\tbalancer if it includes more than one Amazon EC2 instance.) If you set\n\t\t\t\t\t\t\tEvaluateTargetHealth to true and either no\n\t\t\t\t\t\tAmazon EC2 instances are healthy or the load balancer itself is unhealthy,\n\t\t\t\t\t\tRoute 53 routes queries to other available resources that are healthy, if\n\t\t\t\t\t\tany.

\n

If the environment contains a single Amazon EC2 instance, there are no\n\t\t\t\t\t\tspecial requirements.

\n
\n
ELB load balancers
\n
\n

Health checking behavior depends on the type of load balancer:

\n
    \n
  • \n

    \n Classic Load Balancers: If you\n\t\t\t\t\t\t\t\tspecify an ELB Classic Load Balancer in DNSName,\n\t\t\t\t\t\t\t\tElastic Load Balancing routes queries only to the healthy Amazon EC2\n\t\t\t\t\t\t\t\tinstances that are registered with the load balancer. If you set\n\t\t\t\t\t\t\t\t\tEvaluateTargetHealth to true and\n\t\t\t\t\t\t\t\teither no EC2 instances are healthy or the load balancer itself is\n\t\t\t\t\t\t\t\tunhealthy, Route 53 routes queries to other resources.

    \n
  • \n
  • \n

    \n Application and Network Load\n\t\t\t\t\t\t\t\t\tBalancers: If you specify an ELB Application or\n\t\t\t\t\t\t\t\tNetwork Load Balancer and you set EvaluateTargetHealth\n\t\t\t\t\t\t\t\tto true, Route 53 routes queries to the load balancer\n\t\t\t\t\t\t\t\tbased on the health of the target groups that are associated with\n\t\t\t\t\t\t\t\tthe load balancer:

    \n
      \n
    • \n

      For an Application or Network Load Balancer to be\n\t\t\t\t\t\t\t\t\t\tconsidered healthy, every target group that contains targets\n\t\t\t\t\t\t\t\t\t\tmust contain at least one healthy target. If any target\n\t\t\t\t\t\t\t\t\t\tgroup contains only unhealthy targets, the load balancer is\n\t\t\t\t\t\t\t\t\t\tconsidered unhealthy, and Route 53 routes queries to other\n\t\t\t\t\t\t\t\t\t\tresources.

      \n
    • \n
    • \n

      A target group that has no registered targets is\n\t\t\t\t\t\t\t\t\t\tconsidered unhealthy.

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

When you create a load balancer, you configure settings for Elastic\n\t\t\t\t\t\t\tLoad Balancing health checks; they're not Route 53 health checks, but\n\t\t\t\t\t\t\tthey perform a similar function. Do not create Route 53 health checks\n\t\t\t\t\t\t\tfor the EC2 instances that you register with an ELB load balancer.\n\t\t\t\t\t\t

\n
\n
\n
S3 buckets
\n
\n

There are no special requirements for setting\n\t\t\t\t\t\t\tEvaluateTargetHealth to true when the alias\n\t\t\t\t\t\ttarget is an S3 bucket.

\n
\n
Other records in the same hosted zone
\n
\n

If the Amazon Web Services resource that you specify in\n\t\t\t\t\t\t\tDNSName is a record or a group of records (for example, a\n\t\t\t\t\t\tgroup of weighted records) but is not another alias record, we recommend\n\t\t\t\t\t\tthat you associate a health check with all of the records in the alias\n\t\t\t\t\t\ttarget. For more information, see What Happens When You Omit Health Checks? in the\n\t\t\t\t\t\t\tAmazon Route 53 Developer Guide.

\n
\n
\n

For more information and examples, see Amazon Route 53 Health Checks\n\t\t\t\tand DNS Failover in the Amazon Route 53 Developer\n\t\t\tGuide.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

\n Alias resource record sets only: Information about the Amazon Web Services resource, such as a CloudFront distribution or an Amazon S3 bucket, that\n\t\t\tyou want to route traffic to.

\n\t\t

When creating resource record sets for a private hosted zone, note the\n\t\t\tfollowing:

\n\t\t " + "smithy.api#documentation": "

\n Alias resource record sets only: Information about the Amazon Web Services resource, such as a CloudFront distribution or an Amazon S3 bucket, that\n\t\t\tyou want to route traffic to.

\n

When creating resource record sets for a private hosted zone, note the\n\t\t\tfollowing:

\n " } }, "com.amazonaws.route53#AssociateVPCComment": { @@ -2098,7 +2089,7 @@ } ], "traits": { - "smithy.api#documentation": "

Associates an Amazon VPC with a private hosted zone.

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

To perform the association, the VPC and the private hosted zone must already\n\t\t\t\texist. You can't convert a public hosted zone into a private hosted zone.

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

If you want to associate a VPC that was created by using one Amazon Web Services account with a private hosted zone that was created by using a\n\t\t\t\tdifferent account, the Amazon Web Services account that created the private hosted\n\t\t\t\tzone must first submit a CreateVPCAssociationAuthorization request.\n\t\t\t\tThen the account that created the VPC must submit an\n\t\t\t\t\tAssociateVPCWithHostedZone request.

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

When granting access, the hosted zone and the Amazon VPC must belong to\n\t\t\t\tthe same partition. A partition is a group of Amazon Web Services Regions. Each\n\t\t\t\t\tAmazon Web Services account is scoped to one partition.

\n\t\t\t

The following are the supported partitions:

\n\t\t\t
    \n
  • \n\t\t\t\t\t

    \n aws - Amazon Web Services Regions

    \n\t\t\t\t
  • \n
  • \n\t\t\t\t\t

    \n aws-cn - China Regions

    \n\t\t\t\t
  • \n
  • \n\t\t\t\t\t

    \n aws-us-gov - Amazon Web Services GovCloud (US) Region

    \n\t\t\t\t
  • \n
\n\t\t\t

For more information, see Access Management\n\t\t\t\tin the Amazon Web Services General Reference.

\n\t\t
", + "smithy.api#documentation": "

Associates an Amazon VPC with a private hosted zone.

\n \n

To perform the association, the VPC and the private hosted zone must already\n\t\t\t\texist. You can't convert a public hosted zone into a private hosted zone.

\n
\n \n

If you want to associate a VPC that was created by using one Amazon Web Services account with a private hosted zone that was created by using a\n\t\t\t\tdifferent account, the Amazon Web Services account that created the private hosted\n\t\t\t\tzone must first submit a CreateVPCAssociationAuthorization request.\n\t\t\t\tThen the account that created the VPC must submit an\n\t\t\t\t\tAssociateVPCWithHostedZone request.

\n
\n \n

When granting access, the hosted zone and the Amazon VPC must belong to\n\t\t\t\tthe same partition. A partition is a group of Amazon Web Services Regions. Each\n\t\t\t\t\tAmazon Web Services account is scoped to one partition.

\n

The following are the supported partitions:

\n
    \n
  • \n

    \n aws - Amazon Web Services Regions

    \n
  • \n
  • \n

    \n aws-cn - China Regions

    \n
  • \n
  • \n

    \n aws-us-gov - Amazon Web Services GovCloud (US) Region

    \n
  • \n
\n

For more information, see Access Management\n\t\t\t\tin the Amazon Web Services General Reference.

\n
", "smithy.api#http": { "method": "POST", "uri": "/2013-04-01/hostedzone/{HostedZoneId}/associatevpc", @@ -2112,7 +2103,7 @@ "HostedZoneId": { "target": "com.amazonaws.route53#ResourceId", "traits": { - "smithy.api#documentation": "

The ID of the private hosted zone that you want to associate an Amazon VPC\n\t\t\twith.

\n\t\t

Note that you can't associate a VPC with a hosted zone that doesn't have an existing\n\t\t\tVPC association.

", + "smithy.api#documentation": "

The ID of the private hosted zone that you want to associate an Amazon VPC\n\t\t\twith.

\n

Note that you can't associate a VPC with a hosted zone that doesn't have an existing\n\t\t\tVPC association.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2156,7 +2147,7 @@ "Action": { "target": "com.amazonaws.route53#ChangeAction", "traits": { - "smithy.api#documentation": "

The action to perform:

\n\t\t
    \n
  • \n\t\t\t\t

    \n CREATE: Creates a resource record set that has the specified\n\t\t\t\t\tvalues.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n DELETE: Deletes a existing resource record set.

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

    To delete the resource record set that is associated with a traffic policy\n\t\t\t\t\t\tinstance, use DeleteTrafficPolicyInstance. Amazon Route 53 will delete the\n\t\t\t\t\t\tresource record set automatically. If you delete the resource record set by\n\t\t\t\t\t\tusing ChangeResourceRecordSets, Route 53 doesn't automatically\n\t\t\t\t\t\tdelete the traffic policy instance, and you'll continue to be charged for it\n\t\t\t\t\t\teven though it's no longer in use.

    \n\t\t\t\t
    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n UPSERT: If a resource record set doesn't already exist, Route 53\n\t\t\t\t\tcreates it. If a resource record set does exist, Route 53 updates it with the\n\t\t\t\t\tvalues in the request.

    \n\t\t\t
  • \n
", + "smithy.api#documentation": "

The action to perform:

\n
    \n
  • \n

    \n CREATE: Creates a resource record set that has the specified\n\t\t\t\t\tvalues.

    \n
  • \n
  • \n

    \n DELETE: Deletes a existing resource record set.

    \n \n

    To delete the resource record set that is associated with a traffic policy\n\t\t\t\t\t\tinstance, use DeleteTrafficPolicyInstance. Amazon Route 53 will delete the\n\t\t\t\t\t\tresource record set automatically. If you delete the resource record set by\n\t\t\t\t\t\tusing ChangeResourceRecordSets, Route 53 doesn't automatically\n\t\t\t\t\t\tdelete the traffic policy instance, and you'll continue to be charged for it\n\t\t\t\t\t\teven though it's no longer in use.

    \n
    \n
  • \n
  • \n

    \n UPSERT: If a resource record set doesn't already exist, Route 53\n\t\t\t\t\tcreates it. If a resource record set does exist, Route 53 updates it with the\n\t\t\t\t\tvalues in the request.

    \n
  • \n
", "smithy.api#required": {} } }, @@ -2245,7 +2236,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates, changes, or deletes CIDR blocks within a collection. Contains authoritative\n\t\t\tIP information mapping blocks to one or multiple locations.

\n\t\t

A change request can update multiple locations in a collection at a time, which is\n\t\t\thelpful if you want to move one or more CIDR blocks from one location to another in one\n\t\t\ttransaction, without downtime.

\n\t\t

\n Limits\n

\n\t\t

The max number of CIDR blocks included in the request is 1000. As a result, big updates\n\t\t\trequire multiple API calls.

\n\t\t

\n PUT and DELETE_IF_EXISTS\n

\n\t\t

Use ChangeCidrCollection to perform the following actions:

\n\t\t
    \n
  • \n\t\t\t\t

    \n PUT: Create a CIDR block within the specified collection.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n DELETE_IF_EXISTS: Delete an existing CIDR block from the\n\t\t\t\t\tcollection.

    \n\t\t\t
  • \n
", + "smithy.api#documentation": "

Creates, changes, or deletes CIDR blocks within a collection. Contains authoritative\n\t\t\tIP information mapping blocks to one or multiple locations.

\n

A change request can update multiple locations in a collection at a time, which is\n\t\t\thelpful if you want to move one or more CIDR blocks from one location to another in one\n\t\t\ttransaction, without downtime.

\n

\n Limits\n

\n

The max number of CIDR blocks included in the request is 1000. As a result, big updates\n\t\t\trequire multiple API calls.

\n

\n PUT and DELETE_IF_EXISTS\n

\n

Use ChangeCidrCollection to perform the following actions:

\n
    \n
  • \n

    \n PUT: Create a CIDR block within the specified collection.

    \n
  • \n
  • \n

    \n DELETE_IF_EXISTS: Delete an existing CIDR block from the\n\t\t\t\t\tcollection.

    \n
  • \n
", "smithy.api#http": { "method": "POST", "uri": "/2013-04-01/cidrcollection/{Id}", @@ -2267,7 +2258,7 @@ "CollectionVersion": { "target": "com.amazonaws.route53#CollectionVersion", "traits": { - "smithy.api#documentation": "

A sequential counter that Amazon RouteΒ 53 sets to 1 when you create a\n\t\t\tcollection and increments it by 1 each time you update the collection.

\n\t\t

We recommend that you use ListCidrCollection to get the current value of\n\t\t\t\tCollectionVersion for the collection that you want to update, and then\n\t\t\tinclude that value with the change request. This prevents RouteΒ 53 from\n\t\t\toverwriting an intervening update:

\n\t\t
    \n
  • \n\t\t\t\t

    If the value in the request matches the value of\n\t\t\t\t\t\tCollectionVersion in the collection, RouteΒ 53 updates\n\t\t\t\t\tthe collection.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    If the value of CollectionVersion in the collection is greater\n\t\t\t\t\tthan the value in the request, the collection was changed after you got the\n\t\t\t\t\tversion number. RouteΒ 53 does not update the collection, and it\n\t\t\t\t\treturns a CidrCollectionVersionMismatch error.

    \n\t\t\t
  • \n
" + "smithy.api#documentation": "

A sequential counter that Amazon RouteΒ 53 sets to 1 when you create a\n\t\t\tcollection and increments it by 1 each time you update the collection.

\n

We recommend that you use ListCidrCollection to get the current value of\n\t\t\t\tCollectionVersion for the collection that you want to update, and then\n\t\t\tinclude that value with the change request. This prevents RouteΒ 53 from\n\t\t\toverwriting an intervening update:

\n
    \n
  • \n

    If the value in the request matches the value of\n\t\t\t\t\t\tCollectionVersion in the collection, RouteΒ 53 updates\n\t\t\t\t\tthe collection.

    \n
  • \n
  • \n

    If the value of CollectionVersion in the collection is greater\n\t\t\t\t\tthan the value in the request, the collection was changed after you got the\n\t\t\t\t\tversion number. RouteΒ 53 does not update the collection, and it\n\t\t\t\t\treturns a CidrCollectionVersionMismatch error.

    \n
  • \n
" } }, "Changes": { @@ -2361,7 +2352,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates, changes, or deletes a resource record set, which contains authoritative DNS\n\t\t\tinformation for a specified domain name or subdomain name. For example, you can use\n\t\t\t\tChangeResourceRecordSets to create a resource record set that routes\n\t\t\ttraffic for test.example.com to a web server that has an IP address of\n\t\t\t192.0.2.44.

\n\t\t

\n Deleting Resource Record Sets\n

\n\t\t

To delete a resource record set, you must specify all the same values that you\n\t\t\tspecified when you created it.

\n\t\t

\n Change Batches and Transactional Changes\n

\n\t\t

The request body must include a document with a\n\t\t\t\tChangeResourceRecordSetsRequest element. The request body contains a\n\t\t\tlist of change items, known as a change batch. Change batches are considered\n\t\t\ttransactional changes. Route 53 validates the changes in the request and then either\n\t\t\tmakes all or none of the changes in the change batch request. This ensures that DNS\n\t\t\trouting isn't adversely affected by partial changes to the resource record sets in a\n\t\t\thosted zone.

\n\t\t

For example, suppose a change batch request contains two changes: it deletes the\n\t\t\t\tCNAME resource record set for www.example.com and creates an alias\n\t\t\tresource record set for www.example.com. If validation for both records succeeds, Route\n\t\t\t53 deletes the first resource record set and creates the second resource record set in a\n\t\t\tsingle operation. If validation for either the DELETE or the\n\t\t\t\tCREATE action fails, then the request is canceled, and the original\n\t\t\t\tCNAME record continues to exist.

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

If you try to delete the same resource record set more than once in a single\n\t\t\t\tchange batch, Route 53 returns an InvalidChangeBatch error.

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

\n Traffic Flow\n

\n\t\t

To create resource record sets for complex routing configurations, use either the\n\t\t\ttraffic flow visual editor in the Route 53 console or the API actions for traffic\n\t\t\tpolicies and traffic policy instances. Save the configuration as a traffic policy, then\n\t\t\tassociate the traffic policy with one or more domain names (such as example.com) or\n\t\t\tsubdomain names (such as www.example.com), in the same hosted zone or in multiple hosted\n\t\t\tzones. You can roll back the updates if the new configuration isn't performing as\n\t\t\texpected. For more information, see Using Traffic Flow to Route\n\t\t\t\tDNS Traffic in the Amazon Route 53 Developer\n\t\t\tGuide.

\n\t\t

\n Create, Delete, and Upsert\n

\n\t\t

Use ChangeResourceRecordsSetsRequest to perform the following\n\t\t\tactions:

\n\t\t
    \n
  • \n\t\t\t\t

    \n CREATE: Creates a resource record set that has the specified\n\t\t\t\t\tvalues.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n DELETE: Deletes an existing resource record set that has the\n\t\t\t\t\tspecified values.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n UPSERT: If a resource set exists Route 53 updates it with the\n\t\t\t\t\tvalues in the request.

    \n\t\t\t
  • \n
\n\t\t

\n Syntaxes for Creating, Updating, and Deleting Resource Record\n\t\t\t\tSets\n

\n\t\t

The syntax for a request depends on the type of resource record set that you want to\n\t\t\tcreate, delete, or update, such as weighted, alias, or failover. The XML elements in\n\t\t\tyour request must appear in the order listed in the syntax.

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

For an example for each type of resource record set, see \"Examples.\"

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

Don't refer to the syntax in the \"Parameter Syntax\" section, which includes\n\t\t\tall of the elements for every kind of resource record set that you can create, delete,\n\t\t\tor update by using ChangeResourceRecordSets.

\n\t\t

\n Change Propagation to Route 53 DNS Servers\n

\n\t\t

When you submit a ChangeResourceRecordSets request, Route 53 propagates\n\t\t\tyour changes to all of the Route 53 authoritative DNS servers. While your changes are\n\t\t\tpropagating, GetChange returns a status of PENDING. When\n\t\t\tpropagation is complete, GetChange returns a status of INSYNC.\n\t\t\tChanges generally propagate to all Route 53 name servers within 60 seconds. For more\n\t\t\tinformation, see GetChange.

\n\t\t

\n Limits on ChangeResourceRecordSets Requests\n

\n\t\t

For information about the limits on a ChangeResourceRecordSets request,\n\t\t\tsee Limits in the Amazon Route 53 Developer Guide.

", + "smithy.api#documentation": "

Creates, changes, or deletes a resource record set, which contains authoritative DNS\n\t\t\tinformation for a specified domain name or subdomain name. For example, you can use\n\t\t\t\tChangeResourceRecordSets to create a resource record set that routes\n\t\t\ttraffic for test.example.com to a web server that has an IP address of\n\t\t\t192.0.2.44.

\n

\n Deleting Resource Record Sets\n

\n

To delete a resource record set, you must specify all the same values that you\n\t\t\tspecified when you created it.

\n

\n Change Batches and Transactional Changes\n

\n

The request body must include a document with a\n\t\t\t\tChangeResourceRecordSetsRequest element. The request body contains a\n\t\t\tlist of change items, known as a change batch. Change batches are considered\n\t\t\ttransactional changes. Route 53 validates the changes in the request and then either\n\t\t\tmakes all or none of the changes in the change batch request. This ensures that DNS\n\t\t\trouting isn't adversely affected by partial changes to the resource record sets in a\n\t\t\thosted zone.

\n

For example, suppose a change batch request contains two changes: it deletes the\n\t\t\t\tCNAME resource record set for www.example.com and creates an alias\n\t\t\tresource record set for www.example.com. If validation for both records succeeds, Route\n\t\t\t53 deletes the first resource record set and creates the second resource record set in a\n\t\t\tsingle operation. If validation for either the DELETE or the\n\t\t\t\tCREATE action fails, then the request is canceled, and the original\n\t\t\t\tCNAME record continues to exist.

\n \n

If you try to delete the same resource record set more than once in a single\n\t\t\t\tchange batch, Route 53 returns an InvalidChangeBatch error.

\n
\n

\n Traffic Flow\n

\n

To create resource record sets for complex routing configurations, use either the\n\t\t\ttraffic flow visual editor in the Route 53 console or the API actions for traffic\n\t\t\tpolicies and traffic policy instances. Save the configuration as a traffic policy, then\n\t\t\tassociate the traffic policy with one or more domain names (such as example.com) or\n\t\t\tsubdomain names (such as www.example.com), in the same hosted zone or in multiple hosted\n\t\t\tzones. You can roll back the updates if the new configuration isn't performing as\n\t\t\texpected. For more information, see Using Traffic Flow to Route\n\t\t\t\tDNS Traffic in the Amazon Route 53 Developer\n\t\t\tGuide.

\n

\n Create, Delete, and Upsert\n

\n

Use ChangeResourceRecordsSetsRequest to perform the following\n\t\t\tactions:

\n
    \n
  • \n

    \n CREATE: Creates a resource record set that has the specified\n\t\t\t\t\tvalues.

    \n
  • \n
  • \n

    \n DELETE: Deletes an existing resource record set that has the\n\t\t\t\t\tspecified values.

    \n
  • \n
  • \n

    \n UPSERT: If a resource set exists Route 53 updates it with the\n\t\t\t\t\tvalues in the request.

    \n
  • \n
\n

\n Syntaxes for Creating, Updating, and Deleting Resource Record\n\t\t\t\tSets\n

\n

The syntax for a request depends on the type of resource record set that you want to\n\t\t\tcreate, delete, or update, such as weighted, alias, or failover. The XML elements in\n\t\t\tyour request must appear in the order listed in the syntax.

\n

For an example for each type of resource record set, see \"Examples.\"

\n

Don't refer to the syntax in the \"Parameter Syntax\" section, which includes\n\t\t\tall of the elements for every kind of resource record set that you can create, delete,\n\t\t\tor update by using ChangeResourceRecordSets.

\n

\n Change Propagation to Route 53 DNS Servers\n

\n

When you submit a ChangeResourceRecordSets request, Route 53 propagates\n\t\t\tyour changes to all of the Route 53 authoritative DNS servers. While your changes are\n\t\t\tpropagating, GetChange returns a status of PENDING. When\n\t\t\tpropagation is complete, GetChange returns a status of INSYNC.\n\t\t\tChanges generally propagate to all Route 53 name servers within 60 seconds. For more\n\t\t\tinformation, see GetChange.

\n

\n Limits on ChangeResourceRecordSets Requests\n

\n

For information about the limits on a ChangeResourceRecordSets request,\n\t\t\tsee Limits in the Amazon Route 53 Developer Guide.

", "smithy.api#http": { "method": "POST", "uri": "/2013-04-01/hostedzone/{HostedZoneId}/rrset", @@ -2398,7 +2389,7 @@ "ChangeInfo": { "target": "com.amazonaws.route53#ChangeInfo", "traits": { - "smithy.api#documentation": "

A complex type that contains information about changes made to your hosted\n\t\t\tzone.

\n\t\t

This element contains an ID that you use when performing a GetChange action to get\n\t\t\tdetailed information about the change.

", + "smithy.api#documentation": "

A complex type that contains information about changes made to your hosted\n\t\t\tzone.

\n

This element contains an ID that you use when performing a GetChange action to get\n\t\t\tdetailed information about the change.

", "smithy.api#required": {} } } @@ -2450,7 +2441,7 @@ } ], "traits": { - "smithy.api#documentation": "

Adds, edits, or deletes tags for a health check or a hosted zone.

\n\t\t

For information about using tags for cost allocation, see Using Cost Allocation\n\t\t\t\tTags in the Billing and Cost Management User Guide.

", + "smithy.api#documentation": "

Adds, edits, or deletes tags for a health check or a hosted zone.

\n

For information about using tags for cost allocation, see Using Cost Allocation\n\t\t\t\tTags in the Billing and Cost Management User Guide.

", "smithy.api#http": { "method": "POST", "uri": "/2013-04-01/tags/{ResourceType}/{ResourceId}", @@ -2464,7 +2455,7 @@ "ResourceType": { "target": "com.amazonaws.route53#TagResourceType", "traits": { - "smithy.api#documentation": "

The type of the resource.

\n\t\t
    \n
  • \n\t\t\t\t

    The resource type for health checks is healthcheck.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    The resource type for hosted zones is hostedzone.

    \n\t\t\t
  • \n
", + "smithy.api#documentation": "

The type of the resource.

\n
    \n
  • \n

    The resource type for health checks is healthcheck.

    \n
  • \n
  • \n

    The resource type for hosted zones is hostedzone.

    \n
  • \n
", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2480,7 +2471,7 @@ "AddTags": { "target": "com.amazonaws.route53#TagList", "traits": { - "smithy.api#documentation": "

A complex type that contains a list of the tags that you want to add to the specified\n\t\t\thealth check or hosted zone and/or the tags that you want to edit Value\n\t\t\tfor.

\n\t\t

You can add a maximum of 10 tags to a health check or a hosted zone.

" + "smithy.api#documentation": "

A complex type that contains a list of the tags that you want to add to the specified\n\t\t\thealth check or hosted zone and/or the tags that you want to edit Value\n\t\t\tfor.

\n

You can add a maximum of 10 tags to a health check or a hosted zone.

" } }, "RemoveTagKeys": { @@ -2777,7 +2768,7 @@ } }, "traits": { - "smithy.api#documentation": "

The object that is specified in resource record set object when you are linking a\n\t\t\tresource record set to a CIDR location.

\n\t\t

A LocationName with an asterisk β€œ*” can be used to create a default CIDR\n\t\t\trecord. CollectionId is still required for default record.

" + "smithy.api#documentation": "

The object that is specified in resource record set object when you are linking a\n\t\t\tresource record set to a CIDR location.

\n

A LocationName with an asterisk β€œ*” can be used to create a default CIDR\n\t\t\trecord. CollectionId is still required for default record.

" } }, "com.amazonaws.route53#CloudWatchAlarmConfiguration": { @@ -2933,6 +2924,12 @@ "smithy.api#enumValue": "ap-south-1" } }, + "ap_south_2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ap-south-2" + } + }, "ap_southeast_1": { "target": "smithy.api#Unit", "traits": { @@ -3005,6 +3002,12 @@ "smithy.api#enumValue": "eu-south-1" } }, + "eu_south_2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "eu-south-2" + } + }, "us_gov_west_1": { "target": "smithy.api#Unit", "traits": { @@ -3034,6 +3037,12 @@ "traits": { "smithy.api#enumValue": "us-isob-east-1" } + }, + "ap_southeast_4": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ap-southeast-4" + } } }, "traits": { @@ -3152,7 +3161,7 @@ } }, "traits": { - "smithy.api#documentation": "

The cause of this error depends on the operation that you're performing:

\n\t\t
    \n
  • \n\t\t\t\t

    \n Create a public hosted zone: Two hosted zones\n\t\t\t\t\tthat have the same name or that have a parent/child relationship (example.com\n\t\t\t\t\tand test.example.com) can't have any common name servers. You tried to create a\n\t\t\t\t\thosted zone that has the same name as an existing hosted zone or that's the\n\t\t\t\t\tparent or child of an existing hosted zone, and you specified a delegation set\n\t\t\t\t\tthat shares one or more name servers with the existing hosted zone. For more\n\t\t\t\t\tinformation, see CreateReusableDelegationSet.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n Create a private hosted zone: A hosted zone\n\t\t\t\t\twith the specified name already exists and is already associated with the Amazon\n\t\t\t\t\tVPC that you specified.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n Associate VPCs with a private hosted zone:\n\t\t\t\t\tThe VPC that you specified is already associated with another hosted zone that\n\t\t\t\t\thas the same name.

    \n\t\t\t
  • \n
", + "smithy.api#documentation": "

The cause of this error depends on the operation that you're performing:

\n
    \n
  • \n

    \n Create a public hosted zone: Two hosted zones\n\t\t\t\t\tthat have the same name or that have a parent/child relationship (example.com\n\t\t\t\t\tand test.example.com) can't have any common name servers. You tried to create a\n\t\t\t\t\thosted zone that has the same name as an existing hosted zone or that's the\n\t\t\t\t\tparent or child of an existing hosted zone, and you specified a delegation set\n\t\t\t\t\tthat shares one or more name servers with the existing hosted zone. For more\n\t\t\t\t\tinformation, see CreateReusableDelegationSet.

    \n
  • \n
  • \n

    \n Create a private hosted zone: A hosted zone\n\t\t\t\t\twith the specified name already exists and is already associated with the Amazon\n\t\t\t\t\tVPC that you specified.

    \n
  • \n
  • \n

    \n Associate VPCs with a private hosted zone:\n\t\t\t\t\tThe VPC that you specified is already associated with another hosted zone that\n\t\t\t\t\thas the same name.

    \n
  • \n
", "smithy.api#error": "client" } }, @@ -3260,7 +3269,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a new health check.

\n\t\t

For information about adding health checks to resource record sets, see HealthCheckId in ChangeResourceRecordSets.

\n\t\t

\n ELB Load Balancers\n

\n\t\t

If you're registering EC2 instances with an Elastic Load Balancing (ELB) load\n\t\t\tbalancer, do not create Amazon Route 53 health checks for the EC2 instances. When you\n\t\t\tregister an EC2 instance with a load balancer, you configure settings for an ELB health\n\t\t\tcheck, which performs a similar function to a Route 53 health check.

\n\t\t

\n Private Hosted Zones\n

\n\t\t

You can associate health checks with failover resource record sets in a private hosted\n\t\t\tzone. Note the following:

\n\t\t
    \n
  • \n\t\t\t\t

    Route 53 health checkers are outside the VPC. To check the health of an\n\t\t\t\t\tendpoint within a VPC by IP address, you must assign a public IP address to the\n\t\t\t\t\tinstance in the VPC.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    You can configure a health checker to check the health of an external resource\n\t\t\t\t\tthat the instance relies on, such as a database server.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    You can create a CloudWatch metric, associate an alarm with the metric, and\n\t\t\t\t\tthen create a health check that is based on the state of the alarm. For example,\n\t\t\t\t\tyou might create a CloudWatch metric that checks the status of the Amazon EC2\n\t\t\t\t\t\tStatusCheckFailed metric, add an alarm to the metric, and then\n\t\t\t\t\tcreate a health check that is based on the state of the alarm. For information\n\t\t\t\t\tabout creating CloudWatch metrics and alarms by using the CloudWatch console,\n\t\t\t\t\tsee the Amazon\n\t\t\t\t\t\tCloudWatch User Guide.

    \n\t\t\t
  • \n
", + "smithy.api#documentation": "

Creates a new health check.

\n

For information about adding health checks to resource record sets, see HealthCheckId in ChangeResourceRecordSets.

\n

\n ELB Load Balancers\n

\n

If you're registering EC2 instances with an Elastic Load Balancing (ELB) load\n\t\t\tbalancer, do not create Amazon Route 53 health checks for the EC2 instances. When you\n\t\t\tregister an EC2 instance with a load balancer, you configure settings for an ELB health\n\t\t\tcheck, which performs a similar function to a Route 53 health check.

\n

\n Private Hosted Zones\n

\n

You can associate health checks with failover resource record sets in a private hosted\n\t\t\tzone. Note the following:

\n
    \n
  • \n

    Route 53 health checkers are outside the VPC. To check the health of an\n\t\t\t\t\tendpoint within a VPC by IP address, you must assign a public IP address to the\n\t\t\t\t\tinstance in the VPC.

    \n
  • \n
  • \n

    You can configure a health checker to check the health of an external resource\n\t\t\t\t\tthat the instance relies on, such as a database server.

    \n
  • \n
  • \n

    You can create a CloudWatch metric, associate an alarm with the metric, and\n\t\t\t\t\tthen create a health check that is based on the state of the alarm. For example,\n\t\t\t\t\tyou might create a CloudWatch metric that checks the status of the Amazon EC2\n\t\t\t\t\t\tStatusCheckFailed metric, add an alarm to the metric, and then\n\t\t\t\t\tcreate a health check that is based on the state of the alarm. For information\n\t\t\t\t\tabout creating CloudWatch metrics and alarms by using the CloudWatch console,\n\t\t\t\t\tsee the Amazon\n\t\t\t\t\t\tCloudWatch User Guide.

    \n
  • \n
", "smithy.api#http": { "method": "POST", "uri": "/2013-04-01/healthcheck", @@ -3274,7 +3283,7 @@ "CallerReference": { "target": "com.amazonaws.route53#HealthCheckNonce", "traits": { - "smithy.api#documentation": "

A unique string that identifies the request and that allows you to retry a failed\n\t\t\t\tCreateHealthCheck request without the risk of creating two identical\n\t\t\thealth checks:

\n\t\t
    \n
  • \n\t\t\t\t

    If you send a CreateHealthCheck request with the same\n\t\t\t\t\t\tCallerReference and settings as a previous request, and if the\n\t\t\t\t\thealth check doesn't exist, Amazon Route 53 creates the health check. If the\n\t\t\t\t\thealth check does exist, Route 53 returns the settings for the existing health\n\t\t\t\t\tcheck.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    If you send a CreateHealthCheck request with the same\n\t\t\t\t\t\tCallerReference as a deleted health check, regardless of the\n\t\t\t\t\tsettings, Route 53 returns a HealthCheckAlreadyExists error.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    If you send a CreateHealthCheck request with the same\n\t\t\t\t\t\tCallerReference as an existing health check but with different\n\t\t\t\t\tsettings, Route 53 returns a HealthCheckAlreadyExists error.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    If you send a CreateHealthCheck request with a unique\n\t\t\t\t\t\tCallerReference but settings identical to an existing health\n\t\t\t\t\tcheck, Route 53 creates the health check.

    \n\t\t\t
  • \n
", + "smithy.api#documentation": "

A unique string that identifies the request and that allows you to retry a failed\n\t\t\t\tCreateHealthCheck request without the risk of creating two identical\n\t\t\thealth checks:

\n
    \n
  • \n

    If you send a CreateHealthCheck request with the same\n\t\t\t\t\t\tCallerReference and settings as a previous request, and if the\n\t\t\t\t\thealth check doesn't exist, Amazon Route 53 creates the health check. If the\n\t\t\t\t\thealth check does exist, Route 53 returns the settings for the existing health\n\t\t\t\t\tcheck.

    \n
  • \n
  • \n

    If you send a CreateHealthCheck request with the same\n\t\t\t\t\t\tCallerReference as a deleted health check, regardless of the\n\t\t\t\t\tsettings, Route 53 returns a HealthCheckAlreadyExists error.

    \n
  • \n
  • \n

    If you send a CreateHealthCheck request with the same\n\t\t\t\t\t\tCallerReference as an existing health check but with different\n\t\t\t\t\tsettings, Route 53 returns a HealthCheckAlreadyExists error.

    \n
  • \n
  • \n

    If you send a CreateHealthCheck request with a unique\n\t\t\t\t\t\tCallerReference but settings identical to an existing health\n\t\t\t\t\tcheck, Route 53 creates the health check.

    \n
  • \n
", "smithy.api#required": {} } }, @@ -3351,7 +3360,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a new public or private hosted zone. You create records in a public hosted\n\t\t\tzone to define how you want to route traffic on the internet for a domain, such as\n\t\t\texample.com, and its subdomains (apex.example.com, acme.example.com). You create records\n\t\t\tin a private hosted zone to define how you want to route traffic for a domain and its\n\t\t\tsubdomains within one or more Amazon Virtual Private Clouds (Amazon VPCs).

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

You can't convert a public hosted zone to a private hosted zone or vice versa.\n\t\t\t\tInstead, you must create a new hosted zone with the same name and create new\n\t\t\t\tresource record sets.

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

For more information about charges for hosted zones, see Amazon RouteΒ 53 Pricing.

\n\t\t

Note the following:

\n\t\t
    \n
  • \n\t\t\t\t

    You can't create a hosted zone for a top-level domain (TLD) such as\n\t\t\t\t\t.com.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    For public hosted zones, Route 53 automatically creates a default SOA record\n\t\t\t\t\tand four NS records for the zone. For more information about SOA and NS records,\n\t\t\t\t\tsee NS and SOA Records\n\t\t\t\t\t\tthat RouteΒ 53 Creates for a Hosted Zone in the\n\t\t\t\t\t\tAmazon Route 53 Developer Guide.

    \n\t\t\t\t

    If you want to use the same name servers for multiple public hosted zones, you\n\t\t\t\t\tcan optionally associate a reusable delegation set with the hosted zone. See the\n\t\t\t\t\t\tDelegationSetId element.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    If your domain is registered with a registrar other than RouteΒ 53,\n\t\t\t\t\tyou must update the name servers with your registrar to make Route 53 the DNS\n\t\t\t\t\tservice for the domain. For more information, see Migrating DNS Service\n\t\t\t\t\t\tfor an Existing Domain to Amazon RouteΒ 53 in the\n\t\t\t\t\t\tAmazon Route 53 Developer Guide.

    \n\t\t\t
  • \n
\n\t\t

When you submit a CreateHostedZone request, the initial status of the\n\t\t\thosted zone is PENDING. For public hosted zones, this means that the NS and\n\t\t\tSOA records are not yet available on all RouteΒ 53 DNS servers. When the NS and\n\t\t\tSOA records are available, the status of the zone changes to INSYNC.

\n\t\t

The CreateHostedZone request requires the caller to have an\n\t\t\t\tec2:DescribeVpcs permission.

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

When creating private hosted zones, the Amazon VPC must belong to the same\n\t\t\t\tpartition where the hosted zone is created. A partition is a group of Amazon Web Services Regions. Each Amazon Web Services account is scoped to one\n\t\t\t\tpartition.

\n\t\t\t

The following are the supported partitions:

\n\t\t\t
    \n
  • \n\t\t\t\t\t

    \n aws - Amazon Web Services Regions

    \n\t\t\t\t
  • \n
  • \n\t\t\t\t\t

    \n aws-cn - China Regions

    \n\t\t\t\t
  • \n
  • \n\t\t\t\t\t

    \n aws-us-gov - Amazon Web Services GovCloud (US) Region

    \n\t\t\t\t
  • \n
\n\t\t\t

For more information, see Access Management\n\t\t\t\tin the Amazon Web Services General Reference.

\n\t\t
", + "smithy.api#documentation": "

Creates a new public or private hosted zone. You create records in a public hosted\n\t\t\tzone to define how you want to route traffic on the internet for a domain, such as\n\t\t\texample.com, and its subdomains (apex.example.com, acme.example.com). You create records\n\t\t\tin a private hosted zone to define how you want to route traffic for a domain and its\n\t\t\tsubdomains within one or more Amazon Virtual Private Clouds (Amazon VPCs).

\n \n

You can't convert a public hosted zone to a private hosted zone or vice versa.\n\t\t\t\tInstead, you must create a new hosted zone with the same name and create new\n\t\t\t\tresource record sets.

\n
\n

For more information about charges for hosted zones, see Amazon RouteΒ 53 Pricing.

\n

Note the following:

\n
    \n
  • \n

    You can't create a hosted zone for a top-level domain (TLD) such as\n\t\t\t\t\t.com.

    \n
  • \n
  • \n

    For public hosted zones, Route 53 automatically creates a default SOA record\n\t\t\t\t\tand four NS records for the zone. For more information about SOA and NS records,\n\t\t\t\t\tsee NS and SOA Records\n\t\t\t\t\t\tthat RouteΒ 53 Creates for a Hosted Zone in the\n\t\t\t\t\t\tAmazon Route 53 Developer Guide.

    \n

    If you want to use the same name servers for multiple public hosted zones, you\n\t\t\t\t\tcan optionally associate a reusable delegation set with the hosted zone. See the\n\t\t\t\t\t\tDelegationSetId element.

    \n
  • \n
  • \n

    If your domain is registered with a registrar other than RouteΒ 53,\n\t\t\t\t\tyou must update the name servers with your registrar to make Route 53 the DNS\n\t\t\t\t\tservice for the domain. For more information, see Migrating DNS Service\n\t\t\t\t\t\tfor an Existing Domain to Amazon RouteΒ 53 in the\n\t\t\t\t\t\tAmazon Route 53 Developer Guide.

    \n
  • \n
\n

When you submit a CreateHostedZone request, the initial status of the\n\t\t\thosted zone is PENDING. For public hosted zones, this means that the NS and\n\t\t\tSOA records are not yet available on all RouteΒ 53 DNS servers. When the NS and\n\t\t\tSOA records are available, the status of the zone changes to INSYNC.

\n

The CreateHostedZone request requires the caller to have an\n\t\t\t\tec2:DescribeVpcs permission.

\n \n

When creating private hosted zones, the Amazon VPC must belong to the same\n\t\t\t\tpartition where the hosted zone is created. A partition is a group of Amazon Web Services Regions. Each Amazon Web Services account is scoped to one\n\t\t\t\tpartition.

\n

The following are the supported partitions:

\n
    \n
  • \n

    \n aws - Amazon Web Services Regions

    \n
  • \n
  • \n

    \n aws-cn - China Regions

    \n
  • \n
  • \n

    \n aws-us-gov - Amazon Web Services GovCloud (US) Region

    \n
  • \n
\n

For more information, see Access Management\n\t\t\t\tin the Amazon Web Services General Reference.

\n
", "smithy.api#http": { "method": "POST", "uri": "/2013-04-01/hostedzone", @@ -3365,14 +3374,14 @@ "Name": { "target": "com.amazonaws.route53#DNSName", "traits": { - "smithy.api#documentation": "

The name of the domain. Specify a fully qualified domain name, for example,\n\t\t\t\twww.example.com. The trailing dot is optional; Amazon RouteΒ 53 assumes that the domain name is fully qualified. This means that\n\t\t\t\tRouteΒ 53 treats www.example.com (without a trailing\n\t\t\tdot) and www.example.com. (with a trailing dot) as\n\t\t\tidentical.

\n\t\t

If you're creating a public hosted zone, this is the name you have registered with\n\t\t\tyour DNS registrar. If your domain name is registered with a registrar other than\n\t\t\t\tRouteΒ 53, change the name servers for your domain to the set of\n\t\t\t\tNameServers that CreateHostedZone returns in\n\t\t\t\tDelegationSet.

", + "smithy.api#documentation": "

The name of the domain. Specify a fully qualified domain name, for example,\n\t\t\t\twww.example.com. The trailing dot is optional; Amazon RouteΒ 53 assumes that the domain name is fully qualified. This means that\n\t\t\t\tRouteΒ 53 treats www.example.com (without a trailing\n\t\t\tdot) and www.example.com. (with a trailing dot) as\n\t\t\tidentical.

\n

If you're creating a public hosted zone, this is the name you have registered with\n\t\t\tyour DNS registrar. If your domain name is registered with a registrar other than\n\t\t\t\tRouteΒ 53, change the name servers for your domain to the set of\n\t\t\t\tNameServers that CreateHostedZone returns in\n\t\t\t\tDelegationSet.

", "smithy.api#required": {} } }, "VPC": { "target": "com.amazonaws.route53#VPC", "traits": { - "smithy.api#documentation": "

(Private hosted zones only) A complex type that contains information about the Amazon\n\t\t\tVPC that you're associating with this hosted zone.

\n\t\t

You can specify only one Amazon VPC when you create a private hosted zone. If you are\n\t\t\tassociating a VPC with a hosted zone with this request, the paramaters\n\t\t\t\tVPCId and VPCRegion are also required.

\n\t\t

To associate additional Amazon VPCs with the hosted zone, use AssociateVPCWithHostedZone after you create a hosted zone.

" + "smithy.api#documentation": "

(Private hosted zones only) A complex type that contains information about the Amazon\n\t\t\tVPC that you're associating with this hosted zone.

\n

You can specify only one Amazon VPC when you create a private hosted zone. If you are\n\t\t\tassociating a VPC with a hosted zone with this request, the paramaters\n\t\t\t\tVPCId and VPCRegion are also required.

\n

To associate additional Amazon VPCs with the hosted zone, use AssociateVPCWithHostedZone after you create a hosted zone.

" } }, "CallerReference": { @@ -3385,7 +3394,7 @@ "HostedZoneConfig": { "target": "com.amazonaws.route53#HostedZoneConfig", "traits": { - "smithy.api#documentation": "

(Optional) A complex type that contains the following optional values:

\n\t\t
    \n
  • \n\t\t\t\t

    For public and private hosted zones, an optional comment

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    For private hosted zones, an optional PrivateZone element

    \n\t\t\t
  • \n
\n\t\t

If you don't specify a comment or the PrivateZone element, omit\n\t\t\t\tHostedZoneConfig and the other elements.

" + "smithy.api#documentation": "

(Optional) A complex type that contains the following optional values:

\n
    \n
  • \n

    For public and private hosted zones, an optional comment

    \n
  • \n
  • \n

    For private hosted zones, an optional PrivateZone element

    \n
  • \n
\n

If you don't specify a comment or the PrivateZone element, omit\n\t\t\t\tHostedZoneConfig and the other elements.

" } }, "DelegationSetId": { @@ -3511,7 +3520,7 @@ "KeyManagementServiceArn": { "target": "com.amazonaws.route53#SigningKeyString", "traits": { - "smithy.api#documentation": "

The Amazon resource name (ARN) for a customer managed key in Key Management Service\n\t\t\t\t(KMS). The KeyManagementServiceArn must be unique for\n\t\t\teach key-signing key (KSK) in a single hosted zone. To see an example of\n\t\t\t\tKeyManagementServiceArn that grants the correct permissions for DNSSEC,\n\t\t\tscroll down to Example.

\n\t\t

You must configure the customer managed customer managed key as follows:

\n\t\t
\n
Status
\n
\n\t\t\t\t\t

Enabled

\n\t\t\t\t
\n
Key spec
\n
\n\t\t\t\t\t

ECC_NIST_P256

\n\t\t\t\t
\n
Key usage
\n
\n\t\t\t\t\t

Sign and verify

\n\t\t\t\t
\n
Key policy
\n
\n\t\t\t\t\t

The key policy must give permission for the following actions:

\n\t\t\t\t\t
    \n
  • \n\t\t\t\t\t\t\t

    DescribeKey

    \n\t\t\t\t\t\t
  • \n
  • \n\t\t\t\t\t\t\t

    GetPublicKey

    \n\t\t\t\t\t\t
  • \n
  • \n\t\t\t\t\t\t\t

    Sign

    \n\t\t\t\t\t\t
  • \n
\n\t\t\t\t\t

The key policy must also include the Amazon Route 53 service in the\n\t\t\t\t\t\tprincipal for your account. Specify the following:

\n\t\t\t\t\t
    \n
  • \n\t\t\t\t\t\t\t

    \n \"Service\": \"dnssec-route53.amazonaws.com\"\n

    \n\t\t\t\t\t\t
  • \n
\n\t\t\t\t
\n
\n\t\t

For more information about working with a customer managed key in KMS, see Key Management Service concepts.

", + "smithy.api#documentation": "

The Amazon resource name (ARN) for a customer managed key in Key Management Service\n\t\t\t\t(KMS). The KeyManagementServiceArn must be unique for\n\t\t\teach key-signing key (KSK) in a single hosted zone. To see an example of\n\t\t\t\tKeyManagementServiceArn that grants the correct permissions for DNSSEC,\n\t\t\tscroll down to Example.

\n

You must configure the customer managed customer managed key as follows:

\n
\n
Status
\n
\n

Enabled

\n
\n
Key spec
\n
\n

ECC_NIST_P256

\n
\n
Key usage
\n
\n

Sign and verify

\n
\n
Key policy
\n
\n

The key policy must give permission for the following actions:

\n
    \n
  • \n

    DescribeKey

    \n
  • \n
  • \n

    GetPublicKey

    \n
  • \n
  • \n

    Sign

    \n
  • \n
\n

The key policy must also include the Amazon Route 53 service in the\n\t\t\t\t\t\tprincipal for your account. Specify the following:

\n
    \n
  • \n

    \n \"Service\": \"dnssec-route53.amazonaws.com\"\n

    \n
  • \n
\n
\n
\n

For more information about working with a customer managed key in KMS, see Key Management Service concepts.

", "smithy.api#required": {} } }, @@ -3586,7 +3595,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a configuration for DNS query logging. After you create a query logging\n\t\t\tconfiguration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch Logs\n\t\t\tlog group.

\n\t\t

DNS query logs contain information about the queries that Route 53 receives for a\n\t\t\tspecified public hosted zone, such as the following:

\n\t\t
    \n
  • \n\t\t\t\t

    Route 53 edge location that responded to the DNS query

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    Domain or subdomain that was requested

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    DNS record type, such as A or AAAA

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    DNS response code, such as NoError or\n\t\t\t\t\tServFail\n

    \n\t\t\t
  • \n
\n\t\t
\n
Log Group and Resource Policy
\n
\n\t\t\t\t\t

Before you create a query logging configuration, perform the following\n\t\t\t\t\t\toperations.

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

If you create a query logging configuration using the Route 53\n\t\t\t\t\t\t\tconsole, Route 53 performs these operations automatically.

\n\t\t\t\t\t
\n\t\t\t\t\t
    \n
  1. \n\t\t\t\t\t\t\t

    Create a CloudWatch Logs log group, and make note of the ARN,\n\t\t\t\t\t\t\t\twhich you specify when you create a query logging configuration.\n\t\t\t\t\t\t\t\tNote the following:

    \n\t\t\t\t\t\t\t
      \n
    • \n\t\t\t\t\t\t\t\t\t

      You must create the log group in the us-east-1\n\t\t\t\t\t\t\t\t\t\tregion.

      \n\t\t\t\t\t\t\t\t
    • \n
    • \n\t\t\t\t\t\t\t\t\t

      You must use the same Amazon Web Services account to create\n\t\t\t\t\t\t\t\t\t\tthe log group and the hosted zone that you want to configure\n\t\t\t\t\t\t\t\t\t\tquery logging for.

      \n\t\t\t\t\t\t\t\t
    • \n
    • \n\t\t\t\t\t\t\t\t\t

      When you create log groups for query logging, we recommend\n\t\t\t\t\t\t\t\t\t\tthat you use a consistent prefix, for example:

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

      \n /aws/route53/hosted zone\n\t\t\t\t\t\t\t\t\t\t\tname\n \n

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

      In the next step, you'll create a resource policy, which\n\t\t\t\t\t\t\t\t\t\tcontrols access to one or more log groups and the associated\n\t\t\t\t\t\t\t\t\t\t\tAmazon Web Services resources, such as Route 53 hosted\n\t\t\t\t\t\t\t\t\t\tzones. There's a limit on the number of resource policies\n\t\t\t\t\t\t\t\t\t\tthat you can create, so we recommend that you use a\n\t\t\t\t\t\t\t\t\t\tconsistent prefix so you can use the same resource policy\n\t\t\t\t\t\t\t\t\t\tfor all the log groups that you create for query\n\t\t\t\t\t\t\t\t\t\tlogging.

      \n\t\t\t\t\t\t\t\t
    • \n
    \n\t\t\t\t\t\t
  2. \n
  3. \n\t\t\t\t\t\t\t

    Create a CloudWatch Logs resource policy, and give it the\n\t\t\t\t\t\t\t\tpermissions that Route 53 needs to create log streams and to send\n\t\t\t\t\t\t\t\tquery logs to log streams. For the value of Resource,\n\t\t\t\t\t\t\t\tspecify the ARN for the log group that you created in the previous\n\t\t\t\t\t\t\t\tstep. To use the same resource policy for all the CloudWatch Logs\n\t\t\t\t\t\t\t\tlog groups that you created for query logging configurations,\n\t\t\t\t\t\t\t\treplace the hosted zone name with *, for\n\t\t\t\t\t\t\t\texample:

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

    \n arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/*\n

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

    To avoid the confused deputy problem, a security issue where an\n\t\t\t\t\t\t\t\tentity without a permission for an action can coerce a\n\t\t\t\t\t\t\t\tmore-privileged entity to perform it, you can optionally limit the\n\t\t\t\t\t\t\t\tpermissions that a service has to a resource in a resource-based\n\t\t\t\t\t\t\t\tpolicy by supplying the following values:

    \n\t\t\t\t\t\t\t
      \n
    • \n\t\t\t\t\t\t\t\t\t

      For aws:SourceArn, supply the hosted zone ARN\n\t\t\t\t\t\t\t\t\t\tused in creating the query logging configuration. For\n\t\t\t\t\t\t\t\t\t\texample, aws:SourceArn:\n\t\t\t\t\t\t\t\t\t\t\tarn:aws:route53:::hostedzone/hosted zone\n\t\t\t\t\t\t\t\t\t\tID.

      \n\t\t\t\t\t\t\t\t
    • \n
    • \n\t\t\t\t\t\t\t\t\t

      For aws:SourceAccount, supply the account ID\n\t\t\t\t\t\t\t\t\t\tfor the account that creates the query logging\n\t\t\t\t\t\t\t\t\t\tconfiguration. For example,\n\t\t\t\t\t\t\t\t\t\t\taws:SourceAccount:111111111111.

      \n\t\t\t\t\t\t\t\t
    • \n
    \n\t\t\t\t\t\t\t

    For more information, see The confused\n\t\t\t\t\t\t\t\t\tdeputy problem in the Amazon Web Services\n\t\t\t\t\t\t\t\t\tIAM User Guide.

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

    You can't use the CloudWatch console to create or edit a\n\t\t\t\t\t\t\t\t\tresource policy. You must use the CloudWatch API, one of the\n\t\t\t\t\t\t\t\t\t\tAmazon Web Services SDKs, or the CLI.

    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
  4. \n
\n\t\t\t\t
\n
Log Streams and Edge Locations
\n
\n\t\t\t\t\t

When Route 53 finishes creating the configuration for DNS query logging,\n\t\t\t\t\t\tit does the following:

\n\t\t\t\t\t
    \n
  • \n\t\t\t\t\t\t\t

    Creates a log stream for an edge location the first time that the\n\t\t\t\t\t\t\t\tedge location responds to DNS queries for the specified hosted zone.\n\t\t\t\t\t\t\t\tThat log stream is used to log all queries that Route 53 responds to\n\t\t\t\t\t\t\t\tfor that edge location.

    \n\t\t\t\t\t\t
  • \n
  • \n\t\t\t\t\t\t\t

    Begins to send query logs to the applicable log stream.

    \n\t\t\t\t\t\t
  • \n
\n\t\t\t\t\t

The name of each log stream is in the following format:

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

\n \n hosted zone ID/edge location\n\t\t\t\t\t\t\t\tcode\n \n

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

The edge location code is a three-letter code and an arbitrarily assigned\n\t\t\t\t\t\tnumber, for example, DFW3. The three-letter code typically corresponds with\n\t\t\t\t\t\tthe International Air Transport Association airport code for an airport near\n\t\t\t\t\t\tthe edge location. (These abbreviations might change in the future.) For a\n\t\t\t\t\t\tlist of edge locations, see \"The Route 53 Global Network\" on the Route 53 Product Details\n\t\t\t\t\t\tpage.

\n\t\t\t\t
\n
Queries That Are Logged
\n
\n\t\t\t\t\t

Query logs contain only the queries that DNS resolvers forward to Route\n\t\t\t\t\t\t53. If a DNS resolver has already cached the response to a query (such as\n\t\t\t\t\t\tthe IP address for a load balancer for example.com), the resolver will\n\t\t\t\t\t\tcontinue to return the cached response. It doesn't forward another query to\n\t\t\t\t\t\tRoute 53 until the TTL for the corresponding resource record set expires.\n\t\t\t\t\t\tDepending on how many DNS queries are submitted for a resource record set,\n\t\t\t\t\t\tand depending on the TTL for that resource record set, query logs might\n\t\t\t\t\t\tcontain information about only one query out of every several thousand\n\t\t\t\t\t\tqueries that are submitted to DNS. For more information about how DNS works,\n\t\t\t\t\t\tsee Routing\n\t\t\t\t\t\t\tInternet Traffic to Your Website or Web Application in the\n\t\t\t\t\t\t\tAmazon Route 53 Developer Guide.

\n\t\t\t\t
\n
Log File Format
\n
\n\t\t\t\t\t

For a list of the values in each query log and the format of each value,\n\t\t\t\t\t\tsee Logging DNS\n\t\t\t\t\t\t\tQueries in the Amazon Route 53 Developer\n\t\t\t\t\t\t\tGuide.

\n\t\t\t\t
\n
Pricing
\n
\n\t\t\t\t\t

For information about charges for query logs, see Amazon CloudWatch Pricing.

\n\t\t\t\t
\n
How to Stop Logging
\n
\n\t\t\t\t\t

If you want Route 53 to stop sending query logs to CloudWatch Logs, delete\n\t\t\t\t\t\tthe query logging configuration. For more information, see DeleteQueryLoggingConfig.

\n\t\t\t\t
\n
", + "smithy.api#documentation": "

Creates a configuration for DNS query logging. After you create a query logging\n\t\t\tconfiguration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch Logs\n\t\t\tlog group.

\n

DNS query logs contain information about the queries that Route 53 receives for a\n\t\t\tspecified public hosted zone, such as the following:

\n
    \n
  • \n

    Route 53 edge location that responded to the DNS query

    \n
  • \n
  • \n

    Domain or subdomain that was requested

    \n
  • \n
  • \n

    DNS record type, such as A or AAAA

    \n
  • \n
  • \n

    DNS response code, such as NoError or\n\t\t\t\t\tServFail\n

    \n
  • \n
\n
\n
Log Group and Resource Policy
\n
\n

Before you create a query logging configuration, perform the following\n\t\t\t\t\t\toperations.

\n \n

If you create a query logging configuration using the Route 53\n\t\t\t\t\t\t\tconsole, Route 53 performs these operations automatically.

\n
\n
    \n
  1. \n

    Create a CloudWatch Logs log group, and make note of the ARN,\n\t\t\t\t\t\t\t\twhich you specify when you create a query logging configuration.\n\t\t\t\t\t\t\t\tNote the following:

    \n
      \n
    • \n

      You must create the log group in the us-east-1\n\t\t\t\t\t\t\t\t\t\tregion.

      \n
    • \n
    • \n

      You must use the same Amazon Web Services account to create\n\t\t\t\t\t\t\t\t\t\tthe log group and the hosted zone that you want to configure\n\t\t\t\t\t\t\t\t\t\tquery logging for.

      \n
    • \n
    • \n

      When you create log groups for query logging, we recommend\n\t\t\t\t\t\t\t\t\t\tthat you use a consistent prefix, for example:

      \n

      \n /aws/route53/hosted zone\n\t\t\t\t\t\t\t\t\t\t\tname\n \n

      \n

      In the next step, you'll create a resource policy, which\n\t\t\t\t\t\t\t\t\t\tcontrols access to one or more log groups and the associated\n\t\t\t\t\t\t\t\t\t\t\tAmazon Web Services resources, such as Route 53 hosted\n\t\t\t\t\t\t\t\t\t\tzones. There's a limit on the number of resource policies\n\t\t\t\t\t\t\t\t\t\tthat you can create, so we recommend that you use a\n\t\t\t\t\t\t\t\t\t\tconsistent prefix so you can use the same resource policy\n\t\t\t\t\t\t\t\t\t\tfor all the log groups that you create for query\n\t\t\t\t\t\t\t\t\t\tlogging.

      \n
    • \n
    \n
  2. \n
  3. \n

    Create a CloudWatch Logs resource policy, and give it the\n\t\t\t\t\t\t\t\tpermissions that Route 53 needs to create log streams and to send\n\t\t\t\t\t\t\t\tquery logs to log streams. For the value of Resource,\n\t\t\t\t\t\t\t\tspecify the ARN for the log group that you created in the previous\n\t\t\t\t\t\t\t\tstep. To use the same resource policy for all the CloudWatch Logs\n\t\t\t\t\t\t\t\tlog groups that you created for query logging configurations,\n\t\t\t\t\t\t\t\treplace the hosted zone name with *, for\n\t\t\t\t\t\t\t\texample:

    \n

    \n arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/*\n

    \n

    To avoid the confused deputy problem, a security issue where an\n\t\t\t\t\t\t\t\tentity without a permission for an action can coerce a\n\t\t\t\t\t\t\t\tmore-privileged entity to perform it, you can optionally limit the\n\t\t\t\t\t\t\t\tpermissions that a service has to a resource in a resource-based\n\t\t\t\t\t\t\t\tpolicy by supplying the following values:

    \n
      \n
    • \n

      For aws:SourceArn, supply the hosted zone ARN\n\t\t\t\t\t\t\t\t\t\tused in creating the query logging configuration. For\n\t\t\t\t\t\t\t\t\t\texample, aws:SourceArn:\n\t\t\t\t\t\t\t\t\t\t\tarn:aws:route53:::hostedzone/hosted zone\n\t\t\t\t\t\t\t\t\t\tID.

      \n
    • \n
    • \n

      For aws:SourceAccount, supply the account ID\n\t\t\t\t\t\t\t\t\t\tfor the account that creates the query logging\n\t\t\t\t\t\t\t\t\t\tconfiguration. For example,\n\t\t\t\t\t\t\t\t\t\t\taws:SourceAccount:111111111111.

      \n
    • \n
    \n

    For more information, see The confused\n\t\t\t\t\t\t\t\t\tdeputy problem in the Amazon Web Services\n\t\t\t\t\t\t\t\t\tIAM User Guide.

    \n \n

    You can't use the CloudWatch console to create or edit a\n\t\t\t\t\t\t\t\t\tresource policy. You must use the CloudWatch API, one of the\n\t\t\t\t\t\t\t\t\t\tAmazon Web Services SDKs, or the CLI.

    \n
    \n
  4. \n
\n
\n
Log Streams and Edge Locations
\n
\n

When Route 53 finishes creating the configuration for DNS query logging,\n\t\t\t\t\t\tit does the following:

\n
    \n
  • \n

    Creates a log stream for an edge location the first time that the\n\t\t\t\t\t\t\t\tedge location responds to DNS queries for the specified hosted zone.\n\t\t\t\t\t\t\t\tThat log stream is used to log all queries that Route 53 responds to\n\t\t\t\t\t\t\t\tfor that edge location.

    \n
  • \n
  • \n

    Begins to send query logs to the applicable log stream.

    \n
  • \n
\n

The name of each log stream is in the following format:

\n

\n \n hosted zone ID/edge location\n\t\t\t\t\t\t\t\tcode\n \n

\n

The edge location code is a three-letter code and an arbitrarily assigned\n\t\t\t\t\t\tnumber, for example, DFW3. The three-letter code typically corresponds with\n\t\t\t\t\t\tthe International Air Transport Association airport code for an airport near\n\t\t\t\t\t\tthe edge location. (These abbreviations might change in the future.) For a\n\t\t\t\t\t\tlist of edge locations, see \"The Route 53 Global Network\" on the Route 53 Product Details\n\t\t\t\t\t\tpage.

\n
\n
Queries That Are Logged
\n
\n

Query logs contain only the queries that DNS resolvers forward to Route\n\t\t\t\t\t\t53. If a DNS resolver has already cached the response to a query (such as\n\t\t\t\t\t\tthe IP address for a load balancer for example.com), the resolver will\n\t\t\t\t\t\tcontinue to return the cached response. It doesn't forward another query to\n\t\t\t\t\t\tRoute 53 until the TTL for the corresponding resource record set expires.\n\t\t\t\t\t\tDepending on how many DNS queries are submitted for a resource record set,\n\t\t\t\t\t\tand depending on the TTL for that resource record set, query logs might\n\t\t\t\t\t\tcontain information about only one query out of every several thousand\n\t\t\t\t\t\tqueries that are submitted to DNS. For more information about how DNS works,\n\t\t\t\t\t\tsee Routing\n\t\t\t\t\t\t\tInternet Traffic to Your Website or Web Application in the\n\t\t\t\t\t\t\tAmazon Route 53 Developer Guide.

\n
\n
Log File Format
\n
\n

For a list of the values in each query log and the format of each value,\n\t\t\t\t\t\tsee Logging DNS\n\t\t\t\t\t\t\tQueries in the Amazon Route 53 Developer\n\t\t\t\t\t\t\tGuide.

\n
\n
Pricing
\n
\n

For information about charges for query logs, see Amazon CloudWatch Pricing.

\n
\n
How to Stop Logging
\n
\n

If you want Route 53 to stop sending query logs to CloudWatch Logs, delete\n\t\t\t\t\t\tthe query logging configuration. For more information, see DeleteQueryLoggingConfig.

\n
\n
", "smithy.api#http": { "method": "POST", "uri": "/2013-04-01/queryloggingconfig", @@ -3607,7 +3616,7 @@ "CloudWatchLogsLogGroupArn": { "target": "com.amazonaws.route53#CloudWatchLogsLogGroupArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the log group that you want to Amazon Route 53 to\n\t\t\tsend query logs to. This is the format of the ARN:

\n\t\t

arn:aws:logs:region:account-id:log-group:log_group_name\n

\n\t\t

To get the ARN for a log group, you can use the CloudWatch console, the DescribeLogGroups API action, the describe-log-groups\n\t\t\tcommand, or the applicable command in one of the Amazon Web Services SDKs.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the log group that you want to Amazon Route 53 to\n\t\t\tsend query logs to. This is the format of the ARN:

\n

arn:aws:logs:region:account-id:log-group:log_group_name\n

\n

To get the ARN for a log group, you can use the CloudWatch console, the DescribeLogGroups API action, the describe-log-groups\n\t\t\tcommand, or the applicable command in one of the Amazon Web Services SDKs.

", "smithy.api#required": {} } } @@ -3665,7 +3674,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a delegation set (a group of four name servers) that can be reused by multiple\n\t\t\thosted zones that were created by the same Amazon Web Services account.

\n\t\t

You can also create a reusable delegation set that uses the four name servers that are\n\t\t\tassociated with an existing hosted zone. Specify the hosted zone ID in the\n\t\t\t\tCreateReusableDelegationSet request.

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

You can't associate a reusable delegation set with a private hosted zone.

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

For information about using a reusable delegation set to configure white label name\n\t\t\tservers, see Configuring White\n\t\t\t\tLabel Name Servers.

\n\t\t

The process for migrating existing hosted zones to use a reusable delegation set is\n\t\t\tcomparable to the process for configuring white label name servers. You need to perform\n\t\t\tthe following steps:

\n\t\t
    \n
  1. \n\t\t\t\t

    Create a reusable delegation set.

    \n\t\t\t
  2. \n
  3. \n\t\t\t\t

    Recreate hosted zones, and reduce the TTL to 60 seconds or less.

    \n\t\t\t
  4. \n
  5. \n\t\t\t\t

    Recreate resource record sets in the new hosted zones.

    \n\t\t\t
  6. \n
  7. \n\t\t\t\t

    Change the registrar's name servers to use the name servers for the new hosted\n\t\t\t\t\tzones.

    \n\t\t\t
  8. \n
  9. \n\t\t\t\t

    Monitor traffic for the website or application.

    \n\t\t\t
  10. \n
  11. \n\t\t\t\t

    Change TTLs back to their original values.

    \n\t\t\t
  12. \n
\n\t\t

If you want to migrate existing hosted zones to use a reusable delegation set, the\n\t\t\texisting hosted zones can't use any of the name servers that are assigned to the\n\t\t\treusable delegation set. If one or more hosted zones do use one or more name servers\n\t\t\tthat are assigned to the reusable delegation set, you can do one of the\n\t\t\tfollowing:

\n\t\t
    \n
  • \n\t\t\t\t

    For small numbers of hosted zonesβ€”up to a few hundredβ€”it's\n\t\t\t\t\trelatively easy to create reusable delegation sets until you get one that has\n\t\t\t\t\tfour name servers that don't overlap with any of the name servers in your hosted\n\t\t\t\t\tzones.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    For larger numbers of hosted zones, the easiest solution is to use more than\n\t\t\t\t\tone reusable delegation set.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    For larger numbers of hosted zones, you can also migrate hosted zones that\n\t\t\t\t\thave overlapping name servers to hosted zones that don't have overlapping name\n\t\t\t\t\tservers, then migrate the hosted zones again to use the reusable delegation\n\t\t\t\t\tset.

    \n\t\t\t
  • \n
", + "smithy.api#documentation": "

Creates a delegation set (a group of four name servers) that can be reused by multiple\n\t\t\thosted zones that were created by the same Amazon Web Services account.

\n

You can also create a reusable delegation set that uses the four name servers that are\n\t\t\tassociated with an existing hosted zone. Specify the hosted zone ID in the\n\t\t\t\tCreateReusableDelegationSet request.

\n \n

You can't associate a reusable delegation set with a private hosted zone.

\n
\n

For information about using a reusable delegation set to configure white label name\n\t\t\tservers, see Configuring White\n\t\t\t\tLabel Name Servers.

\n

The process for migrating existing hosted zones to use a reusable delegation set is\n\t\t\tcomparable to the process for configuring white label name servers. You need to perform\n\t\t\tthe following steps:

\n
    \n
  1. \n

    Create a reusable delegation set.

    \n
  2. \n
  3. \n

    Recreate hosted zones, and reduce the TTL to 60 seconds or less.

    \n
  4. \n
  5. \n

    Recreate resource record sets in the new hosted zones.

    \n
  6. \n
  7. \n

    Change the registrar's name servers to use the name servers for the new hosted\n\t\t\t\t\tzones.

    \n
  8. \n
  9. \n

    Monitor traffic for the website or application.

    \n
  10. \n
  11. \n

    Change TTLs back to their original values.

    \n
  12. \n
\n

If you want to migrate existing hosted zones to use a reusable delegation set, the\n\t\t\texisting hosted zones can't use any of the name servers that are assigned to the\n\t\t\treusable delegation set. If one or more hosted zones do use one or more name servers\n\t\t\tthat are assigned to the reusable delegation set, you can do one of the\n\t\t\tfollowing:

\n
    \n
  • \n

    For small numbers of hosted zonesβ€”up to a few hundredβ€”it's\n\t\t\t\t\trelatively easy to create reusable delegation sets until you get one that has\n\t\t\t\t\tfour name servers that don't overlap with any of the name servers in your hosted\n\t\t\t\t\tzones.

    \n
  • \n
  • \n

    For larger numbers of hosted zones, the easiest solution is to use more than\n\t\t\t\t\tone reusable delegation set.

    \n
  • \n
  • \n

    For larger numbers of hosted zones, you can also migrate hosted zones that\n\t\t\t\t\thave overlapping name servers to hosted zones that don't have overlapping name\n\t\t\t\t\tservers, then migrate the hosted zones again to use the reusable delegation\n\t\t\t\t\tset.

    \n
  • \n
", "smithy.api#http": { "method": "POST", "uri": "/2013-04-01/delegationset", @@ -4005,7 +4014,7 @@ } ], "traits": { - "smithy.api#documentation": "

Authorizes the Amazon Web Services account that created a specified VPC to submit an\n\t\t\t\tAssociateVPCWithHostedZone request to associate the VPC with a\n\t\t\tspecified hosted zone that was created by a different account. To submit a\n\t\t\t\tCreateVPCAssociationAuthorization request, you must use the account\n\t\t\tthat created the hosted zone. After you authorize the association, use the account that\n\t\t\tcreated the VPC to submit an AssociateVPCWithHostedZone request.

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

If you want to associate multiple VPCs that you created by using one account with\n\t\t\t\ta hosted zone that you created by using a different account, you must submit one\n\t\t\t\tauthorization request for each VPC.

\n\t\t
", + "smithy.api#documentation": "

Authorizes the Amazon Web Services account that created a specified VPC to submit an\n\t\t\t\tAssociateVPCWithHostedZone request to associate the VPC with a\n\t\t\tspecified hosted zone that was created by a different account. To submit a\n\t\t\t\tCreateVPCAssociationAuthorization request, you must use the account\n\t\t\tthat created the hosted zone. After you authorize the association, use the account that\n\t\t\tcreated the VPC to submit an AssociateVPCWithHostedZone request.

\n \n

If you want to associate multiple VPCs that you created by using one account with\n\t\t\t\ta hosted zone that you created by using a different account, you must submit one\n\t\t\t\tauthorization request for each VPC.

\n
", "smithy.api#http": { "method": "POST", "uri": "/2013-04-01/hostedzone/{HostedZoneId}/authorizevpcassociation", @@ -4089,7 +4098,7 @@ "ServeSignature": { "target": "com.amazonaws.route53#ServeSignature", "traits": { - "smithy.api#documentation": "

A string that represents the current hosted zone signing status.

\n\t\t

Status can have one of the following values:

\n\t\t
\n
SIGNING
\n
\n\t\t\t\t\t

DNSSEC signing is enabled for the hosted zone.

\n\t\t\t\t
\n
NOT_SIGNING
\n
\n\t\t\t\t\t

DNSSEC signing is not enabled for the hosted zone.

\n\t\t\t\t
\n
DELETING
\n
\n\t\t\t\t\t

DNSSEC signing is in the process of being removed for the hosted\n\t\t\t\t\t\tzone.

\n\t\t\t\t
\n
ACTION_NEEDED
\n
\n\t\t\t\t\t

There is a problem with signing in the hosted zone that requires you to\n\t\t\t\t\t\ttake action to resolve. For example, the customer managed key might have\n\t\t\t\t\t\tbeen deleted, or the permissions for the customer managed key might have\n\t\t\t\t\t\tbeen changed.

\n\t\t\t\t
\n
INTERNAL_FAILURE
\n
\n\t\t\t\t\t

There was an error during a request. Before you can continue to work with\n\t\t\t\t\t\tDNSSEC signing, including with key-signing keys (KSKs), you must correct the\n\t\t\t\t\t\tproblem by enabling or disabling DNSSEC signing for the hosted zone.

\n\t\t\t\t
\n
" + "smithy.api#documentation": "

A string that represents the current hosted zone signing status.

\n

Status can have one of the following values:

\n
\n
SIGNING
\n
\n

DNSSEC signing is enabled for the hosted zone.

\n
\n
NOT_SIGNING
\n
\n

DNSSEC signing is not enabled for the hosted zone.

\n
\n
DELETING
\n
\n

DNSSEC signing is in the process of being removed for the hosted\n\t\t\t\t\t\tzone.

\n
\n
ACTION_NEEDED
\n
\n

There is a problem with signing in the hosted zone that requires you to\n\t\t\t\t\t\ttake action to resolve. For example, the customer managed key might have\n\t\t\t\t\t\tbeen deleted, or the permissions for the customer managed key might have\n\t\t\t\t\t\tbeen changed.

\n
\n
INTERNAL_FAILURE
\n
\n

There was an error during a request. Before you can continue to work with\n\t\t\t\t\t\tDNSSEC signing, including with key-signing keys (KSKs), you must correct the\n\t\t\t\t\t\tproblem by enabling or disabling DNSSEC signing for the hosted zone.

\n
\n
" } }, "StatusMessage": { @@ -4368,7 +4377,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a health check.

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

Amazon Route 53 does not prevent you from deleting a health check even if the\n\t\t\t\thealth check is associated with one or more resource record sets. If you delete a\n\t\t\t\thealth check and you don't update the associated resource record sets, the future\n\t\t\t\tstatus of the health check can't be predicted and may change. This will affect the\n\t\t\t\trouting of DNS queries for your DNS failover configuration. For more information,\n\t\t\t\tsee Replacing and Deleting Health Checks in the Amazon Route 53\n\t\t\t\t\tDeveloper Guide.

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

If you're using Cloud Map and you configured Cloud Map to create a Route 53\n\t\t\thealth check when you register an instance, you can't use the Route 53\n\t\t\t\tDeleteHealthCheck command to delete the health check. The health check\n\t\t\tis deleted automatically when you deregister the instance; there can be a delay of\n\t\t\tseveral hours before the health check is deleted from Route 53.

", + "smithy.api#documentation": "

Deletes a health check.

\n \n

Amazon Route 53 does not prevent you from deleting a health check even if the\n\t\t\t\thealth check is associated with one or more resource record sets. If you delete a\n\t\t\t\thealth check and you don't update the associated resource record sets, the future\n\t\t\t\tstatus of the health check can't be predicted and may change. This will affect the\n\t\t\t\trouting of DNS queries for your DNS failover configuration. For more information,\n\t\t\t\tsee Replacing and Deleting Health Checks in the Amazon Route 53\n\t\t\t\t\tDeveloper Guide.

\n
\n

If you're using Cloud Map and you configured Cloud Map to create a Route 53\n\t\t\thealth check when you register an instance, you can't use the Route 53\n\t\t\t\tDeleteHealthCheck command to delete the health check. The health check\n\t\t\tis deleted automatically when you deregister the instance; there can be a delay of\n\t\t\tseveral hours before the health check is deleted from Route 53.

", "smithy.api#http": { "method": "DELETE", "uri": "/2013-04-01/healthcheck/{HealthCheckId}", @@ -4425,7 +4434,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a hosted zone.

\n\t\t

If the hosted zone was created by another service, such as Cloud Map, see\n\t\t\t\tDeleting Public Hosted Zones That Were Created by Another Service in the\n\t\t\t\t\tAmazon RouteΒ 53 Developer Guide for information\n\t\t\tabout how to delete it. (The process is the same for public and private hosted zones\n\t\t\tthat were created by another service.)

\n\t\t

If you want to keep your domain registration but you want to stop routing internet\n\t\t\ttraffic to your website or web application, we recommend that you delete resource record\n\t\t\tsets in the hosted zone instead of deleting the hosted zone.

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

If you delete a hosted zone, you can't undelete it. You must create a new hosted\n\t\t\t\tzone and update the name servers for your domain registration, which can require up\n\t\t\t\tto 48 hours to take effect. (If you delegated responsibility for a subdomain to a\n\t\t\t\thosted zone and you delete the child hosted zone, you must update the name servers\n\t\t\t\tin the parent hosted zone.) In addition, if you delete a hosted zone, someone could\n\t\t\t\thijack the domain and route traffic to their own resources using your domain\n\t\t\t\tname.

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

If you want to avoid the monthly charge for the hosted zone, you can transfer DNS\n\t\t\tservice for the domain to a free DNS service. When you transfer DNS service, you have to\n\t\t\tupdate the name servers for the domain registration. If the domain is registered with\n\t\t\t\tRouteΒ 53, see UpdateDomainNameservers for information about how to replace RouteΒ 53 name servers with name servers for the new DNS service. If the domain is\n\t\t\tregistered with another registrar, use the method provided by the registrar to update\n\t\t\tname servers for the domain registration. For more information, perform an internet\n\t\t\tsearch on \"free DNS service.\"

\n\t\t

You can delete a hosted zone only if it contains only the default SOA record and NS\n\t\t\tresource record sets. If the hosted zone contains other resource record sets, you must\n\t\t\tdelete them before you can delete the hosted zone. If you try to delete a hosted zone\n\t\t\tthat contains other resource record sets, the request fails, and RouteΒ 53\n\t\t\treturns a HostedZoneNotEmpty error. For information about deleting records\n\t\t\tfrom your hosted zone, see ChangeResourceRecordSets.

\n\t\t

To verify that the hosted zone has been deleted, do one of the following:

\n\t\t
    \n
  • \n\t\t\t\t

    Use the GetHostedZone action to request information about the\n\t\t\t\t\thosted zone.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    Use the ListHostedZones action to get a list of the hosted zones\n\t\t\t\t\tassociated with the current Amazon Web Services account.

    \n\t\t\t
  • \n
", + "smithy.api#documentation": "

Deletes a hosted zone.

\n

If the hosted zone was created by another service, such as Cloud Map, see\n\t\t\t\tDeleting Public Hosted Zones That Were Created by Another Service in the\n\t\t\t\t\tAmazon RouteΒ 53 Developer Guide for information\n\t\t\tabout how to delete it. (The process is the same for public and private hosted zones\n\t\t\tthat were created by another service.)

\n

If you want to keep your domain registration but you want to stop routing internet\n\t\t\ttraffic to your website or web application, we recommend that you delete resource record\n\t\t\tsets in the hosted zone instead of deleting the hosted zone.

\n \n

If you delete a hosted zone, you can't undelete it. You must create a new hosted\n\t\t\t\tzone and update the name servers for your domain registration, which can require up\n\t\t\t\tto 48 hours to take effect. (If you delegated responsibility for a subdomain to a\n\t\t\t\thosted zone and you delete the child hosted zone, you must update the name servers\n\t\t\t\tin the parent hosted zone.) In addition, if you delete a hosted zone, someone could\n\t\t\t\thijack the domain and route traffic to their own resources using your domain\n\t\t\t\tname.

\n
\n

If you want to avoid the monthly charge for the hosted zone, you can transfer DNS\n\t\t\tservice for the domain to a free DNS service. When you transfer DNS service, you have to\n\t\t\tupdate the name servers for the domain registration. If the domain is registered with\n\t\t\t\tRouteΒ 53, see UpdateDomainNameservers for information about how to replace RouteΒ 53 name servers with name servers for the new DNS service. If the domain is\n\t\t\tregistered with another registrar, use the method provided by the registrar to update\n\t\t\tname servers for the domain registration. For more information, perform an internet\n\t\t\tsearch on \"free DNS service.\"

\n

You can delete a hosted zone only if it contains only the default SOA record and NS\n\t\t\tresource record sets. If the hosted zone contains other resource record sets, you must\n\t\t\tdelete them before you can delete the hosted zone. If you try to delete a hosted zone\n\t\t\tthat contains other resource record sets, the request fails, and RouteΒ 53\n\t\t\treturns a HostedZoneNotEmpty error. For information about deleting records\n\t\t\tfrom your hosted zone, see ChangeResourceRecordSets.

\n

To verify that the hosted zone has been deleted, do one of the following:

\n
    \n
  • \n

    Use the GetHostedZone action to request information about the\n\t\t\t\t\thosted zone.

    \n
  • \n
  • \n

    Use the ListHostedZones action to get a list of the hosted zones\n\t\t\t\t\tassociated with the current Amazon Web Services account.

    \n
  • \n
", "smithy.api#http": { "method": "DELETE", "uri": "/2013-04-01/hostedzone/{Id}", @@ -4493,7 +4502,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a key-signing key (KSK). Before you can delete a KSK, you must deactivate it.\n\t\t\tThe KSK must be deactivated before you can delete it regardless of whether the hosted\n\t\t\tzone is enabled for DNSSEC signing.

\n\t\t

You can use DeactivateKeySigningKey to deactivate the key before you delete it.

\n\t\t

Use GetDNSSEC to verify that the KSK is in an INACTIVE\n\t\t\tstatus.

", + "smithy.api#documentation": "

Deletes a key-signing key (KSK). Before you can delete a KSK, you must deactivate it.\n\t\t\tThe KSK must be deactivated before you can delete it regardless of whether the hosted\n\t\t\tzone is enabled for DNSSEC signing.

\n

You can use DeactivateKeySigningKey to deactivate the key before you delete it.

\n

Use GetDNSSEC to verify that the KSK is in an INACTIVE\n\t\t\tstatus.

", "smithy.api#http": { "method": "DELETE", "uri": "/2013-04-01/keysigningkey/{HostedZoneId}/{Name}", @@ -4553,7 +4562,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a configuration for DNS query logging. If you delete a configuration, Amazon\n\t\t\tRoute 53 stops sending query logs to CloudWatch Logs. Route 53 doesn't delete any logs\n\t\t\tthat are already in CloudWatch Logs.

\n\t\t

For more information about DNS query logs, see CreateQueryLoggingConfig.

", + "smithy.api#documentation": "

Deletes a configuration for DNS query logging. If you delete a configuration, Amazon\n\t\t\tRoute 53 stops sending query logs to CloudWatch Logs. Route 53 doesn't delete any logs\n\t\t\tthat are already in CloudWatch Logs.

\n

For more information about DNS query logs, see CreateQueryLoggingConfig.

", "smithy.api#http": { "method": "DELETE", "uri": "/2013-04-01/queryloggingconfig/{Id}", @@ -4601,7 +4610,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a reusable delegation set.

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

You can delete a reusable delegation set only if it isn't associated with any\n\t\t\t\thosted zones.

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

To verify that the reusable delegation set is not associated with any hosted zones,\n\t\t\tsubmit a GetReusableDelegationSet request and specify the ID of the reusable\n\t\t\tdelegation set that you want to delete.

", + "smithy.api#documentation": "

Deletes a reusable delegation set.

\n \n

You can delete a reusable delegation set only if it isn't associated with any\n\t\t\t\thosted zones.

\n
\n

To verify that the reusable delegation set is not associated with any hosted zones,\n\t\t\tsubmit a GetReusableDelegationSet request and specify the ID of the reusable\n\t\t\tdelegation set that you want to delete.

", "smithy.api#http": { "method": "DELETE", "uri": "/2013-04-01/delegationset/{Id}", @@ -4655,7 +4664,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a traffic policy.

\n\t\t

When you delete a traffic policy, Route 53 sets a flag on the policy to indicate that\n\t\t\tit has been deleted. However, Route 53 never fully deletes the traffic policy. Note the\n\t\t\tfollowing:

\n\t\t
    \n
  • \n\t\t\t\t

    Deleted traffic policies aren't listed if you run ListTrafficPolicies.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    There's no way to get a list of deleted policies.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    If you retain the ID of the policy, you can get information about the policy,\n\t\t\t\t\tincluding the traffic policy document, by running GetTrafficPolicy.

    \n\t\t\t
  • \n
", + "smithy.api#documentation": "

Deletes a traffic policy.

\n

When you delete a traffic policy, Route 53 sets a flag on the policy to indicate that\n\t\t\tit has been deleted. However, Route 53 never fully deletes the traffic policy. Note the\n\t\t\tfollowing:

\n
    \n
  • \n

    Deleted traffic policies aren't listed if you run ListTrafficPolicies.

    \n
  • \n
  • \n

    There's no way to get a list of deleted policies.

    \n
  • \n
  • \n

    If you retain the ID of the policy, you can get information about the policy,\n\t\t\t\t\tincluding the traffic policy document, by running GetTrafficPolicy.

    \n
  • \n
", "smithy.api#http": { "method": "DELETE", "uri": "/2013-04-01/trafficpolicy/{Id}/{Version}", @@ -4683,7 +4692,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a traffic policy instance and all of the resource record sets that Amazon\n\t\t\tRoute 53 created when you created the instance.

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

In the Route 53 console, traffic policy instances are known as policy\n\t\t\t\trecords.

\n\t\t
", + "smithy.api#documentation": "

Deletes a traffic policy instance and all of the resource record sets that Amazon\n\t\t\tRoute 53 created when you created the instance.

\n \n

In the Route 53 console, traffic policy instances are known as policy\n\t\t\t\trecords.

\n
", "smithy.api#http": { "method": "DELETE", "uri": "/2013-04-01/trafficpolicyinstance/{Id}", @@ -4697,7 +4706,7 @@ "Id": { "target": "com.amazonaws.route53#TrafficPolicyInstanceId", "traits": { - "smithy.api#documentation": "

The ID of the traffic policy instance that you want to delete.

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

When you delete a traffic policy instance, Amazon Route 53 also deletes all of the\n\t\t\t\tresource record sets that were created when you created the traffic policy\n\t\t\t\tinstance.

\n\t\t
", + "smithy.api#documentation": "

The ID of the traffic policy instance that you want to delete.

\n \n

When you delete a traffic policy instance, Amazon Route 53 also deletes all of the\n\t\t\t\tresource record sets that were created when you created the traffic policy\n\t\t\t\tinstance.

\n
", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4771,7 +4780,7 @@ } ], "traits": { - "smithy.api#documentation": "

Removes authorization to submit an AssociateVPCWithHostedZone request to\n\t\t\tassociate a specified VPC with a hosted zone that was created by a different account.\n\t\t\tYou must use the account that created the hosted zone to submit a\n\t\t\t\tDeleteVPCAssociationAuthorization request.

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

Sending this request only prevents the Amazon Web Services account that created the\n\t\t\t\tVPC from associating the VPC with the Amazon Route 53 hosted zone in the future. If\n\t\t\t\tthe VPC is already associated with the hosted zone,\n\t\t\t\t\tDeleteVPCAssociationAuthorization won't disassociate the VPC from\n\t\t\t\tthe hosted zone. If you want to delete an existing association, use\n\t\t\t\t\tDisassociateVPCFromHostedZone.

\n\t\t
", + "smithy.api#documentation": "

Removes authorization to submit an AssociateVPCWithHostedZone request to\n\t\t\tassociate a specified VPC with a hosted zone that was created by a different account.\n\t\t\tYou must use the account that created the hosted zone to submit a\n\t\t\t\tDeleteVPCAssociationAuthorization request.

\n \n

Sending this request only prevents the Amazon Web Services account that created the\n\t\t\t\tVPC from associating the VPC with the Amazon Route 53 hosted zone in the future. If\n\t\t\t\tthe VPC is already associated with the hosted zone,\n\t\t\t\t\tDeleteVPCAssociationAuthorization won't disassociate the VPC from\n\t\t\t\tthe hosted zone. If you want to delete an existing association, use\n\t\t\t\t\tDisassociateVPCFromHostedZone.

\n
", "smithy.api#http": { "method": "POST", "uri": "/2013-04-01/hostedzone/{HostedZoneId}/deauthorizevpcassociation", @@ -4954,7 +4963,7 @@ } ], "traits": { - "smithy.api#documentation": "

Disassociates an Amazon Virtual Private Cloud (Amazon VPC) from an Amazon Route 53\n\t\t\tprivate hosted zone. Note the following:

\n\t\t
    \n
  • \n\t\t\t\t

    You can't disassociate the last Amazon VPC from a private hosted zone.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    You can't convert a private hosted zone into a public hosted zone.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    You can submit a DisassociateVPCFromHostedZone request using\n\t\t\t\t\teither the account that created the hosted zone or the account that created the\n\t\t\t\t\tAmazon VPC.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    Some services, such as Cloud Map and Amazon Elastic File System\n\t\t\t\t\t(Amazon EFS) automatically create hosted zones and associate VPCs with the\n\t\t\t\t\thosted zones. A service can create a hosted zone using your account or using its\n\t\t\t\t\town account. You can disassociate a VPC from a hosted zone only if the service\n\t\t\t\t\tcreated the hosted zone using your account.

    \n\t\t\t\t

    When you run DisassociateVPCFromHostedZone, if the hosted zone has a value for\n\t\t\t\t\t\tOwningAccount, you can use\n\t\t\t\t\t\tDisassociateVPCFromHostedZone. If the hosted zone has a value\n\t\t\t\t\tfor OwningService, you can't use\n\t\t\t\t\t\tDisassociateVPCFromHostedZone.

    \n\t\t\t
  • \n
\n\t\t \n\t\t\t

When revoking access, the hosted zone and the Amazon VPC must belong to\n\t\t\t\tthe same partition. A partition is a group of Amazon Web Services Regions. Each\n\t\t\t\t\tAmazon Web Services account is scoped to one partition.

\n\t\t\t

The following are the supported partitions:

\n\t\t\t
    \n
  • \n\t\t\t\t\t

    \n aws - Amazon Web Services Regions

    \n\t\t\t\t
  • \n
  • \n\t\t\t\t\t

    \n aws-cn - China Regions

    \n\t\t\t\t
  • \n
  • \n\t\t\t\t\t

    \n aws-us-gov - Amazon Web Services GovCloud (US) Region

    \n\t\t\t\t
  • \n
\n\t\t\t

For more information, see Access Management\n\t\t\t\tin the Amazon Web Services General Reference.

\n\t\t
", + "smithy.api#documentation": "

Disassociates an Amazon Virtual Private Cloud (Amazon VPC) from an Amazon Route 53\n\t\t\tprivate hosted zone. Note the following:

\n
    \n
  • \n

    You can't disassociate the last Amazon VPC from a private hosted zone.

    \n
  • \n
  • \n

    You can't convert a private hosted zone into a public hosted zone.

    \n
  • \n
  • \n

    You can submit a DisassociateVPCFromHostedZone request using\n\t\t\t\t\teither the account that created the hosted zone or the account that created the\n\t\t\t\t\tAmazon VPC.

    \n
  • \n
  • \n

    Some services, such as Cloud Map and Amazon Elastic File System\n\t\t\t\t\t(Amazon EFS) automatically create hosted zones and associate VPCs with the\n\t\t\t\t\thosted zones. A service can create a hosted zone using your account or using its\n\t\t\t\t\town account. You can disassociate a VPC from a hosted zone only if the service\n\t\t\t\t\tcreated the hosted zone using your account.

    \n

    When you run DisassociateVPCFromHostedZone, if the hosted zone has a value for\n\t\t\t\t\t\tOwningAccount, you can use\n\t\t\t\t\t\tDisassociateVPCFromHostedZone. If the hosted zone has a value\n\t\t\t\t\tfor OwningService, you can't use\n\t\t\t\t\t\tDisassociateVPCFromHostedZone.

    \n
  • \n
\n \n

When revoking access, the hosted zone and the Amazon VPC must belong to\n\t\t\t\tthe same partition. A partition is a group of Amazon Web Services Regions. Each\n\t\t\t\t\tAmazon Web Services account is scoped to one partition.

\n

The following are the supported partitions:

\n
    \n
  • \n

    \n aws - Amazon Web Services Regions

    \n
  • \n
  • \n

    \n aws-cn - China Regions

    \n
  • \n
  • \n

    \n aws-us-gov - Amazon Web Services GovCloud (US) Region

    \n
  • \n
\n

For more information, see Access Management\n\t\t\t\tin the Amazon Web Services General Reference.

\n
", "smithy.api#http": { "method": "POST", "uri": "/2013-04-01/hostedzone/{HostedZoneId}/disassociatevpc", @@ -5123,19 +5132,19 @@ "ContinentCode": { "target": "com.amazonaws.route53#GeoLocationContinentCode", "traits": { - "smithy.api#documentation": "

The two-letter code for the continent.

\n\t\t

Amazon Route 53 supports the following continent codes:

\n\t\t
    \n
  • \n\t\t\t\t

    \n AF: Africa

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n AN: Antarctica

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n AS: Asia

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n EU: Europe

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n OC: Oceania

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n NA: North America

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n SA: South America

    \n\t\t\t
  • \n
\n\t\t

Constraint: Specifying ContinentCode with either CountryCode\n\t\t\tor SubdivisionCode returns an InvalidInput error.

" + "smithy.api#documentation": "

The two-letter code for the continent.

\n

Amazon Route 53 supports the following continent codes:

\n
    \n
  • \n

    \n AF: Africa

    \n
  • \n
  • \n

    \n AN: Antarctica

    \n
  • \n
  • \n

    \n AS: Asia

    \n
  • \n
  • \n

    \n EU: Europe

    \n
  • \n
  • \n

    \n OC: Oceania

    \n
  • \n
  • \n

    \n NA: North America

    \n
  • \n
  • \n

    \n SA: South America

    \n
  • \n
\n

Constraint: Specifying ContinentCode with either CountryCode\n\t\t\tor SubdivisionCode returns an InvalidInput error.

" } }, "CountryCode": { "target": "com.amazonaws.route53#GeoLocationCountryCode", "traits": { - "smithy.api#documentation": "

For geolocation resource record sets, the two-letter code for a country.

\n\t\t

Amazon Route 53 uses the two-letter country codes that are specified in ISO standard 3166-1\n\t\t\t\talpha-2.

" + "smithy.api#documentation": "

For geolocation resource record sets, the two-letter code for a country.

\n

Amazon Route 53 uses the two-letter country codes that are specified in ISO standard 3166-1\n\t\t\t\talpha-2.

" } }, "SubdivisionCode": { "target": "com.amazonaws.route53#GeoLocationSubdivisionCode", "traits": { - "smithy.api#documentation": "

For geolocation resource record sets, the two-letter code for a state of the United\n\t\t\tStates. Route 53 doesn't support any other values for SubdivisionCode. For\n\t\t\ta list of state abbreviations, see Appendix B: Two–Letter State and Possession Abbreviations on the United\n\t\t\tStates Postal Service website.

\n\t\t

If you specify subdivisioncode, you must also specify US for\n\t\t\t\tCountryCode.

" + "smithy.api#documentation": "

For geolocation resource record sets, the two-letter code for a state of the United\n\t\t\tStates. Route 53 doesn't support any other values for SubdivisionCode. For\n\t\t\ta list of state abbreviations, see Appendix B: Two–Letter State and Possession Abbreviations on the United\n\t\t\tStates Postal Service website.

\n

If you specify subdivisioncode, you must also specify US for\n\t\t\t\tCountryCode.

" } } }, @@ -5264,7 +5273,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets the specified limit for the current account, for example, the maximum number of\n\t\t\thealth checks that you can create using the account.

\n\t\t

For the default limit, see Limits in the\n\t\t\t\tAmazon Route 53 Developer Guide. To request a higher limit,\n\t\t\t\topen a case.

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

You can also view account limits in Amazon Web Services Trusted Advisor. Sign in to\n\t\t\t\tthe Amazon Web Services Management Console and open the Trusted Advisor console at https://console.aws.amazon.com/trustedadvisor/. Then choose Service limits in the navigation pane.

\n\t\t
", + "smithy.api#documentation": "

Gets the specified limit for the current account, for example, the maximum number of\n\t\t\thealth checks that you can create using the account.

\n

For the default limit, see Limits in the\n\t\t\t\tAmazon Route 53 Developer Guide. To request a higher limit,\n\t\t\t\topen a case.

\n \n

You can also view account limits in Amazon Web Services Trusted Advisor. Sign in to\n\t\t\t\tthe Amazon Web Services Management Console and open the Trusted Advisor console at https://console.aws.amazon.com/trustedadvisor/. Then choose Service limits in the navigation pane.

\n
", "smithy.api#http": { "method": "GET", "uri": "/2013-04-01/accountlimit/{Type}", @@ -5278,7 +5287,7 @@ "Type": { "target": "com.amazonaws.route53#AccountLimitType", "traits": { - "smithy.api#documentation": "

The limit that you want to get. Valid values include the following:

\n\t\t
    \n
  • \n\t\t\t\t

    \n MAX_HEALTH_CHECKS_BY_OWNER: The maximum\n\t\t\t\t\tnumber of health checks that you can create using the current account.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n MAX_HOSTED_ZONES_BY_OWNER: The maximum number\n\t\t\t\t\tof hosted zones that you can create using the current account.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n MAX_REUSABLE_DELEGATION_SETS_BY_OWNER: The\n\t\t\t\t\tmaximum number of reusable delegation sets that you can create using the current\n\t\t\t\t\taccount.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n MAX_TRAFFIC_POLICIES_BY_OWNER: The maximum\n\t\t\t\t\tnumber of traffic policies that you can create using the current account.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n MAX_TRAFFIC_POLICY_INSTANCES_BY_OWNER: The\n\t\t\t\t\tmaximum number of traffic policy instances that you can create using the current\n\t\t\t\t\taccount. (Traffic policy instances are referred to as traffic flow policy\n\t\t\t\t\trecords in the Amazon Route 53 console.)

    \n\t\t\t
  • \n
", + "smithy.api#documentation": "

The limit that you want to get. Valid values include the following:

\n
    \n
  • \n

    \n MAX_HEALTH_CHECKS_BY_OWNER: The maximum\n\t\t\t\t\tnumber of health checks that you can create using the current account.

    \n
  • \n
  • \n

    \n MAX_HOSTED_ZONES_BY_OWNER: The maximum number\n\t\t\t\t\tof hosted zones that you can create using the current account.

    \n
  • \n
  • \n

    \n MAX_REUSABLE_DELEGATION_SETS_BY_OWNER: The\n\t\t\t\t\tmaximum number of reusable delegation sets that you can create using the current\n\t\t\t\t\taccount.

    \n
  • \n
  • \n

    \n MAX_TRAFFIC_POLICIES_BY_OWNER: The maximum\n\t\t\t\t\tnumber of traffic policies that you can create using the current account.

    \n
  • \n
  • \n

    \n MAX_TRAFFIC_POLICY_INSTANCES_BY_OWNER: The\n\t\t\t\t\tmaximum number of traffic policy instances that you can create using the current\n\t\t\t\t\taccount. (Traffic policy instances are referred to as traffic flow policy\n\t\t\t\t\trecords in the Amazon Route 53 console.)

    \n
  • \n
", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -5328,7 +5337,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns the current status of a change batch request. The status is one of the\n\t\t\tfollowing values:

\n\t\t
    \n
  • \n\t\t\t\t

    \n PENDING indicates that the changes in this request have not\n\t\t\t\t\tpropagated to all Amazon Route 53 DNS servers. This is the initial status of all\n\t\t\t\t\tchange batch requests.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n INSYNC indicates that the changes have propagated to all Route 53\n\t\t\t\t\tDNS servers.

    \n\t\t\t
  • \n
", + "smithy.api#documentation": "

Returns the current status of a change batch request. The status is one of the\n\t\t\tfollowing values:

\n
    \n
  • \n

    \n PENDING indicates that the changes in this request have not\n\t\t\t\t\tpropagated to all Amazon Route 53 DNS servers. This is the initial status of all\n\t\t\t\t\tchange batch requests.

    \n
  • \n
  • \n

    \n INSYNC indicates that the changes have propagated to all Route 53\n\t\t\t\t\tDNS servers.

    \n
  • \n
", "smithy.api#http": { "method": "GET", "uri": "/2013-04-01/change/{Id}", @@ -5393,7 +5402,7 @@ "target": "com.amazonaws.route53#GetCheckerIpRangesResponse" }, "traits": { - "smithy.api#documentation": "

Route 53 does not perform authorization for this API because it retrieves information\n\t\t\tthat is already available to the public.

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

\n GetCheckerIpRanges still works, but we recommend that you download\n\t\t\t\tip-ranges.json, which includes IP address ranges for all Amazon Web Services\n\t\t\t\tservices. For more information, see IP Address Ranges\n\t\t\t\t\tof Amazon Route 53 Servers in the Amazon Route 53 Developer\n\t\t\t\t\tGuide.

\n\t\t
", + "smithy.api#documentation": "

Route 53 does not perform authorization for this API because it retrieves information\n\t\t\tthat is already available to the public.

\n \n

\n GetCheckerIpRanges still works, but we recommend that you download\n\t\t\t\tip-ranges.json, which includes IP address ranges for all Amazon Web Services\n\t\t\t\tservices. For more information, see IP Address Ranges\n\t\t\t\t\tof Amazon Route 53 Servers in the Amazon Route 53 Developer\n\t\t\t\t\tGuide.

\n
", "smithy.api#http": { "method": "GET", "uri": "/2013-04-01/checkeripranges", @@ -5500,7 +5509,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets information about whether a specified geographic location is supported for Amazon\n\t\t\tRoute 53 geolocation resource record sets.

\n\t\t

Route 53 does not perform authorization for this API because it retrieves information\n\t\t\tthat is already available to the public.

\n\t\t

Use the following syntax to determine whether a continent is supported for\n\t\t\tgeolocation:

\n\t\t

\n GET /2013-04-01/geolocation?continentcode=two-letter abbreviation for\n\t\t\t\t\ta continent\n \n

\n\t\t

Use the following syntax to determine whether a country is supported for\n\t\t\tgeolocation:

\n\t\t

\n GET /2013-04-01/geolocation?countrycode=two-character country\n\t\t\t\t\tcode\n \n

\n\t\t

Use the following syntax to determine whether a subdivision of a country is supported\n\t\t\tfor geolocation:

\n\t\t

\n GET /2013-04-01/geolocation?countrycode=two-character country\n\t\t\t\t\tcode&subdivisioncode=subdivision\n\t\t\tcode\n \n

", + "smithy.api#documentation": "

Gets information about whether a specified geographic location is supported for Amazon\n\t\t\tRoute 53 geolocation resource record sets.

\n

Route 53 does not perform authorization for this API because it retrieves information\n\t\t\tthat is already available to the public.

\n

Use the following syntax to determine whether a continent is supported for\n\t\t\tgeolocation:

\n

\n GET /2013-04-01/geolocation?continentcode=two-letter abbreviation for\n\t\t\t\t\ta continent\n \n

\n

Use the following syntax to determine whether a country is supported for\n\t\t\tgeolocation:

\n

\n GET /2013-04-01/geolocation?countrycode=two-character country\n\t\t\t\t\tcode\n \n

\n

Use the following syntax to determine whether a subdivision of a country is supported\n\t\t\tfor geolocation:

\n

\n GET /2013-04-01/geolocation?countrycode=two-character country\n\t\t\t\t\tcode&subdivisioncode=subdivision\n\t\t\tcode\n \n

", "smithy.api#http": { "method": "GET", "uri": "/2013-04-01/geolocation", @@ -5514,7 +5523,7 @@ "ContinentCode": { "target": "com.amazonaws.route53#GeoLocationContinentCode", "traits": { - "smithy.api#documentation": "

For geolocation resource record sets, a two-letter abbreviation that identifies a\n\t\t\tcontinent. Amazon Route 53 supports the following continent codes:

\n\t\t
    \n
  • \n\t\t\t\t

    \n AF: Africa

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n AN: Antarctica

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n AS: Asia

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n EU: Europe

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n OC: Oceania

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n NA: North America

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n SA: South America

    \n\t\t\t
  • \n
", + "smithy.api#documentation": "

For geolocation resource record sets, a two-letter abbreviation that identifies a\n\t\t\tcontinent. Amazon Route 53 supports the following continent codes:

\n
    \n
  • \n

    \n AF: Africa

    \n
  • \n
  • \n

    \n AN: Antarctica

    \n
  • \n
  • \n

    \n AS: Asia

    \n
  • \n
  • \n

    \n EU: Europe

    \n
  • \n
  • \n

    \n OC: Oceania

    \n
  • \n
  • \n

    \n NA: North America

    \n
  • \n
  • \n

    \n SA: South America

    \n
  • \n
", "smithy.api#httpQuery": "continentcode" } }, @@ -5650,7 +5659,7 @@ "HealthCheckId": { "target": "com.amazonaws.route53#HealthCheckId", "traits": { - "smithy.api#documentation": "

The ID for the health check for which you want the last failure reason. When you\n\t\t\tcreated the health check, CreateHealthCheck returned the ID in the\n\t\t\tresponse, in the HealthCheckId element.

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

If you want to get the last failure reason for a calculated health check, you must\n\t\t\t\tuse the Amazon Route 53 console or the CloudWatch console. You can't use\n\t\t\t\t\tGetHealthCheckLastFailureReason for a calculated health\n\t\t\t\tcheck.

\n\t\t
", + "smithy.api#documentation": "

The ID for the health check for which you want the last failure reason. When you\n\t\t\tcreated the health check, CreateHealthCheck returned the ID in the\n\t\t\tresponse, in the HealthCheckId element.

\n \n

If you want to get the last failure reason for a calculated health check, you must\n\t\t\t\tuse the Amazon Route 53 console or the CloudWatch console. You can't use\n\t\t\t\t\tGetHealthCheckLastFailureReason for a calculated health\n\t\t\t\tcheck.

\n
", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -5723,7 +5732,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets status of a specified health check.

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

This API is intended for use during development to diagnose behavior. It doesn’t\n\t\t\t\tsupport production use-cases with high query rates that require immediate and\n\t\t\t\tactionable responses.

\n\t\t
", + "smithy.api#documentation": "

Gets status of a specified health check.

\n \n

This API is intended for use during development to diagnose behavior. It doesn’t\n\t\t\t\tsupport production use-cases with high query rates that require immediate and\n\t\t\t\tactionable responses.

\n
", "smithy.api#http": { "method": "GET", "uri": "/2013-04-01/healthcheck/{HealthCheckId}/status", @@ -5737,7 +5746,7 @@ "HealthCheckId": { "target": "com.amazonaws.route53#HealthCheckId", "traits": { - "smithy.api#documentation": "

The ID for the health check that you want the current status for. When you created the\n\t\t\thealth check, CreateHealthCheck returned the ID in the response, in the\n\t\t\t\tHealthCheckId element.

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

If you want to check the status of a calculated health check, you must use the\n\t\t\t\tAmazon Route 53 console or the CloudWatch console. You can't use\n\t\t\t\t\tGetHealthCheckStatus to get the status of a calculated health\n\t\t\t\tcheck.

\n\t\t
", + "smithy.api#documentation": "

The ID for the health check that you want the current status for. When you created the\n\t\t\thealth check, CreateHealthCheck returned the ID in the response, in the\n\t\t\t\tHealthCheckId element.

\n \n

If you want to check the status of a calculated health check, you must use the\n\t\t\t\tAmazon Route 53 console or the CloudWatch console. You can't use\n\t\t\t\t\tGetHealthCheckStatus to get the status of a calculated health\n\t\t\t\tcheck.

\n
", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -5851,7 +5860,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets the specified limit for a specified hosted zone, for example, the maximum number\n\t\t\tof records that you can create in the hosted zone.

\n\t\t

For the default limit, see Limits in the\n\t\t\t\tAmazon Route 53 Developer Guide. To request a higher limit,\n\t\t\t\topen a case.

", + "smithy.api#documentation": "

Gets the specified limit for a specified hosted zone, for example, the maximum number\n\t\t\tof records that you can create in the hosted zone.

\n

For the default limit, see Limits in the\n\t\t\t\tAmazon Route 53 Developer Guide. To request a higher limit,\n\t\t\t\topen a case.

", "smithy.api#http": { "method": "GET", "uri": "/2013-04-01/hostedzonelimit/{HostedZoneId}/{Type}", @@ -5865,7 +5874,7 @@ "Type": { "target": "com.amazonaws.route53#HostedZoneLimitType", "traits": { - "smithy.api#documentation": "

The limit that you want to get. Valid values include the following:

\n\t\t
    \n
  • \n\t\t\t\t

    \n MAX_RRSETS_BY_ZONE: The maximum number of\n\t\t\t\t\trecords that you can create in the specified hosted zone.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n MAX_VPCS_ASSOCIATED_BY_ZONE: The maximum\n\t\t\t\t\tnumber of Amazon VPCs that you can associate with the specified private hosted\n\t\t\t\t\tzone.

    \n\t\t\t
  • \n
", + "smithy.api#documentation": "

The limit that you want to get. Valid values include the following:

\n
    \n
  • \n

    \n MAX_RRSETS_BY_ZONE: The maximum number of\n\t\t\t\t\trecords that you can create in the specified hosted zone.

    \n
  • \n
  • \n

    \n MAX_VPCS_ASSOCIATED_BY_ZONE: The maximum\n\t\t\t\t\tnumber of Amazon VPCs that you can associate with the specified private hosted\n\t\t\t\t\tzone.

    \n
  • \n
", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -5966,7 +5975,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets information about a specified configuration for DNS query logging.

\n\t\t

For more information about DNS query logs, see CreateQueryLoggingConfig and Logging DNS\n\t\t\tQueries.

", + "smithy.api#documentation": "

Gets information about a specified configuration for DNS query logging.

\n

For more information about DNS query logs, see CreateQueryLoggingConfig and Logging DNS\n\t\t\tQueries.

", "smithy.api#http": { "method": "GET", "uri": "/2013-04-01/queryloggingconfig/{Id}", @@ -6044,7 +6053,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets the maximum number of hosted zones that you can associate with the specified\n\t\t\treusable delegation set.

\n\t\t

For the default limit, see Limits in the\n\t\t\t\tAmazon Route 53 Developer Guide. To request a higher limit,\n\t\t\t\topen a case.

", + "smithy.api#documentation": "

Gets the maximum number of hosted zones that you can associate with the specified\n\t\t\treusable delegation set.

\n

For the default limit, see Limits in the\n\t\t\t\tAmazon Route 53 Developer Guide. To request a higher limit,\n\t\t\t\topen a case.

", "smithy.api#http": { "method": "GET", "uri": "/2013-04-01/reusabledelegationsetlimit/{DelegationSetId}/{Type}", @@ -6147,7 +6156,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets information about a specific traffic policy version.

\n\t\t

For information about how of deleting a traffic policy affects the response from\n\t\t\t\tGetTrafficPolicy, see DeleteTrafficPolicy.

", + "smithy.api#documentation": "

Gets information about a specific traffic policy version.

\n

For information about how of deleting a traffic policy affects the response from\n\t\t\t\tGetTrafficPolicy, see DeleteTrafficPolicy.

", "smithy.api#http": { "method": "GET", "uri": "/2013-04-01/trafficpolicy/{Id}/{Version}", @@ -6172,7 +6181,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets information about a specified traffic policy instance.

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

After you submit a CreateTrafficPolicyInstance or an\n\t\t\t\t\tUpdateTrafficPolicyInstance request, there's a brief delay while\n\t\t\t\tAmazon Route 53 creates the resource record sets that are specified in the traffic\n\t\t\t\tpolicy definition. For more information, see the State response\n\t\t\t\telement.

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

In the Route 53 console, traffic policy instances are known as policy\n\t\t\t\trecords.

\n\t\t
", + "smithy.api#documentation": "

Gets information about a specified traffic policy instance.

\n \n

After you submit a CreateTrafficPolicyInstance or an\n\t\t\t\t\tUpdateTrafficPolicyInstance request, there's a brief delay while\n\t\t\t\tAmazon Route 53 creates the resource record sets that are specified in the traffic\n\t\t\t\tpolicy definition. For more information, see the State response\n\t\t\t\telement.

\n
\n \n

In the Route 53 console, traffic policy instances are known as policy\n\t\t\t\trecords.

\n
", "smithy.api#http": { "method": "GET", "uri": "/2013-04-01/trafficpolicyinstance/{Id}", @@ -6348,7 +6357,7 @@ } }, "traits": { - "smithy.api#documentation": "

The health check you're attempting to create already exists. Amazon Route 53 returns\n\t\t\tthis error when you submit a request that has the following values:

\n\t\t
    \n
  • \n\t\t\t\t

    The same value for CallerReference as an existing health check,\n\t\t\t\t\tand one or more values that differ from the existing health check that has the\n\t\t\t\t\tsame caller reference.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    The same value for CallerReference as a health check that you\n\t\t\t\t\tcreated and later deleted, regardless of the other settings in the\n\t\t\t\t\trequest.

    \n\t\t\t
  • \n
", + "smithy.api#documentation": "

The health check you're attempting to create already exists. Amazon Route 53 returns\n\t\t\tthis error when you submit a request that has the following values:

\n
    \n
  • \n

    The same value for CallerReference as an existing health check,\n\t\t\t\t\tand one or more values that differ from the existing health check that has the\n\t\t\t\t\tsame caller reference.

    \n
  • \n
  • \n

    The same value for CallerReference as a health check that you\n\t\t\t\t\tcreated and later deleted, regardless of the other settings in the\n\t\t\t\t\trequest.

    \n
  • \n
", "smithy.api#error": "client", "smithy.api#httpError": 409 } @@ -6359,19 +6368,19 @@ "IPAddress": { "target": "com.amazonaws.route53#IPAddress", "traits": { - "smithy.api#documentation": "

The IPv4 or IPv6 IP address of the endpoint that you want Amazon Route 53 to perform\n\t\t\thealth checks on. If you don't specify a value for IPAddress, Route 53\n\t\t\tsends a DNS request to resolve the domain name that you specify in\n\t\t\t\tFullyQualifiedDomainName at the interval that you specify in\n\t\t\t\tRequestInterval. Using an IP address returned by DNS, Route 53 then\n\t\t\tchecks the health of the endpoint.

\n\t\t

Use one of the following formats for the value of IPAddress:

\n\t\t
    \n
  • \n\t\t\t\t

    \n IPv4 address: four values between 0 and 255,\n\t\t\t\t\tseparated by periods (.), for example, 192.0.2.44.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n IPv6 address: eight groups of four\n\t\t\t\t\thexadecimal values, separated by colons (:), for example,\n\t\t\t\t\t\t2001:0db8:85a3:0000:0000:abcd:0001:2345. You can also shorten\n\t\t\t\t\tIPv6 addresses as described in RFC 5952, for example,\n\t\t\t\t\t\t2001:db8:85a3::abcd:1:2345.

    \n\t\t\t
  • \n
\n\t\t

If the endpoint is an EC2 instance, we recommend that you create an Elastic IP\n\t\t\taddress, associate it with your EC2 instance, and specify the Elastic IP address for\n\t\t\t\tIPAddress. This ensures that the IP address of your instance will never\n\t\t\tchange.

\n\t\t

For more information, see FullyQualifiedDomainName.

\n\t\t

Constraints: Route 53 can't check the health of endpoints for which the IP address is\n\t\t\tin local, private, non-routable, or multicast ranges. For more information about IP\n\t\t\taddresses for which you can't create health checks, see the following documents:

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

When the value of Type is CALCULATED or\n\t\t\t\tCLOUDWATCH_METRIC, omit IPAddress.

" + "smithy.api#documentation": "

The IPv4 or IPv6 IP address of the endpoint that you want Amazon Route 53 to perform\n\t\t\thealth checks on. If you don't specify a value for IPAddress, Route 53\n\t\t\tsends a DNS request to resolve the domain name that you specify in\n\t\t\t\tFullyQualifiedDomainName at the interval that you specify in\n\t\t\t\tRequestInterval. Using an IP address returned by DNS, Route 53 then\n\t\t\tchecks the health of the endpoint.

\n

Use one of the following formats for the value of IPAddress:

\n
    \n
  • \n

    \n IPv4 address: four values between 0 and 255,\n\t\t\t\t\tseparated by periods (.), for example, 192.0.2.44.

    \n
  • \n
  • \n

    \n IPv6 address: eight groups of four\n\t\t\t\t\thexadecimal values, separated by colons (:), for example,\n\t\t\t\t\t\t2001:0db8:85a3:0000:0000:abcd:0001:2345. You can also shorten\n\t\t\t\t\tIPv6 addresses as described in RFC 5952, for example,\n\t\t\t\t\t\t2001:db8:85a3::abcd:1:2345.

    \n
  • \n
\n

If the endpoint is an EC2 instance, we recommend that you create an Elastic IP\n\t\t\taddress, associate it with your EC2 instance, and specify the Elastic IP address for\n\t\t\t\tIPAddress. This ensures that the IP address of your instance will never\n\t\t\tchange.

\n

For more information, see FullyQualifiedDomainName.

\n

Constraints: Route 53 can't check the health of endpoints for which the IP address is\n\t\t\tin local, private, non-routable, or multicast ranges. For more information about IP\n\t\t\taddresses for which you can't create health checks, see the following documents:

\n \n

When the value of Type is CALCULATED or\n\t\t\t\tCLOUDWATCH_METRIC, omit IPAddress.

" } }, "Port": { "target": "com.amazonaws.route53#Port", "traits": { - "smithy.api#documentation": "

The port on the endpoint that you want Amazon Route 53 to perform health checks\n\t\t\ton.

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

Don't specify a value for Port when you specify a value for\n\t\t\t\t\tType of CLOUDWATCH_METRIC or\n\t\t\t\tCALCULATED.

\n\t\t
" + "smithy.api#documentation": "

The port on the endpoint that you want Amazon Route 53 to perform health checks\n\t\t\ton.

\n \n

Don't specify a value for Port when you specify a value for\n\t\t\t\t\tType of CLOUDWATCH_METRIC or\n\t\t\t\tCALCULATED.

\n
" } }, "Type": { "target": "com.amazonaws.route53#HealthCheckType", "traits": { - "smithy.api#documentation": "

The type of health check that you want to create, which indicates how Amazon Route 53\n\t\t\tdetermines whether an endpoint is healthy.

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

You can't change the value of Type after you create a health\n\t\t\t\tcheck.

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

You can create the following types of health checks:

\n\t\t
    \n
  • \n\t\t\t\t

    \n HTTP: Route 53 tries to establish a TCP\n\t\t\t\t\tconnection. If successful, Route 53 submits an HTTP request and waits for an\n\t\t\t\t\tHTTP status code of 200 or greater and less than 400.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n HTTPS: Route 53 tries to establish a TCP\n\t\t\t\t\tconnection. If successful, Route 53 submits an HTTPS request and waits for an\n\t\t\t\t\tHTTP status code of 200 or greater and less than 400.

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

    If you specify HTTPS for the value of Type, the\n\t\t\t\t\t\tendpoint must support TLS v1.0 or later.

    \n\t\t\t\t
    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n HTTP_STR_MATCH: Route 53 tries to establish a\n\t\t\t\t\tTCP connection. If successful, Route 53 submits an HTTP request and searches the\n\t\t\t\t\tfirst 5,120 bytes of the response body for the string that you specify in\n\t\t\t\t\t\tSearchString.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n HTTPS_STR_MATCH: Route 53 tries to establish\n\t\t\t\t\ta TCP connection. If successful, Route 53 submits an HTTPS request\n\t\t\t\t\tand searches the first 5,120 bytes of the response body for the string that you\n\t\t\t\t\tspecify in SearchString.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n TCP: Route 53 tries to establish a TCP\n\t\t\t\t\tconnection.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n CLOUDWATCH_METRIC: The health check is\n\t\t\t\t\tassociated with a CloudWatch alarm. If the state of the alarm is\n\t\t\t\t\tOK, the health check is considered healthy. If the state is\n\t\t\t\t\t\tALARM, the health check is considered unhealthy. If CloudWatch\n\t\t\t\t\tdoesn't have sufficient data to determine whether the state is OK\n\t\t\t\t\tor ALARM, the health check status depends on the setting for\n\t\t\t\t\t\tInsufficientDataHealthStatus: Healthy,\n\t\t\t\t\t\tUnhealthy, or LastKnownStatus.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n CALCULATED: For health checks that monitor\n\t\t\t\t\tthe status of other health checks, Route 53 adds up the number of health checks\n\t\t\t\t\tthat Route 53 health checkers consider to be healthy and compares that number\n\t\t\t\t\twith the value of HealthThreshold.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n RECOVERY_CONTROL: The health check is\n\t\t\t\t\tassocated with a Route53 Application Recovery Controller routing control. If the\n\t\t\t\t\trouting control state is ON, the health check is considered\n\t\t\t\t\thealthy. If the state is OFF, the health check is considered\n\t\t\t\t\tunhealthy.

    \n\t\t\t
  • \n
\n\t\t

For more information, see How Route 53 Determines Whether an Endpoint Is Healthy in the\n\t\t\t\tAmazon Route 53 Developer Guide.

", + "smithy.api#documentation": "

The type of health check that you want to create, which indicates how Amazon Route 53\n\t\t\tdetermines whether an endpoint is healthy.

\n \n

You can't change the value of Type after you create a health\n\t\t\t\tcheck.

\n
\n

You can create the following types of health checks:

\n
    \n
  • \n

    \n HTTP: Route 53 tries to establish a TCP\n\t\t\t\t\tconnection. If successful, Route 53 submits an HTTP request and waits for an\n\t\t\t\t\tHTTP status code of 200 or greater and less than 400.

    \n
  • \n
  • \n

    \n HTTPS: Route 53 tries to establish a TCP\n\t\t\t\t\tconnection. If successful, Route 53 submits an HTTPS request and waits for an\n\t\t\t\t\tHTTP status code of 200 or greater and less than 400.

    \n \n

    If you specify HTTPS for the value of Type, the\n\t\t\t\t\t\tendpoint must support TLS v1.0 or later.

    \n
    \n
  • \n
  • \n

    \n HTTP_STR_MATCH: Route 53 tries to establish a\n\t\t\t\t\tTCP connection. If successful, Route 53 submits an HTTP request and searches the\n\t\t\t\t\tfirst 5,120 bytes of the response body for the string that you specify in\n\t\t\t\t\t\tSearchString.

    \n
  • \n
  • \n

    \n HTTPS_STR_MATCH: Route 53 tries to establish\n\t\t\t\t\ta TCP connection. If successful, Route 53 submits an HTTPS request\n\t\t\t\t\tand searches the first 5,120 bytes of the response body for the string that you\n\t\t\t\t\tspecify in SearchString.

    \n
  • \n
  • \n

    \n TCP: Route 53 tries to establish a TCP\n\t\t\t\t\tconnection.

    \n
  • \n
  • \n

    \n CLOUDWATCH_METRIC: The health check is\n\t\t\t\t\tassociated with a CloudWatch alarm. If the state of the alarm is\n\t\t\t\t\tOK, the health check is considered healthy. If the state is\n\t\t\t\t\t\tALARM, the health check is considered unhealthy. If CloudWatch\n\t\t\t\t\tdoesn't have sufficient data to determine whether the state is OK\n\t\t\t\t\tor ALARM, the health check status depends on the setting for\n\t\t\t\t\t\tInsufficientDataHealthStatus: Healthy,\n\t\t\t\t\t\tUnhealthy, or LastKnownStatus.

    \n
  • \n
  • \n

    \n CALCULATED: For health checks that monitor\n\t\t\t\t\tthe status of other health checks, Route 53 adds up the number of health checks\n\t\t\t\t\tthat Route 53 health checkers consider to be healthy and compares that number\n\t\t\t\t\twith the value of HealthThreshold.

    \n
  • \n
  • \n

    \n RECOVERY_CONTROL: The health check is\n\t\t\t\t\tassocated with a Route53 Application Recovery Controller routing control. If the\n\t\t\t\t\trouting control state is ON, the health check is considered\n\t\t\t\t\thealthy. If the state is OFF, the health check is considered\n\t\t\t\t\tunhealthy.

    \n
  • \n
\n

For more information, see How Route 53 Determines Whether an Endpoint Is Healthy in the\n\t\t\t\tAmazon Route 53 Developer Guide.

", "smithy.api#required": {} } }, @@ -6384,31 +6393,31 @@ "FullyQualifiedDomainName": { "target": "com.amazonaws.route53#FullyQualifiedDomainName", "traits": { - "smithy.api#documentation": "

Amazon Route 53 behavior depends on whether you specify a value for\n\t\t\t\tIPAddress.

\n\t\t

\n If you specify a value for\n\t\t\t IPAddress:

\n\t\t

Amazon Route 53 sends health check requests to the specified IPv4 or IPv6 address and\n\t\t\tpasses the value of FullyQualifiedDomainName in the Host\n\t\t\theader for all health checks except TCP health checks. This is typically the fully\n\t\t\tqualified DNS name of the endpoint on which you want Route 53 to perform health\n\t\t\tchecks.

\n\t\t

When Route 53 checks the health of an endpoint, here is how it constructs the\n\t\t\t\tHost header:

\n\t\t
    \n
  • \n\t\t\t\t

    If you specify a value of 80 for Port and\n\t\t\t\t\t\tHTTP or HTTP_STR_MATCH for Type,\n\t\t\t\t\tRoute 53 passes the value of FullyQualifiedDomainName to the\n\t\t\t\t\tendpoint in the Host header.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    If you specify a value of 443 for Port and\n\t\t\t\t\t\tHTTPS or HTTPS_STR_MATCH for Type,\n\t\t\t\t\tRoute 53 passes the value of FullyQualifiedDomainName to the\n\t\t\t\t\tendpoint in the Host header.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    If you specify another value for Port and any value except\n\t\t\t\t\t\tTCP for Type, Route 53 passes\n\t\t\t\t\t\tFullyQualifiedDomainName:Port to the endpoint in the\n\t\t\t\t\t\tHost header.

    \n\t\t\t
  • \n
\n\t\t

If you don't specify a value for FullyQualifiedDomainName, Route 53\n\t\t\tsubstitutes the value of IPAddress in the Host header in each\n\t\t\tof the preceding cases.

\n\t\t

\n If you don't specify a value for\n\t\t\t IPAddress:

\n\t\t

Route 53 sends a DNS request to the domain that you specify for\n\t\t\t\tFullyQualifiedDomainName at the interval that you specify for\n\t\t\t\tRequestInterval. Using an IPv4 address that DNS returns, Route 53 then\n\t\t\tchecks the health of the endpoint.

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

If you don't specify a value for IPAddress, Route 53 uses only IPv4\n\t\t\t\tto send health checks to the endpoint. If there's no resource record set with a type\n\t\t\t\tof A for the name that you specify for FullyQualifiedDomainName, the\n\t\t\t\thealth check fails with a \"DNS resolution failed\" error.

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

If you want to check the health of weighted, latency, or failover resource record sets\n\t\t\tand you choose to specify the endpoint only by FullyQualifiedDomainName, we\n\t\t\trecommend that you create a separate health check for each endpoint. For example, create\n\t\t\ta health check for each HTTP server that is serving content for www.example.com. For the\n\t\t\tvalue of FullyQualifiedDomainName, specify the domain name of the server\n\t\t\t(such as us-east-2-www.example.com), not the name of the resource record sets\n\t\t\t(www.example.com).

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

In this configuration, if you create a health check for which the value of\n\t\t\t\t\tFullyQualifiedDomainName matches the name of the resource record\n\t\t\t\tsets and you then associate the health check with those resource record sets, health\n\t\t\t\tcheck results will be unpredictable.

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

In addition, if the value that you specify for Type is HTTP,\n\t\t\t\tHTTPS, HTTP_STR_MATCH, or HTTPS_STR_MATCH,\n\t\t\tRoute 53 passes the value of FullyQualifiedDomainName in the\n\t\t\t\tHost header, as it does when you specify a value for\n\t\t\t\tIPAddress. If the value of Type is TCP, Route\n\t\t\t53 doesn't pass a Host header.

" + "smithy.api#documentation": "

Amazon Route 53 behavior depends on whether you specify a value for\n\t\t\t\tIPAddress.

\n

\n If you specify a value for\n IPAddress:

\n

Amazon Route 53 sends health check requests to the specified IPv4 or IPv6 address and\n\t\t\tpasses the value of FullyQualifiedDomainName in the Host\n\t\t\theader for all health checks except TCP health checks. This is typically the fully\n\t\t\tqualified DNS name of the endpoint on which you want Route 53 to perform health\n\t\t\tchecks.

\n

When Route 53 checks the health of an endpoint, here is how it constructs the\n\t\t\t\tHost header:

\n
    \n
  • \n

    If you specify a value of 80 for Port and\n\t\t\t\t\t\tHTTP or HTTP_STR_MATCH for Type,\n\t\t\t\t\tRoute 53 passes the value of FullyQualifiedDomainName to the\n\t\t\t\t\tendpoint in the Host header.

    \n
  • \n
  • \n

    If you specify a value of 443 for Port and\n\t\t\t\t\t\tHTTPS or HTTPS_STR_MATCH for Type,\n\t\t\t\t\tRoute 53 passes the value of FullyQualifiedDomainName to the\n\t\t\t\t\tendpoint in the Host header.

    \n
  • \n
  • \n

    If you specify another value for Port and any value except\n\t\t\t\t\t\tTCP for Type, Route 53 passes\n\t\t\t\t\t\tFullyQualifiedDomainName:Port to the endpoint in the\n\t\t\t\t\t\tHost header.

    \n
  • \n
\n

If you don't specify a value for FullyQualifiedDomainName, Route 53\n\t\t\tsubstitutes the value of IPAddress in the Host header in each\n\t\t\tof the preceding cases.

\n

\n If you don't specify a value for\n IPAddress:

\n

Route 53 sends a DNS request to the domain that you specify for\n\t\t\t\tFullyQualifiedDomainName at the interval that you specify for\n\t\t\t\tRequestInterval. Using an IPv4 address that DNS returns, Route 53 then\n\t\t\tchecks the health of the endpoint.

\n \n

If you don't specify a value for IPAddress, Route 53 uses only IPv4\n\t\t\t\tto send health checks to the endpoint. If there's no resource record set with a type\n\t\t\t\tof A for the name that you specify for FullyQualifiedDomainName, the\n\t\t\t\thealth check fails with a \"DNS resolution failed\" error.

\n
\n

If you want to check the health of weighted, latency, or failover resource record sets\n\t\t\tand you choose to specify the endpoint only by FullyQualifiedDomainName, we\n\t\t\trecommend that you create a separate health check for each endpoint. For example, create\n\t\t\ta health check for each HTTP server that is serving content for www.example.com. For the\n\t\t\tvalue of FullyQualifiedDomainName, specify the domain name of the server\n\t\t\t(such as us-east-2-www.example.com), not the name of the resource record sets\n\t\t\t(www.example.com).

\n \n

In this configuration, if you create a health check for which the value of\n\t\t\t\t\tFullyQualifiedDomainName matches the name of the resource record\n\t\t\t\tsets and you then associate the health check with those resource record sets, health\n\t\t\t\tcheck results will be unpredictable.

\n
\n

In addition, if the value that you specify for Type is HTTP,\n\t\t\t\tHTTPS, HTTP_STR_MATCH, or HTTPS_STR_MATCH,\n\t\t\tRoute 53 passes the value of FullyQualifiedDomainName in the\n\t\t\t\tHost header, as it does when you specify a value for\n\t\t\t\tIPAddress. If the value of Type is TCP, Route\n\t\t\t53 doesn't pass a Host header.

" } }, "SearchString": { "target": "com.amazonaws.route53#SearchString", "traits": { - "smithy.api#documentation": "

If the value of Type is HTTP_STR_MATCH or HTTPS_STR_MATCH,\n\t\t\tthe string that you want Amazon Route 53 to search for in the response body from the\n\t\t\tspecified resource. If the string appears in the response body, Route 53 considers the\n\t\t\tresource healthy.

\n\t\t

Route 53 considers case when searching for SearchString in the response\n\t\t\tbody.

" + "smithy.api#documentation": "

If the value of Type is HTTP_STR_MATCH or HTTPS_STR_MATCH,\n\t\t\tthe string that you want Amazon Route 53 to search for in the response body from the\n\t\t\tspecified resource. If the string appears in the response body, Route 53 considers the\n\t\t\tresource healthy.

\n

Route 53 considers case when searching for SearchString in the response\n\t\t\tbody.

" } }, "RequestInterval": { "target": "com.amazonaws.route53#RequestInterval", "traits": { - "smithy.api#documentation": "

The number of seconds between the time that Amazon Route 53 gets a response from your\n\t\t\tendpoint and the time that it sends the next health check request. Each Route 53 health\n\t\t\tchecker makes requests at this interval.

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

You can't change the value of RequestInterval after you create a\n\t\t\t\thealth check.

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

If you don't specify a value for RequestInterval, the default value is\n\t\t\t\t30 seconds.

" + "smithy.api#documentation": "

The number of seconds between the time that Amazon Route 53 gets a response from your\n\t\t\tendpoint and the time that it sends the next health check request. Each Route 53 health\n\t\t\tchecker makes requests at this interval.

\n \n

You can't change the value of RequestInterval after you create a\n\t\t\t\thealth check.

\n
\n

If you don't specify a value for RequestInterval, the default value is\n\t\t\t\t30 seconds.

" } }, "FailureThreshold": { "target": "com.amazonaws.route53#FailureThreshold", "traits": { - "smithy.api#documentation": "

The number of consecutive health checks that an endpoint must pass or fail for Amazon\n\t\t\tRoute 53 to change the current status of the endpoint from unhealthy to healthy or vice\n\t\t\tversa. For more information, see How Amazon Route 53 Determines Whether an Endpoint Is Healthy in the\n\t\t\t\tAmazon Route 53 Developer Guide.

\n\t\t

If you don't specify a value for FailureThreshold, the default value is\n\t\t\tthree health checks.

" + "smithy.api#documentation": "

The number of consecutive health checks that an endpoint must pass or fail for Amazon\n\t\t\tRoute 53 to change the current status of the endpoint from unhealthy to healthy or vice\n\t\t\tversa. For more information, see How Amazon Route 53 Determines Whether an Endpoint Is Healthy in the\n\t\t\t\tAmazon Route 53 Developer Guide.

\n

If you don't specify a value for FailureThreshold, the default value is\n\t\t\tthree health checks.

" } }, "MeasureLatency": { "target": "com.amazonaws.route53#MeasureLatency", "traits": { - "smithy.api#documentation": "

Specify whether you want Amazon Route 53 to measure the latency between health\n\t\t\tcheckers in multiple Amazon Web Services regions and your endpoint, and to display\n\t\t\tCloudWatch latency graphs on the Health Checks page in\n\t\t\tthe Route 53 console.

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

You can't change the value of MeasureLatency after you create a\n\t\t\t\thealth check.

\n\t\t
" + "smithy.api#documentation": "

Specify whether you want Amazon Route 53 to measure the latency between health\n\t\t\tcheckers in multiple Amazon Web Services regions and your endpoint, and to display\n\t\t\tCloudWatch latency graphs on the Health Checks page in\n\t\t\tthe Route 53 console.

\n \n

You can't change the value of MeasureLatency after you create a\n\t\t\t\thealth check.

\n
" } }, "Inverted": { @@ -6420,13 +6429,13 @@ "Disabled": { "target": "com.amazonaws.route53#Disabled", "traits": { - "smithy.api#documentation": "

Stops Route 53 from performing health checks. When you disable a health check, here's\n\t\t\twhat happens:

\n\t\t
    \n
  • \n\t\t\t\t

    \n Health checks that check the health of\n\t\t\t\t\t\tendpoints: Route 53 stops submitting requests to your\n\t\t\t\t\tapplication, server, or other resource.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n Calculated health checks: Route 53 stops\n\t\t\t\t\taggregating the status of the referenced health checks.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n Health checks that monitor CloudWatch alarms:\n\t\t\t\t\tRoute 53 stops monitoring the corresponding CloudWatch metrics.

    \n\t\t\t
  • \n
\n\t\t

After you disable a health check, Route 53 considers the status of the health check to\n\t\t\talways be healthy. If you configured DNS failover, Route 53 continues to route traffic\n\t\t\tto the corresponding resources. If you want to stop routing traffic to a resource,\n\t\t\tchange the value of Inverted.

\n\t\t

Charges for a health check still apply when the health check is disabled. For more\n\t\t\tinformation, see Amazon Route 53\n\t\t\t\tPricing.

" + "smithy.api#documentation": "

Stops Route 53 from performing health checks. When you disable a health check, here's\n\t\t\twhat happens:

\n
    \n
  • \n

    \n Health checks that check the health of\n\t\t\t\t\t\tendpoints: Route 53 stops submitting requests to your\n\t\t\t\t\tapplication, server, or other resource.

    \n
  • \n
  • \n

    \n Calculated health checks: Route 53 stops\n\t\t\t\t\taggregating the status of the referenced health checks.

    \n
  • \n
  • \n

    \n Health checks that monitor CloudWatch alarms:\n\t\t\t\t\tRoute 53 stops monitoring the corresponding CloudWatch metrics.

    \n
  • \n
\n

After you disable a health check, Route 53 considers the status of the health check to\n\t\t\talways be healthy. If you configured DNS failover, Route 53 continues to route traffic\n\t\t\tto the corresponding resources. If you want to stop routing traffic to a resource,\n\t\t\tchange the value of Inverted.

\n

Charges for a health check still apply when the health check is disabled. For more\n\t\t\tinformation, see Amazon Route 53\n\t\t\t\tPricing.

" } }, "HealthThreshold": { "target": "com.amazonaws.route53#HealthThreshold", "traits": { - "smithy.api#documentation": "

The number of child health checks that are associated with a CALCULATED\n\t\t\thealth check that Amazon Route 53 must consider healthy for the CALCULATED\n\t\t\thealth check to be considered healthy. To specify the child health checks that you want\n\t\t\tto associate with a CALCULATED health check, use the ChildHealthChecks element.

\n\t\t

Note the following:

\n\t\t
    \n
  • \n\t\t\t\t

    If you specify a number greater than the number of child health checks, Route\n\t\t\t\t\t53 always considers this health check to be unhealthy.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    If you specify 0, Route 53 always considers this health check to\n\t\t\t\t\tbe healthy.

    \n\t\t\t
  • \n
" + "smithy.api#documentation": "

The number of child health checks that are associated with a CALCULATED\n\t\t\thealth check that Amazon Route 53 must consider healthy for the CALCULATED\n\t\t\thealth check to be considered healthy. To specify the child health checks that you want\n\t\t\tto associate with a CALCULATED health check, use the ChildHealthChecks element.

\n

Note the following:

\n
    \n
  • \n

    If you specify a number greater than the number of child health checks, Route\n\t\t\t\t\t53 always considers this health check to be unhealthy.

    \n
  • \n
  • \n

    If you specify 0, Route 53 always considers this health check to\n\t\t\t\t\tbe healthy.

    \n
  • \n
" } }, "ChildHealthChecks": { @@ -6438,13 +6447,13 @@ "EnableSNI": { "target": "com.amazonaws.route53#EnableSNI", "traits": { - "smithy.api#documentation": "

Specify whether you want Amazon Route 53 to send the value of\n\t\t\t\tFullyQualifiedDomainName to the endpoint in the\n\t\t\t\tclient_hello message during TLS negotiation. This allows the endpoint\n\t\t\tto respond to HTTPS health check requests with the applicable SSL/TLS\n\t\t\tcertificate.

\n\t\t

Some endpoints require that HTTPS requests include the host name in the\n\t\t\t\tclient_hello message. If you don't enable SNI, the status of the health\n\t\t\tcheck will be SSL alert handshake_failure. A health check can also have\n\t\t\tthat status for other reasons. If SNI is enabled and you're still getting the error,\n\t\t\tcheck the SSL/TLS configuration on your endpoint and confirm that your certificate is\n\t\t\tvalid.

\n\t\t

The SSL/TLS certificate on your endpoint includes a domain name in the Common\n\t\t\t\tName field and possibly several more in the Subject Alternative\n\t\t\t\tNames field. One of the domain names in the certificate should match the\n\t\t\tvalue that you specify for FullyQualifiedDomainName. If the endpoint\n\t\t\tresponds to the client_hello message with a certificate that does not\n\t\t\tinclude the domain name that you specified in FullyQualifiedDomainName, a\n\t\t\thealth checker will retry the handshake. In the second attempt, the health checker will\n\t\t\tomit FullyQualifiedDomainName from the client_hello\n\t\t\tmessage.

" + "smithy.api#documentation": "

Specify whether you want Amazon Route 53 to send the value of\n\t\t\t\tFullyQualifiedDomainName to the endpoint in the\n\t\t\t\tclient_hello message during TLS negotiation. This allows the endpoint\n\t\t\tto respond to HTTPS health check requests with the applicable SSL/TLS\n\t\t\tcertificate.

\n

Some endpoints require that HTTPS requests include the host name in the\n\t\t\t\tclient_hello message. If you don't enable SNI, the status of the health\n\t\t\tcheck will be SSL alert handshake_failure. A health check can also have\n\t\t\tthat status for other reasons. If SNI is enabled and you're still getting the error,\n\t\t\tcheck the SSL/TLS configuration on your endpoint and confirm that your certificate is\n\t\t\tvalid.

\n

The SSL/TLS certificate on your endpoint includes a domain name in the Common\n\t\t\t\tName field and possibly several more in the Subject Alternative\n\t\t\t\tNames field. One of the domain names in the certificate should match the\n\t\t\tvalue that you specify for FullyQualifiedDomainName. If the endpoint\n\t\t\tresponds to the client_hello message with a certificate that does not\n\t\t\tinclude the domain name that you specified in FullyQualifiedDomainName, a\n\t\t\thealth checker will retry the handshake. In the second attempt, the health checker will\n\t\t\tomit FullyQualifiedDomainName from the client_hello\n\t\t\tmessage.

" } }, "Regions": { "target": "com.amazonaws.route53#HealthCheckRegionList", "traits": { - "smithy.api#documentation": "

A complex type that contains one Region element for each region from\n\t\t\twhich you want Amazon Route 53 health checkers to check the specified endpoint.

\n\t\t

If you don't specify any regions, Route 53 health checkers automatically performs\n\t\t\tchecks from all of the regions that are listed under Valid\n\t\t\t\tValues.

\n\t\t

If you update a health check to remove a region that has been performing health\n\t\t\tchecks, Route 53 will briefly continue to perform checks from that region to ensure that\n\t\t\tsome health checkers are always checking the endpoint (for example, if you replace three\n\t\t\tregions with four different regions).

" + "smithy.api#documentation": "

A complex type that contains one Region element for each region from\n\t\t\twhich you want Amazon Route 53 health checkers to check the specified endpoint.

\n

If you don't specify any regions, Route 53 health checkers automatically performs\n\t\t\tchecks from all of the regions that are listed under Valid\n\t\t\t\tValues.

\n

If you update a health check to remove a region that has been performing health\n\t\t\tchecks, Route 53 will briefly continue to perform checks from that region to ensure that\n\t\t\tsome health checkers are always checking the endpoint (for example, if you replace three\n\t\t\tregions with four different regions).

" } }, "AlarmIdentifier": { @@ -6456,13 +6465,13 @@ "InsufficientDataHealthStatus": { "target": "com.amazonaws.route53#InsufficientDataHealthStatus", "traits": { - "smithy.api#documentation": "

When CloudWatch has insufficient data about the metric to determine the alarm state,\n\t\t\tthe status that you want Amazon Route 53 to assign to the health check:

\n\t\t
    \n
  • \n\t\t\t\t

    \n Healthy: Route 53 considers the health check to be\n\t\t\t\t\thealthy.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n Unhealthy: Route 53 considers the health check to be\n\t\t\t\t\tunhealthy.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n LastKnownStatus: Route 53 uses the status of the health check\n\t\t\t\t\tfrom the last time that CloudWatch had sufficient data to determine the alarm\n\t\t\t\t\tstate. For new health checks that have no last known status, the default status\n\t\t\t\t\tfor the health check is healthy.

    \n\t\t\t
  • \n
" + "smithy.api#documentation": "

When CloudWatch has insufficient data about the metric to determine the alarm state,\n\t\t\tthe status that you want Amazon Route 53 to assign to the health check:

\n
    \n
  • \n

    \n Healthy: Route 53 considers the health check to be\n\t\t\t\t\thealthy.

    \n
  • \n
  • \n

    \n Unhealthy: Route 53 considers the health check to be\n\t\t\t\t\tunhealthy.

    \n
  • \n
  • \n

    \n LastKnownStatus: Route 53 uses the status of the health check\n\t\t\t\t\tfrom the last time that CloudWatch had sufficient data to determine the alarm\n\t\t\t\t\tstate. For new health checks that have no last known status, the default status\n\t\t\t\t\tfor the health check is healthy.

    \n
  • \n
" } }, "RoutingControlArn": { "target": "com.amazonaws.route53#RoutingControlArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the Route 53 Application Recovery Controller\n\t\t\trouting control.

\n\t\t

For more information about Route 53 Application Recovery Controller, see Route 53 Application Recovery Controller Developer Guide..

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the Route 53 Application Recovery Controller\n\t\t\trouting control.

\n

For more information about Route 53 Application Recovery Controller, see Route 53 Application Recovery Controller Developer Guide..

" } } }, @@ -6722,7 +6731,7 @@ "Name": { "target": "com.amazonaws.route53#DNSName", "traits": { - "smithy.api#documentation": "

The name of the domain. For public hosted zones, this is the name that you have\n\t\t\tregistered with your DNS registrar.

\n\t\t

For information about how to specify characters other than a-z,\n\t\t\t\t0-9, and - (hyphen) and how to specify internationalized\n\t\t\tdomain names, see CreateHostedZone.

", + "smithy.api#documentation": "

The name of the domain. For public hosted zones, this is the name that you have\n\t\t\tregistered with your DNS registrar.

\n

For information about how to specify characters other than a-z,\n\t\t\t\t0-9, and - (hyphen) and how to specify internationalized\n\t\t\tdomain names, see CreateHostedZone.

", "smithy.api#required": {} } }, @@ -6802,7 +6811,7 @@ "Type": { "target": "com.amazonaws.route53#HostedZoneLimitType", "traits": { - "smithy.api#documentation": "

The limit that you requested. Valid values include the following:

\n\t\t
    \n
  • \n\t\t\t\t

    \n MAX_RRSETS_BY_ZONE: The maximum number of\n\t\t\t\t\trecords that you can create in the specified hosted zone.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n MAX_VPCS_ASSOCIATED_BY_ZONE: The maximum\n\t\t\t\t\tnumber of Amazon VPCs that you can associate with the specified private hosted\n\t\t\t\t\tzone.

    \n\t\t\t
  • \n
", + "smithy.api#documentation": "

The limit that you requested. Valid values include the following:

\n
    \n
  • \n

    \n MAX_RRSETS_BY_ZONE: The maximum number of\n\t\t\t\t\trecords that you can create in the specified hosted zone.

    \n
  • \n
  • \n

    \n MAX_VPCS_ASSOCIATED_BY_ZONE: The maximum\n\t\t\t\t\tnumber of Amazon VPCs that you can associate with the specified private hosted\n\t\t\t\t\tzone.

    \n
  • \n
", "smithy.api#required": {} } }, @@ -7007,7 +7016,7 @@ } }, "traits": { - "smithy.api#documentation": "

Amazon Route 53 doesn't have the permissions required to create log streams and send\n\t\t\tquery logs to log streams. Possible causes include the following:

\n\t\t
    \n
  • \n\t\t\t\t

    There is no resource policy that specifies the log group ARN in the value for\n\t\t\t\t\t\tResource.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    The resource policy that includes the log group ARN in the value for\n\t\t\t\t\t\tResource doesn't have the necessary permissions.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    The resource policy hasn't finished propagating yet.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    The Key management service (KMS) key you specified doesn’t exist or it can’t\n\t\t\t\t\tbe used with the log group associated with query log. Update or provide a\n\t\t\t\t\tresource policy to grant permissions for the KMS key.

    \n\t\t\t
  • \n
  • \n

    The Key management service (KMS) key you specified is marked as \n\t\t\t\tdisabled for the log group associated with query log. Update or provide \n\t\t\t\ta resource policy to grant permissions for the KMS key.

    \n\t\t\t
  • \n
", + "smithy.api#documentation": "

Amazon Route 53 doesn't have the permissions required to create log streams and send\n\t\t\tquery logs to log streams. Possible causes include the following:

\n
    \n
  • \n

    There is no resource policy that specifies the log group ARN in the value for\n\t\t\t\t\t\tResource.

    \n
  • \n
  • \n

    The resource policy that includes the log group ARN in the value for\n\t\t\t\t\t\tResource doesn't have the necessary permissions.

    \n
  • \n
  • \n

    The resource policy hasn't finished propagating yet.

    \n
  • \n
  • \n

    The Key management service (KMS) key you specified doesn’t exist or it can’t\n\t\t\t\t\tbe used with the log group associated with query log. Update or provide a\n\t\t\t\t\tresource policy to grant permissions for the KMS key.

    \n
  • \n
  • \n

    The Key management service (KMS) key you specified is marked as \n\t\t\t\tdisabled for the log group associated with query log. Update or provide \n\t\t\t\ta resource policy to grant permissions for the KMS key.

    \n
  • \n
", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -7216,7 +7225,7 @@ "KmsArn": { "target": "com.amazonaws.route53#SigningKeyString", "traits": { - "smithy.api#documentation": "

The Amazon resource name (ARN) used to identify the customer managed key in Key Management Service (KMS). The KmsArn must be unique for each\n\t\t\tkey-signing key (KSK) in a single hosted zone.

\n\t\t

You must configure the customer managed key as follows:

\n\t\t
\n
Status
\n
\n\t\t\t\t\t

Enabled

\n\t\t\t\t
\n
Key spec
\n
\n\t\t\t\t\t

ECC_NIST_P256

\n\t\t\t\t
\n
Key usage
\n
\n\t\t\t\t\t

Sign and verify

\n\t\t\t\t
\n
Key policy
\n
\n\t\t\t\t\t

The key policy must give permission for the following actions:

\n\t\t\t\t\t
    \n
  • \n\t\t\t\t\t\t\t

    DescribeKey

    \n\t\t\t\t\t\t
  • \n
  • \n\t\t\t\t\t\t\t

    GetPublicKey

    \n\t\t\t\t\t\t
  • \n
  • \n\t\t\t\t\t\t\t

    Sign

    \n\t\t\t\t\t\t
  • \n
\n\t\t\t\t\t

The key policy must also include the Amazon Route 53 service in the\n\t\t\t\t\t\tprincipal for your account. Specify the following:

\n\t\t\t\t\t
    \n
  • \n\t\t\t\t\t\t\t

    \n \"Service\": \"dnssec-route53.amazonaws.com\"\n

    \n\t\t\t\t\t\t
  • \n
\n\t\t\t\t
\n
\n\t\t

For more information about working with the customer managed key in KMS, see Key Management Service\n\t\t\t\tconcepts.

" + "smithy.api#documentation": "

The Amazon resource name (ARN) used to identify the customer managed key in Key Management Service (KMS). The KmsArn must be unique for each\n\t\t\tkey-signing key (KSK) in a single hosted zone.

\n

You must configure the customer managed key as follows:

\n
\n
Status
\n
\n

Enabled

\n
\n
Key spec
\n
\n

ECC_NIST_P256

\n
\n
Key usage
\n
\n

Sign and verify

\n
\n
Key policy
\n
\n

The key policy must give permission for the following actions:

\n
    \n
  • \n

    DescribeKey

    \n
  • \n
  • \n

    GetPublicKey

    \n
  • \n
  • \n

    Sign

    \n
  • \n
\n

The key policy must also include the Amazon Route 53 service in the\n\t\t\t\t\t\tprincipal for your account. Specify the following:

\n
    \n
  • \n

    \n \"Service\": \"dnssec-route53.amazonaws.com\"\n

    \n
  • \n
\n
\n
\n

For more information about working with the customer managed key in KMS, see Key Management Service\n\t\t\t\tconcepts.

" } }, "Flag": { @@ -7286,7 +7295,7 @@ "Status": { "target": "com.amazonaws.route53#SigningKeyStatus", "traits": { - "smithy.api#documentation": "

A string that represents the current key-signing key (KSK) status.

\n\t\t

Status can have one of the following values:

\n\t\t
\n
ACTIVE
\n
\n\t\t\t\t\t

The KSK is being used for signing.

\n\t\t\t\t
\n
INACTIVE
\n
\n\t\t\t\t\t

The KSK is not being used for signing.

\n\t\t\t\t
\n
DELETING
\n
\n\t\t\t\t\t

The KSK is in the process of being deleted.

\n\t\t\t\t
\n
ACTION_NEEDED
\n
\n\t\t\t\t\t

There is a problem with the KSK that requires you to take action to\n\t\t\t\t\t\tresolve. For example, the customer managed key might have been deleted,\n\t\t\t\t\t\tor the permissions for the customer managed key might have been\n\t\t\t\t\t\tchanged.

\n\t\t\t\t
\n
INTERNAL_FAILURE
\n
\n\t\t\t\t\t

There was an error during a request. Before you can continue to work with\n\t\t\t\t\t\tDNSSEC signing, including actions that involve this KSK, you must correct\n\t\t\t\t\t\tthe problem. For example, you may need to activate or deactivate the\n\t\t\t\t\t\tKSK.

\n\t\t\t\t
\n
" + "smithy.api#documentation": "

A string that represents the current key-signing key (KSK) status.

\n

Status can have one of the following values:

\n
\n
ACTIVE
\n
\n

The KSK is being used for signing.

\n
\n
INACTIVE
\n
\n

The KSK is not being used for signing.

\n
\n
DELETING
\n
\n

The KSK is in the process of being deleted.

\n
\n
ACTION_NEEDED
\n
\n

There is a problem with the KSK that requires you to take action to\n\t\t\t\t\t\tresolve. For example, the customer managed key might have been deleted,\n\t\t\t\t\t\tor the permissions for the customer managed key might have been\n\t\t\t\t\t\tchanged.

\n
\n
INTERNAL_FAILURE
\n
\n

There was an error during a request. Before you can continue to work with\n\t\t\t\t\t\tDNSSEC signing, including actions that involve this KSK, you must correct\n\t\t\t\t\t\tthe problem. For example, you may need to activate or deactivate the\n\t\t\t\t\t\tKSK.

\n
\n
" } }, "StatusMessage": { @@ -7502,7 +7511,7 @@ "NextToken": { "target": "com.amazonaws.route53#PaginationToken", "traits": { - "smithy.api#documentation": "

An opaque pagination token to indicate where the service is to begin enumerating\n\t\t\tresults.

\n\t\t

If no value is provided, the listing of results starts from the beginning.

" + "smithy.api#documentation": "

An opaque pagination token to indicate where the service is to begin enumerating\n\t\t\tresults.

\n

If no value is provided, the listing of results starts from the beginning.

" } }, "CidrBlocks": { @@ -7547,7 +7556,7 @@ "NextToken": { "target": "com.amazonaws.route53#PaginationToken", "traits": { - "smithy.api#documentation": "

An opaque pagination token to indicate where the service is to begin enumerating\n\t\t\tresults.

\n\t\t

If no value is provided, the listing of results starts from the beginning.

", + "smithy.api#documentation": "

An opaque pagination token to indicate where the service is to begin enumerating\n\t\t\tresults.

\n

If no value is provided, the listing of results starts from the beginning.

", "smithy.api#httpQuery": "nexttoken" } }, @@ -7566,7 +7575,7 @@ "NextToken": { "target": "com.amazonaws.route53#PaginationToken", "traits": { - "smithy.api#documentation": "

An opaque pagination token to indicate where the service is to begin enumerating\n\t\t\tresults.

\n\t\t

If no value is provided, the listing of results starts from the beginning.

" + "smithy.api#documentation": "

An opaque pagination token to indicate where the service is to begin enumerating\n\t\t\tresults.

\n

If no value is provided, the listing of results starts from the beginning.

" } }, "CidrCollections": { @@ -7622,7 +7631,7 @@ "NextToken": { "target": "com.amazonaws.route53#PaginationToken", "traits": { - "smithy.api#documentation": "

An opaque pagination token to indicate where the service is to begin enumerating\n\t\t\tresults.

\n\t\t

If no value is provided, the listing of results starts from the beginning.

", + "smithy.api#documentation": "

An opaque pagination token to indicate where the service is to begin enumerating\n\t\t\tresults.

\n

If no value is provided, the listing of results starts from the beginning.

", "smithy.api#httpQuery": "nexttoken" } }, @@ -7641,7 +7650,7 @@ "NextToken": { "target": "com.amazonaws.route53#PaginationToken", "traits": { - "smithy.api#documentation": "

An opaque pagination token to indicate where the service is to begin enumerating\n\t\t\tresults.

\n\t\t

If no value is provided, the listing of results starts from the beginning.

" + "smithy.api#documentation": "

An opaque pagination token to indicate where the service is to begin enumerating\n\t\t\tresults.

\n

If no value is provided, the listing of results starts from the beginning.

" } }, "CidrLocations": { @@ -7666,7 +7675,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves a list of supported geographic locations.

\n\t\t

Countries are listed first, and continents are listed last. If Amazon Route 53\n\t\t\tsupports subdivisions for a country (for example, states or provinces), the subdivisions\n\t\t\tfor that country are listed in alphabetical order immediately after the corresponding\n\t\t\tcountry.

\n\t\t

Route 53 does not perform authorization for this API because it retrieves information\n\t\t\tthat is already available to the public.

\n\t\t

For a list of supported geolocation codes, see the GeoLocation data\n\t\t\ttype.

", + "smithy.api#documentation": "

Retrieves a list of supported geographic locations.

\n

Countries are listed first, and continents are listed last. If Amazon Route 53\n\t\t\tsupports subdivisions for a country (for example, states or provinces), the subdivisions\n\t\t\tfor that country are listed in alphabetical order immediately after the corresponding\n\t\t\tcountry.

\n

Route 53 does not perform authorization for this API because it retrieves information\n\t\t\tthat is already available to the public.

\n

For a list of supported geolocation codes, see the GeoLocation data\n\t\t\ttype.

", "smithy.api#http": { "method": "GET", "uri": "/2013-04-01/geolocations", @@ -7680,7 +7689,7 @@ "StartContinentCode": { "target": "com.amazonaws.route53#GeoLocationContinentCode", "traits": { - "smithy.api#documentation": "

The code for the continent with which you want to start listing locations that Amazon\n\t\t\tRoute 53 supports for geolocation. If Route 53 has already returned a page or more of\n\t\t\tresults, if IsTruncated is true, and if NextContinentCode from\n\t\t\tthe previous response has a value, enter that value in startcontinentcode\n\t\t\tto return the next page of results.

\n\t\t

Include startcontinentcode only if you want to list continents. Don't\n\t\t\tinclude startcontinentcode when you're listing countries or countries with\n\t\t\ttheir subdivisions.

", + "smithy.api#documentation": "

The code for the continent with which you want to start listing locations that Amazon\n\t\t\tRoute 53 supports for geolocation. If Route 53 has already returned a page or more of\n\t\t\tresults, if IsTruncated is true, and if NextContinentCode from\n\t\t\tthe previous response has a value, enter that value in startcontinentcode\n\t\t\tto return the next page of results.

\n

Include startcontinentcode only if you want to list continents. Don't\n\t\t\tinclude startcontinentcode when you're listing countries or countries with\n\t\t\ttheir subdivisions.

", "smithy.api#httpQuery": "startcontinentcode" } }, @@ -7694,7 +7703,7 @@ "StartSubdivisionCode": { "target": "com.amazonaws.route53#GeoLocationSubdivisionCode", "traits": { - "smithy.api#documentation": "

The code for the state of the United States with which you want to start listing\n\t\t\tlocations that Amazon Route 53 supports for geolocation. If Route 53 has already\n\t\t\treturned a page or more of results, if IsTruncated is true,\n\t\t\tand if NextSubdivisionCode from the previous response has a value, enter\n\t\t\tthat value in startsubdivisioncode to return the next page of\n\t\t\tresults.

\n\t\t

To list subdivisions (U.S. states), you must include both\n\t\t\t\tstartcountrycode and startsubdivisioncode.

", + "smithy.api#documentation": "

The code for the state of the United States with which you want to start listing\n\t\t\tlocations that Amazon Route 53 supports for geolocation. If Route 53 has already\n\t\t\treturned a page or more of results, if IsTruncated is true,\n\t\t\tand if NextSubdivisionCode from the previous response has a value, enter\n\t\t\tthat value in startsubdivisioncode to return the next page of\n\t\t\tresults.

\n

To list subdivisions (U.S. states), you must include both\n\t\t\t\tstartcountrycode and startsubdivisioncode.

", "smithy.api#httpQuery": "startsubdivisioncode" } }, @@ -7795,7 +7804,7 @@ "Marker": { "target": "com.amazonaws.route53#PageMarker", "traits": { - "smithy.api#documentation": "

If the value of IsTruncated in the previous response was\n\t\t\t\ttrue, you have more health checks. To get another group, submit another\n\t\t\t\tListHealthChecks request.

\n\t\t

For the value of marker, specify the value of NextMarker\n\t\t\tfrom the previous response, which is the ID of the first health check that Amazon Route\n\t\t\t53 will return if you submit another request.

\n\t\t

If the value of IsTruncated in the previous response was\n\t\t\t\tfalse, there are no more health checks to get.

", + "smithy.api#documentation": "

If the value of IsTruncated in the previous response was\n\t\t\t\ttrue, you have more health checks. To get another group, submit another\n\t\t\t\tListHealthChecks request.

\n

For the value of marker, specify the value of NextMarker\n\t\t\tfrom the previous response, which is the ID of the first health check that Amazon Route\n\t\t\t53 will return if you submit another request.

\n

If the value of IsTruncated in the previous response was\n\t\t\t\tfalse, there are no more health checks to get.

", "smithy.api#httpQuery": "marker" } }, @@ -7874,7 +7883,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves a list of the public and private hosted zones that are associated with the\n\t\t\tcurrent Amazon Web Services account. The response includes a HostedZones\n\t\t\tchild element for each hosted zone.

\n\t\t

Amazon Route 53 returns a maximum of 100 items in each response. If you have a lot of\n\t\t\thosted zones, you can use the maxitems parameter to list them in groups of\n\t\t\tup to 100.

", + "smithy.api#documentation": "

Retrieves a list of the public and private hosted zones that are associated with the\n\t\t\tcurrent Amazon Web Services account. The response includes a HostedZones\n\t\t\tchild element for each hosted zone.

\n

Amazon Route 53 returns a maximum of 100 items in each response. If you have a lot of\n\t\t\thosted zones, you can use the maxitems parameter to list them in groups of\n\t\t\tup to 100.

", "smithy.api#http": { "method": "GET", "uri": "/2013-04-01/hostedzone", @@ -7905,7 +7914,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves a list of your hosted zones in lexicographic order. The response includes a\n\t\t\t\tHostedZones child element for each hosted zone created by the current\n\t\t\t\tAmazon Web Services account.

\n\t\t

\n ListHostedZonesByName sorts hosted zones by name with the labels\n\t\t\treversed. For example:

\n\t\t

\n com.example.www.\n

\n\t\t

Note the trailing dot, which can change the sort order in some circumstances.

\n\t\t

If the domain name includes escape characters or Punycode,\n\t\t\t\tListHostedZonesByName alphabetizes the domain name using the escaped or\n\t\t\tPunycoded value, which is the format that Amazon Route 53 saves in its database. For\n\t\t\texample, to create a hosted zone for exΓ€mple.com, you specify ex\\344mple.com for\n\t\t\tthe domain name. ListHostedZonesByName alphabetizes it as:

\n\t\t

\n com.ex\\344mple.\n

\n\t\t

The labels are reversed and alphabetized using the escaped value. For more information\n\t\t\tabout valid domain name formats, including internationalized domain names, see DNS\n\t\t\t\tDomain Name Format in the Amazon Route 53 Developer\n\t\t\t\tGuide.

\n\t\t

Route 53 returns up to 100 items in each response. If you have a lot of hosted zones,\n\t\t\tuse the MaxItems parameter to list them in groups of up to 100. The\n\t\t\tresponse includes values that help navigate from one group of MaxItems\n\t\t\thosted zones to the next:

\n\t\t
    \n
  • \n\t\t\t\t

    The DNSName and HostedZoneId elements in the\n\t\t\t\t\tresponse contain the values, if any, specified for the dnsname and\n\t\t\t\t\t\thostedzoneid parameters in the request that produced the\n\t\t\t\t\tcurrent response.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    The MaxItems element in the response contains the value, if any,\n\t\t\t\t\tthat you specified for the maxitems parameter in the request that\n\t\t\t\t\tproduced the current response.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    If the value of IsTruncated in the response is true, there are\n\t\t\t\t\tmore hosted zones associated with the current Amazon Web Services account.

    \n\t\t\t\t

    If IsTruncated is false, this response includes the last hosted\n\t\t\t\t\tzone that is associated with the current account. The NextDNSName\n\t\t\t\t\telement and NextHostedZoneId elements are omitted from the\n\t\t\t\t\tresponse.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    The NextDNSName and NextHostedZoneId elements in the\n\t\t\t\t\tresponse contain the domain name and the hosted zone ID of the next hosted zone\n\t\t\t\t\tthat is associated with the current Amazon Web Services account. If you want to\n\t\t\t\t\tlist more hosted zones, make another call to ListHostedZonesByName,\n\t\t\t\t\tand specify the value of NextDNSName and\n\t\t\t\t\t\tNextHostedZoneId in the dnsname and\n\t\t\t\t\t\thostedzoneid parameters, respectively.

    \n\t\t\t
  • \n
", + "smithy.api#documentation": "

Retrieves a list of your hosted zones in lexicographic order. The response includes a\n\t\t\t\tHostedZones child element for each hosted zone created by the current\n\t\t\t\tAmazon Web Services account.

\n

\n ListHostedZonesByName sorts hosted zones by name with the labels\n\t\t\treversed. For example:

\n

\n com.example.www.\n

\n

Note the trailing dot, which can change the sort order in some circumstances.

\n

If the domain name includes escape characters or Punycode,\n\t\t\t\tListHostedZonesByName alphabetizes the domain name using the escaped or\n\t\t\tPunycoded value, which is the format that Amazon Route 53 saves in its database. For\n\t\t\texample, to create a hosted zone for exΓ€mple.com, you specify ex\\344mple.com for\n\t\t\tthe domain name. ListHostedZonesByName alphabetizes it as:

\n

\n com.ex\\344mple.\n

\n

The labels are reversed and alphabetized using the escaped value. For more information\n\t\t\tabout valid domain name formats, including internationalized domain names, see DNS\n\t\t\t\tDomain Name Format in the Amazon Route 53 Developer\n\t\t\t\tGuide.

\n

Route 53 returns up to 100 items in each response. If you have a lot of hosted zones,\n\t\t\tuse the MaxItems parameter to list them in groups of up to 100. The\n\t\t\tresponse includes values that help navigate from one group of MaxItems\n\t\t\thosted zones to the next:

\n
    \n
  • \n

    The DNSName and HostedZoneId elements in the\n\t\t\t\t\tresponse contain the values, if any, specified for the dnsname and\n\t\t\t\t\t\thostedzoneid parameters in the request that produced the\n\t\t\t\t\tcurrent response.

    \n
  • \n
  • \n

    The MaxItems element in the response contains the value, if any,\n\t\t\t\t\tthat you specified for the maxitems parameter in the request that\n\t\t\t\t\tproduced the current response.

    \n
  • \n
  • \n

    If the value of IsTruncated in the response is true, there are\n\t\t\t\t\tmore hosted zones associated with the current Amazon Web Services account.

    \n

    If IsTruncated is false, this response includes the last hosted\n\t\t\t\t\tzone that is associated with the current account. The NextDNSName\n\t\t\t\t\telement and NextHostedZoneId elements are omitted from the\n\t\t\t\t\tresponse.

    \n
  • \n
  • \n

    The NextDNSName and NextHostedZoneId elements in the\n\t\t\t\t\tresponse contain the domain name and the hosted zone ID of the next hosted zone\n\t\t\t\t\tthat is associated with the current Amazon Web Services account. If you want to\n\t\t\t\t\tlist more hosted zones, make another call to ListHostedZonesByName,\n\t\t\t\t\tand specify the value of NextDNSName and\n\t\t\t\t\t\tNextHostedZoneId in the dnsname and\n\t\t\t\t\t\thostedzoneid parameters, respectively.

    \n
  • \n
", "smithy.api#http": { "method": "GET", "uri": "/2013-04-01/hostedzonesbyname", @@ -7926,7 +7935,7 @@ "HostedZoneId": { "target": "com.amazonaws.route53#ResourceId", "traits": { - "smithy.api#documentation": "

(Optional) For your first request to ListHostedZonesByName, do not\n\t\t\tinclude the hostedzoneid parameter.

\n\t\t

If you have more hosted zones than the value of maxitems,\n\t\t\t\tListHostedZonesByName returns only the first maxitems\n\t\t\thosted zones. To get the next group of maxitems hosted zones, submit\n\t\t\tanother request to ListHostedZonesByName and include both\n\t\t\t\tdnsname and hostedzoneid parameters. For the value of\n\t\t\t\thostedzoneid, specify the value of the NextHostedZoneId\n\t\t\telement from the previous response.

", + "smithy.api#documentation": "

(Optional) For your first request to ListHostedZonesByName, do not\n\t\t\tinclude the hostedzoneid parameter.

\n

If you have more hosted zones than the value of maxitems,\n\t\t\t\tListHostedZonesByName returns only the first maxitems\n\t\t\thosted zones. To get the next group of maxitems hosted zones, submit\n\t\t\tanother request to ListHostedZonesByName and include both\n\t\t\t\tdnsname and hostedzoneid parameters. For the value of\n\t\t\t\thostedzoneid, specify the value of the NextHostedZoneId\n\t\t\telement from the previous response.

", "smithy.api#httpQuery": "hostedzoneid" } }, @@ -7975,13 +7984,13 @@ "NextDNSName": { "target": "com.amazonaws.route53#DNSName", "traits": { - "smithy.api#documentation": "

If IsTruncated is true, the value of NextDNSName is the name\n\t\t\tof the first hosted zone in the next group of maxitems hosted zones. Call\n\t\t\t\tListHostedZonesByName again and specify the value of\n\t\t\t\tNextDNSName and NextHostedZoneId in the\n\t\t\t\tdnsname and hostedzoneid parameters, respectively.

\n\t\t

This element is present only if IsTruncated is true.

" + "smithy.api#documentation": "

If IsTruncated is true, the value of NextDNSName is the name\n\t\t\tof the first hosted zone in the next group of maxitems hosted zones. Call\n\t\t\t\tListHostedZonesByName again and specify the value of\n\t\t\t\tNextDNSName and NextHostedZoneId in the\n\t\t\t\tdnsname and hostedzoneid parameters, respectively.

\n

This element is present only if IsTruncated is true.

" } }, "NextHostedZoneId": { "target": "com.amazonaws.route53#ResourceId", "traits": { - "smithy.api#documentation": "

If IsTruncated is true, the value of\n\t\t\t\tNextHostedZoneId identifies the first hosted zone in the next group of\n\t\t\t\tmaxitems hosted zones. Call ListHostedZonesByName again\n\t\t\tand specify the value of NextDNSName and NextHostedZoneId in\n\t\t\tthe dnsname and hostedzoneid parameters, respectively.

\n\t\t

This element is present only if IsTruncated is true.

" + "smithy.api#documentation": "

If IsTruncated is true, the value of\n\t\t\t\tNextHostedZoneId identifies the first hosted zone in the next group of\n\t\t\t\tmaxitems hosted zones. Call ListHostedZonesByName again\n\t\t\tand specify the value of NextDNSName and NextHostedZoneId in\n\t\t\tthe dnsname and hostedzoneid parameters, respectively.

\n

This element is present only if IsTruncated is true.

" } }, "MaxItems": { @@ -8013,7 +8022,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists all the private hosted zones that a specified VPC is associated with, regardless\n\t\t\tof which Amazon Web Services account or Amazon Web Services service owns the hosted zones.\n\t\t\tThe HostedZoneOwner structure in the response contains one of the following\n\t\t\tvalues:

\n\t\t
    \n
  • \n\t\t\t\t

    An OwningAccount element, which contains the account number of\n\t\t\t\t\teither the current Amazon Web Services account or another Amazon Web Services account. Some services, such as Cloud Map, create\n\t\t\t\t\thosted zones using the current account.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    An OwningService element, which identifies the Amazon Web Services\n\t\t\t\t\tservice that created and owns the hosted zone. For example, if a hosted zone was\n\t\t\t\t\tcreated by Amazon Elastic File System (Amazon EFS), the value of\n\t\t\t\t\t\tOwner is efs.amazonaws.com.

    \n\t\t\t
  • \n
\n\t\t \n\t\t\t

When listing private hosted zones, the hosted zone and the Amazon VPC must\n\t\t\t\tbelong to the same partition where the hosted zones were created. A partition is a\n\t\t\t\tgroup of Amazon Web Services Regions. Each Amazon Web Services account is scoped to\n\t\t\t\tone partition.

\n\t\t\t

The following are the supported partitions:

\n\t\t\t
    \n
  • \n\t\t\t\t\t

    \n aws - Amazon Web Services Regions

    \n\t\t\t\t
  • \n
  • \n\t\t\t\t\t

    \n aws-cn - China Regions

    \n\t\t\t\t
  • \n
  • \n\t\t\t\t\t

    \n aws-us-gov - Amazon Web Services GovCloud (US) Region

    \n\t\t\t\t
  • \n
\n\t\t\t

For more information, see Access Management\n\t\t\t\tin the Amazon Web Services General Reference.

\n\t\t
", + "smithy.api#documentation": "

Lists all the private hosted zones that a specified VPC is associated with, regardless\n\t\t\tof which Amazon Web Services account or Amazon Web Services service owns the hosted zones.\n\t\t\tThe HostedZoneOwner structure in the response contains one of the following\n\t\t\tvalues:

\n
    \n
  • \n

    An OwningAccount element, which contains the account number of\n\t\t\t\t\teither the current Amazon Web Services account or another Amazon Web Services account. Some services, such as Cloud Map, create\n\t\t\t\t\thosted zones using the current account.

    \n
  • \n
  • \n

    An OwningService element, which identifies the Amazon Web Services\n\t\t\t\t\tservice that created and owns the hosted zone. For example, if a hosted zone was\n\t\t\t\t\tcreated by Amazon Elastic File System (Amazon EFS), the value of\n\t\t\t\t\t\tOwner is efs.amazonaws.com.

    \n
  • \n
\n \n

When listing private hosted zones, the hosted zone and the Amazon VPC must\n\t\t\t\tbelong to the same partition where the hosted zones were created. A partition is a\n\t\t\t\tgroup of Amazon Web Services Regions. Each Amazon Web Services account is scoped to\n\t\t\t\tone partition.

\n

The following are the supported partitions:

\n
    \n
  • \n

    \n aws - Amazon Web Services Regions

    \n
  • \n
  • \n

    \n aws-cn - China Regions

    \n
  • \n
  • \n

    \n aws-us-gov - Amazon Web Services GovCloud (US) Region

    \n
  • \n
\n

For more information, see Access Management\n\t\t\t\tin the Amazon Web Services General Reference.

\n
", "smithy.api#http": { "method": "GET", "uri": "/2013-04-01/hostedzonesbyvpc", @@ -8050,7 +8059,7 @@ "NextToken": { "target": "com.amazonaws.route53#PaginationToken", "traits": { - "smithy.api#documentation": "

If the previous response included a NextToken element, the specified VPC\n\t\t\tis associated with more hosted zones. To get more hosted zones, submit another\n\t\t\t\tListHostedZonesByVPC request.

\n\t\t

For the value of NextToken, specify the value of NextToken\n\t\t\tfrom the previous response.

\n\t\t

If the previous response didn't include a NextToken element, there are no\n\t\t\tmore hosted zones to get.

", + "smithy.api#documentation": "

If the previous response included a NextToken element, the specified VPC\n\t\t\tis associated with more hosted zones. To get more hosted zones, submit another\n\t\t\t\tListHostedZonesByVPC request.

\n

For the value of NextToken, specify the value of NextToken\n\t\t\tfrom the previous response.

\n

If the previous response didn't include a NextToken element, there are no\n\t\t\tmore hosted zones to get.

", "smithy.api#httpQuery": "nexttoken" } } @@ -8090,7 +8099,7 @@ "Marker": { "target": "com.amazonaws.route53#PageMarker", "traits": { - "smithy.api#documentation": "

If the value of IsTruncated in the previous response was\n\t\t\t\ttrue, you have more hosted zones. To get more hosted zones, submit\n\t\t\tanother ListHostedZones request.

\n\t\t

For the value of marker, specify the value of NextMarker\n\t\t\tfrom the previous response, which is the ID of the first hosted zone that Amazon Route\n\t\t\t53 will return if you submit another request.

\n\t\t

If the value of IsTruncated in the previous response was\n\t\t\t\tfalse, there are no more hosted zones to get.

", + "smithy.api#documentation": "

If the value of IsTruncated in the previous response was\n\t\t\t\ttrue, you have more hosted zones. To get more hosted zones, submit\n\t\t\tanother ListHostedZones request.

\n

For the value of marker, specify the value of NextMarker\n\t\t\tfrom the previous response, which is the ID of the first hosted zone that Amazon Route\n\t\t\t53 will return if you submit another request.

\n

If the value of IsTruncated in the previous response was\n\t\t\t\tfalse, there are no more hosted zones to get.

", "smithy.api#httpQuery": "marker" } }, @@ -8141,7 +8150,7 @@ "NextMarker": { "target": "com.amazonaws.route53#PageMarker", "traits": { - "smithy.api#documentation": "

If IsTruncated is true, the value of NextMarker\n\t\t\tidentifies the first hosted zone in the next group of hosted zones. Submit another\n\t\t\t\tListHostedZones request, and specify the value of\n\t\t\t\tNextMarker from the response in the marker\n\t\t\tparameter.

\n\t\t

This element is present only if IsTruncated is true.

" + "smithy.api#documentation": "

If IsTruncated is true, the value of NextMarker\n\t\t\tidentifies the first hosted zone in the next group of hosted zones. Submit another\n\t\t\t\tListHostedZones request, and specify the value of\n\t\t\t\tNextMarker from the response in the marker\n\t\t\tparameter.

\n

This element is present only if IsTruncated is true.

" } }, "MaxItems": { @@ -8173,7 +8182,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists the configurations for DNS query logging that are associated with the current\n\t\t\t\tAmazon Web Services account or the configuration that is associated with a specified\n\t\t\thosted zone.

\n\t\t

For more information about DNS query logs, see CreateQueryLoggingConfig. Additional information, including the format of\n\t\t\tDNS query logs, appears in Logging DNS Queries in\n\t\t\tthe Amazon Route 53 Developer Guide.

", + "smithy.api#documentation": "

Lists the configurations for DNS query logging that are associated with the current\n\t\t\t\tAmazon Web Services account or the configuration that is associated with a specified\n\t\t\thosted zone.

\n

For more information about DNS query logs, see CreateQueryLoggingConfig. Additional information, including the format of\n\t\t\tDNS query logs, appears in Logging DNS Queries in\n\t\t\tthe Amazon Route 53 Developer Guide.

", "smithy.api#http": { "method": "GET", "uri": "/2013-04-01/queryloggingconfig", @@ -8193,21 +8202,21 @@ "HostedZoneId": { "target": "com.amazonaws.route53#ResourceId", "traits": { - "smithy.api#documentation": "

(Optional) If you want to list the query logging configuration that is associated with\n\t\t\ta hosted zone, specify the ID in HostedZoneId.

\n\t\t

If you don't specify a hosted zone ID, ListQueryLoggingConfigs returns\n\t\t\tall of the configurations that are associated with the current Amazon Web Services account.

", + "smithy.api#documentation": "

(Optional) If you want to list the query logging configuration that is associated with\n\t\t\ta hosted zone, specify the ID in HostedZoneId.

\n

If you don't specify a hosted zone ID, ListQueryLoggingConfigs returns\n\t\t\tall of the configurations that are associated with the current Amazon Web Services account.

", "smithy.api#httpQuery": "hostedzoneid" } }, "NextToken": { "target": "com.amazonaws.route53#PaginationToken", "traits": { - "smithy.api#documentation": "

(Optional) If the current Amazon Web Services account has more than\n\t\t\t\tMaxResults query logging configurations, use NextToken to\n\t\t\tget the second and subsequent pages of results.

\n\t\t

For the first ListQueryLoggingConfigs request, omit this value.

\n\t\t

For the second and subsequent requests, get the value of NextToken from\n\t\t\tthe previous response and specify that value for NextToken in the\n\t\t\trequest.

", + "smithy.api#documentation": "

(Optional) If the current Amazon Web Services account has more than\n\t\t\t\tMaxResults query logging configurations, use NextToken to\n\t\t\tget the second and subsequent pages of results.

\n

For the first ListQueryLoggingConfigs request, omit this value.

\n

For the second and subsequent requests, get the value of NextToken from\n\t\t\tthe previous response and specify that value for NextToken in the\n\t\t\trequest.

", "smithy.api#httpQuery": "nexttoken" } }, "MaxResults": { "target": "smithy.api#Integer", "traits": { - "smithy.api#documentation": "

(Optional) The maximum number of query logging configurations that you want Amazon\n\t\t\tRoute 53 to return in response to the current request. If the current Amazon Web Services account has more than MaxResults configurations, use the\n\t\t\tvalue of NextToken in the response to get the next page of results.

\n\t\t

If you don't specify a value for MaxResults, Route 53 returns up to 100\n\t\t\tconfigurations.

", + "smithy.api#documentation": "

(Optional) The maximum number of query logging configurations that you want Amazon\n\t\t\tRoute 53 to return in response to the current request. If the current Amazon Web Services account has more than MaxResults configurations, use the\n\t\t\tvalue of NextToken in the response to get the next page of results.

\n

If you don't specify a value for MaxResults, Route 53 returns up to 100\n\t\t\tconfigurations.

", "smithy.api#httpQuery": "maxresults" } } @@ -8226,7 +8235,7 @@ "NextToken": { "target": "com.amazonaws.route53#PaginationToken", "traits": { - "smithy.api#documentation": "

If a response includes the last of the query logging configurations that are\n\t\t\tassociated with the current Amazon Web Services account, NextToken doesn't\n\t\t\tappear in the response.

\n\t\t

If a response doesn't include the last of the configurations, you can get more\n\t\t\tconfigurations by submitting another ListQueryLoggingConfigs request. Get the value of NextToken\n\t\t\tthat Amazon Route 53 returned in the previous response and include it in\n\t\t\t\tNextToken in the next request.

" + "smithy.api#documentation": "

If a response includes the last of the query logging configurations that are\n\t\t\tassociated with the current Amazon Web Services account, NextToken doesn't\n\t\t\tappear in the response.

\n

If a response doesn't include the last of the configurations, you can get more\n\t\t\tconfigurations by submitting another ListQueryLoggingConfigs request. Get the value of NextToken\n\t\t\tthat Amazon Route 53 returned in the previous response and include it in\n\t\t\t\tNextToken in the next request.

" } } } @@ -8248,7 +8257,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists the resource record sets in a specified hosted zone.

\n\t\t

\n ListResourceRecordSets returns up to 300 resource record sets at a time\n\t\t\tin ASCII order, beginning at a position specified by the name and\n\t\t\t\ttype elements.

\n\t\t

\n Sort order\n

\n\t\t

\n ListResourceRecordSets sorts results first by DNS name with the labels\n\t\t\treversed, for example:

\n\t\t

\n com.example.www.\n

\n\t\t

Note the trailing dot, which can change the sort order when the record name contains\n\t\t\tcharacters that appear before . (decimal 46) in the ASCII table. These\n\t\t\tcharacters include the following: ! \" # $ % & ' ( ) * + , -\n

\n\t\t

When multiple records have the same DNS name, ListResourceRecordSets\n\t\t\tsorts results by the record type.

\n\t\t

\n Specifying where to start listing records\n

\n\t\t

You can use the name and type elements to specify the resource record set that the\n\t\t\tlist begins with:

\n\t\t
\n
If you do not specify Name or Type
\n
\n\t\t\t\t\t

The results begin with the first resource record set that the hosted zone\n\t\t\t\t\t\tcontains.

\n\t\t\t\t
\n
If you specify Name but not Type
\n
\n\t\t\t\t\t

The results begin with the first resource record set in the list whose\n\t\t\t\t\t\tname is greater than or equal to Name.

\n\t\t\t\t
\n
If you specify Type but not Name
\n
\n\t\t\t\t\t

Amazon Route 53 returns the InvalidInput error.

\n\t\t\t\t
\n
If you specify both Name and Type
\n
\n\t\t\t\t\t

The results begin with the first resource record set in the list whose\n\t\t\t\t\t\tname is greater than or equal to Name, and whose type is\n\t\t\t\t\t\tgreater than or equal to Type.

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

\n Resource record sets that are PENDING\n

\n\t\t

This action returns the most current version of the records. This includes records\n\t\t\tthat are PENDING, and that are not yet available on all Route 53 DNS\n\t\t\tservers.

\n\t\t

\n Changing resource record sets\n

\n\t\t

To ensure that you get an accurate listing of the resource record sets for a hosted\n\t\t\tzone at a point in time, do not submit a ChangeResourceRecordSets request\n\t\t\twhile you're paging through the results of a ListResourceRecordSets\n\t\t\trequest. If you do, some pages may display results without the latest changes while\n\t\t\tother pages display results with the latest changes.

\n\t\t

\n Displaying the next page of results\n

\n\t\t

If a ListResourceRecordSets command returns more than one page of\n\t\t\tresults, the value of IsTruncated is true. To display the next\n\t\t\tpage of results, get the values of NextRecordName,\n\t\t\t\tNextRecordType, and NextRecordIdentifier (if any) from the\n\t\t\tresponse. Then submit another ListResourceRecordSets request, and specify\n\t\t\tthose values for StartRecordName, StartRecordType, and\n\t\t\t\tStartRecordIdentifier.

", + "smithy.api#documentation": "

Lists the resource record sets in a specified hosted zone.

\n

\n ListResourceRecordSets returns up to 300 resource record sets at a time\n\t\t\tin ASCII order, beginning at a position specified by the name and\n\t\t\t\ttype elements.

\n

\n Sort order\n

\n

\n ListResourceRecordSets sorts results first by DNS name with the labels\n\t\t\treversed, for example:

\n

\n com.example.www.\n

\n

Note the trailing dot, which can change the sort order when the record name contains\n\t\t\tcharacters that appear before . (decimal 46) in the ASCII table. These\n\t\t\tcharacters include the following: ! \" # $ % & ' ( ) * + , -\n

\n

When multiple records have the same DNS name, ListResourceRecordSets\n\t\t\tsorts results by the record type.

\n

\n Specifying where to start listing records\n

\n

You can use the name and type elements to specify the resource record set that the\n\t\t\tlist begins with:

\n
\n
If you do not specify Name or Type
\n
\n

The results begin with the first resource record set that the hosted zone\n\t\t\t\t\t\tcontains.

\n
\n
If you specify Name but not Type
\n
\n

The results begin with the first resource record set in the list whose\n\t\t\t\t\t\tname is greater than or equal to Name.

\n
\n
If you specify Type but not Name
\n
\n

Amazon Route 53 returns the InvalidInput error.

\n
\n
If you specify both Name and Type
\n
\n

The results begin with the first resource record set in the list whose\n\t\t\t\t\t\tname is greater than or equal to Name, and whose type is\n\t\t\t\t\t\tgreater than or equal to Type.

\n
\n
\n

\n Resource record sets that are PENDING\n

\n

This action returns the most current version of the records. This includes records\n\t\t\tthat are PENDING, and that are not yet available on all Route 53 DNS\n\t\t\tservers.

\n

\n Changing resource record sets\n

\n

To ensure that you get an accurate listing of the resource record sets for a hosted\n\t\t\tzone at a point in time, do not submit a ChangeResourceRecordSets request\n\t\t\twhile you're paging through the results of a ListResourceRecordSets\n\t\t\trequest. If you do, some pages may display results without the latest changes while\n\t\t\tother pages display results with the latest changes.

\n

\n Displaying the next page of results\n

\n

If a ListResourceRecordSets command returns more than one page of\n\t\t\tresults, the value of IsTruncated is true. To display the next\n\t\t\tpage of results, get the values of NextRecordName,\n\t\t\t\tNextRecordType, and NextRecordIdentifier (if any) from the\n\t\t\tresponse. Then submit another ListResourceRecordSets request, and specify\n\t\t\tthose values for StartRecordName, StartRecordType, and\n\t\t\t\tStartRecordIdentifier.

", "smithy.api#http": { "method": "GET", "uri": "/2013-04-01/hostedzone/{HostedZoneId}/rrset", @@ -8277,7 +8286,7 @@ "StartRecordType": { "target": "com.amazonaws.route53#RRType", "traits": { - "smithy.api#documentation": "

The type of resource record set to begin the record listing from.

\n\t\t

Valid values for basic resource record sets: A | AAAA |\n\t\t\t\tCAA | CNAME | MX | NAPTR |\n\t\t\t\tNS | PTR | SOA | SPF |\n\t\t\t\tSRV | TXT\n

\n\t\t

Values for weighted, latency, geolocation, and failover resource record sets:\n\t\t\t\tA | AAAA | CAA | CNAME |\n\t\t\t\tMX | NAPTR | PTR | SPF |\n\t\t\t\tSRV | TXT\n

\n\t\t

Values for alias resource record sets:

\n\t\t
    \n
  • \n\t\t\t\t

    \n API Gateway custom regional API or edge-optimized\n\t\t\t\t\t\tAPI: A

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n CloudFront distribution: A or AAAA

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n Elastic Beanstalk environment that has a regionalized\n\t\t\t\t\t\tsubdomain: A

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n Elastic Load Balancing load balancer: A |\n\t\t\t\t\tAAAA

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n S3 bucket: A

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n VPC interface VPC endpoint: A

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n Another resource record set in this hosted\n\t\t\t\t\t\tzone: The type of the resource record set that the alias\n\t\t\t\t\treferences.

    \n\t\t\t
  • \n
\n\t\t

Constraint: Specifying type without specifying name returns\n\t\t\tan InvalidInput error.

", + "smithy.api#documentation": "

The type of resource record set to begin the record listing from.

\n

Valid values for basic resource record sets: A | AAAA |\n\t\t\t\tCAA | CNAME | MX | NAPTR |\n\t\t\t\tNS | PTR | SOA | SPF |\n\t\t\t\tSRV | TXT\n

\n

Values for weighted, latency, geolocation, and failover resource record sets:\n\t\t\t\tA | AAAA | CAA | CNAME |\n\t\t\t\tMX | NAPTR | PTR | SPF |\n\t\t\t\tSRV | TXT\n

\n

Values for alias resource record sets:

\n
    \n
  • \n

    \n API Gateway custom regional API or edge-optimized\n\t\t\t\t\t\tAPI: A

    \n
  • \n
  • \n

    \n CloudFront distribution: A or AAAA

    \n
  • \n
  • \n

    \n Elastic Beanstalk environment that has a regionalized\n\t\t\t\t\t\tsubdomain: A

    \n
  • \n
  • \n

    \n Elastic Load Balancing load balancer: A |\n\t\t\t\t\tAAAA

    \n
  • \n
  • \n

    \n S3 bucket: A

    \n
  • \n
  • \n

    \n VPC interface VPC endpoint: A

    \n
  • \n
  • \n

    \n Another resource record set in this hosted\n\t\t\t\t\t\tzone: The type of the resource record set that the alias\n\t\t\t\t\treferences.

    \n
  • \n
\n

Constraint: Specifying type without specifying name returns\n\t\t\tan InvalidInput error.

", "smithy.api#httpQuery": "type" } }, @@ -8321,19 +8330,19 @@ "NextRecordName": { "target": "com.amazonaws.route53#DNSName", "traits": { - "smithy.api#documentation": "

If the results were truncated, the name of the next record in the list.

\n\t\t

This element is present only if IsTruncated is true.

" + "smithy.api#documentation": "

If the results were truncated, the name of the next record in the list.

\n

This element is present only if IsTruncated is true.

" } }, "NextRecordType": { "target": "com.amazonaws.route53#RRType", "traits": { - "smithy.api#documentation": "

If the results were truncated, the type of the next record in the list.

\n\t\t

This element is present only if IsTruncated is true.

" + "smithy.api#documentation": "

If the results were truncated, the type of the next record in the list.

\n

This element is present only if IsTruncated is true.

" } }, "NextRecordIdentifier": { "target": "com.amazonaws.route53#ResourceRecordSetIdentifier", "traits": { - "smithy.api#documentation": "

\n Resource record sets that have a routing policy other than\n\t\t\t\tsimple: If results were truncated for a given DNS name and type, the\n\t\t\tvalue of SetIdentifier for the next resource record set that has the\n\t\t\tcurrent DNS name and type.

\n\t\t

For information about routing policies, see Choosing a Routing\n\t\t\t\tPolicy in the Amazon Route 53 Developer Guide.

" + "smithy.api#documentation": "

\n Resource record sets that have a routing policy other than\n\t\t\t\tsimple: If results were truncated for a given DNS name and type, the\n\t\t\tvalue of SetIdentifier for the next resource record set that has the\n\t\t\tcurrent DNS name and type.

\n

For information about routing policies, see Choosing a Routing\n\t\t\t\tPolicy in the Amazon Route 53 Developer Guide.

" } }, "MaxItems": { @@ -8376,7 +8385,7 @@ "Marker": { "target": "com.amazonaws.route53#PageMarker", "traits": { - "smithy.api#documentation": "

If the value of IsTruncated in the previous response was\n\t\t\t\ttrue, you have more reusable delegation sets. To get another group,\n\t\t\tsubmit another ListReusableDelegationSets request.

\n\t\t

For the value of marker, specify the value of NextMarker\n\t\t\tfrom the previous response, which is the ID of the first reusable delegation set that\n\t\t\tAmazon Route 53 will return if you submit another request.

\n\t\t

If the value of IsTruncated in the previous response was\n\t\t\t\tfalse, there are no more reusable delegation sets to get.

", + "smithy.api#documentation": "

If the value of IsTruncated in the previous response was\n\t\t\t\ttrue, you have more reusable delegation sets. To get another group,\n\t\t\tsubmit another ListReusableDelegationSets request.

\n

For the value of marker, specify the value of NextMarker\n\t\t\tfrom the previous response, which is the ID of the first reusable delegation set that\n\t\t\tAmazon Route 53 will return if you submit another request.

\n

If the value of IsTruncated in the previous response was\n\t\t\t\tfalse, there are no more reusable delegation sets to get.

", "smithy.api#httpQuery": "marker" } }, @@ -8461,7 +8470,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists tags for one health check or hosted zone.

\n\t\t

For information about using tags for cost allocation, see Using Cost Allocation\n\t\t\t\tTags in the Billing and Cost Management User Guide.

", + "smithy.api#documentation": "

Lists tags for one health check or hosted zone.

\n

For information about using tags for cost allocation, see Using Cost Allocation\n\t\t\t\tTags in the Billing and Cost Management User Guide.

", "smithy.api#http": { "method": "GET", "uri": "/2013-04-01/tags/{ResourceType}/{ResourceId}", @@ -8475,7 +8484,7 @@ "ResourceType": { "target": "com.amazonaws.route53#TagResourceType", "traits": { - "smithy.api#documentation": "

The type of the resource.

\n\t\t
    \n
  • \n\t\t\t\t

    The resource type for health checks is healthcheck.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    The resource type for hosted zones is hostedzone.

    \n\t\t\t
  • \n
", + "smithy.api#documentation": "

The type of the resource.

\n
    \n
  • \n

    The resource type for health checks is healthcheck.

    \n
  • \n
  • \n

    The resource type for hosted zones is hostedzone.

    \n
  • \n
", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -8534,7 +8543,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists tags for up to 10 health checks or hosted zones.

\n\t\t

For information about using tags for cost allocation, see Using Cost Allocation\n\t\t\t\tTags in the Billing and Cost Management User Guide.

", + "smithy.api#documentation": "

Lists tags for up to 10 health checks or hosted zones.

\n

For information about using tags for cost allocation, see Using Cost Allocation\n\t\t\t\tTags in the Billing and Cost Management User Guide.

", "smithy.api#http": { "method": "POST", "uri": "/2013-04-01/tags/{ResourceType}", @@ -8548,7 +8557,7 @@ "ResourceType": { "target": "com.amazonaws.route53#TagResourceType", "traits": { - "smithy.api#documentation": "

The type of the resources.

\n\t\t
    \n
  • \n\t\t\t\t

    The resource type for health checks is healthcheck.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    The resource type for hosted zones is hostedzone.

    \n\t\t\t
  • \n
", + "smithy.api#documentation": "

The type of the resources.

\n
    \n
  • \n

    The resource type for health checks is healthcheck.

    \n
  • \n
  • \n

    The resource type for hosted zones is hostedzone.

    \n
  • \n
", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -8594,7 +8603,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets information about the latest version for every traffic policy that is associated\n\t\t\twith the current Amazon Web Services account. Policies are listed in the order that they\n\t\t\twere created in.

\n\t\t

For information about how of deleting a traffic policy affects the response from\n\t\t\t\tListTrafficPolicies, see DeleteTrafficPolicy.

", + "smithy.api#documentation": "

Gets information about the latest version for every traffic policy that is associated\n\t\t\twith the current Amazon Web Services account. Policies are listed in the order that they\n\t\t\twere created in.

\n

For information about how of deleting a traffic policy affects the response from\n\t\t\t\tListTrafficPolicies, see DeleteTrafficPolicy.

", "smithy.api#http": { "method": "GET", "uri": "/2013-04-01/trafficpolicies", @@ -8608,7 +8617,7 @@ "TrafficPolicyIdMarker": { "target": "com.amazonaws.route53#TrafficPolicyId", "traits": { - "smithy.api#documentation": "

(Conditional) For your first request to ListTrafficPolicies, don't\n\t\t\tinclude the TrafficPolicyIdMarker parameter.

\n\t\t

If you have more traffic policies than the value of MaxItems,\n\t\t\t\tListTrafficPolicies returns only the first MaxItems\n\t\t\ttraffic policies. To get the next group of policies, submit another request to\n\t\t\t\tListTrafficPolicies. For the value of\n\t\t\t\tTrafficPolicyIdMarker, specify the value of\n\t\t\t\tTrafficPolicyIdMarker that was returned in the previous\n\t\t\tresponse.

", + "smithy.api#documentation": "

(Conditional) For your first request to ListTrafficPolicies, don't\n\t\t\tinclude the TrafficPolicyIdMarker parameter.

\n

If you have more traffic policies than the value of MaxItems,\n\t\t\t\tListTrafficPolicies returns only the first MaxItems\n\t\t\ttraffic policies. To get the next group of policies, submit another request to\n\t\t\t\tListTrafficPolicies. For the value of\n\t\t\t\tTrafficPolicyIdMarker, specify the value of\n\t\t\t\tTrafficPolicyIdMarker that was returned in the previous\n\t\t\tresponse.

", "smithy.api#httpQuery": "trafficpolicyid" } }, @@ -8678,7 +8687,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets information about the traffic policy instances that you created by using the\n\t\t\tcurrent Amazon Web Services account.

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

After you submit an UpdateTrafficPolicyInstance request, there's a\n\t\t\t\tbrief delay while Amazon Route 53 creates the resource record sets that are\n\t\t\t\tspecified in the traffic policy definition. For more information, see the\n\t\t\t\t\tState response element.

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

Route 53 returns a maximum of 100 items in each response. If you have a lot of traffic\n\t\t\tpolicy instances, you can use the MaxItems parameter to list them in groups\n\t\t\tof up to 100.

", + "smithy.api#documentation": "

Gets information about the traffic policy instances that you created by using the\n\t\t\tcurrent Amazon Web Services account.

\n \n

After you submit an UpdateTrafficPolicyInstance request, there's a\n\t\t\t\tbrief delay while Amazon Route 53 creates the resource record sets that are\n\t\t\t\tspecified in the traffic policy definition. For more information, see the\n\t\t\t\t\tState response element.

\n
\n

Route 53 returns a maximum of 100 items in each response. If you have a lot of traffic\n\t\t\tpolicy instances, you can use the MaxItems parameter to list them in groups\n\t\t\tof up to 100.

", "smithy.api#http": { "method": "GET", "uri": "/2013-04-01/trafficpolicyinstances", @@ -8706,7 +8715,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets information about the traffic policy instances that you created in a specified\n\t\t\thosted zone.

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

After you submit a CreateTrafficPolicyInstance or an\n\t\t\t\t\tUpdateTrafficPolicyInstance request, there's a brief delay while\n\t\t\t\tAmazon Route 53 creates the resource record sets that are specified in the traffic\n\t\t\t\tpolicy definition. For more information, see the State response\n\t\t\t\telement.

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

Route 53 returns a maximum of 100 items in each response. If you have a lot of traffic\n\t\t\tpolicy instances, you can use the MaxItems parameter to list them in groups\n\t\t\tof up to 100.

", + "smithy.api#documentation": "

Gets information about the traffic policy instances that you created in a specified\n\t\t\thosted zone.

\n \n

After you submit a CreateTrafficPolicyInstance or an\n\t\t\t\t\tUpdateTrafficPolicyInstance request, there's a brief delay while\n\t\t\t\tAmazon Route 53 creates the resource record sets that are specified in the traffic\n\t\t\t\tpolicy definition. For more information, see the State response\n\t\t\t\telement.

\n
\n

Route 53 returns a maximum of 100 items in each response. If you have a lot of traffic\n\t\t\tpolicy instances, you can use the MaxItems parameter to list them in groups\n\t\t\tof up to 100.

", "smithy.api#http": { "method": "GET", "uri": "/2013-04-01/trafficpolicyinstances/hostedzone", @@ -8728,14 +8737,14 @@ "TrafficPolicyInstanceNameMarker": { "target": "com.amazonaws.route53#DNSName", "traits": { - "smithy.api#documentation": "

If the value of IsTruncated in the previous response is true, you have\n\t\t\tmore traffic policy instances. To get more traffic policy instances, submit another\n\t\t\t\tListTrafficPolicyInstances request. For the value of\n\t\t\t\ttrafficpolicyinstancename, specify the value of\n\t\t\t\tTrafficPolicyInstanceNameMarker from the previous response, which is\n\t\t\tthe name of the first traffic policy instance in the next group of traffic policy\n\t\t\tinstances.

\n\t\t

If the value of IsTruncated in the previous response was\n\t\t\t\tfalse, there are no more traffic policy instances to get.

", + "smithy.api#documentation": "

If the value of IsTruncated in the previous response is true, you have\n\t\t\tmore traffic policy instances. To get more traffic policy instances, submit another\n\t\t\t\tListTrafficPolicyInstances request. For the value of\n\t\t\t\ttrafficpolicyinstancename, specify the value of\n\t\t\t\tTrafficPolicyInstanceNameMarker from the previous response, which is\n\t\t\tthe name of the first traffic policy instance in the next group of traffic policy\n\t\t\tinstances.

\n

If the value of IsTruncated in the previous response was\n\t\t\t\tfalse, there are no more traffic policy instances to get.

", "smithy.api#httpQuery": "trafficpolicyinstancename" } }, "TrafficPolicyInstanceTypeMarker": { "target": "com.amazonaws.route53#RRType", "traits": { - "smithy.api#documentation": "

If the value of IsTruncated in the previous response is true, you have\n\t\t\tmore traffic policy instances. To get more traffic policy instances, submit another\n\t\t\t\tListTrafficPolicyInstances request. For the value of\n\t\t\t\ttrafficpolicyinstancetype, specify the value of\n\t\t\t\tTrafficPolicyInstanceTypeMarker from the previous response, which is\n\t\t\tthe type of the first traffic policy instance in the next group of traffic policy\n\t\t\tinstances.

\n\t\t

If the value of IsTruncated in the previous response was\n\t\t\t\tfalse, there are no more traffic policy instances to get.

", + "smithy.api#documentation": "

If the value of IsTruncated in the previous response is true, you have\n\t\t\tmore traffic policy instances. To get more traffic policy instances, submit another\n\t\t\t\tListTrafficPolicyInstances request. For the value of\n\t\t\t\ttrafficpolicyinstancetype, specify the value of\n\t\t\t\tTrafficPolicyInstanceTypeMarker from the previous response, which is\n\t\t\tthe type of the first traffic policy instance in the next group of traffic policy\n\t\t\tinstances.

\n

If the value of IsTruncated in the previous response was\n\t\t\t\tfalse, there are no more traffic policy instances to get.

", "smithy.api#httpQuery": "trafficpolicyinstancetype" } }, @@ -8813,7 +8822,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets information about the traffic policy instances that you created by using a\n\t\t\tspecify traffic policy version.

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

After you submit a CreateTrafficPolicyInstance or an\n\t\t\t\t\tUpdateTrafficPolicyInstance request, there's a brief delay while\n\t\t\t\tAmazon Route 53 creates the resource record sets that are specified in the traffic\n\t\t\t\tpolicy definition. For more information, see the State response\n\t\t\t\telement.

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

Route 53 returns a maximum of 100 items in each response. If you have a lot of traffic\n\t\t\tpolicy instances, you can use the MaxItems parameter to list them in groups\n\t\t\tof up to 100.

", + "smithy.api#documentation": "

Gets information about the traffic policy instances that you created by using a\n\t\t\tspecify traffic policy version.

\n \n

After you submit a CreateTrafficPolicyInstance or an\n\t\t\t\t\tUpdateTrafficPolicyInstance request, there's a brief delay while\n\t\t\t\tAmazon Route 53 creates the resource record sets that are specified in the traffic\n\t\t\t\tpolicy definition. For more information, see the State response\n\t\t\t\telement.

\n
\n

Route 53 returns a maximum of 100 items in each response. If you have a lot of traffic\n\t\t\tpolicy instances, you can use the MaxItems parameter to list them in groups\n\t\t\tof up to 100.

", "smithy.api#http": { "method": "GET", "uri": "/2013-04-01/trafficpolicyinstances/trafficpolicy", @@ -8843,21 +8852,21 @@ "HostedZoneIdMarker": { "target": "com.amazonaws.route53#ResourceId", "traits": { - "smithy.api#documentation": "

If the value of IsTruncated in the previous response was\n\t\t\t\ttrue, you have more traffic policy instances. To get more traffic\n\t\t\tpolicy instances, submit another ListTrafficPolicyInstancesByPolicy\n\t\t\trequest.

\n\t\t

For the value of hostedzoneid, specify the value of\n\t\t\t\tHostedZoneIdMarker from the previous response, which is the hosted zone\n\t\t\tID of the first traffic policy instance that Amazon Route 53 will return if you submit\n\t\t\tanother request.

\n\t\t

If the value of IsTruncated in the previous response was\n\t\t\t\tfalse, there are no more traffic policy instances to get.

", + "smithy.api#documentation": "

If the value of IsTruncated in the previous response was\n\t\t\t\ttrue, you have more traffic policy instances. To get more traffic\n\t\t\tpolicy instances, submit another ListTrafficPolicyInstancesByPolicy\n\t\t\trequest.

\n

For the value of hostedzoneid, specify the value of\n\t\t\t\tHostedZoneIdMarker from the previous response, which is the hosted zone\n\t\t\tID of the first traffic policy instance that Amazon Route 53 will return if you submit\n\t\t\tanother request.

\n

If the value of IsTruncated in the previous response was\n\t\t\t\tfalse, there are no more traffic policy instances to get.

", "smithy.api#httpQuery": "hostedzoneid" } }, "TrafficPolicyInstanceNameMarker": { "target": "com.amazonaws.route53#DNSName", "traits": { - "smithy.api#documentation": "

If the value of IsTruncated in the previous response was\n\t\t\t\ttrue, you have more traffic policy instances. To get more traffic\n\t\t\tpolicy instances, submit another ListTrafficPolicyInstancesByPolicy\n\t\t\trequest.

\n\t\t

For the value of trafficpolicyinstancename, specify the value of\n\t\t\t\tTrafficPolicyInstanceNameMarker from the previous response, which is\n\t\t\tthe name of the first traffic policy instance that Amazon Route 53 will return if you\n\t\t\tsubmit another request.

\n\t\t

If the value of IsTruncated in the previous response was\n\t\t\t\tfalse, there are no more traffic policy instances to get.

", + "smithy.api#documentation": "

If the value of IsTruncated in the previous response was\n\t\t\t\ttrue, you have more traffic policy instances. To get more traffic\n\t\t\tpolicy instances, submit another ListTrafficPolicyInstancesByPolicy\n\t\t\trequest.

\n

For the value of trafficpolicyinstancename, specify the value of\n\t\t\t\tTrafficPolicyInstanceNameMarker from the previous response, which is\n\t\t\tthe name of the first traffic policy instance that Amazon Route 53 will return if you\n\t\t\tsubmit another request.

\n

If the value of IsTruncated in the previous response was\n\t\t\t\tfalse, there are no more traffic policy instances to get.

", "smithy.api#httpQuery": "trafficpolicyinstancename" } }, "TrafficPolicyInstanceTypeMarker": { "target": "com.amazonaws.route53#RRType", "traits": { - "smithy.api#documentation": "

If the value of IsTruncated in the previous response was\n\t\t\t\ttrue, you have more traffic policy instances. To get more traffic\n\t\t\tpolicy instances, submit another ListTrafficPolicyInstancesByPolicy\n\t\t\trequest.

\n\t\t

For the value of trafficpolicyinstancetype, specify the value of\n\t\t\t\tTrafficPolicyInstanceTypeMarker from the previous response, which is\n\t\t\tthe name of the first traffic policy instance that Amazon Route 53 will return if you\n\t\t\tsubmit another request.

\n\t\t

If the value of IsTruncated in the previous response was\n\t\t\t\tfalse, there are no more traffic policy instances to get.

", + "smithy.api#documentation": "

If the value of IsTruncated in the previous response was\n\t\t\t\ttrue, you have more traffic policy instances. To get more traffic\n\t\t\tpolicy instances, submit another ListTrafficPolicyInstancesByPolicy\n\t\t\trequest.

\n

For the value of trafficpolicyinstancetype, specify the value of\n\t\t\t\tTrafficPolicyInstanceTypeMarker from the previous response, which is\n\t\t\tthe name of the first traffic policy instance that Amazon Route 53 will return if you\n\t\t\tsubmit another request.

\n

If the value of IsTruncated in the previous response was\n\t\t\t\tfalse, there are no more traffic policy instances to get.

", "smithy.api#httpQuery": "trafficpolicyinstancetype" } }, @@ -8927,21 +8936,21 @@ "HostedZoneIdMarker": { "target": "com.amazonaws.route53#ResourceId", "traits": { - "smithy.api#documentation": "

If the value of IsTruncated in the previous response was\n\t\t\t\ttrue, you have more traffic policy instances. To get more traffic\n\t\t\tpolicy instances, submit another ListTrafficPolicyInstances request. For\n\t\t\tthe value of HostedZoneId, specify the value of\n\t\t\t\tHostedZoneIdMarker from the previous response, which is the hosted zone\n\t\t\tID of the first traffic policy instance in the next group of traffic policy\n\t\t\tinstances.

\n\t\t

If the value of IsTruncated in the previous response was\n\t\t\t\tfalse, there are no more traffic policy instances to get.

", + "smithy.api#documentation": "

If the value of IsTruncated in the previous response was\n\t\t\t\ttrue, you have more traffic policy instances. To get more traffic\n\t\t\tpolicy instances, submit another ListTrafficPolicyInstances request. For\n\t\t\tthe value of HostedZoneId, specify the value of\n\t\t\t\tHostedZoneIdMarker from the previous response, which is the hosted zone\n\t\t\tID of the first traffic policy instance in the next group of traffic policy\n\t\t\tinstances.

\n

If the value of IsTruncated in the previous response was\n\t\t\t\tfalse, there are no more traffic policy instances to get.

", "smithy.api#httpQuery": "hostedzoneid" } }, "TrafficPolicyInstanceNameMarker": { "target": "com.amazonaws.route53#DNSName", "traits": { - "smithy.api#documentation": "

If the value of IsTruncated in the previous response was\n\t\t\t\ttrue, you have more traffic policy instances. To get more traffic\n\t\t\tpolicy instances, submit another ListTrafficPolicyInstances request. For\n\t\t\tthe value of trafficpolicyinstancename, specify the value of\n\t\t\t\tTrafficPolicyInstanceNameMarker from the previous response, which is\n\t\t\tthe name of the first traffic policy instance in the next group of traffic policy\n\t\t\tinstances.

\n\t\t

If the value of IsTruncated in the previous response was\n\t\t\t\tfalse, there are no more traffic policy instances to get.

", + "smithy.api#documentation": "

If the value of IsTruncated in the previous response was\n\t\t\t\ttrue, you have more traffic policy instances. To get more traffic\n\t\t\tpolicy instances, submit another ListTrafficPolicyInstances request. For\n\t\t\tthe value of trafficpolicyinstancename, specify the value of\n\t\t\t\tTrafficPolicyInstanceNameMarker from the previous response, which is\n\t\t\tthe name of the first traffic policy instance in the next group of traffic policy\n\t\t\tinstances.

\n

If the value of IsTruncated in the previous response was\n\t\t\t\tfalse, there are no more traffic policy instances to get.

", "smithy.api#httpQuery": "trafficpolicyinstancename" } }, "TrafficPolicyInstanceTypeMarker": { "target": "com.amazonaws.route53#RRType", "traits": { - "smithy.api#documentation": "

If the value of IsTruncated in the previous response was\n\t\t\t\ttrue, you have more traffic policy instances. To get more traffic\n\t\t\tpolicy instances, submit another ListTrafficPolicyInstances request. For\n\t\t\tthe value of trafficpolicyinstancetype, specify the value of\n\t\t\t\tTrafficPolicyInstanceTypeMarker from the previous response, which is\n\t\t\tthe type of the first traffic policy instance in the next group of traffic policy\n\t\t\tinstances.

\n\t\t

If the value of IsTruncated in the previous response was\n\t\t\t\tfalse, there are no more traffic policy instances to get.

", + "smithy.api#documentation": "

If the value of IsTruncated in the previous response was\n\t\t\t\ttrue, you have more traffic policy instances. To get more traffic\n\t\t\tpolicy instances, submit another ListTrafficPolicyInstances request. For\n\t\t\tthe value of trafficpolicyinstancetype, specify the value of\n\t\t\t\tTrafficPolicyInstanceTypeMarker from the previous response, which is\n\t\t\tthe type of the first traffic policy instance in the next group of traffic policy\n\t\t\tinstances.

\n

If the value of IsTruncated in the previous response was\n\t\t\t\tfalse, there are no more traffic policy instances to get.

", "smithy.api#httpQuery": "trafficpolicyinstancetype" } }, @@ -9022,7 +9031,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets information about all of the versions for a specified traffic policy.

\n\t\t

Traffic policy versions are listed in numerical order by\n\t\t\tVersionNumber.

", + "smithy.api#documentation": "

Gets information about all of the versions for a specified traffic policy.

\n

Traffic policy versions are listed in numerical order by\n\t\t\tVersionNumber.

", "smithy.api#http": { "method": "GET", "uri": "/2013-04-01/trafficpolicies/{Id}/versions", @@ -9044,7 +9053,7 @@ "TrafficPolicyVersionMarker": { "target": "com.amazonaws.route53#TrafficPolicyVersionMarker", "traits": { - "smithy.api#documentation": "

For your first request to ListTrafficPolicyVersions, don't include the\n\t\t\t\tTrafficPolicyVersionMarker parameter.

\n\t\t

If you have more traffic policy versions than the value of MaxItems,\n\t\t\t\tListTrafficPolicyVersions returns only the first group of\n\t\t\t\tMaxItems versions. To get more traffic policy versions, submit another\n\t\t\t\tListTrafficPolicyVersions request. For the value of\n\t\t\t\tTrafficPolicyVersionMarker, specify the value of\n\t\t\t\tTrafficPolicyVersionMarker in the previous response.

", + "smithy.api#documentation": "

For your first request to ListTrafficPolicyVersions, don't include the\n\t\t\t\tTrafficPolicyVersionMarker parameter.

\n

If you have more traffic policy versions than the value of MaxItems,\n\t\t\t\tListTrafficPolicyVersions returns only the first group of\n\t\t\t\tMaxItems versions. To get more traffic policy versions, submit another\n\t\t\t\tListTrafficPolicyVersions request. For the value of\n\t\t\t\tTrafficPolicyVersionMarker, specify the value of\n\t\t\t\tTrafficPolicyVersionMarker in the previous response.

", "smithy.api#httpQuery": "trafficpolicyversion" } }, @@ -9081,7 +9090,7 @@ "TrafficPolicyVersionMarker": { "target": "com.amazonaws.route53#TrafficPolicyVersionMarker", "traits": { - "smithy.api#documentation": "

If IsTruncated is true, the value of\n\t\t\t\tTrafficPolicyVersionMarker identifies the first traffic policy that\n\t\t\tAmazon Route 53 will return if you submit another request. Call\n\t\t\t\tListTrafficPolicyVersions again and specify the value of\n\t\t\t\tTrafficPolicyVersionMarker in the\n\t\t\t\tTrafficPolicyVersionMarker request parameter.

\n\t\t

This element is present only if IsTruncated is true.

", + "smithy.api#documentation": "

If IsTruncated is true, the value of\n\t\t\t\tTrafficPolicyVersionMarker identifies the first traffic policy that\n\t\t\tAmazon Route 53 will return if you submit another request. Call\n\t\t\t\tListTrafficPolicyVersions again and specify the value of\n\t\t\t\tTrafficPolicyVersionMarker in the\n\t\t\t\tTrafficPolicyVersionMarker request parameter.

\n

This element is present only if IsTruncated is true.

", "smithy.api#required": {} } }, @@ -9117,7 +9126,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets a list of the VPCs that were created by other accounts and that can be associated\n\t\t\twith a specified hosted zone because you've submitted one or more\n\t\t\t\tCreateVPCAssociationAuthorization requests.

\n\t\t

The response includes a VPCs element with a VPC child\n\t\t\telement for each VPC that can be associated with the hosted zone.

", + "smithy.api#documentation": "

Gets a list of the VPCs that were created by other accounts and that can be associated\n\t\t\twith a specified hosted zone because you've submitted one or more\n\t\t\t\tCreateVPCAssociationAuthorization requests.

\n

The response includes a VPCs element with a VPC child\n\t\t\telement for each VPC that can be associated with the hosted zone.

", "smithy.api#http": { "method": "GET", "uri": "/2013-04-01/hostedzone/{HostedZoneId}/authorizevpcassociation", @@ -9674,7 +9683,7 @@ "com.amazonaws.route53#RecordDataEntry": { "type": "string", "traits": { - "smithy.api#documentation": "

A value that Amazon Route 53 returned for this resource record set. A\n\t\t\t\tRecordDataEntry element is one of the following:

\n\t\t
    \n
  • \n\t\t\t\t

    For non-alias resource record sets, a RecordDataEntry element\n\t\t\t\t\tcontains one value in the resource record set. If the resource record set\n\t\t\t\t\tcontains multiple values, the response includes one RecordDataEntry\n\t\t\t\t\telement for each value.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    For multiple resource record sets that have the same name and type, which\n\t\t\t\t\tincludes weighted, latency, geolocation, and failover, a\n\t\t\t\t\t\tRecordDataEntry element contains the value from the appropriate\n\t\t\t\t\tresource record set based on the request.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    For alias resource record sets that refer to Amazon Web Services resources\n\t\t\t\t\tother than another resource record set, the RecordDataEntry element\n\t\t\t\t\tcontains an IP address or a domain name for the Amazon Web Services resource,\n\t\t\t\t\tdepending on the type of resource.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    For alias resource record sets that refer to other resource record sets, a\n\t\t\t\t\t\tRecordDataEntry element contains one value from the referenced\n\t\t\t\t\tresource record set. If the referenced resource record set contains multiple\n\t\t\t\t\tvalues, the response includes one RecordDataEntry element for each\n\t\t\t\t\tvalue.

    \n\t\t\t
  • \n
", + "smithy.api#documentation": "

A value that Amazon Route 53 returned for this resource record set. A\n\t\t\t\tRecordDataEntry element is one of the following:

\n
    \n
  • \n

    For non-alias resource record sets, a RecordDataEntry element\n\t\t\t\t\tcontains one value in the resource record set. If the resource record set\n\t\t\t\t\tcontains multiple values, the response includes one RecordDataEntry\n\t\t\t\t\telement for each value.

    \n
  • \n
  • \n

    For multiple resource record sets that have the same name and type, which\n\t\t\t\t\tincludes weighted, latency, geolocation, and failover, a\n\t\t\t\t\t\tRecordDataEntry element contains the value from the appropriate\n\t\t\t\t\tresource record set based on the request.

    \n
  • \n
  • \n

    For alias resource record sets that refer to Amazon Web Services resources\n\t\t\t\t\tother than another resource record set, the RecordDataEntry element\n\t\t\t\t\tcontains an IP address or a domain name for the Amazon Web Services resource,\n\t\t\t\t\tdepending on the type of resource.

    \n
  • \n
  • \n

    For alias resource record sets that refer to other resource record sets, a\n\t\t\t\t\t\tRecordDataEntry element contains one value from the referenced\n\t\t\t\t\tresource record set. If the referenced resource record set contains multiple\n\t\t\t\t\tvalues, the response includes one RecordDataEntry element for each\n\t\t\t\t\tvalue.

    \n
  • \n
", "smithy.api#length": { "min": 0, "max": 512 @@ -9773,13 +9782,13 @@ "Value": { "target": "com.amazonaws.route53#RData", "traits": { - "smithy.api#documentation": "

The current or new DNS record value, not to exceed 4,000 characters. In the case of a\n\t\t\t\tDELETE action, if the current value does not match the actual value, an\n\t\t\terror is returned. For descriptions about how to format Value for different\n\t\t\trecord types, see Supported DNS Resource\n\t\t\t\tRecord Types in the Amazon Route 53 Developer\n\t\t\tGuide.

\n\t\t

You can specify more than one value for all record types except CNAME and\n\t\t\t\tSOA.

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

If you're creating an alias resource record set, omit Value.

\n\t\t
", + "smithy.api#documentation": "

The current or new DNS record value, not to exceed 4,000 characters. In the case of a\n\t\t\t\tDELETE action, if the current value does not match the actual value, an\n\t\t\terror is returned. For descriptions about how to format Value for different\n\t\t\trecord types, see Supported DNS Resource\n\t\t\t\tRecord Types in the Amazon Route 53 Developer\n\t\t\tGuide.

\n

You can specify more than one value for all record types except CNAME and\n\t\t\t\tSOA.

\n \n

If you're creating an alias resource record set, omit Value.

\n
", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Information specific to the resource record.

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

If you're creating an alias resource record set, omit\n\t\t\t\tResourceRecord.

\n\t\t
" + "smithy.api#documentation": "

Information specific to the resource record.

\n \n

If you're creating an alias resource record set, omit\n\t\t\t\tResourceRecord.

\n
" } }, "com.amazonaws.route53#ResourceRecordSet": { @@ -9788,81 +9797,81 @@ "Name": { "target": "com.amazonaws.route53#DNSName", "traits": { - "smithy.api#documentation": "

For ChangeResourceRecordSets requests, the name of the record that you\n\t\t\twant to create, update, or delete. For ListResourceRecordSets responses,\n\t\t\tthe name of a record in the specified hosted zone.

\n\t\t

\n ChangeResourceRecordSets Only\n

\n\t\t

Enter a fully qualified domain name, for example, www.example.com. You\n\t\t\tcan optionally include a trailing dot. If you omit the trailing dot, Amazon Route 53\n\t\t\tassumes that the domain name that you specify is fully qualified. This means that Route\n\t\t\t53 treats www.example.com (without a trailing dot) and\n\t\t\t\twww.example.com. (with a trailing dot) as identical.

\n\t\t

For information about how to specify characters other than a-z,\n\t\t\t\t0-9, and - (hyphen) and how to specify internationalized\n\t\t\tdomain names, see DNS Domain Name\n\t\t\t\tFormat in the Amazon Route 53 Developer Guide.

\n\t\t

You can use the asterisk (*) wildcard to replace the leftmost label in a domain name,\n\t\t\tfor example, *.example.com. Note the following:

\n\t\t
    \n
  • \n\t\t\t\t

    The * must replace the entire label. For example, you can't specify\n\t\t\t\t\t\t*prod.example.com or prod*.example.com.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    The * can't replace any of the middle labels, for example,\n\t\t\t\t\tmarketing.*.example.com.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    If you include * in any position other than the leftmost label in a domain\n\t\t\t\t\tname, DNS treats it as an * character (ASCII 42), not as a wildcard.

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

    You can't use the * wildcard for resource records sets that have a type of\n\t\t\t\t\t\tNS.

    \n\t\t\t\t
    \n\t\t\t
  • \n
\n\t\t

You can use the * wildcard as the leftmost label in a domain name, for example,\n\t\t\t\t*.example.com. You can't use an * for one of the middle labels, for\n\t\t\texample, marketing.*.example.com. In addition, the * must replace the\n\t\t\tentire label; for example, you can't specify prod*.example.com.

", + "smithy.api#documentation": "

For ChangeResourceRecordSets requests, the name of the record that you\n\t\t\twant to create, update, or delete. For ListResourceRecordSets responses,\n\t\t\tthe name of a record in the specified hosted zone.

\n

\n ChangeResourceRecordSets Only\n

\n

Enter a fully qualified domain name, for example, www.example.com. You\n\t\t\tcan optionally include a trailing dot. If you omit the trailing dot, Amazon Route 53\n\t\t\tassumes that the domain name that you specify is fully qualified. This means that Route\n\t\t\t53 treats www.example.com (without a trailing dot) and\n\t\t\t\twww.example.com. (with a trailing dot) as identical.

\n

For information about how to specify characters other than a-z,\n\t\t\t\t0-9, and - (hyphen) and how to specify internationalized\n\t\t\tdomain names, see DNS Domain Name\n\t\t\t\tFormat in the Amazon Route 53 Developer Guide.

\n

You can use the asterisk (*) wildcard to replace the leftmost label in a domain name,\n\t\t\tfor example, *.example.com. Note the following:

\n
    \n
  • \n

    The * must replace the entire label. For example, you can't specify\n\t\t\t\t\t\t*prod.example.com or prod*.example.com.

    \n
  • \n
  • \n

    The * can't replace any of the middle labels, for example,\n\t\t\t\t\tmarketing.*.example.com.

    \n
  • \n
  • \n

    If you include * in any position other than the leftmost label in a domain\n\t\t\t\t\tname, DNS treats it as an * character (ASCII 42), not as a wildcard.

    \n \n

    You can't use the * wildcard for resource records sets that have a type of\n\t\t\t\t\t\tNS.

    \n
    \n
  • \n
\n

You can use the * wildcard as the leftmost label in a domain name, for example,\n\t\t\t\t*.example.com. You can't use an * for one of the middle labels, for\n\t\t\texample, marketing.*.example.com. In addition, the * must replace the\n\t\t\tentire label; for example, you can't specify prod*.example.com.

", "smithy.api#required": {} } }, "Type": { "target": "com.amazonaws.route53#RRType", "traits": { - "smithy.api#documentation": "

The DNS record type. For information about different record types and how data is\n\t\t\tencoded for them, see Supported DNS Resource\n\t\t\t\tRecord Types in the Amazon Route 53 Developer\n\t\t\tGuide.

\n\t\t

Valid values for basic resource record sets: A | AAAA |\n\t\t\t\tCAA | CNAME | DS |MX |\n\t\t\t\tNAPTR | NS | PTR | SOA |\n\t\t\t\tSPF | SRV | TXT\n

\n\t\t

Values for weighted, latency, geolocation, and failover resource record sets:\n\t\t\t\tA | AAAA | CAA | CNAME |\n\t\t\t\tMX | NAPTR | PTR | SPF |\n\t\t\t\tSRV | TXT. When creating a group of weighted, latency,\n\t\t\tgeolocation, or failover resource record sets, specify the same value for all of the\n\t\t\tresource record sets in the group.

\n\t\t

Valid values for multivalue answer resource record sets: A |\n\t\t\t\tAAAA | MX | NAPTR | PTR |\n\t\t\t\tSPF | SRV | TXT\n

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

SPF records were formerly used to verify the identity of the sender of email\n\t\t\t\tmessages. However, we no longer recommend that you create resource record sets for\n\t\t\t\twhich the value of Type is SPF. RFC 7208, Sender\n\t\t\t\t\tPolicy Framework (SPF) for Authorizing Use of Domains in Email, Version\n\t\t\t\t\t1, has been updated to say, \"...[I]ts existence and mechanism defined\n\t\t\t\tin [RFC4408] have led to some interoperability issues. Accordingly, its use is no\n\t\t\t\tlonger appropriate for SPF version 1; implementations are not to use it.\" In RFC\n\t\t\t\t7208, see section 14.1, The SPF DNS Record Type.

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

Values for alias resource record sets:

\n\t\t
    \n
  • \n\t\t\t\t

    \n Amazon API Gateway custom regional APIs and\n\t\t\t\t\t\tedge-optimized APIs:\n\t\t\t\t\t A\n

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n CloudFront distributions:\n\t\t\t\t\t A\n

    \n\t\t\t\t

    If IPv6 is enabled for the distribution, create two resource record sets to\n\t\t\t\t\troute traffic to your distribution, one with a value of A and one\n\t\t\t\t\twith a value of AAAA.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n Amazon API Gateway environment that has a regionalized\n\t\t\t\t\t\tsubdomain: A\n

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n ELB load balancers:\n\t\t\t\t\t A | AAAA\n

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n Amazon S3 buckets:\n\t\t\t\t\t A\n

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n Amazon Virtual Private Cloud interface VPC\n\t\t\t\t\t\tendpoints\n\t\t\t\t\t A\n

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n Another resource record set in this hosted\n\t\t\t\t\t\tzone: Specify the type of the resource record set that you're\n\t\t\t\t\tcreating the alias for. All values are supported except NS and\n\t\t\t\t\t\tSOA.

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

    If you're creating an alias record that has the same name as the hosted\n\t\t\t\t\t\tzone (known as the zone apex), you can't route traffic to a record for which\n\t\t\t\t\t\tthe value of Type is CNAME. This is because the\n\t\t\t\t\t\talias record must have the same type as the record you're routing traffic\n\t\t\t\t\t\tto, and creating a CNAME record for the zone apex isn't supported even for\n\t\t\t\t\t\tan alias record.

    \n\t\t\t\t
    \n\t\t\t
  • \n
", + "smithy.api#documentation": "

The DNS record type. For information about different record types and how data is\n\t\t\tencoded for them, see Supported DNS Resource\n\t\t\t\tRecord Types in the Amazon Route 53 Developer\n\t\t\tGuide.

\n

Valid values for basic resource record sets: A | AAAA |\n\t\t\t\tCAA | CNAME | DS |MX |\n\t\t\t\tNAPTR | NS | PTR | SOA |\n\t\t\t\tSPF | SRV | TXT\n

\n

Values for weighted, latency, geolocation, and failover resource record sets:\n\t\t\t\tA | AAAA | CAA | CNAME |\n\t\t\t\tMX | NAPTR | PTR | SPF |\n\t\t\t\tSRV | TXT. When creating a group of weighted, latency,\n\t\t\tgeolocation, or failover resource record sets, specify the same value for all of the\n\t\t\tresource record sets in the group.

\n

Valid values for multivalue answer resource record sets: A |\n\t\t\t\tAAAA | MX | NAPTR | PTR |\n\t\t\t\tSPF | SRV | TXT\n

\n \n

SPF records were formerly used to verify the identity of the sender of email\n\t\t\t\tmessages. However, we no longer recommend that you create resource record sets for\n\t\t\t\twhich the value of Type is SPF. RFC 7208, Sender\n\t\t\t\t\tPolicy Framework (SPF) for Authorizing Use of Domains in Email, Version\n\t\t\t\t\t1, has been updated to say, \"...[I]ts existence and mechanism defined\n\t\t\t\tin [RFC4408] have led to some interoperability issues. Accordingly, its use is no\n\t\t\t\tlonger appropriate for SPF version 1; implementations are not to use it.\" In RFC\n\t\t\t\t7208, see section 14.1, The SPF DNS Record Type.

\n
\n

Values for alias resource record sets:

\n
    \n
  • \n

    \n Amazon API Gateway custom regional APIs and\n\t\t\t\t\t\tedge-optimized APIs:\n A\n

    \n
  • \n
  • \n

    \n CloudFront distributions:\n A\n

    \n

    If IPv6 is enabled for the distribution, create two resource record sets to\n\t\t\t\t\troute traffic to your distribution, one with a value of A and one\n\t\t\t\t\twith a value of AAAA.

    \n
  • \n
  • \n

    \n Amazon API Gateway environment that has a regionalized\n\t\t\t\t\t\tsubdomain: A\n

    \n
  • \n
  • \n

    \n ELB load balancers:\n A | AAAA\n

    \n
  • \n
  • \n

    \n Amazon S3 buckets:\n A\n

    \n
  • \n
  • \n

    \n Amazon Virtual Private Cloud interface VPC\n\t\t\t\t\t\tendpoints\n A\n

    \n
  • \n
  • \n

    \n Another resource record set in this hosted\n\t\t\t\t\t\tzone: Specify the type of the resource record set that you're\n\t\t\t\t\tcreating the alias for. All values are supported except NS and\n\t\t\t\t\t\tSOA.

    \n \n

    If you're creating an alias record that has the same name as the hosted\n\t\t\t\t\t\tzone (known as the zone apex), you can't route traffic to a record for which\n\t\t\t\t\t\tthe value of Type is CNAME. This is because the\n\t\t\t\t\t\talias record must have the same type as the record you're routing traffic\n\t\t\t\t\t\tto, and creating a CNAME record for the zone apex isn't supported even for\n\t\t\t\t\t\tan alias record.

    \n
    \n
  • \n
", "smithy.api#required": {} } }, "SetIdentifier": { "target": "com.amazonaws.route53#ResourceRecordSetIdentifier", "traits": { - "smithy.api#documentation": "

\n Resource record sets that have a routing policy other than\n\t\t\t\tsimple: An identifier that differentiates among multiple resource record\n\t\t\tsets that have the same combination of name and type, such as multiple weighted resource\n\t\t\trecord sets named acme.example.com that have a type of A. In a group of resource record\n\t\t\tsets that have the same name and type, the value of SetIdentifier must be\n\t\t\tunique for each resource record set.

\n\t\t

For information about routing policies, see Choosing a Routing\n\t\t\t\tPolicy in the Amazon Route 53 Developer Guide.

" + "smithy.api#documentation": "

\n Resource record sets that have a routing policy other than\n\t\t\t\tsimple: An identifier that differentiates among multiple resource record\n\t\t\tsets that have the same combination of name and type, such as multiple weighted resource\n\t\t\trecord sets named acme.example.com that have a type of A. In a group of resource record\n\t\t\tsets that have the same name and type, the value of SetIdentifier must be\n\t\t\tunique for each resource record set.

\n

For information about routing policies, see Choosing a Routing\n\t\t\t\tPolicy in the Amazon Route 53 Developer Guide.

" } }, "Weight": { "target": "com.amazonaws.route53#ResourceRecordSetWeight", "traits": { - "smithy.api#documentation": "

\n Weighted resource record sets only: Among resource record sets\n\t\t\tthat have the same combination of DNS name and type, a value that determines the\n\t\t\tproportion of DNS queries that Amazon Route 53 responds to using the current resource\n\t\t\trecord set. Route 53 calculates the sum of the weights for the resource record sets that\n\t\t\thave the same combination of DNS name and type. Route 53 then responds to queries based\n\t\t\ton the ratio of a resource's weight to the total. Note the following:

\n\t\t
    \n
  • \n\t\t\t\t

    You must specify a value for the Weight element for every\n\t\t\t\t\tweighted resource record set.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    You can only specify one ResourceRecord per weighted resource\n\t\t\t\t\trecord set.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    You can't create latency, failover, or geolocation resource record sets that\n\t\t\t\t\thave the same values for the Name and Type elements as\n\t\t\t\t\tweighted resource record sets.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    You can create a maximum of 100 weighted resource record sets that have the\n\t\t\t\t\tsame values for the Name and Type elements.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    For weighted (but not weighted alias) resource record sets, if you set\n\t\t\t\t\t\tWeight to 0 for a resource record set, Route 53\n\t\t\t\t\tnever responds to queries with the applicable value for that resource record\n\t\t\t\t\tset. However, if you set Weight to 0 for all resource\n\t\t\t\t\trecord sets that have the same combination of DNS name and type, traffic is\n\t\t\t\t\trouted to all resources with equal probability.

    \n\t\t\t\t

    The effect of setting Weight to 0 is different when\n\t\t\t\t\tyou associate health checks with weighted resource record sets. For more\n\t\t\t\t\tinformation, see Options for Configuring Route 53 Active-Active and Active-Passive\n\t\t\t\t\t\tFailover in the Amazon Route 53 Developer\n\t\t\t\t\tGuide.

    \n\t\t\t
  • \n
" + "smithy.api#documentation": "

\n Weighted resource record sets only: Among resource record sets\n\t\t\tthat have the same combination of DNS name and type, a value that determines the\n\t\t\tproportion of DNS queries that Amazon Route 53 responds to using the current resource\n\t\t\trecord set. Route 53 calculates the sum of the weights for the resource record sets that\n\t\t\thave the same combination of DNS name and type. Route 53 then responds to queries based\n\t\t\ton the ratio of a resource's weight to the total. Note the following:

\n
    \n
  • \n

    You must specify a value for the Weight element for every\n\t\t\t\t\tweighted resource record set.

    \n
  • \n
  • \n

    You can only specify one ResourceRecord per weighted resource\n\t\t\t\t\trecord set.

    \n
  • \n
  • \n

    You can't create latency, failover, or geolocation resource record sets that\n\t\t\t\t\thave the same values for the Name and Type elements as\n\t\t\t\t\tweighted resource record sets.

    \n
  • \n
  • \n

    You can create a maximum of 100 weighted resource record sets that have the\n\t\t\t\t\tsame values for the Name and Type elements.

    \n
  • \n
  • \n

    For weighted (but not weighted alias) resource record sets, if you set\n\t\t\t\t\t\tWeight to 0 for a resource record set, Route 53\n\t\t\t\t\tnever responds to queries with the applicable value for that resource record\n\t\t\t\t\tset. However, if you set Weight to 0 for all resource\n\t\t\t\t\trecord sets that have the same combination of DNS name and type, traffic is\n\t\t\t\t\trouted to all resources with equal probability.

    \n

    The effect of setting Weight to 0 is different when\n\t\t\t\t\tyou associate health checks with weighted resource record sets. For more\n\t\t\t\t\tinformation, see Options for Configuring Route 53 Active-Active and Active-Passive\n\t\t\t\t\t\tFailover in the Amazon Route 53 Developer\n\t\t\t\t\tGuide.

    \n
  • \n
" } }, "Region": { "target": "com.amazonaws.route53#ResourceRecordSetRegion", "traits": { - "smithy.api#documentation": "

\n Latency-based resource record sets only: The Amazon EC2 Region\n\t\t\twhere you created the resource that this resource record set refers to. The resource\n\t\t\ttypically is an Amazon Web Services resource, such as an EC2 instance or an ELB load\n\t\t\tbalancer, and is referred to by an IP address or a DNS domain name, depending on the\n\t\t\trecord type.

\n\t\n\t\t

When Amazon Route 53 receives a DNS query for a domain name and type for which you\n\t\t\thave created latency resource record sets, Route 53 selects the latency resource record\n\t\t\tset that has the lowest latency between the end user and the associated Amazon EC2\n\t\t\tRegion. Route 53 then returns the value that is associated with the selected resource\n\t\t\trecord set.

\n\t\t

Note the following:

\n\t\t
    \n
  • \n\t\t\t\t

    You can only specify one ResourceRecord per latency resource\n\t\t\t\t\trecord set.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    You can only create one latency resource record set for each Amazon EC2\n\t\t\t\t\tRegion.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    You aren't required to create latency resource record sets for all Amazon EC2\n\t\t\t\t\tRegions. Route 53 will choose the region with the best latency from among the\n\t\t\t\t\tregions that you create latency resource record sets for.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    You can't create non-latency resource record sets that have the same values\n\t\t\t\t\tfor the Name and Type elements as latency resource\n\t\t\t\t\trecord sets.

    \n\t\t\t
  • \n
" + "smithy.api#documentation": "

\n Latency-based resource record sets only: The Amazon EC2 Region\n\t\t\twhere you created the resource that this resource record set refers to. The resource\n\t\t\ttypically is an Amazon Web Services resource, such as an EC2 instance or an ELB load\n\t\t\tbalancer, and is referred to by an IP address or a DNS domain name, depending on the\n\t\t\trecord type.

\n

When Amazon Route 53 receives a DNS query for a domain name and type for which you\n\t\t\thave created latency resource record sets, Route 53 selects the latency resource record\n\t\t\tset that has the lowest latency between the end user and the associated Amazon EC2\n\t\t\tRegion. Route 53 then returns the value that is associated with the selected resource\n\t\t\trecord set.

\n

Note the following:

\n
    \n
  • \n

    You can only specify one ResourceRecord per latency resource\n\t\t\t\t\trecord set.

    \n
  • \n
  • \n

    You can only create one latency resource record set for each Amazon EC2\n\t\t\t\t\tRegion.

    \n
  • \n
  • \n

    You aren't required to create latency resource record sets for all Amazon EC2\n\t\t\t\t\tRegions. Route 53 will choose the region with the best latency from among the\n\t\t\t\t\tregions that you create latency resource record sets for.

    \n
  • \n
  • \n

    You can't create non-latency resource record sets that have the same values\n\t\t\t\t\tfor the Name and Type elements as latency resource\n\t\t\t\t\trecord sets.

    \n
  • \n
" } }, "GeoLocation": { "target": "com.amazonaws.route53#GeoLocation", "traits": { - "smithy.api#documentation": "

\n Geolocation resource record sets only: A complex type that lets\n\t\t\tyou control how Amazon Route 53 responds to DNS queries based on the geographic origin\n\t\t\tof the query. For example, if you want all queries from Africa to be routed to a web\n\t\t\tserver with an IP address of 192.0.2.111, create a resource record set with\n\t\t\ta Type of A and a ContinentCode of\n\t\t\t\tAF.

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

Although creating geolocation and geolocation alias resource record sets in a\n\t\t\t\tprivate hosted zone is allowed, it's not supported.

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

If you create separate resource record sets for overlapping geographic regions (for\n\t\t\texample, one resource record set for a continent and one for a country on the same\n\t\t\tcontinent), priority goes to the smallest geographic region. This allows you to route\n\t\t\tmost queries for a continent to one resource and to route queries for a country on that\n\t\t\tcontinent to a different resource.

\n\t\t

You can't create two geolocation resource record sets that specify the same geographic\n\t\t\tlocation.

\n\t\t

The value * in the CountryCode element matches all\n\t\t\tgeographic locations that aren't specified in other geolocation resource record sets\n\t\t\tthat have the same values for the Name and Type\n\t\t\telements.

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

Geolocation works by mapping IP addresses to locations. However, some IP addresses\n\t\t\t\taren't mapped to geographic locations, so even if you create geolocation resource\n\t\t\t\trecord sets that cover all seven continents, Route 53 will receive some DNS queries\n\t\t\t\tfrom locations that it can't identify. We recommend that you create a resource\n\t\t\t\trecord set for which the value of CountryCode is *. Two\n\t\t\t\tgroups of queries are routed to the resource that you specify in this record:\n\t\t\t\tqueries that come from locations for which you haven't created geolocation resource\n\t\t\t\trecord sets and queries from IP addresses that aren't mapped to a location. If you\n\t\t\t\tdon't create a * resource record set, Route 53 returns a \"no answer\"\n\t\t\t\tresponse for queries from those locations.

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

You can't create non-geolocation resource record sets that have the same values for\n\t\t\tthe Name and Type elements as geolocation resource record\n\t\t\tsets.

" + "smithy.api#documentation": "

\n Geolocation resource record sets only: A complex type that lets\n\t\t\tyou control how Amazon Route 53 responds to DNS queries based on the geographic origin\n\t\t\tof the query. For example, if you want all queries from Africa to be routed to a web\n\t\t\tserver with an IP address of 192.0.2.111, create a resource record set with\n\t\t\ta Type of A and a ContinentCode of\n\t\t\t\tAF.

\n \n

Although creating geolocation and geolocation alias resource record sets in a\n\t\t\t\tprivate hosted zone is allowed, it's not supported.

\n
\n

If you create separate resource record sets for overlapping geographic regions (for\n\t\t\texample, one resource record set for a continent and one for a country on the same\n\t\t\tcontinent), priority goes to the smallest geographic region. This allows you to route\n\t\t\tmost queries for a continent to one resource and to route queries for a country on that\n\t\t\tcontinent to a different resource.

\n

You can't create two geolocation resource record sets that specify the same geographic\n\t\t\tlocation.

\n

The value * in the CountryCode element matches all\n\t\t\tgeographic locations that aren't specified in other geolocation resource record sets\n\t\t\tthat have the same values for the Name and Type\n\t\t\telements.

\n \n

Geolocation works by mapping IP addresses to locations. However, some IP addresses\n\t\t\t\taren't mapped to geographic locations, so even if you create geolocation resource\n\t\t\t\trecord sets that cover all seven continents, Route 53 will receive some DNS queries\n\t\t\t\tfrom locations that it can't identify. We recommend that you create a resource\n\t\t\t\trecord set for which the value of CountryCode is *. Two\n\t\t\t\tgroups of queries are routed to the resource that you specify in this record:\n\t\t\t\tqueries that come from locations for which you haven't created geolocation resource\n\t\t\t\trecord sets and queries from IP addresses that aren't mapped to a location. If you\n\t\t\t\tdon't create a * resource record set, Route 53 returns a \"no answer\"\n\t\t\t\tresponse for queries from those locations.

\n
\n

You can't create non-geolocation resource record sets that have the same values for\n\t\t\tthe Name and Type elements as geolocation resource record\n\t\t\tsets.

" } }, "Failover": { "target": "com.amazonaws.route53#ResourceRecordSetFailover", "traits": { - "smithy.api#documentation": "

\n Failover resource record sets only: To configure failover, you\n\t\t\tadd the Failover element to two resource record sets. For one resource\n\t\t\trecord set, you specify PRIMARY as the value for Failover; for\n\t\t\tthe other resource record set, you specify SECONDARY. In addition, you\n\t\t\tinclude the HealthCheckId element and specify the health check that you\n\t\t\twant Amazon Route 53 to perform for each resource record set.

\n\t\t

Except where noted, the following failover behaviors assume that you have included the\n\t\t\t\tHealthCheckId element in both resource record sets:

\n\t\t
    \n
  • \n\t\t\t\t

    When the primary resource record set is healthy, Route 53 responds to DNS\n\t\t\t\t\tqueries with the applicable value from the primary resource record set\n\t\t\t\t\tregardless of the health of the secondary resource record set.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    When the primary resource record set is unhealthy and the secondary resource\n\t\t\t\t\trecord set is healthy, Route 53 responds to DNS queries with the applicable\n\t\t\t\t\tvalue from the secondary resource record set.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    When the secondary resource record set is unhealthy, Route 53 responds to DNS\n\t\t\t\t\tqueries with the applicable value from the primary resource record set\n\t\t\t\t\tregardless of the health of the primary resource record set.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    If you omit the HealthCheckId element for the secondary resource\n\t\t\t\t\trecord set, and if the primary resource record set is unhealthy, Route 53 always\n\t\t\t\t\tresponds to DNS queries with the applicable value from the secondary resource\n\t\t\t\t\trecord set. This is true regardless of the health of the associated\n\t\t\t\t\tendpoint.

    \n\t\t\t
  • \n
\n\t\t

You can't create non-failover resource record sets that have the same values for the\n\t\t\t\tName and Type elements as failover resource record\n\t\t\tsets.

\n\t\t

For failover alias resource record sets, you must also include the\n\t\t\t\tEvaluateTargetHealth element and set the value to true.

\n\t\t

For more information about configuring failover for Route 53, see the following topics\n\t\t\tin the Amazon Route 53 Developer Guide:

\n\t\t " + "smithy.api#documentation": "

\n Failover resource record sets only: To configure failover, you\n\t\t\tadd the Failover element to two resource record sets. For one resource\n\t\t\trecord set, you specify PRIMARY as the value for Failover; for\n\t\t\tthe other resource record set, you specify SECONDARY. In addition, you\n\t\t\tinclude the HealthCheckId element and specify the health check that you\n\t\t\twant Amazon Route 53 to perform for each resource record set.

\n

Except where noted, the following failover behaviors assume that you have included the\n\t\t\t\tHealthCheckId element in both resource record sets:

\n
    \n
  • \n

    When the primary resource record set is healthy, Route 53 responds to DNS\n\t\t\t\t\tqueries with the applicable value from the primary resource record set\n\t\t\t\t\tregardless of the health of the secondary resource record set.

    \n
  • \n
  • \n

    When the primary resource record set is unhealthy and the secondary resource\n\t\t\t\t\trecord set is healthy, Route 53 responds to DNS queries with the applicable\n\t\t\t\t\tvalue from the secondary resource record set.

    \n
  • \n
  • \n

    When the secondary resource record set is unhealthy, Route 53 responds to DNS\n\t\t\t\t\tqueries with the applicable value from the primary resource record set\n\t\t\t\t\tregardless of the health of the primary resource record set.

    \n
  • \n
  • \n

    If you omit the HealthCheckId element for the secondary resource\n\t\t\t\t\trecord set, and if the primary resource record set is unhealthy, Route 53 always\n\t\t\t\t\tresponds to DNS queries with the applicable value from the secondary resource\n\t\t\t\t\trecord set. This is true regardless of the health of the associated\n\t\t\t\t\tendpoint.

    \n
  • \n
\n

You can't create non-failover resource record sets that have the same values for the\n\t\t\t\tName and Type elements as failover resource record\n\t\t\tsets.

\n

For failover alias resource record sets, you must also include the\n\t\t\t\tEvaluateTargetHealth element and set the value to true.

\n

For more information about configuring failover for Route 53, see the following topics\n\t\t\tin the Amazon Route 53 Developer Guide:

\n " } }, "MultiValueAnswer": { "target": "com.amazonaws.route53#ResourceRecordSetMultiValueAnswer", "traits": { - "smithy.api#documentation": "

\n Multivalue answer resource record sets only: To route traffic\n\t\t\tapproximately randomly to multiple resources, such as web servers, create one multivalue\n\t\t\tanswer record for each resource and specify true for\n\t\t\t\tMultiValueAnswer. Note the following:

\n\t\t
    \n
  • \n\t\t\t\t

    If you associate a health check with a multivalue answer resource record set,\n\t\t\t\t\tAmazon Route 53 responds to DNS queries with the corresponding IP address only\n\t\t\t\t\twhen the health check is healthy.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    If you don't associate a health check with a multivalue answer record, Route\n\t\t\t\t\t53 always considers the record to be healthy.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    Route 53 responds to DNS queries with up to eight healthy records; if you have\n\t\t\t\t\teight or fewer healthy records, Route 53 responds to all DNS queries with all\n\t\t\t\t\tthe healthy records.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    If you have more than eight healthy records, Route 53 responds to different\n\t\t\t\t\tDNS resolvers with different combinations of healthy records.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    When all records are unhealthy, Route 53 responds to DNS queries with up to\n\t\t\t\t\teight unhealthy records.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    If a resource becomes unavailable after a resolver caches a response, client\n\t\t\t\t\tsoftware typically tries another of the IP addresses in the response.

    \n\t\t\t
  • \n
\n\t\t

You can't create multivalue answer alias records.

" + "smithy.api#documentation": "

\n Multivalue answer resource record sets only: To route traffic\n\t\t\tapproximately randomly to multiple resources, such as web servers, create one multivalue\n\t\t\tanswer record for each resource and specify true for\n\t\t\t\tMultiValueAnswer. Note the following:

\n
    \n
  • \n

    If you associate a health check with a multivalue answer resource record set,\n\t\t\t\t\tAmazon Route 53 responds to DNS queries with the corresponding IP address only\n\t\t\t\t\twhen the health check is healthy.

    \n
  • \n
  • \n

    If you don't associate a health check with a multivalue answer record, Route\n\t\t\t\t\t53 always considers the record to be healthy.

    \n
  • \n
  • \n

    Route 53 responds to DNS queries with up to eight healthy records; if you have\n\t\t\t\t\teight or fewer healthy records, Route 53 responds to all DNS queries with all\n\t\t\t\t\tthe healthy records.

    \n
  • \n
  • \n

    If you have more than eight healthy records, Route 53 responds to different\n\t\t\t\t\tDNS resolvers with different combinations of healthy records.

    \n
  • \n
  • \n

    When all records are unhealthy, Route 53 responds to DNS queries with up to\n\t\t\t\t\teight unhealthy records.

    \n
  • \n
  • \n

    If a resource becomes unavailable after a resolver caches a response, client\n\t\t\t\t\tsoftware typically tries another of the IP addresses in the response.

    \n
  • \n
\n

You can't create multivalue answer alias records.

" } }, "TTL": { "target": "com.amazonaws.route53#TTL", "traits": { - "smithy.api#documentation": "

The resource record cache time to live (TTL), in seconds. Note the following:

\n\t\t
    \n
  • \n\t\t\t\t

    If you're creating or updating an alias resource record set, omit\n\t\t\t\t\t\tTTL. Amazon Route 53 uses the value of TTL for the\n\t\t\t\t\talias target.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    If you're associating this resource record set with a health check (if you're\n\t\t\t\t\tadding a HealthCheckId element), we recommend that you specify a\n\t\t\t\t\t\tTTL of 60 seconds or less so clients respond quickly to changes\n\t\t\t\t\tin health status.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    All of the resource record sets in a group of weighted resource record sets\n\t\t\t\t\tmust have the same value for TTL.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    If a group of weighted resource record sets includes one or more weighted\n\t\t\t\t\talias resource record sets for which the alias target is an ELB load balancer,\n\t\t\t\t\twe recommend that you specify a TTL of 60 seconds for all of the\n\t\t\t\t\tnon-alias weighted resource record sets that have the same name and type. Values\n\t\t\t\t\tother than 60 seconds (the TTL for load balancers) will change the effect of the\n\t\t\t\t\tvalues that you specify for Weight.

    \n\t\t\t
  • \n
" + "smithy.api#documentation": "

The resource record cache time to live (TTL), in seconds. Note the following:

\n
    \n
  • \n

    If you're creating or updating an alias resource record set, omit\n\t\t\t\t\t\tTTL. Amazon Route 53 uses the value of TTL for the\n\t\t\t\t\talias target.

    \n
  • \n
  • \n

    If you're associating this resource record set with a health check (if you're\n\t\t\t\t\tadding a HealthCheckId element), we recommend that you specify a\n\t\t\t\t\t\tTTL of 60 seconds or less so clients respond quickly to changes\n\t\t\t\t\tin health status.

    \n
  • \n
  • \n

    All of the resource record sets in a group of weighted resource record sets\n\t\t\t\t\tmust have the same value for TTL.

    \n
  • \n
  • \n

    If a group of weighted resource record sets includes one or more weighted\n\t\t\t\t\talias resource record sets for which the alias target is an ELB load balancer,\n\t\t\t\t\twe recommend that you specify a TTL of 60 seconds for all of the\n\t\t\t\t\tnon-alias weighted resource record sets that have the same name and type. Values\n\t\t\t\t\tother than 60 seconds (the TTL for load balancers) will change the effect of the\n\t\t\t\t\tvalues that you specify for Weight.

    \n
  • \n
" } }, "ResourceRecords": { "target": "com.amazonaws.route53#ResourceRecords", "traits": { - "smithy.api#documentation": "

Information about the resource records to act upon.

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

If you're creating an alias resource record set, omit\n\t\t\t\tResourceRecords.

\n\t\t
" + "smithy.api#documentation": "

Information about the resource records to act upon.

\n \n

If you're creating an alias resource record set, omit\n\t\t\t\tResourceRecords.

\n
" } }, "AliasTarget": { "target": "com.amazonaws.route53#AliasTarget", "traits": { - "smithy.api#documentation": "

\n Alias resource record sets only: Information about the Amazon Web Services resource, such as a CloudFront distribution or an Amazon S3 bucket, that\n\t\t\tyou want to route traffic to.

\n\t\t

If you're creating resource records sets for a private hosted zone, note the\n\t\t\tfollowing:

\n\t\t
    \n
  • \n\t\t\t\t

    You can't create an alias resource record set in a private hosted zone to\n\t\t\t\t\troute traffic to a CloudFront distribution.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    For information about creating failover resource record sets in a private\n\t\t\t\t\thosted zone, see Configuring Failover in a Private Hosted Zone in the\n\t\t\t\t\t\tAmazon Route 53 Developer Guide.

    \n\t\t\t
  • \n
" + "smithy.api#documentation": "

\n Alias resource record sets only: Information about the Amazon Web Services resource, such as a CloudFront distribution or an Amazon S3 bucket, that\n\t\t\tyou want to route traffic to.

\n

If you're creating resource records sets for a private hosted zone, note the\n\t\t\tfollowing:

\n
    \n
  • \n

    You can't create an alias resource record set in a private hosted zone to\n\t\t\t\t\troute traffic to a CloudFront distribution.

    \n
  • \n
  • \n

    For information about creating failover resource record sets in a private\n\t\t\t\t\thosted zone, see Configuring Failover in a Private Hosted Zone in the\n\t\t\t\t\t\tAmazon Route 53 Developer Guide.

    \n
  • \n
" } }, "HealthCheckId": { "target": "com.amazonaws.route53#HealthCheckId", "traits": { - "smithy.api#documentation": "

If you want Amazon Route 53 to return this resource record set in response to a DNS\n\t\t\tquery only when the status of a health check is healthy, include the\n\t\t\t\tHealthCheckId element and specify the ID of the applicable health\n\t\t\tcheck.

\n\t\t

Route 53 determines whether a resource record set is healthy based on one of the\n\t\t\tfollowing:

\n\t\t
    \n
  • \n\t\t\t\t

    By periodically sending a request to the endpoint that is specified in the\n\t\t\t\t\thealth check

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    By aggregating the status of a specified group of health checks (calculated\n\t\t\t\t\thealth checks)

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    By determining the current state of a CloudWatch alarm (CloudWatch metric\n\t\t\t\t\thealth checks)

    \n\t\t\t
  • \n
\n\t\t \n\t\t\t

Route 53 doesn't check the health of the endpoint that is specified in the\n\t\t\t\tresource record set, for example, the endpoint specified by the IP address in the\n\t\t\t\t\tValue element. When you add a HealthCheckId element to\n\t\t\t\ta resource record set, Route 53 checks the health of the endpoint that you specified\n\t\t\t\tin the health check.

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

For more information, see the following topics in the Amazon Route 53\n\t\t\t\tDeveloper Guide:

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

\n When to Specify HealthCheckId\n

\n\t\t

Specifying a value for HealthCheckId is useful only when Route 53 is\n\t\t\tchoosing between two or more resource record sets to respond to a DNS query, and you\n\t\t\twant Route 53 to base the choice in part on the status of a health check. Configuring\n\t\t\thealth checks makes sense only in the following configurations:

\n\t\t
    \n
  • \n\t\t\t\t

    \n Non-alias resource record sets: You're\n\t\t\t\t\tchecking the health of a group of non-alias resource record sets that have the\n\t\t\t\t\tsame routing policy, name, and type (such as multiple weighted records named\n\t\t\t\t\twww.example.com with a type of A) and you specify health check IDs for all the\n\t\t\t\t\tresource record sets.

    \n\t\t\t\t

    If the health check status for a resource record set is healthy, Route 53\n\t\t\t\t\tincludes the record among the records that it responds to DNS queries\n\t\t\t\t\twith.

    \n\t\t\t\t

    If the health check status for a resource record set is unhealthy, Route 53\n\t\t\t\t\tstops responding to DNS queries using the value for that resource record\n\t\t\t\t\tset.

    \n\t\t\t\t

    If the health check status for all resource record sets in the group is\n\t\t\t\t\tunhealthy, Route 53 considers all resource record sets in the group healthy and\n\t\t\t\t\tresponds to DNS queries accordingly.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n Alias resource record sets: You specify the\n\t\t\t\t\tfollowing settings:

    \n\t\t\t\t
      \n
    • \n\t\t\t\t\t\t

      You set EvaluateTargetHealth to true for an alias\n\t\t\t\t\t\t\tresource record set in a group of resource record sets that have the\n\t\t\t\t\t\t\tsame routing policy, name, and type (such as multiple weighted records\n\t\t\t\t\t\t\tnamed www.example.com with a type of A).

      \n\t\t\t\t\t
    • \n
    • \n\t\t\t\t\t\t

      You configure the alias resource record set to route traffic to a\n\t\t\t\t\t\t\tnon-alias resource record set in the same hosted zone.

      \n\t\t\t\t\t
    • \n
    • \n\t\t\t\t\t\t

      You specify a health check ID for the non-alias resource record set.\n\t\t\t\t\t\t

      \n\t\t\t\t\t
    • \n
    \n\t\t\t\t

    If the health check status is healthy, Route 53 considers the alias resource\n\t\t\t\t\trecord set to be healthy and includes the alias record among the records that it\n\t\t\t\t\tresponds to DNS queries with.

    \n\t\t\t\t

    If the health check status is unhealthy, Route 53 stops responding to DNS\n\t\t\t\t\tqueries using the alias resource record set.

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

    The alias resource record set can also route traffic to a\n\t\t\t\t\t\t\tgroup of non-alias resource record sets that have\n\t\t\t\t\t\tthe same routing policy, name, and type. In that configuration, associate\n\t\t\t\t\t\thealth checks with all of the resource record sets in the group of non-alias\n\t\t\t\t\t\tresource record sets.

    \n\t\t\t\t
    \n\t\t\t
  • \n
\n\t\t

\n Geolocation Routing\n

\n\t\t

For geolocation resource record sets, if an endpoint is unhealthy, Route 53 looks for\n\t\t\ta resource record set for the larger, associated geographic region. For example, suppose\n\t\t\tyou have resource record sets for a state in the United States, for the entire United\n\t\t\tStates, for North America, and a resource record set that has * for\n\t\t\t\tCountryCode is *, which applies to all locations. If the\n\t\t\tendpoint for the state resource record set is unhealthy, Route 53 checks for healthy\n\t\t\tresource record sets in the following order until it finds a resource record set for\n\t\t\twhich the endpoint is healthy:

\n\t\t
    \n
  • \n\t\t\t\t

    The United States

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    North America

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    The default resource record set

    \n\t\t\t
  • \n
\n\t\t

\n Specifying the Health Check Endpoint by Domain\n\t\t\tName\n

\n\t\t

If your health checks specify the endpoint only by domain name, we recommend that you\n\t\t\tcreate a separate health check for each endpoint. For example, create a health check for\n\t\t\teach HTTP server that is serving content for www.example.com.\n\t\t\tFor the value of FullyQualifiedDomainName, specify the domain name of the\n\t\t\tserver (such as us-east-2-www.example.com), not the name of the resource\n\t\t\trecord sets (www.example.com).

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

Health check results will be unpredictable if you do the following:

\n\t\t\t
    \n
  • \n\t\t\t\t\t

    Create a health check that has the same value for\n\t\t\t\t\t\t\tFullyQualifiedDomainName as the name of a resource record\n\t\t\t\t\t\tset.

    \n\t\t\t\t
  • \n
  • \n\t\t\t\t\t

    Associate that health check with the resource record set.

    \n\t\t\t\t
  • \n
\n\t\t
" + "smithy.api#documentation": "

If you want Amazon Route 53 to return this resource record set in response to a DNS\n\t\t\tquery only when the status of a health check is healthy, include the\n\t\t\t\tHealthCheckId element and specify the ID of the applicable health\n\t\t\tcheck.

\n

Route 53 determines whether a resource record set is healthy based on one of the\n\t\t\tfollowing:

\n
    \n
  • \n

    By periodically sending a request to the endpoint that is specified in the\n\t\t\t\t\thealth check

    \n
  • \n
  • \n

    By aggregating the status of a specified group of health checks (calculated\n\t\t\t\t\thealth checks)

    \n
  • \n
  • \n

    By determining the current state of a CloudWatch alarm (CloudWatch metric\n\t\t\t\t\thealth checks)

    \n
  • \n
\n \n

Route 53 doesn't check the health of the endpoint that is specified in the\n\t\t\t\tresource record set, for example, the endpoint specified by the IP address in the\n\t\t\t\t\tValue element. When you add a HealthCheckId element to\n\t\t\t\ta resource record set, Route 53 checks the health of the endpoint that you specified\n\t\t\t\tin the health check.

\n
\n

For more information, see the following topics in the Amazon Route 53\n\t\t\t\tDeveloper Guide:

\n \n

\n When to Specify HealthCheckId\n

\n

Specifying a value for HealthCheckId is useful only when Route 53 is\n\t\t\tchoosing between two or more resource record sets to respond to a DNS query, and you\n\t\t\twant Route 53 to base the choice in part on the status of a health check. Configuring\n\t\t\thealth checks makes sense only in the following configurations:

\n
    \n
  • \n

    \n Non-alias resource record sets: You're\n\t\t\t\t\tchecking the health of a group of non-alias resource record sets that have the\n\t\t\t\t\tsame routing policy, name, and type (such as multiple weighted records named\n\t\t\t\t\twww.example.com with a type of A) and you specify health check IDs for all the\n\t\t\t\t\tresource record sets.

    \n

    If the health check status for a resource record set is healthy, Route 53\n\t\t\t\t\tincludes the record among the records that it responds to DNS queries\n\t\t\t\t\twith.

    \n

    If the health check status for a resource record set is unhealthy, Route 53\n\t\t\t\t\tstops responding to DNS queries using the value for that resource record\n\t\t\t\t\tset.

    \n

    If the health check status for all resource record sets in the group is\n\t\t\t\t\tunhealthy, Route 53 considers all resource record sets in the group healthy and\n\t\t\t\t\tresponds to DNS queries accordingly.

    \n
  • \n
  • \n

    \n Alias resource record sets: You specify the\n\t\t\t\t\tfollowing settings:

    \n
      \n
    • \n

      You set EvaluateTargetHealth to true for an alias\n\t\t\t\t\t\t\tresource record set in a group of resource record sets that have the\n\t\t\t\t\t\t\tsame routing policy, name, and type (such as multiple weighted records\n\t\t\t\t\t\t\tnamed www.example.com with a type of A).

      \n
    • \n
    • \n

      You configure the alias resource record set to route traffic to a\n\t\t\t\t\t\t\tnon-alias resource record set in the same hosted zone.

      \n
    • \n
    • \n

      You specify a health check ID for the non-alias resource record set.\n\t\t\t\t\t\t

      \n
    • \n
    \n

    If the health check status is healthy, Route 53 considers the alias resource\n\t\t\t\t\trecord set to be healthy and includes the alias record among the records that it\n\t\t\t\t\tresponds to DNS queries with.

    \n

    If the health check status is unhealthy, Route 53 stops responding to DNS\n\t\t\t\t\tqueries using the alias resource record set.

    \n \n

    The alias resource record set can also route traffic to a\n\t\t\t\t\t\t\tgroup of non-alias resource record sets that have\n\t\t\t\t\t\tthe same routing policy, name, and type. In that configuration, associate\n\t\t\t\t\t\thealth checks with all of the resource record sets in the group of non-alias\n\t\t\t\t\t\tresource record sets.

    \n
    \n
  • \n
\n

\n Geolocation Routing\n

\n

For geolocation resource record sets, if an endpoint is unhealthy, Route 53 looks for\n\t\t\ta resource record set for the larger, associated geographic region. For example, suppose\n\t\t\tyou have resource record sets for a state in the United States, for the entire United\n\t\t\tStates, for North America, and a resource record set that has * for\n\t\t\t\tCountryCode is *, which applies to all locations. If the\n\t\t\tendpoint for the state resource record set is unhealthy, Route 53 checks for healthy\n\t\t\tresource record sets in the following order until it finds a resource record set for\n\t\t\twhich the endpoint is healthy:

\n
    \n
  • \n

    The United States

    \n
  • \n
  • \n

    North America

    \n
  • \n
  • \n

    The default resource record set

    \n
  • \n
\n

\n Specifying the Health Check Endpoint by Domain\n\t\t\tName\n

\n

If your health checks specify the endpoint only by domain name, we recommend that you\n\t\t\tcreate a separate health check for each endpoint. For example, create a health check for\n\t\t\teach HTTP server that is serving content for www.example.com.\n\t\t\tFor the value of FullyQualifiedDomainName, specify the domain name of the\n\t\t\tserver (such as us-east-2-www.example.com), not the name of the resource\n\t\t\trecord sets (www.example.com).

\n \n

Health check results will be unpredictable if you do the following:

\n
    \n
  • \n

    Create a health check that has the same value for\n\t\t\t\t\t\t\tFullyQualifiedDomainName as the name of a resource record\n\t\t\t\t\t\tset.

    \n
  • \n
  • \n

    Associate that health check with the resource record set.

    \n
  • \n
\n
" } }, "TrafficPolicyInstanceId": { "target": "com.amazonaws.route53#TrafficPolicyInstanceId", "traits": { - "smithy.api#documentation": "

When you create a traffic policy instance, Amazon Route 53 automatically creates a\n\t\t\tresource record set. TrafficPolicyInstanceId is the ID of the traffic\n\t\t\tpolicy instance that Route 53 created this resource record set for.

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

To delete the resource record set that is associated with a traffic policy\n\t\t\t\tinstance, use DeleteTrafficPolicyInstance. Route 53 will delete the\n\t\t\t\tresource record set automatically. If you delete the resource record set by using\n\t\t\t\t\tChangeResourceRecordSets, Route 53 doesn't automatically delete the\n\t\t\t\ttraffic policy instance, and you'll continue to be charged for it even though it's\n\t\t\t\tno longer in use.

\n\t\t
" + "smithy.api#documentation": "

When you create a traffic policy instance, Amazon Route 53 automatically creates a\n\t\t\tresource record set. TrafficPolicyInstanceId is the ID of the traffic\n\t\t\tpolicy instance that Route 53 created this resource record set for.

\n \n

To delete the resource record set that is associated with a traffic policy\n\t\t\t\tinstance, use DeleteTrafficPolicyInstance. Route 53 will delete the\n\t\t\t\tresource record set automatically. If you delete the resource record set by using\n\t\t\t\t\tChangeResourceRecordSets, Route 53 doesn't automatically delete the\n\t\t\t\ttraffic policy instance, and you'll continue to be charged for it even though it's\n\t\t\t\tno longer in use.

\n
" } }, "CidrRoutingConfig": { @@ -10049,6 +10058,12 @@ "smithy.api#enumValue": "ap-south-1" } }, + "ap_south_2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ap-south-2" + } + }, "af_south_1": { "target": "smithy.api#Unit", "traits": { @@ -10060,6 +10075,18 @@ "traits": { "smithy.api#enumValue": "eu-south-1" } + }, + "eu_south_2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "eu-south-2" + } + }, + "ap_southeast_4": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ap-southeast-4" + } } }, "traits": { @@ -10107,7 +10134,7 @@ "ResourceType": { "target": "com.amazonaws.route53#TagResourceType", "traits": { - "smithy.api#documentation": "

The type of the resource.

\n\t\t
    \n
  • \n\t\t\t\t

    The resource type for health checks is healthcheck.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    The resource type for hosted zones is hostedzone.

    \n\t\t\t
  • \n
" + "smithy.api#documentation": "

The type of the resource.

\n
    \n
  • \n

    The resource type for health checks is healthcheck.

    \n
  • \n
  • \n

    The resource type for hosted zones is hostedzone.

    \n
  • \n
" } }, "ResourceId": { @@ -10343,13 +10370,13 @@ "Key": { "target": "com.amazonaws.route53#TagKey", "traits": { - "smithy.api#documentation": "

The value of Key depends on the operation that you want to\n\t\t\tperform:

\n\t\t
    \n
  • \n\t\t\t\t

    \n Add a tag to a health check or hosted zone:\n\t\t\t\t\t\tKey is the name that you want to give the new tag.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n Edit a tag: Key is the name of\n\t\t\t\t\tthe tag that you want to change the Value for.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n Delete a key: Key is the name\n\t\t\t\t\tof the tag you want to remove.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n Give a name to a health check: Edit the\n\t\t\t\t\tdefault Name tag. In the Amazon Route 53 console, the list of your\n\t\t\t\t\thealth checks includes a Name column that lets\n\t\t\t\t\tyou see the name that you've given to each health check.

    \n\t\t\t
  • \n
" + "smithy.api#documentation": "

The value of Key depends on the operation that you want to\n\t\t\tperform:

\n
    \n
  • \n

    \n Add a tag to a health check or hosted zone:\n\t\t\t\t\t\tKey is the name that you want to give the new tag.

    \n
  • \n
  • \n

    \n Edit a tag: Key is the name of\n\t\t\t\t\tthe tag that you want to change the Value for.

    \n
  • \n
  • \n

    \n Delete a key: Key is the name\n\t\t\t\t\tof the tag you want to remove.

    \n
  • \n
  • \n

    \n Give a name to a health check: Edit the\n\t\t\t\t\tdefault Name tag. In the Amazon Route 53 console, the list of your\n\t\t\t\t\thealth checks includes a Name column that lets\n\t\t\t\t\tyou see the name that you've given to each health check.

    \n
  • \n
" } }, "Value": { "target": "com.amazonaws.route53#TagValue", "traits": { - "smithy.api#documentation": "

The value of Value depends on the operation that you want to\n\t\t\tperform:

\n\t\t
    \n
  • \n\t\t\t\t

    \n Add a tag to a health check or hosted zone:\n\t\t\t\t\t\tValue is the value that you want to give the new tag.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n Edit a tag: Value is the new\n\t\t\t\t\tvalue that you want to assign the tag.

    \n\t\t\t
  • \n
" + "smithy.api#documentation": "

The value of Value depends on the operation that you want to\n\t\t\tperform:

\n
    \n
  • \n

    \n Add a tag to a health check or hosted zone:\n\t\t\t\t\t\tValue is the value that you want to give the new tag.

    \n
  • \n
  • \n

    \n Edit a tag: Value is the new\n\t\t\t\t\tvalue that you want to assign the tag.

    \n
  • \n
" } } }, @@ -10463,7 +10490,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets the value that Amazon Route 53 returns in response to a DNS request for a\n\t\t\tspecified record name and type. You can optionally specify the IP address of a DNS\n\t\t\tresolver, an EDNS0 client subnet IP address, and a subnet mask.

\n\t\t

This call only supports querying public hosted zones.

", + "smithy.api#documentation": "

Gets the value that Amazon Route 53 returns in response to a DNS request for a\n\t\t\tspecified record name and type. You can optionally specify the IP address of a DNS\n\t\t\tresolver, an EDNS0 client subnet IP address, and a subnet mask.

\n

This call only supports querying public hosted zones.

", "smithy.api#http": { "method": "GET", "uri": "/2013-04-01/testdnsanswer", @@ -10515,7 +10542,7 @@ "EDNS0ClientSubnetMask": { "target": "com.amazonaws.route53#SubnetMask", "traits": { - "smithy.api#documentation": "

If you specify an IP address for edns0clientsubnetip, you can optionally\n\t\t\tspecify the number of bits of the IP address that you want the checking tool to include\n\t\t\tin the DNS query. For example, if you specify 192.0.2.44 for\n\t\t\t\tedns0clientsubnetip and 24 for\n\t\t\t\tedns0clientsubnetmask, the checking tool will simulate a request from\n\t\t\t192.0.2.0/24. The default value is 24 bits for IPv4 addresses and 64 bits for IPv6\n\t\t\taddresses.

\n\t\t

The range of valid values depends on whether edns0clientsubnetip is an\n\t\t\tIPv4 or an IPv6 address:

\n\t\t
    \n
  • \n\t\t\t\t

    \n IPv4: Specify a value between 0 and 32

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n IPv6: Specify a value between 0 and\n\t\t\t\t\t128

    \n\t\t\t
  • \n
", + "smithy.api#documentation": "

If you specify an IP address for edns0clientsubnetip, you can optionally\n\t\t\tspecify the number of bits of the IP address that you want the checking tool to include\n\t\t\tin the DNS query. For example, if you specify 192.0.2.44 for\n\t\t\t\tedns0clientsubnetip and 24 for\n\t\t\t\tedns0clientsubnetmask, the checking tool will simulate a request from\n\t\t\t192.0.2.0/24. The default value is 24 bits for IPv4 addresses and 64 bits for IPv6\n\t\t\taddresses.

\n

The range of valid values depends on whether edns0clientsubnetip is an\n\t\t\tIPv4 or an IPv6 address:

\n
    \n
  • \n

    \n IPv4: Specify a value between 0 and 32

    \n
  • \n
  • \n

    \n IPv6: Specify a value between 0 and\n\t\t\t\t\t128

    \n
  • \n
", "smithy.api#httpQuery": "edns0clientsubnetmask" } } @@ -10601,7 +10628,7 @@ } }, "traits": { - "smithy.api#documentation": "

This health check can't be created because the current account has reached the limit\n\t\t\ton the number of active health checks.

\n\t\t

For information about default limits, see Limits in the\n\t\t\t\tAmazon Route 53 Developer Guide.

\n\t\t

For information about how to get the current limit for an account, see GetAccountLimit. To request a higher limit, create a case with the Amazon Web Services Support\n\t\t\tCenter.

\n\t\t

You have reached the maximum number of active health checks for an Amazon Web Services account. To request a higher limit, create a case with the Amazon Web Services Support\n\t\t\tCenter.

", + "smithy.api#documentation": "

This health check can't be created because the current account has reached the limit\n\t\t\ton the number of active health checks.

\n

For information about default limits, see Limits in the\n\t\t\t\tAmazon Route 53 Developer Guide.

\n

For information about how to get the current limit for an account, see GetAccountLimit. To request a higher limit, create a case with the Amazon Web Services Support\n\t\t\tCenter.

\n

You have reached the maximum number of active health checks for an Amazon Web Services account. To request a higher limit, create a case with the Amazon Web Services Support\n\t\t\tCenter.

", "smithy.api#error": "client" } }, @@ -10616,7 +10643,7 @@ } }, "traits": { - "smithy.api#documentation": "

This operation can't be completed either because the current account has reached the\n\t\t\tlimit on the number of hosted zones or because you've reached the limit on the number of\n\t\t\thosted zones that can be associated with a reusable delegation set.

\n\t\t

For information about default limits, see Limits in the\n\t\t\t\tAmazon Route 53 Developer Guide.

\n\t\t

To get the current limit on hosted zones that can be created by an account, see GetAccountLimit.

\n\t\t

To get the current limit on hosted zones that can be associated with a reusable\n\t\t\tdelegation set, see GetReusableDelegationSetLimit.

\n\t\t

To request a higher limit, create a\n\t\t\t\tcase with the Amazon Web Services Support Center.

", + "smithy.api#documentation": "

This operation can't be completed either because the current account has reached the\n\t\t\tlimit on the number of hosted zones or because you've reached the limit on the number of\n\t\t\thosted zones that can be associated with a reusable delegation set.

\n

For information about default limits, see Limits in the\n\t\t\t\tAmazon Route 53 Developer Guide.

\n

To get the current limit on hosted zones that can be created by an account, see GetAccountLimit.

\n

To get the current limit on hosted zones that can be associated with a reusable\n\t\t\tdelegation set, see GetReusableDelegationSetLimit.

\n

To request a higher limit, create a\n\t\t\t\tcase with the Amazon Web Services Support Center.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -10644,7 +10671,7 @@ } }, "traits": { - "smithy.api#documentation": "

This traffic policy can't be created because the current account has reached the limit\n\t\t\ton the number of traffic policies.

\n\t\t

For information about default limits, see Limits in the\n\t\t\t\tAmazon Route 53 Developer Guide.

\n\t\t

To get the current limit for an account, see GetAccountLimit.

\n\t\t

To request a higher limit, create a\n\t\t\t\tcase with the Amazon Web Services Support Center.

", + "smithy.api#documentation": "

This traffic policy can't be created because the current account has reached the limit\n\t\t\ton the number of traffic policies.

\n

For information about default limits, see Limits in the\n\t\t\t\tAmazon Route 53 Developer Guide.

\n

To get the current limit for an account, see GetAccountLimit.

\n

To request a higher limit, create a\n\t\t\t\tcase with the Amazon Web Services Support Center.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -10660,7 +10687,7 @@ } }, "traits": { - "smithy.api#documentation": "

This traffic policy instance can't be created because the current account has reached\n\t\t\tthe limit on the number of traffic policy instances.

\n\t\t

For information about default limits, see Limits in the\n\t\t\t\tAmazon Route 53 Developer Guide.

\n\t\t

For information about how to get the current limit for an account, see GetAccountLimit.

\n\t\t

To request a higher limit, create a\n\t\t\t\tcase with the Amazon Web Services Support Center.

", + "smithy.api#documentation": "

This traffic policy instance can't be created because the current account has reached\n\t\t\tthe limit on the number of traffic policy instances.

\n

For information about default limits, see Limits in the\n\t\t\t\tAmazon Route 53 Developer Guide.

\n

For information about how to get the current limit for an account, see GetAccountLimit.

\n

To request a higher limit, create a\n\t\t\t\tcase with the Amazon Web Services Support Center.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -10676,7 +10703,7 @@ } }, "traits": { - "smithy.api#documentation": "

This traffic policy version can't be created because you've reached the limit of 1000\n\t\t\ton the number of versions that you can create for the current traffic policy.

\n\t\t

To create more traffic policy versions, you can use GetTrafficPolicy\n\t\t\tto get the traffic policy document for a specified traffic policy version, and then use\n\t\t\t\tCreateTrafficPolicy to create a new traffic policy using the traffic policy\n\t\t\tdocument.

", + "smithy.api#documentation": "

This traffic policy version can't be created because you've reached the limit of 1000\n\t\t\ton the number of versions that you can create for the current traffic policy.

\n

To create more traffic policy versions, you can use GetTrafficPolicy\n\t\t\tto get the traffic policy document for a specified traffic policy version, and then use\n\t\t\t\tCreateTrafficPolicy to create a new traffic policy using the traffic policy\n\t\t\tdocument.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -10848,7 +10875,7 @@ "State": { "target": "com.amazonaws.route53#TrafficPolicyInstanceState", "traits": { - "smithy.api#documentation": "

The value of State is one of the following values:

\n\t\t
\n
Applied
\n
\n\t\t\t\t\t

Amazon Route 53 has finished creating resource record sets, and changes\n\t\t\t\t\t\thave propagated to all Route 53 edge locations.

\n\t\t\t\t
\n
Creating
\n
\n\t\t\t\t\t

Route 53 is creating the resource record sets. Use\n\t\t\t\t\t\t\tGetTrafficPolicyInstance to confirm that the\n\t\t\t\t\t\t\tCreateTrafficPolicyInstance request completed\n\t\t\t\t\t\tsuccessfully.

\n\t\t\t\t
\n
Failed
\n
\n\t\t\t\t\t

Route 53 wasn't able to create or update the resource record sets. When\n\t\t\t\t\t\tthe value of State is Failed, see\n\t\t\t\t\t\t\tMessage for an explanation of what caused the request to\n\t\t\t\t\t\tfail.

\n\t\t\t\t
\n
", + "smithy.api#documentation": "

The value of State is one of the following values:

\n
\n
Applied
\n
\n

Amazon Route 53 has finished creating resource record sets, and changes\n\t\t\t\t\t\thave propagated to all Route 53 edge locations.

\n
\n
Creating
\n
\n

Route 53 is creating the resource record sets. Use\n\t\t\t\t\t\t\tGetTrafficPolicyInstance to confirm that the\n\t\t\t\t\t\t\tCreateTrafficPolicyInstance request completed\n\t\t\t\t\t\tsuccessfully.

\n
\n
Failed
\n
\n

Route 53 wasn't able to create or update the resource record sets. When\n\t\t\t\t\t\tthe value of State is Failed, see\n\t\t\t\t\t\t\tMessage for an explanation of what caused the request to\n\t\t\t\t\t\tfail.

\n
\n
", "smithy.api#required": {} } }, @@ -11033,7 +11060,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates an existing health check. Note that some values can't be updated.

\n\t\t

For more information about updating health checks, see Creating,\n\t\t\t\tUpdating, and Deleting Health Checks in the Amazon Route 53\n\t\t\t\tDeveloper Guide.

", + "smithy.api#documentation": "

Updates an existing health check. Note that some values can't be updated.

\n

For more information about updating health checks, see Creating,\n\t\t\t\tUpdating, and Deleting Health Checks in the Amazon Route 53\n\t\t\t\tDeveloper Guide.

", "smithy.api#http": { "method": "POST", "uri": "/2013-04-01/healthcheck/{HealthCheckId}", @@ -11055,31 +11082,31 @@ "HealthCheckVersion": { "target": "com.amazonaws.route53#HealthCheckVersion", "traits": { - "smithy.api#documentation": "

A sequential counter that Amazon Route 53 sets to 1 when you create a\n\t\t\thealth check and increments by 1 each time you update settings for the health\n\t\t\tcheck.

\n\t\t

We recommend that you use GetHealthCheck or ListHealthChecks\n\t\t\tto get the current value of HealthCheckVersion for the health check that\n\t\t\tyou want to update, and that you include that value in your\n\t\t\t\tUpdateHealthCheck request. This prevents Route 53 from overwriting an\n\t\t\tintervening update:

\n\t\t
    \n
  • \n\t\t\t\t

    If the value in the UpdateHealthCheck request matches the value\n\t\t\t\t\tof HealthCheckVersion in the health check, Route 53 updates the\n\t\t\t\t\thealth check with the new settings.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    If the value of HealthCheckVersion in the health check is\n\t\t\t\t\tgreater, the health check was changed after you got the version number. Route 53\n\t\t\t\t\tdoes not update the health check, and it returns a\n\t\t\t\t\t\tHealthCheckVersionMismatch error.

    \n\t\t\t
  • \n
" + "smithy.api#documentation": "

A sequential counter that Amazon Route 53 sets to 1 when you create a\n\t\t\thealth check and increments by 1 each time you update settings for the health\n\t\t\tcheck.

\n

We recommend that you use GetHealthCheck or ListHealthChecks\n\t\t\tto get the current value of HealthCheckVersion for the health check that\n\t\t\tyou want to update, and that you include that value in your\n\t\t\t\tUpdateHealthCheck request. This prevents Route 53 from overwriting an\n\t\t\tintervening update:

\n
    \n
  • \n

    If the value in the UpdateHealthCheck request matches the value\n\t\t\t\t\tof HealthCheckVersion in the health check, Route 53 updates the\n\t\t\t\t\thealth check with the new settings.

    \n
  • \n
  • \n

    If the value of HealthCheckVersion in the health check is\n\t\t\t\t\tgreater, the health check was changed after you got the version number. Route 53\n\t\t\t\t\tdoes not update the health check, and it returns a\n\t\t\t\t\t\tHealthCheckVersionMismatch error.

    \n
  • \n
" } }, "IPAddress": { "target": "com.amazonaws.route53#IPAddress", "traits": { - "smithy.api#documentation": "

The IPv4 or IPv6 IP address for the endpoint that you want Amazon Route 53 to perform\n\t\t\thealth checks on. If you don't specify a value for IPAddress, Route 53\n\t\t\tsends a DNS request to resolve the domain name that you specify in\n\t\t\t\tFullyQualifiedDomainName at the interval that you specify in\n\t\t\t\tRequestInterval. Using an IP address that is returned by DNS, Route 53\n\t\t\tthen checks the health of the endpoint.

\n\t\t

Use one of the following formats for the value of IPAddress:

\n\t\t
    \n
  • \n\t\t\t\t

    \n IPv4 address: four values between 0 and 255,\n\t\t\t\t\tseparated by periods (.), for example, 192.0.2.44.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n IPv6 address: eight groups of four\n\t\t\t\t\thexadecimal values, separated by colons (:), for example,\n\t\t\t\t\t\t2001:0db8:85a3:0000:0000:abcd:0001:2345. You can also shorten\n\t\t\t\t\tIPv6 addresses as described in RFC 5952, for example,\n\t\t\t\t\t\t2001:db8:85a3::abcd:1:2345.

    \n\t\t\t
  • \n
\n\t\t

If the endpoint is an EC2 instance, we recommend that you create an Elastic IP\n\t\t\taddress, associate it with your EC2 instance, and specify the Elastic IP address for\n\t\t\t\tIPAddress. This ensures that the IP address of your instance never\n\t\t\tchanges. For more information, see the applicable documentation:

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

If a health check already has a value for IPAddress, you can change\n\t\t\t\tthe value. However, you can't update an existing health check to add or remove the\n\t\t\t\tvalue of IPAddress.

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

For more information, see FullyQualifiedDomainName.

\n\t\t

Constraints: Route 53 can't check the health of endpoints for which the IP address is\n\t\t\tin local, private, non-routable, or multicast ranges. For more information about IP\n\t\t\taddresses for which you can't create health checks, see the following documents:

\n\t\t " + "smithy.api#documentation": "

The IPv4 or IPv6 IP address for the endpoint that you want Amazon Route 53 to perform\n\t\t\thealth checks on. If you don't specify a value for IPAddress, Route 53\n\t\t\tsends a DNS request to resolve the domain name that you specify in\n\t\t\t\tFullyQualifiedDomainName at the interval that you specify in\n\t\t\t\tRequestInterval. Using an IP address that is returned by DNS, Route 53\n\t\t\tthen checks the health of the endpoint.

\n

Use one of the following formats for the value of IPAddress:

\n
    \n
  • \n

    \n IPv4 address: four values between 0 and 255,\n\t\t\t\t\tseparated by periods (.), for example, 192.0.2.44.

    \n
  • \n
  • \n

    \n IPv6 address: eight groups of four\n\t\t\t\t\thexadecimal values, separated by colons (:), for example,\n\t\t\t\t\t\t2001:0db8:85a3:0000:0000:abcd:0001:2345. You can also shorten\n\t\t\t\t\tIPv6 addresses as described in RFC 5952, for example,\n\t\t\t\t\t\t2001:db8:85a3::abcd:1:2345.

    \n
  • \n
\n

If the endpoint is an EC2 instance, we recommend that you create an Elastic IP\n\t\t\taddress, associate it with your EC2 instance, and specify the Elastic IP address for\n\t\t\t\tIPAddress. This ensures that the IP address of your instance never\n\t\t\tchanges. For more information, see the applicable documentation:

\n \n \n

If a health check already has a value for IPAddress, you can change\n\t\t\t\tthe value. However, you can't update an existing health check to add or remove the\n\t\t\t\tvalue of IPAddress.

\n
\n

For more information, see FullyQualifiedDomainName.

\n

Constraints: Route 53 can't check the health of endpoints for which the IP address is\n\t\t\tin local, private, non-routable, or multicast ranges. For more information about IP\n\t\t\taddresses for which you can't create health checks, see the following documents:

\n " } }, "Port": { "target": "com.amazonaws.route53#Port", "traits": { - "smithy.api#documentation": "

The port on the endpoint that you want Amazon Route 53 to perform health checks\n\t\t\ton.

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

Don't specify a value for Port when you specify a value for\n\t\t\t\t\tType of CLOUDWATCH_METRIC or\n\t\t\t\tCALCULATED.

\n\t\t
" + "smithy.api#documentation": "

The port on the endpoint that you want Amazon Route 53 to perform health checks\n\t\t\ton.

\n \n

Don't specify a value for Port when you specify a value for\n\t\t\t\t\tType of CLOUDWATCH_METRIC or\n\t\t\t\tCALCULATED.

\n
" } }, "ResourcePath": { "target": "com.amazonaws.route53#ResourcePath", "traits": { - "smithy.api#documentation": "

The path that you want Amazon Route 53 to request when performing health checks. The\n\t\t\tpath can be any value for which your endpoint will return an HTTP status code of 2xx or\n\t\t\t3xx when the endpoint is healthy, for example the file /docs/route53-health-check.html.\n\t\t\tYou can also include query string parameters, for example,\n\t\t\t\t/welcome.html?language=jp&login=y.

\n\t\t

Specify this value only if you want to change it.

" + "smithy.api#documentation": "

The path that you want Amazon Route 53 to request when performing health checks. The\n\t\t\tpath can be any value for which your endpoint will return an HTTP status code of 2xx or\n\t\t\t3xx when the endpoint is healthy, for example the file /docs/route53-health-check.html.\n\t\t\tYou can also include query string parameters, for example,\n\t\t\t\t/welcome.html?language=jp&login=y.

\n

Specify this value only if you want to change it.

" } }, "FullyQualifiedDomainName": { "target": "com.amazonaws.route53#FullyQualifiedDomainName", "traits": { - "smithy.api#documentation": "

Amazon Route 53 behavior depends on whether you specify a value for\n\t\t\t\tIPAddress.

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

If a health check already has a value for IPAddress, you can change\n\t\t\t\tthe value. However, you can't update an existing health check to add or remove the\n\t\t\t\tvalue of IPAddress.

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

\n If you specify a value for\n\t\t\t IPAddress:

\n\t\t

Route 53 sends health check requests to the specified IPv4 or IPv6 address and passes\n\t\t\tthe value of FullyQualifiedDomainName in the Host header for\n\t\t\tall health checks except TCP health checks. This is typically the fully qualified DNS\n\t\t\tname of the endpoint on which you want Route 53 to perform health checks.

\n\t\t

When Route 53 checks the health of an endpoint, here is how it constructs the\n\t\t\t\tHost header:

\n\t\t
    \n
  • \n\t\t\t\t

    If you specify a value of 80 for Port and\n\t\t\t\t\t\tHTTP or HTTP_STR_MATCH for Type,\n\t\t\t\t\tRoute 53 passes the value of FullyQualifiedDomainName to the\n\t\t\t\t\tendpoint in the Host header.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    If you specify a value of 443 for Port and\n\t\t\t\t\t\tHTTPS or HTTPS_STR_MATCH for Type,\n\t\t\t\t\tRoute 53 passes the value of FullyQualifiedDomainName to the\n\t\t\t\t\tendpoint in the Host header.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    If you specify another value for Port and any value except\n\t\t\t\t\t\tTCP for Type, Route 53 passes\n\t\t\t\t\t\t\t\n FullyQualifiedDomainName:Port\n \n\t\t\t\t\tto the endpoint in the Host header.

    \n\t\t\t
  • \n
\n\t\t

If you don't specify a value for FullyQualifiedDomainName, Route 53\n\t\t\tsubstitutes the value of IPAddress in the Host header in each\n\t\t\tof the above cases.

\n\t\t

\n If you don't specify a value for\n\t\t\t IPAddress:

\n\t\t

If you don't specify a value for IPAddress, Route 53 sends a DNS request\n\t\t\tto the domain that you specify in FullyQualifiedDomainName at the interval\n\t\t\tyou specify in RequestInterval. Using an IPv4 address that is returned by\n\t\t\tDNS, Route 53 then checks the health of the endpoint.

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

If you don't specify a value for IPAddress, Route 53 uses only IPv4\n\t\t\t\tto send health checks to the endpoint. If there's no resource record set with a type\n\t\t\t\tof A for the name that you specify for FullyQualifiedDomainName, the\n\t\t\t\thealth check fails with a \"DNS resolution failed\" error.

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

If you want to check the health of weighted, latency, or failover resource record sets\n\t\t\tand you choose to specify the endpoint only by FullyQualifiedDomainName, we\n\t\t\trecommend that you create a separate health check for each endpoint. For example, create\n\t\t\ta health check for each HTTP server that is serving content for www.example.com. For the\n\t\t\tvalue of FullyQualifiedDomainName, specify the domain name of the server\n\t\t\t(such as us-east-2-www.example.com), not the name of the resource record\n\t\t\tsets (www.example.com).

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

In this configuration, if the value of FullyQualifiedDomainName\n\t\t\t\tmatches the name of the resource record sets and you then associate the health check\n\t\t\t\twith those resource record sets, health check results will be unpredictable.

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

In addition, if the value of Type is HTTP,\n\t\t\t\tHTTPS, HTTP_STR_MATCH, or HTTPS_STR_MATCH,\n\t\t\tRoute 53 passes the value of FullyQualifiedDomainName in the\n\t\t\t\tHost header, as it does when you specify a value for\n\t\t\t\tIPAddress. If the value of Type is TCP, Route\n\t\t\t53 doesn't pass a Host header.

" + "smithy.api#documentation": "

Amazon Route 53 behavior depends on whether you specify a value for\n\t\t\t\tIPAddress.

\n \n

If a health check already has a value for IPAddress, you can change\n\t\t\t\tthe value. However, you can't update an existing health check to add or remove the\n\t\t\t\tvalue of IPAddress.

\n
\n

\n If you specify a value for\n IPAddress:

\n

Route 53 sends health check requests to the specified IPv4 or IPv6 address and passes\n\t\t\tthe value of FullyQualifiedDomainName in the Host header for\n\t\t\tall health checks except TCP health checks. This is typically the fully qualified DNS\n\t\t\tname of the endpoint on which you want Route 53 to perform health checks.

\n

When Route 53 checks the health of an endpoint, here is how it constructs the\n\t\t\t\tHost header:

\n
    \n
  • \n

    If you specify a value of 80 for Port and\n\t\t\t\t\t\tHTTP or HTTP_STR_MATCH for Type,\n\t\t\t\t\tRoute 53 passes the value of FullyQualifiedDomainName to the\n\t\t\t\t\tendpoint in the Host header.

    \n
  • \n
  • \n

    If you specify a value of 443 for Port and\n\t\t\t\t\t\tHTTPS or HTTPS_STR_MATCH for Type,\n\t\t\t\t\tRoute 53 passes the value of FullyQualifiedDomainName to the\n\t\t\t\t\tendpoint in the Host header.

    \n
  • \n
  • \n

    If you specify another value for Port and any value except\n\t\t\t\t\t\tTCP for Type, Route 53 passes\n\t\t\t\t\t\t\t\n FullyQualifiedDomainName:Port\n \n\t\t\t\t\tto the endpoint in the Host header.

    \n
  • \n
\n

If you don't specify a value for FullyQualifiedDomainName, Route 53\n\t\t\tsubstitutes the value of IPAddress in the Host header in each\n\t\t\tof the above cases.

\n

\n If you don't specify a value for\n IPAddress:

\n

If you don't specify a value for IPAddress, Route 53 sends a DNS request\n\t\t\tto the domain that you specify in FullyQualifiedDomainName at the interval\n\t\t\tyou specify in RequestInterval. Using an IPv4 address that is returned by\n\t\t\tDNS, Route 53 then checks the health of the endpoint.

\n \n

If you don't specify a value for IPAddress, Route 53 uses only IPv4\n\t\t\t\tto send health checks to the endpoint. If there's no resource record set with a type\n\t\t\t\tof A for the name that you specify for FullyQualifiedDomainName, the\n\t\t\t\thealth check fails with a \"DNS resolution failed\" error.

\n
\n

If you want to check the health of weighted, latency, or failover resource record sets\n\t\t\tand you choose to specify the endpoint only by FullyQualifiedDomainName, we\n\t\t\trecommend that you create a separate health check for each endpoint. For example, create\n\t\t\ta health check for each HTTP server that is serving content for www.example.com. For the\n\t\t\tvalue of FullyQualifiedDomainName, specify the domain name of the server\n\t\t\t(such as us-east-2-www.example.com), not the name of the resource record\n\t\t\tsets (www.example.com).

\n \n

In this configuration, if the value of FullyQualifiedDomainName\n\t\t\t\tmatches the name of the resource record sets and you then associate the health check\n\t\t\t\twith those resource record sets, health check results will be unpredictable.

\n
\n

In addition, if the value of Type is HTTP,\n\t\t\t\tHTTPS, HTTP_STR_MATCH, or HTTPS_STR_MATCH,\n\t\t\tRoute 53 passes the value of FullyQualifiedDomainName in the\n\t\t\t\tHost header, as it does when you specify a value for\n\t\t\t\tIPAddress. If the value of Type is TCP, Route\n\t\t\t53 doesn't pass a Host header.

" } }, "SearchString": { @@ -11091,7 +11118,7 @@ "FailureThreshold": { "target": "com.amazonaws.route53#FailureThreshold", "traits": { - "smithy.api#documentation": "

The number of consecutive health checks that an endpoint must pass or fail for Amazon\n\t\t\tRoute 53 to change the current status of the endpoint from unhealthy to healthy or vice\n\t\t\tversa. For more information, see How Amazon Route 53 Determines Whether an Endpoint Is Healthy in the\n\t\t\t\tAmazon Route 53 Developer Guide.

\n\t\t

If you don't specify a value for FailureThreshold, the default value is\n\t\t\tthree health checks.

" + "smithy.api#documentation": "

The number of consecutive health checks that an endpoint must pass or fail for Amazon\n\t\t\tRoute 53 to change the current status of the endpoint from unhealthy to healthy or vice\n\t\t\tversa. For more information, see How Amazon Route 53 Determines Whether an Endpoint Is Healthy in the\n\t\t\t\tAmazon Route 53 Developer Guide.

\n

If you don't specify a value for FailureThreshold, the default value is\n\t\t\tthree health checks.

" } }, "Inverted": { @@ -11103,13 +11130,13 @@ "Disabled": { "target": "com.amazonaws.route53#Disabled", "traits": { - "smithy.api#documentation": "

Stops Route 53 from performing health checks. When you disable a health check, here's\n\t\t\twhat happens:

\n\t\t
    \n
  • \n\t\t\t\t

    \n Health checks that check the health of\n\t\t\t\t\t\tendpoints: Route 53 stops submitting requests to your\n\t\t\t\t\tapplication, server, or other resource.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n Calculated health checks: Route 53 stops\n\t\t\t\t\taggregating the status of the referenced health checks.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n Health checks that monitor CloudWatch alarms:\n\t\t\t\t\tRoute 53 stops monitoring the corresponding CloudWatch metrics.

    \n\t\t\t
  • \n
\n\t\t

After you disable a health check, Route 53 considers the status of the health check to\n\t\t\talways be healthy. If you configured DNS failover, Route 53 continues to route traffic\n\t\t\tto the corresponding resources. If you want to stop routing traffic to a resource,\n\t\t\tchange the value of Inverted.

\n\t\t

Charges for a health check still apply when the health check is disabled. For more\n\t\t\tinformation, see Amazon Route 53\n\t\t\t\tPricing.

" + "smithy.api#documentation": "

Stops Route 53 from performing health checks. When you disable a health check, here's\n\t\t\twhat happens:

\n
    \n
  • \n

    \n Health checks that check the health of\n\t\t\t\t\t\tendpoints: Route 53 stops submitting requests to your\n\t\t\t\t\tapplication, server, or other resource.

    \n
  • \n
  • \n

    \n Calculated health checks: Route 53 stops\n\t\t\t\t\taggregating the status of the referenced health checks.

    \n
  • \n
  • \n

    \n Health checks that monitor CloudWatch alarms:\n\t\t\t\t\tRoute 53 stops monitoring the corresponding CloudWatch metrics.

    \n
  • \n
\n

After you disable a health check, Route 53 considers the status of the health check to\n\t\t\talways be healthy. If you configured DNS failover, Route 53 continues to route traffic\n\t\t\tto the corresponding resources. If you want to stop routing traffic to a resource,\n\t\t\tchange the value of Inverted.

\n

Charges for a health check still apply when the health check is disabled. For more\n\t\t\tinformation, see Amazon Route 53\n\t\t\t\tPricing.

" } }, "HealthThreshold": { "target": "com.amazonaws.route53#HealthThreshold", "traits": { - "smithy.api#documentation": "

The number of child health checks that are associated with a CALCULATED\n\t\t\thealth that Amazon Route 53 must consider healthy for the CALCULATED health\n\t\t\tcheck to be considered healthy. To specify the child health checks that you want to\n\t\t\tassociate with a CALCULATED health check, use the\n\t\t\t\tChildHealthChecks and ChildHealthCheck elements.

\n\t\t

Note the following:

\n\t\t
    \n
  • \n\t\t\t\t

    If you specify a number greater than the number of child health checks, Route\n\t\t\t\t\t53 always considers this health check to be unhealthy.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    If you specify 0, Route 53 always considers this health check to\n\t\t\t\t\tbe healthy.

    \n\t\t\t
  • \n
" + "smithy.api#documentation": "

The number of child health checks that are associated with a CALCULATED\n\t\t\thealth that Amazon Route 53 must consider healthy for the CALCULATED health\n\t\t\tcheck to be considered healthy. To specify the child health checks that you want to\n\t\t\tassociate with a CALCULATED health check, use the\n\t\t\t\tChildHealthChecks and ChildHealthCheck elements.

\n

Note the following:

\n
    \n
  • \n

    If you specify a number greater than the number of child health checks, Route\n\t\t\t\t\t53 always considers this health check to be unhealthy.

    \n
  • \n
  • \n

    If you specify 0, Route 53 always considers this health check to\n\t\t\t\t\tbe healthy.

    \n
  • \n
" } }, "ChildHealthChecks": { @@ -11121,7 +11148,7 @@ "EnableSNI": { "target": "com.amazonaws.route53#EnableSNI", "traits": { - "smithy.api#documentation": "

Specify whether you want Amazon Route 53 to send the value of\n\t\t\t\tFullyQualifiedDomainName to the endpoint in the\n\t\t\t\tclient_hello message during TLS negotiation. This allows\n\t\t\tthe endpoint to respond to HTTPS health check requests with the applicable\n\t\t\tSSL/TLS certificate.

\n\t\t

Some endpoints require that HTTPS requests include the host name in the\n\t\t\t\tclient_hello message. If you don't enable SNI, the status of the health\n\t\t\tcheck will be SSL alert handshake_failure. A health check can also have\n\t\t\tthat status for other reasons. If SNI is enabled and you're still getting the error,\n\t\t\tcheck the SSL/TLS configuration on your endpoint and confirm that your certificate is\n\t\t\tvalid.

\n\t\t

The SSL/TLS certificate on your endpoint includes a domain name in the Common\n\t\t\t\tName field and possibly several more in the Subject Alternative\n\t\t\t\tNames field. One of the domain names in the certificate should match the\n\t\t\tvalue that you specify for FullyQualifiedDomainName. If the endpoint\n\t\t\tresponds to the client_hello message with a certificate that does not\n\t\t\tinclude the domain name that you specified in FullyQualifiedDomainName, a\n\t\t\thealth checker will retry the handshake. In the second attempt, the health checker will\n\t\t\tomit FullyQualifiedDomainName from the client_hello\n\t\t\tmessage.

" + "smithy.api#documentation": "

Specify whether you want Amazon Route 53 to send the value of\n\t\t\t\tFullyQualifiedDomainName to the endpoint in the\n\t\t\t\tclient_hello message during TLS negotiation. This allows\n\t\t\tthe endpoint to respond to HTTPS health check requests with the applicable\n\t\t\tSSL/TLS certificate.

\n

Some endpoints require that HTTPS requests include the host name in the\n\t\t\t\tclient_hello message. If you don't enable SNI, the status of the health\n\t\t\tcheck will be SSL alert handshake_failure. A health check can also have\n\t\t\tthat status for other reasons. If SNI is enabled and you're still getting the error,\n\t\t\tcheck the SSL/TLS configuration on your endpoint and confirm that your certificate is\n\t\t\tvalid.

\n

The SSL/TLS certificate on your endpoint includes a domain name in the Common\n\t\t\t\tName field and possibly several more in the Subject Alternative\n\t\t\t\tNames field. One of the domain names in the certificate should match the\n\t\t\tvalue that you specify for FullyQualifiedDomainName. If the endpoint\n\t\t\tresponds to the client_hello message with a certificate that does not\n\t\t\tinclude the domain name that you specified in FullyQualifiedDomainName, a\n\t\t\thealth checker will retry the handshake. In the second attempt, the health checker will\n\t\t\tomit FullyQualifiedDomainName from the client_hello\n\t\t\tmessage.

" } }, "Regions": { @@ -11139,13 +11166,13 @@ "InsufficientDataHealthStatus": { "target": "com.amazonaws.route53#InsufficientDataHealthStatus", "traits": { - "smithy.api#documentation": "

When CloudWatch has insufficient data about the metric to determine the alarm state,\n\t\t\tthe status that you want Amazon Route 53 to assign to the health check:

\n\t\t
    \n
  • \n\t\t\t\t

    \n Healthy: Route 53 considers the health check to be\n\t\t\t\t\thealthy.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n Unhealthy: Route 53 considers the health check to be\n\t\t\t\t\tunhealthy.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n LastKnownStatus: By default, Route 53 uses the status of the\n\t\t\t\t\thealth check from the last time CloudWatch had sufficient data to determine the\n\t\t\t\t\talarm state. For new health checks that have no last known status, the status\n\t\t\t\t\tfor the health check is healthy.

    \n\t\t\t
  • \n
" + "smithy.api#documentation": "

When CloudWatch has insufficient data about the metric to determine the alarm state,\n\t\t\tthe status that you want Amazon Route 53 to assign to the health check:

\n
    \n
  • \n

    \n Healthy: Route 53 considers the health check to be\n\t\t\t\t\thealthy.

    \n
  • \n
  • \n

    \n Unhealthy: Route 53 considers the health check to be\n\t\t\t\t\tunhealthy.

    \n
  • \n
  • \n

    \n LastKnownStatus: By default, Route 53 uses the status of the\n\t\t\t\t\thealth check from the last time CloudWatch had sufficient data to determine the\n\t\t\t\t\talarm state. For new health checks that have no last known status, the status\n\t\t\t\t\tfor the health check is healthy.

    \n
  • \n
" } }, "ResetElements": { "target": "com.amazonaws.route53#ResettableElementNameList", "traits": { - "smithy.api#documentation": "

A complex type that contains one ResettableElementName element for each\n\t\t\telement that you want to reset to the default value. Valid values for\n\t\t\t\tResettableElementName include the following:

\n\t\t
    \n
  • \n\t\t\t\t

    \n ChildHealthChecks: Amazon Route 53 resets ChildHealthChecks to null.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n FullyQualifiedDomainName: Route 53 resets FullyQualifiedDomainName. to null.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n Regions: Route 53 resets the Regions list to the default set of regions.

    \n\t\t\t
  • \n
  • \n\t\t\t\t

    \n ResourcePath: Route 53 resets ResourcePath to null.

    \n\t\t\t
  • \n
" + "smithy.api#documentation": "

A complex type that contains one ResettableElementName element for each\n\t\t\telement that you want to reset to the default value. Valid values for\n\t\t\t\tResettableElementName include the following:

\n
    \n
  • \n

    \n ChildHealthChecks: Amazon Route 53 resets ChildHealthChecks to null.

    \n
  • \n
  • \n

    \n FullyQualifiedDomainName: Route 53 resets FullyQualifiedDomainName. to null.

    \n
  • \n
  • \n

    \n Regions: Route 53 resets the Regions list to the default set of regions.

    \n
  • \n
  • \n

    \n ResourcePath: Route 53 resets ResourcePath to null.

    \n
  • \n
" } } }, @@ -11333,7 +11360,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates the resource record sets in a specified hosted zone that were created based on\n\t\t\tthe settings in a specified traffic policy version.

\n\t\t

When you update a traffic policy instance, Amazon Route 53 continues to respond to DNS\n\t\t\tqueries for the root resource record set name (such as example.com) while it replaces\n\t\t\tone group of resource record sets with another. Route 53 performs the following\n\t\t\toperations:

\n\t\t
    \n
  1. \n\t\t\t\t

    Route 53 creates a new group of resource record sets based on the specified\n\t\t\t\t\ttraffic policy. This is true regardless of how significant the differences are\n\t\t\t\t\tbetween the existing resource record sets and the new resource record sets.\n\t\t\t\t

    \n\t\t\t
  2. \n
  3. \n\t\t\t\t

    When all of the new resource record sets have been created, Route 53 starts to\n\t\t\t\t\trespond to DNS queries for the root resource record set name (such as\n\t\t\t\t\texample.com) by using the new resource record sets.

    \n\t\t\t
  4. \n
  5. \n\t\t\t\t

    Route 53 deletes the old group of resource record sets that are associated\n\t\t\t\t\twith the root resource record set name.

    \n\t\t\t
  6. \n
", + "smithy.api#documentation": "

Updates the resource record sets in a specified hosted zone that were created based on\n\t\t\tthe settings in a specified traffic policy version.

\n

When you update a traffic policy instance, Amazon Route 53 continues to respond to DNS\n\t\t\tqueries for the root resource record set name (such as example.com) while it replaces\n\t\t\tone group of resource record sets with another. Route 53 performs the following\n\t\t\toperations:

\n
    \n
  1. \n

    Route 53 creates a new group of resource record sets based on the specified\n\t\t\t\t\ttraffic policy. This is true regardless of how significant the differences are\n\t\t\t\t\tbetween the existing resource record sets and the new resource record sets.\n\t\t\t\t

    \n
  2. \n
  3. \n

    When all of the new resource record sets have been created, Route 53 starts to\n\t\t\t\t\trespond to DNS queries for the root resource record set name (such as\n\t\t\t\t\texample.com) by using the new resource record sets.

    \n
  4. \n
  5. \n

    Route 53 deletes the old group of resource record sets that are associated\n\t\t\t\t\twith the root resource record set name.

    \n
  6. \n
", "smithy.api#http": { "method": "POST", "uri": "/2013-04-01/trafficpolicyinstance/{Id}", @@ -11416,7 +11443,7 @@ } }, "traits": { - "smithy.api#documentation": "

(Private hosted zones only) A complex type that contains information about an Amazon VPC.

\n\t\t

If you associate a private hosted zone with an Amazon VPC when you make a\n\t\t\t\tCreateHostedZone\n\t\t\trequest, the following parameters are also required.

" + "smithy.api#documentation": "

(Private hosted zones only) A complex type that contains information about an Amazon VPC.

\n

If you associate a private hosted zone with an Amazon VPC when you make a\n\t\t\t\tCreateHostedZone\n\t\t\trequest, the following parameters are also required.

" } }, "com.amazonaws.route53#VPCAssociationAuthorizationNotFound": { @@ -11590,6 +11617,12 @@ "smithy.api#enumValue": "ap-south-1" } }, + "ap_south_2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ap-south-2" + } + }, "ap_northeast_1": { "target": "smithy.api#Unit", "traits": { @@ -11643,6 +11676,18 @@ "traits": { "smithy.api#enumValue": "eu-south-1" } + }, + "eu_south_2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "eu-south-2" + } + }, + "ap_southeast_4": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ap-southeast-4" + } } }, "traits": { diff --git a/aws/sdk/aws-models/s3.json b/aws/sdk/aws-models/s3.json index 6dd6474844..0dba936004 100644 --- a/aws/sdk/aws-models/s3.json +++ b/aws/sdk/aws-models/s3.json @@ -78,6 +78,9 @@ "smithy.api#httpHeader": "x-amz-request-charged" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#AbortMultipartUploadRequest": { @@ -123,6 +126,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#AbortRuleId": { @@ -811,9 +817,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{Region}", "signingName": "s3-outposts", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, @@ -831,9 +837,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{Region}", "signingName": "s3-outposts", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, @@ -916,9 +922,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{Region}", "signingName": "s3-outposts", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, @@ -936,9 +942,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{Region}", "signingName": "s3-outposts", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, @@ -1132,984 +1138,851 @@ "rules": [ { "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, { "fn": "booleanEquals", "argv": [ { "ref": "UseFIPS" }, - false + true + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" ] } ], - "type": "tree", - "rules": [ + "endpoint": { + "url": "https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ { - "conditions": [], - "type": "tree", - "rules": [ + "fn": "booleanEquals", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] + "ref": "Endpoint" } - ], - "endpoint": { - "url": "https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ { - "conditions": [ + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] + "ref": "Region" }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true } - ], - "endpoint": { - "url": "https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + ] }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ { - "conditions": [ + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + "ref": "Endpoint" } ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" }, + true + ] + }, + { + "fn": "not", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, + "fn": "stringEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" - } - ] + "ref": "Region" }, - "headers": {} - }, - "type": "endpoint" + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" }, + false + ] + } + ], + "endpoint": { + "url": "https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" }, + false + ] + }, + { + "fn": "isSet", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" }, + true + ] + }, + { + "fn": "stringEquals", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-east-1" - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + "ref": "Region" }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", + "properties": { + "authSchemes": [ { - "conditions": [], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true } ] }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + "ref": "UseDualStack" }, + false + ] + }, + { + "fn": "isSet", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] + "ref": "Region" }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] + } + ], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] + "ref": "Endpoint" } - ], - "endpoint": { - "url": "https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" }, + true + ] + }, + { + "fn": "stringEquals", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] + "ref": "Endpoint" } - ], - "endpoint": { - "url": "https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" }, + true + ] + }, + { + "fn": "stringEquals", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] + "ref": "Endpoint" } - ], - "type": "tree", - "rules": [ + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-east-1" - ] - } - ], - "endpoint": { - "url": "https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + "ref": "Region" }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ { - "conditions": [], - "endpoint": { - "url": "https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true } ] }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] + "ref": "Endpoint" } - ], - "endpoint": { - "url": "https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" - } - ] + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" }, - "headers": {} - }, - "type": "endpoint" + "aws-global" + ] } ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] } - ] - }, - { - "conditions": [], - "error": "Path-style addressing cannot be used with FIPS", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Path-style addressing cannot be used with S3 Accelerate", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "A valid partition could not be determined", - "type": "error" - } - ] - } - ] - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "aws.isVirtualHostableS3Bucket", - "argv": [ - { - "ref": "Bucket" - }, - false - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "aws.partition", - "argv": [ - { - "ref": "Region" - } - ], - "assign": "partitionResult" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isValidHostLabel", - "argv": [ - { - "ref": "Region" - }, - false - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "partitionResult" - }, - "name" - ] - }, - "aws-cn" - ] - } - ], - "error": "Partition does not support FIPS", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Accelerate cannot be used with FIPS", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" + ], + "endpoint": { + "url": "https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] }, - true - ] + "headers": {} + }, + "type": "endpoint" }, { - "fn": "stringEquals", - "argv": [ + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "partitionResult" + "ref": "UseDualStack" }, - "name" + true ] }, - "aws-cn" - ] - } - ], - "error": "S3 Accelerate cannot be used in this region", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "isSet", + "fn": "not", "argv": [ { - "ref": "Endpoint" + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] } ] }, @@ -2117,21 +1990,51 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseDualStack" + "ref": "UseFIPS" }, - true + false + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" ] } ], - "error": "Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate", - "type": "error" + "endpoint": { + "url": "https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" }, { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "not", + "argv": [ { "fn": "isSet", "argv": [ @@ -2139,1458 +2042,1070 @@ "ref": "Endpoint" } ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] } - ], - "error": "Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate", - "type": "error" + ] }, { - "conditions": [], - "type": "tree", - "rules": [ + "fn": "booleanEquals", + "argv": [ { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - true - ] + "ref": "Endpoint" } - ], - "error": "Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate", - "type": "error" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" }, + false + ] + }, + { + "fn": "not", + "argv": [ { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, + "fn": "stringEquals", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + "ref": "Region" }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + "ref": "Region" }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] + } + ], + "endpoint": { + "url": "https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + "ref": "Region" }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] + "ref": "Region" }, + "us-east-1" + ] + } + ], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", + "properties": { + "authSchemes": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", + "properties": { + "authSchemes": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + "ref": "Region" }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] + } + ], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + "ref": "Region" }, + "us-east-1" + ] + } + ], + "endpoint": { + "url": "https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "booleanEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "url" - }, - "isIp" - ] - }, - true - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "booleanEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "url" - }, - "isIp" - ] - }, - false - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{Bucket}.{url#authority}{url#path}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + "ref": "Region" }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] + } + ], + "endpoint": { + "url": "https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "Path-style addressing cannot be used with S3 Accelerate", + "type": "error" + } + ] + } + ] + }, + { + "conditions": [], + "error": "A valid partition could not be determined", + "type": "error" + } + ] + } + ] + } + ] + } + ] + }, + { + "conditions": [ + { + "fn": "aws.isVirtualHostableS3Bucket", + "argv": [ + { + "ref": "Bucket" + }, + false + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "partitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isValidHostLabel", + "argv": [ + { + "ref": "Region" + }, + false + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "partitionResult" + }, + "name" + ] + }, + "aws-cn" + ] + } + ], + "error": "Partition does not support FIPS", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Accelerate cannot be used with FIPS", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + true + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "partitionResult" + }, + "name" + ] + }, + "aws-cn" + ] + } + ], + "error": "S3 Accelerate cannot be used in this region", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "conditions": [ + "ref": "Endpoint" + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + true + ] + } + ], + "error": "Host override cannot be combined with Dualstack, FIPS, or S3 Accelerate", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ { "fn": "booleanEquals", "argv": [ { "ref": "UseDualStack" }, - false + true ] }, { @@ -3599,7 +3114,7 @@ { "ref": "UseFIPS" }, - false + true ] }, { @@ -3612,35 +3127,16 @@ ] }, { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "booleanEquals", + "fn": "not", "argv": [ { - "fn": "getAttr", + "fn": "isSet", "argv": [ { - "ref": "url" - }, - "isIp" + "ref": "Endpoint" + } ] - }, - true + } ] }, { @@ -3654,14 +3150,14 @@ } ], "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}", + "url": "https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}", "properties": { "authSchemes": [ { "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" + "disableDoubleEncoding": true } ] }, @@ -3677,7 +3173,7 @@ { "ref": "UseDualStack" }, - false + true ] }, { @@ -3686,7 +3182,7 @@ { "ref": "UseFIPS" }, - false + true ] }, { @@ -3699,35 +3195,16 @@ ] }, { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "booleanEquals", + "fn": "not", "argv": [ { - "fn": "getAttr", + "fn": "isSet", "argv": [ { - "ref": "url" - }, - "isIp" + "ref": "Endpoint" + } ] - }, - false + } ] }, { @@ -3741,14 +3218,14 @@ } ], "endpoint": { - "url": "{url#scheme}://{Bucket}.{url#authority}{url#path}", + "url": "https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}", "properties": { "authSchemes": [ { "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" + "disableDoubleEncoding": true } ] }, @@ -3764,7 +3241,7 @@ { "ref": "UseDualStack" }, - false + true ] }, { @@ -3773,7 +3250,7 @@ { "ref": "UseFIPS" }, - false + true ] }, { @@ -3786,35 +3263,16 @@ ] }, { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "booleanEquals", + "fn": "not", "argv": [ { - "fn": "getAttr", + "fn": "isSet", "argv": [ { - "ref": "url" - }, - "isIp" + "ref": "Endpoint" + } ] - }, - true + } ] }, { @@ -3843,45 +3301,17 @@ ], "type": "tree", "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-east-1" - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, { "conditions": [], "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}", + "url": "https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}", "properties": { "authSchemes": [ { "name": "sigv4", + "signingRegion": "{Region}", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, @@ -3899,7 +3329,7 @@ { "ref": "UseDualStack" }, - false + true ] }, { @@ -3908,7 +3338,7 @@ { "ref": "UseFIPS" }, - false + true ] }, { @@ -3921,35 +3351,16 @@ ] }, { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "booleanEquals", + "fn": "not", "argv": [ { - "fn": "getAttr", + "fn": "isSet", "argv": [ { - "ref": "url" - }, - "isIp" + "ref": "Endpoint" + } ] - }, - false + } ] }, { @@ -3972,62 +3383,28 @@ { "ref": "UseGlobalEndpoint" }, - true + false ] } ], - "type": "tree", - "rules": [ - { - "conditions": [ + "endpoint": { + "url": "https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-east-1" - ] + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true } - ], - "endpoint": { - "url": "{url#scheme}://{Bucket}.{url#authority}{url#path}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + ] }, - { - "conditions": [], - "endpoint": { - "url": "{url#scheme}://{Bucket}.{url#authority}{url#path}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [ + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ { "fn": "booleanEquals", "argv": [ @@ -4043,7 +3420,7 @@ { "ref": "UseFIPS" }, - false + true ] }, { @@ -4056,70 +3433,105 @@ ] }, { - "fn": "isSet", + "fn": "not", "argv": [ { - "ref": "Endpoint" + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] } ] }, { - "fn": "parseURL", + "fn": "stringEquals", "argv": [ { - "ref": "Endpoint" + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true } - ], - "assign": "url" + ] }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ { "fn": "booleanEquals", "argv": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "url" - }, - "isIp" - ] + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" }, true ] }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + }, { "fn": "not", "argv": [ { - "fn": "stringEquals", + "fn": "isSet", "argv": [ { - "ref": "Region" - }, - "aws-global" + "ref": "Endpoint" + } ] } ] }, { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ { - "ref": "UseGlobalEndpoint" + "ref": "Region" }, - false + "aws-global" ] } ], "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}", + "url": "https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}", "properties": { "authSchemes": [ { "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, @@ -4144,7 +3556,7 @@ { "ref": "UseFIPS" }, - false + true ] }, { @@ -4157,37 +3569,106 @@ ] }, { - "fn": "isSet", + "fn": "not", "argv": [ { - "ref": "Endpoint" + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] } ] }, { - "fn": "parseURL", + "fn": "not", "argv": [ { - "ref": "Endpoint" + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] } - ], - "assign": "url" + ] }, { "fn": "booleanEquals", "argv": [ { - "fn": "getAttr", - "argv": [ + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ { - "ref": "url" - }, - "isIp" + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } ] }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, false ] }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, { "fn": "not", "argv": [ @@ -4213,14 +3694,14 @@ } ], "endpoint": { - "url": "{url#scheme}://{Bucket}.{url#authority}{url#path}", + "url": "https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}", "properties": { "authSchemes": [ { "name": "sigv4", + "signingRegion": "{Region}", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, @@ -4236,7 +3717,7 @@ { "ref": "UseDualStack" }, - false + true ] }, { @@ -4281,14 +3762,14 @@ } ], "endpoint": { - "url": "https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}", + "url": "https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}", "properties": { "authSchemes": [ { "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" + "disableDoubleEncoding": true } ] }, @@ -4304,7 +3785,7 @@ { "ref": "UseDualStack" }, - false + true ] }, { @@ -4349,14 +3830,14 @@ } ], "endpoint": { - "url": "https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}", + "url": "https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}", "properties": { "authSchemes": [ { "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" + "disableDoubleEncoding": true } ] }, @@ -4372,7 +3853,7 @@ { "ref": "UseDualStack" }, - false + true ] }, { @@ -4432,45 +3913,17 @@ ], "type": "tree", "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-east-1" - ] - } - ], - "endpoint": { - "url": "https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, { "conditions": [], "endpoint": { - "url": "https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}", + "url": "https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}", "properties": { "authSchemes": [ { "name": "sigv4", + "signingRegion": "{Region}", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, @@ -4488,7 +3941,7 @@ { "ref": "UseDualStack" }, - false + true ] }, { @@ -4547,14 +4000,14 @@ } ], "endpoint": { - "url": "https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}", + "url": "https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}", "properties": { "authSchemes": [ { "name": "sigv4", + "signingRegion": "{Region}", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, @@ -4570,7 +4023,7 @@ { "ref": "UseDualStack" }, - false + true ] }, { @@ -4615,14 +4068,14 @@ } ], "endpoint": { - "url": "https://{Bucket}.s3.{partitionResult#dnsSuffix}", + "url": "https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}", "properties": { "authSchemes": [ { "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" + "disableDoubleEncoding": true } ] }, @@ -4638,7 +4091,7 @@ { "ref": "UseDualStack" }, - false + true ] }, { @@ -4683,14 +4136,14 @@ } ], "endpoint": { - "url": "https://{Bucket}.s3.{partitionResult#dnsSuffix}", + "url": "https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}", "properties": { "authSchemes": [ { "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" + "disableDoubleEncoding": true } ] }, @@ -4706,7 +4159,7 @@ { "ref": "UseDualStack" }, - false + true ] }, { @@ -4767,44 +4220,16 @@ "type": "tree", "rules": [ { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-east-1" - ] - } - ], + "conditions": [], "endpoint": { - "url": "https://{Bucket}.s3.{partitionResult#dnsSuffix}", + "url": "https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}", "properties": { "authSchemes": [ { "name": "sigv4", + "signingRegion": "{Region}", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, @@ -4822,7 +4247,7 @@ { "ref": "UseDualStack" }, - false + true ] }, { @@ -4881,1133 +4306,2621 @@ } ], "endpoint": { - "url": "https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}", + "url": "https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}", "properties": { "authSchemes": [ { "name": "sigv4", + "signingRegion": "{Region}", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, "headers": {} }, "type": "endpoint" - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid region: region was not a valid DNS name.", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "A valid partition could not be determined", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "url" - }, - "scheme" - ] - }, - "http" - ] - }, - { - "fn": "aws.isVirtualHostableS3Bucket", - "argv": [ - { - "ref": "Bucket" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" - }, - false - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "aws.partition", - "argv": [ - { - "ref": "Region" - } - ], - "assign": "partitionResult" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isValidHostLabel", - "argv": [ - { - "ref": "Region" - }, - false - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "{url#scheme}://{Bucket}.{url#authority}{url#path}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "Invalid region: region was not a valid DNS name.", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "A valid partition could not be determined", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "aws.parseArn", - "argv": [ - { - "ref": "Bucket" - } - ], - "assign": "bucketArn" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "resourceId[0]" - ], - "assign": "arnType" - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "arnType" - }, - "" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "service" - ] - }, - "s3-object-lambda" - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "arnType" - }, - "accesspoint" - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "resourceId[1]" - ], - "assign": "accessPointName" - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "accessPointName" - }, - "" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "S3 Object Lambda does not support Dual-stack", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" }, - true - ] - } - ], - "error": "S3 Object Lambda does not support S3 Accelerate", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "not", - "argv": [ + "conditions": [ { - "fn": "stringEquals", + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", "argv": [ { "fn": "getAttr", "argv": [ { - "ref": "bucketArn" + "ref": "url" }, - "region" + "isIp" ] }, - "" + true + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" ] } - ] - } - ], - "type": "tree", - "rules": [ + ], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ { - "fn": "isSet", - "argv": [ - { - "ref": "DisableAccessPoints" - } - ] + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", + "ref": "Accelerate" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", "argv": [ { - "ref": "DisableAccessPoints" + "ref": "url" }, - true + "isIp" ] - } - ], - "error": "Access points are not supported for this operation", - "type": "error" + }, + false + ] }, { - "conditions": [], - "type": "tree", - "rules": [ + "fn": "stringEquals", + "argv": [ { - "conditions": [ - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "resourceId[2]" - ] - } - ] - } - ] - } - ], - "type": "tree", - "rules": [ + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "{url#scheme}://{Bucket}.{url#authority}{url#path}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "UseArnRegion" - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseArnRegion" - }, - false - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "region" - ] - }, - "{Region}" - ] - } - ] - } - ], - "error": "Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "aws.partition", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "region" - ] - } - ], - "assign": "bucketPartition" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "aws.partition", - "argv": [ - { - "ref": "Region" - } - ], - "assign": "partitionResult" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketPartition" - }, - "name" - ] - }, - { - "fn": "getAttr", - "argv": [ - { - "ref": "partitionResult" - }, - "name" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isValidHostLabel", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "region" - ] - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "accountId" - ] - }, - "" - ] - } - ], - "error": "Invalid ARN: Missing account id", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isValidHostLabel", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "accountId" - ] - }, - false - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isValidHostLabel", - "argv": [ - { - "ref": "accessPointName" - }, - false - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketPartition" - }, - "name" - ] - }, - "aws-cn" - ] - } - ], - "error": "Partition does not support FIPS", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - } - ], - "endpoint": { - "url": "{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3-object-lambda", - "disableDoubleEncoding": true, - "signingRegion": "{bucketArn#region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "endpoint": { - "url": "https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3-object-lambda", - "disableDoubleEncoding": true, - "signingRegion": "{bucketArn#region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3-object-lambda", - "disableDoubleEncoding": true, - "signingRegion": "{bucketArn#region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`", - "type": "error" - } - ] - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "A valid partition could not be determined", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Could not load partition for ARN region `{bucketArn#region}`", - "type": "error" - } - ] - } - ] - } + "ref": "url" + }, + "isIp" ] }, + true + ] + }, + { + "fn": "stringEquals", + "argv": [ { - "conditions": [], - "error": "Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.", - "type": "error" - } + "ref": "Region" + }, + "aws-global" ] } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid ARN: bucket ARN is missing a region", - "type": "error" - } - ] - } - ] - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid ARN: Expected a resource of the format `accesspoint:` but no name was provided", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "arnType" - }, - "accesspoint" - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "resourceId[1]" - ], - "assign": "accessPointName" - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "accessPointName" - }, - "" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "region" - ] - }, - "" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "arnType" - }, - "accesspoint" - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" + ], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] }, - "region" - ] + "headers": {} + }, + "type": "endpoint" }, - "" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "isSet", - "argv": [ + "conditions": [ { - "ref": "DisableAccessPoints" - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, { - "ref": "DisableAccessPoints" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] }, - true - ] - } - ], - "error": "Access points are not supported for this operation", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "not", + "fn": "booleanEquals", "argv": [ { - "fn": "isSet", + "ref": "Accelerate" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", "argv": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "resourceId[2]" - ] - } + "ref": "url" + }, + "isIp" ] - } + }, + false + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" ] } ], - "type": "tree", - "rules": [ + "endpoint": { + "url": "{url#scheme}://{Bucket}.{url#authority}{url#path}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ { - "conditions": [], - "type": "tree", - "rules": [ + "fn": "booleanEquals", + "argv": [ { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "UseArnRegion" - } - ] + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "url" + }, + "isIp" + ] + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseArnRegion" - }, - false - ] + "ref": "Region" }, + "us-east-1" + ] + } + ], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}", + "properties": { + "authSchemes": [ { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "region" - ] - }, - "{Region}" - ] - } - ] + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true } - ], - "error": "Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`", - "type": "error" + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ { - "conditions": [], - "type": "tree", - "rules": [ + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ { - "conditions": [ - { - "fn": "aws.partition", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "bucketArn" - }, - "region" - ] - } - ], - "assign": "bucketPartition" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "aws.partition", - "argv": [ - { - "ref": "Region" - } - ], - "assign": "partitionResult" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ + "ref": "url" + }, + "isIp" + ] + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-east-1" + ] + } + ], + "endpoint": { + "url": "{url#scheme}://{Bucket}.{url#authority}{url#path}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "{url#scheme}://{Bucket}.{url#authority}{url#path}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "url" + }, + "isIp" + ] + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] + } + ], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "url" + }, + "isIp" + ] + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] + } + ], + "endpoint": { + "url": "{url#scheme}://{Bucket}.{url#authority}{url#path}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-east-1" + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-east-1" + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "conditions": [], + "error": "Invalid region: region was not a valid DNS name.", + "type": "error" + } + ] + } + ] + }, + { + "conditions": [], + "error": "A valid partition could not be determined", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "url" + }, + "scheme" + ] + }, + "http" + ] + }, + { + "fn": "aws.isVirtualHostableS3Bucket", + "argv": [ + { + "ref": "Bucket" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "partitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isValidHostLabel", + "argv": [ + { + "ref": "Region" + }, + false + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "{url#scheme}://{Bucket}.{url#authority}{url#path}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "Invalid region: region was not a valid DNS name.", + "type": "error" + } + ] + } + ] + }, + { + "conditions": [], + "error": "A valid partition could not be determined", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "aws.parseArn", + "argv": [ + { + "ref": "Bucket" + } + ], + "assign": "bucketArn" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "resourceId[0]" + ], + "assign": "arnType" + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "arnType" + }, + "" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "service" + ] + }, + "s3-object-lambda" + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "arnType" + }, + "accesspoint" + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "resourceId[1]" + ], + "assign": "accessPointName" + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "accessPointName" + }, + "" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "S3 Object Lambda does not support Dual-stack", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + true + ] + } + ], + "error": "S3 Object Lambda does not support S3 Accelerate", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "region" + ] + }, + "" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "DisableAccessPoints" + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "DisableAccessPoints" + }, + true + ] + } + ], + "error": "Access points are not supported for this operation", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "resourceId[2]" + ] + } + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "UseArnRegion" + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseArnRegion" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "region" + ] + }, + "{Region}" + ] + } + ] + } + ], + "error": "Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "region" + ] + } + ], + "assign": "bucketPartition" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "partitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketPartition" + }, + "name" + ] + }, + { + "fn": "getAttr", + "argv": [ + { + "ref": "partitionResult" + }, + "name" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isValidHostLabel", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "region" + ] + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "accountId" + ] + }, + "" + ] + } + ], + "error": "Invalid ARN: Missing account id", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isValidHostLabel", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "accountId" + ] + }, + false + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isValidHostLabel", + "argv": [ + { + "ref": "accessPointName" + }, + false + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketPartition" + }, + "name" + ] + }, + "aws-cn" + ] + } + ], + "error": "Partition does not support FIPS", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "endpoint": { + "url": "{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{bucketArn#region}", + "signingName": "s3-object-lambda", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "endpoint": { + "url": "https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{bucketArn#region}", + "signingName": "s3-object-lambda", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{bucketArn#region}", + "signingName": "s3-object-lambda", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + } + ] + }, + { + "conditions": [], + "error": "Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`", + "type": "error" + } + ] + } + ] + }, + { + "conditions": [], + "error": "Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`", + "type": "error" + } + ] + } + ] + } + ] + }, + { + "conditions": [], + "error": "Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)", + "type": "error" + } + ] + } + ] + }, + { + "conditions": [], + "error": "Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`", + "type": "error" + } + ] + } + ] + }, + { + "conditions": [], + "error": "A valid partition could not be determined", + "type": "error" + } + ] + } + ] + }, + { + "conditions": [], + "error": "Could not load partition for ARN region `{bucketArn#region}`", + "type": "error" + } + ] + } + ] + } + ] + }, + { + "conditions": [], + "error": "Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.", + "type": "error" + } + ] + } + ] + } + ] + }, + { + "conditions": [], + "error": "Invalid ARN: bucket ARN is missing a region", + "type": "error" + } + ] + } + ] + } + ] + } + ] + }, + { + "conditions": [], + "error": "Invalid ARN: Expected a resource of the format `accesspoint:` but no name was provided", + "type": "error" + } + ] + } + ] + }, + { + "conditions": [], + "error": "Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "arnType" + }, + "accesspoint" + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "resourceId[1]" + ], + "assign": "accessPointName" + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "accessPointName" + }, + "" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "region" + ] + }, + "" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "arnType" + }, + "accesspoint" + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "region" + ] + }, + "" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "DisableAccessPoints" + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "DisableAccessPoints" + }, + true + ] + } + ], + "error": "Access points are not supported for this operation", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "resourceId[2]" + ] + } + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "UseArnRegion" + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseArnRegion" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "region" + ] + }, + "{Region}" + ] + } + ] + } + ], + "error": "Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "bucketArn" + }, + "region" + ] + } + ], + "assign": "bucketPartition" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "partitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ { "ref": "bucketPartition" }, @@ -6221,9 +7134,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{bucketArn#region}", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{bucketArn#region}" + "disableDoubleEncoding": true } ] }, @@ -6258,9 +7171,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{bucketArn#region}", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{bucketArn#region}" + "disableDoubleEncoding": true } ] }, @@ -6295,9 +7208,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{bucketArn#region}", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{bucketArn#region}" + "disableDoubleEncoding": true } ] }, @@ -6349,9 +7262,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{bucketArn#region}", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{bucketArn#region}" + "disableDoubleEncoding": true } ] }, @@ -6386,9 +7299,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{bucketArn#region}", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{bucketArn#region}" + "disableDoubleEncoding": true } ] }, @@ -6643,11 +7556,11 @@ "authSchemes": [ { "name": "sigv4a", - "signingName": "s3", - "disableDoubleEncoding": true, "signingRegionSet": [ "*" - ] + ], + "signingName": "s3", + "disableDoubleEncoding": true } ] }, @@ -7090,9 +8003,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{bucketArn#region}", "signingName": "s3-outposts", - "disableDoubleEncoding": true, - "signingRegion": "{bucketArn#region}" + "disableDoubleEncoding": true } ] }, @@ -7108,9 +8021,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{bucketArn#region}", "signingName": "s3-outposts", - "disableDoubleEncoding": true, - "signingRegion": "{bucketArn#region}" + "disableDoubleEncoding": true } ] }, @@ -7206,958 +8119,1865 @@ ] }, { - "conditions": [], - "error": "Invalid ARN: The Outpost Id was not set", - "type": "error" + "conditions": [], + "error": "Invalid ARN: The Outpost Id was not set", + "type": "error" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "conditions": [], + "error": "Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})", + "type": "error" + } + ] + } + ] + }, + { + "conditions": [], + "error": "Invalid ARN: No ARN type specified", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "substring", + "argv": [ + { + "ref": "Bucket" + }, + 0, + 4, + false + ], + "assign": "arnPrefix" + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "arnPrefix" + }, + "arn:" + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "fn": "aws.parseArn", + "argv": [ + { + "ref": "Bucket" + } + ] + } + ] + } + ] + } + ], + "error": "Invalid ARN: `{Bucket}` was not a valid ARN", + "type": "error" + }, + { + "conditions": [ + { + "fn": "uriEncode", + "argv": [ + { + "ref": "Bucket" + } + ], + "assign": "uri_encoded_bucket" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "error": "Cannot set dual-stack in combination with a custom endpoint.", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "partitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "Accelerate" + }, + false + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] } ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] } - ] - } - ] - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid ARN: No ARN type specified", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "substring", - "argv": [ - { - "ref": "Bucket" - }, - 0, - 4, - false - ], - "assign": "arnPrefix" - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "arnPrefix" - }, - "arn:" - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "fn": "aws.parseArn", - "argv": [ - { - "ref": "Bucket" - } - ] - } - ] - } - ] - } - ], - "error": "Invalid ARN: `{Bucket}` was not a valid ARN", - "type": "error" - }, - { - "conditions": [ - { - "fn": "uriEncode", - "argv": [ - { - "ref": "Bucket" - } - ], - "assign": "uri_encoded_bucket" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ], - "error": "Cannot set dual-stack in combination with a custom endpoint.", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "aws.partition", - "argv": [ - { - "ref": "Region" - } - ], - "assign": "partitionResult" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "Accelerate" + ], + "endpoint": { + "url": "https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" }, - false - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, false ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] } ], - "type": "tree", - "rules": [ + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ { - "conditions": [], - "type": "tree", - "rules": [ + "fn": "booleanEquals", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + "ref": "UseDualStack" }, + false + ] + }, + { + "fn": "isSet", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" }, + true + ] + }, + { + "fn": "not", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, + "fn": "stringEquals", + "argv": [ { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] + "ref": "Region" }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true } ] }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - }, - { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] + "ref": "Region" }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] + } + ], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] + "ref": "Endpoint" } - ], - "endpoint": { - "url": "https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] + "ref": "Endpoint" } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" }, + true + ] + }, + { + "fn": "not", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, + "fn": "stringEquals", + "argv": [ { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" + "ref": "Region" }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + ] }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, - { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] + "ref": "Endpoint" } - ], - "type": "tree", - "rules": [ + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-east-1" - ] - } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + "ref": "Region" }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] + } + ], + "endpoint": { + "url": "https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ { - "conditions": [], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + "ref": "Endpoint" } ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" }, + false + ] + }, + { + "fn": "stringEquals", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" - }, + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] + "ref": "Endpoint" } - ], - "endpoint": { - "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" }, + false + ] + }, + { + "fn": "not", + "argv": [ { - "conditions": [ + "fn": "stringEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] + "ref": "Region" }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] + "ref": "Endpoint" } - ], - "endpoint": { - "url": "https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" }, + false + ] + }, + { + "fn": "not", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - }, + "fn": "stringEquals", + "argv": [ { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] + "ref": "Region" }, - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" - } - ] + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] + } + ], + "endpoint": { + "url": "https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" }, - "headers": {} - }, - "type": "endpoint" + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "conditions": [ + "fn": "stringEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] + "ref": "Region" }, + "us-east-1" + ] + } + ], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", + "properties": { + "authSchemes": [ { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] - }, + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", + "properties": { + "authSchemes": [ { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] + } + ], + "endpoint": { + "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - true - ] + "ref": "Endpoint" } - ], - "type": "tree", - "rules": [ + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-east-1" - ] - } - ], - "endpoint": { - "url": "https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ { - "conditions": [], - "endpoint": { - "url": "https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + "ref": "Endpoint" } ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" }, + false + ] + }, + { + "fn": "not", + "argv": [ { - "conditions": [ + "fn": "stringEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] + "ref": "Region" }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ { - "fn": "not", - "argv": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ] + "ref": "Region" }, + "us-east-1" + ] + } + ], + "endpoint": { + "url": "https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ { - "fn": "not", - "argv": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ] - }, + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseGlobalEndpoint" - }, - false - ] + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true } - ], - "endpoint": { - "url": "https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] + ] + }, + "headers": {} + }, + "type": "endpoint" } ] }, { - "conditions": [], - "error": "Path-style addressing cannot be used with FIPS", - "type": "error" + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseGlobalEndpoint" + }, + false + ] + } + ], + "endpoint": { + "url": "https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{Region}", + "signingName": "s3", + "disableDoubleEncoding": true + } + ] + }, + "headers": {} + }, + "type": "endpoint" } ] } @@ -8341,9 +10161,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{Region}", "signingName": "s3-object-lambda", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, @@ -8369,9 +10189,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{Region}", "signingName": "s3-object-lambda", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, @@ -8387,9 +10207,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{Region}", "signingName": "s3-object-lambda", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, @@ -8564,9 +10384,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" + "disableDoubleEncoding": true } ] }, @@ -8627,9 +10447,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" + "disableDoubleEncoding": true } ] }, @@ -8708,9 +10528,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{Region}", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, @@ -8787,9 +10607,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{Region}", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, @@ -8846,9 +10666,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" + "disableDoubleEncoding": true } ] }, @@ -8905,9 +10725,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" + "disableDoubleEncoding": true } ] }, @@ -8982,9 +10802,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{Region}", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, @@ -9057,9 +10877,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{Region}", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, @@ -9120,9 +10940,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" + "disableDoubleEncoding": true } ] }, @@ -9183,9 +11003,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" + "disableDoubleEncoding": true } ] }, @@ -9264,9 +11084,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{Region}", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, @@ -9343,9 +11163,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{Region}", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, @@ -9402,9 +11222,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" + "disableDoubleEncoding": true } ] }, @@ -9461,9 +11281,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" + "disableDoubleEncoding": true } ] }, @@ -9538,9 +11358,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{Region}", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, @@ -9613,9 +11433,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{Region}", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, @@ -9676,9 +11496,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" + "disableDoubleEncoding": true } ] }, @@ -9739,9 +11559,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" + "disableDoubleEncoding": true } ] }, @@ -9820,9 +11640,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{Region}", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, @@ -9899,9 +11719,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{Region}", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, @@ -9958,9 +11778,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" + "disableDoubleEncoding": true } ] }, @@ -10017,9 +11837,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" + "disableDoubleEncoding": true } ] }, @@ -10094,9 +11914,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{Region}", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, @@ -10169,9 +11989,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{Region}", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, @@ -10232,9 +12052,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" + "disableDoubleEncoding": true } ] }, @@ -10295,9 +12115,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" + "disableDoubleEncoding": true } ] }, @@ -10386,9 +12206,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{Region}", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, @@ -10404,9 +12224,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{Region}", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, @@ -10483,9 +12303,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{Region}", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, @@ -10542,9 +12362,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" + "disableDoubleEncoding": true } ] }, @@ -10601,9 +12421,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "us-east-1" + "disableDoubleEncoding": true } ] }, @@ -10688,9 +12508,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{Region}", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, @@ -10706,9 +12526,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{Region}", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, @@ -10781,9 +12601,9 @@ "authSchemes": [ { "name": "sigv4", + "signingRegion": "{Region}", "signingName": "s3", - "disableDoubleEncoding": true, - "signingRegion": "{Region}" + "disableDoubleEncoding": true } ] }, @@ -13062,7 +14882,19 @@ { "documentation": "ForcePathStyle, aws-global region with fips is invalid", "expect": { - "error": "Path-style addressing cannot be used with FIPS" + "endpoint": { + "properties": { + "authSchemes": [ + { + "signingName": "s3", + "signingRegion": "us-east-1", + "disableDoubleEncoding": true, + "name": "sigv4" + } + ] + }, + "url": "https://s3-fips.us-east-1.amazonaws.com/bucket-name" + } }, "params": { "Region": "aws-global", @@ -14132,32 +15964,42 @@ } }, { - "documentation": "path style + fips@us-west-2", + "documentation": "fips@us-gov-west-2, bucket is not S3-dns-compatible (subdomains)", "expect": { - "error": "Path-style addressing cannot be used with FIPS" + "endpoint": { + "properties": { + "authSchemes": [ + { + "signingName": "s3", + "signingRegion": "us-gov-west-1", + "disableDoubleEncoding": true, + "name": "sigv4" + } + ] + }, + "url": "https://s3-fips.us-gov-west-1.amazonaws.com/bucket.with.dots" + } }, "operationInputs": [ { "builtInParams": { - "AWS::Region": "us-west-2", + "AWS::Region": "us-gov-west-1", "AWS::UseFIPS": true, "AWS::S3::ForcePathStyle": true }, "operationName": "GetObject", "operationParams": { - "Bucket": "bucket-name", + "Bucket": "bucket.with.dots", "Key": "key" } } ], "params": { "Accelerate": false, - "Bucket": "bucket-name", - "ForcePathStyle": true, - "Region": "us-west-2", + "Bucket": "bucket.with.dots", + "Region": "us-gov-west-1", "UseDualStack": false, - "UseFIPS": true, - "___key": "key" + "UseFIPS": true } }, { @@ -14380,7 +16222,19 @@ { "documentation": "path style + fips@cn-north-1", "expect": { - "error": "Path-style addressing cannot be used with FIPS" + "endpoint": { + "properties": { + "authSchemes": [ + { + "signingName": "s3", + "signingRegion": "cn-north-1", + "disableDoubleEncoding": true, + "name": "sigv4" + } + ] + }, + "url": "https://s3-fips.cn-north-1.amazonaws.com.cn/bucket-name" + } }, "operationInputs": [ { @@ -14402,8 +16256,7 @@ "ForcePathStyle": true, "Region": "cn-north-1", "UseDualStack": false, - "UseFIPS": true, - "___key": "key" + "UseFIPS": true } }, { @@ -14626,7 +16479,19 @@ { "documentation": "path style + fips@af-south-1", "expect": { - "error": "Path-style addressing cannot be used with FIPS" + "endpoint": { + "properties": { + "authSchemes": [ + { + "signingName": "s3", + "signingRegion": "af-south-1", + "disableDoubleEncoding": true, + "name": "sigv4" + } + ] + }, + "url": "https://s3-fips.af-south-1.amazonaws.com/bucket-name" + } }, "operationInputs": [ { @@ -14648,8 +16513,7 @@ "ForcePathStyle": true, "Region": "af-south-1", "UseDualStack": false, - "UseFIPS": true, - "___key": "key" + "UseFIPS": true } }, { @@ -18098,7 +19962,7 @@ "target": "com.amazonaws.s3#CompleteMultipartUploadOutput" }, "traits": { - "smithy.api#documentation": "

Completes a multipart upload by assembling previously uploaded parts.

\n

You first initiate the multipart upload and then upload all parts using the UploadPart\n operation. After successfully uploading all relevant parts of an upload, you call this\n action to complete the upload. Upon receiving this request, Amazon S3 concatenates all\n the parts in ascending order by part number to create a new object. In the Complete\n Multipart Upload request, you must provide the parts list. You must ensure that the parts\n list is complete. This action concatenates the parts that you provide in the list. For\n each part in the list, you must provide the part number and the ETag value,\n returned after that part was uploaded.

\n

Processing of a Complete Multipart Upload request could take several minutes to\n complete. After Amazon S3 begins processing the request, it sends an HTTP response header that\n specifies a 200 OK response. While processing is in progress, Amazon S3 periodically sends white\n space characters to keep the connection from timing out. Because a request could fail after\n the initial 200 OK response has been sent, it is important that you check the response body\n to determine whether the request succeeded.

\n

Note that if CompleteMultipartUpload fails, applications should be prepared\n to retry the failed requests. For more information, see Amazon S3 Error Best Practices.

\n \n

You cannot use Content-Type: application/x-www-form-urlencoded with Complete\n Multipart Upload requests. Also, if you do not provide a Content-Type header, CompleteMultipartUpload returns a 200 OK response.

\n
\n

For more information about multipart uploads, see Uploading Objects Using Multipart\n Upload.

\n

For information about permissions required to use the multipart upload API, see Multipart Upload and\n Permissions.

\n\n\n

\n CompleteMultipartUpload has the following special errors:

\n
    \n
  • \n

    Error code: EntityTooSmall\n

    \n
      \n
    • \n

      Description: Your proposed upload is smaller than the minimum allowed object\n size. Each part must be at least 5 MB in size, except the last part.

      \n
    • \n
    • \n

      400 Bad Request

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

    Error code: InvalidPart\n

    \n
      \n
    • \n

      Description: One or more of the specified parts could not be found. The part\n might not have been uploaded, or the specified entity tag might not have\n matched the part's entity tag.

      \n
    • \n
    • \n

      400 Bad Request

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

    Error code: InvalidPartOrder\n

    \n
      \n
    • \n

      Description: The list of parts was not in ascending order. The parts list\n must be specified in order by part number.

      \n
    • \n
    • \n

      400 Bad Request

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

    Error code: NoSuchUpload\n

    \n
      \n
    • \n

      Description: The specified multipart upload does not exist. The upload ID\n might be invalid, or the multipart upload might have been aborted or\n completed.

      \n
    • \n
    • \n

      404 Not Found

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

The following operations are related to CompleteMultipartUpload:

\n ", + "smithy.api#documentation": "

Completes a multipart upload by assembling previously uploaded parts.

\n

You first initiate the multipart upload and then upload all parts using the UploadPart\n operation. After successfully uploading all relevant parts of an upload, you call this\n action to complete the upload. Upon receiving this request, Amazon S3 concatenates all\n the parts in ascending order by part number to create a new object. In the Complete\n Multipart Upload request, you must provide the parts list. You must ensure that the parts\n list is complete. This action concatenates the parts that you provide in the list. For\n each part in the list, you must provide the part number and the ETag value,\n returned after that part was uploaded.

\n

Processing of a Complete Multipart Upload request could take several minutes to\n complete. After Amazon S3 begins processing the request, it sends an HTTP response header that\n specifies a 200 OK response. While processing is in progress, Amazon S3 periodically sends white\n space characters to keep the connection from timing out. Because a request could fail after\n the initial 200 OK response has been sent, it is important that you check the response body\n to determine whether the request succeeded.

\n

Note that if CompleteMultipartUpload fails, applications should be prepared\n to retry the failed requests. For more information, see Amazon S3 Error Best Practices.

\n \n

You cannot use Content-Type: application/x-www-form-urlencoded with Complete\n Multipart Upload requests. Also, if you do not provide a Content-Type header, CompleteMultipartUpload returns a 200 OK response.

\n
\n

For more information about multipart uploads, see Uploading Objects Using Multipart\n Upload.

\n

For information about permissions required to use the multipart upload API, see Multipart Upload and\n Permissions.

\n

\n CompleteMultipartUpload has the following special errors:

\n
    \n
  • \n

    Error code: EntityTooSmall\n

    \n
      \n
    • \n

      Description: Your proposed upload is smaller than the minimum allowed object\n size. Each part must be at least 5 MB in size, except the last part.

      \n
    • \n
    • \n

      400 Bad Request

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

    Error code: InvalidPart\n

    \n
      \n
    • \n

      Description: One or more of the specified parts could not be found. The part\n might not have been uploaded, or the specified entity tag might not have\n matched the part's entity tag.

      \n
    • \n
    • \n

      400 Bad Request

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

    Error code: InvalidPartOrder\n

    \n
      \n
    • \n

      Description: The list of parts was not in ascending order. The parts list\n must be specified in order by part number.

      \n
    • \n
    • \n

      400 Bad Request

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

    Error code: NoSuchUpload\n

    \n
      \n
    • \n

      Description: The specified multipart upload does not exist. The upload ID\n might be invalid, or the multipart upload might have been aborted or\n completed.

      \n
    • \n
    • \n

      404 Not Found

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

The following operations are related to CompleteMultipartUpload:

\n ", "smithy.api#http": { "method": "POST", "uri": "/{Bucket}/{Key+}?x-id=CompleteMultipartUpload", @@ -18201,6 +20065,7 @@ } }, "traits": { + "smithy.api#output": {}, "smithy.api#xmlName": "CompleteMultipartUploadResult" } }, @@ -18304,6 +20169,9 @@ "smithy.api#httpHeader": "x-amz-server-side-encryption-customer-key-MD5" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#CompletedMultipartUpload": { @@ -18467,7 +20335,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a copy of an object that is already stored in Amazon S3.

\n \n

You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your\n object up to 5 GB in size in a single atomic action using this API. However, to copy an\n object greater than 5 GB, you must use the multipart upload Upload Part - Copy\n (UploadPartCopy) API. For more information, see Copy Object Using the\n REST Multipart Upload API.

\n
\n

All copy requests must be authenticated. Additionally, you must have\n read access to the source object and write\n access to the destination bucket. For more information, see REST Authentication. Both the Region\n that you want to copy the object from and the Region that you want to copy the object to\n must be enabled for your account.

\n

A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3\n is copying the files. If the error occurs before the copy action starts, you receive a\n standard Amazon S3 error. If the error occurs during the copy operation, the error response is\n embedded in the 200 OK response. This means that a 200 OK\n response can contain either a success or an error. Design your application to parse the\n contents of the response and handle it appropriately.

\n

If the copy is successful, you receive a response with information about the copied\n object.

\n \n

If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not,\n it would not contain the content-length, and you would need to read the entire\n body.

\n
\n

The copy request charge is based on the storage class and Region that you specify for\n the destination object. For pricing information, see Amazon S3 pricing.

\n \n

Amazon S3 transfer acceleration does not support cross-Region copies. If you request a\n cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad\n Request error. For more information, see Transfer Acceleration.

\n
\n

\n Metadata\n

\n

When copying an object, you can preserve all metadata (default) or specify new metadata.\n However, the ACL is not preserved and is set to private for the user making the request. To\n override the default ACL setting, specify a new ACL when generating a copy request. For\n more information, see Using ACLs.

\n

To specify whether you want the object metadata copied from the source object or\n replaced with metadata provided in the request, you can optionally add the\n x-amz-metadata-directive header. When you grant permissions, you can use\n the s3:x-amz-metadata-directive condition key to enforce certain metadata\n behavior when objects are uploaded. For more information, see Specifying Conditions in a\n Policy in the Amazon S3 User Guide. For a complete list of\n Amazon S3-specific condition keys, see Actions, Resources, and Condition Keys for\n Amazon S3.

\n

\n x-amz-copy-source-if Headers\n

\n

To only copy an object under certain conditions, such as whether the Etag\n matches or whether the object was modified before or after a specified date, use the\n following request parameters:

\n
    \n
  • \n

    \n x-amz-copy-source-if-match\n

    \n
  • \n
  • \n

    \n x-amz-copy-source-if-none-match\n

    \n
  • \n
  • \n

    \n x-amz-copy-source-if-unmodified-since\n

    \n
  • \n
  • \n

    \n x-amz-copy-source-if-modified-since\n

    \n
  • \n
\n

If both the x-amz-copy-source-if-match and\n x-amz-copy-source-if-unmodified-since headers are present in the request\n and evaluate as follows, Amazon S3 returns 200 OK and copies the data:

\n
    \n
  • \n

    \n x-amz-copy-source-if-match condition evaluates to true

    \n
  • \n
  • \n

    \n x-amz-copy-source-if-unmodified-since condition evaluates to\n false

    \n
  • \n
\n\n

If both the x-amz-copy-source-if-none-match and\n x-amz-copy-source-if-modified-since headers are present in the request and\n evaluate as follows, Amazon S3 returns the 412 Precondition Failed response\n code:

\n
    \n
  • \n

    \n x-amz-copy-source-if-none-match condition evaluates to false

    \n
  • \n
  • \n

    \n x-amz-copy-source-if-modified-since condition evaluates to\n true

    \n
  • \n
\n\n \n

All headers with the x-amz- prefix, including\n x-amz-copy-source, must be signed.

\n
\n

\n Server-side encryption\n

\n

When you perform a CopyObject operation, you can optionally use the appropriate encryption-related \n headers to encrypt the object using server-side encryption with Amazon Web Services managed encryption keys \n (SSE-S3 or SSE-KMS) or a customer-provided encryption key. With server-side encryption, Amazon S3 \n encrypts your data as it writes it to disks in its data centers and decrypts the data when \n you access it. For more information about server-side encryption, see Using\n Server-Side Encryption.

\n

If a target object uses SSE-KMS, you can enable an S3 Bucket Key for the object. For more\n information, see Amazon S3 Bucket Keys in the Amazon S3 User Guide.

\n

\n Access Control List (ACL)-Specific Request\n Headers\n

\n

When copying an object, you can optionally use headers to grant ACL-based permissions.\n By default, all objects are private. Only the owner has full access control. When adding a\n new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups\n defined by Amazon S3. These permissions are then added to the ACL on the object. For more\n information, see Access Control List (ACL) Overview and Managing ACLs Using the REST\n API.

\n

If the bucket that you're copying objects to uses the bucket owner enforced setting for\n S3 Object Ownership, ACLs are disabled and no longer affect permissions. Buckets that\n use this setting only accept PUT requests that don't specify an ACL or PUT requests that\n specify bucket owner full control ACLs, such as the bucket-owner-full-control canned\n ACL or an equivalent form of this ACL expressed in the XML format.

\n

For more information, see Controlling ownership of\n objects and disabling ACLs in the Amazon S3 User Guide.

\n \n

If your bucket uses the bucket owner enforced setting for Object Ownership, \n all objects written to the bucket by any account will be owned by the bucket owner.

\n
\n

\n Checksums\n

\n

When copying an object, if it has a checksum, that checksum will be copied to the new object\n by default. When you copy the object over, you may optionally specify a different checksum\n algorithm to use with the x-amz-checksum-algorithm header.

\n

\n Storage Class Options\n

\n

You can use the CopyObject action to change the storage class of an\n object that is already stored in Amazon S3 using the StorageClass parameter. For\n more information, see Storage\n Classes in the Amazon S3 User Guide.

\n

\n Versioning\n

\n

By default, x-amz-copy-source identifies the current version of an object\n to copy. If the current version is a delete marker, Amazon S3 behaves as if the object was\n deleted. To copy a different version, use the versionId subresource.

\n

If you enable versioning on the target bucket, Amazon S3 generates a unique version ID for\n the object being copied. This version ID is different from the version ID of the source\n object. Amazon S3 returns the version ID of the copied object in the\n x-amz-version-id response header in the response.

\n

If you do not enable versioning or suspend it on the target bucket, the version ID that\n Amazon S3 generates is always null.

\n

If the source object's storage class is GLACIER, you must restore a copy of this object\n before you can use it as a source object for the copy operation. For more information, see\n RestoreObject.

\n

The following operations are related to CopyObject:

\n \n

For more information, see Copying\n Objects.

", + "smithy.api#documentation": "

Creates a copy of an object that is already stored in Amazon S3.

\n \n

You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your\n object up to 5 GB in size in a single atomic action using this API. However, to copy an\n object greater than 5 GB, you must use the multipart upload Upload Part - Copy\n (UploadPartCopy) API. For more information, see Copy Object Using the\n REST Multipart Upload API.

\n
\n

All copy requests must be authenticated. Additionally, you must have\n read access to the source object and write\n access to the destination bucket. For more information, see REST Authentication. Both the Region\n that you want to copy the object from and the Region that you want to copy the object to\n must be enabled for your account.

\n

A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3\n is copying the files. If the error occurs before the copy action starts, you receive a\n standard Amazon S3 error. If the error occurs during the copy operation, the error response is\n embedded in the 200 OK response. This means that a 200 OK\n response can contain either a success or an error. Design your application to parse the\n contents of the response and handle it appropriately.

\n

If the copy is successful, you receive a response with information about the copied\n object.

\n \n

If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not,\n it would not contain the content-length, and you would need to read the entire\n body.

\n
\n

The copy request charge is based on the storage class and Region that you specify for\n the destination object. For pricing information, see Amazon S3 pricing.

\n \n

Amazon S3 transfer acceleration does not support cross-Region copies. If you request a\n cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad\n Request error. For more information, see Transfer Acceleration.

\n
\n

\n Metadata\n

\n

When copying an object, you can preserve all metadata (default) or specify new metadata.\n However, the ACL is not preserved and is set to private for the user making the request. To\n override the default ACL setting, specify a new ACL when generating a copy request. For\n more information, see Using ACLs.

\n

To specify whether you want the object metadata copied from the source object or\n replaced with metadata provided in the request, you can optionally add the\n x-amz-metadata-directive header. When you grant permissions, you can use\n the s3:x-amz-metadata-directive condition key to enforce certain metadata\n behavior when objects are uploaded. For more information, see Specifying Conditions in a\n Policy in the Amazon S3 User Guide. For a complete list of\n Amazon S3-specific condition keys, see Actions, Resources, and Condition Keys for\n Amazon S3.

\n

\n x-amz-copy-source-if Headers\n

\n

To only copy an object under certain conditions, such as whether the Etag\n matches or whether the object was modified before or after a specified date, use the\n following request parameters:

\n
    \n
  • \n

    \n x-amz-copy-source-if-match\n

    \n
  • \n
  • \n

    \n x-amz-copy-source-if-none-match\n

    \n
  • \n
  • \n

    \n x-amz-copy-source-if-unmodified-since\n

    \n
  • \n
  • \n

    \n x-amz-copy-source-if-modified-since\n

    \n
  • \n
\n

If both the x-amz-copy-source-if-match and\n x-amz-copy-source-if-unmodified-since headers are present in the request\n and evaluate as follows, Amazon S3 returns 200 OK and copies the data:

\n
    \n
  • \n

    \n x-amz-copy-source-if-match condition evaluates to true

    \n
  • \n
  • \n

    \n x-amz-copy-source-if-unmodified-since condition evaluates to\n false

    \n
  • \n
\n

If both the x-amz-copy-source-if-none-match and\n x-amz-copy-source-if-modified-since headers are present in the request and\n evaluate as follows, Amazon S3 returns the 412 Precondition Failed response\n code:

\n
    \n
  • \n

    \n x-amz-copy-source-if-none-match condition evaluates to false

    \n
  • \n
  • \n

    \n x-amz-copy-source-if-modified-since condition evaluates to\n true

    \n
  • \n
\n \n

All headers with the x-amz- prefix, including\n x-amz-copy-source, must be signed.

\n
\n

\n Server-side encryption\n

\n

When you perform a CopyObject operation, you can optionally use the appropriate encryption-related \n headers to encrypt the object using server-side encryption with Amazon Web Services managed encryption keys \n (SSE-S3 or SSE-KMS) or a customer-provided encryption key. With server-side encryption, Amazon S3 \n encrypts your data as it writes it to disks in its data centers and decrypts the data when \n you access it. For more information about server-side encryption, see Using\n Server-Side Encryption.

\n

If a target object uses SSE-KMS, you can enable an S3 Bucket Key for the object. For more\n information, see Amazon S3 Bucket Keys in the Amazon S3 User Guide.

\n

\n Access Control List (ACL)-Specific Request\n Headers\n

\n

When copying an object, you can optionally use headers to grant ACL-based permissions.\n By default, all objects are private. Only the owner has full access control. When adding a\n new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups\n defined by Amazon S3. These permissions are then added to the ACL on the object. For more\n information, see Access Control List (ACL) Overview and Managing ACLs Using the REST\n API.

\n

If the bucket that you're copying objects to uses the bucket owner enforced setting for\n S3 Object Ownership, ACLs are disabled and no longer affect permissions. Buckets that\n use this setting only accept PUT requests that don't specify an ACL or PUT requests that\n specify bucket owner full control ACLs, such as the bucket-owner-full-control canned\n ACL or an equivalent form of this ACL expressed in the XML format.

\n

For more information, see Controlling ownership of\n objects and disabling ACLs in the Amazon S3 User Guide.

\n \n

If your bucket uses the bucket owner enforced setting for Object Ownership, \n all objects written to the bucket by any account will be owned by the bucket owner.

\n
\n

\n Checksums\n

\n

When copying an object, if it has a checksum, that checksum will be copied to the new object\n by default. When you copy the object over, you may optionally specify a different checksum\n algorithm to use with the x-amz-checksum-algorithm header.

\n

\n Storage Class Options\n

\n

You can use the CopyObject action to change the storage class of an\n object that is already stored in Amazon S3 using the StorageClass parameter. For\n more information, see Storage\n Classes in the Amazon S3 User Guide.

\n

\n Versioning\n

\n

By default, x-amz-copy-source identifies the current version of an object\n to copy. If the current version is a delete marker, Amazon S3 behaves as if the object was\n deleted. To copy a different version, use the versionId subresource.

\n

If you enable versioning on the target bucket, Amazon S3 generates a unique version ID for\n the object being copied. This version ID is different from the version ID of the source\n object. Amazon S3 returns the version ID of the copied object in the\n x-amz-version-id response header in the response.

\n

If you do not enable versioning or suspend it on the target bucket, the version ID that\n Amazon S3 generates is always null.

\n

If the source object's storage class is GLACIER, you must restore a copy of this object\n before you can use it as a source object for the copy operation. For more information, see\n RestoreObject.

\n

The following operations are related to CopyObject:

\n \n

For more information, see Copying\n Objects.

", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}/{Key+}?x-id=CopyObject", @@ -18555,6 +20423,9 @@ "smithy.api#httpHeader": "x-amz-request-charged" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#CopyObjectRequest": { @@ -18623,7 +20494,7 @@ "CopySource": { "target": "com.amazonaws.s3#CopySource", "traits": { - "smithy.api#documentation": "

Specifies the source object for the copy operation. You specify the value in one of two\n formats, depending on whether you want to access the source object through an access point:

\n
    \n
  • \n

    For objects not accessed through an access point, specify the name of the source bucket\n and the key of the source object, separated by a slash (/). For example, to copy the\n object reports/january.pdf from the bucket\n awsexamplebucket, use awsexamplebucket/reports/january.pdf.\n The value must be URL-encoded.

    \n
  • \n
  • \n

    For objects accessed through access points, specify the Amazon Resource Name (ARN) of the object as accessed through the access point, in the format arn:aws:s3:::accesspoint//object/. For example, to copy the object reports/january.pdf through access point my-access-point owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf. The value must be URL encoded.

    \n \n

    Amazon S3 supports copy operations using access points only when the source and destination buckets are in the same Amazon Web Services Region.

    \n
    \n

    Alternatively, for objects accessed through Amazon S3 on Outposts, specify the ARN of the object as accessed in the format arn:aws:s3-outposts:::outpost//object/. For example, to copy the object reports/january.pdf through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf. The value must be URL-encoded.

    \n
  • \n
\n

To copy a specific version of an object, append ?versionId=\n to the value (for example,\n awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893).\n If you don't specify a version ID, Amazon S3 copies the latest version of the source\n object.

", + "smithy.api#documentation": "

Specifies the source object for the copy operation. You specify the value in one of two\n formats, depending on whether you want to access the source object through an access point:

\n
    \n
  • \n

    For objects not accessed through an access point, specify the name of the source bucket\n and the key of the source object, separated by a slash (/). For example, to copy the\n object reports/january.pdf from the bucket\n awsexamplebucket, use awsexamplebucket/reports/january.pdf.\n The value must be URL-encoded.

    \n
  • \n
  • \n

    For objects accessed through access points, specify the Amazon Resource Name (ARN) of the object as accessed through the access point, in the format arn:aws:s3:::accesspoint//object/. For example, to copy the object reports/january.pdf through access point my-access-point owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf. The value must be URL encoded.

    \n \n

    Amazon S3 supports copy operations using access points only when the source and destination buckets are in the same Amazon Web Services Region.

    \n
    \n

    Alternatively, for objects accessed through Amazon S3 on Outposts, specify the ARN of the object as accessed in the format arn:aws:s3-outposts:::outpost//object/. For example, to copy the object reports/january.pdf through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf. The value must be URL-encoded.

    \n
  • \n
\n

To copy a specific version of an object, append ?versionId=\n to the value (for example,\n awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893).\n If you don't specify a version ID, Amazon S3 copies the latest version of the source\n object.

", "smithy.api#httpHeader": "x-amz-copy-source", "smithy.api#required": {} } @@ -18853,6 +20724,9 @@ "smithy.api#httpHeader": "x-amz-source-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#CopyObjectResult": { @@ -18996,7 +20870,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a new S3 bucket. To create a bucket, you must register with Amazon S3 and have a\n valid Amazon Web Services Access Key ID to authenticate requests. Anonymous requests are never allowed to\n create buckets. By creating the bucket, you become the bucket owner.

\n

Not every string is an acceptable bucket name. For information about bucket naming\n restrictions, see Bucket naming rules.

\n

If you want to create an Amazon S3 on Outposts bucket, see Create Bucket.

\n

By default, the bucket is created in the US East (N. Virginia) Region. You can\n optionally specify a Region in the request body. You might choose a Region to optimize\n latency, minimize costs, or address regulatory requirements. For example, if you reside in\n Europe, you will probably find it advantageous to create buckets in the Europe (Ireland)\n Region. For more information, see Accessing a\n bucket.

\n \n

If you send your create bucket request to the s3.amazonaws.com endpoint,\n the request goes to the us-east-1 Region. Accordingly, the signature calculations in\n Signature Version 4 must use us-east-1 as the Region, even if the location constraint in\n the request specifies another Region where the bucket is to be created. If you create a\n bucket in a Region other than US East (N. Virginia), your application must be able to\n handle 307 redirect. For more information, see Virtual hosting of buckets.

\n
\n

\n Access control lists (ACLs)\n

\n

When creating a bucket using this operation, you can optionally configure the bucket ACL to specify the accounts or\n groups that should be granted specific permissions on the bucket.

\n \n

If your CreateBucket request sets bucket owner enforced for S3 Object Ownership and\n specifies a bucket ACL that provides access to an external Amazon Web Services account, your request\n fails with a 400 error and returns the\n InvalidBucketAclWithObjectOwnership error code. For more information,\n see Controlling object\n ownership in the Amazon S3 User Guide.

\n
\n

There are two ways to grant the appropriate permissions using the request headers.

\n
    \n
  • \n

    Specify a canned ACL using the x-amz-acl request header. Amazon S3\n supports a set of predefined ACLs, known as canned ACLs. Each\n canned ACL has a predefined set of grantees and permissions. For more information,\n see Canned ACL.

    \n
  • \n
  • \n

    Specify access permissions explicitly using the x-amz-grant-read,\n x-amz-grant-write, x-amz-grant-read-acp,\n x-amz-grant-write-acp, and x-amz-grant-full-control\n headers. These headers map to the set of permissions Amazon S3 supports in an ACL. For\n more information, see Access control list\n (ACL) overview.

    \n

    You specify each grantee as a type=value pair, where the type is one of the\n following:

    \n
      \n
    • \n

      \n id – if the value specified is the canonical user ID of an Amazon Web Services account

      \n
    • \n
    • \n

      \n uri – if you are granting permissions to a predefined\n group

      \n
    • \n
    • \n

      \n emailAddress – if the value specified is the email address of\n an Amazon Web Services account

      \n \n

      Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

      \n
        \n
      • \n

        US East (N. Virginia)

        \n
      • \n
      • \n

        US West (N. California)

        \n
      • \n
      • \n

        US West (Oregon)

        \n
      • \n
      • \n

        Asia Pacific (Singapore)

        \n
      • \n
      • \n

        Asia Pacific (Sydney)

        \n
      • \n
      • \n

        Asia Pacific (Tokyo)

        \n
      • \n
      • \n

        Europe (Ireland)

        \n
      • \n
      • \n

        South America (SΓ£o Paulo)

        \n
      • \n
      \n

      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

      \n
      \n
    • \n
    \n

    For example, the following x-amz-grant-read header grants the Amazon Web Services accounts identified by account IDs permissions to read object data and its metadata:

    \n

    \n x-amz-grant-read: id=\"11112222333\", id=\"444455556666\" \n

    \n
  • \n
\n \n

You can use either a canned ACL or specify access permissions explicitly. You cannot\n do both.

\n
\n\n

\n Permissions\n

\n

In addition to s3:CreateBucket, the following permissions are required when your CreateBucket includes specific headers:

\n
    \n
  • \n

    \n ACLs - If your CreateBucket request specifies ACL permissions and the ACL is public-read, public-read-write, \n authenticated-read, or if you specify access permissions explicitly through any other ACL, both \n s3:CreateBucket and s3:PutBucketAcl permissions are needed. If the ACL the \n CreateBucket request is private or doesn't specify any ACLs, only s3:CreateBucket permission is needed.

    \n
  • \n
  • \n

    \n Object Lock - If\n ObjectLockEnabledForBucket is set to true in your\n CreateBucket request,\n s3:PutBucketObjectLockConfiguration and\n s3:PutBucketVersioning permissions are required.

    \n
  • \n
  • \n

    \n S3 Object Ownership - If your CreateBucket\n request includes the the x-amz-object-ownership header,\n s3:PutBucketOwnershipControls permission is required.

    \n
  • \n
\n

The following operations are related to CreateBucket:

\n ", + "smithy.api#documentation": "

Creates a new S3 bucket. To create a bucket, you must register with Amazon S3 and have a\n valid Amazon Web Services Access Key ID to authenticate requests. Anonymous requests are never allowed to\n create buckets. By creating the bucket, you become the bucket owner.

\n

Not every string is an acceptable bucket name. For information about bucket naming\n restrictions, see Bucket naming rules.

\n

If you want to create an Amazon S3 on Outposts bucket, see Create Bucket.

\n

By default, the bucket is created in the US East (N. Virginia) Region. You can\n optionally specify a Region in the request body. You might choose a Region to optimize\n latency, minimize costs, or address regulatory requirements. For example, if you reside in\n Europe, you will probably find it advantageous to create buckets in the Europe (Ireland)\n Region. For more information, see Accessing a\n bucket.

\n \n

If you send your create bucket request to the s3.amazonaws.com endpoint,\n the request goes to the us-east-1 Region. Accordingly, the signature calculations in\n Signature Version 4 must use us-east-1 as the Region, even if the location constraint in\n the request specifies another Region where the bucket is to be created. If you create a\n bucket in a Region other than US East (N. Virginia), your application must be able to\n handle 307 redirect. For more information, see Virtual hosting of buckets.

\n
\n

\n Access control lists (ACLs)\n

\n

When creating a bucket using this operation, you can optionally configure the bucket ACL to specify the accounts or\n groups that should be granted specific permissions on the bucket.

\n \n

If your CreateBucket request sets bucket owner enforced for S3 Object Ownership and\n specifies a bucket ACL that provides access to an external Amazon Web Services account, your request\n fails with a 400 error and returns the\n InvalidBucketAclWithObjectOwnership error code. For more information,\n see Controlling object\n ownership in the Amazon S3 User Guide.

\n
\n

There are two ways to grant the appropriate permissions using the request headers.

\n
    \n
  • \n

    Specify a canned ACL using the x-amz-acl request header. Amazon S3\n supports a set of predefined ACLs, known as canned ACLs. Each\n canned ACL has a predefined set of grantees and permissions. For more information,\n see Canned ACL.

    \n
  • \n
  • \n

    Specify access permissions explicitly using the x-amz-grant-read,\n x-amz-grant-write, x-amz-grant-read-acp,\n x-amz-grant-write-acp, and x-amz-grant-full-control\n headers. These headers map to the set of permissions Amazon S3 supports in an ACL. For\n more information, see Access control list\n (ACL) overview.

    \n

    You specify each grantee as a type=value pair, where the type is one of the\n following:

    \n
      \n
    • \n

      \n id – if the value specified is the canonical user ID of an Amazon Web Services account

      \n
    • \n
    • \n

      \n uri – if you are granting permissions to a predefined\n group

      \n
    • \n
    • \n

      \n emailAddress – if the value specified is the email address of\n an Amazon Web Services account

      \n \n

      Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

      \n
        \n
      • \n

        US East (N. Virginia)

        \n
      • \n
      • \n

        US West (N. California)

        \n
      • \n
      • \n

        US West (Oregon)

        \n
      • \n
      • \n

        Asia Pacific (Singapore)

        \n
      • \n
      • \n

        Asia Pacific (Sydney)

        \n
      • \n
      • \n

        Asia Pacific (Tokyo)

        \n
      • \n
      • \n

        Europe (Ireland)

        \n
      • \n
      • \n

        South America (SΓ£o Paulo)

        \n
      • \n
      \n

      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

      \n
      \n
    • \n
    \n

    For example, the following x-amz-grant-read header grants the Amazon Web Services accounts identified by account IDs permissions to read object data and its metadata:

    \n

    \n x-amz-grant-read: id=\"11112222333\", id=\"444455556666\" \n

    \n
  • \n
\n \n

You can use either a canned ACL or specify access permissions explicitly. You cannot\n do both.

\n
\n

\n Permissions\n

\n

In addition to s3:CreateBucket, the following permissions are required when your CreateBucket includes specific headers:

\n
    \n
  • \n

    \n ACLs - If your CreateBucket request specifies ACL permissions and the ACL is public-read, public-read-write, \n authenticated-read, or if you specify access permissions explicitly through any other ACL, both \n s3:CreateBucket and s3:PutBucketAcl permissions are needed. If the ACL the \n CreateBucket request is private or doesn't specify any ACLs, only s3:CreateBucket permission is needed.

    \n
  • \n
  • \n

    \n Object Lock - If\n ObjectLockEnabledForBucket is set to true in your\n CreateBucket request,\n s3:PutBucketObjectLockConfiguration and\n s3:PutBucketVersioning permissions are required.

    \n
  • \n
  • \n

    \n S3 Object Ownership - If your CreateBucket\n request includes the the x-amz-object-ownership header,\n s3:PutBucketOwnershipControls permission is required.

    \n
  • \n
\n

The following operations are related to CreateBucket:

\n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}", @@ -19033,6 +20907,9 @@ "smithy.api#httpHeader": "Location" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#CreateBucketRequest": { @@ -19113,6 +20990,9 @@ "smithy.api#httpHeader": "x-amz-object-ownership" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#CreateMultipartUpload": { @@ -19124,7 +21004,7 @@ "target": "com.amazonaws.s3#CreateMultipartUploadOutput" }, "traits": { - "smithy.api#documentation": "

This action initiates a multipart upload and returns an upload ID. This upload ID is\n used to associate all of the parts in the specific multipart upload. You specify this\n upload ID in each of your subsequent upload part requests (see UploadPart). You also include this\n upload ID in the final request to either complete or abort the multipart upload\n request.

\n\n

For more information about multipart uploads, see Multipart Upload Overview.

\n\n

If you have configured a lifecycle rule to abort incomplete multipart uploads, the\n upload must complete within the number of days specified in the bucket lifecycle\n configuration. Otherwise, the incomplete multipart upload becomes eligible for an abort\n action and Amazon S3 aborts the multipart upload. For more information, see Aborting\n Incomplete Multipart Uploads Using a Bucket Lifecycle Policy.

\n\n

For information about the permissions required to use the multipart upload API, see\n Multipart Upload and\n Permissions.

\n\n

For request signing, multipart upload is just a series of regular requests. You initiate\n a multipart upload, send one or more requests to upload parts, and then complete the\n multipart upload process. You sign each request individually. There is nothing special\n about signing multipart upload requests. For more information about signing, see Authenticating\n Requests (Amazon Web Services Signature Version 4).

\n\n \n

After you initiate a multipart upload and upload one or more parts, to stop being\n charged for storing the uploaded parts, you must either complete or abort the multipart\n upload. Amazon S3 frees up the space used to store the parts and stop charging you for\n storing them only after you either complete or abort a multipart upload.

\n
\n\n

You can optionally request server-side encryption. For server-side encryption, Amazon S3\n encrypts your data as it writes it to disks in its data centers and decrypts it when you\n access it. You can provide your own encryption key, or use Amazon Web Services KMS keys or Amazon S3-managed encryption keys. If you choose to provide\n your own encryption key, the request headers you provide in UploadPart and UploadPartCopy requests must match the headers you used in the request to\n initiate the upload by using CreateMultipartUpload.

\n

To perform a multipart upload with encryption using an Amazon Web Services KMS key, the requester must\n have permission to the kms:Decrypt and kms:GenerateDataKey*\n actions on the key. These permissions are required because Amazon S3 must decrypt and read data\n from the encrypted file parts before it completes the multipart upload. For more\n information, see Multipart upload API\n and permissions in the Amazon S3 User Guide.

\n\n

If your Identity and Access Management (IAM) user or role is in the same Amazon Web Services account\n as the KMS key, then you must have these permissions on the key policy. If your IAM\n user or role belongs to a different account than the key, then you must have the\n permissions on both the key policy and your IAM user or role.

\n\n\n

For more information, see Protecting\n Data Using Server-Side Encryption.

\n\n
\n
Access Permissions
\n
\n

When copying an object, you can optionally specify the accounts or groups that\n should be granted specific permissions on the new object. There are two ways to\n grant the permissions using the request headers:

\n
    \n
  • \n

    Specify a canned ACL with the x-amz-acl request header. For\n more information, see Canned ACL.

    \n
  • \n
  • \n

    Specify access permissions explicitly with the\n x-amz-grant-read, x-amz-grant-read-acp,\n x-amz-grant-write-acp, and\n x-amz-grant-full-control headers. These parameters map to\n the set of permissions that Amazon S3 supports in an ACL. For more information,\n see Access Control List (ACL)\n Overview.

    \n
  • \n
\n

You can use either a canned ACL or specify access permissions explicitly. You\n cannot do both.

\n
\n
Server-Side- Encryption-Specific Request Headers
\n
\n

You can optionally tell Amazon S3 to encrypt data at rest using server-side\n encryption. Server-side encryption is for data encryption at rest. Amazon S3 encrypts\n your data as it writes it to disks in its data centers and decrypts it when you\n access it. The option you use depends on whether you want to use Amazon Web Services managed\n encryption keys or provide your own encryption key.

\n
    \n
  • \n

    Use encryption keys managed by Amazon S3 or customer managed key stored\n in Amazon Web Services Key Management Service (Amazon Web Services KMS) – If you want Amazon Web Services to manage the keys\n used to encrypt data, specify the following headers in the request.

    \n
      \n
    • \n

      \n x-amz-server-side-encryption\n

      \n
    • \n
    • \n

      \n x-amz-server-side-encryption-aws-kms-key-id\n

      \n
    • \n
    • \n

      \n x-amz-server-side-encryption-context\n

      \n
    • \n
    \n \n

    If you specify x-amz-server-side-encryption:aws:kms, but\n don't provide x-amz-server-side-encryption-aws-kms-key-id,\n Amazon S3 uses the Amazon Web Services managed key in Amazon Web Services KMS to protect the data.

    \n
    \n \n

    All GET and PUT requests for an object protected by Amazon Web Services KMS fail if\n you don't make them with SSL or by using SigV4.

    \n
    \n

    For more information about server-side encryption with KMS key (SSE-KMS),\n see Protecting Data Using Server-Side Encryption with KMS keys.

    \n
  • \n
  • \n

    Use customer-provided encryption keys – If you want to manage your own\n encryption keys, provide all the following headers in the request.

    \n
      \n
    • \n

      \n x-amz-server-side-encryption-customer-algorithm\n

      \n
    • \n
    • \n

      \n x-amz-server-side-encryption-customer-key\n

      \n
    • \n
    • \n

      \n x-amz-server-side-encryption-customer-key-MD5\n

      \n
    • \n
    \n

    For more information about server-side encryption with KMS keys (SSE-KMS),\n see Protecting Data Using Server-Side Encryption with KMS keys.

    \n
  • \n
\n
\n
Access-Control-List (ACL)-Specific Request Headers
\n
\n

You also can use the following access control–related headers with this\n operation. By default, all objects are private. Only the owner has full access\n control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added\n to the access control list (ACL) on the object. For more information, see Using ACLs. With this\n operation, you can grant access permissions using one of the following two\n methods:

\n
    \n
  • \n

    Specify a canned ACL (x-amz-acl) β€” Amazon S3 supports a set of\n predefined ACLs, known as canned ACLs. Each canned ACL\n has a predefined set of grantees and permissions. For more information, see\n Canned\n ACL.

    \n
  • \n
  • \n

    Specify access permissions explicitly β€” To explicitly grant access\n permissions to specific Amazon Web Services accounts or groups, use the following headers.\n Each header maps to specific permissions that Amazon S3 supports in an ACL. For\n more information, see Access\n Control List (ACL) Overview. In the header, you specify a list of\n grantees who get the specific permission. To grant permissions explicitly,\n use:

    \n
      \n
    • \n

      \n x-amz-grant-read\n

      \n
    • \n
    • \n

      \n x-amz-grant-write\n

      \n
    • \n
    • \n

      \n x-amz-grant-read-acp\n

      \n
    • \n
    • \n

      \n x-amz-grant-write-acp\n

      \n
    • \n
    • \n

      \n x-amz-grant-full-control\n

      \n
    • \n
    \n

    You specify each grantee as a type=value pair, where the type is one of\n the following:

    \n
      \n
    • \n

      \n id – if the value specified is the canonical user ID\n of an Amazon Web Services account

      \n
    • \n
    • \n

      \n uri – if you are granting permissions to a predefined\n group

      \n
    • \n
    • \n

      \n emailAddress – if the value specified is the email\n address of an Amazon Web Services account

      \n \n

      Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

      \n
        \n
      • \n

        US East (N. Virginia)

        \n
      • \n
      • \n

        US West (N. California)

        \n
      • \n
      • \n

        US West (Oregon)

        \n
      • \n
      • \n

        Asia Pacific (Singapore)

        \n
      • \n
      • \n

        Asia Pacific (Sydney)

        \n
      • \n
      • \n

        Asia Pacific (Tokyo)

        \n
      • \n
      • \n

        Europe (Ireland)

        \n
      • \n
      • \n

        South America (SΓ£o Paulo)

        \n
      • \n
      \n

      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

      \n
      \n
    • \n
    \n

    For example, the following x-amz-grant-read header grants the Amazon Web Services accounts identified by account IDs permissions to read object data and its metadata:

    \n

    \n x-amz-grant-read: id=\"11112222333\", id=\"444455556666\" \n

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

The following operations are related to CreateMultipartUpload:

\n ", + "smithy.api#documentation": "

This action initiates a multipart upload and returns an upload ID. This upload ID is\n used to associate all of the parts in the specific multipart upload. You specify this\n upload ID in each of your subsequent upload part requests (see UploadPart). You also include this\n upload ID in the final request to either complete or abort the multipart upload\n request.

\n

For more information about multipart uploads, see Multipart Upload Overview.

\n

If you have configured a lifecycle rule to abort incomplete multipart uploads, the\n upload must complete within the number of days specified in the bucket lifecycle\n configuration. Otherwise, the incomplete multipart upload becomes eligible for an abort\n action and Amazon S3 aborts the multipart upload. For more information, see Aborting\n Incomplete Multipart Uploads Using a Bucket Lifecycle Policy.

\n

For information about the permissions required to use the multipart upload API, see\n Multipart Upload and\n Permissions.

\n

For request signing, multipart upload is just a series of regular requests. You initiate\n a multipart upload, send one or more requests to upload parts, and then complete the\n multipart upload process. You sign each request individually. There is nothing special\n about signing multipart upload requests. For more information about signing, see Authenticating\n Requests (Amazon Web Services Signature Version 4).

\n \n

After you initiate a multipart upload and upload one or more parts, to stop being\n charged for storing the uploaded parts, you must either complete or abort the multipart\n upload. Amazon S3 frees up the space used to store the parts and stop charging you for\n storing them only after you either complete or abort a multipart upload.

\n
\n

You can optionally request server-side encryption. For server-side encryption, Amazon S3\n encrypts your data as it writes it to disks in its data centers and decrypts it when you\n access it. You can provide your own encryption key, or use Amazon Web Services KMS keys or Amazon S3-managed encryption keys. If you choose to provide\n your own encryption key, the request headers you provide in UploadPart and UploadPartCopy requests must match the headers you used in the request to\n initiate the upload by using CreateMultipartUpload.

\n

To perform a multipart upload with encryption using an Amazon Web Services KMS key, the requester must\n have permission to the kms:Decrypt and kms:GenerateDataKey*\n actions on the key. These permissions are required because Amazon S3 must decrypt and read data\n from the encrypted file parts before it completes the multipart upload. For more\n information, see Multipart upload API\n and permissions in the Amazon S3 User Guide.

\n

If your Identity and Access Management (IAM) user or role is in the same Amazon Web Services account\n as the KMS key, then you must have these permissions on the key policy. If your IAM\n user or role belongs to a different account than the key, then you must have the\n permissions on both the key policy and your IAM user or role.

\n

For more information, see Protecting\n Data Using Server-Side Encryption.

\n
\n
Access Permissions
\n
\n

When copying an object, you can optionally specify the accounts or groups that\n should be granted specific permissions on the new object. There are two ways to\n grant the permissions using the request headers:

\n
    \n
  • \n

    Specify a canned ACL with the x-amz-acl request header. For\n more information, see Canned ACL.

    \n
  • \n
  • \n

    Specify access permissions explicitly with the\n x-amz-grant-read, x-amz-grant-read-acp,\n x-amz-grant-write-acp, and\n x-amz-grant-full-control headers. These parameters map to\n the set of permissions that Amazon S3 supports in an ACL. For more information,\n see Access Control List (ACL)\n Overview.

    \n
  • \n
\n

You can use either a canned ACL or specify access permissions explicitly. You\n cannot do both.

\n
\n
Server-Side- Encryption-Specific Request Headers
\n
\n

You can optionally tell Amazon S3 to encrypt data at rest using server-side\n encryption. Server-side encryption is for data encryption at rest. Amazon S3 encrypts\n your data as it writes it to disks in its data centers and decrypts it when you\n access it. The option you use depends on whether you want to use Amazon Web Services managed\n encryption keys or provide your own encryption key.

\n
    \n
  • \n

    Use encryption keys managed by Amazon S3 or customer managed key stored\n in Amazon Web Services Key Management Service (Amazon Web Services KMS) – If you want Amazon Web Services to manage the keys\n used to encrypt data, specify the following headers in the request.

    \n
      \n
    • \n

      \n x-amz-server-side-encryption\n

      \n
    • \n
    • \n

      \n x-amz-server-side-encryption-aws-kms-key-id\n

      \n
    • \n
    • \n

      \n x-amz-server-side-encryption-context\n

      \n
    • \n
    \n \n

    If you specify x-amz-server-side-encryption:aws:kms, but\n don't provide x-amz-server-side-encryption-aws-kms-key-id,\n Amazon S3 uses the Amazon Web Services managed key in Amazon Web Services KMS to protect the data.

    \n
    \n \n

    All GET and PUT requests for an object protected by Amazon Web Services KMS fail if\n you don't make them with SSL or by using SigV4.

    \n
    \n

    For more information about server-side encryption with KMS key (SSE-KMS),\n see Protecting Data Using Server-Side Encryption with KMS keys.

    \n
  • \n
  • \n

    Use customer-provided encryption keys – If you want to manage your own\n encryption keys, provide all the following headers in the request.

    \n
      \n
    • \n

      \n x-amz-server-side-encryption-customer-algorithm\n

      \n
    • \n
    • \n

      \n x-amz-server-side-encryption-customer-key\n

      \n
    • \n
    • \n

      \n x-amz-server-side-encryption-customer-key-MD5\n

      \n
    • \n
    \n

    For more information about server-side encryption with KMS keys (SSE-KMS),\n see Protecting Data Using Server-Side Encryption with KMS keys.

    \n
  • \n
\n
\n
Access-Control-List (ACL)-Specific Request Headers
\n
\n

You also can use the following access control–related headers with this\n operation. By default, all objects are private. Only the owner has full access\n control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added\n to the access control list (ACL) on the object. For more information, see Using ACLs. With this\n operation, you can grant access permissions using one of the following two\n methods:

\n
    \n
  • \n

    Specify a canned ACL (x-amz-acl) β€” Amazon S3 supports a set of\n predefined ACLs, known as canned ACLs. Each canned ACL\n has a predefined set of grantees and permissions. For more information, see\n Canned\n ACL.

    \n
  • \n
  • \n

    Specify access permissions explicitly β€” To explicitly grant access\n permissions to specific Amazon Web Services accounts or groups, use the following headers.\n Each header maps to specific permissions that Amazon S3 supports in an ACL. For\n more information, see Access\n Control List (ACL) Overview. In the header, you specify a list of\n grantees who get the specific permission. To grant permissions explicitly,\n use:

    \n
      \n
    • \n

      \n x-amz-grant-read\n

      \n
    • \n
    • \n

      \n x-amz-grant-write\n

      \n
    • \n
    • \n

      \n x-amz-grant-read-acp\n

      \n
    • \n
    • \n

      \n x-amz-grant-write-acp\n

      \n
    • \n
    • \n

      \n x-amz-grant-full-control\n

      \n
    • \n
    \n

    You specify each grantee as a type=value pair, where the type is one of\n the following:

    \n
      \n
    • \n

      \n id – if the value specified is the canonical user ID\n of an Amazon Web Services account

      \n
    • \n
    • \n

      \n uri – if you are granting permissions to a predefined\n group

      \n
    • \n
    • \n

      \n emailAddress – if the value specified is the email\n address of an Amazon Web Services account

      \n \n

      Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

      \n
        \n
      • \n

        US East (N. Virginia)

        \n
      • \n
      • \n

        US West (N. California)

        \n
      • \n
      • \n

        US West (Oregon)

        \n
      • \n
      • \n

        Asia Pacific (Singapore)

        \n
      • \n
      • \n

        Asia Pacific (Sydney)

        \n
      • \n
      • \n

        Asia Pacific (Tokyo)

        \n
      • \n
      • \n

        Europe (Ireland)

        \n
      • \n
      • \n

        South America (SΓ£o Paulo)

        \n
      • \n
      \n

      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

      \n
      \n
    • \n
    \n

    For example, the following x-amz-grant-read header grants the Amazon Web Services accounts identified by account IDs permissions to read object data and its metadata:

    \n

    \n x-amz-grant-read: id=\"11112222333\", id=\"444455556666\" \n

    \n
  • \n
\n
\n
\n

The following operations are related to CreateMultipartUpload:

\n ", "smithy.api#http": { "method": "POST", "uri": "/{Bucket}/{Key+}?uploads&x-id=CreateMultipartUpload", @@ -19138,7 +21018,7 @@ "AbortDate": { "target": "com.amazonaws.s3#AbortDate", "traits": { - "smithy.api#documentation": "

If the bucket has a lifecycle rule configured with an action to abort incomplete\n multipart uploads and the prefix in the lifecycle rule matches the object name in the\n request, the response includes this header. The header indicates when the initiated\n multipart upload becomes eligible for an abort operation. For more information, see \n Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy.

\n\n

The response also includes the x-amz-abort-rule-id header that provides the\n ID of the lifecycle configuration rule that defines this action.

", + "smithy.api#documentation": "

If the bucket has a lifecycle rule configured with an action to abort incomplete\n multipart uploads and the prefix in the lifecycle rule matches the object name in the\n request, the response includes this header. The header indicates when the initiated\n multipart upload becomes eligible for an abort operation. For more information, see \n Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy.

\n

The response also includes the x-amz-abort-rule-id header that provides the\n ID of the lifecycle configuration rule that defines this action.

", "smithy.api#httpHeader": "x-amz-abort-date" } }, @@ -19226,6 +21106,7 @@ } }, "traits": { + "smithy.api#output": {}, "smithy.api#xmlName": "InitiateMultipartUploadResult" } }, @@ -19447,6 +21328,9 @@ "smithy.api#httpHeader": "x-amz-checksum-algorithm" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#CreationDate": { @@ -19531,7 +21415,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Deletes the S3 bucket. All objects (including all object versions and delete markers) in\n the bucket must be deleted before the bucket itself can be deleted.

\n \n

\n Related Resources\n

\n ", + "smithy.api#documentation": "

Deletes the S3 bucket. All objects (including all object versions and delete markers) in\n the bucket must be deleted before the bucket itself can be deleted.

\n

\n Related Resources\n

\n ", "smithy.api#http": { "method": "DELETE", "uri": "/{Bucket}", @@ -19548,7 +21432,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Deletes an analytics configuration for the bucket (specified by the analytics\n configuration ID).

\n

To use this operation, you must have permissions to perform the\n s3:PutAnalyticsConfiguration action. The bucket owner has this permission\n by default. The bucket owner can grant this permission to others. For more information\n about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n\n

For information about the Amazon S3 analytics feature, see Amazon S3 Analytics – Storage Class\n Analysis.

\n\n

The following operations are related to\n DeleteBucketAnalyticsConfiguration:

\n ", + "smithy.api#documentation": "

Deletes an analytics configuration for the bucket (specified by the analytics\n configuration ID).

\n

To use this operation, you must have permissions to perform the\n s3:PutAnalyticsConfiguration action. The bucket owner has this permission\n by default. The bucket owner can grant this permission to others. For more information\n about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

For information about the Amazon S3 analytics feature, see Amazon S3 Analytics – Storage Class\n Analysis.

\n

The following operations are related to\n DeleteBucketAnalyticsConfiguration:

\n ", "smithy.api#http": { "method": "DELETE", "uri": "/{Bucket}?analytics", @@ -19585,6 +21469,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#DeleteBucketCors": { @@ -19596,7 +21483,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Deletes the cors configuration information set for the bucket.

\n

To use this operation, you must have permission to perform the\n s3:PutBucketCORS action. The bucket owner has this permission by default\n and can grant this permission to others.

\n

For information about cors, see Enabling\n Cross-Origin Resource Sharing in the Amazon S3 User Guide.

\n \n

\n Related Resources:\n

\n ", + "smithy.api#documentation": "

Deletes the cors configuration information set for the bucket.

\n

To use this operation, you must have permission to perform the\n s3:PutBucketCORS action. The bucket owner has this permission by default\n and can grant this permission to others.

\n

For information about cors, see Enabling\n Cross-Origin Resource Sharing in the Amazon S3 User Guide.

\n

\n Related Resources:\n

\n ", "smithy.api#http": { "method": "DELETE", "uri": "/{Bucket}?cors", @@ -19625,6 +21512,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#DeleteBucketEncryption": { @@ -19636,7 +21526,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

This implementation of the DELETE action removes default encryption from the bucket.\n For information about the Amazon S3 default encryption feature, see Amazon S3 Default Bucket Encryption in the\n Amazon S3 User Guide.

\n

To use this operation, you must have permissions to perform the\n s3:PutEncryptionConfiguration action. The bucket owner has this permission\n by default. The bucket owner can grant this permission to others. For more information\n about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to your Amazon S3\n Resources in the Amazon S3 User Guide.

\n \n

\n Related Resources\n

\n ", + "smithy.api#documentation": "

This implementation of the DELETE action removes default encryption from the bucket.\n For information about the Amazon S3 default encryption feature, see Amazon S3 Default Bucket Encryption in the\n Amazon S3 User Guide.

\n

To use this operation, you must have permissions to perform the\n s3:PutEncryptionConfiguration action. The bucket owner has this permission\n by default. The bucket owner can grant this permission to others. For more information\n about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to your Amazon S3\n Resources in the Amazon S3 User Guide.

\n

\n Related Resources\n

\n ", "smithy.api#http": { "method": "DELETE", "uri": "/{Bucket}?encryption", @@ -19665,6 +21555,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#DeleteBucketIntelligentTieringConfiguration": { @@ -19676,7 +21569,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Deletes the S3 Intelligent-Tiering configuration from the specified bucket.

\n

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.

\n

The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.

\n

For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.

\n

Operations related to\n DeleteBucketIntelligentTieringConfiguration include:

\n ", + "smithy.api#documentation": "

Deletes the S3 Intelligent-Tiering configuration from the specified bucket.

\n

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.

\n

The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.

\n

For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.

\n

Operations related to\n DeleteBucketIntelligentTieringConfiguration include:

\n ", "smithy.api#http": { "method": "DELETE", "uri": "/{Bucket}?intelligent-tiering", @@ -19706,6 +21599,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#DeleteBucketInventoryConfiguration": { @@ -19754,6 +21650,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#DeleteBucketLifecycle": { @@ -19765,7 +21664,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Deletes the lifecycle configuration from the specified bucket. Amazon S3 removes all the\n lifecycle configuration rules in the lifecycle subresource associated with the bucket. Your\n objects never expire, and Amazon S3 no longer automatically deletes any objects on the basis of\n rules contained in the deleted lifecycle configuration.

\n

To use this operation, you must have permission to perform the\n s3:PutLifecycleConfiguration action. By default, the bucket owner has this\n permission and the bucket owner can grant this permission to others.

\n\n

There is usually some time lag before lifecycle configuration deletion is fully\n propagated to all the Amazon S3 systems.

\n\n

For more information about the object expiration, see Elements to\n Describe Lifecycle Actions.

\n

Related actions include:

\n ", + "smithy.api#documentation": "

Deletes the lifecycle configuration from the specified bucket. Amazon S3 removes all the\n lifecycle configuration rules in the lifecycle subresource associated with the bucket. Your\n objects never expire, and Amazon S3 no longer automatically deletes any objects on the basis of\n rules contained in the deleted lifecycle configuration.

\n

To use this operation, you must have permission to perform the\n s3:PutLifecycleConfiguration action. By default, the bucket owner has this\n permission and the bucket owner can grant this permission to others.

\n

There is usually some time lag before lifecycle configuration deletion is fully\n propagated to all the Amazon S3 systems.

\n

For more information about the object expiration, see Elements to\n Describe Lifecycle Actions.

\n

Related actions include:

\n ", "smithy.api#http": { "method": "DELETE", "uri": "/{Bucket}?lifecycle", @@ -19794,6 +21693,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#DeleteBucketMetricsConfiguration": { @@ -19805,7 +21707,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Deletes a metrics configuration for the Amazon CloudWatch request metrics (specified by the\n metrics configuration ID) from the bucket. Note that this doesn't include the daily storage\n metrics.

\n\n

To use this operation, you must have permissions to perform the\n s3:PutMetricsConfiguration action. The bucket owner has this permission by\n default. The bucket owner can grant this permission to others. For more information about\n permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n\n

For information about CloudWatch request metrics for Amazon S3, see Monitoring Metrics with Amazon CloudWatch.

\n

The following operations are related to\n DeleteBucketMetricsConfiguration:

\n ", + "smithy.api#documentation": "

Deletes a metrics configuration for the Amazon CloudWatch request metrics (specified by the\n metrics configuration ID) from the bucket. Note that this doesn't include the daily storage\n metrics.

\n

To use this operation, you must have permissions to perform the\n s3:PutMetricsConfiguration action. The bucket owner has this permission by\n default. The bucket owner can grant this permission to others. For more information about\n permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

For information about CloudWatch request metrics for Amazon S3, see Monitoring Metrics with Amazon CloudWatch.

\n

The following operations are related to\n DeleteBucketMetricsConfiguration:

\n ", "smithy.api#http": { "method": "DELETE", "uri": "/{Bucket}?metrics", @@ -19842,6 +21744,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#DeleteBucketOwnershipControls": { @@ -19882,6 +21787,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#DeleteBucketPolicy": { @@ -19893,7 +21801,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

This implementation of the DELETE action uses the policy subresource to delete the\n policy of a specified bucket. If you are using an identity other than the root user of the\n Amazon Web Services account that owns the bucket, the calling identity must have the\n DeleteBucketPolicy permissions on the specified bucket and belong to the\n bucket owner's account to use this operation.

\n\n

If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a 403\n Access Denied error. If you have the correct permissions, but you're not using an\n identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not\n Allowed error.

\n\n \n

As a security precaution, the root user of the Amazon Web Services account that owns a bucket can\n always use this operation, even if the policy explicitly denies the root user the\n ability to perform this action.

\n
\n\n

For more information about bucket policies, see Using Bucket Policies and\n UserPolicies.

\n

The following operations are related to DeleteBucketPolicy\n

\n ", + "smithy.api#documentation": "

This implementation of the DELETE action uses the policy subresource to delete the\n policy of a specified bucket. If you are using an identity other than the root user of the\n Amazon Web Services account that owns the bucket, the calling identity must have the\n DeleteBucketPolicy permissions on the specified bucket and belong to the\n bucket owner's account to use this operation.

\n

If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a 403\n Access Denied error. If you have the correct permissions, but you're not using an\n identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not\n Allowed error.

\n \n

As a security precaution, the root user of the Amazon Web Services account that owns a bucket can\n always use this operation, even if the policy explicitly denies the root user the\n ability to perform this action.

\n
\n

For more information about bucket policies, see Using Bucket Policies and\n UserPolicies.

\n

The following operations are related to DeleteBucketPolicy\n

\n ", "smithy.api#http": { "method": "DELETE", "uri": "/{Bucket}?policy", @@ -19922,6 +21830,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#DeleteBucketReplication": { @@ -19933,7 +21844,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Deletes the replication configuration from the bucket.

\n

To use this operation, you must have permissions to perform the\n s3:PutReplicationConfiguration action. The bucket owner has these\n permissions by default and can grant it to others. For more information about permissions,\n see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n \n

It can take a while for the deletion of a replication configuration to fully\n propagate.

\n
\n\n

For information about replication configuration, see Replication in the Amazon S3 User Guide.

\n\n

The following operations are related to DeleteBucketReplication:

\n ", + "smithy.api#documentation": "

Deletes the replication configuration from the bucket.

\n

To use this operation, you must have permissions to perform the\n s3:PutReplicationConfiguration action. The bucket owner has these\n permissions by default and can grant it to others. For more information about permissions,\n see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n \n

It can take a while for the deletion of a replication configuration to fully\n propagate.

\n
\n

For information about replication configuration, see Replication in the Amazon S3 User Guide.

\n

The following operations are related to DeleteBucketReplication:

\n ", "smithy.api#http": { "method": "DELETE", "uri": "/{Bucket}?replication", @@ -19962,6 +21873,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#DeleteBucketRequest": { @@ -19985,6 +21899,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#DeleteBucketTagging": { @@ -19996,7 +21913,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Deletes the tags from the bucket.

\n\n

To use this operation, you must have permission to perform the\n s3:PutBucketTagging action. By default, the bucket owner has this\n permission and can grant this permission to others.

\n

The following operations are related to DeleteBucketTagging:

\n ", + "smithy.api#documentation": "

Deletes the tags from the bucket.

\n

To use this operation, you must have permission to perform the\n s3:PutBucketTagging action. By default, the bucket owner has this\n permission and can grant this permission to others.

\n

The following operations are related to DeleteBucketTagging:

\n ", "smithy.api#http": { "method": "DELETE", "uri": "/{Bucket}?tagging", @@ -20025,6 +21942,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#DeleteBucketWebsite": { @@ -20036,7 +21956,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

This action removes the website configuration for a bucket. Amazon S3 returns a 200\n OK response upon successfully deleting a website configuration on the specified\n bucket. You will get a 200 OK response if the website configuration you are\n trying to delete does not exist on the bucket. Amazon S3 returns a 404 response if\n the bucket specified in the request does not exist.

\n\n

This DELETE action requires the S3:DeleteBucketWebsite permission. By\n default, only the bucket owner can delete the website configuration attached to a bucket.\n However, bucket owners can grant other users permission to delete the website configuration\n by writing a bucket policy granting them the S3:DeleteBucketWebsite\n permission.

\n\n

For more information about hosting websites, see Hosting Websites on Amazon S3.

\n\n

The following operations are related to DeleteBucketWebsite:

\n ", + "smithy.api#documentation": "

This action removes the website configuration for a bucket. Amazon S3 returns a 200\n OK response upon successfully deleting a website configuration on the specified\n bucket. You will get a 200 OK response if the website configuration you are\n trying to delete does not exist on the bucket. Amazon S3 returns a 404 response if\n the bucket specified in the request does not exist.

\n

This DELETE action requires the S3:DeleteBucketWebsite permission. By\n default, only the bucket owner can delete the website configuration attached to a bucket.\n However, bucket owners can grant other users permission to delete the website configuration\n by writing a bucket policy granting them the S3:DeleteBucketWebsite\n permission.

\n

For more information about hosting websites, see Hosting Websites on Amazon S3.

\n

The following operations are related to DeleteBucketWebsite:

\n ", "smithy.api#http": { "method": "DELETE", "uri": "/{Bucket}?website", @@ -20065,6 +21985,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#DeleteMarker": { @@ -20161,7 +22084,7 @@ "target": "com.amazonaws.s3#DeleteObjectOutput" }, "traits": { - "smithy.api#documentation": "

Removes the null version (if there is one) of an object and inserts a delete marker,\n which becomes the latest version of the object. If there isn't a null version, Amazon S3 does\n not remove any objects but will still respond that the command was successful.

\n\n

To remove a specific version, you must be the bucket owner and you must use the version\n Id subresource. Using this subresource permanently deletes the version. If the object\n deleted is a delete marker, Amazon S3 sets the response header,\n x-amz-delete-marker, to true.

\n\n

If the object you want to delete is in a bucket where the bucket versioning\n configuration is MFA Delete enabled, you must include the x-amz-mfa request\n header in the DELETE versionId request. Requests that include\n x-amz-mfa must use HTTPS.

\n\n

For more information about MFA Delete, see Using MFA Delete. To see sample requests that use versioning, see Sample Request.

\n\n

You can delete objects by explicitly calling DELETE Object or configure its\n lifecycle (PutBucketLifecycle) to\n enable Amazon S3 to remove them for you. If you want to block users or accounts from removing or\n deleting objects from your bucket, you must deny them the s3:DeleteObject,\n s3:DeleteObjectVersion, and s3:PutLifeCycleConfiguration\n actions.

\n\n

The following action is related to DeleteObject:

\n ", + "smithy.api#documentation": "

Removes the null version (if there is one) of an object and inserts a delete marker,\n which becomes the latest version of the object. If there isn't a null version, Amazon S3 does\n not remove any objects but will still respond that the command was successful.

\n

To remove a specific version, you must be the bucket owner and you must use the version\n Id subresource. Using this subresource permanently deletes the version. If the object\n deleted is a delete marker, Amazon S3 sets the response header,\n x-amz-delete-marker, to true.

\n

If the object you want to delete is in a bucket where the bucket versioning\n configuration is MFA Delete enabled, you must include the x-amz-mfa request\n header in the DELETE versionId request. Requests that include\n x-amz-mfa must use HTTPS.

\n

For more information about MFA Delete, see Using MFA Delete. To see sample requests that use versioning, see Sample Request.

\n

You can delete objects by explicitly calling DELETE Object or configure its\n lifecycle (PutBucketLifecycle) to\n enable Amazon S3 to remove them for you. If you want to block users or accounts from removing or\n deleting objects from your bucket, you must deny them the s3:DeleteObject,\n s3:DeleteObjectVersion, and s3:PutLifeCycleConfiguration\n actions.

\n

The following action is related to DeleteObject:

\n ", "smithy.api#http": { "method": "DELETE", "uri": "/{Bucket}/{Key+}?x-id=DeleteObject", @@ -20193,6 +22116,9 @@ "smithy.api#httpHeader": "x-amz-request-charged" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#DeleteObjectRequest": { @@ -20252,6 +22178,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#DeleteObjectTagging": { @@ -20263,7 +22192,7 @@ "target": "com.amazonaws.s3#DeleteObjectTaggingOutput" }, "traits": { - "smithy.api#documentation": "

Removes the entire tag set from the specified object. For more information about\n managing object tags, see Object\n Tagging.

\n\n

To use this operation, you must have permission to perform the\n s3:DeleteObjectTagging action.

\n\n

To delete tags of a specific object version, add the versionId query\n parameter in the request. You will need permission for the\n s3:DeleteObjectVersionTagging action.

\n\n

The following operations are related to\n DeleteBucketMetricsConfiguration:

\n ", + "smithy.api#documentation": "

Removes the entire tag set from the specified object. For more information about\n managing object tags, see Object\n Tagging.

\n

To use this operation, you must have permission to perform the\n s3:DeleteObjectTagging action.

\n

To delete tags of a specific object version, add the versionId query\n parameter in the request. You will need permission for the\n s3:DeleteObjectVersionTagging action.

\n

The following operations are related to\n DeleteBucketMetricsConfiguration:

\n ", "smithy.api#http": { "method": "DELETE", "uri": "/{Bucket}/{Key+}?tagging", @@ -20281,6 +22210,9 @@ "smithy.api#httpHeader": "x-amz-version-id" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#DeleteObjectTaggingRequest": { @@ -20319,6 +22251,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#DeleteObjects": { @@ -20334,7 +22269,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "

This action enables you to delete multiple objects from a bucket using a single HTTP\n request. If you know the object keys that you want to delete, then this action provides\n a suitable alternative to sending individual delete requests, reducing per-request\n overhead.

\n\n

The request contains a list of up to 1000 keys that you want to delete. In the XML, you\n provide the object key names, and optionally, version IDs if you want to delete a specific\n version of the object from a versioning-enabled bucket. For each key, Amazon S3 performs a\n delete action and returns the result of that delete, success, or failure, in the\n response. Note that if the object specified in the request is not found, Amazon S3 returns the\n result as deleted.

\n\n

The action supports two modes for the response: verbose and quiet. By default, the\n action uses verbose mode in which the response includes the result of deletion of each\n key in your request. In quiet mode the response includes only keys where the delete\n action encountered an error. For a successful deletion, the action does not return\n any information about the delete in the response body.

\n\n

When performing this action on an MFA Delete enabled bucket, that attempts to delete\n any versioned objects, you must include an MFA token. If you do not provide one, the entire\n request will fail, even if there are non-versioned objects you are trying to delete. If you\n provide an invalid token, whether there are versioned keys in the request or not, the\n entire Multi-Object Delete request will fail. For information about MFA Delete, see MFA\n Delete.

\n\n

Finally, the Content-MD5 header is required for all Multi-Object Delete requests. Amazon\n S3 uses the header value to ensure that your request body has not been altered in\n transit.

\n\n

The following operations are related to DeleteObjects:

\n ", + "smithy.api#documentation": "

This action enables you to delete multiple objects from a bucket using a single HTTP\n request. If you know the object keys that you want to delete, then this action provides\n a suitable alternative to sending individual delete requests, reducing per-request\n overhead.

\n

The request contains a list of up to 1000 keys that you want to delete. In the XML, you\n provide the object key names, and optionally, version IDs if you want to delete a specific\n version of the object from a versioning-enabled bucket. For each key, Amazon S3 performs a\n delete action and returns the result of that delete, success, or failure, in the\n response. Note that if the object specified in the request is not found, Amazon S3 returns the\n result as deleted.

\n

The action supports two modes for the response: verbose and quiet. By default, the\n action uses verbose mode in which the response includes the result of deletion of each\n key in your request. In quiet mode the response includes only keys where the delete\n action encountered an error. For a successful deletion, the action does not return\n any information about the delete in the response body.

\n

When performing this action on an MFA Delete enabled bucket, that attempts to delete\n any versioned objects, you must include an MFA token. If you do not provide one, the entire\n request will fail, even if there are non-versioned objects you are trying to delete. If you\n provide an invalid token, whether there are versioned keys in the request or not, the\n entire Multi-Object Delete request will fail. For information about MFA Delete, see MFA\n Delete.

\n

Finally, the Content-MD5 header is required for all Multi-Object Delete requests. Amazon\n S3 uses the header value to ensure that your request body has not been altered in\n transit.

\n

The following operations are related to DeleteObjects:

\n ", "smithy.api#http": { "method": "POST", "uri": "/{Bucket}?delete&x-id=DeleteObjects", @@ -20368,6 +22303,7 @@ } }, "traits": { + "smithy.api#output": {}, "smithy.api#xmlName": "DeleteResult" } }, @@ -20425,10 +22361,13 @@ "ChecksumAlgorithm": { "target": "com.amazonaws.s3#ChecksumAlgorithm", "traits": { - "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

\n

This checksum algorithm must be the same for all parts and it match the checksum\n value supplied in the CreateMultipartUpload request.

", + "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

\n

This checksum algorithm must be the same for all parts and it match the checksum\n value supplied in the CreateMultipartUpload request.

", "smithy.api#httpHeader": "x-amz-sdk-checksum-algorithm" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#DeletePublicAccessBlock": { @@ -20440,7 +22379,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Removes the PublicAccessBlock configuration for an Amazon S3 bucket. To use this\n operation, you must have the s3:PutBucketPublicAccessBlock permission. For\n more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n\n

The following operations are related to DeletePublicAccessBlock:

\n ", + "smithy.api#documentation": "

Removes the PublicAccessBlock configuration for an Amazon S3 bucket. To use this\n operation, you must have the s3:PutBucketPublicAccessBlock permission. For\n more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

The following operations are related to DeletePublicAccessBlock:

\n ", "smithy.api#http": { "method": "DELETE", "uri": "/{Bucket}?publicAccessBlock", @@ -20469,6 +22408,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#DeletedObject": { @@ -20985,7 +22927,7 @@ "target": "com.amazonaws.s3#GetBucketAccelerateConfigurationOutput" }, "traits": { - "smithy.api#documentation": "

This implementation of the GET action uses the accelerate subresource to\n return the Transfer Acceleration state of a bucket, which is either Enabled or\n Suspended. Amazon S3 Transfer Acceleration is a bucket-level feature that\n enables you to perform faster data transfers to and from Amazon S3.

\n

To use this operation, you must have permission to perform the\n s3:GetAccelerateConfiguration action. The bucket owner has this permission\n by default. The bucket owner can grant this permission to others. For more information\n about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to your Amazon S3\n Resources in the Amazon S3 User Guide.

\n

You set the Transfer Acceleration state of an existing bucket to Enabled or\n Suspended by using the PutBucketAccelerateConfiguration operation.

\n

A GET accelerate request does not return a state value for a bucket that\n has no transfer acceleration state. A bucket has no Transfer Acceleration state if a state\n has never been set on the bucket.

\n \n

For more information about transfer acceleration, see Transfer Acceleration in the\n Amazon S3 User Guide.

\n

\n Related Resources\n

\n ", + "smithy.api#documentation": "

This implementation of the GET action uses the accelerate subresource to\n return the Transfer Acceleration state of a bucket, which is either Enabled or\n Suspended. Amazon S3 Transfer Acceleration is a bucket-level feature that\n enables you to perform faster data transfers to and from Amazon S3.

\n

To use this operation, you must have permission to perform the\n s3:GetAccelerateConfiguration action. The bucket owner has this permission\n by default. The bucket owner can grant this permission to others. For more information\n about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to your Amazon S3\n Resources in the Amazon S3 User Guide.

\n

You set the Transfer Acceleration state of an existing bucket to Enabled or\n Suspended by using the PutBucketAccelerateConfiguration operation.

\n

A GET accelerate request does not return a state value for a bucket that\n has no transfer acceleration state. A bucket has no Transfer Acceleration state if a state\n has never been set on the bucket.

\n

For more information about transfer acceleration, see Transfer Acceleration in the\n Amazon S3 User Guide.

\n

\n Related Resources\n

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?accelerate", @@ -21004,6 +22946,7 @@ } }, "traits": { + "smithy.api#output": {}, "smithy.api#xmlName": "AccelerateConfiguration" } }, @@ -21028,6 +22971,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#GetBucketAcl": { @@ -21039,7 +22985,7 @@ "target": "com.amazonaws.s3#GetBucketAclOutput" }, "traits": { - "smithy.api#documentation": "

This implementation of the GET action uses the acl\n subresource to return the access control list (ACL) of a bucket. To use GET to\n return the ACL of the bucket, you must have READ_ACP access to the bucket. If\n READ_ACP permission is granted to the anonymous user, you can return the\n ACL of the bucket without using an authorization header.

\n \n

If your bucket uses the bucket owner enforced setting for S3 Object Ownership, \n requests to read ACLs are still supported and return the bucket-owner-full-control \n ACL with the owner being the account that created the bucket. For more information, see \n \n Controlling object ownership and disabling ACLs in the Amazon S3 User Guide.

\n
\n \n

\n Related Resources\n

\n ", + "smithy.api#documentation": "

This implementation of the GET action uses the acl\n subresource to return the access control list (ACL) of a bucket. To use GET to\n return the ACL of the bucket, you must have READ_ACP access to the bucket. If\n READ_ACP permission is granted to the anonymous user, you can return the\n ACL of the bucket without using an authorization header.

\n \n

If your bucket uses the bucket owner enforced setting for S3 Object Ownership, \n requests to read ACLs are still supported and return the bucket-owner-full-control \n ACL with the owner being the account that created the bucket. For more information, see \n \n Controlling object ownership and disabling ACLs in the Amazon S3 User Guide.

\n
\n

\n Related Resources\n

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?acl", @@ -21065,6 +23011,7 @@ } }, "traits": { + "smithy.api#output": {}, "smithy.api#xmlName": "AccessControlPolicy" } }, @@ -21089,6 +23036,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#GetBucketAnalyticsConfiguration": { @@ -21100,7 +23050,7 @@ "target": "com.amazonaws.s3#GetBucketAnalyticsConfigurationOutput" }, "traits": { - "smithy.api#documentation": "

This implementation of the GET action returns an analytics configuration (identified\n by the analytics configuration ID) from the bucket.

\n

To use this operation, you must have permissions to perform the\n s3:GetAnalyticsConfiguration action. The bucket owner has this permission\n by default. The bucket owner can grant this permission to others. For more information\n about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources in the Amazon S3 User Guide.

\n

For information about Amazon S3 analytics feature, see Amazon S3 Analytics – Storage Class\n Analysis in the Amazon S3 User Guide.

\n \n

\n Related Resources\n

\n ", + "smithy.api#documentation": "

This implementation of the GET action returns an analytics configuration (identified\n by the analytics configuration ID) from the bucket.

\n

To use this operation, you must have permissions to perform the\n s3:GetAnalyticsConfiguration action. The bucket owner has this permission\n by default. The bucket owner can grant this permission to others. For more information\n about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources in the Amazon S3 User Guide.

\n

For information about Amazon S3 analytics feature, see Amazon S3 Analytics – Storage Class\n Analysis in the Amazon S3 User Guide.

\n

\n Related Resources\n

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?analytics&x-id=GetBucketAnalyticsConfiguration", @@ -21118,6 +23068,9 @@ "smithy.api#httpPayload": {} } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#GetBucketAnalyticsConfigurationRequest": { @@ -21149,6 +23102,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#GetBucketCors": { @@ -21160,7 +23116,7 @@ "target": "com.amazonaws.s3#GetBucketCorsOutput" }, "traits": { - "smithy.api#documentation": "

Returns the Cross-Origin Resource Sharing (CORS) configuration information set for the\n bucket.

\n\n

To use this operation, you must have permission to perform the\n s3:GetBucketCORS action. By default, the bucket owner has this permission\n and can grant it to others.

\n\n

For more information about CORS, see Enabling Cross-Origin Resource\n Sharing.

\n\n

The following operations are related to GetBucketCors:

\n ", + "smithy.api#documentation": "

Returns the Cross-Origin Resource Sharing (CORS) configuration information set for the\n bucket.

\n

To use this operation, you must have permission to perform the\n s3:GetBucketCORS action. By default, the bucket owner has this permission\n and can grant it to others.

\n

For more information about CORS, see Enabling Cross-Origin Resource\n Sharing.

\n

The following operations are related to GetBucketCors:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?cors", @@ -21181,6 +23137,7 @@ } }, "traits": { + "smithy.api#output": {}, "smithy.api#xmlName": "CORSConfiguration" } }, @@ -21205,6 +23162,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#GetBucketEncryption": { @@ -21233,6 +23193,9 @@ "smithy.api#httpPayload": {} } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#GetBucketEncryptionRequest": { @@ -21256,6 +23219,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#GetBucketIntelligentTieringConfiguration": { @@ -21267,7 +23233,7 @@ "target": "com.amazonaws.s3#GetBucketIntelligentTieringConfigurationOutput" }, "traits": { - "smithy.api#documentation": "

Gets the S3 Intelligent-Tiering configuration from the specified bucket.

\n

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.

\n

The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.

\n

For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.

\n

Operations related to\n GetBucketIntelligentTieringConfiguration include:

\n ", + "smithy.api#documentation": "

Gets the S3 Intelligent-Tiering configuration from the specified bucket.

\n

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.

\n

The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.

\n

For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.

\n

Operations related to\n GetBucketIntelligentTieringConfiguration include:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?intelligent-tiering&x-id=GetBucketIntelligentTieringConfiguration", @@ -21285,6 +23251,9 @@ "smithy.api#httpPayload": {} } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#GetBucketIntelligentTieringConfigurationRequest": { @@ -21309,6 +23278,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#GetBucketInventoryConfiguration": { @@ -21320,7 +23292,7 @@ "target": "com.amazonaws.s3#GetBucketInventoryConfigurationOutput" }, "traits": { - "smithy.api#documentation": "

Returns an inventory configuration (identified by the inventory configuration ID) from\n the bucket.

\n\n

To use this operation, you must have permissions to perform the\n s3:GetInventoryConfiguration action. The bucket owner has this permission\n by default and can grant this permission to others. For more information about permissions,\n see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n\n

For information about the Amazon S3 inventory feature, see Amazon S3 Inventory.

\n\n

The following operations are related to\n GetBucketInventoryConfiguration:

\n ", + "smithy.api#documentation": "

Returns an inventory configuration (identified by the inventory configuration ID) from\n the bucket.

\n

To use this operation, you must have permissions to perform the\n s3:GetInventoryConfiguration action. The bucket owner has this permission\n by default and can grant this permission to others. For more information about permissions,\n see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

For information about the Amazon S3 inventory feature, see Amazon S3 Inventory.

\n

The following operations are related to\n GetBucketInventoryConfiguration:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?inventory&x-id=GetBucketInventoryConfiguration", @@ -21338,6 +23310,9 @@ "smithy.api#httpPayload": {} } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#GetBucketInventoryConfigurationRequest": { @@ -21369,6 +23344,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#GetBucketLifecycleConfiguration": { @@ -21380,7 +23358,7 @@ "target": "com.amazonaws.s3#GetBucketLifecycleConfigurationOutput" }, "traits": { - "smithy.api#documentation": "\n

Bucket lifecycle configuration now supports specifying a lifecycle rule using an\n object key name prefix, one or more object tags, or a combination of both. Accordingly,\n this section describes the latest API. The response describes the new filter element\n that you can use to specify a filter to select a subset of objects to which the rule\n applies. If you are using a previous version of the lifecycle configuration, it still\n works. For the earlier action, see GetBucketLifecycle.

\n
\n

Returns the lifecycle configuration information set on the bucket. For information about\n lifecycle configuration, see Object\n Lifecycle Management.

\n\n

To use this operation, you must have permission to perform the\n s3:GetLifecycleConfiguration action. The bucket owner has this permission,\n by default. The bucket owner can grant this permission to others. For more information\n about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n\n

\n GetBucketLifecycleConfiguration has the following special error:

\n
    \n
  • \n

    Error code: NoSuchLifecycleConfiguration\n

    \n
      \n
    • \n

      Description: The lifecycle configuration does not exist.

      \n
    • \n
    • \n

      HTTP Status Code: 404 Not Found

      \n
    • \n
    • \n

      SOAP Fault Code Prefix: Client

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

The following operations are related to\n GetBucketLifecycleConfiguration:

\n ", + "smithy.api#documentation": "\n

Bucket lifecycle configuration now supports specifying a lifecycle rule using an\n object key name prefix, one or more object tags, or a combination of both. Accordingly,\n this section describes the latest API. The response describes the new filter element\n that you can use to specify a filter to select a subset of objects to which the rule\n applies. If you are using a previous version of the lifecycle configuration, it still\n works. For the earlier action, see GetBucketLifecycle.

\n
\n

Returns the lifecycle configuration information set on the bucket. For information about\n lifecycle configuration, see Object\n Lifecycle Management.

\n

To use this operation, you must have permission to perform the\n s3:GetLifecycleConfiguration action. The bucket owner has this permission,\n by default. The bucket owner can grant this permission to others. For more information\n about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

\n GetBucketLifecycleConfiguration has the following special error:

\n
    \n
  • \n

    Error code: NoSuchLifecycleConfiguration\n

    \n
      \n
    • \n

      Description: The lifecycle configuration does not exist.

      \n
    • \n
    • \n

      HTTP Status Code: 404 Not Found

      \n
    • \n
    • \n

      SOAP Fault Code Prefix: Client

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

The following operations are related to\n GetBucketLifecycleConfiguration:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?lifecycle", @@ -21401,6 +23379,7 @@ } }, "traits": { + "smithy.api#output": {}, "smithy.api#xmlName": "LifecycleConfiguration" } }, @@ -21425,6 +23404,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#GetBucketLocation": { @@ -21437,7 +23419,7 @@ }, "traits": { "aws.customizations#s3UnwrappedXmlOutput": {}, - "smithy.api#documentation": "

Returns the Region the bucket resides in. You set the bucket's Region using the\n LocationConstraint request parameter in a CreateBucket\n request. For more information, see CreateBucket.

\n\n

To use this implementation of the operation, you must be the bucket owner.

\n \n

To use this API against an access point, provide the alias of the access point in place of the bucket name.

\n\n

The following operations are related to GetBucketLocation:

\n ", + "smithy.api#documentation": "

Returns the Region the bucket resides in. You set the bucket's Region using the\n LocationConstraint request parameter in a CreateBucket\n request. For more information, see CreateBucket.

\n

To use this implementation of the operation, you must be the bucket owner.

\n

To use this API against an access point, provide the alias of the access point in place of the bucket name.

\n

The following operations are related to GetBucketLocation:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?location", @@ -21456,6 +23438,7 @@ } }, "traits": { + "smithy.api#output": {}, "smithy.api#xmlName": "LocationConstraint" } }, @@ -21480,6 +23463,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#GetBucketLogging": { @@ -21491,7 +23477,7 @@ "target": "com.amazonaws.s3#GetBucketLoggingOutput" }, "traits": { - "smithy.api#documentation": "

Returns the logging status of a bucket and the permissions users have to view and modify\n that status. To use GET, you must be the bucket owner.

\n\n

The following operations are related to GetBucketLogging:

\n ", + "smithy.api#documentation": "

Returns the logging status of a bucket and the permissions users have to view and modify\n that status. To use GET, you must be the bucket owner.

\n

The following operations are related to GetBucketLogging:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?logging", @@ -21507,6 +23493,7 @@ } }, "traits": { + "smithy.api#output": {}, "smithy.api#xmlName": "BucketLoggingStatus" } }, @@ -21531,6 +23518,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#GetBucketMetricsConfiguration": { @@ -21542,7 +23532,7 @@ "target": "com.amazonaws.s3#GetBucketMetricsConfigurationOutput" }, "traits": { - "smithy.api#documentation": "

Gets a metrics configuration (specified by the metrics configuration ID) from the\n bucket. Note that this doesn't include the daily storage metrics.

\n\n

To use this operation, you must have permissions to perform the\n s3:GetMetricsConfiguration action. The bucket owner has this permission by\n default. The bucket owner can grant this permission to others. For more information about\n permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n\n

For information about CloudWatch request metrics for Amazon S3, see Monitoring Metrics with Amazon\n CloudWatch.

\n\n

The following operations are related to\n GetBucketMetricsConfiguration:

\n ", + "smithy.api#documentation": "

Gets a metrics configuration (specified by the metrics configuration ID) from the\n bucket. Note that this doesn't include the daily storage metrics.

\n

To use this operation, you must have permissions to perform the\n s3:GetMetricsConfiguration action. The bucket owner has this permission by\n default. The bucket owner can grant this permission to others. For more information about\n permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

For information about CloudWatch request metrics for Amazon S3, see Monitoring Metrics with Amazon\n CloudWatch.

\n

The following operations are related to\n GetBucketMetricsConfiguration:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?metrics&x-id=GetBucketMetricsConfiguration", @@ -21560,6 +23550,9 @@ "smithy.api#httpPayload": {} } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#GetBucketMetricsConfigurationRequest": { @@ -21591,6 +23584,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#GetBucketNotificationConfiguration": { @@ -21602,7 +23598,7 @@ "target": "com.amazonaws.s3#NotificationConfiguration" }, "traits": { - "smithy.api#documentation": "

Returns the notification configuration of a bucket.

\n

If notifications are not enabled on the bucket, the action returns an empty\n NotificationConfiguration element.

\n\n

By default, you must be the bucket owner to read the notification configuration of a\n bucket. However, the bucket owner can use a bucket policy to grant permission to other\n users to read this configuration with the s3:GetBucketNotification\n permission.

\n\n

For more information about setting and reading the notification configuration on a\n bucket, see Setting Up Notification of\n Bucket Events. For more information about bucket policies, see Using Bucket Policies.

\n\n

The following action is related to GetBucketNotification:

\n ", + "smithy.api#documentation": "

Returns the notification configuration of a bucket.

\n

If notifications are not enabled on the bucket, the action returns an empty\n NotificationConfiguration element.

\n

By default, you must be the bucket owner to read the notification configuration of a\n bucket. However, the bucket owner can use a bucket policy to grant permission to other\n users to read this configuration with the s3:GetBucketNotification\n permission.

\n

For more information about setting and reading the notification configuration on a\n bucket, see Setting Up Notification of\n Bucket Events. For more information about bucket policies, see Using Bucket Policies.

\n

The following action is related to GetBucketNotification:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?notification", @@ -21631,6 +23627,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#GetBucketOwnershipControls": { @@ -21660,6 +23659,9 @@ "smithy.api#httpPayload": {} } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#GetBucketOwnershipControlsRequest": { @@ -21683,6 +23685,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#GetBucketPolicy": { @@ -21694,7 +23699,7 @@ "target": "com.amazonaws.s3#GetBucketPolicyOutput" }, "traits": { - "smithy.api#documentation": "

Returns the policy of a specified bucket. If you are using an identity other than the\n root user of the Amazon Web Services account that owns the bucket, the calling identity must have the\n GetBucketPolicy permissions on the specified bucket and belong to the\n bucket owner's account in order to use this operation.

\n\n

If you don't have GetBucketPolicy permissions, Amazon S3 returns a 403\n Access Denied error. If you have the correct permissions, but you're not using an\n identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not\n Allowed error.

\n\n \n

As a security precaution, the root user of the Amazon Web Services account that owns a bucket can\n always use this operation, even if the policy explicitly denies the root user the\n ability to perform this action.

\n
\n\n

For more information about bucket policies, see Using Bucket Policies and User\n Policies.

\n\n

The following action is related to GetBucketPolicy:

\n ", + "smithy.api#documentation": "

Returns the policy of a specified bucket. If you are using an identity other than the\n root user of the Amazon Web Services account that owns the bucket, the calling identity must have the\n GetBucketPolicy permissions on the specified bucket and belong to the\n bucket owner's account in order to use this operation.

\n

If you don't have GetBucketPolicy permissions, Amazon S3 returns a 403\n Access Denied error. If you have the correct permissions, but you're not using an\n identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not\n Allowed error.

\n \n

As a security precaution, the root user of the Amazon Web Services account that owns a bucket can\n always use this operation, even if the policy explicitly denies the root user the\n ability to perform this action.

\n
\n

For more information about bucket policies, see Using Bucket Policies and User\n Policies.

\n

The following action is related to GetBucketPolicy:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?policy", @@ -21712,6 +23717,9 @@ "smithy.api#httpPayload": {} } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#GetBucketPolicyRequest": { @@ -21735,6 +23743,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#GetBucketPolicyStatus": { @@ -21746,7 +23757,7 @@ "target": "com.amazonaws.s3#GetBucketPolicyStatusOutput" }, "traits": { - "smithy.api#documentation": "

Retrieves the policy status for an Amazon S3 bucket, indicating whether the bucket is public.\n In order to use this operation, you must have the s3:GetBucketPolicyStatus\n permission. For more information about Amazon S3 permissions, see Specifying Permissions in a\n Policy.

\n\n

For more information about when Amazon S3 considers a bucket public, see The Meaning of \"Public\".

\n\n

The following operations are related to GetBucketPolicyStatus:

\n ", + "smithy.api#documentation": "

Retrieves the policy status for an Amazon S3 bucket, indicating whether the bucket is public.\n In order to use this operation, you must have the s3:GetBucketPolicyStatus\n permission. For more information about Amazon S3 permissions, see Specifying Permissions in a\n Policy.

\n

For more information about when Amazon S3 considers a bucket public, see The Meaning of \"Public\".

\n

The following operations are related to GetBucketPolicyStatus:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?policyStatus", @@ -21764,6 +23775,9 @@ "smithy.api#httpPayload": {} } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#GetBucketPolicyStatusRequest": { @@ -21787,6 +23801,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#GetBucketReplication": { @@ -21798,7 +23815,7 @@ "target": "com.amazonaws.s3#GetBucketReplicationOutput" }, "traits": { - "smithy.api#documentation": "

Returns the replication configuration of a bucket.

\n \n

It can take a while to propagate the put or delete a replication configuration to\n all Amazon S3 systems. Therefore, a get request soon after put or delete can return a wrong\n result.

\n
\n

For information about replication configuration, see Replication in the\n Amazon S3 User Guide.

\n\n

This action requires permissions for the s3:GetReplicationConfiguration\n action. For more information about permissions, see Using Bucket Policies and User\n Policies.

\n\n

If you include the Filter element in a replication configuration, you must\n also include the DeleteMarkerReplication and Priority elements.\n The response also returns those elements.

\n\n

For information about GetBucketReplication errors, see List of\n replication-related error codes\n

\n\n\n

The following operations are related to GetBucketReplication:

\n ", + "smithy.api#documentation": "

Returns the replication configuration of a bucket.

\n \n

It can take a while to propagate the put or delete a replication configuration to\n all Amazon S3 systems. Therefore, a get request soon after put or delete can return a wrong\n result.

\n
\n

For information about replication configuration, see Replication in the\n Amazon S3 User Guide.

\n

This action requires permissions for the s3:GetReplicationConfiguration\n action. For more information about permissions, see Using Bucket Policies and User\n Policies.

\n

If you include the Filter element in a replication configuration, you must\n also include the DeleteMarkerReplication and Priority elements.\n The response also returns those elements.

\n

For information about GetBucketReplication errors, see List of\n replication-related error codes\n

\n

The following operations are related to GetBucketReplication:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?replication", @@ -21815,6 +23832,9 @@ "smithy.api#httpPayload": {} } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#GetBucketReplicationRequest": { @@ -21838,6 +23858,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#GetBucketRequestPayment": { @@ -21849,7 +23872,7 @@ "target": "com.amazonaws.s3#GetBucketRequestPaymentOutput" }, "traits": { - "smithy.api#documentation": "

Returns the request payment configuration of a bucket. To use this version of the\n operation, you must be the bucket owner. For more information, see Requester Pays Buckets.

\n\n

The following operations are related to GetBucketRequestPayment:

\n ", + "smithy.api#documentation": "

Returns the request payment configuration of a bucket. To use this version of the\n operation, you must be the bucket owner. For more information, see Requester Pays Buckets.

\n

The following operations are related to GetBucketRequestPayment:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?requestPayment", @@ -21868,6 +23891,7 @@ } }, "traits": { + "smithy.api#output": {}, "smithy.api#xmlName": "RequestPaymentConfiguration" } }, @@ -21892,6 +23916,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#GetBucketTagging": { @@ -21903,7 +23930,7 @@ "target": "com.amazonaws.s3#GetBucketTaggingOutput" }, "traits": { - "smithy.api#documentation": "

Returns the tag set associated with the bucket.

\n

To use this operation, you must have permission to perform the\n s3:GetBucketTagging action. By default, the bucket owner has this\n permission and can grant this permission to others.

\n\n

\n GetBucketTagging has the following special error:

\n
    \n
  • \n

    Error code: NoSuchTagSet\n

    \n
      \n
    • \n

      Description: There is no tag set associated with the bucket.

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

The following operations are related to GetBucketTagging:

\n ", + "smithy.api#documentation": "

Returns the tag set associated with the bucket.

\n

To use this operation, you must have permission to perform the\n s3:GetBucketTagging action. By default, the bucket owner has this\n permission and can grant this permission to others.

\n

\n GetBucketTagging has the following special error:

\n
    \n
  • \n

    Error code: NoSuchTagSet\n

    \n
      \n
    • \n

      Description: There is no tag set associated with the bucket.

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

The following operations are related to GetBucketTagging:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?tagging", @@ -21923,6 +23950,7 @@ } }, "traits": { + "smithy.api#output": {}, "smithy.api#xmlName": "Tagging" } }, @@ -21947,6 +23975,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#GetBucketVersioning": { @@ -21958,7 +23989,7 @@ "target": "com.amazonaws.s3#GetBucketVersioningOutput" }, "traits": { - "smithy.api#documentation": "

Returns the versioning state of a bucket.

\n

To retrieve the versioning state of a bucket, you must be the bucket owner.

\n\n

This implementation also returns the MFA Delete status of the versioning state. If the\n MFA Delete status is enabled, the bucket owner must use an authentication\n device to change the versioning state of the bucket.

\n\n

The following operations are related to GetBucketVersioning:

\n ", + "smithy.api#documentation": "

Returns the versioning state of a bucket.

\n

To retrieve the versioning state of a bucket, you must be the bucket owner.

\n

This implementation also returns the MFA Delete status of the versioning state. If the\n MFA Delete status is enabled, the bucket owner must use an authentication\n device to change the versioning state of the bucket.

\n

The following operations are related to GetBucketVersioning:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?versioning", @@ -21984,6 +24015,7 @@ } }, "traits": { + "smithy.api#output": {}, "smithy.api#xmlName": "VersioningConfiguration" } }, @@ -22008,6 +24040,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#GetBucketWebsite": { @@ -22056,6 +24091,7 @@ } }, "traits": { + "smithy.api#output": {}, "smithy.api#xmlName": "WebsiteConfiguration" } }, @@ -22080,6 +24116,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#GetObject": { @@ -22108,7 +24147,7 @@ "SHA1" ] }, - "smithy.api#documentation": "

Retrieves objects from Amazon S3. To use GET, you must have READ\n access to the object. If you grant READ access to the anonymous user, you can\n return the object without using an authorization header.

\n\n

An Amazon S3 bucket has no directory hierarchy such as you would find in a typical computer\n file system. You can, however, create a logical hierarchy by using object key names that\n imply a folder structure. For example, instead of naming an object sample.jpg,\n you can name it photos/2006/February/sample.jpg.

\n\n

To get an object from such a logical hierarchy, specify the full key name for the object\n in the GET operation. For a virtual hosted-style request example, if you have\n the object photos/2006/February/sample.jpg, specify the resource as\n /photos/2006/February/sample.jpg. For a path-style request example, if you\n have the object photos/2006/February/sample.jpg in the bucket named\n examplebucket, specify the resource as\n /examplebucket/photos/2006/February/sample.jpg. For more information about\n request types, see HTTP Host Header Bucket Specification.

\n\n

For more information about returning the ACL of an object, see GetObjectAcl.

\n\n

If the object you are retrieving is stored in the S3 Glacier or\n S3 Glacier Deep Archive storage class, or S3 Intelligent-Tiering Archive or\n S3 Intelligent-Tiering Deep Archive tiers, before you can retrieve the object you must first restore a\n copy using RestoreObject. Otherwise, this action returns an\n InvalidObjectStateError error. For information about restoring archived\n objects, see Restoring Archived\n Objects.

\n\n

Encryption request headers, like x-amz-server-side-encryption, should not\n be sent for GET requests if your object uses server-side encryption with KMS keys (SSE-KMS) \n or server-side encryption with Amazon S3–managed encryption keys (SSE-S3). If your\n object does use these types of keys, you’ll get an HTTP 400 BadRequest error.

\n

If you encrypt an object by using server-side encryption with customer-provided\n encryption keys (SSE-C) when you store the object in Amazon S3, then when you GET the object,\n you must use the following headers:

\n
    \n
  • \n

    x-amz-server-side-encryption-customer-algorithm

    \n
  • \n
  • \n

    x-amz-server-side-encryption-customer-key

    \n
  • \n
  • \n

    x-amz-server-side-encryption-customer-key-MD5

    \n
  • \n
\n

For more information about SSE-C, see Server-Side Encryption (Using\n Customer-Provided Encryption Keys).

\n\n

Assuming you have the relevant permission to read object tags, the response also returns the\n x-amz-tagging-count header that provides the count of number of tags\n associated with the object. You can use GetObjectTagging to retrieve\n the tag set associated with an object.

\n\n

\n Permissions\n

\n

You need the relevant read object (or version) permission for this operation. For more\n information, see Specifying Permissions\n in a Policy. If the object you request does not exist, the error Amazon S3 returns\n depends on whether you also have the s3:ListBucket permission.

\n
    \n
  • \n

    If you have the s3:ListBucket permission on the bucket, Amazon S3 will\n return an HTTP status code 404 (\"no such key\") error.

    \n
  • \n
  • \n

    If you don’t have the s3:ListBucket permission, Amazon S3 will return an\n HTTP status code 403 (\"access denied\") error.

    \n
  • \n
\n\n\n

\n Versioning\n

\n

By default, the GET action returns the current version of an object. To return a\n different version, use the versionId subresource.

\n\n \n
    \n
  • \n

    \n If you supply a versionId, you need the s3:GetObjectVersion permission to\n access a specific version of an object. If you request a specific version, you do not need to have\n the s3:GetObject permission.\n

    \n
  • \n
  • \n

    If the current version of the object is a delete marker, Amazon S3 behaves as if the\n object was deleted and includes x-amz-delete-marker: true in the\n response.

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

For more information about versioning, see PutBucketVersioning.

\n\n

\n Overriding Response Header Values\n

\n

There are times when you want to override certain response header values in a GET\n response. For example, you might override the Content-Disposition response\n header value in your GET request.

\n\n

You can override values for a set of response headers using the following query\n parameters. These response header values are sent only on a successful request, that is,\n when status code 200 OK is returned. The set of headers you can override using these\n parameters is a subset of the headers that Amazon S3 accepts when you create an object. The\n response headers that you can override for the GET response are Content-Type,\n Content-Language, Expires, Cache-Control,\n Content-Disposition, and Content-Encoding. To override these\n header values in the GET response, you use the following request parameters.

\n\n \n

You must sign the request, either using an Authorization header or a presigned URL,\n when using these parameters. They cannot be used with an unsigned (anonymous)\n request.

\n
\n
    \n
  • \n

    \n response-content-type\n

    \n
  • \n
  • \n

    \n response-content-language\n

    \n
  • \n
  • \n

    \n response-expires\n

    \n
  • \n
  • \n

    \n response-cache-control\n

    \n
  • \n
  • \n

    \n response-content-disposition\n

    \n
  • \n
  • \n

    \n response-content-encoding\n

    \n
  • \n
\n\n

\n Additional Considerations about Request Headers\n

\n\n

If both of the If-Match and If-Unmodified-Since headers are\n present in the request as follows: If-Match condition evaluates to\n true, and; If-Unmodified-Since condition evaluates to\n false; then, S3 returns 200 OK and the data requested.

\n\n

If both of the If-None-Match and If-Modified-Since headers are\n present in the request as follows: If-None-Match condition evaluates to\n false, and; If-Modified-Since condition evaluates to\n true; then, S3 returns 304 Not Modified response code.

\n\n

For more information about conditional requests, see RFC 7232.

\n\n

The following operations are related to GetObject:

\n ", + "smithy.api#documentation": "

Retrieves objects from Amazon S3. To use GET, you must have READ\n access to the object. If you grant READ access to the anonymous user, you can\n return the object without using an authorization header.

\n

An Amazon S3 bucket has no directory hierarchy such as you would find in a typical computer\n file system. You can, however, create a logical hierarchy by using object key names that\n imply a folder structure. For example, instead of naming an object sample.jpg,\n you can name it photos/2006/February/sample.jpg.

\n

To get an object from such a logical hierarchy, specify the full key name for the object\n in the GET operation. For a virtual hosted-style request example, if you have\n the object photos/2006/February/sample.jpg, specify the resource as\n /photos/2006/February/sample.jpg. For a path-style request example, if you\n have the object photos/2006/February/sample.jpg in the bucket named\n examplebucket, specify the resource as\n /examplebucket/photos/2006/February/sample.jpg. For more information about\n request types, see HTTP Host Header Bucket Specification.

\n

For more information about returning the ACL of an object, see GetObjectAcl.

\n

If the object you are retrieving is stored in the S3 Glacier or\n S3 Glacier Deep Archive storage class, or S3 Intelligent-Tiering Archive or\n S3 Intelligent-Tiering Deep Archive tiers, before you can retrieve the object you must first restore a\n copy using RestoreObject. Otherwise, this action returns an\n InvalidObjectStateError error. For information about restoring archived\n objects, see Restoring Archived\n Objects.

\n

Encryption request headers, like x-amz-server-side-encryption, should not\n be sent for GET requests if your object uses server-side encryption with KMS keys (SSE-KMS) \n or server-side encryption with Amazon S3–managed encryption keys (SSE-S3). If your\n object does use these types of keys, you’ll get an HTTP 400 BadRequest error.

\n

If you encrypt an object by using server-side encryption with customer-provided\n encryption keys (SSE-C) when you store the object in Amazon S3, then when you GET the object,\n you must use the following headers:

\n
    \n
  • \n

    x-amz-server-side-encryption-customer-algorithm

    \n
  • \n
  • \n

    x-amz-server-side-encryption-customer-key

    \n
  • \n
  • \n

    x-amz-server-side-encryption-customer-key-MD5

    \n
  • \n
\n

For more information about SSE-C, see Server-Side Encryption (Using\n Customer-Provided Encryption Keys).

\n

Assuming you have the relevant permission to read object tags, the response also returns the\n x-amz-tagging-count header that provides the count of number of tags\n associated with the object. You can use GetObjectTagging to retrieve\n the tag set associated with an object.

\n

\n Permissions\n

\n

You need the relevant read object (or version) permission for this operation. For more\n information, see Specifying Permissions\n in a Policy. If the object you request does not exist, the error Amazon S3 returns\n depends on whether you also have the s3:ListBucket permission.

\n
    \n
  • \n

    If you have the s3:ListBucket permission on the bucket, Amazon S3 will\n return an HTTP status code 404 (\"no such key\") error.

    \n
  • \n
  • \n

    If you don’t have the s3:ListBucket permission, Amazon S3 will return an\n HTTP status code 403 (\"access denied\") error.

    \n
  • \n
\n

\n Versioning\n

\n

By default, the GET action returns the current version of an object. To return a\n different version, use the versionId subresource.

\n \n
    \n
  • \n

    \n If you supply a versionId, you need the s3:GetObjectVersion permission to\n access a specific version of an object. If you request a specific version, you do not need to have\n the s3:GetObject permission.\n

    \n
  • \n
  • \n

    If the current version of the object is a delete marker, Amazon S3 behaves as if the\n object was deleted and includes x-amz-delete-marker: true in the\n response.

    \n
  • \n
\n
\n

For more information about versioning, see PutBucketVersioning.

\n

\n Overriding Response Header Values\n

\n

There are times when you want to override certain response header values in a GET\n response. For example, you might override the Content-Disposition response\n header value in your GET request.

\n

You can override values for a set of response headers using the following query\n parameters. These response header values are sent only on a successful request, that is,\n when status code 200 OK is returned. The set of headers you can override using these\n parameters is a subset of the headers that Amazon S3 accepts when you create an object. The\n response headers that you can override for the GET response are Content-Type,\n Content-Language, Expires, Cache-Control,\n Content-Disposition, and Content-Encoding. To override these\n header values in the GET response, you use the following request parameters.

\n \n

You must sign the request, either using an Authorization header or a presigned URL,\n when using these parameters. They cannot be used with an unsigned (anonymous)\n request.

\n
\n
    \n
  • \n

    \n response-content-type\n

    \n
  • \n
  • \n

    \n response-content-language\n

    \n
  • \n
  • \n

    \n response-expires\n

    \n
  • \n
  • \n

    \n response-cache-control\n

    \n
  • \n
  • \n

    \n response-content-disposition\n

    \n
  • \n
  • \n

    \n response-content-encoding\n

    \n
  • \n
\n

\n Additional Considerations about Request Headers\n

\n

If both of the If-Match and If-Unmodified-Since headers are\n present in the request as follows: If-Match condition evaluates to\n true, and; If-Unmodified-Since condition evaluates to\n false; then, S3 returns 200 OK and the data requested.

\n

If both of the If-None-Match and If-Modified-Since headers are\n present in the request as follows: If-None-Match condition evaluates to\n false, and; If-Modified-Since condition evaluates to\n true; then, S3 returns 304 Not Modified response code.

\n

For more information about conditional requests, see RFC 7232.

\n

The following operations are related to GetObject:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}/{Key+}?x-id=GetObject", @@ -22130,7 +24169,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns the access control list (ACL) of an object. To use this operation, you must have\n s3:GetObjectAcl permissions or READ_ACP access to the object.\n For more information, see Mapping of ACL permissions and access policy permissions in the Amazon S3\n User Guide\n

\n

This action is not supported by Amazon S3 on Outposts.

\n

\n Versioning\n

\n

By default, GET returns ACL information about the current version of an object. To\n return ACL information about a different version, use the versionId subresource.

\n \n

If your bucket uses the bucket owner enforced setting for S3 Object Ownership, \n requests to read ACLs are still supported and return the bucket-owner-full-control \n ACL with the owner being the account that created the bucket. For more information, see \n \n Controlling object ownership and disabling ACLs in the Amazon S3 User Guide.

\n
\n

The following operations are related to GetObjectAcl:

\n ", + "smithy.api#documentation": "

Returns the access control list (ACL) of an object. To use this operation, you must have\n s3:GetObjectAcl permissions or READ_ACP access to the object.\n For more information, see Mapping of ACL permissions and access policy permissions in the Amazon S3\n User Guide\n

\n

This action is not supported by Amazon S3 on Outposts.

\n

\n Versioning\n

\n

By default, GET returns ACL information about the current version of an object. To\n return ACL information about a different version, use the versionId subresource.

\n \n

If your bucket uses the bucket owner enforced setting for S3 Object Ownership, \n requests to read ACLs are still supported and return the bucket-owner-full-control \n ACL with the owner being the account that created the bucket. For more information, see \n \n Controlling object ownership and disabling ACLs in the Amazon S3 User Guide.

\n
\n

The following operations are related to GetObjectAcl:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}/{Key+}?acl", @@ -22162,6 +24201,7 @@ } }, "traits": { + "smithy.api#output": {}, "smithy.api#xmlName": "AccessControlPolicy" } }, @@ -22207,6 +24247,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#GetObjectAttributes": { @@ -22223,7 +24266,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves all the metadata from an object without returning the object itself. This\n action is useful if you're interested only in an object's metadata. To use\n GetObjectAttributes, you must have READ access to the object.

\n\n

\n GetObjectAttributes combines the functionality of\n GetObjectAcl, GetObjectLegalHold,\n GetObjectLockConfiguration, GetObjectRetention,\n GetObjectTagging, HeadObject, and ListParts. All\n of the data returned with each of those individual calls can be returned with a single call\n to GetObjectAttributes.

\n\n

If you encrypt an object by using server-side encryption with customer-provided\n encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the\n metadata from the object, you must use the following headers:

\n
    \n
  • \n

    \n x-amz-server-side-encryption-customer-algorithm\n

    \n
  • \n
  • \n

    \n x-amz-server-side-encryption-customer-key\n

    \n
  • \n
  • \n

    \n x-amz-server-side-encryption-customer-key-MD5\n

    \n
  • \n
\n

For more information about SSE-C, see Server-Side Encryption\n (Using Customer-Provided Encryption Keys) in the\n Amazon S3 User Guide.

\n \n
    \n
  • \n

    Encryption request headers, such as\n x-amz-server-side-encryption, should not be sent for GET requests\n if your object uses server-side encryption with Amazon Web Services KMS keys stored in Amazon Web Services Key\n Management Service (SSE-KMS) or server-side encryption with Amazon S3 managed\n encryption keys (SSE-S3). If your object does use these types of keys, you'll get\n an HTTP 400 Bad Request error.

    \n
  • \n
  • \n

    \n The last modified property in this case is the creation date of the object.

    \n
  • \n
\n
\n\n

Consider the following when using request headers:

\n
    \n
  • \n

    If both of the If-Match and If-Unmodified-Since\n headers are present in the request as follows, then Amazon S3 returns the HTTP\n status code 200 OK and the data requested:

    \n
      \n
    • \n

      \n If-Match condition evaluates to true.

      \n
    • \n
    • \n

      \n If-Unmodified-Since condition evaluates to\n false.

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

    If both of the If-None-Match and If-Modified-Since\n headers are present in the request as follows, then Amazon S3 returns the HTTP status code\n 304 Not Modified:

    \n
      \n
    • \n

      \n If-None-Match condition evaluates to\n false.

      \n
    • \n
    • \n

      \n If-Modified-Since condition evaluates to\n true.

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

For more information about conditional requests, see RFC 7232.

\n\n

\n Permissions\n

\n

The permissions that you need to use this operation depend on whether the bucket is\n versioned. If the bucket is versioned, you need both the s3:GetObjectVersion\n and s3:GetObjectVersionAttributes permissions for this operation. If the\n bucket is not versioned, you need the s3:GetObject and\n s3:GetObjectAttributes permissions. For more information, see Specifying\n Permissions in a Policy in the Amazon S3 User Guide. If the\n object that you request does not exist, the error Amazon S3 returns depends on whether you also\n have the s3:ListBucket permission.

\n
    \n
  • \n

    If you have the s3:ListBucket permission on the bucket, Amazon S3\n returns an HTTP status code 404 Not Found (\"no such key\") error.

    \n
  • \n
  • \n

    If you don't have the s3:ListBucket permission, Amazon S3 returns an\n HTTP status code 403 Forbidden (\"access denied\") error.

    \n
  • \n
\n\n

The following actions are related to GetObjectAttributes:

\n ", + "smithy.api#documentation": "

Retrieves all the metadata from an object without returning the object itself. This\n action is useful if you're interested only in an object's metadata. To use\n GetObjectAttributes, you must have READ access to the object.

\n

\n GetObjectAttributes combines the functionality of\n GetObjectAcl, GetObjectLegalHold,\n GetObjectLockConfiguration, GetObjectRetention,\n GetObjectTagging, HeadObject, and ListParts. All\n of the data returned with each of those individual calls can be returned with a single call\n to GetObjectAttributes.

\n

If you encrypt an object by using server-side encryption with customer-provided\n encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the\n metadata from the object, you must use the following headers:

\n
    \n
  • \n

    \n x-amz-server-side-encryption-customer-algorithm\n

    \n
  • \n
  • \n

    \n x-amz-server-side-encryption-customer-key\n

    \n
  • \n
  • \n

    \n x-amz-server-side-encryption-customer-key-MD5\n

    \n
  • \n
\n

For more information about SSE-C, see Server-Side Encryption\n (Using Customer-Provided Encryption Keys) in the\n Amazon S3 User Guide.

\n \n
    \n
  • \n

    Encryption request headers, such as\n x-amz-server-side-encryption, should not be sent for GET requests\n if your object uses server-side encryption with Amazon Web Services KMS keys stored in Amazon Web Services Key\n Management Service (SSE-KMS) or server-side encryption with Amazon S3 managed\n encryption keys (SSE-S3). If your object does use these types of keys, you'll get\n an HTTP 400 Bad Request error.

    \n
  • \n
  • \n

    \n The last modified property in this case is the creation date of the object.

    \n
  • \n
\n
\n

Consider the following when using request headers:

\n
    \n
  • \n

    If both of the If-Match and If-Unmodified-Since\n headers are present in the request as follows, then Amazon S3 returns the HTTP\n status code 200 OK and the data requested:

    \n
      \n
    • \n

      \n If-Match condition evaluates to true.

      \n
    • \n
    • \n

      \n If-Unmodified-Since condition evaluates to\n false.

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

    If both of the If-None-Match and If-Modified-Since\n headers are present in the request as follows, then Amazon S3 returns the HTTP status code\n 304 Not Modified:

    \n
      \n
    • \n

      \n If-None-Match condition evaluates to\n false.

      \n
    • \n
    • \n

      \n If-Modified-Since condition evaluates to\n true.

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

For more information about conditional requests, see RFC 7232.

\n

\n Permissions\n

\n

The permissions that you need to use this operation depend on whether the bucket is\n versioned. If the bucket is versioned, you need both the s3:GetObjectVersion\n and s3:GetObjectVersionAttributes permissions for this operation. If the\n bucket is not versioned, you need the s3:GetObject and\n s3:GetObjectAttributes permissions. For more information, see Specifying\n Permissions in a Policy in the Amazon S3 User Guide. If the\n object that you request does not exist, the error Amazon S3 returns depends on whether you also\n have the s3:ListBucket permission.

\n
    \n
  • \n

    If you have the s3:ListBucket permission on the bucket, Amazon S3\n returns an HTTP status code 404 Not Found (\"no such key\") error.

    \n
  • \n
  • \n

    If you don't have the s3:ListBucket permission, Amazon S3 returns an\n HTTP status code 403 Forbidden (\"access denied\") error.

    \n
  • \n
\n

The following actions are related to GetObjectAttributes:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}/{Key+}?attributes", @@ -22283,7 +24326,7 @@ "StorageClass": { "target": "com.amazonaws.s3#StorageClass", "traits": { - "smithy.api#documentation": "

Provides the storage class information of the object. Amazon S3 returns this header for all\n objects except for S3 Standard storage class objects.

\n\n

For more information, see Storage\n Classes.

" + "smithy.api#documentation": "

Provides the storage class information of the object. Amazon S3 returns this header for all\n objects except for S3 Standard storage class objects.

\n

For more information, see Storage\n Classes.

" } }, "ObjectSize": { @@ -22293,6 +24336,9 @@ "smithy.api#documentation": "

The size of the object in bytes.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#GetObjectAttributesParts": { @@ -22351,7 +24397,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

The name of the bucket that contains the object.

\n

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n

When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

The name of the bucket that contains the object.

\n

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n

When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts in the Amazon S3 User Guide.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -22431,6 +24477,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#GetObjectLegalHold": { @@ -22442,7 +24491,7 @@ "target": "com.amazonaws.s3#GetObjectLegalHoldOutput" }, "traits": { - "smithy.api#documentation": "

Gets an object's current legal hold status. For more information, see Locking\n Objects.

\n

This action is not supported by Amazon S3 on Outposts.

\n\n

The following action is related to GetObjectLegalHold:

\n ", + "smithy.api#documentation": "

Gets an object's current legal hold status. For more information, see Locking\n Objects.

\n

This action is not supported by Amazon S3 on Outposts.

\n

The following action is related to GetObjectLegalHold:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}/{Key+}?legal-hold", @@ -22460,6 +24509,9 @@ "smithy.api#httpPayload": {} } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#GetObjectLegalHoldRequest": { @@ -22504,6 +24556,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#GetObjectLockConfiguration": { @@ -22515,7 +24570,7 @@ "target": "com.amazonaws.s3#GetObjectLockConfigurationOutput" }, "traits": { - "smithy.api#documentation": "

Gets the Object Lock configuration for a bucket. The rule specified in the Object Lock\n configuration will be applied by default to every new object placed in the specified\n bucket. For more information, see Locking\n Objects.

\n\n

The following action is related to GetObjectLockConfiguration:

\n ", + "smithy.api#documentation": "

Gets the Object Lock configuration for a bucket. The rule specified in the Object Lock\n configuration will be applied by default to every new object placed in the specified\n bucket. For more information, see Locking\n Objects.

\n

The following action is related to GetObjectLockConfiguration:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?object-lock", @@ -22533,6 +24588,9 @@ "smithy.api#httpPayload": {} } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#GetObjectLockConfigurationRequest": { @@ -22556,6 +24614,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#GetObjectOutput": { @@ -22819,6 +24880,9 @@ "smithy.api#httpHeader": "x-amz-object-lock-legal-hold" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#GetObjectRequest": { @@ -22976,6 +25040,9 @@ "smithy.api#httpHeader": "x-amz-checksum-mode" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#GetObjectResponseStatusCode": { @@ -22993,7 +25060,7 @@ "target": "com.amazonaws.s3#GetObjectRetentionOutput" }, "traits": { - "smithy.api#documentation": "

Retrieves an object's retention settings. For more information, see Locking Objects.

\n

This action is not supported by Amazon S3 on Outposts.

\n\n

The following action is related to GetObjectRetention:

\n ", + "smithy.api#documentation": "

Retrieves an object's retention settings. For more information, see Locking Objects.

\n

This action is not supported by Amazon S3 on Outposts.

\n

The following action is related to GetObjectRetention:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}/{Key+}?retention", @@ -23011,6 +25078,9 @@ "smithy.api#httpPayload": {} } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#GetObjectRetentionRequest": { @@ -23055,6 +25125,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#GetObjectTagging": { @@ -23066,7 +25139,7 @@ "target": "com.amazonaws.s3#GetObjectTaggingOutput" }, "traits": { - "smithy.api#documentation": "

Returns the tag-set of an object. You send the GET request against the tagging\n subresource associated with the object.

\n\n

To use this operation, you must have permission to perform the\n s3:GetObjectTagging action. By default, the GET action returns\n information about current version of an object. For a versioned bucket, you can have\n multiple versions of an object in your bucket. To retrieve tags of any other version, use\n the versionId query parameter. You also need permission for the\n s3:GetObjectVersionTagging action.

\n\n

By default, the bucket owner has this permission and can grant this permission to\n others.

\n\n

For information about the Amazon S3 object tagging feature, see Object Tagging.

\n\n

The following actions are related to GetObjectTagging:

\n ", + "smithy.api#documentation": "

Returns the tag-set of an object. You send the GET request against the tagging\n subresource associated with the object.

\n

To use this operation, you must have permission to perform the\n s3:GetObjectTagging action. By default, the GET action returns\n information about current version of an object. For a versioned bucket, you can have\n multiple versions of an object in your bucket. To retrieve tags of any other version, use\n the versionId query parameter. You also need permission for the\n s3:GetObjectVersionTagging action.

\n

By default, the bucket owner has this permission and can grant this permission to\n others.

\n

For information about the Amazon S3 object tagging feature, see Object Tagging.

\n

The following actions are related to GetObjectTagging:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}/{Key+}?tagging", @@ -23093,6 +25166,7 @@ } }, "traits": { + "smithy.api#output": {}, "smithy.api#xmlName": "Tagging" } }, @@ -23138,6 +25212,9 @@ "smithy.api#httpHeader": "x-amz-request-payer" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#GetObjectTorrent": { @@ -23149,7 +25226,7 @@ "target": "com.amazonaws.s3#GetObjectTorrentOutput" }, "traits": { - "smithy.api#documentation": "

Returns torrent files from a bucket. BitTorrent can save you bandwidth when you're\n distributing large files. For more information about BitTorrent, see Using BitTorrent with Amazon S3.

\n \n

You can get torrent only for objects that are less than 5 GB in size, and that are\n not encrypted using server-side encryption with a customer-provided encryption\n key.

\n
\n

To use GET, you must have READ access to the object.

\n

This action is not supported by Amazon S3 on Outposts.

\n

The following action is related to GetObjectTorrent:

\n ", + "smithy.api#documentation": "

Returns torrent files from a bucket. BitTorrent can save you bandwidth when you're\n distributing large files. For more information about BitTorrent, see Using BitTorrent with Amazon S3.

\n \n

You can get torrent only for objects that are less than 5 GB in size, and that are\n not encrypted using server-side encryption with a customer-provided encryption\n key.

\n
\n

To use GET, you must have READ access to the object.

\n

This action is not supported by Amazon S3 on Outposts.

\n

The following action is related to GetObjectTorrent:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}/{Key+}?torrent", @@ -23174,6 +25251,9 @@ "smithy.api#httpHeader": "x-amz-request-charged" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#GetObjectTorrentRequest": { @@ -23211,6 +25291,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#GetPublicAccessBlock": { @@ -23222,7 +25305,7 @@ "target": "com.amazonaws.s3#GetPublicAccessBlockOutput" }, "traits": { - "smithy.api#documentation": "

Retrieves the PublicAccessBlock configuration for an Amazon S3 bucket. To use\n this operation, you must have the s3:GetBucketPublicAccessBlock permission.\n For more information about Amazon S3 permissions, see Specifying Permissions in a\n Policy.

\n\n \n

When Amazon S3 evaluates the PublicAccessBlock configuration for a bucket or\n an object, it checks the PublicAccessBlock configuration for both the\n bucket (or the bucket that contains the object) and the bucket owner's account. If the\n PublicAccessBlock settings are different between the bucket and the\n account, Amazon S3 uses the most restrictive combination of the bucket-level and\n account-level settings.

\n
\n\n

For more information about when Amazon S3 considers a bucket or an object public, see The Meaning of \"Public\".

\n\n

The following operations are related to GetPublicAccessBlock:

\n ", + "smithy.api#documentation": "

Retrieves the PublicAccessBlock configuration for an Amazon S3 bucket. To use\n this operation, you must have the s3:GetBucketPublicAccessBlock permission.\n For more information about Amazon S3 permissions, see Specifying Permissions in a\n Policy.

\n \n

When Amazon S3 evaluates the PublicAccessBlock configuration for a bucket or\n an object, it checks the PublicAccessBlock configuration for both the\n bucket (or the bucket that contains the object) and the bucket owner's account. If the\n PublicAccessBlock settings are different between the bucket and the\n account, Amazon S3 uses the most restrictive combination of the bucket-level and\n account-level settings.

\n
\n

For more information about when Amazon S3 considers a bucket or an object public, see The Meaning of \"Public\".

\n

The following operations are related to GetPublicAccessBlock:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?publicAccessBlock", @@ -23240,6 +25323,9 @@ "smithy.api#httpPayload": {} } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#GetPublicAccessBlockRequest": { @@ -23263,6 +25349,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#GlacierJobParameters": { @@ -23331,7 +25420,7 @@ "EmailAddress": { "target": "com.amazonaws.s3#EmailAddress", "traits": { - "smithy.api#documentation": "

Email address of the grantee.

\n \n

Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

\n
    \n
  • \n

    US East (N. Virginia)

    \n
  • \n
  • \n

    US West (N. California)

    \n
  • \n
  • \n

    US West (Oregon)

    \n
  • \n
  • \n

    Asia Pacific (Singapore)

    \n
  • \n
  • \n

    Asia Pacific (Sydney)

    \n
  • \n
  • \n

    Asia Pacific (Tokyo)

    \n
  • \n
  • \n

    Europe (Ireland)

    \n
  • \n
  • \n

    South America (SΓ£o Paulo)

    \n
  • \n
\n

For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

\n
" + "smithy.api#documentation": "

Email address of the grantee.

\n \n

Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

\n
    \n
  • \n

    US East (N. Virginia)

    \n
  • \n
  • \n

    US West (N. California)

    \n
  • \n
  • \n

    US West (Oregon)

    \n
  • \n
  • \n

    Asia Pacific (Singapore)

    \n
  • \n
  • \n

    Asia Pacific (Sydney)

    \n
  • \n
  • \n

    Asia Pacific (Tokyo)

    \n
  • \n
  • \n

    Europe (Ireland)

    \n
  • \n
  • \n

    South America (SΓ£o Paulo)

    \n
  • \n
\n

For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

\n
" } }, "ID": { @@ -23383,7 +25472,7 @@ } ], "traits": { - "smithy.api#documentation": "

This action is useful to determine if a bucket exists and you have permission to\n access it. The action returns a 200 OK if the bucket exists and you have\n permission to access it.

\n \n \n

If the bucket does not exist or you do not have permission to access it, the HEAD request\n returns a generic 404 Not Found or 403 Forbidden code. A message body is not \n included, so you cannot determine the exception beyond these error codes.

\n\n

To use this operation, you must have permissions to perform the\n s3:ListBucket action. The bucket owner has this permission by default and\n can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n\n\n

To use this API against an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using the Amazon Web Services SDKs, you provide the ARN in place of the bucket name. For more information see, Using access points.

", + "smithy.api#documentation": "

This action is useful to determine if a bucket exists and you have permission to\n access it. The action returns a 200 OK if the bucket exists and you have\n permission to access it.

\n

If the bucket does not exist or you do not have permission to access it, the HEAD request\n returns a generic 404 Not Found or 403 Forbidden code. A message body is not \n included, so you cannot determine the exception beyond these error codes.

\n

To use this operation, you must have permissions to perform the\n s3:ListBucket action. The bucket owner has this permission by default and\n can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

To use this API against an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using the Amazon Web Services SDKs, you provide the ARN in place of the bucket name. For more information see, Using access points.

", "smithy.api#http": { "method": "HEAD", "uri": "/{Bucket}", @@ -23442,6 +25531,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#HeadObject": { @@ -23458,7 +25550,7 @@ } ], "traits": { - "smithy.api#documentation": "

The HEAD action retrieves metadata from an object without returning the object\n itself. This action is useful if you're only interested in an object's metadata. To use\n HEAD, you must have READ access to the object.

\n\n

A HEAD request has the same options as a GET action on an\n object. The response is identical to the GET response except that there is no\n response body. Because of this, if the HEAD request generates an error, it\n returns a generic 404 Not Found or 403 Forbidden code. It is not \n possible to retrieve the exact exception beyond these error codes.

\n\n

If you encrypt an object by using server-side encryption with customer-provided\n encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the\n metadata from the object, you must use the following headers:

\n
    \n
  • \n

    x-amz-server-side-encryption-customer-algorithm

    \n
  • \n
  • \n

    x-amz-server-side-encryption-customer-key

    \n
  • \n
  • \n

    x-amz-server-side-encryption-customer-key-MD5

    \n
  • \n
\n

For more information about SSE-C, see Server-Side Encryption (Using\n Customer-Provided Encryption Keys).

\n \n
    \n
  • \n

    Encryption request headers, like x-amz-server-side-encryption, should\n not be sent for GET requests if your object uses server-side encryption with KMS keys (SSE-KMS)\n or server-side encryption with Amazon S3–managed encryption keys\n (SSE-S3). If your object does use these types of keys, you’ll get an HTTP 400 BadRequest\n error.

    \n
  • \n
  • \n

    \n The last modified property in this case is the creation date of the object.

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

Request headers are limited to 8 KB in size. For more information, see Common Request\n Headers.

\n

Consider the following when using request headers:

\n
    \n
  • \n

    Consideration 1 – If both of the If-Match and\n If-Unmodified-Since headers are present in the request as\n follows:

    \n
      \n
    • \n

      \n If-Match condition evaluates to true, and;

      \n
    • \n
    • \n

      \n If-Unmodified-Since condition evaluates to\n false;

      \n
    • \n
    \n

    Then Amazon S3 returns 200 OK and the data requested.

    \n
  • \n
  • \n

    Consideration 2 – If both of the If-None-Match and\n If-Modified-Since headers are present in the request as\n follows:

    \n
      \n
    • \n

      \n If-None-Match condition evaluates to false,\n and;

      \n
    • \n
    • \n

      \n If-Modified-Since condition evaluates to\n true;

      \n
    • \n
    \n

    Then Amazon S3 returns the 304 Not Modified response code.

    \n
  • \n
\n\n

For more information about conditional requests, see RFC 7232.

\n\n

\n Permissions\n

\n

You need the relevant read object (or version) permission for this operation. For more\n information, see Specifying Permissions\n in a Policy. If the object you request does not exist, the error Amazon S3 returns\n depends on whether you also have the s3:ListBucket permission.

\n
    \n
  • \n

    If you have the s3:ListBucket permission on the bucket, Amazon S3 returns\n an HTTP status code 404 (\"no such key\") error.

    \n
  • \n
  • \n

    If you don’t have the s3:ListBucket permission, Amazon S3 returns an HTTP\n status code 403 (\"access denied\") error.

    \n
  • \n
\n\n

The following actions are related to HeadObject:

\n ", + "smithy.api#documentation": "

The HEAD action retrieves metadata from an object without returning the object\n itself. This action is useful if you're only interested in an object's metadata. To use\n HEAD, you must have READ access to the object.

\n

A HEAD request has the same options as a GET action on an\n object. The response is identical to the GET response except that there is no\n response body. Because of this, if the HEAD request generates an error, it\n returns a generic 404 Not Found or 403 Forbidden code. It is not \n possible to retrieve the exact exception beyond these error codes.

\n

If you encrypt an object by using server-side encryption with customer-provided\n encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the\n metadata from the object, you must use the following headers:

\n
    \n
  • \n

    x-amz-server-side-encryption-customer-algorithm

    \n
  • \n
  • \n

    x-amz-server-side-encryption-customer-key

    \n
  • \n
  • \n

    x-amz-server-side-encryption-customer-key-MD5

    \n
  • \n
\n

For more information about SSE-C, see Server-Side Encryption (Using\n Customer-Provided Encryption Keys).

\n \n
    \n
  • \n

    Encryption request headers, like x-amz-server-side-encryption, should\n not be sent for GET requests if your object uses server-side encryption with KMS keys (SSE-KMS)\n or server-side encryption with Amazon S3–managed encryption keys\n (SSE-S3). If your object does use these types of keys, you’ll get an HTTP 400 BadRequest\n error.

    \n
  • \n
  • \n

    \n The last modified property in this case is the creation date of the object.

    \n
  • \n
\n
\n

Request headers are limited to 8 KB in size. For more information, see Common Request\n Headers.

\n

Consider the following when using request headers:

\n
    \n
  • \n

    Consideration 1 – If both of the If-Match and\n If-Unmodified-Since headers are present in the request as\n follows:

    \n
      \n
    • \n

      \n If-Match condition evaluates to true, and;

      \n
    • \n
    • \n

      \n If-Unmodified-Since condition evaluates to\n false;

      \n
    • \n
    \n

    Then Amazon S3 returns 200 OK and the data requested.

    \n
  • \n
  • \n

    Consideration 2 – If both of the If-None-Match and\n If-Modified-Since headers are present in the request as\n follows:

    \n
      \n
    • \n

      \n If-None-Match condition evaluates to false,\n and;

      \n
    • \n
    • \n

      \n If-Modified-Since condition evaluates to\n true;

      \n
    • \n
    \n

    Then Amazon S3 returns the 304 Not Modified response code.

    \n
  • \n
\n

For more information about conditional requests, see RFC 7232.

\n

\n Permissions\n

\n

You need the relevant read object (or version) permission for this operation. For more\n information, see Specifying Permissions\n in a Policy. If the object you request does not exist, the error Amazon S3 returns\n depends on whether you also have the s3:ListBucket permission.

\n
    \n
  • \n

    If you have the s3:ListBucket permission on the bucket, Amazon S3 returns\n an HTTP status code 404 (\"no such key\") error.

    \n
  • \n
  • \n

    If you don’t have the s3:ListBucket permission, Amazon S3 returns an HTTP\n status code 403 (\"access denied\") error.

    \n
  • \n
\n

The following actions are related to HeadObject:

\n ", "smithy.api#http": { "method": "HEAD", "uri": "/{Bucket}/{Key+}", @@ -23524,7 +25616,7 @@ "Restore": { "target": "com.amazonaws.s3#Restore", "traits": { - "smithy.api#documentation": "

If the object is an archived object (an object whose storage class is GLACIER), the\n response includes this header if either the archive restoration is in progress (see RestoreObject or an archive copy is already restored.

\n\n

If an archive copy is already restored, the header value indicates when Amazon S3 is\n scheduled to delete the object copy. For example:

\n\n

\n x-amz-restore: ongoing-request=\"false\", expiry-date=\"Fri, 21 Dec 2012 00:00:00\n GMT\"\n

\n\n

If the object restoration is in progress, the header returns the value\n ongoing-request=\"true\".

\n\n

For more information about archiving objects, see Transitioning Objects: General Considerations.

", + "smithy.api#documentation": "

If the object is an archived object (an object whose storage class is GLACIER), the\n response includes this header if either the archive restoration is in progress (see RestoreObject or an archive copy is already restored.

\n

If an archive copy is already restored, the header value indicates when Amazon S3 is\n scheduled to delete the object copy. For example:

\n

\n x-amz-restore: ongoing-request=\"false\", expiry-date=\"Fri, 21 Dec 2012 00:00:00\n GMT\"\n

\n

If the object restoration is in progress, the header returns the value\n ongoing-request=\"true\".

\n

For more information about archiving objects, see Transitioning Objects: General Considerations.

", "smithy.api#httpHeader": "x-amz-restore" } }, @@ -23695,7 +25787,7 @@ "StorageClass": { "target": "com.amazonaws.s3#StorageClass", "traits": { - "smithy.api#documentation": "

Provides storage class information of the object. Amazon S3 returns this header for all\n objects except for S3 Standard storage class objects.

\n\n

For more information, see Storage\n Classes.

", + "smithy.api#documentation": "

Provides storage class information of the object. Amazon S3 returns this header for all\n objects except for S3 Standard storage class objects.

\n

For more information, see Storage\n Classes.

", "smithy.api#httpHeader": "x-amz-storage-class" } }, @@ -23708,7 +25800,7 @@ "ReplicationStatus": { "target": "com.amazonaws.s3#ReplicationStatus", "traits": { - "smithy.api#documentation": "

Amazon S3 can return this header if your request involves a bucket that is either a source or\n a destination in a replication rule.

\n\n

In replication, you have a source bucket on which you configure replication and\n destination bucket or buckets where Amazon S3 stores object replicas. When you request an object\n (GetObject) or object metadata (HeadObject) from these\n buckets, Amazon S3 will return the x-amz-replication-status header in the response\n as follows:

\n
    \n
  • \n

    \n If requesting an object from the source bucket, Amazon S3 will return the\n x-amz-replication-status header if the object in your request is\n eligible for replication.

    \n

    For example, suppose that in your replication configuration, you specify object\n prefix TaxDocs requesting Amazon S3 to replicate objects with key prefix\n TaxDocs. Any objects you upload with this key name prefix, for\n example TaxDocs/document1.pdf, are eligible for replication. For any\n object request with this key name prefix, Amazon S3 will return the\n x-amz-replication-status header with value PENDING, COMPLETED or\n FAILED indicating object replication status.

    \n
  • \n
  • \n

    \n If requesting an object from a destination bucket, Amazon S3 will return the\n x-amz-replication-status header with value REPLICA if the object in\n your request is a replica that Amazon S3 created and there is no replica modification\n replication in progress.

    \n
  • \n
  • \n

    \n When replicating objects to multiple destination buckets, the\n x-amz-replication-status header acts differently. The header of the\n source object will only return a value of COMPLETED when replication is successful to\n all destinations. The header will remain at value PENDING until replication has\n completed for all destinations. If one or more destinations fails replication the\n header will return FAILED.

    \n
  • \n
\n\n

For more information, see Replication.

", + "smithy.api#documentation": "

Amazon S3 can return this header if your request involves a bucket that is either a source or\n a destination in a replication rule.

\n

In replication, you have a source bucket on which you configure replication and\n destination bucket or buckets where Amazon S3 stores object replicas. When you request an object\n (GetObject) or object metadata (HeadObject) from these\n buckets, Amazon S3 will return the x-amz-replication-status header in the response\n as follows:

\n
    \n
  • \n

    \n If requesting an object from the source bucket, Amazon S3 will return the\n x-amz-replication-status header if the object in your request is\n eligible for replication.

    \n

    For example, suppose that in your replication configuration, you specify object\n prefix TaxDocs requesting Amazon S3 to replicate objects with key prefix\n TaxDocs. Any objects you upload with this key name prefix, for\n example TaxDocs/document1.pdf, are eligible for replication. For any\n object request with this key name prefix, Amazon S3 will return the\n x-amz-replication-status header with value PENDING, COMPLETED or\n FAILED indicating object replication status.

    \n
  • \n
  • \n

    \n If requesting an object from a destination bucket, Amazon S3 will return the\n x-amz-replication-status header with value REPLICA if the object in\n your request is a replica that Amazon S3 created and there is no replica modification\n replication in progress.

    \n
  • \n
  • \n

    \n When replicating objects to multiple destination buckets, the\n x-amz-replication-status header acts differently. The header of the\n source object will only return a value of COMPLETED when replication is successful to\n all destinations. The header will remain at value PENDING until replication has\n completed for all destinations. If one or more destinations fails replication the\n header will return FAILED.

    \n
  • \n
\n

For more information, see Replication.

", "smithy.api#httpHeader": "x-amz-replication-status" } }, @@ -23741,6 +25833,9 @@ "smithy.api#httpHeader": "x-amz-object-lock-legal-hold" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#HeadObjectRequest": { @@ -23856,6 +25951,9 @@ "smithy.api#httpHeader": "x-amz-checksum-mode" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#HostName": { @@ -24722,7 +26820,7 @@ "target": "com.amazonaws.s3#ListBucketAnalyticsConfigurationsOutput" }, "traits": { - "smithy.api#documentation": "

Lists the analytics configurations for the bucket. You can have up to 1,000 analytics\n configurations per bucket.

\n\n

This action supports list pagination and does not return more than 100 configurations\n at a time. You should always check the IsTruncated element in the response. If\n there are no more configurations to list, IsTruncated is set to false. If\n there are more configurations to list, IsTruncated is set to true, and there\n will be a value in NextContinuationToken. You use the\n NextContinuationToken value to continue the pagination of the list by\n passing the value in continuation-token in the request to GET the next\n page.

\n\n

To use this operation, you must have permissions to perform the\n s3:GetAnalyticsConfiguration action. The bucket owner has this permission\n by default. The bucket owner can grant this permission to others. For more information\n about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n\n

For information about Amazon S3 analytics feature, see Amazon S3 Analytics – Storage Class\n Analysis.

\n\n

The following operations are related to\n ListBucketAnalyticsConfigurations:

\n ", + "smithy.api#documentation": "

Lists the analytics configurations for the bucket. You can have up to 1,000 analytics\n configurations per bucket.

\n

This action supports list pagination and does not return more than 100 configurations\n at a time. You should always check the IsTruncated element in the response. If\n there are no more configurations to list, IsTruncated is set to false. If\n there are more configurations to list, IsTruncated is set to true, and there\n will be a value in NextContinuationToken. You use the\n NextContinuationToken value to continue the pagination of the list by\n passing the value in continuation-token in the request to GET the next\n page.

\n

To use this operation, you must have permissions to perform the\n s3:GetAnalyticsConfiguration action. The bucket owner has this permission\n by default. The bucket owner can grant this permission to others. For more information\n about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

For information about Amazon S3 analytics feature, see Amazon S3 Analytics – Storage Class\n Analysis.

\n

The following operations are related to\n ListBucketAnalyticsConfigurations:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?analytics&x-id=ListBucketAnalyticsConfigurations", @@ -24762,6 +26860,7 @@ } }, "traits": { + "smithy.api#output": {}, "smithy.api#xmlName": "ListBucketAnalyticsConfigurationResult" } }, @@ -24793,6 +26892,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#ListBucketIntelligentTieringConfigurations": { @@ -24804,7 +26906,7 @@ "target": "com.amazonaws.s3#ListBucketIntelligentTieringConfigurationsOutput" }, "traits": { - "smithy.api#documentation": "

Lists the S3 Intelligent-Tiering configuration from the specified bucket.

\n

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.

\n

The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.

\n

For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.

\n

Operations related to\n ListBucketIntelligentTieringConfigurations include:

\n ", + "smithy.api#documentation": "

Lists the S3 Intelligent-Tiering configuration from the specified bucket.

\n

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.

\n

The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.

\n

For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.

\n

Operations related to\n ListBucketIntelligentTieringConfigurations include:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?intelligent-tiering&x-id=ListBucketIntelligentTieringConfigurations", @@ -24842,6 +26944,9 @@ "smithy.api#xmlName": "IntelligentTieringConfiguration" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#ListBucketIntelligentTieringConfigurationsRequest": { @@ -24865,6 +26970,9 @@ "smithy.api#httpQuery": "continuation-token" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#ListBucketInventoryConfigurations": { @@ -24876,7 +26984,7 @@ "target": "com.amazonaws.s3#ListBucketInventoryConfigurationsOutput" }, "traits": { - "smithy.api#documentation": "

Returns a list of inventory configurations for the bucket. You can have up to 1,000\n analytics configurations per bucket.

\n\n

This action supports list pagination and does not return more than 100 configurations\n at a time. Always check the IsTruncated element in the response. If there are\n no more configurations to list, IsTruncated is set to false. If there are more\n configurations to list, IsTruncated is set to true, and there is a value in\n NextContinuationToken. You use the NextContinuationToken value\n to continue the pagination of the list by passing the value in continuation-token in the\n request to GET the next page.

\n\n

To use this operation, you must have permissions to perform the\n s3:GetInventoryConfiguration action. The bucket owner has this permission\n by default. The bucket owner can grant this permission to others. For more information\n about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n\n

For information about the Amazon S3 inventory feature, see Amazon S3 Inventory\n

\n\n

The following operations are related to\n ListBucketInventoryConfigurations:

\n ", + "smithy.api#documentation": "

Returns a list of inventory configurations for the bucket. You can have up to 1,000\n analytics configurations per bucket.

\n

This action supports list pagination and does not return more than 100 configurations\n at a time. Always check the IsTruncated element in the response. If there are\n no more configurations to list, IsTruncated is set to false. If there are more\n configurations to list, IsTruncated is set to true, and there is a value in\n NextContinuationToken. You use the NextContinuationToken value\n to continue the pagination of the list by passing the value in continuation-token in the\n request to GET the next page.

\n

To use this operation, you must have permissions to perform the\n s3:GetInventoryConfiguration action. The bucket owner has this permission\n by default. The bucket owner can grant this permission to others. For more information\n about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

For information about the Amazon S3 inventory feature, see Amazon S3 Inventory\n

\n

The following operations are related to\n ListBucketInventoryConfigurations:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?inventory&x-id=ListBucketInventoryConfigurations", @@ -24916,6 +27024,7 @@ } }, "traits": { + "smithy.api#output": {}, "smithy.api#xmlName": "ListInventoryConfigurationsResult" } }, @@ -24947,6 +27056,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#ListBucketMetricsConfigurations": { @@ -24958,7 +27070,7 @@ "target": "com.amazonaws.s3#ListBucketMetricsConfigurationsOutput" }, "traits": { - "smithy.api#documentation": "

Lists the metrics configurations for the bucket. The metrics configurations are only for\n the request metrics of the bucket and do not provide information on daily storage metrics.\n You can have up to 1,000 configurations per bucket.

\n\n

This action supports list pagination and does not return more than 100 configurations\n at a time. Always check the IsTruncated element in the response. If there are\n no more configurations to list, IsTruncated is set to false. If there are more\n configurations to list, IsTruncated is set to true, and there is a value in\n NextContinuationToken. You use the NextContinuationToken value\n to continue the pagination of the list by passing the value in\n continuation-token in the request to GET the next page.

\n\n

To use this operation, you must have permissions to perform the\n s3:GetMetricsConfiguration action. The bucket owner has this permission by\n default. The bucket owner can grant this permission to others. For more information about\n permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n\n

For more information about metrics configurations and CloudWatch request metrics, see\n Monitoring Metrics with Amazon\n CloudWatch.

\n\n

The following operations are related to\n ListBucketMetricsConfigurations:

\n ", + "smithy.api#documentation": "

Lists the metrics configurations for the bucket. The metrics configurations are only for\n the request metrics of the bucket and do not provide information on daily storage metrics.\n You can have up to 1,000 configurations per bucket.

\n

This action supports list pagination and does not return more than 100 configurations\n at a time. Always check the IsTruncated element in the response. If there are\n no more configurations to list, IsTruncated is set to false. If there are more\n configurations to list, IsTruncated is set to true, and there is a value in\n NextContinuationToken. You use the NextContinuationToken value\n to continue the pagination of the list by passing the value in\n continuation-token in the request to GET the next page.

\n

To use this operation, you must have permissions to perform the\n s3:GetMetricsConfiguration action. The bucket owner has this permission by\n default. The bucket owner can grant this permission to others. For more information about\n permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

For more information about metrics configurations and CloudWatch request metrics, see\n Monitoring Metrics with Amazon\n CloudWatch.

\n

The following operations are related to\n ListBucketMetricsConfigurations:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?metrics&x-id=ListBucketMetricsConfigurations", @@ -24998,6 +27110,7 @@ } }, "traits": { + "smithy.api#output": {}, "smithy.api#xmlName": "ListMetricsConfigurationsResult" } }, @@ -25029,6 +27142,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#ListBuckets": { @@ -25065,6 +27181,7 @@ } }, "traits": { + "smithy.api#output": {}, "smithy.api#xmlName": "ListAllMyBucketsResult" } }, @@ -25077,7 +27194,7 @@ "target": "com.amazonaws.s3#ListMultipartUploadsOutput" }, "traits": { - "smithy.api#documentation": "

This action lists in-progress multipart uploads. An in-progress multipart upload is a\n multipart upload that has been initiated using the Initiate Multipart Upload request, but\n has not yet been completed or aborted.

\n\n

This action returns at most 1,000 multipart uploads in the response. 1,000 multipart\n uploads is the maximum number of uploads a response can include, which is also the default\n value. You can further limit the number of uploads in a response by specifying the\n max-uploads parameter in the response. If additional multipart uploads\n satisfy the list criteria, the response will contain an IsTruncated element\n with the value true. To list the additional multipart uploads, use the\n key-marker and upload-id-marker request parameters.

\n\n

In the response, the uploads are sorted by key. If your application has initiated more\n than one multipart upload using the same object key, then uploads in the response are first\n sorted by key. Additionally, uploads are sorted in ascending order within each key by the\n upload initiation time.

\n\n

For more information on multipart uploads, see Uploading Objects Using Multipart\n Upload.

\n\n

For information on permissions required to use the multipart upload API, see Multipart Upload and\n Permissions.

\n\n

The following operations are related to ListMultipartUploads:

\n ", + "smithy.api#documentation": "

This action lists in-progress multipart uploads. An in-progress multipart upload is a\n multipart upload that has been initiated using the Initiate Multipart Upload request, but\n has not yet been completed or aborted.

\n

This action returns at most 1,000 multipart uploads in the response. 1,000 multipart\n uploads is the maximum number of uploads a response can include, which is also the default\n value. You can further limit the number of uploads in a response by specifying the\n max-uploads parameter in the response. If additional multipart uploads\n satisfy the list criteria, the response will contain an IsTruncated element\n with the value true. To list the additional multipart uploads, use the\n key-marker and upload-id-marker request parameters.

\n

In the response, the uploads are sorted by key. If your application has initiated more\n than one multipart upload using the same object key, then uploads in the response are first\n sorted by key. Additionally, uploads are sorted in ascending order within each key by the\n upload initiation time.

\n

For more information on multipart uploads, see Uploading Objects Using Multipart\n Upload.

\n

For information on permissions required to use the multipart upload API, see Multipart Upload and\n Permissions.

\n

The following operations are related to ListMultipartUploads:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?uploads", @@ -25162,11 +27279,12 @@ "EncodingType": { "target": "com.amazonaws.s3#EncodingType", "traits": { - "smithy.api#documentation": "

Encoding type used by Amazon S3 to encode object keys in the response.

\n

If you specify encoding-type request parameter, Amazon S3 includes this element\n in the response, and returns encoded key name values in the following response\n elements:

\n\n

\n Delimiter, KeyMarker, Prefix,\n NextKeyMarker, Key.

" + "smithy.api#documentation": "

Encoding type used by Amazon S3 to encode object keys in the response.

\n

If you specify encoding-type request parameter, Amazon S3 includes this element\n in the response, and returns encoded key name values in the following response\n elements:

\n

\n Delimiter, KeyMarker, Prefix,\n NextKeyMarker, Key.

" } } }, "traits": { + "smithy.api#output": {}, "smithy.api#xmlName": "ListMultipartUploadsResult" } }, @@ -25200,7 +27318,7 @@ "KeyMarker": { "target": "com.amazonaws.s3#KeyMarker", "traits": { - "smithy.api#documentation": "

Together with upload-id-marker, this parameter specifies the multipart upload after\n which listing should begin.

\n

If upload-id-marker is not specified, only the keys lexicographically\n greater than the specified key-marker will be included in the list.

\n\n

If upload-id-marker is specified, any multipart uploads for a key equal to\n the key-marker might also be included, provided those multipart uploads have\n upload IDs lexicographically greater than the specified\n upload-id-marker.

", + "smithy.api#documentation": "

Together with upload-id-marker, this parameter specifies the multipart upload after\n which listing should begin.

\n

If upload-id-marker is not specified, only the keys lexicographically\n greater than the specified key-marker will be included in the list.

\n

If upload-id-marker is specified, any multipart uploads for a key equal to\n the key-marker might also be included, provided those multipart uploads have\n upload IDs lexicographically greater than the specified\n upload-id-marker.

", "smithy.api#httpQuery": "key-marker" } }, @@ -25233,6 +27351,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#ListObjectVersions": { @@ -25244,7 +27365,7 @@ "target": "com.amazonaws.s3#ListObjectVersionsOutput" }, "traits": { - "smithy.api#documentation": "

Returns metadata about all versions of the objects in a bucket. You can also use request\n parameters as selection criteria to return metadata about a subset of all the object\n versions.

\n \n

\n To use this operation, you must have permissions to perform the \n s3:ListBucketVersions action. Be aware of the name difference.\n

\n
\n \n

A 200 OK response can contain valid or invalid XML. Make sure to design your\n application to parse the contents of the response and handle it appropriately.

\n
\n

To use this operation, you must have READ access to the bucket.

\n

This action is not supported by Amazon S3 on Outposts.

\n

The following operations are related to\n ListObjectVersions:

\n ", + "smithy.api#documentation": "

Returns metadata about all versions of the objects in a bucket. You can also use request\n parameters as selection criteria to return metadata about a subset of all the object\n versions.

\n \n

\n To use this operation, you must have permissions to perform the \n s3:ListBucketVersions action. Be aware of the name difference.\n

\n
\n \n

A 200 OK response can contain valid or invalid XML. Make sure to design your\n application to parse the contents of the response and handle it appropriately.

\n
\n

To use this operation, you must have READ access to the bucket.

\n

This action is not supported by Amazon S3 on Outposts.

\n

The following operations are related to\n ListObjectVersions:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?versions", @@ -25337,11 +27458,12 @@ "EncodingType": { "target": "com.amazonaws.s3#EncodingType", "traits": { - "smithy.api#documentation": "

Encoding type used by Amazon S3 to encode object key names in the XML response.

\n\n

If you specify encoding-type request parameter, Amazon S3 includes this element in the\n response, and returns encoded key name values in the following response elements:

\n\n

\n KeyMarker, NextKeyMarker, Prefix, Key, and Delimiter.

" + "smithy.api#documentation": "

Encoding type used by Amazon S3 to encode object key names in the XML response.

\n

If you specify encoding-type request parameter, Amazon S3 includes this element in the\n response, and returns encoded key name values in the following response elements:

\n

\n KeyMarker, NextKeyMarker, Prefix, Key, and Delimiter.

" } } }, "traits": { + "smithy.api#output": {}, "smithy.api#xmlName": "ListVersionsResult" } }, @@ -25408,6 +27530,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#ListObjects": { @@ -25424,7 +27549,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns some or all (up to 1,000) of the objects in a bucket. You can use the request\n parameters as selection criteria to return a subset of the objects in a bucket. A 200 OK\n response can contain valid or invalid XML. Be sure to design your application to parse the\n contents of the response and handle it appropriately.

\n \n

This action has been revised. We recommend that you use the newer version, ListObjectsV2, when developing applications. For backward compatibility,\n Amazon S3 continues to support ListObjects.

\n
\n\n\n

The following operations are related to ListObjects:

\n ", + "smithy.api#documentation": "

Returns some or all (up to 1,000) of the objects in a bucket. You can use the request\n parameters as selection criteria to return a subset of the objects in a bucket. A 200 OK\n response can contain valid or invalid XML. Be sure to design your application to parse the\n contents of the response and handle it appropriately.

\n \n

This action has been revised. We recommend that you use the newer version, ListObjectsV2, when developing applications. For backward compatibility,\n Amazon S3 continues to support ListObjects.

\n
\n

The following operations are related to ListObjects:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}", @@ -25489,7 +27614,7 @@ "CommonPrefixes": { "target": "com.amazonaws.s3#CommonPrefixList", "traits": { - "smithy.api#documentation": "

All of the keys (up to 1,000) rolled up in a common prefix count as a single return when calculating\n the number of returns.

\n\n

A response can contain CommonPrefixes only if you specify a delimiter.

\n\n

CommonPrefixes contains all (if there are any) keys between Prefix and the next\n occurrence of the string specified by the delimiter.

\n\n

CommonPrefixes lists keys that act like subdirectories in the directory specified by\n Prefix.

\n\n

For example, if the prefix is notes/ and the delimiter is a slash (/) as in\n notes/summer/july, the common prefix is notes/summer/. All of the keys that roll up into a\n common prefix count as a single return when calculating the number of returns.

", + "smithy.api#documentation": "

All of the keys (up to 1,000) rolled up in a common prefix count as a single return when calculating\n the number of returns.

\n

A response can contain CommonPrefixes only if you specify a delimiter.

\n

CommonPrefixes contains all (if there are any) keys between Prefix and the next\n occurrence of the string specified by the delimiter.

\n

CommonPrefixes lists keys that act like subdirectories in the directory specified by\n Prefix.

\n

For example, if the prefix is notes/ and the delimiter is a slash (/) as in\n notes/summer/july, the common prefix is notes/summer/. All of the keys that roll up into a\n common prefix count as a single return when calculating the number of returns.

", "smithy.api#xmlFlattened": {} } }, @@ -25501,6 +27626,7 @@ } }, "traits": { + "smithy.api#output": {}, "smithy.api#xmlName": "ListBucketResult" } }, @@ -25567,6 +27693,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#ListObjectsV2": { @@ -25583,7 +27712,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns some or all (up to 1,000) of the objects in a bucket with each request. You can use\n the request parameters as selection criteria to return a subset of the objects in a bucket. A \n 200 OK response can contain valid or invalid XML. Make sure to design your\n application to parse the contents of the response and handle it appropriately. \n Objects are returned sorted in an ascending order of the respective key names in the list.\n For more information about listing objects, see Listing object keys \n programmatically\n

\n\n

To use this operation, you must have READ access to the bucket.

\n\n

To use this action in an Identity and Access Management (IAM) policy, you must\n have permissions to perform the s3:ListBucket action. The bucket owner has\n this permission by default and can grant this permission to others. For more information\n about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n \n

This section describes the latest revision of this action. We recommend that you use this\n revised API for application development. For backward compatibility, Amazon S3 continues to\n support the prior version of this API, ListObjects.

\n
\n\n

To get a list of your buckets, see ListBuckets.

\n\n

The following operations are related to ListObjectsV2:

\n ", + "smithy.api#documentation": "

Returns some or all (up to 1,000) of the objects in a bucket with each request. You can use\n the request parameters as selection criteria to return a subset of the objects in a bucket. A \n 200 OK response can contain valid or invalid XML. Make sure to design your\n application to parse the contents of the response and handle it appropriately. \n Objects are returned sorted in an ascending order of the respective key names in the list.\n For more information about listing objects, see Listing object keys \n programmatically\n

\n

To use this operation, you must have READ access to the bucket.

\n

To use this action in an Identity and Access Management (IAM) policy, you must\n have permissions to perform the s3:ListBucket action. The bucket owner has\n this permission by default and can grant this permission to others. For more information\n about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n \n

This section describes the latest revision of this action. We recommend that you use this\n revised API for application development. For backward compatibility, Amazon S3 continues to\n support the prior version of this API, ListObjects.

\n
\n

To get a list of your buckets, see ListBuckets.

\n

The following operations are related to ListObjectsV2:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?list-type=2", @@ -25641,14 +27770,14 @@ "CommonPrefixes": { "target": "com.amazonaws.s3#CommonPrefixList", "traits": { - "smithy.api#documentation": "

All of the keys (up to 1,000) rolled up into a common prefix count as a single return when calculating\n the number of returns.

\n\n

A response can contain CommonPrefixes only if you specify a\n delimiter.

\n\n

\n CommonPrefixes contains all (if there are any) keys between\n Prefix and the next occurrence of the string specified by a\n delimiter.

\n\n

\n CommonPrefixes lists keys that act like subdirectories in the directory\n specified by Prefix.

\n\n

For example, if the prefix is notes/ and the delimiter is a slash\n (/) as in notes/summer/july, the common prefix is\n notes/summer/. All of the keys that roll up into a common prefix count as a\n single return when calculating the number of returns.

", + "smithy.api#documentation": "

All of the keys (up to 1,000) rolled up into a common prefix count as a single return when calculating\n the number of returns.

\n

A response can contain CommonPrefixes only if you specify a\n delimiter.

\n

\n CommonPrefixes contains all (if there are any) keys between\n Prefix and the next occurrence of the string specified by a\n delimiter.

\n

\n CommonPrefixes lists keys that act like subdirectories in the directory\n specified by Prefix.

\n

For example, if the prefix is notes/ and the delimiter is a slash\n (/) as in notes/summer/july, the common prefix is\n notes/summer/. All of the keys that roll up into a common prefix count as a\n single return when calculating the number of returns.

", "smithy.api#xmlFlattened": {} } }, "EncodingType": { "target": "com.amazonaws.s3#EncodingType", "traits": { - "smithy.api#documentation": "

Encoding type used by Amazon S3 to encode object key names in the XML response.

\n\n

If you specify the encoding-type request parameter, Amazon S3 includes this element in the\n response, and returns encoded key name values in the following response elements:

\n\n

\n Delimiter, Prefix, Key, and StartAfter.

" + "smithy.api#documentation": "

Encoding type used by Amazon S3 to encode object key names in the XML response.

\n

If you specify the encoding-type request parameter, Amazon S3 includes this element in the\n response, and returns encoded key name values in the following response elements:

\n

\n Delimiter, Prefix, Key, and StartAfter.

" } }, "KeyCount": { @@ -25678,6 +27807,7 @@ } }, "traits": { + "smithy.api#output": {}, "smithy.api#xmlName": "ListBucketResult" } }, @@ -25760,6 +27890,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#ListParts": { @@ -25771,7 +27904,7 @@ "target": "com.amazonaws.s3#ListPartsOutput" }, "traits": { - "smithy.api#documentation": "

Lists the parts that have been uploaded for a specific multipart upload. This operation\n must include the upload ID, which you obtain by sending the initiate multipart upload\n request (see CreateMultipartUpload).\n This request returns a maximum of 1,000 uploaded parts. The default number of parts\n returned is 1,000 parts. You can restrict the number of parts returned by specifying the\n max-parts request parameter. If your multipart upload consists of more than\n 1,000 parts, the response returns an IsTruncated field with the value of true,\n and a NextPartNumberMarker element. In subsequent ListParts\n requests you can include the part-number-marker query string parameter and set its value to\n the NextPartNumberMarker field value from the previous response.

\n

If the upload was created using a checksum algorithm, you will need to have permission\n to the kms:Decrypt action for the request to succeed.\n

\n\n

For more information on multipart uploads, see Uploading Objects Using Multipart\n Upload.

\n\n

For information on permissions required to use the multipart upload API, see Multipart Upload and\n Permissions.

\n\n

The following operations are related to ListParts:

\n ", + "smithy.api#documentation": "

Lists the parts that have been uploaded for a specific multipart upload. This operation\n must include the upload ID, which you obtain by sending the initiate multipart upload\n request (see CreateMultipartUpload).\n This request returns a maximum of 1,000 uploaded parts. The default number of parts\n returned is 1,000 parts. You can restrict the number of parts returned by specifying the\n max-parts request parameter. If your multipart upload consists of more than\n 1,000 parts, the response returns an IsTruncated field with the value of true,\n and a NextPartNumberMarker element. In subsequent ListParts\n requests you can include the part-number-marker query string parameter and set its value to\n the NextPartNumberMarker field value from the previous response.

\n

If the upload was created using a checksum algorithm, you will need to have permission\n to the kms:Decrypt action for the request to succeed.\n

\n

For more information on multipart uploads, see Uploading Objects Using Multipart\n Upload.

\n

For information on permissions required to use the multipart upload API, see Multipart Upload and\n Permissions.

\n

The following operations are related to ListParts:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}/{Key+}?x-id=ListParts", @@ -25791,7 +27924,7 @@ "AbortDate": { "target": "com.amazonaws.s3#AbortDate", "traits": { - "smithy.api#documentation": "

If the bucket has a lifecycle rule configured with an action to abort incomplete\n multipart uploads and the prefix in the lifecycle rule matches the object name in the\n request, then the response includes this header indicating when the initiated multipart\n upload will become eligible for abort operation. For more information, see Aborting\n Incomplete Multipart Uploads Using a Bucket Lifecycle Policy.

\n\n

The response will also include the x-amz-abort-rule-id header that will\n provide the ID of the lifecycle configuration rule that defines this action.

", + "smithy.api#documentation": "

If the bucket has a lifecycle rule configured with an action to abort incomplete\n multipart uploads and the prefix in the lifecycle rule matches the object name in the\n request, then the response includes this header indicating when the initiated multipart\n upload will become eligible for abort operation. For more information, see Aborting\n Incomplete Multipart Uploads Using a Bucket Lifecycle Policy.

\n

The response will also include the x-amz-abort-rule-id header that will\n provide the ID of the lifecycle configuration rule that defines this action.

", "smithy.api#httpHeader": "x-amz-abort-date" } }, @@ -25886,6 +28019,7 @@ } }, "traits": { + "smithy.api#output": {}, "smithy.api#xmlName": "ListPartsResult" } }, @@ -25968,6 +28102,9 @@ "smithy.api#httpHeader": "x-amz-server-side-encryption-customer-key-MD5" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#Location": { @@ -27449,7 +29586,7 @@ "aws.protocols#httpChecksum": { "requestAlgorithmMember": "ChecksumAlgorithm" }, - "smithy.api#documentation": "

Sets the accelerate configuration of an existing bucket. Amazon S3 Transfer Acceleration is a\n bucket-level feature that enables you to perform faster data transfers to Amazon S3.

\n\n

To use this operation, you must have permission to perform the\n s3:PutAccelerateConfiguration action. The bucket owner has this permission\n by default. The bucket owner can grant this permission to others. For more information\n about permissions, see Permissions Related to Bucket Subresource Operations and Managing\n Access Permissions to Your Amazon S3 Resources.

\n\n

The Transfer Acceleration state of a bucket can be set to one of the following two\n values:

\n
    \n
  • \n

    Enabled – Enables accelerated data transfers to the bucket.

    \n
  • \n
  • \n

    Suspended – Disables accelerated data transfers to the bucket.

    \n
  • \n
\n\n\n

The GetBucketAccelerateConfiguration action returns the transfer acceleration\n state of a bucket.

\n\n

After setting the Transfer Acceleration state of a bucket to Enabled, it might take up\n to thirty minutes before the data transfer rates to the bucket increase.

\n\n

The name of the bucket used for Transfer Acceleration must be DNS-compliant and must\n not contain periods (\".\").

\n\n

For more information about transfer acceleration, see Transfer Acceleration.

\n\n

The following operations are related to\n PutBucketAccelerateConfiguration:

\n ", + "smithy.api#documentation": "

Sets the accelerate configuration of an existing bucket. Amazon S3 Transfer Acceleration is a\n bucket-level feature that enables you to perform faster data transfers to Amazon S3.

\n

To use this operation, you must have permission to perform the\n s3:PutAccelerateConfiguration action. The bucket owner has this permission\n by default. The bucket owner can grant this permission to others. For more information\n about permissions, see Permissions Related to Bucket Subresource Operations and Managing\n Access Permissions to Your Amazon S3 Resources.

\n

The Transfer Acceleration state of a bucket can be set to one of the following two\n values:

\n
    \n
  • \n

    Enabled – Enables accelerated data transfers to the bucket.

    \n
  • \n
  • \n

    Suspended – Disables accelerated data transfers to the bucket.

    \n
  • \n
\n

The GetBucketAccelerateConfiguration action returns the transfer acceleration\n state of a bucket.

\n

After setting the Transfer Acceleration state of a bucket to Enabled, it might take up\n to thirty minutes before the data transfer rates to the bucket increase.

\n

The name of the bucket used for Transfer Acceleration must be DNS-compliant and must\n not contain periods (\".\").

\n

For more information about transfer acceleration, see Transfer Acceleration.

\n

The following operations are related to\n PutBucketAccelerateConfiguration:

\n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?accelerate", @@ -27490,10 +29627,13 @@ "ChecksumAlgorithm": { "target": "com.amazonaws.s3#ChecksumAlgorithm", "traits": { - "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", + "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", "smithy.api#httpHeader": "x-amz-sdk-checksum-algorithm" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#PutBucketAcl": { @@ -27509,7 +29649,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "

Sets the permissions on an existing bucket using access control lists (ACL). For more\n information, see Using ACLs. To set\n the ACL of a bucket, you must have WRITE_ACP permission.

\n\n

You can use one of the following two ways to set a bucket's permissions:

\n
    \n
  • \n

    Specify the ACL in the request body

    \n
  • \n
  • \n

    Specify permissions using request headers

    \n
  • \n
\n\n \n

You cannot specify access permission using both the body and the request\n headers.

\n
\n\n

Depending on your application needs, you may choose to set the ACL on a bucket using\n either the request body or the headers. For example, if you have an existing application\n that updates a bucket ACL using the request body, then you can continue to use that\n approach.

\n\n \n

If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. \n You must use policies to grant access to your bucket and the objects in it. Requests to set ACLs or update ACLs fail and \n return the AccessControlListNotSupported error code. Requests to read ACLs are still supported.\n For more information, see Controlling object ownership\n in the Amazon S3 User Guide.

\n
\n

\n Access Permissions\n

\n

You can set access permissions using one of the following methods:

\n
    \n
  • \n

    Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports\n a set of predefined ACLs, known as canned ACLs. Each canned ACL\n has a predefined set of grantees and permissions. Specify the canned ACL name as the\n value of x-amz-acl. If you use this header, you cannot use other access\n control-specific headers in your request. For more information, see Canned ACL.

    \n
  • \n
  • \n

    Specify access permissions explicitly with the x-amz-grant-read,\n x-amz-grant-read-acp, x-amz-grant-write-acp, and\n x-amz-grant-full-control headers. When using these headers, you\n specify explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3 groups) who\n will receive the permission. If you use these ACL-specific headers, you cannot use\n the x-amz-acl header to set a canned ACL. These parameters map to the\n set of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL)\n Overview.

    \n

    You specify each grantee as a type=value pair, where the type is one of the\n following:

    \n
      \n
    • \n

      \n id – if the value specified is the canonical user ID of an Amazon Web Services account

      \n
    • \n
    • \n

      \n uri – if you are granting permissions to a predefined\n group

      \n
    • \n
    • \n

      \n emailAddress – if the value specified is the email address of\n an Amazon Web Services account

      \n \n

      Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

      \n
        \n
      • \n

        US East (N. Virginia)

        \n
      • \n
      • \n

        US West (N. California)

        \n
      • \n
      • \n

        US West (Oregon)

        \n
      • \n
      • \n

        Asia Pacific (Singapore)

        \n
      • \n
      • \n

        Asia Pacific (Sydney)

        \n
      • \n
      • \n

        Asia Pacific (Tokyo)

        \n
      • \n
      • \n

        Europe (Ireland)

        \n
      • \n
      • \n

        South America (SΓ£o Paulo)

        \n
      • \n
      \n

      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

      \n
      \n
    • \n
    \n

    For example, the following x-amz-grant-write header grants create,\n overwrite, and delete objects permission to LogDelivery group predefined by Amazon S3 and\n two Amazon Web Services accounts identified by their email addresses.

    \n

    \n x-amz-grant-write: uri=\"http://acs.amazonaws.com/groups/s3/LogDelivery\",\n id=\"111122223333\", id=\"555566667777\" \n

    \n\n
  • \n
\n

You can use either a canned ACL or specify access permissions explicitly. You cannot do\n both.

\n

\n Grantee Values\n

\n

You can specify the person (grantee) to whom you're assigning access rights (using\n request elements) in the following ways:

\n
    \n
  • \n

    By the person's ID:

    \n

    \n <>ID<><>GranteesEmail<>\n \n

    \n

    DisplayName is optional and ignored in the request

    \n
  • \n
  • \n

    By URI:

    \n

    \n <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>\n

    \n
  • \n
  • \n

    By Email address:

    \n

    \n <>Grantees@email.com<>lt;/Grantee>\n

    \n

    The grantee is resolved to the CanonicalUser and, in a response to a GET Object\n acl request, appears as the CanonicalUser.

    \n \n

    Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

    \n
      \n
    • \n

      US East (N. Virginia)

      \n
    • \n
    • \n

      US West (N. California)

      \n
    • \n
    • \n

      US West (Oregon)

      \n
    • \n
    • \n

      Asia Pacific (Singapore)

      \n
    • \n
    • \n

      Asia Pacific (Sydney)

      \n
    • \n
    • \n

      Asia Pacific (Tokyo)

      \n
    • \n
    • \n

      Europe (Ireland)

      \n
    • \n
    • \n

      South America (SΓ£o Paulo)

      \n
    • \n
    \n

    For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

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

\n Related Resources\n

\n ", + "smithy.api#documentation": "

Sets the permissions on an existing bucket using access control lists (ACL). For more\n information, see Using ACLs. To set\n the ACL of a bucket, you must have WRITE_ACP permission.

\n

You can use one of the following two ways to set a bucket's permissions:

\n
    \n
  • \n

    Specify the ACL in the request body

    \n
  • \n
  • \n

    Specify permissions using request headers

    \n
  • \n
\n \n

You cannot specify access permission using both the body and the request\n headers.

\n
\n

Depending on your application needs, you may choose to set the ACL on a bucket using\n either the request body or the headers. For example, if you have an existing application\n that updates a bucket ACL using the request body, then you can continue to use that\n approach.

\n \n

If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. \n You must use policies to grant access to your bucket and the objects in it. Requests to set ACLs or update ACLs fail and \n return the AccessControlListNotSupported error code. Requests to read ACLs are still supported.\n For more information, see Controlling object ownership\n in the Amazon S3 User Guide.

\n
\n

\n Access Permissions\n

\n

You can set access permissions using one of the following methods:

\n
    \n
  • \n

    Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports\n a set of predefined ACLs, known as canned ACLs. Each canned ACL\n has a predefined set of grantees and permissions. Specify the canned ACL name as the\n value of x-amz-acl. If you use this header, you cannot use other access\n control-specific headers in your request. For more information, see Canned ACL.

    \n
  • \n
  • \n

    Specify access permissions explicitly with the x-amz-grant-read,\n x-amz-grant-read-acp, x-amz-grant-write-acp, and\n x-amz-grant-full-control headers. When using these headers, you\n specify explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3 groups) who\n will receive the permission. If you use these ACL-specific headers, you cannot use\n the x-amz-acl header to set a canned ACL. These parameters map to the\n set of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL)\n Overview.

    \n

    You specify each grantee as a type=value pair, where the type is one of the\n following:

    \n
      \n
    • \n

      \n id – if the value specified is the canonical user ID of an Amazon Web Services account

      \n
    • \n
    • \n

      \n uri – if you are granting permissions to a predefined\n group

      \n
    • \n
    • \n

      \n emailAddress – if the value specified is the email address of\n an Amazon Web Services account

      \n \n

      Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

      \n
        \n
      • \n

        US East (N. Virginia)

        \n
      • \n
      • \n

        US West (N. California)

        \n
      • \n
      • \n

        US West (Oregon)

        \n
      • \n
      • \n

        Asia Pacific (Singapore)

        \n
      • \n
      • \n

        Asia Pacific (Sydney)

        \n
      • \n
      • \n

        Asia Pacific (Tokyo)

        \n
      • \n
      • \n

        Europe (Ireland)

        \n
      • \n
      • \n

        South America (SΓ£o Paulo)

        \n
      • \n
      \n

      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

      \n
      \n
    • \n
    \n

    For example, the following x-amz-grant-write header grants create,\n overwrite, and delete objects permission to LogDelivery group predefined by Amazon S3 and\n two Amazon Web Services accounts identified by their email addresses.

    \n

    \n x-amz-grant-write: uri=\"http://acs.amazonaws.com/groups/s3/LogDelivery\",\n id=\"111122223333\", id=\"555566667777\" \n

    \n
  • \n
\n

You can use either a canned ACL or specify access permissions explicitly. You cannot do\n both.

\n

\n Grantee Values\n

\n

You can specify the person (grantee) to whom you're assigning access rights (using\n request elements) in the following ways:

\n
    \n
  • \n

    By the person's ID:

    \n

    \n <>ID<><>GranteesEmail<>\n \n

    \n

    DisplayName is optional and ignored in the request

    \n
  • \n
  • \n

    By URI:

    \n

    \n <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>\n

    \n
  • \n
  • \n

    By Email address:

    \n

    \n <>Grantees@email.com<>lt;/Grantee>\n

    \n

    The grantee is resolved to the CanonicalUser and, in a response to a GET Object\n acl request, appears as the CanonicalUser.

    \n \n

    Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

    \n
      \n
    • \n

      US East (N. Virginia)

      \n
    • \n
    • \n

      US West (N. California)

      \n
    • \n
    • \n

      US West (Oregon)

      \n
    • \n
    • \n

      Asia Pacific (Singapore)

      \n
    • \n
    • \n

      Asia Pacific (Sydney)

      \n
    • \n
    • \n

      Asia Pacific (Tokyo)

      \n
    • \n
    • \n

      Europe (Ireland)

      \n
    • \n
    • \n

      South America (SΓ£o Paulo)

      \n
    • \n
    \n

    For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

    \n
    \n
  • \n
\n

\n Related Resources\n

\n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?acl", @@ -27556,7 +29696,7 @@ "ChecksumAlgorithm": { "target": "com.amazonaws.s3#ChecksumAlgorithm", "traits": { - "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", + "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", "smithy.api#httpHeader": "x-amz-sdk-checksum-algorithm" } }, @@ -27602,6 +29742,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#PutBucketAnalyticsConfiguration": { @@ -27613,7 +29756,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Sets an analytics configuration for the bucket (specified by the analytics configuration\n ID). You can have up to 1,000 analytics configurations per bucket.

\n\n

You can choose to have storage class analysis export analysis reports sent to a\n comma-separated values (CSV) flat file. See the DataExport request element.\n Reports are updated daily and are based on the object filters that you configure. When\n selecting data export, you specify a destination bucket and an optional destination prefix\n where the file is written. You can export the data to a destination bucket in a different\n account. However, the destination bucket must be in the same Region as the bucket that you\n are making the PUT analytics configuration to. For more information, see Amazon S3 Analytics – Storage Class\n Analysis.

\n\n \n

You must create a bucket policy on the destination bucket where the exported file is\n written to grant permissions to Amazon S3 to write objects to the bucket. For an example\n policy, see Granting Permissions for Amazon S3 Inventory and Storage Class Analysis.

\n
\n\n

To use this operation, you must have permissions to perform the\n s3:PutAnalyticsConfiguration action. The bucket owner has this permission\n by default. The bucket owner can grant this permission to others. For more information\n about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n\n\n

\n Special Errors\n

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

      \n HTTP Error: HTTP 400 Bad Request\n

      \n
    • \n
    • \n

      \n Code: InvalidArgument\n

      \n
    • \n
    • \n

      \n Cause: Invalid argument.\n

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

      \n HTTP Error: HTTP 400 Bad Request\n

      \n
    • \n
    • \n

      \n Code: TooManyConfigurations\n

      \n
    • \n
    • \n

      \n Cause: You are attempting to create a new configuration but have\n already reached the 1,000-configuration limit.\n

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

      \n HTTP Error: HTTP 403 Forbidden\n

      \n
    • \n
    • \n

      \n Code: AccessDenied\n

      \n
    • \n
    • \n

      \n Cause: You are not the owner of the specified bucket, or you do\n not have the s3:PutAnalyticsConfiguration bucket permission to set the\n configuration on the bucket.\n

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

\n Related Resources\n

\n ", + "smithy.api#documentation": "

Sets an analytics configuration for the bucket (specified by the analytics configuration\n ID). You can have up to 1,000 analytics configurations per bucket.

\n

You can choose to have storage class analysis export analysis reports sent to a\n comma-separated values (CSV) flat file. See the DataExport request element.\n Reports are updated daily and are based on the object filters that you configure. When\n selecting data export, you specify a destination bucket and an optional destination prefix\n where the file is written. You can export the data to a destination bucket in a different\n account. However, the destination bucket must be in the same Region as the bucket that you\n are making the PUT analytics configuration to. For more information, see Amazon S3 Analytics – Storage Class\n Analysis.

\n \n

You must create a bucket policy on the destination bucket where the exported file is\n written to grant permissions to Amazon S3 to write objects to the bucket. For an example\n policy, see Granting Permissions for Amazon S3 Inventory and Storage Class Analysis.

\n
\n

To use this operation, you must have permissions to perform the\n s3:PutAnalyticsConfiguration action. The bucket owner has this permission\n by default. The bucket owner can grant this permission to others. For more information\n about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

\n Special Errors\n

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

      \n HTTP Error: HTTP 400 Bad Request\n

      \n
    • \n
    • \n

      \n Code: InvalidArgument\n

      \n
    • \n
    • \n

      \n Cause: Invalid argument.\n

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

      \n HTTP Error: HTTP 400 Bad Request\n

      \n
    • \n
    • \n

      \n Code: TooManyConfigurations\n

      \n
    • \n
    • \n

      \n Cause: You are attempting to create a new configuration but have\n already reached the 1,000-configuration limit.\n

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

      \n HTTP Error: HTTP 403 Forbidden\n

      \n
    • \n
    • \n

      \n Code: AccessDenied\n

      \n
    • \n
    • \n

      \n Cause: You are not the owner of the specified bucket, or you do\n not have the s3:PutAnalyticsConfiguration bucket permission to set the\n configuration on the bucket.\n

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

\n Related Resources\n

\n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?analytics", @@ -27659,6 +29802,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#PutBucketCors": { @@ -27674,7 +29820,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "

Sets the cors configuration for your bucket. If the configuration exists,\n Amazon S3 replaces it.

\n

To use this operation, you must be allowed to perform the s3:PutBucketCORS\n action. By default, the bucket owner has this permission and can grant it to others.

\n

You set this configuration on a bucket so that the bucket can service cross-origin\n requests. For example, you might want to enable a request whose origin is\n http://www.example.com to access your Amazon S3 bucket at\n my.example.bucket.com by using the browser's XMLHttpRequest\n capability.

\n

To enable cross-origin resource sharing (CORS) on a bucket, you add the\n cors subresource to the bucket. The cors subresource is an XML\n document in which you configure rules that identify origins and the HTTP methods that can\n be executed on your bucket. The document is limited to 64 KB in size.

\n

When Amazon S3 receives a cross-origin request (or a pre-flight OPTIONS request) against a\n bucket, it evaluates the cors configuration on the bucket and uses the first\n CORSRule rule that matches the incoming browser request to enable a\n cross-origin request. For a rule to match, the following conditions must be met:

\n
    \n
  • \n

    The request's Origin header must match AllowedOrigin\n elements.

    \n
  • \n
  • \n

    The request method (for example, GET, PUT, HEAD, and so on) or the\n Access-Control-Request-Method header in case of a pre-flight\n OPTIONS request must be one of the AllowedMethod\n elements.

    \n
  • \n
  • \n

    Every header specified in the Access-Control-Request-Headers request\n header of a pre-flight request must match an AllowedHeader element.\n

    \n
  • \n
\n

For more information about CORS, go to Enabling\n Cross-Origin Resource Sharing in the Amazon S3 User Guide.

\n \n

\n Related Resources\n

\n ", + "smithy.api#documentation": "

Sets the cors configuration for your bucket. If the configuration exists,\n Amazon S3 replaces it.

\n

To use this operation, you must be allowed to perform the s3:PutBucketCORS\n action. By default, the bucket owner has this permission and can grant it to others.

\n

You set this configuration on a bucket so that the bucket can service cross-origin\n requests. For example, you might want to enable a request whose origin is\n http://www.example.com to access your Amazon S3 bucket at\n my.example.bucket.com by using the browser's XMLHttpRequest\n capability.

\n

To enable cross-origin resource sharing (CORS) on a bucket, you add the\n cors subresource to the bucket. The cors subresource is an XML\n document in which you configure rules that identify origins and the HTTP methods that can\n be executed on your bucket. The document is limited to 64 KB in size.

\n

When Amazon S3 receives a cross-origin request (or a pre-flight OPTIONS request) against a\n bucket, it evaluates the cors configuration on the bucket and uses the first\n CORSRule rule that matches the incoming browser request to enable a\n cross-origin request. For a rule to match, the following conditions must be met:

\n
    \n
  • \n

    The request's Origin header must match AllowedOrigin\n elements.

    \n
  • \n
  • \n

    The request method (for example, GET, PUT, HEAD, and so on) or the\n Access-Control-Request-Method header in case of a pre-flight\n OPTIONS request must be one of the AllowedMethod\n elements.

    \n
  • \n
  • \n

    Every header specified in the Access-Control-Request-Headers request\n header of a pre-flight request must match an AllowedHeader element.\n

    \n
  • \n
\n

For more information about CORS, go to Enabling\n Cross-Origin Resource Sharing in the Amazon S3 User Guide.

\n

\n Related Resources\n

\n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?cors", @@ -27715,7 +29861,7 @@ "ChecksumAlgorithm": { "target": "com.amazonaws.s3#ChecksumAlgorithm", "traits": { - "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", + "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", "smithy.api#httpHeader": "x-amz-sdk-checksum-algorithm" } }, @@ -27726,6 +29872,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#PutBucketEncryption": { @@ -27741,7 +29890,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "

This action uses the encryption subresource to configure default\n encryption and Amazon S3 Bucket Key for an existing bucket.

\n

Default encryption for a bucket can use server-side encryption with Amazon S3-managed keys\n (SSE-S3) or customer managed keys (SSE-KMS). If you specify default encryption\n using SSE-KMS, you can also configure Amazon S3 Bucket Key. When the default encryption is SSE-KMS, if\n you upload an object to the bucket and do not specify the KMS key to use for encryption, Amazon S3\n uses the default Amazon Web Services managed KMS key for your account. For information about default\n encryption, see Amazon S3 default bucket encryption\n in the Amazon S3 User Guide. For more information about S3 Bucket Keys,\n see Amazon S3 Bucket Keys in the Amazon S3 User Guide.

\n \n

This action requires Amazon Web Services Signature Version 4. For more information, see Authenticating Requests (Amazon Web Services Signature\n Version 4).

\n
\n

To use this operation, you must have permissions to perform the\n s3:PutEncryptionConfiguration action. The bucket owner has this permission\n by default. The bucket owner can grant this permission to others. For more information\n about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources in the Amazon S3 User Guide.

\n \n

\n Related Resources\n

\n ", + "smithy.api#documentation": "

This action uses the encryption subresource to configure default\n encryption and Amazon S3 Bucket Key for an existing bucket.

\n

Default encryption for a bucket can use server-side encryption with Amazon S3-managed keys\n (SSE-S3) or customer managed keys (SSE-KMS). If you specify default encryption\n using SSE-KMS, you can also configure Amazon S3 Bucket Key. When the default encryption is SSE-KMS, if\n you upload an object to the bucket and do not specify the KMS key to use for encryption, Amazon S3\n uses the default Amazon Web Services managed KMS key for your account. For information about default\n encryption, see Amazon S3 default bucket encryption\n in the Amazon S3 User Guide. For more information about S3 Bucket Keys,\n see Amazon S3 Bucket Keys in the Amazon S3 User Guide.

\n \n

This action requires Amazon Web Services Signature Version 4. For more information, see Authenticating Requests (Amazon Web Services Signature\n Version 4).

\n
\n

To use this operation, you must have permissions to perform the\n s3:PutEncryptionConfiguration action. The bucket owner has this permission\n by default. The bucket owner can grant this permission to others. For more information\n about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources in the Amazon S3 User Guide.

\n

\n Related Resources\n

\n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?encryption", @@ -27773,7 +29922,7 @@ "ChecksumAlgorithm": { "target": "com.amazonaws.s3#ChecksumAlgorithm", "traits": { - "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", + "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", "smithy.api#httpHeader": "x-amz-sdk-checksum-algorithm" } }, @@ -27792,6 +29941,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#PutBucketIntelligentTieringConfiguration": { @@ -27803,7 +29955,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Puts a S3 Intelligent-Tiering configuration to the specified bucket.\n You can have up to 1,000 S3 Intelligent-Tiering configurations per bucket.

\n

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.

\n

The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.

\n

For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.

\n

Operations related to\n PutBucketIntelligentTieringConfiguration include:

\n \n \n

You only need S3 Intelligent-Tiering enabled on a bucket if you want to automatically\n move objects stored in the S3 Intelligent-Tiering storage class to the\n Archive Access or Deep Archive Access tier.

\n
\n \n

\n Special Errors\n

\n
    \n
  • \n

    \n HTTP 400 Bad Request Error\n

    \n
      \n
    • \n

      \n Code: InvalidArgument

      \n
    • \n
    • \n

      \n Cause: Invalid Argument

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

    \n HTTP 400 Bad Request Error\n

    \n
      \n
    • \n

      \n Code: TooManyConfigurations

      \n
    • \n
    • \n

      \n Cause: You are attempting to create a new configuration\n but have already reached the 1,000-configuration limit.

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

    \n HTTP 403 Forbidden Error\n

    \n
      \n
    • \n

      \n Code: AccessDenied

      \n
    • \n
    • \n

      \n Cause: You are not the owner of the specified bucket,\n or you do not have the s3:PutIntelligentTieringConfiguration bucket\n permission to set the configuration on the bucket.

      \n
    • \n
    \n
  • \n
", + "smithy.api#documentation": "

Puts a S3 Intelligent-Tiering configuration to the specified bucket.\n You can have up to 1,000 S3 Intelligent-Tiering configurations per bucket.

\n

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.

\n

The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.

\n

For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.

\n

Operations related to\n PutBucketIntelligentTieringConfiguration include:

\n \n \n

You only need S3 Intelligent-Tiering enabled on a bucket if you want to automatically\n move objects stored in the S3 Intelligent-Tiering storage class to the\n Archive Access or Deep Archive Access tier.

\n
\n

\n Special Errors\n

\n
    \n
  • \n

    \n HTTP 400 Bad Request Error\n

    \n
      \n
    • \n

      \n Code: InvalidArgument

      \n
    • \n
    • \n

      \n Cause: Invalid Argument

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

    \n HTTP 400 Bad Request Error\n

    \n
      \n
    • \n

      \n Code: TooManyConfigurations

      \n
    • \n
    • \n

      \n Cause: You are attempting to create a new configuration\n but have already reached the 1,000-configuration limit.

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

    \n HTTP 403 Forbidden Error\n

    \n
      \n
    • \n

      \n Code: AccessDenied

      \n
    • \n
    • \n

      \n Cause: You are not the owner of the specified bucket,\n or you do not have the s3:PutIntelligentTieringConfiguration bucket\n permission to set the configuration on the bucket.

      \n
    • \n
    \n
  • \n
", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?intelligent-tiering", @@ -27842,6 +29994,9 @@ "smithy.api#xmlName": "IntelligentTieringConfiguration" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#PutBucketInventoryConfiguration": { @@ -27853,7 +30008,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

This implementation of the PUT action adds an inventory configuration\n (identified by the inventory ID) to the bucket. You can have up to 1,000 inventory\n configurations per bucket.

\n

Amazon S3 inventory generates inventories of the objects in the bucket on a daily or weekly\n basis, and the results are published to a flat file. The bucket that is inventoried is\n called the source bucket, and the bucket where the inventory flat file\n is stored is called the destination bucket. The\n destination bucket must be in the same Amazon Web Services Region as the\n source bucket.

\n

When you configure an inventory for a source bucket, you specify\n the destination bucket where you want the inventory to be stored, and\n whether to generate the inventory daily or weekly. You can also configure what object\n metadata to include and whether to inventory all object versions or only current versions.\n For more information, see Amazon S3\n Inventory in the Amazon S3 User Guide.

\n \n

You must create a bucket policy on the destination bucket to\n grant permissions to Amazon S3 to write objects to the bucket in the defined location. For an\n example policy, see \n Granting Permissions for Amazon S3 Inventory and Storage Class Analysis.

\n
\n

To use this operation, you must have permissions to perform the\n s3:PutInventoryConfiguration action. The bucket owner has this permission\n by default and can grant this permission to others. For more information about permissions,\n see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources in the Amazon S3 User Guide.

\n \n

\n Special Errors\n

\n
    \n
  • \n

    \n HTTP 400 Bad Request Error\n

    \n
      \n
    • \n

      \n Code: InvalidArgument

      \n
    • \n
    • \n

      \n Cause: Invalid Argument

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

    \n HTTP 400 Bad Request Error\n

    \n
      \n
    • \n

      \n Code: TooManyConfigurations

      \n
    • \n
    • \n

      \n Cause: You are attempting to create a new configuration\n but have already reached the 1,000-configuration limit.

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

    \n HTTP 403 Forbidden Error\n

    \n
      \n
    • \n

      \n Code: AccessDenied

      \n
    • \n
    • \n

      \n Cause: You are not the owner of the specified bucket,\n or you do not have the s3:PutInventoryConfiguration bucket\n permission to set the configuration on the bucket.

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

\n Related Resources\n

\n ", + "smithy.api#documentation": "

This implementation of the PUT action adds an inventory configuration\n (identified by the inventory ID) to the bucket. You can have up to 1,000 inventory\n configurations per bucket.

\n

Amazon S3 inventory generates inventories of the objects in the bucket on a daily or weekly\n basis, and the results are published to a flat file. The bucket that is inventoried is\n called the source bucket, and the bucket where the inventory flat file\n is stored is called the destination bucket. The\n destination bucket must be in the same Amazon Web Services Region as the\n source bucket.

\n

When you configure an inventory for a source bucket, you specify\n the destination bucket where you want the inventory to be stored, and\n whether to generate the inventory daily or weekly. You can also configure what object\n metadata to include and whether to inventory all object versions or only current versions.\n For more information, see Amazon S3\n Inventory in the Amazon S3 User Guide.

\n \n

You must create a bucket policy on the destination bucket to\n grant permissions to Amazon S3 to write objects to the bucket in the defined location. For an\n example policy, see \n Granting Permissions for Amazon S3 Inventory and Storage Class Analysis.

\n
\n

To use this operation, you must have permissions to perform the\n s3:PutInventoryConfiguration action. The bucket owner has this permission\n by default and can grant this permission to others. For more information about permissions,\n see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources in the Amazon S3 User Guide.

\n

\n Special Errors\n

\n
    \n
  • \n

    \n HTTP 400 Bad Request Error\n

    \n
      \n
    • \n

      \n Code: InvalidArgument

      \n
    • \n
    • \n

      \n Cause: Invalid Argument

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

    \n HTTP 400 Bad Request Error\n

    \n
      \n
    • \n

      \n Code: TooManyConfigurations

      \n
    • \n
    • \n

      \n Cause: You are attempting to create a new configuration\n but have already reached the 1,000-configuration limit.

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

    \n HTTP 403 Forbidden Error\n

    \n
      \n
    • \n

      \n Code: AccessDenied

      \n
    • \n
    • \n

      \n Cause: You are not the owner of the specified bucket,\n or you do not have the s3:PutInventoryConfiguration bucket\n permission to set the configuration on the bucket.

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

\n Related Resources\n

\n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?inventory", @@ -27899,6 +30054,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#PutBucketLifecycleConfiguration": { @@ -27914,7 +30072,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "

Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle\n configuration. Keep in mind that this will overwrite an existing lifecycle configuration, so if\n you want to retain any configuration details, they must be included in the new lifecycle\n configuration. For information about lifecycle configuration, see Managing your storage\n lifecycle.

\n\n \n

Bucket lifecycle configuration now supports specifying a lifecycle rule using an\n object key name prefix, one or more object tags, or a combination of both. Accordingly,\n this section describes the latest API. The previous version of the API supported\n filtering based only on an object key name prefix, which is supported for backward\n compatibility. For the related API description, see PutBucketLifecycle.

\n
\n\n \n\n

\n Rules\n

\n

You specify the lifecycle configuration in your request body. The lifecycle\n configuration is specified as XML consisting of one or more rules. An Amazon S3 Lifecycle\n configuration can have up to 1,000 rules. This limit is not adjustable. Each rule consists\n of the following:

\n\n
    \n
  • \n

    Filter identifying a subset of objects to which the rule applies. The filter can\n be based on a key name prefix, object tags, or a combination of both.

    \n
  • \n
  • \n

    Status whether the rule is in effect.

    \n
  • \n
  • \n

    One or more lifecycle transition and expiration actions that you want Amazon S3 to\n perform on the objects identified by the filter. If the state of your bucket is\n versioning-enabled or versioning-suspended, you can have many versions of the same\n object (one current version and zero or more noncurrent versions). Amazon S3 provides\n predefined actions that you can specify for current and noncurrent object\n versions.

    \n
  • \n
\n\n

For more information, see Object\n Lifecycle Management and Lifecycle Configuration Elements.

\n\n\n

\n Permissions\n

\n\n\n

By default, all Amazon S3 resources are private, including buckets, objects, and related\n subresources (for example, lifecycle configuration and website configuration). Only the\n resource owner (that is, the Amazon Web Services account that created it) can access the resource. The\n resource owner can optionally grant access permissions to others by writing an access\n policy. For this operation, a user must get the s3:PutLifecycleConfiguration\n permission.

\n\n

You can also explicitly deny permissions. Explicit deny also supersedes any other\n permissions. If you want to block users or accounts from removing or deleting objects from\n your bucket, you must deny them permissions for the following actions:

\n\n
    \n
  • \n

    \n s3:DeleteObject\n

    \n
  • \n
  • \n

    \n s3:DeleteObjectVersion\n

    \n
  • \n
  • \n

    \n s3:PutLifecycleConfiguration\n

    \n
  • \n
\n\n\n

For more information about permissions, see Managing Access Permissions to Your Amazon S3\n Resources.

\n\n

The following are related to PutBucketLifecycleConfiguration:

\n ", + "smithy.api#documentation": "

Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle\n configuration. Keep in mind that this will overwrite an existing lifecycle configuration, so if\n you want to retain any configuration details, they must be included in the new lifecycle\n configuration. For information about lifecycle configuration, see Managing your storage\n lifecycle.

\n \n

Bucket lifecycle configuration now supports specifying a lifecycle rule using an\n object key name prefix, one or more object tags, or a combination of both. Accordingly,\n this section describes the latest API. The previous version of the API supported\n filtering based only on an object key name prefix, which is supported for backward\n compatibility. For the related API description, see PutBucketLifecycle.

\n
\n

\n Rules\n

\n

You specify the lifecycle configuration in your request body. The lifecycle\n configuration is specified as XML consisting of one or more rules. An Amazon S3 Lifecycle\n configuration can have up to 1,000 rules. This limit is not adjustable. Each rule consists\n of the following:

\n
    \n
  • \n

    Filter identifying a subset of objects to which the rule applies. The filter can\n be based on a key name prefix, object tags, or a combination of both.

    \n
  • \n
  • \n

    Status whether the rule is in effect.

    \n
  • \n
  • \n

    One or more lifecycle transition and expiration actions that you want Amazon S3 to\n perform on the objects identified by the filter. If the state of your bucket is\n versioning-enabled or versioning-suspended, you can have many versions of the same\n object (one current version and zero or more noncurrent versions). Amazon S3 provides\n predefined actions that you can specify for current and noncurrent object\n versions.

    \n
  • \n
\n

For more information, see Object\n Lifecycle Management and Lifecycle Configuration Elements.

\n

\n Permissions\n

\n

By default, all Amazon S3 resources are private, including buckets, objects, and related\n subresources (for example, lifecycle configuration and website configuration). Only the\n resource owner (that is, the Amazon Web Services account that created it) can access the resource. The\n resource owner can optionally grant access permissions to others by writing an access\n policy. For this operation, a user must get the s3:PutLifecycleConfiguration\n permission.

\n

You can also explicitly deny permissions. Explicit deny also supersedes any other\n permissions. If you want to block users or accounts from removing or deleting objects from\n your bucket, you must deny them permissions for the following actions:

\n
    \n
  • \n

    \n s3:DeleteObject\n

    \n
  • \n
  • \n

    \n s3:DeleteObjectVersion\n

    \n
  • \n
  • \n

    \n s3:PutLifecycleConfiguration\n

    \n
  • \n
\n

For more information about permissions, see Managing Access Permissions to Your Amazon S3\n Resources.

\n

The following are related to PutBucketLifecycleConfiguration:

\n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?lifecycle", @@ -27939,7 +30097,7 @@ "ChecksumAlgorithm": { "target": "com.amazonaws.s3#ChecksumAlgorithm", "traits": { - "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", + "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", "smithy.api#httpHeader": "x-amz-sdk-checksum-algorithm" } }, @@ -27958,6 +30116,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#PutBucketLogging": { @@ -27973,7 +30134,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "

Set the logging parameters for a bucket and to specify permissions for who can view and\n modify the logging parameters. All logs are saved to buckets in the same Amazon Web Services Region as the\n source bucket. To set the logging status of a bucket, you must be the bucket owner.

\n\n

The bucket owner is automatically granted FULL_CONTROL to all logs. You use the Grantee request element to grant access to other people. The\n Permissions request element specifies the kind of access the grantee has to\n the logs.

\n \n

If the target bucket for log delivery uses the bucket owner enforced\n setting for S3 Object Ownership, you can't use the Grantee request element\n to grant access to others. Permissions can only be granted using policies. For more information, see Permissions for server access log delivery in the\n Amazon S3 User Guide.

\n
\n\n

\n Grantee Values\n

\n

You can specify the person (grantee) to whom you're assigning access rights (using\n request elements) in the following ways:

\n\n
    \n
  • \n

    By the person's ID:

    \n

    \n <>ID<><>GranteesEmail<>\n \n

    \n

    DisplayName is optional and ignored in the request.

    \n
  • \n
  • \n

    By Email address:

    \n

    \n <>Grantees@email.com<>\n

    \n

    The grantee is resolved to the CanonicalUser and, in a response to a GET Object\n acl request, appears as the CanonicalUser.

    \n
  • \n
  • \n

    By URI:

    \n

    \n <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>\n

    \n
  • \n
\n\n\n

To enable logging, you use LoggingEnabled and its children request elements. To disable\n logging, you use an empty BucketLoggingStatus request element:

\n\n

\n \n

\n\n

For more information about server access logging, see Server Access Logging in the Amazon S3 User Guide.

\n\n

For more information about creating a bucket, see CreateBucket. For more\n information about returning the logging status of a bucket, see GetBucketLogging.

\n\n

The following operations are related to PutBucketLogging:

\n ", + "smithy.api#documentation": "

Set the logging parameters for a bucket and to specify permissions for who can view and\n modify the logging parameters. All logs are saved to buckets in the same Amazon Web Services Region as the\n source bucket. To set the logging status of a bucket, you must be the bucket owner.

\n

The bucket owner is automatically granted FULL_CONTROL to all logs. You use the Grantee request element to grant access to other people. The\n Permissions request element specifies the kind of access the grantee has to\n the logs.

\n \n

If the target bucket for log delivery uses the bucket owner enforced\n setting for S3 Object Ownership, you can't use the Grantee request element\n to grant access to others. Permissions can only be granted using policies. For more information, see Permissions for server access log delivery in the\n Amazon S3 User Guide.

\n
\n

\n Grantee Values\n

\n

You can specify the person (grantee) to whom you're assigning access rights (using\n request elements) in the following ways:

\n
    \n
  • \n

    By the person's ID:

    \n

    \n <>ID<><>GranteesEmail<>\n \n

    \n

    DisplayName is optional and ignored in the request.

    \n
  • \n
  • \n

    By Email address:

    \n

    \n <>Grantees@email.com<>\n

    \n

    The grantee is resolved to the CanonicalUser and, in a response to a GET Object\n acl request, appears as the CanonicalUser.

    \n
  • \n
  • \n

    By URI:

    \n

    \n <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>\n

    \n
  • \n
\n

To enable logging, you use LoggingEnabled and its children request elements. To disable\n logging, you use an empty BucketLoggingStatus request element:

\n

\n \n

\n

For more information about server access logging, see Server Access Logging in the Amazon S3 User Guide.

\n

For more information about creating a bucket, see CreateBucket. For more\n information about returning the logging status of a bucket, see GetBucketLogging.

\n

The following operations are related to PutBucketLogging:

\n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?logging", @@ -28014,7 +30175,7 @@ "ChecksumAlgorithm": { "target": "com.amazonaws.s3#ChecksumAlgorithm", "traits": { - "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", + "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", "smithy.api#httpHeader": "x-amz-sdk-checksum-algorithm" } }, @@ -28025,6 +30186,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#PutBucketMetricsConfiguration": { @@ -28036,7 +30200,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Sets a metrics configuration (specified by the metrics configuration ID) for the bucket.\n You can have up to 1,000 metrics configurations per bucket. If you're updating an existing\n metrics configuration, note that this is a full replacement of the existing metrics\n configuration. If you don't include the elements you want to keep, they are erased.

\n\n

To use this operation, you must have permissions to perform the\n s3:PutMetricsConfiguration action. The bucket owner has this permission by\n default. The bucket owner can grant this permission to others. For more information about\n permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n\n

For information about CloudWatch request metrics for Amazon S3, see Monitoring Metrics with Amazon\n CloudWatch.

\n\n

The following operations are related to\n PutBucketMetricsConfiguration:

\n \n\n

\n GetBucketLifecycle has the following special error:

\n
    \n
  • \n

    Error code: TooManyConfigurations\n

    \n
      \n
    • \n

      Description: You are attempting to create a new configuration but have\n already reached the 1,000-configuration limit.

      \n
    • \n
    • \n

      HTTP Status Code: HTTP 400 Bad Request

      \n
    • \n
    \n
  • \n
", + "smithy.api#documentation": "

Sets a metrics configuration (specified by the metrics configuration ID) for the bucket.\n You can have up to 1,000 metrics configurations per bucket. If you're updating an existing\n metrics configuration, note that this is a full replacement of the existing metrics\n configuration. If you don't include the elements you want to keep, they are erased.

\n

To use this operation, you must have permissions to perform the\n s3:PutMetricsConfiguration action. The bucket owner has this permission by\n default. The bucket owner can grant this permission to others. For more information about\n permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

For information about CloudWatch request metrics for Amazon S3, see Monitoring Metrics with Amazon\n CloudWatch.

\n

The following operations are related to\n PutBucketMetricsConfiguration:

\n \n

\n GetBucketLifecycle has the following special error:

\n
    \n
  • \n

    Error code: TooManyConfigurations\n

    \n
      \n
    • \n

      Description: You are attempting to create a new configuration but have\n already reached the 1,000-configuration limit.

      \n
    • \n
    • \n

      HTTP Status Code: HTTP 400 Bad Request

      \n
    • \n
    \n
  • \n
", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?metrics", @@ -28082,6 +30246,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#PutBucketNotificationConfiguration": { @@ -28093,7 +30260,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Enables notifications of specified events for a bucket. For more information about event\n notifications, see Configuring Event\n Notifications.

\n\n

Using this API, you can replace an existing notification configuration. The\n configuration is an XML file that defines the event types that you want Amazon S3 to publish and\n the destination where you want Amazon S3 to publish an event notification when it detects an\n event of the specified type.

\n\n

By default, your bucket has no event notifications configured. That is, the notification\n configuration will be an empty NotificationConfiguration.

\n\n

\n \n

\n

\n \n

\n

This action replaces the existing notification configuration with the configuration\n you include in the request body.

\n\n

After Amazon S3 receives this request, it first verifies that any Amazon Simple Notification\n Service (Amazon SNS) or Amazon Simple Queue Service (Amazon SQS) destination exists, and\n that the bucket owner has permission to publish to it by sending a test notification. In\n the case of Lambda destinations, Amazon S3 verifies that the Lambda function permissions\n grant Amazon S3 permission to invoke the function from the Amazon S3 bucket. For more information,\n see Configuring Notifications for Amazon S3\n Events.

\n\n

You can disable notifications by adding the empty NotificationConfiguration\n element.

\n

For more information about the number of event notification configurations that you can create per bucket, see\n Amazon S3 service quotas in Amazon Web Services General Reference.

\n

By default, only the bucket owner can configure notifications on a bucket. However,\n bucket owners can use a bucket policy to grant permission to other users to set this\n configuration with s3:PutBucketNotification permission.

\n\n \n

The PUT notification is an atomic operation. For example, suppose your notification\n configuration includes SNS topic, SQS queue, and Lambda function configurations. When\n you send a PUT request with this configuration, Amazon S3 sends test messages to your SNS\n topic. If the message fails, the entire PUT action will fail, and Amazon S3 will not add\n the configuration to your bucket.

\n
\n\n

\n Responses\n

\n

If the configuration in the request body includes only one\n TopicConfiguration specifying only the\n s3:ReducedRedundancyLostObject event type, the response will also include\n the x-amz-sns-test-message-id header containing the message ID of the test\n notification sent to the topic.

\n\n

The following action is related to\n PutBucketNotificationConfiguration:

\n ", + "smithy.api#documentation": "

Enables notifications of specified events for a bucket. For more information about event\n notifications, see Configuring Event\n Notifications.

\n

Using this API, you can replace an existing notification configuration. The\n configuration is an XML file that defines the event types that you want Amazon S3 to publish and\n the destination where you want Amazon S3 to publish an event notification when it detects an\n event of the specified type.

\n

By default, your bucket has no event notifications configured. That is, the notification\n configuration will be an empty NotificationConfiguration.

\n

\n \n

\n

\n \n

\n

This action replaces the existing notification configuration with the configuration\n you include in the request body.

\n

After Amazon S3 receives this request, it first verifies that any Amazon Simple Notification\n Service (Amazon SNS) or Amazon Simple Queue Service (Amazon SQS) destination exists, and\n that the bucket owner has permission to publish to it by sending a test notification. In\n the case of Lambda destinations, Amazon S3 verifies that the Lambda function permissions\n grant Amazon S3 permission to invoke the function from the Amazon S3 bucket. For more information,\n see Configuring Notifications for Amazon S3\n Events.

\n

You can disable notifications by adding the empty NotificationConfiguration\n element.

\n

For more information about the number of event notification configurations that you can create per bucket, see\n Amazon S3 service quotas in Amazon Web Services General Reference.

\n

By default, only the bucket owner can configure notifications on a bucket. However,\n bucket owners can use a bucket policy to grant permission to other users to set this\n configuration with s3:PutBucketNotification permission.

\n \n

The PUT notification is an atomic operation. For example, suppose your notification\n configuration includes SNS topic, SQS queue, and Lambda function configurations. When\n you send a PUT request with this configuration, Amazon S3 sends test messages to your SNS\n topic. If the message fails, the entire PUT action will fail, and Amazon S3 will not add\n the configuration to your bucket.

\n
\n

\n Responses\n

\n

If the configuration in the request body includes only one\n TopicConfiguration specifying only the\n s3:ReducedRedundancyLostObject event type, the response will also include\n the x-amz-sns-test-message-id header containing the message ID of the test\n notification sent to the topic.

\n

The following action is related to\n PutBucketNotificationConfiguration:

\n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?notification", @@ -28138,6 +30305,9 @@ "smithy.api#httpHeader": "x-amz-skip-destination-validation" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#PutBucketOwnershipControls": { @@ -28197,6 +30367,9 @@ "smithy.api#xmlName": "OwnershipControls" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#PutBucketPolicy": { @@ -28212,7 +30385,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "

Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity other than\n the root user of the Amazon Web Services account that owns the bucket, the calling identity must have the\n PutBucketPolicy permissions on the specified bucket and belong to the\n bucket owner's account in order to use this operation.

\n\n

If you don't have PutBucketPolicy permissions, Amazon S3 returns a 403\n Access Denied error. If you have the correct permissions, but you're not using an\n identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not\n Allowed error.

\n\n \n

As a security precaution, the root user of the Amazon Web Services account that owns a bucket can\n always use this operation, even if the policy explicitly denies the root user the\n ability to perform this action.

\n
\n

For more information, see Bucket policy examples.

\n\n

The following operations are related to PutBucketPolicy:

\n ", + "smithy.api#documentation": "

Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity other than\n the root user of the Amazon Web Services account that owns the bucket, the calling identity must have the\n PutBucketPolicy permissions on the specified bucket and belong to the\n bucket owner's account in order to use this operation.

\n

If you don't have PutBucketPolicy permissions, Amazon S3 returns a 403\n Access Denied error. If you have the correct permissions, but you're not using an\n identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not\n Allowed error.

\n \n

As a security precaution, the root user of the Amazon Web Services account that owns a bucket can\n always use this operation, even if the policy explicitly denies the root user the\n ability to perform this action.

\n
\n

For more information, see Bucket policy examples.

\n

The following operations are related to PutBucketPolicy:

\n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?policy", @@ -28244,7 +30417,7 @@ "ChecksumAlgorithm": { "target": "com.amazonaws.s3#ChecksumAlgorithm", "traits": { - "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", + "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", "smithy.api#httpHeader": "x-amz-sdk-checksum-algorithm" } }, @@ -28271,6 +30444,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#PutBucketReplication": { @@ -28286,7 +30462,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "

Creates a replication configuration or replaces an existing one. For more information,\n see Replication in the Amazon S3 User Guide.

\n \n

Specify the replication configuration in the request body. In the replication\n configuration, you provide the name of the destination bucket or buckets where you want\n Amazon S3 to replicate objects, the IAM role that Amazon S3 can assume to replicate objects on your\n behalf, and other relevant information.

\n\n\n

A replication configuration must include at least one rule, and can contain a maximum of\n 1,000. Each rule identifies a subset of objects to replicate by filtering the objects in\n the source bucket. To choose additional subsets of objects to replicate, add a rule for\n each subset.

\n\n

To specify a subset of the objects in the source bucket to apply a replication rule to,\n add the Filter element as a child of the Rule element. You can filter objects based on an\n object key prefix, one or more object tags, or both. When you add the Filter element in the\n configuration, you must also add the following elements:\n DeleteMarkerReplication, Status, and\n Priority.

\n \n

If you are using an earlier version of the replication configuration, Amazon S3 handles\n replication of delete markers differently. For more information, see Backward Compatibility.

\n
\n

For information about enabling versioning on a bucket, see Using Versioning.

\n\n

\n Handling Replication of Encrypted Objects\n

\n

By default, Amazon S3 doesn't replicate objects that are stored at rest using server-side\n encryption with KMS keys. To replicate Amazon Web Services KMS-encrypted objects, add the\n following: SourceSelectionCriteria, SseKmsEncryptedObjects,\n Status, EncryptionConfiguration, and\n ReplicaKmsKeyID. For information about replication configuration, see\n Replicating Objects\n Created with SSE Using KMS keys.

\n\n

For information on PutBucketReplication errors, see List of\n replication-related error codes\n

\n\n

\n Permissions\n

\n

To create a PutBucketReplication request, you must have s3:PutReplicationConfiguration \n permissions for the bucket. \n

\n

By default, a resource owner, in this case the Amazon Web Services account that created the bucket, can\n perform this operation. The resource owner can also grant others permissions to perform the\n operation. For more information about permissions, see Specifying Permissions in a Policy\n and Managing Access Permissions to Your\n Amazon S3 Resources.

\n \n

To perform this operation, the user or role performing the action must have the\n iam:PassRole permission.

\n
\n\n

The following operations are related to PutBucketReplication:

\n ", + "smithy.api#documentation": "

Creates a replication configuration or replaces an existing one. For more information,\n see Replication in the Amazon S3 User Guide.

\n

Specify the replication configuration in the request body. In the replication\n configuration, you provide the name of the destination bucket or buckets where you want\n Amazon S3 to replicate objects, the IAM role that Amazon S3 can assume to replicate objects on your\n behalf, and other relevant information.

\n

A replication configuration must include at least one rule, and can contain a maximum of\n 1,000. Each rule identifies a subset of objects to replicate by filtering the objects in\n the source bucket. To choose additional subsets of objects to replicate, add a rule for\n each subset.

\n

To specify a subset of the objects in the source bucket to apply a replication rule to,\n add the Filter element as a child of the Rule element. You can filter objects based on an\n object key prefix, one or more object tags, or both. When you add the Filter element in the\n configuration, you must also add the following elements:\n DeleteMarkerReplication, Status, and\n Priority.

\n \n

If you are using an earlier version of the replication configuration, Amazon S3 handles\n replication of delete markers differently. For more information, see Backward Compatibility.

\n
\n

For information about enabling versioning on a bucket, see Using Versioning.

\n

\n Handling Replication of Encrypted Objects\n

\n

By default, Amazon S3 doesn't replicate objects that are stored at rest using server-side\n encryption with KMS keys. To replicate Amazon Web Services KMS-encrypted objects, add the\n following: SourceSelectionCriteria, SseKmsEncryptedObjects,\n Status, EncryptionConfiguration, and\n ReplicaKmsKeyID. For information about replication configuration, see\n Replicating Objects\n Created with SSE Using KMS keys.

\n

For information on PutBucketReplication errors, see List of\n replication-related error codes\n

\n

\n Permissions\n

\n

To create a PutBucketReplication request, you must have s3:PutReplicationConfiguration \n permissions for the bucket. \n

\n

By default, a resource owner, in this case the Amazon Web Services account that created the bucket, can\n perform this operation. The resource owner can also grant others permissions to perform the\n operation. For more information about permissions, see Specifying Permissions in a Policy\n and Managing Access Permissions to Your\n Amazon S3 Resources.

\n \n

To perform this operation, the user or role performing the action must have the\n iam:PassRole permission.

\n
\n

The following operations are related to PutBucketReplication:

\n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?replication", @@ -28318,7 +30494,7 @@ "ChecksumAlgorithm": { "target": "com.amazonaws.s3#ChecksumAlgorithm", "traits": { - "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", + "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", "smithy.api#httpHeader": "x-amz-sdk-checksum-algorithm" } }, @@ -28344,6 +30520,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#PutBucketRequestPayment": { @@ -28359,7 +30538,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "

Sets the request payment configuration for a bucket. By default, the bucket owner pays\n for downloads from the bucket. This configuration parameter enables the bucket owner (only)\n to specify that the person requesting the download will be charged for the download. For\n more information, see Requester Pays\n Buckets.

\n\n

The following operations are related to PutBucketRequestPayment:

\n ", + "smithy.api#documentation": "

Sets the request payment configuration for a bucket. By default, the bucket owner pays\n for downloads from the bucket. This configuration parameter enables the bucket owner (only)\n to specify that the person requesting the download will be charged for the download. For\n more information, see Requester Pays\n Buckets.

\n

The following operations are related to PutBucketRequestPayment:

\n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?requestPayment", @@ -28391,7 +30570,7 @@ "ChecksumAlgorithm": { "target": "com.amazonaws.s3#ChecksumAlgorithm", "traits": { - "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", + "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", "smithy.api#httpHeader": "x-amz-sdk-checksum-algorithm" } }, @@ -28411,6 +30590,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#PutBucketTagging": { @@ -28426,7 +30608,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "

Sets the tags for a bucket.

\n

Use tags to organize your Amazon Web Services bill to reflect your own cost structure. To do this, sign\n up to get your Amazon Web Services account bill with tag key values included. Then, to see the cost of\n combined resources, organize your billing information according to resources with the same\n tag key values. For example, you can tag several resources with a specific application\n name, and then organize your billing information to see the total cost of that application\n across several services. For more information, see Cost Allocation\n and Tagging and Using Cost Allocation in Amazon S3 Bucket\n Tags.

\n\n \n

\n When this operation sets the tags for a bucket, it will overwrite any current tags the \n bucket already has. You cannot use this operation to add tags to an existing list of tags.

\n
\n

To use this operation, you must have permissions to perform the\n s3:PutBucketTagging action. The bucket owner has this permission by default\n and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n\n

\n PutBucketTagging has the following special errors:

\n
    \n
  • \n

    Error code: InvalidTagError\n

    \n \n
  • \n
  • \n

    Error code: MalformedXMLError\n

    \n
      \n
    • \n

      Description: The XML provided does not match the schema.

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

    Error code: OperationAbortedError \n

    \n
      \n
    • \n

      Description: A conflicting conditional action is currently in progress\n against this resource. Please try again.

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

    Error code: InternalError\n

    \n
      \n
    • \n

      Description: The service was unable to apply the provided tag to the\n bucket.

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

The following operations are related to PutBucketTagging:

\n ", + "smithy.api#documentation": "

Sets the tags for a bucket.

\n

Use tags to organize your Amazon Web Services bill to reflect your own cost structure. To do this, sign\n up to get your Amazon Web Services account bill with tag key values included. Then, to see the cost of\n combined resources, organize your billing information according to resources with the same\n tag key values. For example, you can tag several resources with a specific application\n name, and then organize your billing information to see the total cost of that application\n across several services. For more information, see Cost Allocation\n and Tagging and Using Cost Allocation in Amazon S3 Bucket\n Tags.

\n \n

\n When this operation sets the tags for a bucket, it will overwrite any current tags the \n bucket already has. You cannot use this operation to add tags to an existing list of tags.

\n
\n

To use this operation, you must have permissions to perform the\n s3:PutBucketTagging action. The bucket owner has this permission by default\n and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

\n PutBucketTagging has the following special errors:

\n
    \n
  • \n

    Error code: InvalidTagError\n

    \n \n
  • \n
  • \n

    Error code: MalformedXMLError\n

    \n
      \n
    • \n

      Description: The XML provided does not match the schema.

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

    Error code: OperationAbortedError \n

    \n
      \n
    • \n

      Description: A conflicting conditional action is currently in progress\n against this resource. Please try again.

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

    Error code: InternalError\n

    \n
      \n
    • \n

      Description: The service was unable to apply the provided tag to the\n bucket.

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

The following operations are related to PutBucketTagging:

\n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?tagging", @@ -28458,7 +30640,7 @@ "ChecksumAlgorithm": { "target": "com.amazonaws.s3#ChecksumAlgorithm", "traits": { - "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", + "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", "smithy.api#httpHeader": "x-amz-sdk-checksum-algorithm" } }, @@ -28478,6 +30660,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#PutBucketVersioning": { @@ -28493,7 +30678,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "

Sets the versioning state of an existing bucket.

\n

You can set the versioning state with one of the following values:

\n\n

\n Enabledβ€”Enables versioning for the objects in the\n bucket. All objects added to the bucket receive a unique version ID.

\n\n

\n Suspendedβ€”Disables versioning for the objects in the\n bucket. All objects added to the bucket receive the version ID null.

\n\n

If the versioning state has never been set on a bucket, it has no versioning state; a\n GetBucketVersioning request does not return a versioning state value.

\n\n

In order to enable MFA Delete, you must be the bucket owner. If you are the bucket owner\n and want to enable MFA Delete in the bucket versioning configuration, you must\n include the x-amz-mfa request header and the\n Status and the MfaDelete request elements in a request to set\n the versioning state of the bucket.

\n\n \n

If you have an object expiration lifecycle policy in your non-versioned bucket and\n you want to maintain the same permanent delete behavior when you enable versioning, you\n must add a noncurrent expiration policy. The noncurrent expiration lifecycle policy will\n manage the deletes of the noncurrent object versions in the version-enabled bucket. (A\n version-enabled bucket maintains one current and zero or more noncurrent object\n versions.) For more information, see Lifecycle and Versioning.

\n
\n\n

\n Related Resources\n

\n ", + "smithy.api#documentation": "

Sets the versioning state of an existing bucket.

\n

You can set the versioning state with one of the following values:

\n

\n Enabledβ€”Enables versioning for the objects in the\n bucket. All objects added to the bucket receive a unique version ID.

\n

\n Suspendedβ€”Disables versioning for the objects in the\n bucket. All objects added to the bucket receive the version ID null.

\n

If the versioning state has never been set on a bucket, it has no versioning state; a\n GetBucketVersioning request does not return a versioning state value.

\n

In order to enable MFA Delete, you must be the bucket owner. If you are the bucket owner\n and want to enable MFA Delete in the bucket versioning configuration, you must\n include the x-amz-mfa request header and the\n Status and the MfaDelete request elements in a request to set\n the versioning state of the bucket.

\n \n

If you have an object expiration lifecycle policy in your non-versioned bucket and\n you want to maintain the same permanent delete behavior when you enable versioning, you\n must add a noncurrent expiration policy. The noncurrent expiration lifecycle policy will\n manage the deletes of the noncurrent object versions in the version-enabled bucket. (A\n version-enabled bucket maintains one current and zero or more noncurrent object\n versions.) For more information, see Lifecycle and Versioning.

\n
\n

\n Related Resources\n

\n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?versioning", @@ -28525,7 +30710,7 @@ "ChecksumAlgorithm": { "target": "com.amazonaws.s3#ChecksumAlgorithm", "traits": { - "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", + "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", "smithy.api#httpHeader": "x-amz-sdk-checksum-algorithm" } }, @@ -28552,6 +30737,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#PutBucketWebsite": { @@ -28567,7 +30755,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "

Sets the configuration of the website that is specified in the website\n subresource. To configure a bucket as a website, you can add this subresource on the bucket\n with website configuration information such as the file name of the index document and any\n redirect rules. For more information, see Hosting Websites on Amazon S3.

\n\n

This PUT action requires the S3:PutBucketWebsite permission. By default,\n only the bucket owner can configure the website attached to a bucket; however, bucket\n owners can allow other users to set the website configuration by writing a bucket policy\n that grants them the S3:PutBucketWebsite permission.

\n\n

To redirect all website requests sent to the bucket's website endpoint, you add a\n website configuration with the following elements. Because all requests are sent to another\n website, you don't need to provide index document name for the bucket.

\n
    \n
  • \n

    \n WebsiteConfiguration\n

    \n
  • \n
  • \n

    \n RedirectAllRequestsTo\n

    \n
  • \n
  • \n

    \n HostName\n

    \n
  • \n
  • \n

    \n Protocol\n

    \n
  • \n
\n\n

If you want granular control over redirects, you can use the following elements to add\n routing rules that describe conditions for redirecting requests and information about the\n redirect destination. In this case, the website configuration must provide an index\n document for the bucket, because some requests might not be redirected.

\n
    \n
  • \n

    \n WebsiteConfiguration\n

    \n
  • \n
  • \n

    \n IndexDocument\n

    \n
  • \n
  • \n

    \n Suffix\n

    \n
  • \n
  • \n

    \n ErrorDocument\n

    \n
  • \n
  • \n

    \n Key\n

    \n
  • \n
  • \n

    \n RoutingRules\n

    \n
  • \n
  • \n

    \n RoutingRule\n

    \n
  • \n
  • \n

    \n Condition\n

    \n
  • \n
  • \n

    \n HttpErrorCodeReturnedEquals\n

    \n
  • \n
  • \n

    \n KeyPrefixEquals\n

    \n
  • \n
  • \n

    \n Redirect\n

    \n
  • \n
  • \n

    \n Protocol\n

    \n
  • \n
  • \n

    \n HostName\n

    \n
  • \n
  • \n

    \n ReplaceKeyPrefixWith\n

    \n
  • \n
  • \n

    \n ReplaceKeyWith\n

    \n
  • \n
  • \n

    \n HttpRedirectCode\n

    \n
  • \n
\n\n

Amazon S3 has a limitation of 50 routing rules per website configuration. If you require more\n than 50 routing rules, you can use object redirect. For more information, see Configuring an\n Object Redirect in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

Sets the configuration of the website that is specified in the website\n subresource. To configure a bucket as a website, you can add this subresource on the bucket\n with website configuration information such as the file name of the index document and any\n redirect rules. For more information, see Hosting Websites on Amazon S3.

\n

This PUT action requires the S3:PutBucketWebsite permission. By default,\n only the bucket owner can configure the website attached to a bucket; however, bucket\n owners can allow other users to set the website configuration by writing a bucket policy\n that grants them the S3:PutBucketWebsite permission.

\n

To redirect all website requests sent to the bucket's website endpoint, you add a\n website configuration with the following elements. Because all requests are sent to another\n website, you don't need to provide index document name for the bucket.

\n
    \n
  • \n

    \n WebsiteConfiguration\n

    \n
  • \n
  • \n

    \n RedirectAllRequestsTo\n

    \n
  • \n
  • \n

    \n HostName\n

    \n
  • \n
  • \n

    \n Protocol\n

    \n
  • \n
\n

If you want granular control over redirects, you can use the following elements to add\n routing rules that describe conditions for redirecting requests and information about the\n redirect destination. In this case, the website configuration must provide an index\n document for the bucket, because some requests might not be redirected.

\n
    \n
  • \n

    \n WebsiteConfiguration\n

    \n
  • \n
  • \n

    \n IndexDocument\n

    \n
  • \n
  • \n

    \n Suffix\n

    \n
  • \n
  • \n

    \n ErrorDocument\n

    \n
  • \n
  • \n

    \n Key\n

    \n
  • \n
  • \n

    \n RoutingRules\n

    \n
  • \n
  • \n

    \n RoutingRule\n

    \n
  • \n
  • \n

    \n Condition\n

    \n
  • \n
  • \n

    \n HttpErrorCodeReturnedEquals\n

    \n
  • \n
  • \n

    \n KeyPrefixEquals\n

    \n
  • \n
  • \n

    \n Redirect\n

    \n
  • \n
  • \n

    \n Protocol\n

    \n
  • \n
  • \n

    \n HostName\n

    \n
  • \n
  • \n

    \n ReplaceKeyPrefixWith\n

    \n
  • \n
  • \n

    \n ReplaceKeyWith\n

    \n
  • \n
  • \n

    \n HttpRedirectCode\n

    \n
  • \n
\n

Amazon S3 has a limitation of 50 routing rules per website configuration. If you require more\n than 50 routing rules, you can use object redirect. For more information, see Configuring an\n Object Redirect in the Amazon S3 User Guide.

", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?website", @@ -28599,7 +30787,7 @@ "ChecksumAlgorithm": { "target": "com.amazonaws.s3#ChecksumAlgorithm", "traits": { - "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", + "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", "smithy.api#httpHeader": "x-amz-sdk-checksum-algorithm" } }, @@ -28619,6 +30807,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#PutObject": { @@ -28633,7 +30824,7 @@ "aws.protocols#httpChecksum": { "requestAlgorithmMember": "ChecksumAlgorithm" }, - "smithy.api#documentation": "

Adds an object to a bucket. You must have WRITE permissions on a bucket to add an object\n to it.

\n\n\n

Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added the\n entire object to the bucket.

\n\n

Amazon S3 is a distributed system. If it receives multiple write requests for the same object\n simultaneously, it overwrites all but the last object written. Amazon S3 does not provide object\n locking; if you need this, make sure to build it into your application layer or use\n versioning instead.

\n\n

To ensure that data is not corrupted traversing the network, use the\n Content-MD5 header. When you use this header, Amazon S3 checks the object\n against the provided MD5 value and, if they do not match, returns an error. Additionally,\n you can calculate the MD5 while putting an object to Amazon S3 and compare the returned ETag to\n the calculated MD5 value.

\n \n
    \n
  • \n

    To successfully complete the PutObject request, you must have the \n s3:PutObject in your IAM permissions.

    \n
  • \n
  • \n

    To successfully change the objects acl of your PutObject request, \n you must have the s3:PutObjectAcl in your IAM permissions.

    \n
  • \n
  • \n

    The Content-MD5 header is required for any request to upload an object\n with a retention period configured using Amazon S3 Object Lock. For more information about\n Amazon S3 Object Lock, see Amazon S3 Object Lock Overview\n in the Amazon S3 User Guide.

    \n
  • \n
\n
\n

\n Server-side Encryption\n

\n

You can optionally request server-side encryption. With server-side encryption, Amazon S3 encrypts \n your data as it writes it to disks in its data centers and decrypts the data\n when you access it. You have the option to provide your own encryption key or use Amazon Web Services\n managed encryption keys (SSE-S3 or SSE-KMS). For more information, see Using Server-Side\n Encryption.

\n

If you request server-side encryption using Amazon Web Services Key Management Service (SSE-KMS), you can enable \n an S3 Bucket Key at the object-level. For more information, see Amazon S3 Bucket Keys in the \n Amazon S3 User Guide.

\n

\n Access Control List (ACL)-Specific Request\n Headers\n

\n

You can use headers to grant ACL- based permissions. By default, all objects are\n private. Only the owner has full access control. When adding a new object, you can grant\n permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These\n permissions are then added to the ACL on the object. For more information, see Access Control List\n (ACL) Overview and Managing ACLs Using the REST\n API.

\n

If the bucket that you're uploading objects to uses the bucket owner enforced setting\n for S3 Object Ownership, ACLs are disabled and no longer affect permissions. Buckets that\n use this setting only accept PUT requests that don't specify an ACL or PUT requests that\n specify bucket owner full control ACLs, such as the bucket-owner-full-control canned\n ACL or an equivalent form of this ACL expressed in the XML format. PUT requests that contain other\n ACLs (for example, custom grants to certain Amazon Web Services accounts) fail and return a\n 400 error with the error code\n AccessControlListNotSupported.

\n

For more information, see Controlling ownership of\n objects and disabling ACLs in the Amazon S3 User Guide.

\n \n

If your bucket uses the bucket owner enforced setting for Object Ownership, \n all objects written to the bucket by any account will be owned by the bucket owner.

\n
\n

\n Storage Class Options\n

\n

By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. The\n STANDARD storage class provides high durability and high availability. Depending on\n performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only uses\n the OUTPOSTS Storage Class. For more information, see Storage Classes in the\n Amazon S3 User Guide.

\n\n\n

\n Versioning\n

\n

If you enable versioning for a bucket, Amazon S3 automatically generates a unique version ID\n for the object being stored. Amazon S3 returns this ID in the response. When you enable\n versioning for a bucket, if Amazon S3 receives multiple write requests for the same object\n simultaneously, it stores all of the objects.

\n

For more information about versioning, see Adding Objects to\n Versioning Enabled Buckets. For information about returning the versioning state\n of a bucket, see GetBucketVersioning.

\n\n\n

\n Related Resources\n

\n ", + "smithy.api#documentation": "

Adds an object to a bucket. You must have WRITE permissions on a bucket to add an object\n to it.

\n

Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added the\n entire object to the bucket.

\n

Amazon S3 is a distributed system. If it receives multiple write requests for the same object\n simultaneously, it overwrites all but the last object written. Amazon S3 does not provide object\n locking; if you need this, make sure to build it into your application layer or use\n versioning instead.

\n

To ensure that data is not corrupted traversing the network, use the\n Content-MD5 header. When you use this header, Amazon S3 checks the object\n against the provided MD5 value and, if they do not match, returns an error. Additionally,\n you can calculate the MD5 while putting an object to Amazon S3 and compare the returned ETag to\n the calculated MD5 value.

\n \n
    \n
  • \n

    To successfully complete the PutObject request, you must have the \n s3:PutObject in your IAM permissions.

    \n
  • \n
  • \n

    To successfully change the objects acl of your PutObject request, \n you must have the s3:PutObjectAcl in your IAM permissions.

    \n
  • \n
  • \n

    The Content-MD5 header is required for any request to upload an object\n with a retention period configured using Amazon S3 Object Lock. For more information about\n Amazon S3 Object Lock, see Amazon S3 Object Lock Overview\n in the Amazon S3 User Guide.

    \n
  • \n
\n
\n

\n Server-side Encryption\n

\n

You can optionally request server-side encryption. With server-side encryption, Amazon S3 encrypts \n your data as it writes it to disks in its data centers and decrypts the data\n when you access it. You have the option to provide your own encryption key or use Amazon Web Services\n managed encryption keys (SSE-S3 or SSE-KMS). For more information, see Using Server-Side\n Encryption.

\n

If you request server-side encryption using Amazon Web Services Key Management Service (SSE-KMS), you can enable \n an S3 Bucket Key at the object-level. For more information, see Amazon S3 Bucket Keys in the \n Amazon S3 User Guide.

\n

\n Access Control List (ACL)-Specific Request\n Headers\n

\n

You can use headers to grant ACL- based permissions. By default, all objects are\n private. Only the owner has full access control. When adding a new object, you can grant\n permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These\n permissions are then added to the ACL on the object. For more information, see Access Control List\n (ACL) Overview and Managing ACLs Using the REST\n API.

\n

If the bucket that you're uploading objects to uses the bucket owner enforced setting\n for S3 Object Ownership, ACLs are disabled and no longer affect permissions. Buckets that\n use this setting only accept PUT requests that don't specify an ACL or PUT requests that\n specify bucket owner full control ACLs, such as the bucket-owner-full-control canned\n ACL or an equivalent form of this ACL expressed in the XML format. PUT requests that contain other\n ACLs (for example, custom grants to certain Amazon Web Services accounts) fail and return a\n 400 error with the error code\n AccessControlListNotSupported.

\n

For more information, see Controlling ownership of\n objects and disabling ACLs in the Amazon S3 User Guide.

\n \n

If your bucket uses the bucket owner enforced setting for Object Ownership, \n all objects written to the bucket by any account will be owned by the bucket owner.

\n
\n

\n Storage Class Options\n

\n

By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. The\n STANDARD storage class provides high durability and high availability. Depending on\n performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only uses\n the OUTPOSTS Storage Class. For more information, see Storage Classes in the\n Amazon S3 User Guide.

\n

\n Versioning\n

\n

If you enable versioning for a bucket, Amazon S3 automatically generates a unique version ID\n for the object being stored. Amazon S3 returns this ID in the response. When you enable\n versioning for a bucket, if Amazon S3 receives multiple write requests for the same object\n simultaneously, it stores all of the objects.

\n

For more information about versioning, see Adding Objects to\n Versioning Enabled Buckets. For information about returning the versioning state\n of a bucket, see GetBucketVersioning.

\n

\n Related Resources\n

\n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}/{Key+}?x-id=PutObject", @@ -28659,7 +30850,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "

Uses the acl subresource to set the access control list (ACL) permissions\n for a new or existing object in an S3 bucket. You must have WRITE_ACP\n permission to set the ACL of an object. For more information, see What\n permissions can I grant? in the Amazon S3 User Guide.

\n

This action is not supported by Amazon S3 on Outposts.

\n

Depending on your application needs, you can choose to set\n the ACL on an object using either the request body or the headers. For example, if you have\n an existing application that updates a bucket ACL using the request body, you can continue\n to use that approach. For more information, see Access Control List (ACL) Overview in the Amazon S3 User Guide.

\n \n

If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. \n You must use policies to grant access to your bucket and the objects in it. Requests to set ACLs or update ACLs fail and \n return the AccessControlListNotSupported error code. Requests to read ACLs are still supported.\n For more information, see Controlling object ownership\n in the Amazon S3 User Guide.

\n
\n\n

\n Access Permissions\n

\n

You can set access permissions using one of the following methods:

\n
    \n
  • \n

    Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports\n a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set\n of grantees and permissions. Specify the canned ACL name as the value of\n x-amz-acl. If you use this header, you cannot use other access\n control-specific headers in your request. For more information, see Canned ACL.

    \n
  • \n
  • \n

    Specify access permissions explicitly with the x-amz-grant-read,\n x-amz-grant-read-acp, x-amz-grant-write-acp, and\n x-amz-grant-full-control headers. When using these headers, you\n specify explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3 groups) who\n will receive the permission. If you use these ACL-specific headers, you cannot use\n x-amz-acl header to set a canned ACL. These parameters map to the set\n of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL)\n Overview.

    \n\n

    You specify each grantee as a type=value pair, where the type is one of the\n following:

    \n
      \n
    • \n

      \n id – if the value specified is the canonical user ID of an Amazon Web Services account

      \n
    • \n
    • \n

      \n uri – if you are granting permissions to a predefined\n group

      \n
    • \n
    • \n

      \n emailAddress – if the value specified is the email address of\n an Amazon Web Services account

      \n \n

      Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

      \n
        \n
      • \n

        US East (N. Virginia)

        \n
      • \n
      • \n

        US West (N. California)

        \n
      • \n
      • \n

        US West (Oregon)

        \n
      • \n
      • \n

        Asia Pacific (Singapore)

        \n
      • \n
      • \n

        Asia Pacific (Sydney)

        \n
      • \n
      • \n

        Asia Pacific (Tokyo)

        \n
      • \n
      • \n

        Europe (Ireland)

        \n
      • \n
      • \n

        South America (SΓ£o Paulo)

        \n
      • \n
      \n

      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

      \n
      \n
    • \n
    \n

    For example, the following x-amz-grant-read header grants list\n objects permission to the two Amazon Web Services accounts identified by their email\n addresses.

    \n

    \n x-amz-grant-read: emailAddress=\"xyz@amazon.com\",\n emailAddress=\"abc@amazon.com\" \n

    \n\n
  • \n
\n

You can use either a canned ACL or specify access permissions explicitly. You cannot do\n both.

\n

\n Grantee Values\n

\n

You can specify the person (grantee) to whom you're assigning access rights (using\n request elements) in the following ways:

\n
    \n
  • \n

    By the person's ID:

    \n

    \n <>ID<><>GranteesEmail<>\n \n

    \n

    DisplayName is optional and ignored in the request.

    \n
  • \n
  • \n

    By URI:

    \n

    \n <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>\n

    \n
  • \n
  • \n

    By Email address:

    \n

    \n <>Grantees@email.com<>lt;/Grantee>\n

    \n

    The grantee is resolved to the CanonicalUser and, in a response to a GET Object\n acl request, appears as the CanonicalUser.

    \n \n

    Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

    \n
      \n
    • \n

      US East (N. Virginia)

      \n
    • \n
    • \n

      US West (N. California)

      \n
    • \n
    • \n

      US West (Oregon)

      \n
    • \n
    • \n

      Asia Pacific (Singapore)

      \n
    • \n
    • \n

      Asia Pacific (Sydney)

      \n
    • \n
    • \n

      Asia Pacific (Tokyo)

      \n
    • \n
    • \n

      Europe (Ireland)

      \n
    • \n
    • \n

      South America (SΓ£o Paulo)

      \n
    • \n
    \n

    For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

    \n
    \n
  • \n
\n

\n Versioning\n

\n

The ACL of an object is set at the object version level. By default, PUT sets the ACL of\n the current version of an object. To set the ACL of a different version, use the\n versionId subresource.

\n

\n Related Resources\n

\n ", + "smithy.api#documentation": "

Uses the acl subresource to set the access control list (ACL) permissions\n for a new or existing object in an S3 bucket. You must have WRITE_ACP\n permission to set the ACL of an object. For more information, see What\n permissions can I grant? in the Amazon S3 User Guide.

\n

This action is not supported by Amazon S3 on Outposts.

\n

Depending on your application needs, you can choose to set\n the ACL on an object using either the request body or the headers. For example, if you have\n an existing application that updates a bucket ACL using the request body, you can continue\n to use that approach. For more information, see Access Control List (ACL) Overview in the Amazon S3 User Guide.

\n \n

If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. \n You must use policies to grant access to your bucket and the objects in it. Requests to set ACLs or update ACLs fail and \n return the AccessControlListNotSupported error code. Requests to read ACLs are still supported.\n For more information, see Controlling object ownership\n in the Amazon S3 User Guide.

\n
\n

\n Access Permissions\n

\n

You can set access permissions using one of the following methods:

\n
    \n
  • \n

    Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports\n a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set\n of grantees and permissions. Specify the canned ACL name as the value of\n x-amz-acl. If you use this header, you cannot use other access\n control-specific headers in your request. For more information, see Canned ACL.

    \n
  • \n
  • \n

    Specify access permissions explicitly with the x-amz-grant-read,\n x-amz-grant-read-acp, x-amz-grant-write-acp, and\n x-amz-grant-full-control headers. When using these headers, you\n specify explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3 groups) who\n will receive the permission. If you use these ACL-specific headers, you cannot use\n x-amz-acl header to set a canned ACL. These parameters map to the set\n of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL)\n Overview.

    \n

    You specify each grantee as a type=value pair, where the type is one of the\n following:

    \n
      \n
    • \n

      \n id – if the value specified is the canonical user ID of an Amazon Web Services account

      \n
    • \n
    • \n

      \n uri – if you are granting permissions to a predefined\n group

      \n
    • \n
    • \n

      \n emailAddress – if the value specified is the email address of\n an Amazon Web Services account

      \n \n

      Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

      \n
        \n
      • \n

        US East (N. Virginia)

        \n
      • \n
      • \n

        US West (N. California)

        \n
      • \n
      • \n

        US West (Oregon)

        \n
      • \n
      • \n

        Asia Pacific (Singapore)

        \n
      • \n
      • \n

        Asia Pacific (Sydney)

        \n
      • \n
      • \n

        Asia Pacific (Tokyo)

        \n
      • \n
      • \n

        Europe (Ireland)

        \n
      • \n
      • \n

        South America (SΓ£o Paulo)

        \n
      • \n
      \n

      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

      \n
      \n
    • \n
    \n

    For example, the following x-amz-grant-read header grants list\n objects permission to the two Amazon Web Services accounts identified by their email\n addresses.

    \n

    \n x-amz-grant-read: emailAddress=\"xyz@amazon.com\",\n emailAddress=\"abc@amazon.com\" \n

    \n
  • \n
\n

You can use either a canned ACL or specify access permissions explicitly. You cannot do\n both.

\n

\n Grantee Values\n

\n

You can specify the person (grantee) to whom you're assigning access rights (using\n request elements) in the following ways:

\n
    \n
  • \n

    By the person's ID:

    \n

    \n <>ID<><>GranteesEmail<>\n \n

    \n

    DisplayName is optional and ignored in the request.

    \n
  • \n
  • \n

    By URI:

    \n

    \n <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>\n

    \n
  • \n
  • \n

    By Email address:

    \n

    \n <>Grantees@email.com<>lt;/Grantee>\n

    \n

    The grantee is resolved to the CanonicalUser and, in a response to a GET Object\n acl request, appears as the CanonicalUser.

    \n \n

    Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

    \n
      \n
    • \n

      US East (N. Virginia)

      \n
    • \n
    • \n

      US West (N. California)

      \n
    • \n
    • \n

      US West (Oregon)

      \n
    • \n
    • \n

      Asia Pacific (Singapore)

      \n
    • \n
    • \n

      Asia Pacific (Sydney)

      \n
    • \n
    • \n

      Asia Pacific (Tokyo)

      \n
    • \n
    • \n

      Europe (Ireland)

      \n
    • \n
    • \n

      South America (SΓ£o Paulo)

      \n
    • \n
    \n

    For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

    \n
    \n
  • \n
\n

\n Versioning\n

\n

The ACL of an object is set at the object version level. By default, PUT sets the ACL of\n the current version of an object. To set the ACL of a different version, use the\n versionId subresource.

\n

\n Related Resources\n

\n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}/{Key+}?acl", @@ -28676,6 +30867,9 @@ "smithy.api#httpHeader": "x-amz-request-charged" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#PutObjectAclRequest": { @@ -28717,7 +30911,7 @@ "ChecksumAlgorithm": { "target": "com.amazonaws.s3#ChecksumAlgorithm", "traits": { - "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", + "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", "smithy.api#httpHeader": "x-amz-sdk-checksum-algorithm" } }, @@ -28784,6 +30978,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#PutObjectLegalHold": { @@ -28816,6 +31013,9 @@ "smithy.api#httpHeader": "x-amz-request-charged" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#PutObjectLegalHoldRequest": { @@ -28871,7 +31071,7 @@ "ChecksumAlgorithm": { "target": "com.amazonaws.s3#ChecksumAlgorithm", "traits": { - "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", + "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", "smithy.api#httpHeader": "x-amz-sdk-checksum-algorithm" } }, @@ -28882,6 +31082,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#PutObjectLockConfiguration": { @@ -28914,6 +31117,9 @@ "smithy.api#httpHeader": "x-amz-request-charged" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#PutObjectLockConfigurationRequest": { @@ -28961,7 +31167,7 @@ "ChecksumAlgorithm": { "target": "com.amazonaws.s3#ChecksumAlgorithm", "traits": { - "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", + "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", "smithy.api#httpHeader": "x-amz-sdk-checksum-algorithm" } }, @@ -28972,6 +31178,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#PutObjectOutput": { @@ -29075,6 +31284,9 @@ "smithy.api#httpHeader": "x-amz-request-charged" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#PutObjectRequest": { @@ -29159,7 +31371,7 @@ "ChecksumAlgorithm": { "target": "com.amazonaws.s3#ChecksumAlgorithm", "traits": { - "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", + "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", "smithy.api#httpHeader": "x-amz-sdk-checksum-algorithm" } }, @@ -29258,7 +31470,7 @@ "WebsiteRedirectLocation": { "target": "com.amazonaws.s3#WebsiteRedirectLocation", "traits": { - "smithy.api#documentation": "

If the bucket is configured as a website, redirects requests for this object to another\n object in the same bucket or to an external URL. Amazon S3 stores the value of this header in\n the object metadata. For information about object metadata, see Object Key and Metadata.

\n\n

In the following example, the request header sets the redirect to an object\n (anotherPage.html) in the same bucket:

\n\n

\n x-amz-website-redirect-location: /anotherPage.html\n

\n\n

In the following example, the request header sets the object redirect to another\n website:

\n\n

\n x-amz-website-redirect-location: http://www.example.com/\n

\n\n

For more information about website hosting in Amazon S3, see Hosting Websites on Amazon S3 and How to Configure Website Page\n Redirects.

", + "smithy.api#documentation": "

If the bucket is configured as a website, redirects requests for this object to another\n object in the same bucket or to an external URL. Amazon S3 stores the value of this header in\n the object metadata. For information about object metadata, see Object Key and Metadata.

\n

In the following example, the request header sets the redirect to an object\n (anotherPage.html) in the same bucket:

\n

\n x-amz-website-redirect-location: /anotherPage.html\n

\n

In the following example, the request header sets the object redirect to another\n website:

\n

\n x-amz-website-redirect-location: http://www.example.com/\n

\n

For more information about website hosting in Amazon S3, see Hosting Websites on Amazon S3 and How to Configure Website Page\n Redirects.

", "smithy.api#httpHeader": "x-amz-website-redirect-location" } }, @@ -29346,6 +31558,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#PutObjectRetention": { @@ -29361,7 +31576,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "

Places an Object Retention configuration on an object. For more information, see Locking Objects.\n Users or accounts require the s3:PutObjectRetention permission in order to place\n an Object Retention configuration on objects. Bypassing a Governance Retention configuration\n requires the s3:BypassGovernanceRetention permission.\n

\n

This action is not supported by Amazon S3 on Outposts.

", + "smithy.api#documentation": "

Places an Object Retention configuration on an object. For more information, see Locking Objects.\n Users or accounts require the s3:PutObjectRetention permission in order to place\n an Object Retention configuration on objects. Bypassing a Governance Retention configuration\n requires the s3:BypassGovernanceRetention permission.\n

\n

This action is not supported by Amazon S3 on Outposts.

", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}/{Key+}?retention", @@ -29378,6 +31593,9 @@ "smithy.api#httpHeader": "x-amz-request-charged" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#PutObjectRetentionRequest": { @@ -29441,7 +31659,7 @@ "ChecksumAlgorithm": { "target": "com.amazonaws.s3#ChecksumAlgorithm", "traits": { - "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", + "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", "smithy.api#httpHeader": "x-amz-sdk-checksum-algorithm" } }, @@ -29452,6 +31670,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#PutObjectTagging": { @@ -29467,7 +31688,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "

Sets the supplied tag-set to an object that already exists in a bucket.

\n

A tag is a key-value pair. You can associate tags with an object by sending a PUT\n request against the tagging subresource that is associated with the object. You can\n retrieve tags by sending a GET request. For more information, see GetObjectTagging.

\n\n

For tagging-related restrictions related to characters and encodings, see Tag\n Restrictions. Note that Amazon S3 limits the maximum number of tags to 10 tags per\n object.

\n\n

To use this operation, you must have permission to perform the\n s3:PutObjectTagging action. By default, the bucket owner has this\n permission and can grant this permission to others.

\n\n

To put tags of any other version, use the versionId query parameter. You\n also need permission for the s3:PutObjectVersionTagging action.

\n\n

For information about the Amazon S3 object tagging feature, see Object Tagging.

\n\n\n

\n Special Errors\n

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

      \n Code: InvalidTagError \n

      \n
    • \n
    • \n

      \n Cause: The tag provided was not a valid tag. This error can occur\n if the tag did not pass input validation. For more information, see Object Tagging.\n

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

      \n Code: MalformedXMLError \n

      \n
    • \n
    • \n

      \n Cause: The XML provided does not match the schema.\n

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

      \n Code: OperationAbortedError \n

      \n
    • \n
    • \n

      \n Cause: A conflicting conditional action is currently in\n progress against this resource. Please try again.\n

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

      \n Code: InternalError\n

      \n
    • \n
    • \n

      \n Cause: The service was unable to apply the provided tag to the\n object.\n

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

\n Related Resources\n

\n ", + "smithy.api#documentation": "

Sets the supplied tag-set to an object that already exists in a bucket.

\n

A tag is a key-value pair. You can associate tags with an object by sending a PUT\n request against the tagging subresource that is associated with the object. You can\n retrieve tags by sending a GET request. For more information, see GetObjectTagging.

\n

For tagging-related restrictions related to characters and encodings, see Tag\n Restrictions. Note that Amazon S3 limits the maximum number of tags to 10 tags per\n object.

\n

To use this operation, you must have permission to perform the\n s3:PutObjectTagging action. By default, the bucket owner has this\n permission and can grant this permission to others.

\n

To put tags of any other version, use the versionId query parameter. You\n also need permission for the s3:PutObjectVersionTagging action.

\n

For information about the Amazon S3 object tagging feature, see Object Tagging.

\n

\n Special Errors\n

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

      \n Code: InvalidTagError \n

      \n
    • \n
    • \n

      \n Cause: The tag provided was not a valid tag. This error can occur\n if the tag did not pass input validation. For more information, see Object Tagging.\n

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

      \n Code: MalformedXMLError \n

      \n
    • \n
    • \n

      \n Cause: The XML provided does not match the schema.\n

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

      \n Code: OperationAbortedError \n

      \n
    • \n
    • \n

      \n Cause: A conflicting conditional action is currently in\n progress against this resource. Please try again.\n

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

      \n Code: InternalError\n

      \n
    • \n
    • \n

      \n Cause: The service was unable to apply the provided tag to the\n object.\n

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

\n Related Resources\n

\n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}/{Key+}?tagging", @@ -29485,6 +31706,9 @@ "smithy.api#httpHeader": "x-amz-version-id" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#PutObjectTaggingRequest": { @@ -29526,7 +31750,7 @@ "ChecksumAlgorithm": { "target": "com.amazonaws.s3#ChecksumAlgorithm", "traits": { - "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", + "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", "smithy.api#httpHeader": "x-amz-sdk-checksum-algorithm" } }, @@ -29552,6 +31776,9 @@ "smithy.api#httpHeader": "x-amz-request-payer" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#PutPublicAccessBlock": { @@ -29567,7 +31794,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "

Creates or modifies the PublicAccessBlock configuration for an Amazon S3 bucket.\n To use this operation, you must have the s3:PutBucketPublicAccessBlock\n permission. For more information about Amazon S3 permissions, see Specifying Permissions in a\n Policy.

\n\n \n

When Amazon S3 evaluates the PublicAccessBlock configuration for a bucket or\n an object, it checks the PublicAccessBlock configuration for both the\n bucket (or the bucket that contains the object) and the bucket owner's account. If the\n PublicAccessBlock configurations are different between the bucket and\n the account, Amazon S3 uses the most restrictive combination of the bucket-level and\n account-level settings.

\n
\n\n\n

For more information about when Amazon S3 considers a bucket or an object public, see The Meaning of \"Public\".

\n\n\n\n

\n Related Resources\n

\n ", + "smithy.api#documentation": "

Creates or modifies the PublicAccessBlock configuration for an Amazon S3 bucket.\n To use this operation, you must have the s3:PutBucketPublicAccessBlock\n permission. For more information about Amazon S3 permissions, see Specifying Permissions in a\n Policy.

\n \n

When Amazon S3 evaluates the PublicAccessBlock configuration for a bucket or\n an object, it checks the PublicAccessBlock configuration for both the\n bucket (or the bucket that contains the object) and the bucket owner's account. If the\n PublicAccessBlock configurations are different between the bucket and\n the account, Amazon S3 uses the most restrictive combination of the bucket-level and\n account-level settings.

\n
\n

For more information about when Amazon S3 considers a bucket or an object public, see The Meaning of \"Public\".

\n

\n Related Resources\n

\n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?publicAccessBlock", @@ -29599,7 +31826,7 @@ "ChecksumAlgorithm": { "target": "com.amazonaws.s3#ChecksumAlgorithm", "traits": { - "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", + "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", "smithy.api#httpHeader": "x-amz-sdk-checksum-algorithm" } }, @@ -29619,6 +31846,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#QueueArn": { @@ -30154,7 +32384,7 @@ "aws.protocols#httpChecksum": { "requestAlgorithmMember": "ChecksumAlgorithm" }, - "smithy.api#documentation": "

Restores an archived copy of an object back into Amazon S3

\n

This action is not supported by Amazon S3 on Outposts.

\n

This action performs the following types of requests:

\n
    \n
  • \n

    \n select - Perform a select query on an archived object

    \n
  • \n
  • \n

    \n restore an archive - Restore an archived object

    \n
  • \n
\n

To use this operation, you must have permissions to perform the\n s3:RestoreObject action. The bucket owner has this permission by default\n and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources in the Amazon S3 User Guide.

\n

\n Querying Archives with Select Requests\n

\n

You use a select type of request to perform SQL queries on archived objects. The\n archived objects that are being queried by the select request must be formatted as\n uncompressed comma-separated values (CSV) files. You can run queries and custom analytics\n on your archived data without having to restore your data to a hotter Amazon S3 tier. For an\n overview about select requests, see Querying Archived Objects in the Amazon S3 User Guide.

\n

When making a select request, do the following:

\n
    \n
  • \n

    Define an output location for the select query's output. This must be an Amazon S3\n bucket in the same Amazon Web Services Region as the bucket that contains the archive object that is\n being queried. The Amazon Web Services account that initiates the job must have permissions to write\n to the S3 bucket. You can specify the storage class and encryption for the output\n objects stored in the bucket. For more information about output, see Querying Archived Objects\n in the Amazon S3 User Guide.

    \n

    For more information about the S3 structure in the request body, see\n the following:

    \n \n
  • \n
  • \n

    Define the SQL expression for the SELECT type of restoration for your\n query in the request body's SelectParameters structure. You can use\n expressions like the following examples.

    \n
      \n
    • \n

      The following expression returns all records from the specified\n object.

      \n

      \n SELECT * FROM Object\n

      \n
    • \n
    • \n

      Assuming that you are not using any headers for data stored in the object,\n you can specify columns with positional headers.

      \n

      \n SELECT s._1, s._2 FROM Object s WHERE s._3 > 100\n

      \n
    • \n
    • \n

      If you have headers and you set the fileHeaderInfo in the\n CSV structure in the request body to USE, you can\n specify headers in the query. (If you set the fileHeaderInfo field\n to IGNORE, the first row is skipped for the query.) You cannot mix\n ordinal positions with header column names.

      \n

      \n SELECT s.Id, s.FirstName, s.SSN FROM S3Object s\n

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

For more information about using SQL with S3 Glacier Select restore, see SQL Reference for Amazon S3 Select and\n S3 Glacier Select in the Amazon S3 User Guide.

\n

When making a select request, you can also do the following:

\n
    \n
  • \n

    To expedite your queries, specify the Expedited tier. For more\n information about tiers, see \"Restoring Archives,\" later in this topic.

    \n
  • \n
  • \n

    Specify details about the data serialization format of both the input object that\n is being queried and the serialization of the CSV-encoded query results.

    \n
  • \n
\n

The following are additional important facts about the select feature:

\n
    \n
  • \n

    The output results are new Amazon S3 objects. Unlike archive retrievals, they are\n stored until explicitly deleted-manually or through a lifecycle policy.

    \n
  • \n
  • \n

    You can issue more than one select request on the same Amazon S3 object. Amazon S3 doesn't\n deduplicate requests, so avoid issuing duplicate requests.

    \n
  • \n
  • \n

    Amazon S3 accepts a select request even if the object has already been restored. A\n select request doesn’t return error response 409.

    \n
  • \n
\n

\n Restoring objects\n

\n

Objects that you archive to the S3 Glacier or\n S3 Glacier Deep Archive storage class, and S3 Intelligent-Tiering Archive or\n S3 Intelligent-Tiering Deep Archive tiers are not accessible in real time. For objects in\n Archive Access or Deep Archive Access tiers you must first initiate a restore request, and\n then wait until the object is moved into the Frequent Access tier. For objects in\n S3 Glacier or S3 Glacier Deep Archive storage classes you must\n first initiate a restore request, and then wait until a temporary copy of the object is\n available. To access an archived object, you must restore the object for the duration\n (number of days) that you specify.

\n

To restore a specific object version, you can provide a version ID. If you don't provide\n a version ID, Amazon S3 restores the current version.

\n

When restoring an archived object (or using a select request), you can specify one of\n the following data access tier options in the Tier element of the request\n body:

\n
    \n
  • \n

    \n Expedited - Expedited retrievals allow you to quickly access your\n data stored in the S3 Glacier storage class or S3 Intelligent-Tiering Archive\n tier when occasional urgent requests for a subset of archives are required. For all\n but the largest archived objects (250 MB+), data accessed using Expedited retrievals\n is typically made available within 1–5 minutes. Provisioned capacity ensures that\n retrieval capacity for Expedited retrievals is available when you need it. Expedited\n retrievals and provisioned capacity are not available for objects stored in the\n S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier.

    \n
  • \n
  • \n

    \n Standard - Standard retrievals allow you to access any of your\n archived objects within several hours. This is the default option for retrieval\n requests that do not specify the retrieval option. Standard retrievals typically\n finish within 3–5 hours for objects stored in the S3 Glacier storage\n class or S3 Intelligent-Tiering Archive tier. They typically finish within 12 hours for\n objects stored in the S3 Glacier Deep Archive storage class or\n S3 Intelligent-Tiering Deep Archive tier. Standard retrievals are free for objects stored in\n S3 Intelligent-Tiering.

    \n
  • \n
  • \n

    \n Bulk - Bulk retrievals are the lowest-cost retrieval option in\n S3 Glacier, enabling you to retrieve large amounts, even petabytes, of data\n inexpensively. Bulk retrievals typically finish within 5–12 hours for objects stored\n in the S3 Glacier storage class or S3 Intelligent-Tiering Archive tier. They\n typically finish within 48 hours for objects stored in the\n S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier. Bulk\n retrievals are free for objects stored in S3 Intelligent-Tiering.

    \n
  • \n
\n

For more information about archive retrieval options and provisioned capacity for\n Expedited data access, see Restoring Archived Objects in the Amazon S3 User Guide.

\n

You can use Amazon S3 restore speed upgrade to change the restore speed to a faster speed\n while it is in progress. For more information, see \n Upgrading the speed of an in-progress restore in the\n Amazon S3 User Guide.

\n

To get the status of object restoration, you can send a HEAD request.\n Operations return the x-amz-restore header, which provides information about\n the restoration status, in the response. You can use Amazon S3 event notifications to notify you\n when a restore is initiated or completed. For more information, see Configuring Amazon S3 Event Notifications in\n the Amazon S3 User Guide.

\n

After restoring an archived object, you can update the restoration period by reissuing\n the request with a new period. Amazon S3 updates the restoration period relative to the current\n time and charges only for the request-there are no data transfer charges. You cannot\n update the restoration period when Amazon S3 is actively processing your current restore request\n for the object.

\n

If your bucket has a lifecycle configuration with a rule that includes an expiration\n action, the object expiration overrides the life span that you specify in a restore\n request. For example, if you restore an object copy for 10 days, but the object is\n scheduled to expire in 3 days, Amazon S3 deletes the object in 3 days. For more information\n about lifecycle configuration, see PutBucketLifecycleConfiguration and Object Lifecycle Management in\n Amazon S3 User Guide.

\n

\n Responses\n

\n

A successful action returns either the 200 OK or 202\n Accepted status code.

\n
    \n
  • \n

    If the object is not previously restored, then Amazon S3 returns 202\n Accepted in the response.

    \n
  • \n
  • \n

    If the object is previously restored, Amazon S3 returns 200 OK in the\n response.

    \n
  • \n
\n

\n Special Errors\n

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

      \n Code: RestoreAlreadyInProgress\n

      \n
    • \n
    • \n

      \n Cause: Object restore is already in progress. (This error does not\n apply to SELECT type requests.)\n

      \n
    • \n
    • \n

      \n HTTP Status Code: 409 Conflict\n

      \n
    • \n
    • \n

      \n SOAP Fault Code Prefix: Client\n

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

      \n Code: GlacierExpeditedRetrievalNotAvailable\n

      \n
    • \n
    • \n

      \n Cause: expedited retrievals are currently not available. Try again\n later. (Returned if there is insufficient capacity to process the Expedited\n request. This error applies only to Expedited retrievals and not to\n S3 Standard or Bulk retrievals.)\n

      \n
    • \n
    • \n

      \n HTTP Status Code: 503\n

      \n
    • \n
    • \n

      \n SOAP Fault Code Prefix: N/A\n

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

\n Related Resources\n

\n ", + "smithy.api#documentation": "

Restores an archived copy of an object back into Amazon S3

\n

This action is not supported by Amazon S3 on Outposts.

\n

This action performs the following types of requests:

\n
    \n
  • \n

    \n select - Perform a select query on an archived object

    \n
  • \n
  • \n

    \n restore an archive - Restore an archived object

    \n
  • \n
\n

To use this operation, you must have permissions to perform the\n s3:RestoreObject action. The bucket owner has this permission by default\n and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources in the Amazon S3 User Guide.

\n

\n Querying Archives with Select Requests\n

\n

You use a select type of request to perform SQL queries on archived objects. The\n archived objects that are being queried by the select request must be formatted as\n uncompressed comma-separated values (CSV) files. You can run queries and custom analytics\n on your archived data without having to restore your data to a hotter Amazon S3 tier. For an\n overview about select requests, see Querying Archived Objects in the Amazon S3 User Guide.

\n

When making a select request, do the following:

\n
    \n
  • \n

    Define an output location for the select query's output. This must be an Amazon S3\n bucket in the same Amazon Web Services Region as the bucket that contains the archive object that is\n being queried. The Amazon Web Services account that initiates the job must have permissions to write\n to the S3 bucket. You can specify the storage class and encryption for the output\n objects stored in the bucket. For more information about output, see Querying Archived Objects\n in the Amazon S3 User Guide.

    \n

    For more information about the S3 structure in the request body, see\n the following:

    \n \n
  • \n
  • \n

    Define the SQL expression for the SELECT type of restoration for your\n query in the request body's SelectParameters structure. You can use\n expressions like the following examples.

    \n
      \n
    • \n

      The following expression returns all records from the specified\n object.

      \n

      \n SELECT * FROM Object\n

      \n
    • \n
    • \n

      Assuming that you are not using any headers for data stored in the object,\n you can specify columns with positional headers.

      \n

      \n SELECT s._1, s._2 FROM Object s WHERE s._3 > 100\n

      \n
    • \n
    • \n

      If you have headers and you set the fileHeaderInfo in the\n CSV structure in the request body to USE, you can\n specify headers in the query. (If you set the fileHeaderInfo field\n to IGNORE, the first row is skipped for the query.) You cannot mix\n ordinal positions with header column names.

      \n

      \n SELECT s.Id, s.FirstName, s.SSN FROM S3Object s\n

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

For more information about using SQL with S3 Glacier Select restore, see SQL Reference for Amazon S3 Select and\n S3 Glacier Select in the Amazon S3 User Guide.

\n

When making a select request, you can also do the following:

\n
    \n
  • \n

    To expedite your queries, specify the Expedited tier. For more\n information about tiers, see \"Restoring Archives,\" later in this topic.

    \n
  • \n
  • \n

    Specify details about the data serialization format of both the input object that\n is being queried and the serialization of the CSV-encoded query results.

    \n
  • \n
\n

The following are additional important facts about the select feature:

\n
    \n
  • \n

    The output results are new Amazon S3 objects. Unlike archive retrievals, they are\n stored until explicitly deleted-manually or through a lifecycle policy.

    \n
  • \n
  • \n

    You can issue more than one select request on the same Amazon S3 object. Amazon S3 doesn't\n deduplicate requests, so avoid issuing duplicate requests.

    \n
  • \n
  • \n

    Amazon S3 accepts a select request even if the object has already been restored. A\n select request doesn’t return error response 409.

    \n
  • \n
\n

\n Restoring objects\n

\n

Objects that you archive to the S3 Glacier or\n S3 Glacier Deep Archive storage class, and S3 Intelligent-Tiering Archive or\n S3 Intelligent-Tiering Deep Archive tiers are not accessible in real time. For objects in\n Archive Access or Deep Archive Access tiers you must first initiate a restore request, and\n then wait until the object is moved into the Frequent Access tier. For objects in\n S3 Glacier or S3 Glacier Deep Archive storage classes you must\n first initiate a restore request, and then wait until a temporary copy of the object is\n available. To access an archived object, you must restore the object for the duration\n (number of days) that you specify.

\n

To restore a specific object version, you can provide a version ID. If you don't provide\n a version ID, Amazon S3 restores the current version.

\n

When restoring an archived object (or using a select request), you can specify one of\n the following data access tier options in the Tier element of the request\n body:

\n
    \n
  • \n

    \n Expedited - Expedited retrievals allow you to quickly access your\n data stored in the S3 Glacier storage class or S3 Intelligent-Tiering Archive\n tier when occasional urgent requests for a subset of archives are required. For all\n but the largest archived objects (250 MB+), data accessed using Expedited retrievals\n is typically made available within 1–5 minutes. Provisioned capacity ensures that\n retrieval capacity for Expedited retrievals is available when you need it. Expedited\n retrievals and provisioned capacity are not available for objects stored in the\n S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier.

    \n
  • \n
  • \n

    \n Standard - Standard retrievals allow you to access any of your\n archived objects within several hours. This is the default option for retrieval\n requests that do not specify the retrieval option. Standard retrievals typically\n finish within 3–5 hours for objects stored in the S3 Glacier storage\n class or S3 Intelligent-Tiering Archive tier. They typically finish within 12 hours for\n objects stored in the S3 Glacier Deep Archive storage class or\n S3 Intelligent-Tiering Deep Archive tier. Standard retrievals are free for objects stored in\n S3 Intelligent-Tiering.

    \n
  • \n
  • \n

    \n Bulk - Bulk retrievals are the lowest-cost retrieval option in\n S3 Glacier, enabling you to retrieve large amounts, even petabytes, of data\n inexpensively. Bulk retrievals typically finish within 5–12 hours for objects stored\n in the S3 Glacier storage class or S3 Intelligent-Tiering Archive tier. They\n typically finish within 48 hours for objects stored in the\n S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier. Bulk\n retrievals are free for objects stored in S3 Intelligent-Tiering.

    \n
  • \n
\n

For more information about archive retrieval options and provisioned capacity for\n Expedited data access, see Restoring Archived Objects in the Amazon S3 User Guide.

\n

You can use Amazon S3 restore speed upgrade to change the restore speed to a faster speed\n while it is in progress. For more information, see \n Upgrading the speed of an in-progress restore in the\n Amazon S3 User Guide.

\n

To get the status of object restoration, you can send a HEAD request.\n Operations return the x-amz-restore header, which provides information about\n the restoration status, in the response. You can use Amazon S3 event notifications to notify you\n when a restore is initiated or completed. For more information, see Configuring Amazon S3 Event Notifications in\n the Amazon S3 User Guide.

\n

After restoring an archived object, you can update the restoration period by reissuing\n the request with a new period. Amazon S3 updates the restoration period relative to the current\n time and charges only for the request-there are no data transfer charges. You cannot\n update the restoration period when Amazon S3 is actively processing your current restore request\n for the object.

\n

If your bucket has a lifecycle configuration with a rule that includes an expiration\n action, the object expiration overrides the life span that you specify in a restore\n request. For example, if you restore an object copy for 10 days, but the object is\n scheduled to expire in 3 days, Amazon S3 deletes the object in 3 days. For more information\n about lifecycle configuration, see PutBucketLifecycleConfiguration and Object Lifecycle Management in\n Amazon S3 User Guide.

\n

\n Responses\n

\n

A successful action returns either the 200 OK or 202\n Accepted status code.

\n
    \n
  • \n

    If the object is not previously restored, then Amazon S3 returns 202\n Accepted in the response.

    \n
  • \n
  • \n

    If the object is previously restored, Amazon S3 returns 200 OK in the\n response.

    \n
  • \n
\n

\n Special Errors\n

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

      \n Code: RestoreAlreadyInProgress\n

      \n
    • \n
    • \n

      \n Cause: Object restore is already in progress. (This error does not\n apply to SELECT type requests.)\n

      \n
    • \n
    • \n

      \n HTTP Status Code: 409 Conflict\n

      \n
    • \n
    • \n

      \n SOAP Fault Code Prefix: Client\n

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

      \n Code: GlacierExpeditedRetrievalNotAvailable\n

      \n
    • \n
    • \n

      \n Cause: expedited retrievals are currently not available. Try again\n later. (Returned if there is insufficient capacity to process the Expedited\n request. This error applies only to Expedited retrievals and not to\n S3 Standard or Bulk retrievals.)\n

      \n
    • \n
    • \n

      \n HTTP Status Code: 503\n

      \n
    • \n
    • \n

      \n SOAP Fault Code Prefix: N/A\n

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

\n Related Resources\n

\n ", "smithy.api#http": { "method": "POST", "uri": "/{Bucket}/{Key+}?restore&x-id=RestoreObject", @@ -30178,6 +32408,9 @@ "smithy.api#httpHeader": "x-amz-restore-output-path" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#RestoreObjectRequest": { @@ -30225,7 +32458,7 @@ "ChecksumAlgorithm": { "target": "com.amazonaws.s3#ChecksumAlgorithm", "traits": { - "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", + "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

", "smithy.api#httpHeader": "x-amz-sdk-checksum-algorithm" } }, @@ -30236,6 +32469,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#RestoreOutputPath": { @@ -30485,7 +32721,7 @@ "target": "com.amazonaws.s3#SelectObjectContentOutput" }, "traits": { - "smithy.api#documentation": "

This action filters the contents of an Amazon S3 object based on a simple structured query\n language (SQL) statement. In the request, along with the SQL expression, you must also\n specify a data serialization format (JSON, CSV, or Apache Parquet) of the object. Amazon S3 uses\n this format to parse object data into records, and returns only records that match the\n specified SQL expression. You must also specify the data serialization format for the\n response.

\n

This action is not supported by Amazon S3 on Outposts.

\n

For more information about Amazon S3 Select,\n see Selecting Content from\n Objects and SELECT\n Command in the Amazon S3 User Guide.

\n

For more information about using SQL with Amazon S3 Select, see SQL Reference for Amazon S3 Select\n and S3 Glacier Select in the Amazon S3 User Guide.

\n

\n

\n Permissions\n

\n

You must have s3:GetObject permission for this operation.Β Amazon S3 Select does\n not support anonymous access. For more information about permissions, see Specifying Permissions in a Policy\n in the Amazon S3 User Guide.

\n

\n

\n Object Data Formats\n

\n

You can use Amazon S3 Select to query objects that have the following format\n properties:

\n
    \n
  • \n

    \n CSV, JSON, and Parquet - Objects must be in CSV, JSON, or\n Parquet format.

    \n
  • \n
  • \n

    \n UTF-8 - UTF-8 is the only encoding type Amazon S3 Select\n supports.

    \n
  • \n
  • \n

    \n GZIP or BZIP2 - CSV and JSON files can be compressed using\n GZIP or BZIP2. GZIP and BZIP2 are the only compression formats that Amazon S3 Select\n supports for CSV and JSON files. Amazon S3 Select supports columnar compression for\n Parquet using GZIP or Snappy. Amazon S3 Select does not support whole-object compression\n for Parquet objects.

    \n
  • \n
  • \n

    \n Server-side encryption - Amazon S3 Select supports querying\n objects that are protected with server-side encryption.

    \n

    For objects that are encrypted with customer-provided encryption keys (SSE-C), you\n must use HTTPS, and you must use the headers that are documented in the GetObject. For more information about SSE-C, see Server-Side Encryption\n (Using Customer-Provided Encryption Keys) in the\n Amazon S3 User Guide.

    \n

    For objects that are encrypted with Amazon S3 managed encryption keys (SSE-S3) and\n Amazon Web Services KMS keys (SSE-KMS),\n server-side encryption is handled transparently, so you don't need to specify\n anything. For more information about server-side encryption, including SSE-S3 and\n SSE-KMS, see Protecting Data Using\n Server-Side Encryption in the Amazon S3 User Guide.

    \n
  • \n
\n\n

\n Working with the Response Body\n

\n

Given the response size is unknown, Amazon S3 Select streams the response as a series of\n messages and includes a Transfer-Encoding header with chunked as\n its value in the response. For more information, see Appendix: SelectObjectContent\n Response.

\n\n

\n

\n GetObject Support\n

\n

The SelectObjectContent action does not support the following\n GetObject functionality. For more information, see GetObject.

\n
    \n
  • \n

    \n Range: Although you can specify a scan range for an Amazon S3 Select request\n (see SelectObjectContentRequest - ScanRange in the request parameters),\n you cannot specify the range of bytes of an object to return.

    \n
  • \n
  • \n

    GLACIER, DEEP_ARCHIVE and REDUCED_REDUNDANCY storage classes: You cannot specify\n the GLACIER, DEEP_ARCHIVE, or REDUCED_REDUNDANCY storage classes. For\n more information, about storage classes see Storage Classes\n in the Amazon S3 User Guide.

    \n
  • \n
\n

\n

\n Special Errors\n

\n\n

For a list of special errors for this operation, see List of\n SELECT Object Content Error Codes\n

\n

\n Related Resources\n

\n ", + "smithy.api#documentation": "

This action filters the contents of an Amazon S3 object based on a simple structured query\n language (SQL) statement. In the request, along with the SQL expression, you must also\n specify a data serialization format (JSON, CSV, or Apache Parquet) of the object. Amazon S3 uses\n this format to parse object data into records, and returns only records that match the\n specified SQL expression. You must also specify the data serialization format for the\n response.

\n

This action is not supported by Amazon S3 on Outposts.

\n

For more information about Amazon S3 Select,\n see Selecting Content from\n Objects and SELECT\n Command in the Amazon S3 User Guide.

\n

For more information about using SQL with Amazon S3 Select, see SQL Reference for Amazon S3 Select\n and S3 Glacier Select in the Amazon S3 User Guide.

\n

\n

\n Permissions\n

\n

You must have s3:GetObject permission for this operation.Β Amazon S3 Select does\n not support anonymous access. For more information about permissions, see Specifying Permissions in a Policy\n in the Amazon S3 User Guide.

\n

\n

\n Object Data Formats\n

\n

You can use Amazon S3 Select to query objects that have the following format\n properties:

\n
    \n
  • \n

    \n CSV, JSON, and Parquet - Objects must be in CSV, JSON, or\n Parquet format.

    \n
  • \n
  • \n

    \n UTF-8 - UTF-8 is the only encoding type Amazon S3 Select\n supports.

    \n
  • \n
  • \n

    \n GZIP or BZIP2 - CSV and JSON files can be compressed using\n GZIP or BZIP2. GZIP and BZIP2 are the only compression formats that Amazon S3 Select\n supports for CSV and JSON files. Amazon S3 Select supports columnar compression for\n Parquet using GZIP or Snappy. Amazon S3 Select does not support whole-object compression\n for Parquet objects.

    \n
  • \n
  • \n

    \n Server-side encryption - Amazon S3 Select supports querying\n objects that are protected with server-side encryption.

    \n

    For objects that are encrypted with customer-provided encryption keys (SSE-C), you\n must use HTTPS, and you must use the headers that are documented in the GetObject. For more information about SSE-C, see Server-Side Encryption\n (Using Customer-Provided Encryption Keys) in the\n Amazon S3 User Guide.

    \n

    For objects that are encrypted with Amazon S3 managed encryption keys (SSE-S3) and\n Amazon Web Services KMS keys (SSE-KMS),\n server-side encryption is handled transparently, so you don't need to specify\n anything. For more information about server-side encryption, including SSE-S3 and\n SSE-KMS, see Protecting Data Using\n Server-Side Encryption in the Amazon S3 User Guide.

    \n
  • \n
\n

\n Working with the Response Body\n

\n

Given the response size is unknown, Amazon S3 Select streams the response as a series of\n messages and includes a Transfer-Encoding header with chunked as\n its value in the response. For more information, see Appendix: SelectObjectContent\n Response.

\n

\n

\n GetObject Support\n

\n

The SelectObjectContent action does not support the following\n GetObject functionality. For more information, see GetObject.

\n
    \n
  • \n

    \n Range: Although you can specify a scan range for an Amazon S3 Select request\n (see SelectObjectContentRequest - ScanRange in the request parameters),\n you cannot specify the range of bytes of an object to return.

    \n
  • \n
  • \n

    GLACIER, DEEP_ARCHIVE and REDUCED_REDUNDANCY storage classes: You cannot specify\n the GLACIER, DEEP_ARCHIVE, or REDUCED_REDUNDANCY storage classes. For\n more information, about storage classes see Storage Classes\n in the Amazon S3 User Guide.

    \n
  • \n
\n

\n

\n Special Errors\n

\n

For a list of special errors for this operation, see List of\n SELECT Object Content Error Codes\n

\n

\n Related Resources\n

\n ", "smithy.api#http": { "method": "POST", "uri": "/{Bucket}/{Key+}?select&select-type=2&x-id=SelectObjectContent", @@ -30542,6 +32778,9 @@ "smithy.api#httpPayload": {} } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#SelectObjectContentRequest": { @@ -30636,7 +32875,8 @@ } }, "traits": { - "smithy.api#documentation": "

Request to filter the contents of an Amazon S3 object based on a simple Structured Query\n Language (SQL) statement. In the request, along with the SQL expression, you must specify a\n data serialization format (JSON or CSV) of the object. Amazon S3 uses this to parse object data\n into records. It returns only records that match the specified SQL expression. You must\n also specify the data serialization format for the response. For more information, see\n S3Select API Documentation.

" + "smithy.api#documentation": "

Request to filter the contents of an Amazon S3 object based on a simple Structured Query\n Language (SQL) statement. In the request, along with the SQL expression, you must specify a\n data serialization format (JSON or CSV) of the object. Amazon S3 uses this to parse object data\n into records. It returns only records that match the specified SQL expression. You must\n also specify the data serialization format for the response. For more information, see\n S3Select API Documentation.

", + "smithy.api#input": {} } }, "com.amazonaws.s3#SelectParameters": { @@ -31316,7 +33556,7 @@ "aws.protocols#httpChecksum": { "requestAlgorithmMember": "ChecksumAlgorithm" }, - "smithy.api#documentation": "

Uploads a part in a multipart upload.

\n \n

In this operation, you provide part data in your request. However, you have an option\n to specify your existing Amazon S3 object as a data source for the part you are uploading. To\n upload a part from an existing object, you use the UploadPartCopy operation.\n

\n
\n\n

You must initiate a multipart upload (see CreateMultipartUpload)\n before you can upload any part. In response to your initiate request, Amazon S3 returns an\n upload ID, a unique identifier, that you must include in your upload part request.

\n

Part numbers can be any number from 1 to 10,000, inclusive. A part number uniquely\n identifies a part and also defines its position within the object being created. If you\n upload a new part using the same part number that was used with a previous part, the\n previously uploaded part is overwritten.

\n

For information about maximum and minimum part sizes and other multipart upload specifications, see Multipart upload limits in the Amazon S3 User Guide.

\n

To ensure that data is not corrupted when traversing the network, specify the\n Content-MD5 header in the upload part request. Amazon S3 checks the part data\n against the provided MD5 value. If they do not match, Amazon S3 returns an error.

\n\n

If the upload request is signed with Signature Version 4, then Amazon Web Services S3 uses the\n x-amz-content-sha256 header as a checksum instead of\n Content-MD5. For more information see Authenticating Requests: Using the Authorization Header (Amazon Web Services Signature Version\n 4).

\n\n\n\n

\n Note: After you initiate multipart upload and upload\n one or more parts, you must either complete or abort multipart upload in order to stop\n getting charged for storage of the uploaded parts. Only after you either complete or abort\n multipart upload, Amazon S3 frees up the parts storage and stops charging you for the parts\n storage.

\n\n

For more information on multipart uploads, go to Multipart Upload Overview in the\n Amazon S3 User Guide .

\n

For information on the permissions required to use the multipart upload API, go to\n Multipart Upload and\n Permissions in the Amazon S3 User Guide.

\n\n

You can optionally request server-side encryption where Amazon S3 encrypts your data as it\n writes it to disks in its data centers and decrypts it for you when you access it. You have\n the option of providing your own encryption key, or you can use the Amazon Web Services managed encryption\n keys. If you choose to provide your own encryption key, the request headers you provide in\n the request must match the headers you used in the request to initiate the upload by using\n CreateMultipartUpload. For more information, go to Using Server-Side Encryption in\n the Amazon S3 User Guide.

\n\n

Server-side encryption is supported by the S3 Multipart Upload actions. Unless you are\n using a customer-provided encryption key, you don't need to specify the encryption\n parameters in each UploadPart request. Instead, you only need to specify the server-side\n encryption parameters in the initial Initiate Multipart request. For more information, see\n CreateMultipartUpload.

\n\n

If you requested server-side encryption using a customer-provided encryption key in your\n initiate multipart upload request, you must provide identical encryption information in\n each part upload using the following headers.

\n\n\n
    \n
  • \n

    x-amz-server-side-encryption-customer-algorithm

    \n
  • \n
  • \n

    x-amz-server-side-encryption-customer-key

    \n
  • \n
  • \n

    x-amz-server-side-encryption-customer-key-MD5

    \n
  • \n
\n\n

\n Special Errors\n

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

      \n Code: NoSuchUpload\n

      \n
    • \n
    • \n

      \n Cause: The specified multipart upload does not exist. The upload\n ID might be invalid, or the multipart upload might have been aborted or\n completed.\n

      \n
    • \n
    • \n

      \n HTTP Status Code: 404 Not Found \n

      \n
    • \n
    • \n

      \n SOAP Fault Code Prefix: Client\n

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

\n Related Resources\n

\n ", + "smithy.api#documentation": "

Uploads a part in a multipart upload.

\n \n

In this operation, you provide part data in your request. However, you have an option\n to specify your existing Amazon S3 object as a data source for the part you are uploading. To\n upload a part from an existing object, you use the UploadPartCopy operation.\n

\n
\n

You must initiate a multipart upload (see CreateMultipartUpload)\n before you can upload any part. In response to your initiate request, Amazon S3 returns an\n upload ID, a unique identifier, that you must include in your upload part request.

\n

Part numbers can be any number from 1 to 10,000, inclusive. A part number uniquely\n identifies a part and also defines its position within the object being created. If you\n upload a new part using the same part number that was used with a previous part, the\n previously uploaded part is overwritten.

\n

For information about maximum and minimum part sizes and other multipart upload specifications, see Multipart upload limits in the Amazon S3 User Guide.

\n

To ensure that data is not corrupted when traversing the network, specify the\n Content-MD5 header in the upload part request. Amazon S3 checks the part data\n against the provided MD5 value. If they do not match, Amazon S3 returns an error.

\n

If the upload request is signed with Signature Version 4, then Amazon Web Services S3 uses the\n x-amz-content-sha256 header as a checksum instead of\n Content-MD5. For more information see Authenticating Requests: Using the Authorization Header (Amazon Web Services Signature Version\n 4).

\n

\n Note: After you initiate multipart upload and upload\n one or more parts, you must either complete or abort multipart upload in order to stop\n getting charged for storage of the uploaded parts. Only after you either complete or abort\n multipart upload, Amazon S3 frees up the parts storage and stops charging you for the parts\n storage.

\n

For more information on multipart uploads, go to Multipart Upload Overview in the\n Amazon S3 User Guide .

\n

For information on the permissions required to use the multipart upload API, go to\n Multipart Upload and\n Permissions in the Amazon S3 User Guide.

\n

You can optionally request server-side encryption where Amazon S3 encrypts your data as it\n writes it to disks in its data centers and decrypts it for you when you access it. You have\n the option of providing your own encryption key, or you can use the Amazon Web Services managed encryption\n keys. If you choose to provide your own encryption key, the request headers you provide in\n the request must match the headers you used in the request to initiate the upload by using\n CreateMultipartUpload. For more information, go to Using Server-Side Encryption in\n the Amazon S3 User Guide.

\n

Server-side encryption is supported by the S3 Multipart Upload actions. Unless you are\n using a customer-provided encryption key, you don't need to specify the encryption\n parameters in each UploadPart request. Instead, you only need to specify the server-side\n encryption parameters in the initial Initiate Multipart request. For more information, see\n CreateMultipartUpload.

\n

If you requested server-side encryption using a customer-provided encryption key in your\n initiate multipart upload request, you must provide identical encryption information in\n each part upload using the following headers.

\n
    \n
  • \n

    x-amz-server-side-encryption-customer-algorithm

    \n
  • \n
  • \n

    x-amz-server-side-encryption-customer-key

    \n
  • \n
  • \n

    x-amz-server-side-encryption-customer-key-MD5

    \n
  • \n
\n

\n Special Errors\n

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

      \n Code: NoSuchUpload\n

      \n
    • \n
    • \n

      \n Cause: The specified multipart upload does not exist. The upload\n ID might be invalid, or the multipart upload might have been aborted or\n completed.\n

      \n
    • \n
    • \n

      \n HTTP Status Code: 404 Not Found \n

      \n
    • \n
    • \n

      \n SOAP Fault Code Prefix: Client\n

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

\n Related Resources\n

\n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}/{Key+}?x-id=UploadPart", @@ -31333,7 +33573,7 @@ "target": "com.amazonaws.s3#UploadPartCopyOutput" }, "traits": { - "smithy.api#documentation": "

Uploads a part by copying data from an existing object as data source. You specify the\n data source by adding the request header x-amz-copy-source in your request and\n a byte range by adding the request header x-amz-copy-source-range in your\n request.

\n

For information about maximum and minimum part sizes and other multipart upload specifications, see Multipart upload limits in the Amazon S3 User Guide.

\n \n

Instead of using an existing object as part data, you might use the UploadPart\n action and provide data in your request.

\n
\n\n

You must initiate a multipart upload before you can upload any part. In response to your\n initiate request. Amazon S3 returns a unique identifier, the upload ID, that you must include in\n your upload part request.

\n

For more information about using the UploadPartCopy operation, see the\n following:

\n\n
    \n
  • \n

    For conceptual information about multipart uploads, see Uploading Objects Using Multipart\n Upload in the Amazon S3 User Guide.

    \n
  • \n
  • \n

    For information about permissions required to use the multipart upload API, see\n Multipart Upload and\n Permissions in the Amazon S3 User Guide.

    \n
  • \n
  • \n

    For information about copying objects using a single atomic action vs. a multipart\n upload, see Operations on Objects in\n the Amazon S3 User Guide.

    \n
  • \n
  • \n

    For information about using server-side encryption with customer-provided\n encryption keys with the UploadPartCopy operation, see CopyObject and UploadPart.

    \n
  • \n
\n

Note the following additional considerations about the request headers\n x-amz-copy-source-if-match, x-amz-copy-source-if-none-match,\n x-amz-copy-source-if-unmodified-since, and\n x-amz-copy-source-if-modified-since:

\n

\n
    \n
  • \n

    \n Consideration 1 - If both of the\n x-amz-copy-source-if-match and\n x-amz-copy-source-if-unmodified-since headers are present in the\n request as follows:

    \n

    \n x-amz-copy-source-if-match condition evaluates to true,\n and;

    \n

    \n x-amz-copy-source-if-unmodified-since condition evaluates to\n false;

    \n

    Amazon S3 returns 200 OK and copies the data.\n

    \n\n
  • \n
  • \n

    \n Consideration 2 - If both of the\n x-amz-copy-source-if-none-match and\n x-amz-copy-source-if-modified-since headers are present in the\n request as follows:

    \n

    \n x-amz-copy-source-if-none-match condition evaluates to\n false, and;

    \n

    \n x-amz-copy-source-if-modified-since condition evaluates to\n true;

    \n

    Amazon S3 returns 412 Precondition Failed response code.\n

    \n
  • \n
\n

\n Versioning\n

\n

If your bucket has versioning enabled, you could have multiple versions of the same\n object. By default, x-amz-copy-source identifies the current version of the\n object to copy. If the current version is a delete marker and you don't specify a versionId\n in the x-amz-copy-source, Amazon S3 returns a 404 error, because the object does\n not exist. If you specify versionId in the x-amz-copy-source and the versionId\n is a delete marker, Amazon S3 returns an HTTP 400 error, because you are not allowed to specify\n a delete marker as a version for the x-amz-copy-source.

\n

You can optionally specify a specific version of the source object to copy by adding the\n versionId subresource as shown in the following example:

\n

\n x-amz-copy-source: /bucket/object?versionId=version id\n

\n\n

\n Special Errors\n

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

      \n Code: NoSuchUpload\n

      \n
    • \n
    • \n

      \n Cause: The specified multipart upload does not exist. The upload\n ID might be invalid, or the multipart upload might have been aborted or\n completed.\n

      \n
    • \n
    • \n

      \n HTTP Status Code: 404 Not Found\n

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

      \n Code: InvalidRequest\n

      \n
    • \n
    • \n

      \n Cause: The specified copy source is not supported as a byte-range\n copy source.\n

      \n
    • \n
    • \n

      \n HTTP Status Code: 400 Bad Request\n

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

\n Related Resources\n

\n ", + "smithy.api#documentation": "

Uploads a part by copying data from an existing object as data source. You specify the\n data source by adding the request header x-amz-copy-source in your request and\n a byte range by adding the request header x-amz-copy-source-range in your\n request.

\n

For information about maximum and minimum part sizes and other multipart upload specifications, see Multipart upload limits in the Amazon S3 User Guide.

\n \n

Instead of using an existing object as part data, you might use the UploadPart\n action and provide data in your request.

\n
\n

You must initiate a multipart upload before you can upload any part. In response to your\n initiate request. Amazon S3 returns a unique identifier, the upload ID, that you must include in\n your upload part request.

\n

For more information about using the UploadPartCopy operation, see the\n following:

\n
    \n
  • \n

    For conceptual information about multipart uploads, see Uploading Objects Using Multipart\n Upload in the Amazon S3 User Guide.

    \n
  • \n
  • \n

    For information about permissions required to use the multipart upload API, see\n Multipart Upload and\n Permissions in the Amazon S3 User Guide.

    \n
  • \n
  • \n

    For information about copying objects using a single atomic action vs. a multipart\n upload, see Operations on Objects in\n the Amazon S3 User Guide.

    \n
  • \n
  • \n

    For information about using server-side encryption with customer-provided\n encryption keys with the UploadPartCopy operation, see CopyObject and UploadPart.

    \n
  • \n
\n

Note the following additional considerations about the request headers\n x-amz-copy-source-if-match, x-amz-copy-source-if-none-match,\n x-amz-copy-source-if-unmodified-since, and\n x-amz-copy-source-if-modified-since:

\n

\n
    \n
  • \n

    \n Consideration 1 - If both of the\n x-amz-copy-source-if-match and\n x-amz-copy-source-if-unmodified-since headers are present in the\n request as follows:

    \n

    \n x-amz-copy-source-if-match condition evaluates to true,\n and;

    \n

    \n x-amz-copy-source-if-unmodified-since condition evaluates to\n false;

    \n

    Amazon S3 returns 200 OK and copies the data.\n

    \n
  • \n
  • \n

    \n Consideration 2 - If both of the\n x-amz-copy-source-if-none-match and\n x-amz-copy-source-if-modified-since headers are present in the\n request as follows:

    \n

    \n x-amz-copy-source-if-none-match condition evaluates to\n false, and;

    \n

    \n x-amz-copy-source-if-modified-since condition evaluates to\n true;

    \n

    Amazon S3 returns 412 Precondition Failed response code.\n

    \n
  • \n
\n

\n Versioning\n

\n

If your bucket has versioning enabled, you could have multiple versions of the same\n object. By default, x-amz-copy-source identifies the current version of the\n object to copy. If the current version is a delete marker and you don't specify a versionId\n in the x-amz-copy-source, Amazon S3 returns a 404 error, because the object does\n not exist. If you specify versionId in the x-amz-copy-source and the versionId\n is a delete marker, Amazon S3 returns an HTTP 400 error, because you are not allowed to specify\n a delete marker as a version for the x-amz-copy-source.

\n

You can optionally specify a specific version of the source object to copy by adding the\n versionId subresource as shown in the following example:

\n

\n x-amz-copy-source: /bucket/object?versionId=version id\n

\n

\n Special Errors\n

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

      \n Code: NoSuchUpload\n

      \n
    • \n
    • \n

      \n Cause: The specified multipart upload does not exist. The upload\n ID might be invalid, or the multipart upload might have been aborted or\n completed.\n

      \n
    • \n
    • \n

      \n HTTP Status Code: 404 Not Found\n

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

      \n Code: InvalidRequest\n

      \n
    • \n
    • \n

      \n Cause: The specified copy source is not supported as a byte-range\n copy source.\n

      \n
    • \n
    • \n

      \n HTTP Status Code: 400 Bad Request\n

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

\n Related Resources\n

\n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}/{Key+}?x-id=UploadPartCopy", @@ -31400,6 +33640,9 @@ "smithy.api#httpHeader": "x-amz-request-charged" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#UploadPartCopyRequest": { @@ -31419,7 +33662,7 @@ "CopySource": { "target": "com.amazonaws.s3#CopySource", "traits": { - "smithy.api#documentation": "

Specifies the source object for the copy operation. You specify the value in one of two\n formats, depending on whether you want to access the source object through an access point:

\n
    \n
  • \n

    For objects not accessed through an access point, specify the name of the source bucket\n and key of the source object, separated by a slash (/). For example, to copy the\n object reports/january.pdf from the bucket\n awsexamplebucket, use awsexamplebucket/reports/january.pdf.\n The value must be URL-encoded.

    \n
  • \n
  • \n

    For objects accessed through access points, specify the Amazon Resource Name (ARN) of the object as accessed through the access point, in the format arn:aws:s3:::accesspoint//object/. For example, to copy the object reports/january.pdf through access point my-access-point owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf. The value must be URL encoded.

    \n \n

    Amazon S3 supports copy operations using access points only when the source and destination buckets are in the same Amazon Web Services Region.

    \n
    \n

    Alternatively, for objects accessed through Amazon S3 on Outposts, specify the ARN of the object as accessed in the format arn:aws:s3-outposts:::outpost//object/. For example, to copy the object reports/january.pdf through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf. The value must be URL-encoded.

    \n
  • \n
\n

To copy a specific version of an object, append ?versionId=\n to the value (for example,\n awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893).\n If you don't specify a version ID, Amazon S3 copies the latest version of the source\n object.

", + "smithy.api#documentation": "

Specifies the source object for the copy operation. You specify the value in one of two\n formats, depending on whether you want to access the source object through an access point:

\n
    \n
  • \n

    For objects not accessed through an access point, specify the name of the source bucket\n and key of the source object, separated by a slash (/). For example, to copy the\n object reports/january.pdf from the bucket\n awsexamplebucket, use awsexamplebucket/reports/january.pdf.\n The value must be URL-encoded.

    \n
  • \n
  • \n

    For objects accessed through access points, specify the Amazon Resource Name (ARN) of the object as accessed through the access point, in the format arn:aws:s3:::accesspoint//object/. For example, to copy the object reports/january.pdf through access point my-access-point owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf. The value must be URL encoded.

    \n \n

    Amazon S3 supports copy operations using access points only when the source and destination buckets are in the same Amazon Web Services Region.

    \n
    \n

    Alternatively, for objects accessed through Amazon S3 on Outposts, specify the ARN of the object as accessed in the format arn:aws:s3-outposts:::outpost//object/. For example, to copy the object reports/january.pdf through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf. The value must be URL-encoded.

    \n
  • \n
\n

To copy a specific version of an object, append ?versionId=\n to the value (for example,\n awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893).\n If you don't specify a version ID, Amazon S3 copies the latest version of the source\n object.

", "smithy.api#httpHeader": "x-amz-copy-source", "smithy.api#required": {} } @@ -31546,6 +33789,9 @@ "smithy.api#httpHeader": "x-amz-source-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#UploadPartOutput": { @@ -31628,6 +33874,9 @@ "smithy.api#httpHeader": "x-amz-request-charged" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.s3#UploadPartRequest": { @@ -31670,7 +33919,7 @@ "ChecksumAlgorithm": { "target": "com.amazonaws.s3#ChecksumAlgorithm", "traits": { - "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

\n

This checksum algorithm must be the same for all parts and it match the checksum\n value supplied in the CreateMultipartUpload request.

", + "smithy.api#documentation": "

Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any\n additional functionality if not using the SDK. When sending this header, there must be a corresponding x-amz-checksum or\n x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code 400 Bad Request. For more\n information, see Checking object integrity in\n the Amazon S3 User Guide.

\n

If you provide an individual checksum, Amazon S3 ignores any provided\n ChecksumAlgorithm parameter.

\n

This checksum algorithm must be the same for all parts and it match the checksum\n value supplied in the CreateMultipartUpload request.

", "smithy.api#httpHeader": "x-amz-sdk-checksum-algorithm" } }, @@ -31761,6 +34010,9 @@ "smithy.api#httpHeader": "x-amz-expected-bucket-owner" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#UserMetadata": { @@ -31901,7 +34153,7 @@ "target": "com.amazonaws.s3#GetObjectResponseStatusCode", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

The integer status code for an HTTP response of a corresponding GetObject\n request.

\n

\n Status Codes\n

\n
    \n
  • \n

    \n 200 - OK\n

    \n
  • \n
  • \n

    \n 206 - Partial Content\n

    \n
  • \n
  • \n

    \n 304 - Not Modified\n

    \n
  • \n
  • \n

    \n 400 - Bad Request\n

    \n
  • \n
  • \n

    \n 401 - Unauthorized\n

    \n
  • \n
  • \n

    \n 403 - Forbidden\n

    \n
  • \n
  • \n

    \n 404 - Not Found\n

    \n
  • \n
  • \n

    \n 405 - Method Not Allowed\n

    \n
  • \n
  • \n

    \n 409 - Conflict\n

    \n
  • \n
  • \n

    \n 411 - Length Required\n

    \n
  • \n
  • \n

    \n 412 - Precondition Failed\n

    \n
  • \n
  • \n

    \n 416 - Range Not Satisfiable\n

    \n
  • \n
  • \n

    \n 500 - Internal Server Error\n

    \n
  • \n
  • \n

    \n 503 - Service Unavailable\n

    \n
  • \n
", + "smithy.api#documentation": "

The integer status code for an HTTP response of a corresponding GetObject\n request.

\n

\n Status Codes\n

\n
    \n
  • \n

    \n 200 - OK\n

    \n
  • \n
  • \n

    \n 206 - Partial Content\n

    \n
  • \n
  • \n

    \n 304 - Not Modified\n

    \n
  • \n
  • \n

    \n 400 - Bad Request\n

    \n
  • \n
  • \n

    \n 401 - Unauthorized\n

    \n
  • \n
  • \n

    \n 403 - Forbidden\n

    \n
  • \n
  • \n

    \n 404 - Not Found\n

    \n
  • \n
  • \n

    \n 405 - Method Not Allowed\n

    \n
  • \n
  • \n

    \n 409 - Conflict\n

    \n
  • \n
  • \n

    \n 411 - Length Required\n

    \n
  • \n
  • \n

    \n 412 - Precondition Failed\n

    \n
  • \n
  • \n

    \n 416 - Range Not Satisfiable\n

    \n
  • \n
  • \n

    \n 500 - Internal Server Error\n

    \n
  • \n
  • \n

    \n 503 - Service Unavailable\n

    \n
  • \n
", "smithy.api#httpHeader": "x-amz-fwd-status" } }, @@ -31979,28 +34231,28 @@ "ChecksumCRC32": { "target": "com.amazonaws.s3#ChecksumCRC32", "traits": { - "smithy.api#documentation": "

This header can be used as a data integrity check to verify that the data received is the\n same data that was originally sent. This specifies the base64-encoded, 32-bit CRC32 checksum\n of the object returned by the Object Lambda function. This may not match the checksum for the\n object stored in Amazon S3. Amazon S3 will perform validation of the checksum values only when the original\n GetObject request required checksum validation. For more information about checksums, see\n Checking\n object integrity in the Amazon S3 User Guide.

\n

Only one checksum header can be specified at a time. If you supply multiple\n checksum headers, this request will fail.

\n

", + "smithy.api#documentation": "

This header can be used as a data integrity check to verify that the data received is the\n same data that was originally sent. This specifies the base64-encoded, 32-bit CRC32 checksum\n of the object returned by the Object Lambda function. This may not match the checksum for the\n object stored in Amazon S3. Amazon S3 will perform validation of the checksum values only when the original\n GetObject request required checksum validation. For more information about checksums, see\n Checking\n object integrity in the Amazon S3 User Guide.

\n

Only one checksum header can be specified at a time. If you supply multiple\n checksum headers, this request will fail.

\n

", "smithy.api#httpHeader": "x-amz-fwd-header-x-amz-checksum-crc32" } }, "ChecksumCRC32C": { "target": "com.amazonaws.s3#ChecksumCRC32C", "traits": { - "smithy.api#documentation": "

This header can be used as a data integrity check to verify that the data received is the\n same data that was originally sent. This specifies the base64-encoded, 32-bit CRC32C checksum\n of the object returned by the Object Lambda function. This may not match the checksum for the\n object stored in Amazon S3. Amazon S3 will perform validation of the checksum values only when the original\n GetObject request required checksum validation. For more information about checksums, see\n Checking\n object integrity in the Amazon S3 User Guide.

\n

Only one checksum header can be specified at a time. If you supply multiple\n checksum headers, this request will fail.

", + "smithy.api#documentation": "

This header can be used as a data integrity check to verify that the data received is the\n same data that was originally sent. This specifies the base64-encoded, 32-bit CRC32C checksum\n of the object returned by the Object Lambda function. This may not match the checksum for the\n object stored in Amazon S3. Amazon S3 will perform validation of the checksum values only when the original\n GetObject request required checksum validation. For more information about checksums, see\n Checking\n object integrity in the Amazon S3 User Guide.

\n

Only one checksum header can be specified at a time. If you supply multiple\n checksum headers, this request will fail.

", "smithy.api#httpHeader": "x-amz-fwd-header-x-amz-checksum-crc32c" } }, "ChecksumSHA1": { "target": "com.amazonaws.s3#ChecksumSHA1", "traits": { - "smithy.api#documentation": "

This header can be used as a data integrity check to verify that the data received is the\n same data that was originally sent. This specifies the base64-encoded, 160-bit SHA-1 digest\n of the object returned by the Object Lambda function. This may not match the checksum for the\n object stored in Amazon S3. Amazon S3 will perform validation of the checksum values only when the original\n GetObject request required checksum validation. For more information about checksums, see\n Checking\n object integrity in the Amazon S3 User Guide.

\n

Only one checksum header can be specified at a time. If you supply multiple\n checksum headers, this request will fail.

", + "smithy.api#documentation": "

This header can be used as a data integrity check to verify that the data received is the\n same data that was originally sent. This specifies the base64-encoded, 160-bit SHA-1 digest\n of the object returned by the Object Lambda function. This may not match the checksum for the\n object stored in Amazon S3. Amazon S3 will perform validation of the checksum values only when the original\n GetObject request required checksum validation. For more information about checksums, see\n Checking\n object integrity in the Amazon S3 User Guide.

\n

Only one checksum header can be specified at a time. If you supply multiple\n checksum headers, this request will fail.

", "smithy.api#httpHeader": "x-amz-fwd-header-x-amz-checksum-sha1" } }, "ChecksumSHA256": { "target": "com.amazonaws.s3#ChecksumSHA256", "traits": { - "smithy.api#documentation": "

This header can be used as a data integrity check to verify that the data received is the\n same data that was originally sent. This specifies the base64-encoded, 256-bit SHA-256 digest\n of the object returned by the Object Lambda function. This may not match the checksum for the\n object stored in Amazon S3. Amazon S3 will perform validation of the checksum values only when the original\n GetObject request required checksum validation. For more information about checksums, see\n Checking\n object integrity in the Amazon S3 User Guide.

\n

Only one checksum header can be specified at a time. If you supply multiple\n checksum headers, this request will fail.

", + "smithy.api#documentation": "

This header can be used as a data integrity check to verify that the data received is the\n same data that was originally sent. This specifies the base64-encoded, 256-bit SHA-256 digest\n of the object returned by the Object Lambda function. This may not match the checksum for the\n object stored in Amazon S3. Amazon S3 will perform validation of the checksum values only when the original\n GetObject request required checksum validation. For more information about checksums, see\n Checking\n object integrity in the Amazon S3 User Guide.

\n

Only one checksum header can be specified at a time. If you supply multiple\n checksum headers, this request will fail.

", "smithy.api#httpHeader": "x-amz-fwd-header-x-amz-checksum-sha256" } }, @@ -32135,7 +34387,7 @@ "StorageClass": { "target": "com.amazonaws.s3#StorageClass", "traits": { - "smithy.api#documentation": "

Provides storage class information of the object. Amazon S3 returns this header for all\n objects except for S3 Standard storage class objects.

\n \n

For more information, see Storage\n Classes.

", + "smithy.api#documentation": "

Provides storage class information of the object. Amazon S3 returns this header for all\n objects except for S3 Standard storage class objects.

\n

For more information, see Storage\n Classes.

", "smithy.api#httpHeader": "x-amz-fwd-header-x-amz-storage-class" } }, @@ -32162,6 +34414,9 @@ "smithy.api#httpHeader": "x-amz-fwd-header-x-amz-server-side-encryption-bucket-key-enabled" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.s3#Years": { diff --git a/aws/sdk/aws-models/s3control.json b/aws/sdk/aws-models/s3control.json index cbbd56a832..005646332f 100644 --- a/aws/sdk/aws-models/s3control.json +++ b/aws/sdk/aws-models/s3control.json @@ -141,6 +141,9 @@ { "target": "com.amazonaws.s3control#GetMultiRegionAccessPointPolicyStatus" }, + { + "target": "com.amazonaws.s3control#GetMultiRegionAccessPointRoutes" + }, { "target": "com.amazonaws.s3control#GetPublicAccessBlock" }, @@ -204,6 +207,9 @@ { "target": "com.amazonaws.s3control#PutStorageLensConfigurationTagging" }, + { + "target": "com.amazonaws.s3control#SubmitMultiRegionAccessPointRoutes" + }, { "target": "com.amazonaws.s3control#UpdateJobPriority" }, @@ -541,8 +547,8 @@ "authSchemes": [ { "name": "sigv4", - "disableDoubleEncoding": true, "signingName": "s3-outposts", + "disableDoubleEncoding": true, "signingRegion": "{Region}" } ] @@ -569,8 +575,8 @@ "authSchemes": [ { "name": "sigv4", - "disableDoubleEncoding": true, "signingName": "s3-outposts", + "disableDoubleEncoding": true, "signingRegion": "{Region}" } ] @@ -587,8 +593,8 @@ "authSchemes": [ { "name": "sigv4", - "disableDoubleEncoding": true, "signingName": "s3-outposts", + "disableDoubleEncoding": true, "signingRegion": "{Region}" } ] @@ -1058,8 +1064,8 @@ "authSchemes": [ { "name": "sigv4", - "disableDoubleEncoding": true, "signingName": "s3-outposts", + "disableDoubleEncoding": true, "signingRegion": "{accessPointArn#region}" } ] @@ -1101,8 +1107,8 @@ "authSchemes": [ { "name": "sigv4", - "disableDoubleEncoding": true, "signingName": "s3-outposts", + "disableDoubleEncoding": true, "signingRegion": "{accessPointArn#region}" } ] @@ -1126,8 +1132,8 @@ "authSchemes": [ { "name": "sigv4", - "disableDoubleEncoding": true, "signingName": "s3-outposts", + "disableDoubleEncoding": true, "signingRegion": "{accessPointArn#region}" } ] @@ -1690,8 +1696,8 @@ "authSchemes": [ { "name": "sigv4", - "disableDoubleEncoding": true, "signingName": "s3-outposts", + "disableDoubleEncoding": true, "signingRegion": "{bucketArn#region}" } ] @@ -1733,8 +1739,8 @@ "authSchemes": [ { "name": "sigv4", - "disableDoubleEncoding": true, "signingName": "s3-outposts", + "disableDoubleEncoding": true, "signingRegion": "{bucketArn#region}" } ] @@ -1758,8 +1764,8 @@ "authSchemes": [ { "name": "sigv4", - "disableDoubleEncoding": true, "signingName": "s3-outposts", + "disableDoubleEncoding": true, "signingRegion": "{bucketArn#region}" } ] @@ -2112,8 +2118,8 @@ "authSchemes": [ { "name": "sigv4", - "disableDoubleEncoding": true, "signingName": "s3", + "disableDoubleEncoding": true, "signingRegion": "{Region}" } ] @@ -2130,8 +2136,8 @@ "authSchemes": [ { "name": "sigv4", - "disableDoubleEncoding": true, "signingName": "s3", + "disableDoubleEncoding": true, "signingRegion": "{Region}" } ] @@ -2200,8 +2206,8 @@ "authSchemes": [ { "name": "sigv4", - "disableDoubleEncoding": true, "signingName": "s3", + "disableDoubleEncoding": true, "signingRegion": "{Region}" } ] @@ -2237,8 +2243,8 @@ "authSchemes": [ { "name": "sigv4", - "disableDoubleEncoding": true, "signingName": "s3", + "disableDoubleEncoding": true, "signingRegion": "{Region}" } ] @@ -2299,8 +2305,8 @@ "authSchemes": [ { "name": "sigv4", - "disableDoubleEncoding": true, "signingName": "s3", + "disableDoubleEncoding": true, "signingRegion": "{Region}" } ] @@ -2336,8 +2342,8 @@ "authSchemes": [ { "name": "sigv4", - "disableDoubleEncoding": true, "signingName": "s3", + "disableDoubleEncoding": true, "signingRegion": "{Region}" } ] @@ -2398,8 +2404,8 @@ "authSchemes": [ { "name": "sigv4", - "disableDoubleEncoding": true, "signingName": "s3", + "disableDoubleEncoding": true, "signingRegion": "{Region}" } ] @@ -2435,8 +2441,8 @@ "authSchemes": [ { "name": "sigv4", - "disableDoubleEncoding": true, "signingName": "s3", + "disableDoubleEncoding": true, "signingRegion": "{Region}" } ] @@ -2497,8 +2503,8 @@ "authSchemes": [ { "name": "sigv4", - "disableDoubleEncoding": true, "signingName": "s3", + "disableDoubleEncoding": true, "signingRegion": "{Region}" } ] @@ -2534,8 +2540,8 @@ "authSchemes": [ { "name": "sigv4", - "disableDoubleEncoding": true, "signingName": "s3", + "disableDoubleEncoding": true, "signingRegion": "{Region}" } ] @@ -2629,7 +2635,8 @@ }, "operationName": "DeleteAccessPoint", "operationParams": { - "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint" + "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccountId": "123456789012" } } ], @@ -2684,7 +2691,8 @@ }, "operationName": "DeleteAccessPoint", "operationParams": { - "Name": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint" + "Name": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccountId": "123456789012" } } ], @@ -2739,7 +2747,8 @@ }, "operationName": "DeleteAccessPoint", "operationParams": { - "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint" + "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccountId": "123456789012" } } ], @@ -2794,7 +2803,8 @@ }, "operationName": "DeleteAccessPoint", "operationParams": { - "Name": "arn:aws-cn:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint" + "Name": "arn:aws-cn:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccountId": "123456789012" } } ], @@ -2849,7 +2859,8 @@ }, "operationName": "DeleteAccessPoint", "operationParams": { - "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint" + "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccountId": "123456789012" } } ], @@ -2906,7 +2917,8 @@ }, "operationName": "DeleteAccessPoint", "operationParams": { - "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint" + "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccountId": "123456789012" } } ], @@ -2963,7 +2975,8 @@ }, "operationName": "DeleteAccessPoint", "operationParams": { - "Name": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint" + "Name": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccountId": "123456789012" } } ], @@ -3018,7 +3031,8 @@ }, "operationName": "DeleteAccessPoint", "operationParams": { - "Name": "arn:aws-cn:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint" + "Name": "arn:aws-cn:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccountId": "123456789012" } } ], @@ -3075,7 +3089,8 @@ }, "operationName": "DeleteAccessPoint", "operationParams": { - "Name": "arn:aws-cn:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint" + "Name": "arn:aws-cn:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccountId": "123456789012" } } ], @@ -3132,7 +3147,8 @@ }, "operationName": "DeleteAccessPoint", "operationParams": { - "Name": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint" + "Name": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccountId": "123456789012" } } ], @@ -3187,7 +3203,8 @@ }, "operationName": "DeleteAccessPoint", "operationParams": { - "Name": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint" + "Name": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccountId": "123456789012" } } ], @@ -3244,7 +3261,8 @@ }, "operationName": "DeleteAccessPoint", "operationParams": { - "Name": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint" + "Name": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccountId": "123456789012" } } ], @@ -3301,7 +3319,8 @@ }, "operationName": "DeleteAccessPoint", "operationParams": { - "Name": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint" + "Name": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccountId": "123456789012" } } ], @@ -4123,8 +4142,7 @@ "Region": "us-west-2", "RequiresAccountId": true, "UseDualStack": false, - "UseFIPS": false, - "__name": "apname" + "UseFIPS": false } }, { @@ -4360,8 +4378,7 @@ "Region": "cn-north-1", "RequiresAccountId": true, "UseDualStack": false, - "UseFIPS": false, - "__name": "apname" + "UseFIPS": false } }, { @@ -4597,8 +4614,7 @@ "Region": "af-south-1", "RequiresAccountId": true, "UseDualStack": false, - "UseFIPS": false, - "__name": "apname" + "UseFIPS": false } }, { @@ -5753,7 +5769,8 @@ }, "operationName": "DeleteAccessPoint", "operationParams": { - "Name": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint" + "Name": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccountId": "123456789012" } } ], @@ -5838,7 +5855,8 @@ }, "operationName": "DeleteAccessPoint", "operationParams": { - "Name": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint" + "Name": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccountId": "123456789012" } } ], @@ -5946,7 +5964,8 @@ }, "operationName": "DeleteAccessPoint", "operationParams": { - "Name": "arn:aws:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint" + "Name": "arn:aws:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccountId": "123456789012" } } ], @@ -5974,6 +5993,64 @@ "UseArnRegion": false, "UseFIPS": false } + }, + { + "documentation": "outpost bucket arn@us-west-2", + "expect": { + "endpoint": { + "headers": { + "x-amz-account-id": [ + "123456789012" + ], + "x-amz-outpost-id": [ + "op-01234567890123456" + ] + }, + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "s3-outposts", + "signingRegion": "us-west-2", + "disableDoubleEncoding": true + } + ] + }, + "url": "https://s3-outposts.us-west-2.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-west-2" + }, + "operationName": "GetBucketVersioning", + "operationParams": { + "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", + "AccountId": "123456789012" + } + }, + { + "builtInParams": { + "AWS::Region": "us-west-2" + }, + "operationName": "PutBucketVersioning", + "operationParams": { + "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", + "AccountId": "123456789012", + "VersioningConfiguration": { + "Status": "Enabled" + } + } + } + ], + "params": { + "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", + "Region": "us-west-2", + "RequiresAccountId": true, + "UseDualStack": false, + "UseFIPS": false + } } ], "version": "1.0" @@ -6036,6 +6113,12 @@ "traits": { "smithy.api#documentation": "

The name or alias of the access point.

" } + }, + "BucketAccountId": { + "target": "com.amazonaws.s3control#AccountId", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the S3 bucket associated with this access point.

" + } } }, "traits": { @@ -6076,7 +6159,7 @@ "ActivityMetrics": { "target": "com.amazonaws.s3control#ActivityMetrics", "traits": { - "smithy.api#documentation": "

A container for the S3 Storage Lens activity metrics.

" + "smithy.api#documentation": "

A container for S3 Storage Lens activity metrics.

" } }, "BucketLevel": { @@ -6085,10 +6168,28 @@ "smithy.api#documentation": "

A container for the S3 Storage Lens bucket-level configuration.

", "smithy.api#required": {} } + }, + "AdvancedCostOptimizationMetrics": { + "target": "com.amazonaws.s3control#AdvancedCostOptimizationMetrics", + "traits": { + "smithy.api#documentation": "

A container for S3 Storage Lens advanced cost-optimization metrics.

" + } + }, + "AdvancedDataProtectionMetrics": { + "target": "com.amazonaws.s3control#AdvancedDataProtectionMetrics", + "traits": { + "smithy.api#documentation": "

A container for S3 Storage Lens advanced data-protection metrics.

" + } + }, + "DetailedStatusCodesMetrics": { + "target": "com.amazonaws.s3control#DetailedStatusCodesMetrics", + "traits": { + "smithy.api#documentation": "

A container for detailed status code metrics.

" + } } }, "traits": { - "smithy.api#documentation": "

A container for the account level Amazon S3 Storage Lens configuration.

" + "smithy.api#documentation": "

A container for the account-level Amazon S3 Storage Lens configuration.

\n

For more information about S3 Storage Lens, see Assessing your storage activity and usage with S3 Storage Lens in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see S3 Storage Lens metrics glossary in the Amazon S3 User Guide.

" } }, "com.amazonaws.s3control#ActivityMetrics": { @@ -6098,12 +6199,42 @@ "target": "com.amazonaws.s3control#IsEnabled", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

A container for whether the activity metrics are enabled.

" + "smithy.api#documentation": "

A container that indicates whether activity metrics are enabled.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The container element for Amazon S3 Storage Lens activity metrics. Activity metrics show details about \n how your storage is requested, such as requests (for example, All requests, Get requests, \n Put requests), bytes uploaded or downloaded, and errors.

\n

For more information about S3 Storage Lens, see Assessing your storage activity and usage with S3 Storage Lens in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see S3 Storage Lens metrics glossary in the Amazon S3 User Guide.

" + } + }, + "com.amazonaws.s3control#AdvancedCostOptimizationMetrics": { + "type": "structure", + "members": { + "IsEnabled": { + "target": "com.amazonaws.s3control#IsEnabled", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

A container that indicates whether advanced cost-optimization metrics are\n enabled.

" } } }, "traits": { - "smithy.api#documentation": "

A container for the activity metrics.

" + "smithy.api#documentation": "

The container element for Amazon S3 Storage Lens advanced cost-optimization metrics. Advanced\n cost-optimization metrics provide insights that you can use to manage and optimize your\n storage costs, for example, lifecycle rule counts for transitions, expirations, and\n incomplete multipart uploads.

\n

For more information about S3 Storage Lens, see Assessing your storage activity and usage with S3 Storage Lens in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see S3 Storage Lens metrics glossary in the Amazon S3 User Guide.

" + } + }, + "com.amazonaws.s3control#AdvancedDataProtectionMetrics": { + "type": "structure", + "members": { + "IsEnabled": { + "target": "com.amazonaws.s3control#IsEnabled", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

A container that indicates whether advanced data-protection metrics are enabled.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The container element for Amazon S3 Storage Lens advanced data-protection metrics. Advanced\n data-protection metrics provide insights that you can use to perform audits and protect\n your data, for example replication rule counts within and across Regions.

\n

For more information about S3 Storage Lens, see Assessing your storage activity and usage with S3 Storage Lens in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see S3 Storage Lens metrics glossary in the Amazon S3 User Guide.

" } }, "com.amazonaws.s3control#Alias": { @@ -6380,18 +6511,36 @@ "ActivityMetrics": { "target": "com.amazonaws.s3control#ActivityMetrics", "traits": { - "smithy.api#documentation": "

A container for the bucket-level activity metrics for Amazon S3 Storage Lens

" + "smithy.api#documentation": "

A container for the bucket-level activity metrics for S3 Storage Lens.

" } }, "PrefixLevel": { "target": "com.amazonaws.s3control#PrefixLevel", "traits": { - "smithy.api#documentation": "

A container for the bucket-level prefix-level metrics for S3 Storage Lens

" + "smithy.api#documentation": "

A container for the prefix-level metrics for S3 Storage Lens.

" + } + }, + "AdvancedCostOptimizationMetrics": { + "target": "com.amazonaws.s3control#AdvancedCostOptimizationMetrics", + "traits": { + "smithy.api#documentation": "

A container for bucket-level advanced cost-optimization metrics for S3 Storage Lens.

" + } + }, + "AdvancedDataProtectionMetrics": { + "target": "com.amazonaws.s3control#AdvancedDataProtectionMetrics", + "traits": { + "smithy.api#documentation": "

A container for bucket-level advanced data-protection metrics for S3 Storage Lens.

" + } + }, + "DetailedStatusCodesMetrics": { + "target": "com.amazonaws.s3control#DetailedStatusCodesMetrics", + "traits": { + "smithy.api#documentation": "

A container for bucket-level detailed status code metrics for S3 Storage Lens.

" } } }, "traits": { - "smithy.api#documentation": "

A container for the bucket-level configuration.

" + "smithy.api#documentation": "

A container for the bucket-level configuration for Amazon S3 Storage Lens.

\n

For more information about S3 Storage Lens, see Assessing your storage activity and usage with S3 Storage Lens in the Amazon S3 User Guide.

" } }, "com.amazonaws.s3control#BucketLocationConstraint": { @@ -6640,7 +6789,7 @@ "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID for the owner of the bucket for which you want to create an\n access point.

", + "smithy.api#documentation": "

The Amazon Web Services account ID for the account that owns the specified access point.

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -6660,7 +6809,7 @@ "Bucket": { "target": "com.amazonaws.s3control#BucketName", "traits": { - "smithy.api#documentation": "

The name of the bucket that you want to associate this access point with.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "smithy.api#documentation": "

The name of the bucket that you want to associate this access point with.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", "smithy.api#required": {}, "smithy.rules#contextParam": { "name": "Bucket" @@ -6678,6 +6827,12 @@ "traits": { "smithy.api#documentation": "

The PublicAccessBlock configuration that you want to apply to the access point.\n

" } + }, + "BucketAccountId": { + "target": "com.amazonaws.s3control#AccountId", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the S3 bucket associated with this access point.

" + } } } }, @@ -6715,7 +6870,7 @@ } ], "traits": { - "smithy.api#documentation": "\n

This action creates an Amazon S3 on Outposts bucket. To create an S3 bucket, see Create\n Bucket in the Amazon S3 API Reference.

\n
\n

Creates a new Outposts bucket. By creating the bucket, you become the bucket owner. To\n create an Outposts bucket, you must have S3 on Outposts. For more information, see Using\n Amazon S3 on Outposts in Amazon S3 User Guide.

\n

Not every string is an acceptable bucket name. For information on bucket naming\n restrictions, see Working with\n Amazon S3 Buckets.

\n

S3 on Outposts buckets support:

\n
    \n
  • \n

    Tags

    \n
  • \n
  • \n

    LifecycleConfigurations for deleting expired objects

    \n
  • \n
\n

For a complete list of restrictions and Amazon S3 feature limitations on S3 on Outposts, see\n \n Amazon S3 on Outposts Restrictions and Limitations.

\n

For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts\n endpoint hostname prefix and x-amz-outpost-id in your API request, see the\n Examples section.

\n\n

The following actions are related to CreateBucket for\n Amazon S3 on Outposts:

\n ", + "smithy.api#documentation": "\n

This action creates an Amazon S3 on Outposts bucket. To create an S3 bucket, see Create\n Bucket in the Amazon S3 API Reference.

\n
\n

Creates a new Outposts bucket. By creating the bucket, you become the bucket owner. To\n create an Outposts bucket, you must have S3 on Outposts. For more information, see Using\n Amazon S3 on Outposts in Amazon S3 User Guide.

\n

Not every string is an acceptable bucket name. For information on bucket naming\n restrictions, see Working with\n Amazon S3 Buckets.

\n

S3 on Outposts buckets support:

\n
    \n
  • \n

    Tags

    \n
  • \n
  • \n

    LifecycleConfigurations for deleting expired objects

    \n
  • \n
\n

For a complete list of restrictions and Amazon S3 feature limitations on S3 on Outposts, see\n \n Amazon S3 on Outposts Restrictions and Limitations.

\n

For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts\n endpoint hostname prefix and x-amz-outpost-id in your API request, see the\n Examples section.

\n

The following actions are related to CreateBucket for\n Amazon S3 on Outposts:

\n ", "smithy.api#http": { "method": "PUT", "uri": "/v20180820/bucket/{Bucket}", @@ -6813,7 +6968,7 @@ "OutpostId": { "target": "com.amazonaws.s3control#NonEmptyMaxLength64String", "traits": { - "smithy.api#documentation": "

The ID of the Outposts where the bucket is being created.

\n \n

This ID is required by Amazon S3 on Outposts buckets.

\n
", + "smithy.api#documentation": "

The ID of the Outposts where the bucket is being created.

\n \n

This ID is required by Amazon S3 on Outposts buckets.

\n
", "smithy.api#httpHeader": "x-amz-outpost-id", "smithy.rules#contextParam": { "name": "OutpostId" @@ -6835,7 +6990,7 @@ "BucketArn": { "target": "com.amazonaws.s3control#S3RegionalBucketArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the bucket.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the bucket.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

" } } } @@ -7099,7 +7254,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Deletes the specified access point.

\n\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

The following actions are related to DeleteAccessPoint:

\n ", + "smithy.api#documentation": "

Deletes the specified access point.

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

The following actions are related to DeleteAccessPoint:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -7258,7 +7413,7 @@ "Name": { "target": "com.amazonaws.s3control#AccessPointName", "traits": { - "smithy.api#documentation": "

The name of the access point whose policy you want to delete.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:::outpost//accesspoint/. For example, to access the access point reports-ap through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.

", + "smithy.api#documentation": "

The name of the access point whose policy you want to delete.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:::outpost//accesspoint/. For example, to access the access point reports-ap through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -7274,7 +7429,7 @@ "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The account ID for the account that owns the specified access point.

", + "smithy.api#documentation": "

The Amazon Web Services account ID for the account that owns the specified access point.

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -7286,7 +7441,7 @@ "Name": { "target": "com.amazonaws.s3control#AccessPointName", "traits": { - "smithy.api#documentation": "

The name of the access point you want to delete.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:::outpost//accesspoint/. For example, to access the access point reports-ap through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.

", + "smithy.api#documentation": "

The name of the access point you want to delete.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:::outpost//accesspoint/. For example, to access the access point reports-ap through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -7330,7 +7485,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "\n

This action deletes an Amazon S3 on Outposts bucket's lifecycle configuration. To delete\n an S3 bucket's lifecycle configuration, see DeleteBucketLifecycle in the Amazon S3 API Reference.

\n
\n

Deletes the lifecycle configuration from the specified Outposts bucket.\n Amazon S3 on Outposts removes all the lifecycle configuration rules in the lifecycle subresource\n associated with the bucket. Your objects never expire, and Amazon S3 on Outposts no longer\n automatically deletes any objects on the basis of rules contained in the deleted lifecycle\n configuration. For more information, see Using Amazon S3 on Outposts in\n Amazon S3 User Guide.

\n

To use this action, you must have permission to perform the\n s3-outposts:DeleteLifecycleConfiguration action. By default, the bucket\n owner has this permission and the Outposts bucket owner can grant this permission to\n others.

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n\n

For more information about object expiration, see Elements to Describe Lifecycle Actions.

\n

Related actions include:

\n ", + "smithy.api#documentation": "\n

This action deletes an Amazon S3 on Outposts bucket's lifecycle configuration. To delete\n an S3 bucket's lifecycle configuration, see DeleteBucketLifecycle in the Amazon S3 API Reference.

\n
\n

Deletes the lifecycle configuration from the specified Outposts bucket.\n Amazon S3 on Outposts removes all the lifecycle configuration rules in the lifecycle subresource\n associated with the bucket. Your objects never expire, and Amazon S3 on Outposts no longer\n automatically deletes any objects on the basis of rules contained in the deleted lifecycle\n configuration. For more information, see Using Amazon S3 on Outposts in\n Amazon S3 User Guide.

\n

To use this action, you must have permission to perform the\n s3-outposts:DeleteLifecycleConfiguration action. By default, the bucket\n owner has this permission and the Outposts bucket owner can grant this permission to\n others.

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

For more information about object expiration, see Elements to Describe Lifecycle Actions.

\n

Related actions include:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -7364,7 +7519,7 @@ "Bucket": { "target": "com.amazonaws.s3control#BucketName", "traits": { - "smithy.api#documentation": "

Specifies the bucket.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "smithy.api#documentation": "

Specifies the bucket.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -7383,7 +7538,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "\n

This action deletes an Amazon S3 on Outposts bucket policy. To delete an S3 bucket policy,\n see DeleteBucketPolicy in the Amazon S3 API Reference.

\n
\n

This implementation of the DELETE action uses the policy subresource to delete the\n policy of a specified Amazon S3 on Outposts bucket. If you are using an identity other than the\n root user of the Amazon Web Services account that owns the bucket, the calling identity must have the\n s3-outposts:DeleteBucketPolicy permissions on the specified Outposts bucket\n and belong to the bucket owner's account to use this action. For more information, see\n Using\n Amazon S3 on Outposts in Amazon S3 User Guide.

\n\n

If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a 403\n Access Denied error. If you have the correct permissions, but you're not using an\n identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not\n Allowed error.

\n\n\n \n

As a security precaution, the root user of the Amazon Web Services account that owns a bucket can\n always use this action, even if the policy explicitly denies the root user the ability\n to perform this action.

\n
\n\n

For more information about bucket policies, see Using Bucket Policies and User\n Policies.

\n\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n\n

The following actions are related to DeleteBucketPolicy:

\n ", + "smithy.api#documentation": "\n

This action deletes an Amazon S3 on Outposts bucket policy. To delete an S3 bucket policy,\n see DeleteBucketPolicy in the Amazon S3 API Reference.

\n
\n

This implementation of the DELETE action uses the policy subresource to delete the\n policy of a specified Amazon S3 on Outposts bucket. If you are using an identity other than the\n root user of the Amazon Web Services account that owns the bucket, the calling identity must have the\n s3-outposts:DeleteBucketPolicy permissions on the specified Outposts bucket\n and belong to the bucket owner's account to use this action. For more information, see\n Using\n Amazon S3 on Outposts in Amazon S3 User Guide.

\n

If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a 403\n Access Denied error. If you have the correct permissions, but you're not using an\n identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not\n Allowed error.

\n \n

As a security precaution, the root user of the Amazon Web Services account that owns a bucket can\n always use this action, even if the policy explicitly denies the root user the ability\n to perform this action.

\n
\n

For more information about bucket policies, see Using Bucket Policies and User\n Policies.

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

The following actions are related to DeleteBucketPolicy:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -7417,7 +7572,7 @@ "Bucket": { "target": "com.amazonaws.s3control#BucketName", "traits": { - "smithy.api#documentation": "

Specifies the bucket.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "smithy.api#documentation": "

Specifies the bucket.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -7445,7 +7600,7 @@ "Bucket": { "target": "com.amazonaws.s3control#BucketName", "traits": { - "smithy.api#documentation": "

Specifies the bucket being deleted.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "smithy.api#documentation": "

Specifies the bucket being deleted.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -7464,7 +7619,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "\n

This action deletes an Amazon S3 on Outposts bucket's tags. To delete an S3 bucket tags,\n see DeleteBucketTagging in the Amazon S3 API Reference.

\n
\n

Deletes the tags from the Outposts bucket. For more information, see Using\n Amazon S3 on Outposts in Amazon S3 User Guide.

\n\n

To use this action, you must have permission to perform the\n PutBucketTagging action. By default, the bucket owner has this permission\n and can grant this permission to others.

\n\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n\n

The following actions are related to DeleteBucketTagging:

\n ", + "smithy.api#documentation": "\n

This action deletes an Amazon S3 on Outposts bucket's tags. To delete an S3 bucket tags,\n see DeleteBucketTagging in the Amazon S3 API Reference.

\n
\n

Deletes the tags from the Outposts bucket. For more information, see Using\n Amazon S3 on Outposts in Amazon S3 User Guide.

\n

To use this action, you must have permission to perform the\n PutBucketTagging action. By default, the bucket owner has this permission\n and can grant this permission to others.

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

The following actions are related to DeleteBucketTagging:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -7498,7 +7653,7 @@ "Bucket": { "target": "com.amazonaws.s3control#BucketName", "traits": { - "smithy.api#documentation": "

The bucket ARN that has the tag set to be removed.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "smithy.api#documentation": "

The bucket ARN that has the tag set to be removed.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -7940,6 +8095,21 @@ } } }, + "com.amazonaws.s3control#DetailedStatusCodesMetrics": { + "type": "structure", + "members": { + "IsEnabled": { + "target": "com.amazonaws.s3control#IsEnabled", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

A container that indicates whether detailed status code metrics are enabled.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The container element for Amazon S3 Storage Lens detailed status code metrics. Detailed status\n code metrics generate metrics for HTTP status codes, such as 200 OK, 403\n Forbidden, 503 Service Unavailable and others.

\n

For more information about S3 Storage Lens, see Assessing your storage activity and usage with S3 Storage Lens in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see S3 Storage Lens metrics glossary in the Amazon S3 User Guide.

" + } + }, "com.amazonaws.s3control#Endpoints": { "type": "map", "key": { @@ -8084,7 +8254,7 @@ "target": "com.amazonaws.s3control#GetAccessPointResult" }, "traits": { - "smithy.api#documentation": "

Returns configuration information about the specified access point.

\n

\n\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

The following actions are related to GetAccessPoint:

\n ", + "smithy.api#documentation": "

Returns configuration information about the specified access point.

\n

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

The following actions are related to GetAccessPoint:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -8338,7 +8508,7 @@ "Name": { "target": "com.amazonaws.s3control#AccessPointName", "traits": { - "smithy.api#documentation": "

The name of the access point whose policy you want to retrieve.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:::outpost//accesspoint/. For example, to access the access point reports-ap through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.

", + "smithy.api#documentation": "

The name of the access point whose policy you want to retrieve.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:::outpost//accesspoint/. For example, to access the access point reports-ap through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -8487,7 +8657,7 @@ "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The account ID for the account that owns the specified access point.

", + "smithy.api#documentation": "

The Amazon Web Services account ID for the account that owns the specified access point.

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -8499,7 +8669,7 @@ "Name": { "target": "com.amazonaws.s3control#AccessPointName", "traits": { - "smithy.api#documentation": "

The name of the access point whose configuration information you want to retrieve.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:::outpost//accesspoint/. For example, to access the access point reports-ap through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.

", + "smithy.api#documentation": "

The name of the access point whose configuration information you want to retrieve.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:::outpost//accesspoint/. For example, to access the access point reports-ap through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -8562,6 +8732,12 @@ "traits": { "smithy.api#documentation": "

The VPC endpoint for the access point.

" } + }, + "BucketAccountId": { + "target": "com.amazonaws.s3control#AccountId", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID associated with the S3 bucket associated with this access point.

" + } } } }, @@ -8599,7 +8775,7 @@ "target": "com.amazonaws.s3control#GetBucketLifecycleConfigurationResult" }, "traits": { - "smithy.api#documentation": "\n

This action gets an Amazon S3 on Outposts bucket's lifecycle configuration. To get an S3\n bucket's lifecycle configuration, see GetBucketLifecycleConfiguration in the Amazon S3 API Reference.\n

\n
\n

Returns the lifecycle configuration information set on the Outposts bucket. For more\n information, see Using Amazon S3 on Outposts and for\n information about lifecycle configuration, see Object Lifecycle\n Management in Amazon S3 User Guide.

\n\n

To use this action, you must have permission to perform the\n s3-outposts:GetLifecycleConfiguration action. The Outposts bucket owner\n has this permission, by default. The bucket owner can grant this permission to others. For\n more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing\n Access Permissions to Your Amazon S3 Resources.

\n\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n\n

\n GetBucketLifecycleConfiguration has the following special error:

\n
    \n
  • \n

    Error code: NoSuchLifecycleConfiguration\n

    \n
      \n
    • \n

      Description: The lifecycle configuration does not exist.

      \n
    • \n
    • \n

      HTTP Status Code: 404 Not Found

      \n
    • \n
    • \n

      SOAP Fault Code Prefix: Client

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

The following actions are related to\n GetBucketLifecycleConfiguration:

\n ", + "smithy.api#documentation": "\n

This action gets an Amazon S3 on Outposts bucket's lifecycle configuration. To get an S3\n bucket's lifecycle configuration, see GetBucketLifecycleConfiguration in the Amazon S3 API Reference.\n

\n
\n

Returns the lifecycle configuration information set on the Outposts bucket. For more\n information, see Using Amazon S3 on Outposts and for\n information about lifecycle configuration, see Object Lifecycle\n Management in Amazon S3 User Guide.

\n

To use this action, you must have permission to perform the\n s3-outposts:GetLifecycleConfiguration action. The Outposts bucket owner\n has this permission, by default. The bucket owner can grant this permission to others. For\n more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing\n Access Permissions to Your Amazon S3 Resources.

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

\n GetBucketLifecycleConfiguration has the following special error:

\n
    \n
  • \n

    Error code: NoSuchLifecycleConfiguration\n

    \n
      \n
    • \n

      Description: The lifecycle configuration does not exist.

      \n
    • \n
    • \n

      HTTP Status Code: 404 Not Found

      \n
    • \n
    • \n

      SOAP Fault Code Prefix: Client

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

The following actions are related to\n GetBucketLifecycleConfiguration:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -8633,7 +8809,7 @@ "Bucket": { "target": "com.amazonaws.s3control#BucketName", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the bucket.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the bucket.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -8663,7 +8839,7 @@ "target": "com.amazonaws.s3control#GetBucketPolicyResult" }, "traits": { - "smithy.api#documentation": "\n

This action gets a bucket policy for an Amazon S3 on Outposts bucket. To get a policy for\n an S3 bucket, see GetBucketPolicy in the\n Amazon S3 API Reference.

\n
\n

Returns the policy of a specified Outposts bucket. For more information, see Using\n Amazon S3 on Outposts in the Amazon S3 User Guide.

\n

If you are using an identity other than the root user of the Amazon Web Services account that owns the\n bucket, the calling identity must have the GetBucketPolicy permissions on the\n specified bucket and belong to the bucket owner's account in order to use this\n action.

\n\n

Only users from Outposts bucket owner account with the right permissions can perform\n actions on an Outposts bucket. If you don't have s3-outposts:GetBucketPolicy\n permissions or you're not using an identity that belongs to the bucket owner's account,\n Amazon S3 returns a 403 Access Denied error.

\n\n \n

As a security precaution, the root user of the Amazon Web Services account that owns a bucket can\n always use this action, even if the policy explicitly denies the root user the ability\n to perform this action.

\n
\n\n

For more information about bucket policies, see Using Bucket Policies and User\n Policies.

\n\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n\n

The following actions are related to GetBucketPolicy:

\n ", + "smithy.api#documentation": "\n

This action gets a bucket policy for an Amazon S3 on Outposts bucket. To get a policy for\n an S3 bucket, see GetBucketPolicy in the\n Amazon S3 API Reference.

\n
\n

Returns the policy of a specified Outposts bucket. For more information, see Using\n Amazon S3 on Outposts in the Amazon S3 User Guide.

\n

If you are using an identity other than the root user of the Amazon Web Services account that owns the\n bucket, the calling identity must have the GetBucketPolicy permissions on the\n specified bucket and belong to the bucket owner's account in order to use this\n action.

\n

Only users from Outposts bucket owner account with the right permissions can perform\n actions on an Outposts bucket. If you don't have s3-outposts:GetBucketPolicy\n permissions or you're not using an identity that belongs to the bucket owner's account,\n Amazon S3 returns a 403 Access Denied error.

\n \n

As a security precaution, the root user of the Amazon Web Services account that owns a bucket can\n always use this action, even if the policy explicitly denies the root user the ability\n to perform this action.

\n
\n

For more information about bucket policies, see Using Bucket Policies and User\n Policies.

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

The following actions are related to GetBucketPolicy:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -8697,7 +8873,7 @@ "Bucket": { "target": "com.amazonaws.s3control#BucketName", "traits": { - "smithy.api#documentation": "

Specifies the bucket.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "smithy.api#documentation": "

Specifies the bucket.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -8736,7 +8912,7 @@ "Bucket": { "target": "com.amazonaws.s3control#BucketName", "traits": { - "smithy.api#documentation": "

Specifies the bucket.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "smithy.api#documentation": "

Specifies the bucket.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -8779,7 +8955,7 @@ "target": "com.amazonaws.s3control#GetBucketTaggingResult" }, "traits": { - "smithy.api#documentation": "\n

This action gets an Amazon S3 on Outposts bucket's tags. To get an S3 bucket tags, see\n GetBucketTagging in the Amazon S3 API Reference.

\n
\n

Returns the tag set associated with the Outposts bucket. For more information, see\n Using\n Amazon S3 on Outposts in the Amazon S3 User Guide.

\n

To use this action, you must have permission to perform the\n GetBucketTagging action. By default, the bucket owner has this permission\n and can grant this permission to others.

\n\n

\n GetBucketTagging has the following special error:

\n
    \n
  • \n

    Error code: NoSuchTagSetError\n

    \n
      \n
    • \n

      Description: There is no tag set associated with the bucket.

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

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n\n

The following actions are related to GetBucketTagging:

\n ", + "smithy.api#documentation": "\n

This action gets an Amazon S3 on Outposts bucket's tags. To get an S3 bucket tags, see\n GetBucketTagging in the Amazon S3 API Reference.

\n
\n

Returns the tag set associated with the Outposts bucket. For more information, see\n Using\n Amazon S3 on Outposts in the Amazon S3 User Guide.

\n

To use this action, you must have permission to perform the\n GetBucketTagging action. By default, the bucket owner has this permission\n and can grant this permission to others.

\n

\n GetBucketTagging has the following special error:

\n
    \n
  • \n

    Error code: NoSuchTagSetError\n

    \n
      \n
    • \n

      Description: There is no tag set associated with the bucket.

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

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

The following actions are related to GetBucketTagging:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -8813,7 +8989,7 @@ "Bucket": { "target": "com.amazonaws.s3control#BucketName", "traits": { - "smithy.api#documentation": "

Specifies the bucket.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "smithy.api#documentation": "

Specifies the bucket.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -8844,7 +9020,7 @@ "target": "com.amazonaws.s3control#GetBucketVersioningResult" }, "traits": { - "smithy.api#documentation": "\n

This operation returns the versioning state only for S3 on Outposts buckets. To return the versioning\n state for an S3 bucket, see GetBucketVersioning in\n the Amazon S3 API Reference.

\n
\n

Returns the versioning state for an S3 on Outposts bucket. With versioning, you can save multiple\n distinct copies of your data and recover from unintended user actions and\n application failures.

\n

If you've never set versioning on your bucket, it has no versioning state. In that case,\n the GetBucketVersioning request does not return a versioning state\n value.

\n

For more information about versioning, see Versioning in the Amazon S3\n User Guide.

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

The following operations are related to GetBucketVersioning for S3 on Outposts.

\n ", + "smithy.api#documentation": "\n

This operation returns the versioning state only for S3 on Outposts buckets. To return\n the versioning state for an S3 bucket, see GetBucketVersioning in\n the Amazon S3 API Reference.

\n
\n

Returns the versioning state for an S3 on Outposts bucket. With versioning, you can save\n multiple distinct copies of your data and recover from unintended user actions and\n application failures.

\n

If you've never set versioning on your bucket, it has no versioning state. In that case,\n the GetBucketVersioning request does not return a versioning state\n value.

\n

For more information about versioning, see Versioning in the Amazon S3\n User Guide.

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

The following operations are related to GetBucketVersioning for\n S3 on Outposts.

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -8852,6 +9028,11 @@ "method": "GET", "uri": "/v20180820/bucket/{Bucket}/versioning", "code": 200 + }, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } } } }, @@ -8864,7 +9045,10 @@ "smithy.api#documentation": "

The Amazon Web Services account ID of the S3 on Outposts bucket.

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } } }, "Bucket": { @@ -8872,7 +9056,10 @@ "traits": { "smithy.api#documentation": "

The S3 on Outposts bucket to return the versioning state for.

", "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "Bucket" + } } } } @@ -8982,7 +9169,7 @@ }, "smithy.api#http": { "method": "GET", - "uri": "/v20180820/mrap/instances/{Name}", + "uri": "/v20180820/mrap/instances/{Name+}", "code": 200 }, "smithy.api#httpChecksumRequired": {}, @@ -9008,7 +9195,7 @@ }, "smithy.api#http": { "method": "GET", - "uri": "/v20180820/mrap/instances/{Name}/policy", + "uri": "/v20180820/mrap/instances/{Name+}/policy", "code": 200 }, "smithy.api#httpChecksumRequired": {}, @@ -9070,7 +9257,7 @@ }, "smithy.api#http": { "method": "GET", - "uri": "/v20180820/mrap/instances/{Name}/policystatus", + "uri": "/v20180820/mrap/instances/{Name+}/policystatus", "code": 200 }, "smithy.api#httpChecksumRequired": {}, @@ -9150,6 +9337,74 @@ } } }, + "com.amazonaws.s3control#GetMultiRegionAccessPointRoutes": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#GetMultiRegionAccessPointRoutesRequest" + }, + "output": { + "target": "com.amazonaws.s3control#GetMultiRegionAccessPointRoutesResult" + }, + "traits": { + "smithy.api#documentation": "

Returns the routing configuration for a Multi-Region Access Point, indicating which Regions are active or\n passive.

\n

To obtain routing control changes and failover requests, use the Amazon S3 failover control\n infrastructure endpoints in these five Amazon Web Services Regions:

\n
    \n
  • \n

    \n us-east-1\n

    \n
  • \n
  • \n

    \n us-west-2\n

    \n
  • \n
  • \n

    \n ap-southeast-2\n

    \n
  • \n
  • \n

    \n ap-northeast-1\n

    \n
  • \n
  • \n

    \n eu-west-1\n

    \n
  • \n
\n \n

Your Amazon S3 bucket does not need to be in these five Regions.

\n
", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." + }, + "smithy.api#http": { + "method": "GET", + "uri": "/v20180820/mrap/instances/{Mrap+}/routes", + "code": 200 + }, + "smithy.api#httpChecksumRequired": {}, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } + } + }, + "com.amazonaws.s3control#GetMultiRegionAccessPointRoutesRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID for the owner of the Multi-Region Access Point.

", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } + } + }, + "Mrap": { + "target": "com.amazonaws.s3control#MultiRegionAccessPointId", + "traits": { + "smithy.api#documentation": "

The Multi-Region Access Point ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.s3control#GetMultiRegionAccessPointRoutesResult": { + "type": "structure", + "members": { + "Mrap": { + "target": "com.amazonaws.s3control#MultiRegionAccessPointId", + "traits": { + "smithy.api#documentation": "

The Multi-Region Access Point ARN.

" + } + }, + "Routes": { + "target": "com.amazonaws.s3control#RouteList", + "traits": { + "smithy.api#documentation": "

The different routes that make up the route configuration. Active routes return a value\n of 100, and passive routes return a value of 0.

" + } + } + } + }, "com.amazonaws.s3control#GetPublicAccessBlock": { "type": "operation", "input": { @@ -9218,7 +9473,7 @@ "target": "com.amazonaws.s3control#GetStorageLensConfigurationResult" }, "traits": { - "smithy.api#documentation": "

Gets the Amazon S3 Storage Lens configuration. For more information, see Assessing your storage\n activity and usage with Amazon S3 Storage Lens in the\n Amazon S3 User Guide.

\n \n

To use this action, you must have permission to perform the\n s3:GetStorageLensConfiguration action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the\n Amazon S3 User Guide.

\n
", + "smithy.api#documentation": "

Gets the Amazon S3 Storage Lens configuration. For more information, see Assessing your storage\n activity and usage with Amazon S3 Storage Lens in the\n Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see S3 Storage Lens metrics glossary in the Amazon S3 User Guide.

\n \n

To use this action, you must have permission to perform the\n s3:GetStorageLensConfiguration action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the\n Amazon S3 User Guide.

\n
", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -9900,7 +10155,7 @@ "S3PutObjectAcl": { "target": "com.amazonaws.s3control#S3SetObjectAclOperation", "traits": { - "smithy.api#documentation": "

Directs the specified job to run a PUT Object acl call on every object in the\n manifest.

" + "smithy.api#documentation": "

Directs the specified job to run a PutObjectAcl call on every object in the\n manifest.

" } }, "S3PutObjectTagging": { @@ -10408,7 +10663,7 @@ "target": "com.amazonaws.s3control#ListAccessPointsResult" }, "traits": { - "smithy.api#documentation": "

Returns a list of the access points currently associated with the specified bucket. You can\n retrieve up to 1000 access points per call. If the specified bucket has more than 1,000 access points (or\n the number specified in maxResults, whichever is less), the response will\n include a continuation token that you can use to list the additional access points.

\n

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

The following actions are related to ListAccessPoints:

\n ", + "smithy.api#documentation": "

Returns a list of the access points owned by the current account associated with the specified bucket. You can\n retrieve up to 1000 access points per call. If the specified bucket has more than 1,000 access points (or\n the number specified in maxResults, whichever is less), the response will\n include a continuation token that you can use to list the additional access points.

\n

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

The following actions are related to ListAccessPoints:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -10515,7 +10770,7 @@ "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID for owner of the bucket whose access points you want to list.

", + "smithy.api#documentation": "

The Amazon Web Services account ID for the account that owns the specified access points.

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -10527,7 +10782,7 @@ "Bucket": { "target": "com.amazonaws.s3control#BucketName", "traits": { - "smithy.api#documentation": "

The name of the bucket whose associated access points you want to list.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "smithy.api#documentation": "

The name of the bucket whose associated access points you want to list.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", "smithy.api#httpQuery": "bucket", "smithy.rules#contextParam": { "name": "Bucket" @@ -10808,7 +11063,7 @@ "OutpostId": { "target": "com.amazonaws.s3control#NonEmptyMaxLength64String", "traits": { - "smithy.api#documentation": "

The ID of the Outposts resource.

\n \n

This ID is required by Amazon S3 on Outposts buckets.

\n
", + "smithy.api#documentation": "

The ID of the Outposts resource.

\n \n

This ID is required by Amazon S3 on Outposts buckets.

\n
", "smithy.api#httpHeader": "x-amz-outpost-id", "smithy.rules#contextParam": { "name": "OutpostId" @@ -11039,6 +11294,16 @@ "smithy.api#pattern": "^\\S+$" } }, + "com.amazonaws.s3control#MultiRegionAccessPointId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 200 + }, + "smithy.api#pattern": "^[a-zA-Z0-9\\:.-]{3,200}$" + } + }, "com.amazonaws.s3control#MultiRegionAccessPointName": { "type": "string", "traits": { @@ -11148,6 +11413,33 @@ } } }, + "com.amazonaws.s3control#MultiRegionAccessPointRoute": { + "type": "structure", + "members": { + "Bucket": { + "target": "com.amazonaws.s3control#BucketName", + "traits": { + "smithy.api#documentation": "

The name of the Amazon S3 bucket for which you'll submit a routing configuration change.\n Either the Bucket or the Region value must be provided. If both\n are provided, the bucket must be in the specified Region.

" + } + }, + "Region": { + "target": "com.amazonaws.s3control#RegionName", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services Region to which you'll be submitting a routing configuration change. Either\n the Bucket or the Region value must be provided. If both are\n provided, the bucket must be in the specified Region.

" + } + }, + "TrafficDialPercentage": { + "target": "com.amazonaws.s3control#TrafficDialPercentage", + "traits": { + "smithy.api#documentation": "

The traffic state for the specified bucket or Amazon Web Services Region.

\n

A value of 0 indicates a passive state, which means that no new traffic\n will be routed to the\n Region.

\n

A value of 100 indicates an active state, which means that traffic will be\n routed to the specified Region.

\n

When\n the routing configuration for a Region is changed from active to passive, any in-progress\n operations (uploads, copies, deletes, and so on) to the formerly active Region will\n continue to run to until a final success or failure status is reached.

\n

If all Regions in the routing configuration are designated as passive, you'll receive an\n InvalidRequest error.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A structure for a Multi-Region Access Point that indicates where Amazon S3 traffic can be routed. Routes can be\n either active or passive. Active routes can process Amazon S3 requests through the Multi-Region Access Point, but\n passive routes are not eligible to process Amazon S3 requests.

\n

Each route contains the Amazon S3 bucket name and the Amazon Web Services Region that the bucket is located\n in. The route also includes the TrafficDialPercentage value, which shows\n whether the bucket and Region are active (indicated by a value of 100) or\n passive (indicated by a value of 0).

" + } + }, "com.amazonaws.s3control#MultiRegionAccessPointStatus": { "type": "enum", "members": { @@ -11453,7 +11745,7 @@ "AllowedFeatures": { "target": "com.amazonaws.s3control#ObjectLambdaAllowedFeaturesList", "traits": { - "smithy.api#documentation": "

A container for allowed features. Valid inputs are GetObject-Range, GetObject-PartNumber, HeadObject-Range, and HeadObject-PartNumber.

" + "smithy.api#documentation": "

A container for allowed features. Valid inputs are GetObject-Range,\n GetObject-PartNumber, HeadObject-Range, and\n HeadObject-PartNumber.

" } }, "TransformationConfigurations": { @@ -11501,7 +11793,7 @@ "Actions": { "target": "com.amazonaws.s3control#ObjectLambdaTransformationConfigurationActionsList", "traits": { - "smithy.api#documentation": "

A container for the action of an Object Lambda Access Point configuration. Valid inputs are\n GetObject, ListObjects, HeadObject, and ListObjectsV2.

", + "smithy.api#documentation": "

A container for the action of an Object Lambda Access Point configuration. Valid inputs are\n GetObject, ListObjects, HeadObject, and\n ListObjectsV2.

", "smithy.api#required": {} } }, @@ -11728,7 +12020,7 @@ "target": "com.amazonaws.s3control#Setting", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

Specifies whether Amazon S3 should block public access control lists (ACLs) for buckets\n in this account. Setting this element to TRUE causes the following\n behavior:

\n
    \n
  • \n

    PUT Bucket acl and PUT Object acl calls fail if the specified ACL is\n public.

    \n
  • \n
  • \n

    PUT Object calls fail if the request includes a public ACL.

    \n
  • \n
  • \n

    PUT Bucket calls fail if the request includes a public ACL.

    \n
  • \n
\n

Enabling this setting doesn't affect existing policies or ACLs.

\n

This is not supported for Amazon S3 on Outposts.

", + "smithy.api#documentation": "

Specifies whether Amazon S3 should block public access control lists (ACLs) for buckets in\n this account. Setting this element to TRUE causes the following\n behavior:

\n
    \n
  • \n

    \n PutBucketAcl and PutObjectAcl calls fail if the\n specified ACL is public.

    \n
  • \n
  • \n

    PUT Object calls fail if the request includes a public ACL.

    \n
  • \n
  • \n

    PUT Bucket calls fail if the request includes a public ACL.

    \n
  • \n
\n

Enabling this setting doesn't affect existing policies or ACLs.

\n

This property is not supported for Amazon S3 on Outposts.

", "smithy.api#xmlName": "BlockPublicAcls" } }, @@ -11736,7 +12028,7 @@ "target": "com.amazonaws.s3control#Setting", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

Specifies whether Amazon S3 should ignore public ACLs for buckets in this account. Setting\n this element to TRUE causes Amazon S3 to ignore all public ACLs on buckets in\n this account and any objects that they contain.

\n

Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't\n prevent new public ACLs from being set.

\n

This is not supported for Amazon S3 on Outposts.

", + "smithy.api#documentation": "

Specifies whether Amazon S3 should ignore public ACLs for buckets in this account. Setting\n this element to TRUE causes Amazon S3 to ignore all public ACLs on buckets in this\n account and any objects that they contain.

\n

Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't\n prevent new public ACLs from being set.

\n

This property is not supported for Amazon S3 on Outposts.

", "smithy.api#xmlName": "IgnorePublicAcls" } }, @@ -11744,7 +12036,7 @@ "target": "com.amazonaws.s3control#Setting", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

Specifies whether Amazon S3 should block public bucket policies for buckets in this account.\n Setting this element to TRUE causes Amazon S3 to reject calls to PUT Bucket\n policy if the specified bucket policy allows public access.

\n

Enabling this setting doesn't affect existing bucket policies.

\n

This is not supported for Amazon S3 on Outposts.

", + "smithy.api#documentation": "

Specifies whether Amazon S3 should block public bucket policies for buckets in this account.\n Setting this element to TRUE causes Amazon S3 to reject calls to PUT Bucket policy\n if the specified bucket policy allows public access.

\n

Enabling this setting doesn't affect existing bucket policies.

\n

This property is not supported for Amazon S3 on Outposts.

", "smithy.api#xmlName": "BlockPublicPolicy" } }, @@ -11752,13 +12044,13 @@ "target": "com.amazonaws.s3control#Setting", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

Specifies whether Amazon S3 should restrict public bucket policies for buckets in this\n account. Setting this element to TRUE restricts access to buckets with public\n policies to only Amazon Web Service principals and authorized users within this\n account.

\n

Enabling this setting doesn't affect previously stored bucket policies, except that\n public and cross-account access within any public bucket policy, including non-public\n delegation to specific accounts, is blocked.

\n

This is not supported for Amazon S3 on Outposts.

", + "smithy.api#documentation": "

Specifies whether Amazon S3 should restrict public bucket policies for buckets in this\n account. Setting this element to TRUE restricts access to buckets with public\n policies to only Amazon Web Service principals and authorized users within this\n account.

\n

Enabling this setting doesn't affect previously stored bucket policies, except that\n public and cross-account access within any public bucket policy, including non-public\n delegation to specific accounts, is blocked.

\n

This property is not supported for Amazon S3 on Outposts.

", "smithy.api#xmlName": "RestrictPublicBuckets" } } }, "traits": { - "smithy.api#documentation": "

The PublicAccessBlock configuration that you want to apply to this Amazon S3\n account. You can enable the configuration options in any combination. For more information\n about when Amazon S3 considers a bucket or object public, see The Meaning of \"Public\" in the Amazon S3 User Guide.

\n

This is not supported for Amazon S3 on Outposts.

" + "smithy.api#documentation": "

The PublicAccessBlock configuration that you want to apply to this Amazon S3\n account. You can enable the configuration options in any combination. For more information\n about when Amazon S3 considers a bucket or object public, see The Meaning of \"Public\" in the Amazon S3 User Guide.

\n

This data type is not supported for Amazon S3 on Outposts.

" } }, "com.amazonaws.s3control#PublicAccessBlockEnabled": { @@ -11924,7 +12216,7 @@ "Name": { "target": "com.amazonaws.s3control#AccessPointName", "traits": { - "smithy.api#documentation": "

The name of the access point that you want to associate with the specified policy.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:::outpost//accesspoint/. For example, to access the access point reports-ap through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.

", + "smithy.api#documentation": "

The name of the access point that you want to associate with the specified policy.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:::outpost//accesspoint/. For example, to access the access point reports-ap through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -12012,7 +12304,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "\n

This action puts a bucket policy to an Amazon S3 on Outposts bucket. To put a policy on an\n S3 bucket, see PutBucketPolicy in the\n Amazon S3 API Reference.

\n
\n

Applies an Amazon S3 bucket policy to an Outposts bucket. For more information, see Using\n Amazon S3 on Outposts in the Amazon S3 User Guide.

\n

If you are using an identity other than the root user of the Amazon Web Services account that owns the\n Outposts bucket, the calling identity must have the PutBucketPolicy\n permissions on the specified Outposts bucket and belong to the bucket owner's account in\n order to use this action.

\n\n

If you don't have PutBucketPolicy permissions, Amazon S3 returns a 403\n Access Denied error. If you have the correct permissions, but you're not using an\n identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not\n Allowed error.

\n\n \n

As a security precaution, the root user of the Amazon Web Services account that owns a bucket can\n always use this action, even if the policy explicitly denies the root user the ability\n to perform this action.

\n
\n\n\n

For more information about bucket policies, see Using Bucket Policies and User\n Policies.

\n\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n\n

The following actions are related to PutBucketPolicy:

\n ", + "smithy.api#documentation": "\n

This action puts a bucket policy to an Amazon S3 on Outposts bucket. To put a policy on an\n S3 bucket, see PutBucketPolicy in the\n Amazon S3 API Reference.

\n
\n

Applies an Amazon S3 bucket policy to an Outposts bucket. For more information, see Using\n Amazon S3 on Outposts in the Amazon S3 User Guide.

\n

If you are using an identity other than the root user of the Amazon Web Services account that owns the\n Outposts bucket, the calling identity must have the PutBucketPolicy\n permissions on the specified Outposts bucket and belong to the bucket owner's account in\n order to use this action.

\n

If you don't have PutBucketPolicy permissions, Amazon S3 returns a 403\n Access Denied error. If you have the correct permissions, but you're not using an\n identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not\n Allowed error.

\n \n

As a security precaution, the root user of the Amazon Web Services account that owns a bucket can\n always use this action, even if the policy explicitly denies the root user the ability\n to perform this action.

\n
\n

For more information about bucket policies, see Using Bucket Policies and User\n Policies.

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

The following actions are related to PutBucketPolicy:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -12047,7 +12339,7 @@ "Bucket": { "target": "com.amazonaws.s3control#BucketName", "traits": { - "smithy.api#documentation": "

Specifies the bucket.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "smithy.api#documentation": "

Specifies the bucket.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -12081,7 +12373,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "\n

This action puts tags on an Amazon S3 on Outposts bucket. To put tags on an S3 bucket, see\n PutBucketTagging in the Amazon S3 API Reference.

\n
\n

Sets the tags for an S3 on Outposts bucket. For more information, see Using\n Amazon S3 on Outposts in the Amazon S3 User Guide.

\n

Use tags to organize your Amazon Web Services bill to reflect your own cost structure. To do this,\n sign up to get your Amazon Web Services account bill with tag key values included. Then, to see the cost\n of combined resources, organize your billing information according to resources with the\n same tag key values. For example, you can tag several resources with a specific application\n name, and then organize your billing information to see the total cost of that application\n across several services. For more information, see Cost allocation and\n tagging.

\n\n \n

Within a bucket, if you add a tag that has the same key as an existing tag, the new\n value overwrites the old value. For more information, see Using cost allocation in Amazon S3\n bucket tags.

\n
\n

To use this action, you must have permissions to perform the\n s3-outposts:PutBucketTagging action. The Outposts bucket owner has this\n permission by default and can grant this permission to others. For more information about\n permissions, see Permissions Related to Bucket Subresource Operations and Managing\n access permissions to your Amazon S3 resources.

\n\n

\n PutBucketTagging has the following special errors:

\n
    \n
  • \n

    Error code: InvalidTagError\n

    \n \n
  • \n
  • \n

    Error code: MalformedXMLError\n

    \n
      \n
    • \n

      Description: The XML provided does not match the schema.

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

    Error code: OperationAbortedError \n

    \n
      \n
    • \n

      Description: A conflicting conditional action is currently in progress\n against this resource. Try again.

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

    Error code: InternalError\n

    \n
      \n
    • \n

      Description: The service was unable to apply the provided tag to the\n bucket.

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

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n\n

The following actions are related to PutBucketTagging:

\n ", + "smithy.api#documentation": "\n

This action puts tags on an Amazon S3 on Outposts bucket. To put tags on an S3 bucket, see\n PutBucketTagging in the Amazon S3 API Reference.

\n
\n

Sets the tags for an S3 on Outposts bucket. For more information, see Using\n Amazon S3 on Outposts in the Amazon S3 User Guide.

\n

Use tags to organize your Amazon Web Services bill to reflect your own cost structure. To do this,\n sign up to get your Amazon Web Services account bill with tag key values included. Then, to see the cost\n of combined resources, organize your billing information according to resources with the\n same tag key values. For example, you can tag several resources with a specific application\n name, and then organize your billing information to see the total cost of that application\n across several services. For more information, see Cost allocation and\n tagging.

\n \n

Within a bucket, if you add a tag that has the same key as an existing tag, the new\n value overwrites the old value. For more information, see Using cost allocation in Amazon S3\n bucket tags.

\n
\n

To use this action, you must have permissions to perform the\n s3-outposts:PutBucketTagging action. The Outposts bucket owner has this\n permission by default and can grant this permission to others. For more information about\n permissions, see Permissions Related to Bucket Subresource Operations and Managing\n access permissions to your Amazon S3 resources.

\n

\n PutBucketTagging has the following special errors:

\n
    \n
  • \n

    Error code: InvalidTagError\n

    \n \n
  • \n
  • \n

    Error code: MalformedXMLError\n

    \n
      \n
    • \n

      Description: The XML provided does not match the schema.

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

    Error code: OperationAbortedError \n

    \n
      \n
    • \n

      Description: A conflicting conditional action is currently in progress\n against this resource. Try again.

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

    Error code: InternalError\n

    \n
      \n
    • \n

      Description: The service was unable to apply the provided tag to the\n bucket.

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

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

The following actions are related to PutBucketTagging:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -12116,7 +12408,7 @@ "Bucket": { "target": "com.amazonaws.s3control#BucketName", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the bucket.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the bucket.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -12144,7 +12436,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "\n

This operation sets the versioning state only for S3 on Outposts buckets. To set the\n versioning state for an S3 bucket, see PutBucketVersioning in\n the Amazon S3 API Reference.

\n
\n

Sets the versioning state for an S3 on Outposts bucket. With versioning, you can save multiple\n distinct copies of your data and recover from unintended user actions and\n application failures.

\n

You can set the versioning state to one of the following:

\n
    \n
  • \n

    \n Enabled - Enables versioning for the objects in the bucket. \n All objects added to the bucket receive a unique version ID.

    \n
  • \n
  • \n

    \n Suspended - Suspends versioning for the objects\n in the bucket. All objects added to the bucket receive the version ID\n null.

    \n
  • \n
\n

If you've never set versioning on your bucket, it has no versioning state. In that\n case, a \n GetBucketVersioning request does not return a versioning state value.

\n

When you enable S3 Versioning, for each object in your bucket, you have a current\n version and zero or more noncurrent versions. You can configure your bucket S3 Lifecycle\n rules to expire noncurrent versions after a specified time period. For more information,\n see Creating and managing\n a lifecycle configuration for your S3 on Outposts bucket in the Amazon S3\n User Guide.

\n

If you have an object expiration lifecycle policy in your non-versioned bucket and you want to maintain the same \n permanent delete behavior when you enable versioning, you must add a noncurrent expiration policy. \n The noncurrent expiration lifecycle policy will manage the deletes of the noncurrent object versions \n in the version-enabled bucket. For more information, see Versioning in the Amazon S3 User Guide.

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

The following operations are related to PutBucketVersioning for S3 on Outposts.

\n ", + "smithy.api#documentation": "\n

This operation sets the versioning state only for S3 on Outposts buckets. To set the\n versioning state for an S3 bucket, see PutBucketVersioning in\n the Amazon S3 API Reference.

\n
\n

Sets the versioning state for an S3 on Outposts bucket. With versioning, you can save\n multiple distinct copies of your data and recover from unintended user actions and\n application failures.

\n

You can set the versioning state to one of the following:

\n
    \n
  • \n

    \n Enabled - Enables versioning for the objects in\n the bucket. All objects added to the bucket receive a unique version ID.

    \n
  • \n
  • \n

    \n Suspended - Suspends versioning for the objects\n in the bucket. All objects added to the bucket receive the version ID\n null.

    \n
  • \n
\n

If you've never set versioning on your bucket, it has no versioning state. In that case,\n a \n GetBucketVersioning request does not return a versioning state value.

\n

When you enable S3 Versioning, for each object in your bucket, you have a current\n version and zero or more noncurrent versions. You can configure your bucket S3 Lifecycle\n rules to expire noncurrent versions after a specified time period. For more information,\n see Creating and managing\n a lifecycle configuration for your S3 on Outposts bucket in the Amazon S3\n User Guide.

\n

If you have an object expiration lifecycle policy in your non-versioned bucket and you\n want to maintain the same permanent delete behavior when you enable versioning, you must\n add a noncurrent expiration policy. The noncurrent expiration lifecycle policy will manage\n the deletes of the noncurrent object versions in the version-enabled bucket. For more\n information, see Versioning in the Amazon S3\n User Guide.

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

\n

The following operations are related to PutBucketVersioning for\n S3 on Outposts.

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -12153,7 +12445,12 @@ "uri": "/v20180820/bucket/{Bucket}/versioning", "code": 200 }, - "smithy.api#httpChecksumRequired": {} + "smithy.api#httpChecksumRequired": {}, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } } }, "com.amazonaws.s3control#PutBucketVersioningRequest": { @@ -12165,7 +12462,10 @@ "smithy.api#documentation": "

The Amazon Web Services account ID of the S3 on Outposts bucket.

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } } }, "Bucket": { @@ -12173,7 +12473,10 @@ "traits": { "smithy.api#documentation": "

The S3 on Outposts bucket to set the versioning state for.

", "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "Bucket" + } } }, "MFA": { @@ -12420,7 +12723,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Puts an Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see Working with\n Amazon S3 Storage Lens in the Amazon S3 User Guide.

\n \n

To use this action, you must have permission to perform the\n s3:PutStorageLensConfiguration action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the\n Amazon S3 User Guide.

\n
", + "smithy.api#documentation": "

Puts an Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see Working with\n Amazon S3 Storage Lens in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see S3 Storage Lens metrics glossary in the Amazon S3 User Guide.

\n \n

To use this action, you must have permission to perform the\n s3:PutStorageLensConfiguration action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the\n Amazon S3 User Guide.

\n
", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -12718,6 +13021,15 @@ } } }, + "com.amazonaws.s3control#RouteList": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#MultiRegionAccessPointRoute", + "traits": { + "smithy.api#xmlName": "Route" + } + } + }, "com.amazonaws.s3control#S3AWSRegion": { "type": "string", "traits": { @@ -12927,7 +13239,7 @@ "TargetResource": { "target": "com.amazonaws.s3control#S3BucketArnString", "traits": { - "smithy.api#documentation": "

Specifies the destination bucket ARN for the batch copy operation. For example, to copy\n objects to a bucket named \"destinationBucket\", set the TargetResource to\n \"arn:aws:s3:::destinationBucket\".

" + "smithy.api#documentation": "

Specifies the destination bucket ARN for the batch copy operation. For example, to copy\n objects to a bucket named destinationBucket, set the\n TargetResource property to\n arn:aws:s3:::destinationBucket.

" } }, "CannedAccessControlList": { @@ -13000,7 +13312,7 @@ "TargetKeyPrefix": { "target": "com.amazonaws.s3control#NonEmptyMaxLength1024String", "traits": { - "smithy.api#documentation": "

Specifies the folder prefix into which you would like the objects to be copied. For\n example, to copy objects into a folder named Folder1 in the destination bucket, set the\n TargetKeyPrefix to Folder1.

" + "smithy.api#documentation": "

Specifies the folder prefix into which you would like the objects to be copied. For\n example, to copy objects into a folder named Folder1 in the destination\n bucket, set the TargetKeyPrefix to Folder1.

" } }, "ObjectLockLegalHoldStatus": { @@ -13031,7 +13343,7 @@ "ChecksumAlgorithm": { "target": "com.amazonaws.s3control#S3ChecksumAlgorithm", "traits": { - "smithy.api#documentation": "

Indicates the algorithm you want Amazon S3 to use to create the checksum. For more information\n see \n Checking object integrity in the Amazon S3 User Guide.

" + "smithy.api#documentation": "

Indicates the algorithm you want Amazon S3 to use to create the checksum. For more\n information see Checking object\n integrity in the Amazon S3 User Guide.

" } } }, @@ -13512,7 +13824,7 @@ "type": "structure", "members": {}, "traits": { - "smithy.api#documentation": "

Directs the specified job to invoke ReplicateObject on every object in the job's\n manifest.

" + "smithy.api#documentation": "

Directs the specified job to invoke ReplicateObject on every object in the\n job's manifest.

" } }, "com.amazonaws.s3control#S3Retention": { @@ -13563,7 +13875,7 @@ } }, "traits": { - "smithy.api#documentation": "

Contains the configuration parameters for a Set Object ACL operation. S3 Batch Operations\n passes every object to the underlying PUT Object acl API. For more information about the\n parameters for this operation, see PUT Object acl.

" + "smithy.api#documentation": "

Contains the configuration parameters for a Set Object ACL operation. S3 Batch Operations\n passes every object to the underlying PutObjectAcl API. For more information\n about the parameters for this operation, see \n PutObjectAcl\n .

" } }, "com.amazonaws.s3control#S3SetObjectLegalHoldOperation": { @@ -13670,20 +13982,20 @@ "Key": { "target": "com.amazonaws.s3control#TagKeyString", "traits": { - "smithy.api#documentation": "

", + "smithy.api#documentation": "

Key of the tag

", "smithy.api#required": {} } }, "Value": { "target": "com.amazonaws.s3control#TagValueString", "traits": { - "smithy.api#documentation": "

", + "smithy.api#documentation": "

Value of the tag

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

A container for a key-value name pair.

" } }, "com.amazonaws.s3control#S3TagSet": { @@ -13729,7 +14041,7 @@ "KeyId": { "target": "com.amazonaws.s3control#KmsKeyArnString", "traits": { - "smithy.api#documentation": "

Specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed\n key to use for encrypting generated manifest objects.

", + "smithy.api#documentation": "

Specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption\n customer managed key to use for encrypting generated manifest objects.

", "smithy.api#required": {} } } @@ -13988,6 +14300,68 @@ "smithy.api#pattern": "^[A-Za-z0-9\\+\\:\\/\\=\\?\\#-_]+$" } }, + "com.amazonaws.s3control#SubmitMultiRegionAccessPointRoutes": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#SubmitMultiRegionAccessPointRoutesRequest" + }, + "output": { + "target": "com.amazonaws.s3control#SubmitMultiRegionAccessPointRoutesResult" + }, + "traits": { + "smithy.api#documentation": "

Submits an updated route configuration for a Multi-Region Access Point. This API operation updates the\n routing status for the specified Regions from active to passive, or from passive to active.\n A value of 0 indicates a passive status, which means that traffic won't be\n routed to the specified Region. A value of 100 indicates an active status,\n which means that traffic will be routed to the specified Region. At least one Region must be active at all times.

\n

When\n the routing configuration is changed, any in-progress operations (uploads, copies, deletes,\n and so on) to formerly active Regions will continue to run to their\n final completion state (success or failure). The routing configurations of any Regions that\n aren’t specified remain unchanged.

\n \n

Updated routing configurations might not be immediately applied.\n It\n can take up to 2 minutes for your changes to take effect.

\n
\n

To submit routing control changes and failover requests, use the Amazon S3 failover control\n infrastructure endpoints in these five Amazon Web Services Regions:

\n
    \n
  • \n

    \n us-east-1\n

    \n
  • \n
  • \n

    \n us-west-2\n

    \n
  • \n
  • \n

    \n ap-southeast-2\n

    \n
  • \n
  • \n

    \n ap-northeast-1\n

    \n
  • \n
  • \n

    \n eu-west-1\n

    \n
  • \n
\n \n

Your Amazon S3 bucket does not need to be in these five Regions.

\n
", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." + }, + "smithy.api#http": { + "method": "PATCH", + "uri": "/v20180820/mrap/instances/{Mrap+}/routes", + "code": 200 + }, + "smithy.api#httpChecksumRequired": {}, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } + } + }, + "com.amazonaws.s3control#SubmitMultiRegionAccessPointRoutesRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID for the owner of the Multi-Region Access Point.

", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } + } + }, + "Mrap": { + "target": "com.amazonaws.s3control#MultiRegionAccessPointId", + "traits": { + "smithy.api#documentation": "

The Multi-Region Access Point ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "RouteUpdates": { + "target": "com.amazonaws.s3control#RouteList", + "traits": { + "smithy.api#documentation": "

The different routes that make up the new route configuration. Active routes return a\n value of 100, and passive routes return a value of 0.

", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.s3control#SubmitMultiRegionAccessPointRoutesResult": { + "type": "structure", + "members": {} + }, "com.amazonaws.s3control#SuspendedCause": { "type": "string", "traits": { @@ -14062,6 +14436,15 @@ "smithy.api#error": "client" } }, + "com.amazonaws.s3control#TrafficDialPercentage": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 0, + "max": 100 + } + } + }, "com.amazonaws.s3control#Transition": { "type": "structure", "members": { @@ -14337,7 +14720,7 @@ "MFADelete": { "target": "com.amazonaws.s3control#MFADelete", "traits": { - "smithy.api#documentation": "

Specifies whether MFA delete is enabled or disabled in the bucket versioning configuration\n for the S3 on Outposts bucket.

", + "smithy.api#documentation": "

Specifies whether MFA delete is enabled or disabled in the bucket versioning\n configuration for the S3 on Outposts bucket.

", "smithy.api#xmlName": "MfaDelete" } }, diff --git a/aws/sdk/aws-models/sso.json b/aws/sdk/aws-models/sso.json index 069803927a..336be4b83e 100644 --- a/aws/sdk/aws-models/sso.json +++ b/aws/sdk/aws-models/sso.json @@ -520,7 +520,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": false, + "required": true, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -569,15 +569,6 @@ "ref": "Endpoint" } ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" } ], "type": "tree", @@ -691,12 +682,18 @@ "rules": [ { "conditions": [], - "endpoint": { - "url": "https://portal.sso-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://portal.sso-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] }, @@ -801,12 +798,18 @@ "rules": [ { "conditions": [], - "endpoint": { - "url": "https://portal.sso.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://portal.sso.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] }, @@ -819,888 +822,708 @@ }, { "conditions": [], - "endpoint": { - "url": "https://portal.sso.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - "smithy.rules#endpointTests": { - "testCases": [ - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.ap-south-1.api.aws" - } - }, - "params": { - "Region": "ap-south-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-south-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.ap-south-1.api.aws" - } - }, - "params": { - "Region": "ap-south-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.ap-south-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-south-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.eu-south-1.api.aws" - } - }, - "params": { - "Region": "eu-south-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-south-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.eu-south-1.api.aws" - } - }, - "params": { - "Region": "eu-south-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.eu-south-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-south-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.us-gov-east-1.api.aws" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.ca-central-1.api.aws" - } - }, - "params": { - "Region": "ca-central-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "Region": "ca-central-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.ca-central-1.api.aws" - } - }, - "params": { - "Region": "ca-central-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.ca-central-1.amazonaws.com" - } - }, - "params": { - "Region": "ca-central-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.eu-central-1.api.aws" - } - }, - "params": { - "Region": "eu-central-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-central-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.eu-central-1.api.aws" - } - }, - "params": { - "Region": "eu-central-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.eu-central-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-central-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.us-west-2.api.aws" - } - }, - "params": { - "Region": "us-west-2", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "Region": "us-west-2", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.us-west-2.api.aws" - } - }, - "params": { - "Region": "us-west-2", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.us-west-2.amazonaws.com" - } - }, - "params": { - "Region": "us-west-2", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.eu-north-1.api.aws" - } - }, - "params": { - "Region": "eu-north-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-north-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.eu-north-1.api.aws" - } - }, - "params": { - "Region": "eu-north-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.eu-north-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-north-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.eu-west-3.api.aws" - } - }, - "params": { - "Region": "eu-west-3", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-3", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.eu-west-3.api.aws" - } - }, - "params": { - "Region": "eu-west-3", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.eu-west-3.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-3", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.eu-west-2.api.aws" - } - }, - "params": { - "Region": "eu-west-2", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-2", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.eu-west-2.api.aws" - } - }, - "params": { - "Region": "eu-west-2", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.eu-west-2.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-2", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.eu-west-1.api.aws" - } - }, - "params": { - "Region": "eu-west-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.eu-west-1.api.aws" + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "ap-east-1" + ] + } + ], + "endpoint": { + "url": "https://portal.sso.ap-east-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "ap-northeast-1" + ] + } + ], + "endpoint": { + "url": "https://portal.sso.ap-northeast-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "ap-northeast-2" + ] + } + ], + "endpoint": { + "url": "https://portal.sso.ap-northeast-2.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "ap-northeast-3" + ] + } + ], + "endpoint": { + "url": "https://portal.sso.ap-northeast-3.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "ap-south-1" + ] + } + ], + "endpoint": { + "url": "https://portal.sso.ap-south-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "ap-southeast-1" + ] + } + ], + "endpoint": { + "url": "https://portal.sso.ap-southeast-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "ap-southeast-2" + ] + } + ], + "endpoint": { + "url": "https://portal.sso.ap-southeast-2.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "ca-central-1" + ] + } + ], + "endpoint": { + "url": "https://portal.sso.ca-central-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "eu-central-1" + ] + } + ], + "endpoint": { + "url": "https://portal.sso.eu-central-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "eu-north-1" + ] + } + ], + "endpoint": { + "url": "https://portal.sso.eu-north-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "eu-south-1" + ] + } + ], + "endpoint": { + "url": "https://portal.sso.eu-south-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "eu-west-1" + ] + } + ], + "endpoint": { + "url": "https://portal.sso.eu-west-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "eu-west-2" + ] + } + ], + "endpoint": { + "url": "https://portal.sso.eu-west-2.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "eu-west-3" + ] + } + ], + "endpoint": { + "url": "https://portal.sso.eu-west-3.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "me-south-1" + ] + } + ], + "endpoint": { + "url": "https://portal.sso.me-south-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "sa-east-1" + ] + } + ], + "endpoint": { + "url": "https://portal.sso.sa-east-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-east-1" + ] + } + ], + "endpoint": { + "url": "https://portal.sso.us-east-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-east-2" + ] + } + ], + "endpoint": { + "url": "https://portal.sso.us-east-2.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-west-2" + ] + } + ], + "endpoint": { + "url": "https://portal.sso.us-west-2.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-gov-east-1" + ] + } + ], + "endpoint": { + "url": "https://portal.sso.us-gov-east-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-gov-west-1" + ] + } + ], + "endpoint": { + "url": "https://portal.sso.us-gov-west-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://portal.sso.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } - }, - "params": { - "Region": "eu-west-1", - "UseDualStack": true, - "UseFIPS": false - } - }, + ] + } + ] + }, + "smithy.rules#endpointTests": { + "testCases": [ { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso.eu-west-1.amazonaws.com" + "url": "https://portal.sso.us-west-2.amazonaws.com" } }, "params": { - "Region": "eu-west-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "Region": "ap-northeast-3", - "UseDualStack": true, - "UseFIPS": true + "Region": "us-west-2" } }, { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.ap-northeast-3.amazonaws.com" + "url": "https://portal.sso.me-south-1.amazonaws.com" } }, "params": { - "Region": "ap-northeast-3", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.ap-northeast-3.api.aws" - } - }, - "params": { - "Region": "ap-northeast-3", - "UseDualStack": true, - "UseFIPS": false + "Region": "me-south-1" } }, { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso.ap-northeast-3.amazonaws.com" + "url": "https://portal.sso.eu-south-1.amazonaws.com" } }, "params": { - "Region": "ap-northeast-3", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseDualStack": true, - "UseFIPS": true + "Region": "eu-south-1" } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.ap-northeast-2.amazonaws.com" + "url": "https://portal.sso.sa-east-1.amazonaws.com" } }, "params": { - "Region": "ap-northeast-2", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.ap-northeast-2.api.aws" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseDualStack": true, - "UseFIPS": false + "Region": "sa-east-1" } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso.ap-northeast-2.amazonaws.com" + "url": "https://portal.sso.ap-east-1.amazonaws.com" } }, "params": { - "Region": "ap-northeast-2", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false + "Region": "ap-east-1" } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.ap-northeast-1.amazonaws.com" + "url": "https://portal.sso.ca-central-1.amazonaws.com" } }, "params": { - "Region": "ap-northeast-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.ap-northeast-1.api.aws" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "ca-central-1" } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso.ap-northeast-1.amazonaws.com" + "url": "https://portal.sso.ap-southeast-1.amazonaws.com" } }, "params": { - "Region": "ap-northeast-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false + "Region": "ap-southeast-1" } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.me-south-1.api.aws" + "url": "https://portal.sso.ap-south-1.amazonaws.com" } }, "params": { - "Region": "me-south-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-south-1" } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.me-south-1.amazonaws.com" + "url": "https://portal.sso.eu-north-1.amazonaws.com" } }, "params": { - "Region": "me-south-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "eu-north-1" } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso.me-south-1.api.aws" + "url": "https://portal.sso.ap-southeast-2.amazonaws.com" } }, "params": { - "Region": "me-south-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-southeast-2" } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso.me-south-1.amazonaws.com" + "url": "https://portal.sso.us-east-1.amazonaws.com" } }, "params": { - "Region": "me-south-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false + "Region": "us-east-1" } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.sa-east-1.api.aws" + "url": "https://portal.sso.us-east-2.amazonaws.com" } }, "params": { - "Region": "sa-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-east-2" } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.sa-east-1.amazonaws.com" + "url": "https://portal.sso.eu-west-1.amazonaws.com" } }, "params": { - "Region": "sa-east-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "eu-west-1" } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso.sa-east-1.api.aws" + "url": "https://portal.sso.eu-west-2.amazonaws.com" } }, "params": { - "Region": "sa-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-west-2" } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso.sa-east-1.amazonaws.com" + "url": "https://portal.sso.eu-west-3.amazonaws.com" } }, "params": { - "Region": "sa-east-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false + "Region": "eu-west-3" } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.ap-east-1.api.aws" + "url": "https://portal.sso.ap-northeast-2.amazonaws.com" } }, "params": { - "Region": "ap-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-northeast-2" } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.ap-east-1.amazonaws.com" + "url": "https://portal.sso.ap-northeast-3.amazonaws.com" } }, "params": { - "Region": "ap-east-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "ap-northeast-3" } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso.ap-east-1.api.aws" + "url": "https://portal.sso.ap-northeast-1.amazonaws.com" } }, "params": { - "Region": "ap-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-northeast-1" } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso.ap-east-1.amazonaws.com" + "url": "https://portal.sso.eu-central-1.amazonaws.com" } }, "params": { - "Region": "ap-east-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false + "Region": "eu-central-1" } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.us-gov-west-1.api.aws" + "url": "https://portal.sso-fips.us-east-1.api.aws" } }, "params": { - "Region": "us-gov-west-1", + "UseFIPS": true, "UseDualStack": true, - "UseFIPS": true + "Region": "us-east-1" } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.us-gov-west-1.amazonaws.com" + "url": "https://portal.sso-fips.us-east-1.amazonaws.com" } }, "params": { - "Region": "us-gov-west-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": true + "Region": "us-east-1" } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://portal.sso.us-gov-west-1.api.aws" + "url": "https://portal.sso.us-east-1.api.aws" } }, "params": { - "Region": "us-gov-west-1", + "UseFIPS": false, "UseDualStack": true, - "UseFIPS": false + "Region": "us-east-1" } }, { @@ -1711,217 +1534,165 @@ } }, "params": { - "Region": "us-gov-west-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.ap-southeast-1.api.aws" - } - }, - "params": { - "Region": "ap-southeast-1", - "UseDualStack": true, - "UseFIPS": true + "Region": "us-gov-west-1" } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.ap-southeast-1.amazonaws.com" + "url": "https://portal.sso.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "ap-southeast-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": true + "Region": "us-gov-east-1" } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://portal.sso.ap-southeast-1.api.aws" + "url": "https://portal.sso-fips.us-gov-east-1.api.aws" } }, "params": { - "Region": "ap-southeast-1", + "UseFIPS": true, "UseDualStack": true, - "UseFIPS": false + "Region": "us-gov-east-1" } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso.ap-southeast-1.amazonaws.com" + "url": "https://portal.sso-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "ap-southeast-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": false + "Region": "us-gov-east-1" } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.ap-southeast-2.api.aws" + "url": "https://portal.sso.us-gov-east-1.api.aws" } }, "params": { - "Region": "ap-southeast-2", + "UseFIPS": false, "UseDualStack": true, - "UseFIPS": true + "Region": "us-gov-east-1" } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.ap-southeast-2.amazonaws.com" + "url": "https://portal.sso-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "Region": "ap-southeast-2", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.ap-southeast-2.api.aws" - } - }, - "params": { - "Region": "ap-southeast-2", - "UseDualStack": true, - "UseFIPS": false + "Region": "us-isob-east-1" } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso.ap-southeast-2.amazonaws.com" + "url": "https://portal.sso.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "Region": "ap-southeast-2", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false + "Region": "us-isob-east-1" } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.us-east-1.api.aws" + "url": "https://portal.sso-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "us-east-1", + "UseFIPS": true, "UseDualStack": true, - "UseFIPS": true + "Region": "cn-north-1" } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.us-east-1.amazonaws.com" + "url": "https://portal.sso-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "Region": "us-east-1", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": true + "Region": "cn-north-1" } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://portal.sso.us-east-1.api.aws" + "url": "https://portal.sso.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": true, - "UseFIPS": false + "Region": "cn-north-1" } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso.us-east-1.amazonaws.com" + "url": "https://portal.sso.cn-north-1.amazonaws.com.cn" } }, "params": { - "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.us-east-2.api.aws" - } - }, - "params": { - "Region": "us-east-2", - "UseDualStack": true, - "UseFIPS": true + "Region": "cn-north-1" } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.us-east-2.amazonaws.com" + "url": "https://portal.sso-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "us-east-2", + "UseFIPS": true, "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.us-east-2.api.aws" - } - }, - "params": { - "Region": "us-east-2", - "UseDualStack": true, - "UseFIPS": false + "Region": "us-iso-east-1" } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso.us-east-2.amazonaws.com" + "url": "https://portal.sso.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "us-east-2", + "UseFIPS": false, "UseDualStack": false, - "UseFIPS": false + "Region": "us-iso-east-1" } }, { @@ -1932,9 +1703,9 @@ } }, "params": { - "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -1944,9 +1715,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -1956,9 +1727,9 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "Region": "us-east-1", - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, + "Region": "us-east-1", "Endpoint": "https://example.com" } } diff --git a/aws/sdk/aws-models/sts.json b/aws/sdk/aws-models/sts.json index 1975d98e3b..7780eaf981 100644 --- a/aws/sdk/aws-models/sts.json +++ b/aws/sdk/aws-models/sts.json @@ -190,8 +190,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "sts", - "signingRegion": "us-east-1" + "signingRegion": "us-east-1", + "signingName": "sts" } ] }, @@ -217,8 +217,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "sts", - "signingRegion": "us-east-1" + "signingRegion": "us-east-1", + "signingName": "sts" } ] }, @@ -244,8 +244,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "sts", - "signingRegion": "us-east-1" + "signingRegion": "us-east-1", + "signingName": "sts" } ] }, @@ -271,8 +271,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "sts", - "signingRegion": "us-east-1" + "signingRegion": "us-east-1", + "signingName": "sts" } ] }, @@ -298,8 +298,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "sts", - "signingRegion": "us-east-1" + "signingRegion": "us-east-1", + "signingName": "sts" } ] }, @@ -325,8 +325,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "sts", - "signingRegion": "us-east-1" + "signingRegion": "us-east-1", + "signingName": "sts" } ] }, @@ -352,8 +352,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "sts", - "signingRegion": "us-east-1" + "signingRegion": "us-east-1", + "signingName": "sts" } ] }, @@ -379,8 +379,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "sts", - "signingRegion": "us-east-1" + "signingRegion": "us-east-1", + "signingName": "sts" } ] }, @@ -406,8 +406,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "sts", - "signingRegion": "us-east-1" + "signingRegion": "us-east-1", + "signingName": "sts" } ] }, @@ -433,8 +433,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "sts", - "signingRegion": "us-east-1" + "signingRegion": "us-east-1", + "signingName": "sts" } ] }, @@ -460,8 +460,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "sts", - "signingRegion": "us-east-1" + "signingRegion": "us-east-1", + "signingName": "sts" } ] }, @@ -487,8 +487,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "sts", - "signingRegion": "us-east-1" + "signingRegion": "us-east-1", + "signingName": "sts" } ] }, @@ -514,8 +514,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "sts", - "signingRegion": "us-east-1" + "signingRegion": "us-east-1", + "signingName": "sts" } ] }, @@ -541,8 +541,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "sts", - "signingRegion": "us-east-1" + "signingRegion": "us-east-1", + "signingName": "sts" } ] }, @@ -568,8 +568,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "sts", - "signingRegion": "us-east-1" + "signingRegion": "us-east-1", + "signingName": "sts" } ] }, @@ -595,8 +595,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "sts", - "signingRegion": "us-east-1" + "signingRegion": "us-east-1", + "signingName": "sts" } ] }, @@ -612,8 +612,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "sts", - "signingRegion": "{Region}" + "signingRegion": "{Region}", + "signingName": "sts" } ] }, @@ -927,8 +927,8 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "sts", - "signingRegion": "us-east-1" + "signingRegion": "us-east-1", + "signingName": "sts" } ] }, @@ -961,9 +961,9 @@ } }, "params": { + "UseFIPS": true, "Region": "ap-south-2", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -974,9 +974,9 @@ } }, "params": { + "UseFIPS": true, "Region": "ap-south-2", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -987,9 +987,9 @@ } }, "params": { + "UseFIPS": false, "Region": "ap-south-2", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -1000,9 +1000,9 @@ } }, "params": { + "UseFIPS": false, "Region": "ap-south-2", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -1013,9 +1013,9 @@ } }, "params": { + "UseFIPS": true, "Region": "ap-south-1", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -1026,9 +1026,9 @@ } }, "params": { + "UseFIPS": true, "Region": "ap-south-1", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -1039,9 +1039,9 @@ } }, "params": { + "UseFIPS": false, "Region": "ap-south-1", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -1052,9 +1052,9 @@ } }, "params": { + "UseFIPS": false, "Region": "ap-south-1", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -1065,9 +1065,9 @@ } }, "params": { + "UseFIPS": true, "Region": "eu-south-1", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -1078,9 +1078,9 @@ } }, "params": { + "UseFIPS": true, "Region": "eu-south-1", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -1091,9 +1091,9 @@ } }, "params": { + "UseFIPS": false, "Region": "eu-south-1", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -1104,9 +1104,9 @@ } }, "params": { + "UseFIPS": false, "Region": "eu-south-1", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -1117,9 +1117,9 @@ } }, "params": { + "UseFIPS": true, "Region": "eu-south-2", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -1130,9 +1130,9 @@ } }, "params": { + "UseFIPS": true, "Region": "eu-south-2", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -1143,9 +1143,9 @@ } }, "params": { + "UseFIPS": false, "Region": "eu-south-2", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -1156,9 +1156,9 @@ } }, "params": { + "UseFIPS": false, "Region": "eu-south-2", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -1169,9 +1169,9 @@ } }, "params": { + "UseFIPS": true, "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -1182,9 +1182,9 @@ } }, "params": { + "UseFIPS": true, "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -1195,9 +1195,9 @@ } }, "params": { + "UseFIPS": false, "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -1208,9 +1208,9 @@ } }, "params": { + "UseFIPS": false, "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -1221,9 +1221,9 @@ } }, "params": { + "UseFIPS": true, "Region": "me-central-1", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -1234,9 +1234,9 @@ } }, "params": { + "UseFIPS": true, "Region": "me-central-1", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -1247,9 +1247,9 @@ } }, "params": { + "UseFIPS": false, "Region": "me-central-1", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -1260,9 +1260,9 @@ } }, "params": { + "UseFIPS": false, "Region": "me-central-1", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -1273,9 +1273,9 @@ } }, "params": { + "UseFIPS": true, "Region": "ca-central-1", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -1286,9 +1286,9 @@ } }, "params": { + "UseFIPS": true, "Region": "ca-central-1", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -1299,9 +1299,9 @@ } }, "params": { + "UseFIPS": false, "Region": "ca-central-1", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -1312,9 +1312,9 @@ } }, "params": { + "UseFIPS": false, "Region": "ca-central-1", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -1325,9 +1325,9 @@ } }, "params": { + "UseFIPS": true, "Region": "eu-central-1", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -1338,9 +1338,9 @@ } }, "params": { + "UseFIPS": true, "Region": "eu-central-1", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -1351,9 +1351,9 @@ } }, "params": { + "UseFIPS": false, "Region": "eu-central-1", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -1364,9 +1364,9 @@ } }, "params": { + "UseFIPS": false, "Region": "eu-central-1", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -1375,9 +1375,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { + "UseFIPS": true, "Region": "us-iso-west-1", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -1388,9 +1388,9 @@ } }, "params": { + "UseFIPS": true, "Region": "us-iso-west-1", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -1399,9 +1399,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "UseFIPS": false, "Region": "us-iso-west-1", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -1412,9 +1412,9 @@ } }, "params": { + "UseFIPS": false, "Region": "us-iso-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -1425,9 +1425,9 @@ } }, "params": { + "UseFIPS": true, "Region": "eu-central-2", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -1438,9 +1438,9 @@ } }, "params": { + "UseFIPS": true, "Region": "eu-central-2", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -1451,9 +1451,9 @@ } }, "params": { + "UseFIPS": false, "Region": "eu-central-2", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -1464,9 +1464,9 @@ } }, "params": { + "UseFIPS": false, "Region": "eu-central-2", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -1477,9 +1477,9 @@ } }, "params": { + "UseFIPS": true, "Region": "us-west-1", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -1490,9 +1490,9 @@ } }, "params": { + "UseFIPS": true, "Region": "us-west-1", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -1503,9 +1503,9 @@ } }, "params": { + "UseFIPS": false, "Region": "us-west-1", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -1516,9 +1516,9 @@ } }, "params": { + "UseFIPS": false, "Region": "us-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -1529,9 +1529,9 @@ } }, "params": { + "UseFIPS": true, "Region": "us-west-2", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -1542,9 +1542,9 @@ } }, "params": { + "UseFIPS": true, "Region": "us-west-2", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -1555,9 +1555,9 @@ } }, "params": { + "UseFIPS": false, "Region": "us-west-2", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -1568,9 +1568,9 @@ } }, "params": { + "UseFIPS": false, "Region": "us-west-2", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -1580,9 +1580,9 @@ "properties": { "authSchemes": [ { - "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "sts", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -1590,9 +1590,9 @@ } }, "params": { + "UseFIPS": false, "Region": "aws-global", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -1603,9 +1603,9 @@ } }, "params": { + "UseFIPS": true, "Region": "af-south-1", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -1616,9 +1616,9 @@ } }, "params": { + "UseFIPS": true, "Region": "af-south-1", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -1629,9 +1629,9 @@ } }, "params": { + "UseFIPS": false, "Region": "af-south-1", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -1642,9 +1642,9 @@ } }, "params": { + "UseFIPS": false, "Region": "af-south-1", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -1655,9 +1655,9 @@ } }, "params": { + "UseFIPS": true, "Region": "eu-north-1", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -1668,9 +1668,9 @@ } }, "params": { + "UseFIPS": true, "Region": "eu-north-1", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -1681,9 +1681,9 @@ } }, "params": { + "UseFIPS": false, "Region": "eu-north-1", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -1694,9 +1694,9 @@ } }, "params": { + "UseFIPS": false, "Region": "eu-north-1", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -1707,9 +1707,9 @@ } }, "params": { + "UseFIPS": true, "Region": "eu-west-3", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -1720,9 +1720,9 @@ } }, "params": { + "UseFIPS": true, "Region": "eu-west-3", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -1733,9 +1733,9 @@ } }, "params": { + "UseFIPS": false, "Region": "eu-west-3", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -1746,9 +1746,9 @@ } }, "params": { + "UseFIPS": false, "Region": "eu-west-3", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -1759,9 +1759,9 @@ } }, "params": { + "UseFIPS": true, "Region": "eu-west-2", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -1772,9 +1772,9 @@ } }, "params": { + "UseFIPS": true, "Region": "eu-west-2", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -1785,9 +1785,9 @@ } }, "params": { + "UseFIPS": false, "Region": "eu-west-2", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -1798,9 +1798,9 @@ } }, "params": { + "UseFIPS": false, "Region": "eu-west-2", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -1811,9 +1811,9 @@ } }, "params": { + "UseFIPS": true, "Region": "eu-west-1", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -1824,9 +1824,9 @@ } }, "params": { + "UseFIPS": true, "Region": "eu-west-1", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -1837,9 +1837,9 @@ } }, "params": { + "UseFIPS": false, "Region": "eu-west-1", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -1850,9 +1850,9 @@ } }, "params": { + "UseFIPS": false, "Region": "eu-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -1863,9 +1863,9 @@ } }, "params": { + "UseFIPS": true, "Region": "ap-northeast-3", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -1876,9 +1876,9 @@ } }, "params": { + "UseFIPS": true, "Region": "ap-northeast-3", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -1889,9 +1889,9 @@ } }, "params": { + "UseFIPS": false, "Region": "ap-northeast-3", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -1902,9 +1902,9 @@ } }, "params": { + "UseFIPS": false, "Region": "ap-northeast-3", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -1915,9 +1915,9 @@ } }, "params": { + "UseFIPS": true, "Region": "ap-northeast-2", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -1928,9 +1928,9 @@ } }, "params": { + "UseFIPS": true, "Region": "ap-northeast-2", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -1941,9 +1941,9 @@ } }, "params": { + "UseFIPS": false, "Region": "ap-northeast-2", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -1954,9 +1954,9 @@ } }, "params": { + "UseFIPS": false, "Region": "ap-northeast-2", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -1967,9 +1967,9 @@ } }, "params": { + "UseFIPS": true, "Region": "ap-northeast-1", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -1980,9 +1980,9 @@ } }, "params": { + "UseFIPS": true, "Region": "ap-northeast-1", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -1993,9 +1993,9 @@ } }, "params": { + "UseFIPS": false, "Region": "ap-northeast-1", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -2006,9 +2006,9 @@ } }, "params": { + "UseFIPS": false, "Region": "ap-northeast-1", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -2019,9 +2019,9 @@ } }, "params": { + "UseFIPS": true, "Region": "me-south-1", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -2032,9 +2032,9 @@ } }, "params": { + "UseFIPS": true, "Region": "me-south-1", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -2045,9 +2045,9 @@ } }, "params": { + "UseFIPS": false, "Region": "me-south-1", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -2058,9 +2058,9 @@ } }, "params": { + "UseFIPS": false, "Region": "me-south-1", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -2071,9 +2071,9 @@ } }, "params": { + "UseFIPS": true, "Region": "sa-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -2084,9 +2084,9 @@ } }, "params": { + "UseFIPS": true, "Region": "sa-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -2097,9 +2097,9 @@ } }, "params": { + "UseFIPS": false, "Region": "sa-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -2110,9 +2110,9 @@ } }, "params": { + "UseFIPS": false, "Region": "sa-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -2123,9 +2123,9 @@ } }, "params": { + "UseFIPS": true, "Region": "ap-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -2136,9 +2136,9 @@ } }, "params": { + "UseFIPS": true, "Region": "ap-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -2149,9 +2149,9 @@ } }, "params": { + "UseFIPS": false, "Region": "ap-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -2162,9 +2162,9 @@ } }, "params": { + "UseFIPS": false, "Region": "ap-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -2175,9 +2175,9 @@ } }, "params": { + "UseFIPS": true, "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -2188,9 +2188,9 @@ } }, "params": { + "UseFIPS": true, "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -2201,9 +2201,9 @@ } }, "params": { + "UseFIPS": false, "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -2214,9 +2214,9 @@ } }, "params": { + "UseFIPS": false, "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -2227,9 +2227,9 @@ } }, "params": { + "UseFIPS": true, "Region": "ca-west-1", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -2240,9 +2240,9 @@ } }, "params": { + "UseFIPS": true, "Region": "ca-west-1", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -2253,9 +2253,9 @@ } }, "params": { + "UseFIPS": false, "Region": "ca-west-1", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -2266,9 +2266,9 @@ } }, "params": { + "UseFIPS": false, "Region": "ca-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -2279,9 +2279,9 @@ } }, "params": { + "UseFIPS": true, "Region": "us-gov-west-1", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -2292,9 +2292,9 @@ } }, "params": { + "UseFIPS": true, "Region": "us-gov-west-1", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -2305,9 +2305,9 @@ } }, "params": { + "UseFIPS": false, "Region": "us-gov-west-1", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -2318,9 +2318,9 @@ } }, "params": { + "UseFIPS": false, "Region": "us-gov-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -2331,9 +2331,9 @@ } }, "params": { + "UseFIPS": true, "Region": "ap-southeast-1", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -2344,9 +2344,9 @@ } }, "params": { + "UseFIPS": true, "Region": "ap-southeast-1", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -2357,9 +2357,9 @@ } }, "params": { + "UseFIPS": false, "Region": "ap-southeast-1", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -2370,9 +2370,9 @@ } }, "params": { + "UseFIPS": false, "Region": "ap-southeast-1", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -2383,9 +2383,9 @@ } }, "params": { + "UseFIPS": true, "Region": "ap-southeast-2", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -2396,9 +2396,9 @@ } }, "params": { + "UseFIPS": true, "Region": "ap-southeast-2", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -2409,9 +2409,9 @@ } }, "params": { + "UseFIPS": false, "Region": "ap-southeast-2", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -2422,9 +2422,9 @@ } }, "params": { + "UseFIPS": false, "Region": "ap-southeast-2", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -2433,9 +2433,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { + "UseFIPS": true, "Region": "us-iso-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -2446,9 +2446,9 @@ } }, "params": { + "UseFIPS": true, "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -2457,9 +2457,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "UseFIPS": false, "Region": "us-iso-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -2470,9 +2470,9 @@ } }, "params": { + "UseFIPS": false, "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -2483,9 +2483,9 @@ } }, "params": { + "UseFIPS": true, "Region": "ap-southeast-3", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -2496,9 +2496,9 @@ } }, "params": { + "UseFIPS": true, "Region": "ap-southeast-3", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -2509,9 +2509,9 @@ } }, "params": { + "UseFIPS": false, "Region": "ap-southeast-3", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -2522,9 +2522,9 @@ } }, "params": { + "UseFIPS": false, "Region": "ap-southeast-3", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -2535,9 +2535,9 @@ } }, "params": { + "UseFIPS": true, "Region": "ap-southeast-4", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -2548,9 +2548,9 @@ } }, "params": { + "UseFIPS": true, "Region": "ap-southeast-4", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -2561,9 +2561,9 @@ } }, "params": { + "UseFIPS": false, "Region": "ap-southeast-4", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -2574,9 +2574,9 @@ } }, "params": { + "UseFIPS": false, "Region": "ap-southeast-4", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -2587,9 +2587,9 @@ } }, "params": { + "UseFIPS": true, "Region": "ap-southeast-5", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -2600,9 +2600,9 @@ } }, "params": { + "UseFIPS": true, "Region": "ap-southeast-5", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -2613,9 +2613,9 @@ } }, "params": { + "UseFIPS": false, "Region": "ap-southeast-5", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -2626,9 +2626,9 @@ } }, "params": { + "UseFIPS": false, "Region": "ap-southeast-5", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -2639,9 +2639,9 @@ } }, "params": { + "UseFIPS": true, "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -2652,9 +2652,9 @@ } }, "params": { + "UseFIPS": true, "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -2665,9 +2665,9 @@ } }, "params": { + "UseFIPS": false, "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -2678,9 +2678,9 @@ } }, "params": { + "UseFIPS": false, "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -2691,9 +2691,9 @@ } }, "params": { + "UseFIPS": true, "Region": "ap-southeast-6", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -2704,9 +2704,9 @@ } }, "params": { + "UseFIPS": true, "Region": "ap-southeast-6", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -2717,9 +2717,9 @@ } }, "params": { + "UseFIPS": false, "Region": "ap-southeast-6", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -2730,9 +2730,9 @@ } }, "params": { + "UseFIPS": false, "Region": "ap-southeast-6", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -2743,9 +2743,9 @@ } }, "params": { + "UseFIPS": true, "Region": "us-east-2", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -2756,9 +2756,9 @@ } }, "params": { + "UseFIPS": true, "Region": "us-east-2", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -2769,9 +2769,9 @@ } }, "params": { + "UseFIPS": false, "Region": "us-east-2", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -2782,9 +2782,9 @@ } }, "params": { + "UseFIPS": false, "Region": "us-east-2", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -2795,9 +2795,9 @@ } }, "params": { + "UseFIPS": true, "Region": "cn-northwest-1", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -2808,9 +2808,9 @@ } }, "params": { + "UseFIPS": true, "Region": "cn-northwest-1", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -2821,9 +2821,9 @@ } }, "params": { + "UseFIPS": false, "Region": "cn-northwest-1", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -2834,9 +2834,9 @@ } }, "params": { + "UseFIPS": false, "Region": "cn-northwest-1", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -2845,9 +2845,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { + "UseFIPS": true, "Region": "us-isob-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseDualStack": true } }, { @@ -2858,9 +2858,9 @@ } }, "params": { + "UseFIPS": true, "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseDualStack": false } }, { @@ -2869,9 +2869,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "UseFIPS": false, "Region": "us-isob-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseDualStack": true } }, { @@ -2882,9 +2882,9 @@ } }, "params": { + "UseFIPS": false, "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseDualStack": false } }, { @@ -2895,9 +2895,9 @@ } }, "params": { + "UseFIPS": false, "Region": "us-east-1", "UseDualStack": false, - "UseFIPS": false, "Endpoint": "https://example.com" } }, @@ -2907,9 +2907,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { + "UseFIPS": true, "Region": "us-east-1", "UseDualStack": false, - "UseFIPS": true, "Endpoint": "https://example.com" } }, @@ -2919,9 +2919,9 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { + "UseFIPS": false, "Region": "us-east-1", "UseDualStack": true, - "UseFIPS": false, "Endpoint": "https://example.com" } }, @@ -2932,9 +2932,9 @@ "properties": { "authSchemes": [ { - "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "sts", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -2964,9 +2964,9 @@ "properties": { "authSchemes": [ { - "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "sts", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -2996,9 +2996,9 @@ "properties": { "authSchemes": [ { - "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "sts", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -3028,9 +3028,9 @@ "properties": { "authSchemes": [ { - "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "sts", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -3060,9 +3060,9 @@ "properties": { "authSchemes": [ { - "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "sts", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -3092,9 +3092,9 @@ "properties": { "authSchemes": [ { - "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "sts", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -3124,9 +3124,9 @@ "properties": { "authSchemes": [ { - "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "sts", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -3156,9 +3156,9 @@ "properties": { "authSchemes": [ { - "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "sts", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -3188,9 +3188,9 @@ "properties": { "authSchemes": [ { - "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "sts", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -3220,9 +3220,9 @@ "properties": { "authSchemes": [ { - "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "sts", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -3252,9 +3252,9 @@ "properties": { "authSchemes": [ { - "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "sts", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -3284,9 +3284,9 @@ "properties": { "authSchemes": [ { - "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "sts", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -3316,9 +3316,9 @@ "properties": { "authSchemes": [ { - "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "sts", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -3348,9 +3348,9 @@ "properties": { "authSchemes": [ { - "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "sts", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -3380,9 +3380,9 @@ "properties": { "authSchemes": [ { - "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "sts", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -3412,9 +3412,9 @@ "properties": { "authSchemes": [ { - "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "sts", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -3444,9 +3444,9 @@ "properties": { "authSchemes": [ { - "name": "sigv4", + "signingRegion": "us-east-3", "signingName": "sts", - "signingRegion": "us-east-3" + "name": "sigv4" } ] }, @@ -3522,7 +3522,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a set of temporary security credentials that you can use to access Amazon Web Services\n resources that you might not normally have access to. These temporary credentials consist\n of an access key ID, a secret access key, and a security token. Typically, you use\n AssumeRole within your account or for cross-account access. For a\n comparison of AssumeRole with other API operations that produce temporary\n credentials, see Requesting Temporary Security\n Credentials and Comparing the\n Amazon Web Services STS API operations in the IAM User Guide.

\n

\n Permissions\n

\n

The temporary security credentials created by AssumeRole can be used to\n make API calls to any Amazon Web Services service with the following exception: You cannot call the\n Amazon Web Services STS GetFederationToken or GetSessionToken API\n operations.

\n

(Optional) You can pass inline or managed session policies to\n this operation. You can pass a single JSON policy document to use as an inline session\n policy. You can also specify up to 10 managed policies to use as managed session policies.\n The plaintext that you use for both inline and managed session policies can't exceed 2,048\n characters. Passing policies to this operation returns new \n temporary credentials. The resulting session's permissions are the intersection of the \n role's identity-based policy and the session policies. You can use the role's temporary \n credentials in subsequent Amazon Web Services API calls to access resources in the account that owns \n the role. You cannot use session policies to grant more permissions than those allowed \n by the identity-based policy of the role that is being assumed. For more information, see\n Session\n Policies in the IAM User Guide.

\n

When you create a role, you create two policies: A role trust policy that specifies\n who can assume the role and a permissions policy that specifies\n what can be done with the role. You specify the trusted principal\n who is allowed to assume the role in the role trust policy.

\n

To assume a role from a different account, your Amazon Web Services account must be trusted by the\n role. The trust relationship is defined in the role's trust policy when the role is\n created. That trust policy states which accounts are allowed to delegate that access to\n users in the account.

\n

A user who wants to access a role in a different account must also have permissions that\n are delegated from the user account administrator. The administrator must attach a policy\n that allows the user to call AssumeRole for the ARN of the role in the other\n account.

\n

To allow a user to assume a role in the same account, you can do either of the\n following:

\n
    \n
  • \n

    Attach a policy to the user that allows the user to call AssumeRole\n (as long as the role's trust policy trusts the account).

    \n
  • \n
  • \n

    Add the user as a principal directly in the role's trust policy.

    \n
  • \n
\n

You can do either because the role’s trust policy acts as an IAM resource-based\n policy. When a resource-based policy grants access to a principal in the same account, no\n additional identity-based policy is required. For more information about trust policies and\n resource-based policies, see IAM Policies in the\n IAM User Guide.

\n\n

\n Tags\n

\n

(Optional) You can pass tag key-value pairs to your session. These tags are called\n session tags. For more information about session tags, see Passing Session Tags in STS in the\n IAM User Guide.

\n

An administrator must grant you the permissions necessary to pass session tags. The\n administrator can also create granular permissions to allow you to pass only specific\n session tags. For more information, see Tutorial: Using Tags\n for Attribute-Based Access Control in the\n IAM User Guide.

\n

You can set the session tags as transitive. Transitive tags persist during role\n chaining. For more information, see Chaining Roles\n with Session Tags in the IAM User Guide.

\n

\n Using MFA with AssumeRole\n

\n

(Optional) You can include multi-factor authentication (MFA) information when you call\n AssumeRole. This is useful for cross-account scenarios to ensure that the\n user that assumes the role has been authenticated with an Amazon Web Services MFA device. In that\n scenario, the trust policy of the role being assumed includes a condition that tests for\n MFA authentication. If the caller does not include valid MFA information, the request to\n assume the role is denied. The condition in a trust policy that tests for MFA\n authentication might look like the following example.

\n

\n \"Condition\": {\"Bool\": {\"aws:MultiFactorAuthPresent\": true}}\n

\n

For more information, see Configuring MFA-Protected API Access\n in the IAM User Guide guide.

\n

To use MFA with AssumeRole, you pass values for the\n SerialNumber and TokenCode parameters. The\n SerialNumber value identifies the user's hardware or virtual MFA device.\n The TokenCode is the time-based one-time password (TOTP) that the MFA device\n produces.

" + "smithy.api#documentation": "

Returns a set of temporary security credentials that you can use to access Amazon Web Services\n resources. These temporary credentials consist of an access key ID, a secret access key,\n and a security token. Typically, you use AssumeRole within your account or for\n cross-account access. For a comparison of AssumeRole with other API operations\n that produce temporary credentials, see Requesting Temporary Security\n Credentials and Comparing the\n Amazon Web Services STS API operations in the IAM User Guide.

\n

\n Permissions\n

\n

The temporary security credentials created by AssumeRole can be used to\n make API calls to any Amazon Web Services service with the following exception: You cannot call the\n Amazon Web Services STS GetFederationToken or GetSessionToken API\n operations.

\n

(Optional) You can pass inline or managed session policies to\n this operation. You can pass a single JSON policy document to use as an inline session\n policy. You can also specify up to 10 managed policy Amazon Resource Names (ARNs) to use as\n managed session policies. The plaintext that you use for both inline and managed session\n policies can't exceed 2,048 characters. Passing policies to this operation returns new \n temporary credentials. The resulting session's permissions are the intersection of the \n role's identity-based policy and the session policies. You can use the role's temporary \n credentials in subsequent Amazon Web Services API calls to access resources in the account that owns \n the role. You cannot use session policies to grant more permissions than those allowed \n by the identity-based policy of the role that is being assumed. For more information, see\n Session\n Policies in the IAM User Guide.

\n

When you create a role, you create two policies: A role trust policy that specifies\n who can assume the role and a permissions policy that specifies\n what can be done with the role. You specify the trusted principal\n who is allowed to assume the role in the role trust policy.

\n

To assume a role from a different account, your Amazon Web Services account must be trusted by the\n role. The trust relationship is defined in the role's trust policy when the role is\n created. That trust policy states which accounts are allowed to delegate that access to\n users in the account.

\n

A user who wants to access a role in a different account must also have permissions that\n are delegated from the user account administrator. The administrator must attach a policy\n that allows the user to call AssumeRole for the ARN of the role in the other\n account.

\n

To allow a user to assume a role in the same account, you can do either of the\n following:

\n
    \n
  • \n

    Attach a policy to the user that allows the user to call AssumeRole\n (as long as the role's trust policy trusts the account).

    \n
  • \n
  • \n

    Add the user as a principal directly in the role's trust policy.

    \n
  • \n
\n

You can do either because the role’s trust policy acts as an IAM resource-based\n policy. When a resource-based policy grants access to a principal in the same account, no\n additional identity-based policy is required. For more information about trust policies and\n resource-based policies, see IAM Policies in the\n IAM User Guide.

\n

\n Tags\n

\n

(Optional) You can pass tag key-value pairs to your session. These tags are called\n session tags. For more information about session tags, see Passing Session Tags in STS in the\n IAM User Guide.

\n

An administrator must grant you the permissions necessary to pass session tags. The\n administrator can also create granular permissions to allow you to pass only specific\n session tags. For more information, see Tutorial: Using Tags\n for Attribute-Based Access Control in the\n IAM User Guide.

\n

You can set the session tags as transitive. Transitive tags persist during role\n chaining. For more information, see Chaining Roles\n with Session Tags in the IAM User Guide.

\n

\n Using MFA with AssumeRole\n

\n

(Optional) You can include multi-factor authentication (MFA) information when you call\n AssumeRole. This is useful for cross-account scenarios to ensure that the\n user that assumes the role has been authenticated with an Amazon Web Services MFA device. In that\n scenario, the trust policy of the role being assumed includes a condition that tests for\n MFA authentication. If the caller does not include valid MFA information, the request to\n assume the role is denied. The condition in a trust policy that tests for MFA\n authentication might look like the following example.

\n

\n \"Condition\": {\"Bool\": {\"aws:MultiFactorAuthPresent\": true}}\n

\n

For more information, see Configuring MFA-Protected API Access\n in the IAM User Guide guide.

\n

To use MFA with AssumeRole, you pass values for the\n SerialNumber and TokenCode parameters. The\n SerialNumber value identifies the user's hardware or virtual MFA device.\n The TokenCode is the time-based one-time password (TOTP) that the MFA device\n produces.

" } }, "com.amazonaws.sts#AssumeRoleRequest": { @@ -3545,13 +3545,13 @@ "PolicyArns": { "target": "com.amazonaws.sts#policyDescriptorListType", "traits": { - "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as\n managed session policies. The policies must exist in the same account as the role.

\n

This parameter is optional. You can provide up to 10 managed policy ARNs. However, the\n plaintext that you use for both inline and managed session policies can't exceed 2,048\n characters. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services\n Service Namespaces in the Amazon Web Services General Reference.

\n \n \n

An Amazon Web Services conversion compresses the passed session policies and session tags into a\n packed binary format that has a separate limit. Your request can fail for this limit\n even if your plaintext meets the other requirements. The PackedPolicySize\n response element indicates by percentage how close the policies and tags for your\n request are to the upper size limit.\n

\n
\n \n

Passing policies to this operation returns new \n temporary credentials. The resulting session's permissions are the intersection of the \n role's identity-based policy and the session policies. You can use the role's temporary \n credentials in subsequent Amazon Web Services API calls to access resources in the account that owns \n the role. You cannot use session policies to grant more permissions than those allowed \n by the identity-based policy of the role that is being assumed. For more information, see\n Session\n Policies in the IAM User Guide.

" + "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as\n managed session policies. The policies must exist in the same account as the role.

\n

This parameter is optional. You can provide up to 10 managed policy ARNs. However, the\n plaintext that you use for both inline and managed session policies can't exceed 2,048\n characters. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services\n Service Namespaces in the Amazon Web Services General Reference.

\n \n

An Amazon Web Services conversion compresses the passed inline session policy, managed policy ARNs,\n and session tags into a packed binary format that has a separate limit. Your request can\n fail for this limit even if your plaintext meets the other requirements. The\n PackedPolicySize response element indicates by percentage how close the\n policies and tags for your request are to the upper size limit.

\n
\n

Passing policies to this operation returns new \n temporary credentials. The resulting session's permissions are the intersection of the \n role's identity-based policy and the session policies. You can use the role's temporary \n credentials in subsequent Amazon Web Services API calls to access resources in the account that owns \n the role. You cannot use session policies to grant more permissions than those allowed \n by the identity-based policy of the role that is being assumed. For more information, see\n Session\n Policies in the IAM User Guide.

" } }, "Policy": { "target": "com.amazonaws.sts#sessionPolicyDocumentType", "traits": { - "smithy.api#documentation": "

An IAM policy in JSON format that you want to use as an inline session policy.

\n

This parameter is optional. Passing policies to this operation returns new \n temporary credentials. The resulting session's permissions are the intersection of the \n role's identity-based policy and the session policies. You can use the role's temporary \n credentials in subsequent Amazon Web Services API calls to access resources in the account that owns \n the role. You cannot use session policies to grant more permissions than those allowed \n by the identity-based policy of the role that is being assumed. For more information, see\n Session\n Policies in the IAM User Guide.

\n

The plaintext that you use for both inline and managed session policies can't exceed\n 2,048 characters. The JSON policy characters can be any ASCII character from the space\n character to the end of the valid character list (\\u0020 through \\u00FF). It can also\n include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D)\n characters.

\n \n \n

An Amazon Web Services conversion compresses the passed session policies and session tags into a\n packed binary format that has a separate limit. Your request can fail for this limit\n even if your plaintext meets the other requirements. The PackedPolicySize\n response element indicates by percentage how close the policies and tags for your\n request are to the upper size limit.\n

\n
" + "smithy.api#documentation": "

An IAM policy in JSON format that you want to use as an inline session policy.

\n

This parameter is optional. Passing policies to this operation returns new \n temporary credentials. The resulting session's permissions are the intersection of the \n role's identity-based policy and the session policies. You can use the role's temporary \n credentials in subsequent Amazon Web Services API calls to access resources in the account that owns \n the role. You cannot use session policies to grant more permissions than those allowed \n by the identity-based policy of the role that is being assumed. For more information, see\n Session\n Policies in the IAM User Guide.

\n

The plaintext that you use for both inline and managed session policies can't exceed\n 2,048 characters. The JSON policy characters can be any ASCII character from the space\n character to the end of the valid character list (\\u0020 through \\u00FF). It can also\n include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D)\n characters.

\n \n

An Amazon Web Services conversion compresses the passed inline session policy, managed policy ARNs,\n and session tags into a packed binary format that has a separate limit. Your request can\n fail for this limit even if your plaintext meets the other requirements. The\n PackedPolicySize response element indicates by percentage how close the\n policies and tags for your request are to the upper size limit.

\n
" } }, "DurationSeconds": { @@ -3563,7 +3563,7 @@ "Tags": { "target": "com.amazonaws.sts#tagListType", "traits": { - "smithy.api#documentation": "

A list of session tags that you want to pass. Each session tag consists of a key name\n and an associated value. For more information about session tags, see Tagging Amazon Web Services STS\n Sessions in the IAM User Guide.

\n

This parameter is optional. You can pass up to 50 session tags. The plaintext session\n tag keys can’t exceed 128 characters, and the values can’t exceed 256 characters. For these\n and additional limits, see IAM\n and STS Character Limits in the IAM User Guide.

\n \n \n

An Amazon Web Services conversion compresses the passed session policies and session tags into a\n packed binary format that has a separate limit. Your request can fail for this limit\n even if your plaintext meets the other requirements. The PackedPolicySize\n response element indicates by percentage how close the policies and tags for your\n request are to the upper size limit.\n

\n
\n \n

You can pass a session tag with the same key as a tag that is already attached to the\n role. When you do, session tags override a role tag with the same key.

\n

Tag key–value pairs are not case sensitive, but case is preserved. This means that you\n cannot have separate Department and department tag keys. Assume\n that the role has the Department=Marketing tag and you pass the\n department=engineering session tag. Department\n and department are not saved as separate tags, and the session tag passed in\n the request takes precedence over the role tag.

\n

Additionally, if you used temporary credentials to perform this operation, the new\n session inherits any transitive session tags from the calling session. If you pass a\n session tag with the same key as an inherited tag, the operation fails. To view the\n inherited tags for a session, see the CloudTrail logs. For more information, see Viewing Session Tags in CloudTrail in the\n IAM User Guide.

" + "smithy.api#documentation": "

A list of session tags that you want to pass. Each session tag consists of a key name\n and an associated value. For more information about session tags, see Tagging Amazon Web Services STS\n Sessions in the IAM User Guide.

\n

This parameter is optional. You can pass up to 50 session tags. The plaintext session\n tag keys can’t exceed 128 characters, and the values can’t exceed 256 characters. For these\n and additional limits, see IAM\n and STS Character Limits in the IAM User Guide.

\n \n

An Amazon Web Services conversion compresses the passed inline session policy, managed policy ARNs,\n and session tags into a packed binary format that has a separate limit. Your request can\n fail for this limit even if your plaintext meets the other requirements. The\n PackedPolicySize response element indicates by percentage how close the\n policies and tags for your request are to the upper size limit.

\n
\n

You can pass a session tag with the same key as a tag that is already attached to the\n role. When you do, session tags override a role tag with the same key.

\n

Tag key–value pairs are not case sensitive, but case is preserved. This means that you\n cannot have separate Department and department tag keys. Assume\n that the role has the Department=Marketing tag and you pass the\n department=engineering session tag. Department\n and department are not saved as separate tags, and the session tag passed in\n the request takes precedence over the role tag.

\n

Additionally, if you used temporary credentials to perform this operation, the new\n session inherits any transitive session tags from the calling session. If you pass a\n session tag with the same key as an inherited tag, the operation fails. To view the\n inherited tags for a session, see the CloudTrail logs. For more information, see Viewing Session Tags in CloudTrail in the\n IAM User Guide.

" } }, "TransitiveTagKeys": { @@ -3596,6 +3596,9 @@ "smithy.api#documentation": "

The source identity specified by the principal that is calling the\n AssumeRole operation.

\n

You can require users to specify a source identity when they assume a role. You do this\n by using the sts:SourceIdentity condition key in a role trust policy. You can\n use source identity information in CloudTrail logs to determine who took actions with a role.\n You can use the aws:SourceIdentity condition key to further control access to\n Amazon Web Services resources based on the value of source identity. For more information about using\n source identity, see Monitor and control\n actions taken with assumed roles in the\n IAM User Guide.

\n

The regex used to validate this parameter is a string of characters consisting of upper-\n and lower-case alphanumeric characters with no spaces. You can also include underscores or\n any of the following characters: =,.@-. You cannot use a value that begins with the text\n aws:. This prefix is reserved for Amazon Web Services internal use.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sts#AssumeRoleResponse": { @@ -3604,7 +3607,7 @@ "Credentials": { "target": "com.amazonaws.sts#Credentials", "traits": { - "smithy.api#documentation": "

The temporary security credentials, which include an access key ID, a secret access key,\n and a security (or session) token.

\n \n \n

The size of the security token that STS API operations return is not fixed. We\n strongly recommend that you make no assumptions about the maximum size.

\n
" + "smithy.api#documentation": "

The temporary security credentials, which include an access key ID, a secret access key,\n and a security (or session) token.

\n \n

The size of the security token that STS API operations return is not fixed. We\n strongly recommend that you make no assumptions about the maximum size.

\n
" } }, "AssumedRoleUser": { @@ -3627,7 +3630,8 @@ } }, "traits": { - "smithy.api#documentation": "

Contains the response to a successful AssumeRole request, including\n temporary Amazon Web Services credentials that can be used to make Amazon Web Services requests.

" + "smithy.api#documentation": "

Contains the response to a successful AssumeRole request, including\n temporary Amazon Web Services credentials that can be used to make Amazon Web Services requests.

", + "smithy.api#output": {} } }, "com.amazonaws.sts#AssumeRoleWithSAML": { @@ -3659,7 +3663,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a set of temporary security credentials for users who have been authenticated\n via a SAML authentication response. This operation provides a mechanism for tying an\n enterprise identity store or directory to role-based Amazon Web Services access without user-specific\n credentials or configuration. For a comparison of AssumeRoleWithSAML with the\n other API operations that produce temporary credentials, see Requesting Temporary Security\n Credentials and Comparing the\n Amazon Web Services STS API operations in the IAM User Guide.

\n

The temporary security credentials returned by this operation consist of an access key\n ID, a secret access key, and a security token. Applications can use these temporary\n security credentials to sign calls to Amazon Web Services services.

\n

\n Session Duration\n

\n

By default, the temporary security credentials created by\n AssumeRoleWithSAML last for one hour. However, you can use the optional\n DurationSeconds parameter to specify the duration of your session. Your\n role session lasts for the duration that you specify, or until the time specified in the\n SAML authentication response's SessionNotOnOrAfter value, whichever is\n shorter. You can provide a DurationSeconds value from 900 seconds (15 minutes)\n up to the maximum session duration setting for the role. This setting can have a value from\n 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the\n Maximum Session Duration Setting for a Role in the\n IAM User Guide. The maximum session duration limit applies when\n you use the AssumeRole* API operations or the assume-role* CLI\n commands. However the limit does not apply when you use those operations to create a\n console URL. For more information, see Using IAM Roles in the\n IAM User Guide.

\n \n

\n Role chaining limits your CLI or Amazon Web Services API role\n session to a maximum of one hour. When you use the AssumeRole API operation\n to assume a role, you can specify the duration of your role session with the\n DurationSeconds parameter. You can specify a parameter value of up to\n 43200 seconds (12 hours), depending on the maximum session duration setting for your\n role. However, if you assume a role using role chaining and provide a\n DurationSeconds parameter value greater than one hour, the operation\n fails.

\n
\n

\n Permissions\n

\n

The temporary security credentials created by AssumeRoleWithSAML can be\n used to make API calls to any Amazon Web Services service with the following exception: you cannot call\n the STS GetFederationToken or GetSessionToken API\n operations.

\n

(Optional) You can pass inline or managed session policies to\n this operation. You can pass a single JSON policy document to use as an inline session\n policy. You can also specify up to 10 managed policies to use as managed session policies.\n The plaintext that you use for both inline and managed session policies can't exceed 2,048\n characters. Passing policies to this operation returns new \n temporary credentials. The resulting session's permissions are the intersection of the \n role's identity-based policy and the session policies. You can use the role's temporary \n credentials in subsequent Amazon Web Services API calls to access resources in the account that owns \n the role. You cannot use session policies to grant more permissions than those allowed \n by the identity-based policy of the role that is being assumed. For more information, see\n Session\n Policies in the IAM User Guide.

\n

Calling AssumeRoleWithSAML does not require the use of Amazon Web Services security\n credentials. The identity of the caller is validated by using keys in the metadata document\n that is uploaded for the SAML provider entity for your identity provider.

\n \n

Calling AssumeRoleWithSAML can result in an entry in your CloudTrail logs.\n The entry includes the value in the NameID element of the SAML assertion.\n We recommend that you use a NameIDType that is not associated with any\n personally identifiable information (PII). For example, you could instead use the\n persistent identifier\n (urn:oasis:names:tc:SAML:2.0:nameid-format:persistent).

\n
\n

\n Tags\n

\n

(Optional) You can configure your IdP to pass attributes into your SAML assertion as\n session tags. Each session tag consists of a key name and an associated value. For more\n information about session tags, see Passing Session Tags in STS in the\n IAM User Guide.

\n

You can pass up to 50 session tags. The plaintext session tag keys can’t exceed 128\n characters and the values can’t exceed 256 characters. For these and additional limits, see\n IAM\n and STS Character Limits in the IAM User Guide.

\n \n \n

An Amazon Web Services conversion compresses the passed session policies and session tags into a\n packed binary format that has a separate limit. Your request can fail for this limit\n even if your plaintext meets the other requirements. The PackedPolicySize\n response element indicates by percentage how close the policies and tags for your\n request are to the upper size limit.\n

\n
\n \n

You can pass a session tag with the same key as a tag that is attached to the role. When\n you do, session tags override the role's tags with the same key.

\n

An administrator must grant you the permissions necessary to pass session tags. The\n administrator can also create granular permissions to allow you to pass only specific\n session tags. For more information, see Tutorial: Using Tags\n for Attribute-Based Access Control in the\n IAM User Guide.

\n

You can set the session tags as transitive. Transitive tags persist during role\n chaining. For more information, see Chaining Roles\n with Session Tags in the IAM User Guide.

\n

\n SAML Configuration\n

\n

Before your application can call AssumeRoleWithSAML, you must configure\n your SAML identity provider (IdP) to issue the claims required by Amazon Web Services. Additionally, you\n must use Identity and Access Management (IAM) to create a SAML provider entity in your Amazon Web Services account that\n represents your identity provider. You must also create an IAM role that specifies this\n SAML provider in its trust policy.

\n

For more information, see the following resources:

\n " + "smithy.api#documentation": "

Returns a set of temporary security credentials for users who have been authenticated\n via a SAML authentication response. This operation provides a mechanism for tying an\n enterprise identity store or directory to role-based Amazon Web Services access without user-specific\n credentials or configuration. For a comparison of AssumeRoleWithSAML with the\n other API operations that produce temporary credentials, see Requesting Temporary Security\n Credentials and Comparing the\n Amazon Web Services STS API operations in the IAM User Guide.

\n

The temporary security credentials returned by this operation consist of an access key\n ID, a secret access key, and a security token. Applications can use these temporary\n security credentials to sign calls to Amazon Web Services services.

\n

\n Session Duration\n

\n

By default, the temporary security credentials created by\n AssumeRoleWithSAML last for one hour. However, you can use the optional\n DurationSeconds parameter to specify the duration of your session. Your\n role session lasts for the duration that you specify, or until the time specified in the\n SAML authentication response's SessionNotOnOrAfter value, whichever is\n shorter. You can provide a DurationSeconds value from 900 seconds (15 minutes)\n up to the maximum session duration setting for the role. This setting can have a value from\n 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the\n Maximum Session Duration Setting for a Role in the\n IAM User Guide. The maximum session duration limit applies when\n you use the AssumeRole* API operations or the assume-role* CLI\n commands. However the limit does not apply when you use those operations to create a\n console URL. For more information, see Using IAM Roles in the\n IAM User Guide.

\n \n

\n Role chaining limits your CLI or Amazon Web Services API role\n session to a maximum of one hour. When you use the AssumeRole API operation\n to assume a role, you can specify the duration of your role session with the\n DurationSeconds parameter. You can specify a parameter value of up to\n 43200 seconds (12 hours), depending on the maximum session duration setting for your\n role. However, if you assume a role using role chaining and provide a\n DurationSeconds parameter value greater than one hour, the operation\n fails.

\n
\n

\n Permissions\n

\n

The temporary security credentials created by AssumeRoleWithSAML can be\n used to make API calls to any Amazon Web Services service with the following exception: you cannot call\n the STS GetFederationToken or GetSessionToken API\n operations.

\n

(Optional) You can pass inline or managed session policies to\n this operation. You can pass a single JSON policy document to use as an inline session\n policy. You can also specify up to 10 managed policy Amazon Resource Names (ARNs) to use as\n managed session policies. The plaintext that you use for both inline and managed session\n policies can't exceed 2,048 characters. Passing policies to this operation returns new \n temporary credentials. The resulting session's permissions are the intersection of the \n role's identity-based policy and the session policies. You can use the role's temporary \n credentials in subsequent Amazon Web Services API calls to access resources in the account that owns \n the role. You cannot use session policies to grant more permissions than those allowed \n by the identity-based policy of the role that is being assumed. For more information, see\n Session\n Policies in the IAM User Guide.

\n

Calling AssumeRoleWithSAML does not require the use of Amazon Web Services security\n credentials. The identity of the caller is validated by using keys in the metadata document\n that is uploaded for the SAML provider entity for your identity provider.

\n \n

Calling AssumeRoleWithSAML can result in an entry in your CloudTrail logs.\n The entry includes the value in the NameID element of the SAML assertion.\n We recommend that you use a NameIDType that is not associated with any\n personally identifiable information (PII). For example, you could instead use the\n persistent identifier\n (urn:oasis:names:tc:SAML:2.0:nameid-format:persistent).

\n
\n

\n Tags\n

\n

(Optional) You can configure your IdP to pass attributes into your SAML assertion as\n session tags. Each session tag consists of a key name and an associated value. For more\n information about session tags, see Passing Session Tags in STS in the\n IAM User Guide.

\n

You can pass up to 50 session tags. The plaintext session tag keys can’t exceed 128\n characters and the values can’t exceed 256 characters. For these and additional limits, see\n IAM\n and STS Character Limits in the IAM User Guide.

\n \n

An Amazon Web Services conversion compresses the passed inline session policy, managed policy ARNs,\n and session tags into a packed binary format that has a separate limit. Your request can\n fail for this limit even if your plaintext meets the other requirements. The\n PackedPolicySize response element indicates by percentage how close the\n policies and tags for your request are to the upper size limit.

\n
\n

You can pass a session tag with the same key as a tag that is attached to the role. When\n you do, session tags override the role's tags with the same key.

\n

An administrator must grant you the permissions necessary to pass session tags. The\n administrator can also create granular permissions to allow you to pass only specific\n session tags. For more information, see Tutorial: Using Tags\n for Attribute-Based Access Control in the\n IAM User Guide.

\n

You can set the session tags as transitive. Transitive tags persist during role\n chaining. For more information, see Chaining Roles\n with Session Tags in the IAM User Guide.

\n

\n SAML Configuration\n

\n

Before your application can call AssumeRoleWithSAML, you must configure\n your SAML identity provider (IdP) to issue the claims required by Amazon Web Services. Additionally, you\n must use Identity and Access Management (IAM) to create a SAML provider entity in your Amazon Web Services account that\n represents your identity provider. You must also create an IAM role that specifies this\n SAML provider in its trust policy.

\n

For more information, see the following resources:

\n " } }, "com.amazonaws.sts#AssumeRoleWithSAMLRequest": { @@ -3689,13 +3693,13 @@ "PolicyArns": { "target": "com.amazonaws.sts#policyDescriptorListType", "traits": { - "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as\n managed session policies. The policies must exist in the same account as the role.

\n

This parameter is optional. You can provide up to 10 managed policy ARNs. However, the\n plaintext that you use for both inline and managed session policies can't exceed 2,048\n characters. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services\n Service Namespaces in the Amazon Web Services General Reference.

\n \n \n

An Amazon Web Services conversion compresses the passed session policies and session tags into a\n packed binary format that has a separate limit. Your request can fail for this limit\n even if your plaintext meets the other requirements. The PackedPolicySize\n response element indicates by percentage how close the policies and tags for your\n request are to the upper size limit.\n

\n
\n \n

Passing policies to this operation returns new \n temporary credentials. The resulting session's permissions are the intersection of the \n role's identity-based policy and the session policies. You can use the role's temporary \n credentials in subsequent Amazon Web Services API calls to access resources in the account that owns \n the role. You cannot use session policies to grant more permissions than those allowed \n by the identity-based policy of the role that is being assumed. For more information, see\n Session\n Policies in the IAM User Guide.

" + "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as\n managed session policies. The policies must exist in the same account as the role.

\n

This parameter is optional. You can provide up to 10 managed policy ARNs. However, the\n plaintext that you use for both inline and managed session policies can't exceed 2,048\n characters. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services\n Service Namespaces in the Amazon Web Services General Reference.

\n \n

An Amazon Web Services conversion compresses the passed inline session policy, managed policy ARNs,\n and session tags into a packed binary format that has a separate limit. Your request can\n fail for this limit even if your plaintext meets the other requirements. The\n PackedPolicySize response element indicates by percentage how close the\n policies and tags for your request are to the upper size limit.

\n
\n

Passing policies to this operation returns new \n temporary credentials. The resulting session's permissions are the intersection of the \n role's identity-based policy and the session policies. You can use the role's temporary \n credentials in subsequent Amazon Web Services API calls to access resources in the account that owns \n the role. You cannot use session policies to grant more permissions than those allowed \n by the identity-based policy of the role that is being assumed. For more information, see\n Session\n Policies in the IAM User Guide.

" } }, "Policy": { "target": "com.amazonaws.sts#sessionPolicyDocumentType", "traits": { - "smithy.api#documentation": "

An IAM policy in JSON format that you want to use as an inline session policy.

\n

This parameter is optional. Passing policies to this operation returns new \n temporary credentials. The resulting session's permissions are the intersection of the \n role's identity-based policy and the session policies. You can use the role's temporary \n credentials in subsequent Amazon Web Services API calls to access resources in the account that owns \n the role. You cannot use session policies to grant more permissions than those allowed \n by the identity-based policy of the role that is being assumed. For more information, see\n Session\n Policies in the IAM User Guide.

\n

The plaintext that you use for both inline and managed session policies can't exceed\n 2,048 characters. The JSON policy characters can be any ASCII character from the space\n character to the end of the valid character list (\\u0020 through \\u00FF). It can also\n include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D)\n characters.

\n \n \n

An Amazon Web Services conversion compresses the passed session policies and session tags into a\n packed binary format that has a separate limit. Your request can fail for this limit\n even if your plaintext meets the other requirements. The PackedPolicySize\n response element indicates by percentage how close the policies and tags for your\n request are to the upper size limit.\n

\n
" + "smithy.api#documentation": "

An IAM policy in JSON format that you want to use as an inline session policy.

\n

This parameter is optional. Passing policies to this operation returns new \n temporary credentials. The resulting session's permissions are the intersection of the \n role's identity-based policy and the session policies. You can use the role's temporary \n credentials in subsequent Amazon Web Services API calls to access resources in the account that owns \n the role. You cannot use session policies to grant more permissions than those allowed \n by the identity-based policy of the role that is being assumed. For more information, see\n Session\n Policies in the IAM User Guide.

\n

The plaintext that you use for both inline and managed session policies can't exceed\n 2,048 characters. The JSON policy characters can be any ASCII character from the space\n character to the end of the valid character list (\\u0020 through \\u00FF). It can also\n include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D)\n characters.

\n \n

An Amazon Web Services conversion compresses the passed inline session policy, managed policy ARNs,\n and session tags into a packed binary format that has a separate limit. Your request can\n fail for this limit even if your plaintext meets the other requirements. The\n PackedPolicySize response element indicates by percentage how close the\n policies and tags for your request are to the upper size limit.

\n
" } }, "DurationSeconds": { @@ -3704,6 +3708,9 @@ "smithy.api#documentation": "

The duration, in seconds, of the role session. Your role session lasts for the duration\n that you specify for the DurationSeconds parameter, or until the time\n specified in the SAML authentication response's SessionNotOnOrAfter value,\n whichever is shorter. You can provide a DurationSeconds value from 900 seconds\n (15 minutes) up to the maximum session duration setting for the role. This setting can have\n a value from 1 hour to 12 hours. If you specify a value higher than this setting, the\n operation fails. For example, if you specify a session duration of 12 hours, but your\n administrator set the maximum session duration to 6 hours, your operation fails. To learn\n how to view the maximum value for your role, see View the\n Maximum Session Duration Setting for a Role in the\n IAM User Guide.

\n

By default, the value is set to 3600 seconds.

\n \n

The DurationSeconds parameter is separate from the duration of a console\n session that you might request using the returned credentials. The request to the\n federation endpoint for a console sign-in token takes a SessionDuration\n parameter that specifies the maximum length of the console session. For more\n information, see Creating a URL\n that Enables Federated Users to Access the Amazon Web Services Management Console in the\n IAM User Guide.

\n
" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sts#AssumeRoleWithSAMLResponse": { @@ -3712,7 +3719,7 @@ "Credentials": { "target": "com.amazonaws.sts#Credentials", "traits": { - "smithy.api#documentation": "

The temporary security credentials, which include an access key ID, a secret access key,\n and a security (or session) token.

\n \n \n

The size of the security token that STS API operations return is not fixed. We\n strongly recommend that you make no assumptions about the maximum size.

\n
" + "smithy.api#documentation": "

The temporary security credentials, which include an access key ID, a secret access key,\n and a security (or session) token.

\n \n

The size of the security token that STS API operations return is not fixed. We\n strongly recommend that you make no assumptions about the maximum size.

\n
" } }, "AssumedRoleUser": { @@ -3765,7 +3772,8 @@ } }, "traits": { - "smithy.api#documentation": "

Contains the response to a successful AssumeRoleWithSAML request,\n including temporary Amazon Web Services credentials that can be used to make Amazon Web Services requests.

" + "smithy.api#documentation": "

Contains the response to a successful AssumeRoleWithSAML request,\n including temporary Amazon Web Services credentials that can be used to make Amazon Web Services requests.

", + "smithy.api#output": {} } }, "com.amazonaws.sts#AssumeRoleWithWebIdentity": { @@ -3800,7 +3808,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a set of temporary security credentials for users who have been authenticated in\n a mobile or web application with a web identity provider. Example providers include the\n OAuth 2.0 providers Login with Amazon and Facebook, or any OpenID Connect-compatible\n identity provider such as Google or Amazon Cognito federated identities.

\n \n

For mobile applications, we recommend that you use Amazon Cognito. You can use Amazon Cognito with the\n Amazon Web Services SDK for iOS Developer Guide and the Amazon Web Services SDK for Android Developer Guide to uniquely\n identify a user. You can also supply the user with a consistent identity throughout the\n lifetime of an application.

\n

To learn more about Amazon Cognito, see Amazon Cognito Overview in\n Amazon Web Services SDK for Android Developer Guide and Amazon Cognito Overview in the\n Amazon Web Services SDK for iOS Developer Guide.

\n
\n

Calling AssumeRoleWithWebIdentity does not require the use of Amazon Web Services\n security credentials. Therefore, you can distribute an application (for example, on mobile\n devices) that requests temporary security credentials without including long-term Amazon Web Services\n credentials in the application. You also don't need to deploy server-based proxy services\n that use long-term Amazon Web Services credentials. Instead, the identity of the caller is validated by\n using a token from the web identity provider. For a comparison of\n AssumeRoleWithWebIdentity with the other API operations that produce\n temporary credentials, see Requesting Temporary Security\n Credentials and Comparing the\n Amazon Web Services STS API operations in the IAM User Guide.

\n

The temporary security credentials returned by this API consist of an access key ID, a\n secret access key, and a security token. Applications can use these temporary security\n credentials to sign calls to Amazon Web Services service API operations.

\n

\n Session Duration\n

\n

By default, the temporary security credentials created by\n AssumeRoleWithWebIdentity last for one hour. However, you can use the\n optional DurationSeconds parameter to specify the duration of your session.\n You can provide a value from 900 seconds (15 minutes) up to the maximum session duration\n setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how\n to view the maximum value for your role, see View the\n Maximum Session Duration Setting for a Role in the\n IAM User Guide. The maximum session duration limit applies when\n you use the AssumeRole* API operations or the assume-role* CLI\n commands. However the limit does not apply when you use those operations to create a\n console URL. For more information, see Using IAM Roles in the\n IAM User Guide.

\n

\n Permissions\n

\n

The temporary security credentials created by AssumeRoleWithWebIdentity can\n be used to make API calls to any Amazon Web Services service with the following exception: you cannot\n call the STS GetFederationToken or GetSessionToken API\n operations.

\n

(Optional) You can pass inline or managed session policies to\n this operation. You can pass a single JSON policy document to use as an inline session\n policy. You can also specify up to 10 managed policies to use as managed session policies.\n The plaintext that you use for both inline and managed session policies can't exceed 2,048\n characters. Passing policies to this operation returns new \n temporary credentials. The resulting session's permissions are the intersection of the \n role's identity-based policy and the session policies. You can use the role's temporary \n credentials in subsequent Amazon Web Services API calls to access resources in the account that owns \n the role. You cannot use session policies to grant more permissions than those allowed \n by the identity-based policy of the role that is being assumed. For more information, see\n Session\n Policies in the IAM User Guide.

\n

\n Tags\n

\n

(Optional) You can configure your IdP to pass attributes into your web identity token as\n session tags. Each session tag consists of a key name and an associated value. For more\n information about session tags, see Passing Session Tags in STS in the\n IAM User Guide.

\n

You can pass up to 50 session tags. The plaintext session tag keys can’t exceed 128\n characters and the values can’t exceed 256 characters. For these and additional limits, see\n IAM\n and STS Character Limits in the IAM User Guide.

\n \n \n

An Amazon Web Services conversion compresses the passed session policies and session tags into a\n packed binary format that has a separate limit. Your request can fail for this limit\n even if your plaintext meets the other requirements. The PackedPolicySize\n response element indicates by percentage how close the policies and tags for your\n request are to the upper size limit.\n

\n
\n \n

You can pass a session tag with the same key as a tag that is attached to the role. When\n you do, the session tag overrides the role tag with the same key.

\n

An administrator must grant you the permissions necessary to pass session tags. The\n administrator can also create granular permissions to allow you to pass only specific\n session tags. For more information, see Tutorial: Using Tags\n for Attribute-Based Access Control in the\n IAM User Guide.

\n

You can set the session tags as transitive. Transitive tags persist during role\n chaining. For more information, see Chaining Roles\n with Session Tags in the IAM User Guide.

\n

\n Identities\n

\n

Before your application can call AssumeRoleWithWebIdentity, you must have\n an identity token from a supported identity provider and create a role that the application\n can assume. The role that your application assumes must trust the identity provider that is\n associated with the identity token. In other words, the identity provider must be specified\n in the role's trust policy.

\n \n

Calling AssumeRoleWithWebIdentity can result in an entry in your\n CloudTrail logs. The entry includes the Subject of\n the provided web identity token. We recommend that you avoid using any personally\n identifiable information (PII) in this field. For example, you could instead use a GUID\n or a pairwise identifier, as suggested\n in the OIDC specification.

\n
\n

For more information about how to use web identity federation and the\n AssumeRoleWithWebIdentity API, see the following resources:

\n " + "smithy.api#documentation": "

Returns a set of temporary security credentials for users who have been authenticated in\n a mobile or web application with a web identity provider. Example providers include the\n OAuth 2.0 providers Login with Amazon and Facebook, or any OpenID Connect-compatible\n identity provider such as Google or Amazon Cognito federated identities.

\n \n

For mobile applications, we recommend that you use Amazon Cognito. You can use Amazon Cognito with the\n Amazon Web Services SDK for iOS Developer Guide and the Amazon Web Services SDK for Android Developer Guide to uniquely\n identify a user. You can also supply the user with a consistent identity throughout the\n lifetime of an application.

\n

To learn more about Amazon Cognito, see Amazon Cognito Overview in\n Amazon Web Services SDK for Android Developer Guide and Amazon Cognito Overview in the\n Amazon Web Services SDK for iOS Developer Guide.

\n
\n

Calling AssumeRoleWithWebIdentity does not require the use of Amazon Web Services\n security credentials. Therefore, you can distribute an application (for example, on mobile\n devices) that requests temporary security credentials without including long-term Amazon Web Services\n credentials in the application. You also don't need to deploy server-based proxy services\n that use long-term Amazon Web Services credentials. Instead, the identity of the caller is validated by\n using a token from the web identity provider. For a comparison of\n AssumeRoleWithWebIdentity with the other API operations that produce\n temporary credentials, see Requesting Temporary Security\n Credentials and Comparing the\n Amazon Web Services STS API operations in the IAM User Guide.

\n

The temporary security credentials returned by this API consist of an access key ID, a\n secret access key, and a security token. Applications can use these temporary security\n credentials to sign calls to Amazon Web Services service API operations.

\n

\n Session Duration\n

\n

By default, the temporary security credentials created by\n AssumeRoleWithWebIdentity last for one hour. However, you can use the\n optional DurationSeconds parameter to specify the duration of your session.\n You can provide a value from 900 seconds (15 minutes) up to the maximum session duration\n setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how\n to view the maximum value for your role, see View the\n Maximum Session Duration Setting for a Role in the\n IAM User Guide. The maximum session duration limit applies when\n you use the AssumeRole* API operations or the assume-role* CLI\n commands. However the limit does not apply when you use those operations to create a\n console URL. For more information, see Using IAM Roles in the\n IAM User Guide.

\n

\n Permissions\n

\n

The temporary security credentials created by AssumeRoleWithWebIdentity can\n be used to make API calls to any Amazon Web Services service with the following exception: you cannot\n call the STS GetFederationToken or GetSessionToken API\n operations.

\n

(Optional) You can pass inline or managed session policies to\n this operation. You can pass a single JSON policy document to use as an inline session\n policy. You can also specify up to 10 managed policy Amazon Resource Names (ARNs) to use as\n managed session policies. The plaintext that you use for both inline and managed session\n policies can't exceed 2,048 characters. Passing policies to this operation returns new \n temporary credentials. The resulting session's permissions are the intersection of the \n role's identity-based policy and the session policies. You can use the role's temporary \n credentials in subsequent Amazon Web Services API calls to access resources in the account that owns \n the role. You cannot use session policies to grant more permissions than those allowed \n by the identity-based policy of the role that is being assumed. For more information, see\n Session\n Policies in the IAM User Guide.

\n

\n Tags\n

\n

(Optional) You can configure your IdP to pass attributes into your web identity token as\n session tags. Each session tag consists of a key name and an associated value. For more\n information about session tags, see Passing Session Tags in STS in the\n IAM User Guide.

\n

You can pass up to 50 session tags. The plaintext session tag keys can’t exceed 128\n characters and the values can’t exceed 256 characters. For these and additional limits, see\n IAM\n and STS Character Limits in the IAM User Guide.

\n \n

An Amazon Web Services conversion compresses the passed inline session policy, managed policy ARNs,\n and session tags into a packed binary format that has a separate limit. Your request can\n fail for this limit even if your plaintext meets the other requirements. The\n PackedPolicySize response element indicates by percentage how close the\n policies and tags for your request are to the upper size limit.

\n
\n

You can pass a session tag with the same key as a tag that is attached to the role. When\n you do, the session tag overrides the role tag with the same key.

\n

An administrator must grant you the permissions necessary to pass session tags. The\n administrator can also create granular permissions to allow you to pass only specific\n session tags. For more information, see Tutorial: Using Tags\n for Attribute-Based Access Control in the\n IAM User Guide.

\n

You can set the session tags as transitive. Transitive tags persist during role\n chaining. For more information, see Chaining Roles\n with Session Tags in the IAM User Guide.

\n

\n Identities\n

\n

Before your application can call AssumeRoleWithWebIdentity, you must have\n an identity token from a supported identity provider and create a role that the application\n can assume. The role that your application assumes must trust the identity provider that is\n associated with the identity token. In other words, the identity provider must be specified\n in the role's trust policy.

\n \n

Calling AssumeRoleWithWebIdentity can result in an entry in your\n CloudTrail logs. The entry includes the Subject of\n the provided web identity token. We recommend that you avoid using any personally\n identifiable information (PII) in this field. For example, you could instead use a GUID\n or a pairwise identifier, as suggested\n in the OIDC specification.

\n
\n

For more information about how to use web identity federation and the\n AssumeRoleWithWebIdentity API, see the following resources:

\n " } }, "com.amazonaws.sts#AssumeRoleWithWebIdentityRequest": { @@ -3836,13 +3844,13 @@ "PolicyArns": { "target": "com.amazonaws.sts#policyDescriptorListType", "traits": { - "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as\n managed session policies. The policies must exist in the same account as the role.

\n

This parameter is optional. You can provide up to 10 managed policy ARNs. However, the\n plaintext that you use for both inline and managed session policies can't exceed 2,048\n characters. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services\n Service Namespaces in the Amazon Web Services General Reference.

\n \n \n

An Amazon Web Services conversion compresses the passed session policies and session tags into a\n packed binary format that has a separate limit. Your request can fail for this limit\n even if your plaintext meets the other requirements. The PackedPolicySize\n response element indicates by percentage how close the policies and tags for your\n request are to the upper size limit.\n

\n
\n \n

Passing policies to this operation returns new \n temporary credentials. The resulting session's permissions are the intersection of the \n role's identity-based policy and the session policies. You can use the role's temporary \n credentials in subsequent Amazon Web Services API calls to access resources in the account that owns \n the role. You cannot use session policies to grant more permissions than those allowed \n by the identity-based policy of the role that is being assumed. For more information, see\n Session\n Policies in the IAM User Guide.

" + "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as\n managed session policies. The policies must exist in the same account as the role.

\n

This parameter is optional. You can provide up to 10 managed policy ARNs. However, the\n plaintext that you use for both inline and managed session policies can't exceed 2,048\n characters. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services\n Service Namespaces in the Amazon Web Services General Reference.

\n \n

An Amazon Web Services conversion compresses the passed inline session policy, managed policy ARNs,\n and session tags into a packed binary format that has a separate limit. Your request can\n fail for this limit even if your plaintext meets the other requirements. The\n PackedPolicySize response element indicates by percentage how close the\n policies and tags for your request are to the upper size limit.

\n
\n

Passing policies to this operation returns new \n temporary credentials. The resulting session's permissions are the intersection of the \n role's identity-based policy and the session policies. You can use the role's temporary \n credentials in subsequent Amazon Web Services API calls to access resources in the account that owns \n the role. You cannot use session policies to grant more permissions than those allowed \n by the identity-based policy of the role that is being assumed. For more information, see\n Session\n Policies in the IAM User Guide.

" } }, "Policy": { "target": "com.amazonaws.sts#sessionPolicyDocumentType", "traits": { - "smithy.api#documentation": "

An IAM policy in JSON format that you want to use as an inline session policy.

\n

This parameter is optional. Passing policies to this operation returns new \n temporary credentials. The resulting session's permissions are the intersection of the \n role's identity-based policy and the session policies. You can use the role's temporary \n credentials in subsequent Amazon Web Services API calls to access resources in the account that owns \n the role. You cannot use session policies to grant more permissions than those allowed \n by the identity-based policy of the role that is being assumed. For more information, see\n Session\n Policies in the IAM User Guide.

\n

The plaintext that you use for both inline and managed session policies can't exceed\n 2,048 characters. The JSON policy characters can be any ASCII character from the space\n character to the end of the valid character list (\\u0020 through \\u00FF). It can also\n include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D)\n characters.

\n \n \n

An Amazon Web Services conversion compresses the passed session policies and session tags into a\n packed binary format that has a separate limit. Your request can fail for this limit\n even if your plaintext meets the other requirements. The PackedPolicySize\n response element indicates by percentage how close the policies and tags for your\n request are to the upper size limit.\n

\n
" + "smithy.api#documentation": "

An IAM policy in JSON format that you want to use as an inline session policy.

\n

This parameter is optional. Passing policies to this operation returns new \n temporary credentials. The resulting session's permissions are the intersection of the \n role's identity-based policy and the session policies. You can use the role's temporary \n credentials in subsequent Amazon Web Services API calls to access resources in the account that owns \n the role. You cannot use session policies to grant more permissions than those allowed \n by the identity-based policy of the role that is being assumed. For more information, see\n Session\n Policies in the IAM User Guide.

\n

The plaintext that you use for both inline and managed session policies can't exceed\n 2,048 characters. The JSON policy characters can be any ASCII character from the space\n character to the end of the valid character list (\\u0020 through \\u00FF). It can also\n include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D)\n characters.

\n \n

An Amazon Web Services conversion compresses the passed inline session policy, managed policy ARNs,\n and session tags into a packed binary format that has a separate limit. Your request can\n fail for this limit even if your plaintext meets the other requirements. The\n PackedPolicySize response element indicates by percentage how close the\n policies and tags for your request are to the upper size limit.

\n
" } }, "DurationSeconds": { @@ -3851,6 +3859,9 @@ "smithy.api#documentation": "

The duration, in seconds, of the role session. The value can range from 900 seconds (15\n minutes) up to the maximum session duration setting for the role. This setting can have a\n value from 1 hour to 12 hours. If you specify a value higher than this setting, the\n operation fails. For example, if you specify a session duration of 12 hours, but your\n administrator set the maximum session duration to 6 hours, your operation fails. To learn\n how to view the maximum value for your role, see View the\n Maximum Session Duration Setting for a Role in the\n IAM User Guide.

\n

By default, the value is set to 3600 seconds.

\n \n

The DurationSeconds parameter is separate from the duration of a console\n session that you might request using the returned credentials. The request to the\n federation endpoint for a console sign-in token takes a SessionDuration\n parameter that specifies the maximum length of the console session. For more\n information, see Creating a URL\n that Enables Federated Users to Access the Amazon Web Services Management Console in the\n IAM User Guide.

\n
" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sts#AssumeRoleWithWebIdentityResponse": { @@ -3859,7 +3870,7 @@ "Credentials": { "target": "com.amazonaws.sts#Credentials", "traits": { - "smithy.api#documentation": "

The temporary security credentials, which include an access key ID, a secret access key,\n and a security token.

\n \n \n

The size of the security token that STS API operations return is not fixed. We\n strongly recommend that you make no assumptions about the maximum size.

\n
" + "smithy.api#documentation": "

The temporary security credentials, which include an access key ID, a secret access key,\n and a security token.

\n \n

The size of the security token that STS API operations return is not fixed. We\n strongly recommend that you make no assumptions about the maximum size.

\n
" } }, "SubjectFromWebIdentityToken": { @@ -3900,7 +3911,8 @@ } }, "traits": { - "smithy.api#documentation": "

Contains the response to a successful AssumeRoleWithWebIdentity\n request, including temporary Amazon Web Services credentials that can be used to make Amazon Web Services requests.

" + "smithy.api#documentation": "

Contains the response to a successful AssumeRoleWithWebIdentity\n request, including temporary Amazon Web Services credentials that can be used to make Amazon Web Services requests.

", + "smithy.api#output": {} } }, "com.amazonaws.sts#AssumedRoleUser": { @@ -3991,6 +4003,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sts#DecodeAuthorizationMessageResponse": { @@ -4004,7 +4019,8 @@ } }, "traits": { - "smithy.api#documentation": "

A document that contains additional information about the authorization status of a\n request from an encoded message that is returned in response to an Amazon Web Services request.

" + "smithy.api#documentation": "

A document that contains additional information about the authorization status of a\n request from an encoded message that is returned in response to an Amazon Web Services request.

", + "smithy.api#output": {} } }, "com.amazonaws.sts#ExpiredTokenException": { @@ -4068,6 +4084,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sts#GetAccessKeyInfoResponse": { @@ -4079,6 +4098,9 @@ "smithy.api#documentation": "

The number used to identify the Amazon Web Services account.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.sts#GetCallerIdentity": { @@ -4095,7 +4117,10 @@ }, "com.amazonaws.sts#GetCallerIdentityRequest": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#input": {} + } }, "com.amazonaws.sts#GetCallerIdentityResponse": { "type": "structure", @@ -4120,7 +4145,8 @@ } }, "traits": { - "smithy.api#documentation": "

Contains the response to a successful GetCallerIdentity request,\n including information about the entity making the request.

" + "smithy.api#documentation": "

Contains the response to a successful GetCallerIdentity request,\n including information about the entity making the request.

", + "smithy.api#output": {} } }, "com.amazonaws.sts#GetFederationToken": { @@ -4143,7 +4169,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a set of temporary security credentials (consisting of an access key ID, a\n secret access key, and a security token) for a federated user. A typical use is in a proxy\n application that gets temporary security credentials on behalf of distributed applications\n inside a corporate network. You must call the GetFederationToken operation\n using the long-term security credentials of an IAM user. As a result, this call is\n appropriate in contexts where those credentials can be safely stored, usually in a\n server-based application. For a comparison of GetFederationToken with the\n other API operations that produce temporary credentials, see Requesting Temporary Security\n Credentials and Comparing the\n Amazon Web Services STS API operations in the IAM User Guide.

\n \n

You can create a mobile-based or browser-based app that can authenticate users using\n a web identity provider like Login with Amazon, Facebook, Google, or an OpenID\n Connect-compatible identity provider. In this case, we recommend that you use Amazon Cognito or\n AssumeRoleWithWebIdentity. For more information, see Federation Through a Web-based Identity Provider in the\n IAM User Guide.

\n
\n

You can also call GetFederationToken using the security credentials of an\n Amazon Web Services account root user, but we do not recommend it. Instead, we recommend that you create\n an IAM user for the purpose of the proxy application. Then attach a policy to the IAM\n user that limits federated users to only the actions and resources that they need to\n access. For more information, see IAM Best Practices in the\n IAM User Guide.

\n

\n Session duration\n

\n

The temporary credentials are valid for the specified duration, from 900 seconds (15\n minutes) up to a maximum of 129,600 seconds (36 hours). The default session duration is\n 43,200 seconds (12 hours). Temporary credentials obtained by using the Amazon Web Services account root\n user credentials have a maximum duration of 3,600 seconds (1 hour).

\n

\n Permissions\n

\n

You can use the temporary credentials created by GetFederationToken in any\n Amazon Web Services service except the following:

\n
    \n
  • \n

    You cannot call any IAM operations using the CLI or the Amazon Web Services API.

    \n
  • \n
  • \n

    You cannot call any STS operations except GetCallerIdentity.

    \n
  • \n
\n

You must pass an inline or managed session policy to\n this operation. You can pass a single JSON policy document to use as an inline session\n policy. You can also specify up to 10 managed policies to use as managed session policies.\n The plaintext that you use for both inline and managed session policies can't exceed 2,048\n characters.

\n

Though the session policy parameters are optional, if you do not pass a policy, then the\n resulting federated user session has no permissions. When you pass session policies, the\n session permissions are the intersection of the IAM user policies and the session\n policies that you pass. This gives you a way to further restrict the permissions for a\n federated user. You cannot use session policies to grant more permissions than those that\n are defined in the permissions policy of the IAM user. For more information, see Session\n Policies in the IAM User Guide. For information about\n using GetFederationToken to create temporary security credentials, see GetFederationTokenβ€”Federation Through a Custom Identity Broker.

\n

You can use the credentials to access a resource that has a resource-based policy. If\n that policy specifically references the federated user session in the\n Principal element of the policy, the session has the permissions allowed by\n the policy. These permissions are granted in addition to the permissions granted by the\n session policies.

\n

\n Tags\n

\n

(Optional) You can pass tag key-value pairs to your session. These are called session\n tags. For more information about session tags, see Passing Session Tags in STS in the\n IAM User Guide.

\n \n

You can create a mobile-based or browser-based app that can authenticate users using\n a web identity provider like Login with Amazon, Facebook, Google, or an OpenID\n Connect-compatible identity provider. In this case, we recommend that you use Amazon Cognito or\n AssumeRoleWithWebIdentity. For more information, see Federation Through a Web-based Identity Provider in the\n IAM User Guide.

\n
\n

An administrator must grant you the permissions necessary to pass session tags. The\n administrator can also create granular permissions to allow you to pass only specific\n session tags. For more information, see Tutorial: Using Tags\n for Attribute-Based Access Control in the\n IAM User Guide.

\n

Tag key–value pairs are not case sensitive, but case is preserved. This means that you\n cannot have separate Department and department tag keys. Assume\n that the user that you are federating has the\n Department=Marketing tag and you pass the\n department=engineering session tag. Department\n and department are not saved as separate tags, and the session tag passed in\n the request takes precedence over the user tag.

" + "smithy.api#documentation": "

Returns a set of temporary security credentials (consisting of an access key ID, a\n secret access key, and a security token) for a federated user. A typical use is in a proxy\n application that gets temporary security credentials on behalf of distributed applications\n inside a corporate network. You must call the GetFederationToken operation\n using the long-term security credentials of an IAM user. As a result, this call is\n appropriate in contexts where those credentials can be safely stored, usually in a\n server-based application. For a comparison of GetFederationToken with the\n other API operations that produce temporary credentials, see Requesting Temporary Security\n Credentials and Comparing the\n Amazon Web Services STS API operations in the IAM User Guide.

\n \n

You can create a mobile-based or browser-based app that can authenticate users using\n a web identity provider like Login with Amazon, Facebook, Google, or an OpenID\n Connect-compatible identity provider. In this case, we recommend that you use Amazon Cognito or\n AssumeRoleWithWebIdentity. For more information, see Federation Through a Web-based Identity Provider in the\n IAM User Guide.

\n
\n

You can also call GetFederationToken using the security credentials of an\n Amazon Web Services account root user, but we do not recommend it. Instead, we recommend that you create\n an IAM user for the purpose of the proxy application. Then attach a policy to the IAM\n user that limits federated users to only the actions and resources that they need to\n access. For more information, see IAM Best Practices in the\n IAM User Guide.

\n

\n Session duration\n

\n

The temporary credentials are valid for the specified duration, from 900 seconds (15\n minutes) up to a maximum of 129,600 seconds (36 hours). The default session duration is\n 43,200 seconds (12 hours). Temporary credentials obtained by using the Amazon Web Services account root\n user credentials have a maximum duration of 3,600 seconds (1 hour).

\n

\n Permissions\n

\n

You can use the temporary credentials created by GetFederationToken in any\n Amazon Web Services service with the following exceptions:

\n
    \n
  • \n

    You cannot call any IAM operations using the CLI or the Amazon Web Services API. This limitation does not apply to console sessions.

    \n
  • \n
  • \n

    You cannot call any STS operations except GetCallerIdentity.

    \n
  • \n
\n

You can use temporary credentials for single sign-on (SSO) to the console.

\n

You must pass an inline or managed session policy to\n this operation. You can pass a single JSON policy document to use as an inline session\n policy. You can also specify up to 10 managed policy Amazon Resource Names (ARNs) to use as\n managed session policies. The plaintext that you use for both inline and managed session\n policies can't exceed 2,048 characters.

\n

Though the session policy parameters are optional, if you do not pass a policy, then the\n resulting federated user session has no permissions. When you pass session policies, the\n session permissions are the intersection of the IAM user policies and the session\n policies that you pass. This gives you a way to further restrict the permissions for a\n federated user. You cannot use session policies to grant more permissions than those that\n are defined in the permissions policy of the IAM user. For more information, see Session\n Policies in the IAM User Guide. For information about\n using GetFederationToken to create temporary security credentials, see GetFederationTokenβ€”Federation Through a Custom Identity Broker.

\n

You can use the credentials to access a resource that has a resource-based policy. If\n that policy specifically references the federated user session in the\n Principal element of the policy, the session has the permissions allowed by\n the policy. These permissions are granted in addition to the permissions granted by the\n session policies.

\n

\n Tags\n

\n

(Optional) You can pass tag key-value pairs to your session. These are called session\n tags. For more information about session tags, see Passing Session Tags in STS in the\n IAM User Guide.

\n \n

You can create a mobile-based or browser-based app that can authenticate users using\n a web identity provider like Login with Amazon, Facebook, Google, or an OpenID\n Connect-compatible identity provider. In this case, we recommend that you use Amazon Cognito or\n AssumeRoleWithWebIdentity. For more information, see Federation Through a Web-based Identity Provider in the\n IAM User Guide.

\n
\n

An administrator must grant you the permissions necessary to pass session tags. The\n administrator can also create granular permissions to allow you to pass only specific\n session tags. For more information, see Tutorial: Using Tags\n for Attribute-Based Access Control in the\n IAM User Guide.

\n

Tag key–value pairs are not case sensitive, but case is preserved. This means that you\n cannot have separate Department and department tag keys. Assume\n that the user that you are federating has the\n Department=Marketing tag and you pass the\n department=engineering session tag. Department\n and department are not saved as separate tags, and the session tag passed in\n the request takes precedence over the user tag.

" } }, "com.amazonaws.sts#GetFederationTokenRequest": { @@ -4159,13 +4185,13 @@ "Policy": { "target": "com.amazonaws.sts#sessionPolicyDocumentType", "traits": { - "smithy.api#documentation": "

An IAM policy in JSON format that you want to use as an inline session policy.

\n

You must pass an inline or managed session policy to\n this operation. You can pass a single JSON policy document to use as an inline session\n policy. You can also specify up to 10 managed policies to use as managed session\n policies.

\n

This parameter is optional. However, if you do not pass any session policies, then the\n resulting federated user session has no permissions.

\n

When you pass session policies, the session permissions are the intersection of the\n IAM user policies and the session policies that you pass. This gives you a way to further\n restrict the permissions for a federated user. You cannot use session policies to grant\n more permissions than those that are defined in the permissions policy of the IAM user.\n For more information, see Session Policies in\n the IAM User Guide.

\n

The resulting credentials can be used to access a resource that has a resource-based\n policy. If that policy specifically references the federated user session in the\n Principal element of the policy, the session has the permissions allowed by\n the policy. These permissions are granted in addition to the permissions that are granted\n by the session policies.

\n

The plaintext that you use for both inline and managed session policies can't exceed\n 2,048 characters. The JSON policy characters can be any ASCII character from the space\n character to the end of the valid character list (\\u0020 through \\u00FF). It can also\n include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D)\n characters.

\n \n \n

An Amazon Web Services conversion compresses the passed session policies and session tags into a\n packed binary format that has a separate limit. Your request can fail for this limit\n even if your plaintext meets the other requirements. The PackedPolicySize\n response element indicates by percentage how close the policies and tags for your\n request are to the upper size limit.\n

\n
" + "smithy.api#documentation": "

An IAM policy in JSON format that you want to use as an inline session policy.

\n

You must pass an inline or managed session policy to\n this operation. You can pass a single JSON policy document to use as an inline session\n policy. You can also specify up to 10 managed policy Amazon Resource Names (ARNs) to use as\n managed session policies.

\n

This parameter is optional. However, if you do not pass any session policies, then the\n resulting federated user session has no permissions.

\n

When you pass session policies, the session permissions are the intersection of the\n IAM user policies and the session policies that you pass. This gives you a way to further\n restrict the permissions for a federated user. You cannot use session policies to grant\n more permissions than those that are defined in the permissions policy of the IAM user.\n For more information, see Session Policies in\n the IAM User Guide.

\n

The resulting credentials can be used to access a resource that has a resource-based\n policy. If that policy specifically references the federated user session in the\n Principal element of the policy, the session has the permissions allowed by\n the policy. These permissions are granted in addition to the permissions that are granted\n by the session policies.

\n

The plaintext that you use for both inline and managed session policies can't exceed\n 2,048 characters. The JSON policy characters can be any ASCII character from the space\n character to the end of the valid character list (\\u0020 through \\u00FF). It can also\n include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D)\n characters.

\n \n

An Amazon Web Services conversion compresses the passed inline session policy, managed policy ARNs,\n and session tags into a packed binary format that has a separate limit. Your request can\n fail for this limit even if your plaintext meets the other requirements. The\n PackedPolicySize response element indicates by percentage how close the\n policies and tags for your request are to the upper size limit.

\n
" } }, "PolicyArns": { "target": "com.amazonaws.sts#policyDescriptorListType", "traits": { - "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as a\n managed session policy. The policies must exist in the same account as the IAM user that\n is requesting federated access.

\n

You must pass an inline or managed session policy to\n this operation. You can pass a single JSON policy document to use as an inline session\n policy. You can also specify up to 10 managed policies to use as managed session policies.\n The plaintext that you use for both inline and managed session policies can't exceed 2,048\n characters. You can provide up to 10 managed policy ARNs. For more information about ARNs,\n see Amazon\n Resource Names (ARNs) and Amazon Web Services Service Namespaces in the\n Amazon Web Services General Reference.

\n

This parameter is optional. However, if you do not pass any session policies, then the\n resulting federated user session has no permissions.

\n

When you pass session policies, the session permissions are the intersection of the\n IAM user policies and the session policies that you pass. This gives you a way to further\n restrict the permissions for a federated user. You cannot use session policies to grant\n more permissions than those that are defined in the permissions policy of the IAM user.\n For more information, see Session Policies in\n the IAM User Guide.

\n

The resulting credentials can be used to access a resource that has a resource-based\n policy. If that policy specifically references the federated user session in the\n Principal element of the policy, the session has the permissions allowed by\n the policy. These permissions are granted in addition to the permissions that are granted\n by the session policies.

\n \n \n

An Amazon Web Services conversion compresses the passed session policies and session tags into a\n packed binary format that has a separate limit. Your request can fail for this limit\n even if your plaintext meets the other requirements. The PackedPolicySize\n response element indicates by percentage how close the policies and tags for your\n request are to the upper size limit.\n

\n
" + "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as a\n managed session policy. The policies must exist in the same account as the IAM user that\n is requesting federated access.

\n

You must pass an inline or managed session policy to\n this operation. You can pass a single JSON policy document to use as an inline session\n policy. You can also specify up to 10 managed policy Amazon Resource Names (ARNs) to use as\n managed session policies. The plaintext that you use for both inline and managed session\n policies can't exceed 2,048 characters. You can provide up to 10 managed policy ARNs. For\n more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services\n Service Namespaces in the Amazon Web Services General Reference.

\n

This parameter is optional. However, if you do not pass any session policies, then the\n resulting federated user session has no permissions.

\n

When you pass session policies, the session permissions are the intersection of the\n IAM user policies and the session policies that you pass. This gives you a way to further\n restrict the permissions for a federated user. You cannot use session policies to grant\n more permissions than those that are defined in the permissions policy of the IAM user.\n For more information, see Session Policies in\n the IAM User Guide.

\n

The resulting credentials can be used to access a resource that has a resource-based\n policy. If that policy specifically references the federated user session in the\n Principal element of the policy, the session has the permissions allowed by\n the policy. These permissions are granted in addition to the permissions that are granted\n by the session policies.

\n \n

An Amazon Web Services conversion compresses the passed inline session policy, managed policy ARNs,\n and session tags into a packed binary format that has a separate limit. Your request can\n fail for this limit even if your plaintext meets the other requirements. The\n PackedPolicySize response element indicates by percentage how close the\n policies and tags for your request are to the upper size limit.

\n
" } }, "DurationSeconds": { @@ -4177,9 +4203,12 @@ "Tags": { "target": "com.amazonaws.sts#tagListType", "traits": { - "smithy.api#documentation": "

A list of session tags. Each session tag consists of a key name and an associated value.\n For more information about session tags, see Passing Session Tags in STS in the\n IAM User Guide.

\n

This parameter is optional. You can pass up to 50 session tags. The plaintext session\n tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these\n and additional limits, see IAM\n and STS Character Limits in the IAM User Guide.

\n \n \n

An Amazon Web Services conversion compresses the passed session policies and session tags into a\n packed binary format that has a separate limit. Your request can fail for this limit\n even if your plaintext meets the other requirements. The PackedPolicySize\n response element indicates by percentage how close the policies and tags for your\n request are to the upper size limit.\n

\n
\n \n

You can pass a session tag with the same key as a tag that is already attached to the\n user you are federating. When you do, session tags override a user tag with the same key.

\n

Tag key–value pairs are not case sensitive, but case is preserved. This means that you\n cannot have separate Department and department tag keys. Assume\n that the role has the Department=Marketing tag and you pass the\n department=engineering session tag. Department\n and department are not saved as separate tags, and the session tag passed in\n the request takes precedence over the role tag.

" + "smithy.api#documentation": "

A list of session tags. Each session tag consists of a key name and an associated value.\n For more information about session tags, see Passing Session Tags in STS in the\n IAM User Guide.

\n

This parameter is optional. You can pass up to 50 session tags. The plaintext session\n tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these\n and additional limits, see IAM\n and STS Character Limits in the IAM User Guide.

\n \n

An Amazon Web Services conversion compresses the passed inline session policy, managed policy ARNs,\n and session tags into a packed binary format that has a separate limit. Your request can\n fail for this limit even if your plaintext meets the other requirements. The\n PackedPolicySize response element indicates by percentage how close the\n policies and tags for your request are to the upper size limit.

\n
\n

You can pass a session tag with the same key as a tag that is already attached to the\n user you are federating. When you do, session tags override a user tag with the same key.

\n

Tag key–value pairs are not case sensitive, but case is preserved. This means that you\n cannot have separate Department and department tag keys. Assume\n that the role has the Department=Marketing tag and you pass the\n department=engineering session tag. Department\n and department are not saved as separate tags, and the session tag passed in\n the request takes precedence over the role tag.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sts#GetFederationTokenResponse": { @@ -4188,7 +4217,7 @@ "Credentials": { "target": "com.amazonaws.sts#Credentials", "traits": { - "smithy.api#documentation": "

The temporary security credentials, which include an access key ID, a secret access key,\n and a security (or session) token.

\n \n \n

The size of the security token that STS API operations return is not fixed. We\n strongly recommend that you make no assumptions about the maximum size.

\n
" + "smithy.api#documentation": "

The temporary security credentials, which include an access key ID, a secret access key,\n and a security (or session) token.

\n \n

The size of the security token that STS API operations return is not fixed. We\n strongly recommend that you make no assumptions about the maximum size.

\n
" } }, "FederatedUser": { @@ -4205,7 +4234,8 @@ } }, "traits": { - "smithy.api#documentation": "

Contains the response to a successful GetFederationToken request,\n including temporary Amazon Web Services credentials that can be used to make Amazon Web Services requests.

" + "smithy.api#documentation": "

Contains the response to a successful GetFederationToken request,\n including temporary Amazon Web Services credentials that can be used to make Amazon Web Services requests.

", + "smithy.api#output": {} } }, "com.amazonaws.sts#GetSessionToken": { @@ -4246,6 +4276,9 @@ "smithy.api#documentation": "

The value provided by the MFA device, if MFA is required. If any policy requires the\n IAM user to submit an MFA code, specify this value. If MFA authentication is required,\n the user must provide a code when requesting a set of temporary security credentials. A\n user who fails to provide the code receives an \"access denied\" response when requesting\n resources that require MFA authentication.

\n

The format for this parameter, as described by its regex pattern, is a sequence of six\n numeric digits.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sts#GetSessionTokenResponse": { @@ -4254,12 +4287,13 @@ "Credentials": { "target": "com.amazonaws.sts#Credentials", "traits": { - "smithy.api#documentation": "

The temporary security credentials, which include an access key ID, a secret access key,\n and a security (or session) token.

\n \n \n

The size of the security token that STS API operations return is not fixed. We\n strongly recommend that you make no assumptions about the maximum size.

\n
" + "smithy.api#documentation": "

The temporary security credentials, which include an access key ID, a secret access key,\n and a security (or session) token.

\n \n

The size of the security token that STS API operations return is not fixed. We\n strongly recommend that you make no assumptions about the maximum size.

\n
" } } }, "traits": { - "smithy.api#documentation": "

Contains the response to a successful GetSessionToken request,\n including temporary Amazon Web Services credentials that can be used to make Amazon Web Services requests.

" + "smithy.api#documentation": "

Contains the response to a successful GetSessionToken request,\n including temporary Amazon Web Services credentials that can be used to make Amazon Web Services requests.

", + "smithy.api#output": {} } }, "com.amazonaws.sts#IDPCommunicationErrorException": { @@ -4291,7 +4325,7 @@ "code": "IDPRejectedClaim", "httpResponseCode": 403 }, - "smithy.api#documentation": "

The identity provider (IdP) reported that authentication failed. This might be because\n the claim is invalid.

\n

If this error is returned for the AssumeRoleWithWebIdentity operation, it\n can also mean that the claim has expired or has been explicitly revoked.

", + "smithy.api#documentation": "

The identity provider (IdP) reported that authentication failed. This might be because\n the claim is invalid.

\n

If this error is returned for the AssumeRoleWithWebIdentity operation, it\n can also mean that the claim has expired or has been explicitly revoked.

", "smithy.api#error": "client", "smithy.api#httpError": 403 } @@ -4365,7 +4399,7 @@ "code": "PackedPolicyTooLarge", "httpResponseCode": 400 }, - "smithy.api#documentation": "

The request was rejected because the total packed size of the session policies and\n session tags combined was too large. An Amazon Web Services conversion compresses the session policy\n document, session policy ARNs, and session tags into a packed binary format that has a\n separate limit. The error message indicates by percentage how close the policies and\n tags are to the upper size limit. For more information, see Passing Session Tags in STS in\n the IAM User Guide.

\n

You could receive this error even though you meet other defined session policy and\n session tag limits. For more information, see IAM and STS Entity\n Character Limits in the IAM User Guide.

", + "smithy.api#documentation": "

The request was rejected because the total packed size of the session policies and\n session tags combined was too large. An Amazon Web Services conversion compresses the session policy\n document, session policy ARNs, and session tags into a packed binary format that has a\n separate limit. The error message indicates by percentage how close the policies and\n tags are to the upper size limit. For more information, see Passing Session Tags in STS in\n the IAM User Guide.

\n

You could receive this error even though you meet other defined session policy and\n session tag limits. For more information, see IAM and STS Entity\n Character Limits in the IAM User Guide.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } diff --git a/aws/sdk/aws-models/transcribe-streaming.json b/aws/sdk/aws-models/transcribe-streaming.json index f5137ddee4..9580962c51 100644 --- a/aws/sdk/aws-models/transcribe-streaming.json +++ b/aws/sdk/aws-models/transcribe-streaming.json @@ -87,6 +87,12 @@ "traits": { "smithy.api#documentation": "

A blob of audio from your application. Your audio stream consists of one or more audio\n events.

\n

For more information, see Event stream encoding.

" } + }, + "ConfigurationEvent": { + "target": "com.amazonaws.transcribestreaming#ConfigurationEvent", + "traits": { + "smithy.api#documentation": "

Contains audio channel definitions and post-call analytics settings.

" + } } }, "traits": { @@ -102,7 +108,7 @@ } }, "traits": { - "smithy.api#documentation": "

One or more arguments to the StartStreamTranscription or\n StartMedicalStreamTranscription operation was not valid. For example,\n MediaEncoding or LanguageCode used not valid values. Check the\n specified parameters and try your request again.

", + "smithy.api#documentation": "

One or more arguments to the StartStreamTranscription, \n StartMedicalStreamTranscription, or StartCallAnalyticsStreamTranscription \n operation was not valid. For example, MediaEncoding or LanguageCode \n used not valid values. Check the specified parameters and try your request again.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -113,71 +119,25 @@ "smithy.api#default": false } }, - "com.amazonaws.transcribestreaming#Confidence": { - "type": "double" - }, - "com.amazonaws.transcribestreaming#ConflictException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.transcribestreaming#String" - } - }, - "traits": { - "smithy.api#documentation": "

A new stream started with the same session ID. The current stream has been terminated.

", - "smithy.api#error": "client", - "smithy.api#httpError": 409 - } - }, - "com.amazonaws.transcribestreaming#ContentIdentificationType": { - "type": "enum", - "members": { - "PII": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "PII" - } - } - } - }, - "com.amazonaws.transcribestreaming#ContentRedactionType": { - "type": "enum", - "members": { - "PII": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "PII" - } - } - } - }, - "com.amazonaws.transcribestreaming#Double": { - "type": "double", - "traits": { - "smithy.api#default": 0 - } - }, - "com.amazonaws.transcribestreaming#Entity": { + "com.amazonaws.transcribestreaming#CallAnalyticsEntity": { "type": "structure", "members": { - "StartTime": { - "target": "com.amazonaws.transcribestreaming#Double", + "BeginOffsetMillis": { + "target": "com.amazonaws.transcribestreaming#Long", "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The start time, in milliseconds, of the utterance that was identified as PII.

" + "smithy.api#documentation": "

The time, in milliseconds, from the beginning of the audio stream to the start of the identified entity.

" } }, - "EndTime": { - "target": "com.amazonaws.transcribestreaming#Double", + "EndOffsetMillis": { + "target": "com.amazonaws.transcribestreaming#Long", "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The end time, in milliseconds, of the utterance that was identified as PII.

" + "smithy.api#documentation": "

The time, in milliseconds, from the beginning of the audio stream to the end of the identified entity.

" } }, "Category": { "target": "com.amazonaws.transcribestreaming#String", "traits": { - "smithy.api#documentation": "

The category of information identified. The only category is PII.

" + "smithy.api#documentation": "

The category of information identified. For example, PII.

" } }, "Type": { @@ -189,54 +149,39 @@ "Content": { "target": "com.amazonaws.transcribestreaming#String", "traits": { - "smithy.api#documentation": "

The word or words identified as PII.

" + "smithy.api#documentation": "

The word or words that represent the identified entity.

" } }, "Confidence": { "target": "com.amazonaws.transcribestreaming#Confidence", "traits": { - "smithy.api#documentation": "

The confidence score associated with the identified PII entity in your audio.

\n

Confidence scores are values between 0 and 1. A larger value indicates a higher\n probability that the identified entity correctly matches the entity spoken in your\n media.

" + "smithy.api#documentation": "

The confidence score associated with the identification of an entity in your transcript.

\n

Confidence scores are values between 0 and 1. A larger value indicates a higher\n probability that the identified entity correctly matches the entity spoken in your\n media.

" } } }, "traits": { - "smithy.api#documentation": "

Contains entities identified as personally identifiable information (PII) in your\n transcription output, along with various associated attributes. Examples include category,\n confidence score, type, stability score, and start and end times.

" + "smithy.api#documentation": "

Contains entities identified as personally identifiable information (PII) in your\n transcription output, along with various associated attributes. Examples include category,\n confidence score, content, type, and start and end times.

" } }, - "com.amazonaws.transcribestreaming#EntityList": { + "com.amazonaws.transcribestreaming#CallAnalyticsEntityList": { "type": "list", "member": { - "target": "com.amazonaws.transcribestreaming#Entity" - } - }, - "com.amazonaws.transcribestreaming#InternalFailureException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.transcribestreaming#String" - } - }, - "traits": { - "smithy.api#documentation": "

A problem occurred while processing the audio. Amazon Transcribe terminated \n processing.

", - "smithy.api#error": "server", - "smithy.api#httpError": 500 + "target": "com.amazonaws.transcribestreaming#CallAnalyticsEntity" } }, - "com.amazonaws.transcribestreaming#Item": { + "com.amazonaws.transcribestreaming#CallAnalyticsItem": { "type": "structure", "members": { - "StartTime": { - "target": "com.amazonaws.transcribestreaming#Double", + "BeginOffsetMillis": { + "target": "com.amazonaws.transcribestreaming#Long", "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The start time, in milliseconds, of the transcribed item.

" + "smithy.api#documentation": "

The time, in milliseconds, from the beginning of the audio stream to the start of the identified item.

" } }, - "EndTime": { - "target": "com.amazonaws.transcribestreaming#Double", + "EndOffsetMillis": { + "target": "com.amazonaws.transcribestreaming#Long", "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The end time, in milliseconds, of the transcribed item.

" + "smithy.api#documentation": "

The time, in milliseconds, from the beginning of the audio stream to the end of the identified item.

" } }, "Type": { @@ -251,25 +196,19 @@ "smithy.api#documentation": "

The word or punctuation that was transcribed.

" } }, - "VocabularyFilterMatch": { - "target": "com.amazonaws.transcribestreaming#Boolean", - "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether the specified item matches a word in the vocabulary filter included in\n your request. If true, there is a vocabulary filter match.

" - } - }, - "Speaker": { - "target": "com.amazonaws.transcribestreaming#String", - "traits": { - "smithy.api#documentation": "

If speaker partitioning is enabled, Speaker labels the speaker of the\n specified item.

" - } - }, "Confidence": { "target": "com.amazonaws.transcribestreaming#Confidence", "traits": { "smithy.api#documentation": "

The confidence score associated with a word or phrase in your transcript.

\n

Confidence scores are values between 0 and 1. A larger value indicates a higher\n probability that the identified item correctly matches the item spoken in your media.

" } }, + "VocabularyFilterMatch": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the specified item matches a word in the vocabulary filter included in\n your Call Analytics request. If true, there is a vocabulary filter match.

" + } + }, "Stable": { "target": "com.amazonaws.transcribestreaming#Stable", "traits": { @@ -278,33 +217,16 @@ } }, "traits": { - "smithy.api#documentation": "

A word, phrase, or punctuation mark in your transcription output, along with various associated\n attributes, such as confidence score, type, and start and end times.

" + "smithy.api#documentation": "

A word, phrase, or punctuation mark in your Call Analytics transcription output, along with various \n associated attributes, such as confidence score, type, and start and end times.

" } }, - "com.amazonaws.transcribestreaming#ItemList": { + "com.amazonaws.transcribestreaming#CallAnalyticsItemList": { "type": "list", "member": { - "target": "com.amazonaws.transcribestreaming#Item" - } - }, - "com.amazonaws.transcribestreaming#ItemType": { - "type": "enum", - "members": { - "PRONUNCIATION": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "pronunciation" - } - }, - "PUNCTUATION": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "punctuation" - } - } + "target": "com.amazonaws.transcribestreaming#CallAnalyticsItem" } }, - "com.amazonaws.transcribestreaming#LanguageCode": { + "com.amazonaws.transcribestreaming#CallAnalyticsLanguageCode": { "type": "enum", "members": { "EN_US": { @@ -360,77 +282,154 @@ "traits": { "smithy.api#enumValue": "pt-BR" } - }, - "JA_JP": { - "target": "smithy.api#Unit", + } + } + }, + "com.amazonaws.transcribestreaming#CallAnalyticsTranscriptResultStream": { + "type": "union", + "members": { + "UtteranceEvent": { + "target": "com.amazonaws.transcribestreaming#UtteranceEvent", "traits": { - "smithy.api#enumValue": "ja-JP" + "smithy.api#documentation": "

Contains set of transcription results from one or more audio segments, along with additional \n information per your request parameters. This can include information relating to channel definitions,\n partial result stabilization, sentiment, issue detection, and other transcription-related data.

" } }, - "KO_KR": { - "target": "smithy.api#Unit", + "CategoryEvent": { + "target": "com.amazonaws.transcribestreaming#CategoryEvent", "traits": { - "smithy.api#enumValue": "ko-KR" + "smithy.api#documentation": "

Provides information on matched categories that were used to generate real-time supervisor \n alerts.

" } }, - "ZH_CN": { - "target": "smithy.api#Unit", + "BadRequestException": { + "target": "com.amazonaws.transcribestreaming#BadRequestException" + }, + "LimitExceededException": { + "target": "com.amazonaws.transcribestreaming#LimitExceededException" + }, + "InternalFailureException": { + "target": "com.amazonaws.transcribestreaming#InternalFailureException" + }, + "ConflictException": { + "target": "com.amazonaws.transcribestreaming#ConflictException" + }, + "ServiceUnavailableException": { + "target": "com.amazonaws.transcribestreaming#ServiceUnavailableException" + } + }, + "traits": { + "smithy.api#documentation": "

Contains detailed information about your Call Analytics streaming session. These details are \n provided in the UtteranceEvent and CategoryEvent objects.

", + "smithy.api#streaming": {} + } + }, + "com.amazonaws.transcribestreaming#CategoryEvent": { + "type": "structure", + "members": { + "MatchedCategories": { + "target": "com.amazonaws.transcribestreaming#StringList", "traits": { - "smithy.api#enumValue": "zh-CN" + "smithy.api#documentation": "

Lists the categories that were matched in your audio segment.

" } }, - "HI_IN": { - "target": "smithy.api#Unit", + "MatchedDetails": { + "target": "com.amazonaws.transcribestreaming#MatchedCategoryDetails", "traits": { - "smithy.api#enumValue": "hi-IN" + "smithy.api#documentation": "

Contains information about the matched categories, including category names and timestamps.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Provides information on any TranscriptFilterType categories that matched your \n transcription output. Matches are identified for each segment upon completion of that segment.

" + } + }, + "com.amazonaws.transcribestreaming#ChannelDefinition": { + "type": "structure", + "members": { + "ChannelId": { + "target": "com.amazonaws.transcribestreaming#ChannelId", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

Specify the audio channel you want to define.

", + "smithy.api#required": {} } }, - "TH_TH": { - "target": "smithy.api#Unit", + "ParticipantRole": { + "target": "com.amazonaws.transcribestreaming#ParticipantRole", "traits": { - "smithy.api#enumValue": "th-TH" + "smithy.api#documentation": "

Specify the speaker you want to define. Omitting this parameter is equivalent to\n specifying both participants.

", + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#documentation": "

Makes it possible to specify which speaker is on which audio channel. For example, if your\n agent is the first participant to speak, you would set ChannelId to\n 0 (to indicate the first channel) and ParticipantRole to\n AGENT (to indicate that it's the agent speaking).

" } }, - "com.amazonaws.transcribestreaming#LanguageIdentification": { + "com.amazonaws.transcribestreaming#ChannelDefinitions": { "type": "list", "member": { - "target": "com.amazonaws.transcribestreaming#LanguageWithScore" + "target": "com.amazonaws.transcribestreaming#ChannelDefinition" + }, + "traits": { + "smithy.api#length": { + "min": 2, + "max": 2 + } } }, - "com.amazonaws.transcribestreaming#LanguageOptions": { - "type": "string", + "com.amazonaws.transcribestreaming#ChannelId": { + "type": "integer", "traits": { - "smithy.api#length": { - "min": 1, - "max": 200 + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0, + "max": 1 + } + } + }, + "com.amazonaws.transcribestreaming#CharacterOffsets": { + "type": "structure", + "members": { + "Begin": { + "target": "com.amazonaws.transcribestreaming#Integer", + "traits": { + "smithy.api#documentation": "

Provides the character count of the first character where a match is identified. For example, the first\n character associated with an issue or a category match in a segment transcript.

" + } }, - "smithy.api#pattern": "^[a-zA-Z-,]+$" + "End": { + "target": "com.amazonaws.transcribestreaming#Integer", + "traits": { + "smithy.api#documentation": "

Provides the character count of the last character where a match is identified. For example, the last \n character associated with an issue or a category match in a segment transcript.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Provides the location, using character count, in your transcript where a match is identified. For example, \n the location of an issue or a category match within a segment.

" } }, - "com.amazonaws.transcribestreaming#LanguageWithScore": { + "com.amazonaws.transcribestreaming#Confidence": { + "type": "double" + }, + "com.amazonaws.transcribestreaming#ConfigurationEvent": { "type": "structure", "members": { - "LanguageCode": { - "target": "com.amazonaws.transcribestreaming#LanguageCode", + "ChannelDefinitions": { + "target": "com.amazonaws.transcribestreaming#ChannelDefinitions", "traits": { - "smithy.api#documentation": "

The language code of the identified language.

" + "smithy.api#documentation": "

Indicates which speaker is on which audio channel.

" } }, - "Score": { - "target": "com.amazonaws.transcribestreaming#Double", + "PostCallAnalyticsSettings": { + "target": "com.amazonaws.transcribestreaming#PostCallAnalyticsSettings", "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The confidence score associated with the identified language code. Confidence scores are values\n between zero and one; larger values indicate a higher confidence in the identified language.

" + "smithy.api#documentation": "

Provides additional optional settings for your Call Analytics post-call request, including \n encryption and output locations for your redacted and unredacted transcript.

" } } }, "traits": { - "smithy.api#documentation": "

The language code that represents the language identified in your audio, including the associated\n confidence score. If you enabled channel identification in your request and each channel contained a \n different language, you will have more than one LanguageWithScore result.

" + "smithy.api#documentation": "

Allows you to set audio channel definitions and post-call analytics settings.

" } }, - "com.amazonaws.transcribestreaming#LimitExceededException": { + "com.amazonaws.transcribestreaming#ConflictException": { "type": "structure", "members": { "Message": { @@ -438,133 +437,145 @@ } }, "traits": { - "smithy.api#documentation": "

Your client has exceeded one of the Amazon Transcribe limits. This is typically the audio length\n limit. Break your audio stream into smaller chunks and try your request again.

", + "smithy.api#documentation": "

A new stream started with the same session ID. The current stream has been terminated.

", "smithy.api#error": "client", - "smithy.api#httpError": 429 + "smithy.api#httpError": 409 } }, - "com.amazonaws.transcribestreaming#MediaEncoding": { + "com.amazonaws.transcribestreaming#ContentIdentificationType": { "type": "enum", "members": { - "PCM": { + "PII": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "pcm" + "smithy.api#enumValue": "PII" } - }, - "OGG_OPUS": { + } + } + }, + "com.amazonaws.transcribestreaming#ContentRedactionOutput": { + "type": "enum", + "members": { + "REDACTED": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "ogg-opus" + "smithy.api#enumValue": "redacted" } }, - "FLAC": { + "REDACTED_AND_UNREDACTED": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "flac" + "smithy.api#enumValue": "redacted_and_unredacted" } } } }, - "com.amazonaws.transcribestreaming#MediaSampleRateHertz": { - "type": "integer", - "traits": { - "smithy.api#range": { - "min": 8000, - "max": 48000 + "com.amazonaws.transcribestreaming#ContentRedactionType": { + "type": "enum", + "members": { + "PII": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PII" + } } } }, - "com.amazonaws.transcribestreaming#MedicalAlternative": { - "type": "structure", - "members": { - "Transcript": { - "target": "com.amazonaws.transcribestreaming#String", - "traits": { - "smithy.api#documentation": "

Contains transcribed text.

" - } - }, - "Items": { - "target": "com.amazonaws.transcribestreaming#MedicalItemList", - "traits": { - "smithy.api#documentation": "

Contains words, phrases, or punctuation marks in your transcription output.

" - } - }, - "Entities": { - "target": "com.amazonaws.transcribestreaming#MedicalEntityList", - "traits": { - "smithy.api#documentation": "

Contains entities identified as personal health information (PHI) in your transcription \n output.

" - } - } - }, + "com.amazonaws.transcribestreaming#Double": { + "type": "double", "traits": { - "smithy.api#documentation": "

A list of possible alternative transcriptions for the input audio. Each alternative may\n contain one or more of Items, Entities, or\n Transcript.

" - } - }, - "com.amazonaws.transcribestreaming#MedicalAlternativeList": { - "type": "list", - "member": { - "target": "com.amazonaws.transcribestreaming#MedicalAlternative" - } - }, - "com.amazonaws.transcribestreaming#MedicalContentIdentificationType": { - "type": "enum", - "members": { - "PHI": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "PHI" - } - } + "smithy.api#default": 0 } }, - "com.amazonaws.transcribestreaming#MedicalEntity": { + "com.amazonaws.transcribestreaming#Entity": { "type": "structure", "members": { "StartTime": { "target": "com.amazonaws.transcribestreaming#Double", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

The start time, in milliseconds, of the utterance that was identified as PHI.

" + "smithy.api#documentation": "

The start time, in milliseconds, of the utterance that was identified as PII.

" } }, "EndTime": { "target": "com.amazonaws.transcribestreaming#Double", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

The end time, in milliseconds, of the utterance that was identified as PHI.

" + "smithy.api#documentation": "

The end time, in milliseconds, of the utterance that was identified as PII.

" } }, "Category": { "target": "com.amazonaws.transcribestreaming#String", "traits": { - "smithy.api#documentation": "

The category of information identified. The only category is PHI.

" + "smithy.api#documentation": "

The category of information identified. The only category is PII.

" + } + }, + "Type": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

The type of PII identified. For example, NAME or \n CREDIT_DEBIT_NUMBER.

" } }, "Content": { "target": "com.amazonaws.transcribestreaming#String", "traits": { - "smithy.api#documentation": "

The word or words identified as PHI.

" + "smithy.api#documentation": "

The word or words identified as PII.

" } }, "Confidence": { "target": "com.amazonaws.transcribestreaming#Confidence", "traits": { - "smithy.api#documentation": "

The confidence score associated with the identified PHI entity in your audio.

\n

Confidence scores are values between 0 and 1. A larger value indicates a higher\n probability that the identified entity correctly matches the entity spoken in your\n media.

" + "smithy.api#documentation": "

The confidence score associated with the identified PII entity in your audio.

\n

Confidence scores are values between 0 and 1. A larger value indicates a higher\n probability that the identified entity correctly matches the entity spoken in your\n media.

" } } }, "traits": { - "smithy.api#documentation": "

Contains entities identified as personal health information (PHI) in your\n transcription output, along with various associated attributes. Examples include\n category, confidence score, type, stability score, and start and end times.

" + "smithy.api#documentation": "

Contains entities identified as personally identifiable information (PII) in your\n transcription output, along with various associated attributes. Examples include category,\n confidence score, type, stability score, and start and end times.

" } }, - "com.amazonaws.transcribestreaming#MedicalEntityList": { + "com.amazonaws.transcribestreaming#EntityList": { "type": "list", "member": { - "target": "com.amazonaws.transcribestreaming#MedicalEntity" + "target": "com.amazonaws.transcribestreaming#Entity" } }, - "com.amazonaws.transcribestreaming#MedicalItem": { + "com.amazonaws.transcribestreaming#Integer": { + "type": "integer" + }, + "com.amazonaws.transcribestreaming#InternalFailureException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.transcribestreaming#String" + } + }, + "traits": { + "smithy.api#documentation": "

A problem occurred while processing the audio. Amazon Transcribe terminated \n processing.

", + "smithy.api#error": "server", + "smithy.api#httpError": 500 + } + }, + "com.amazonaws.transcribestreaming#IssueDetected": { + "type": "structure", + "members": { + "CharacterOffsets": { + "target": "com.amazonaws.transcribestreaming#CharacterOffsets", + "traits": { + "smithy.api#documentation": "

Provides the timestamps that identify when in an audio segment the specified issue occurs.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Lists the issues that were identified in your audio segment.

" + } + }, + "com.amazonaws.transcribestreaming#IssuesDetected": { + "type": "list", + "member": { + "target": "com.amazonaws.transcribestreaming#IssueDetected" + } + }, + "com.amazonaws.transcribestreaming#Item": { "type": "structure", "members": { "StartTime": { @@ -584,7 +595,7 @@ "Type": { "target": "com.amazonaws.transcribestreaming#ItemType", "traits": { - "smithy.api#documentation": "

The type of item identified. Options are: PRONUNCIATION (spoken \n words) and PUNCTUATION.

" + "smithy.api#documentation": "

The type of item identified. Options are: PRONUNCIATION (spoken words) and\n PUNCTUATION.

" } }, "Content": { @@ -593,561 +604,781 @@ "smithy.api#documentation": "

The word or punctuation that was transcribed.

" } }, - "Confidence": { - "target": "com.amazonaws.transcribestreaming#Confidence", + "VocabularyFilterMatch": { + "target": "com.amazonaws.transcribestreaming#Boolean", "traits": { - "smithy.api#documentation": "

The confidence score associated with a word or phrase in your transcript.

\n

Confidence scores are values between 0 and 1. A larger value indicates a higher\n probability that the identified item correctly matches the item spoken in your\n media.

" + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the specified item matches a word in the vocabulary filter included in\n your request. If true, there is a vocabulary filter match.

" } }, "Speaker": { "target": "com.amazonaws.transcribestreaming#String", "traits": { - "smithy.api#documentation": "

If speaker partitioning is enabled, Speaker labels the speaker of the\n specified item.

" + "smithy.api#documentation": "

If speaker partitioning is enabled, Speaker labels the speaker of the\n specified item.

" + } + }, + "Confidence": { + "target": "com.amazonaws.transcribestreaming#Confidence", + "traits": { + "smithy.api#documentation": "

The confidence score associated with a word or phrase in your transcript.

\n

Confidence scores are values between 0 and 1. A larger value indicates a higher\n probability that the identified item correctly matches the item spoken in your media.

" + } + }, + "Stable": { + "target": "com.amazonaws.transcribestreaming#Stable", + "traits": { + "smithy.api#documentation": "

If partial result stabilization is enabled, Stable indicates whether the specified \n item is stable (true) or if it may change when the segment is complete \n (false).

" } } }, "traits": { - "smithy.api#documentation": "

A word, phrase, or punctuation mark in your transcription output, along with various \n associated attributes, such as confidence score, type, and start and end times.

" + "smithy.api#documentation": "

A word, phrase, or punctuation mark in your transcription output, along with various associated\n attributes, such as confidence score, type, and start and end times.

" } }, - "com.amazonaws.transcribestreaming#MedicalItemList": { + "com.amazonaws.transcribestreaming#ItemList": { "type": "list", "member": { - "target": "com.amazonaws.transcribestreaming#MedicalItem" + "target": "com.amazonaws.transcribestreaming#Item" } }, - "com.amazonaws.transcribestreaming#MedicalResult": { - "type": "structure", + "com.amazonaws.transcribestreaming#ItemType": { + "type": "enum", "members": { - "ResultId": { - "target": "com.amazonaws.transcribestreaming#String", + "PRONUNCIATION": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Provides a unique identifier for the Result.

" + "smithy.api#enumValue": "pronunciation" } }, - "StartTime": { - "target": "com.amazonaws.transcribestreaming#Double", + "PUNCTUATION": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The start time, in milliseconds, of the Result.

" + "smithy.api#enumValue": "punctuation" + } + } + } + }, + "com.amazonaws.transcribestreaming#LanguageCode": { + "type": "enum", + "members": { + "EN_US": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "en-US" } }, - "EndTime": { - "target": "com.amazonaws.transcribestreaming#Double", + "EN_GB": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The end time, in milliseconds, of the Result.

" + "smithy.api#enumValue": "en-GB" } }, - "IsPartial": { - "target": "com.amazonaws.transcribestreaming#Boolean", + "ES_US": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates if the segment is complete.

\n

If IsPartial is true, the segment is not complete. If\n IsPartial is false, the segment is complete.

" + "smithy.api#enumValue": "es-US" } }, - "Alternatives": { - "target": "com.amazonaws.transcribestreaming#MedicalAlternativeList", + "FR_CA": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

A list of possible alternative transcriptions for the input audio. Each alternative may \n contain one or more of Items, Entities, or\n Transcript.

" + "smithy.api#enumValue": "fr-CA" } }, - "ChannelId": { - "target": "com.amazonaws.transcribestreaming#String", + "FR_FR": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Indicates the channel identified for the Result.

" + "smithy.api#enumValue": "fr-FR" } - } - }, - "traits": { - "smithy.api#documentation": "

The Result associated with a \n .

\n

Contains a set of transcription results from one or more audio segments, along with\n additional information per your request parameters. This can include information relating to\n alternative transcriptions, channel identification, partial result stabilization, language \n identification, and other transcription-related data.

" - } - }, - "com.amazonaws.transcribestreaming#MedicalResultList": { - "type": "list", - "member": { - "target": "com.amazonaws.transcribestreaming#MedicalResult" - } - }, - "com.amazonaws.transcribestreaming#MedicalTranscript": { - "type": "structure", - "members": { - "Results": { - "target": "com.amazonaws.transcribestreaming#MedicalResultList", + }, + "EN_AU": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Contains a set of transcription results from one or more audio segments, along with \n additional information per your request parameters. This can include information relating to \n alternative transcriptions, channel identification, partial result stabilization, language \n identification, and other transcription-related data.

" + "smithy.api#enumValue": "en-AU" } - } - }, - "traits": { - "smithy.api#documentation": "

The MedicalTranscript associated with a \n .

\n

\n MedicalTranscript contains Results, which contains a set of \n transcription results from one or more audio segments, along with additional information per your \n request parameters.

" - } - }, - "com.amazonaws.transcribestreaming#MedicalTranscriptEvent": { - "type": "structure", - "members": { - "Transcript": { - "target": "com.amazonaws.transcribestreaming#MedicalTranscript", + }, + "IT_IT": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Contains Results, which contains a set of transcription results from one or \n more audio segments, along with additional information per your request parameters. This can\n include information relating to alternative transcriptions, channel identification, partial result \n stabilization, language identification, and other transcription-related data.

" + "smithy.api#enumValue": "it-IT" } - } - }, - "traits": { - "smithy.api#documentation": "

The MedicalTranscriptEvent associated with a \n MedicalTranscriptResultStream.

\n

Contains a set of transcription results from one or more audio segments, along with additional \n information per your request parameters.

" - } - }, - "com.amazonaws.transcribestreaming#MedicalTranscriptResultStream": { - "type": "union", - "members": { - "TranscriptEvent": { - "target": "com.amazonaws.transcribestreaming#MedicalTranscriptEvent", + }, + "DE_DE": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The MedicalTranscriptEvent associated with a \n MedicalTranscriptResultStream.

\n

Contains a set of transcription results from one or more audio segments, along with \n additional information per your request parameters. This can include information relating to\n alternative transcriptions, channel identification, partial result stabilization, language \n identification, and other transcription-related data.

" + "smithy.api#enumValue": "de-DE" } }, - "BadRequestException": { - "target": "com.amazonaws.transcribestreaming#BadRequestException" + "PT_BR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "pt-BR" + } }, - "LimitExceededException": { - "target": "com.amazonaws.transcribestreaming#LimitExceededException" + "JA_JP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ja-JP" + } }, - "InternalFailureException": { - "target": "com.amazonaws.transcribestreaming#InternalFailureException" + "KO_KR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ko-KR" + } }, - "ConflictException": { - "target": "com.amazonaws.transcribestreaming#ConflictException" + "ZH_CN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "zh-CN" + } }, - "ServiceUnavailableException": { - "target": "com.amazonaws.transcribestreaming#ServiceUnavailableException" + "HI_IN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "hi-IN" + } + }, + "TH_TH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "th-TH" + } } - }, - "traits": { - "smithy.api#documentation": "

Contains detailed information about your streaming session.

", - "smithy.api#streaming": {} } }, - "com.amazonaws.transcribestreaming#ModelName": { + "com.amazonaws.transcribestreaming#LanguageIdentification": { + "type": "list", + "member": { + "target": "com.amazonaws.transcribestreaming#LanguageWithScore" + } + }, + "com.amazonaws.transcribestreaming#LanguageOptions": { "type": "string", "traits": { "smithy.api#length": { "min": 1, "max": 200 }, - "smithy.api#pattern": "^[0-9a-zA-Z._-]+$" + "smithy.api#pattern": "^[a-zA-Z-,]+$" } }, - "com.amazonaws.transcribestreaming#NumberOfChannels": { - "type": "integer", + "com.amazonaws.transcribestreaming#LanguageWithScore": { + "type": "structure", + "members": { + "LanguageCode": { + "target": "com.amazonaws.transcribestreaming#LanguageCode", + "traits": { + "smithy.api#documentation": "

The language code of the identified language.

" + } + }, + "Score": { + "target": "com.amazonaws.transcribestreaming#Double", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The confidence score associated with the identified language code. Confidence scores are values\n between zero and one; larger values indicate a higher confidence in the identified language.

" + } + } + }, "traits": { - "smithy.api#range": { - "min": 2 + "smithy.api#documentation": "

The language code that represents the language identified in your audio, including the associated\n confidence score. If you enabled channel identification in your request and each channel contained a \n different language, you will have more than one LanguageWithScore result.

" + } + }, + "com.amazonaws.transcribestreaming#LimitExceededException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.transcribestreaming#String" } + }, + "traits": { + "smithy.api#documentation": "

Your client has exceeded one of the Amazon Transcribe limits. This is typically the audio length\n limit. Break your audio stream into smaller chunks and try your request again.

", + "smithy.api#error": "client", + "smithy.api#httpError": 429 } }, - "com.amazonaws.transcribestreaming#PartialResultsStability": { + "com.amazonaws.transcribestreaming#Long": { + "type": "long" + }, + "com.amazonaws.transcribestreaming#MatchedCategoryDetails": { + "type": "map", + "key": { + "target": "com.amazonaws.transcribestreaming#String" + }, + "value": { + "target": "com.amazonaws.transcribestreaming#PointsOfInterest" + } + }, + "com.amazonaws.transcribestreaming#MediaEncoding": { "type": "enum", "members": { - "HIGH": { + "PCM": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "high" + "smithy.api#enumValue": "pcm" } }, - "MEDIUM": { + "OGG_OPUS": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "medium" + "smithy.api#enumValue": "ogg-opus" } }, - "LOW": { + "FLAC": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "low" + "smithy.api#enumValue": "flac" } } } }, - "com.amazonaws.transcribestreaming#PiiEntityTypes": { - "type": "string", + "com.amazonaws.transcribestreaming#MediaSampleRateHertz": { + "type": "integer", "traits": { - "smithy.api#length": { - "min": 1, - "max": 300 - }, - "smithy.api#pattern": "^[A-Z_, ]+$" + "smithy.api#range": { + "min": 8000, + "max": 48000 + } } }, - "com.amazonaws.transcribestreaming#RequestId": { - "type": "string" - }, - "com.amazonaws.transcribestreaming#Result": { + "com.amazonaws.transcribestreaming#MedicalAlternative": { "type": "structure", "members": { - "ResultId": { + "Transcript": { "target": "com.amazonaws.transcribestreaming#String", "traits": { - "smithy.api#documentation": "

Provides a unique identifier for the Result.

" + "smithy.api#documentation": "

Contains transcribed text.

" + } + }, + "Items": { + "target": "com.amazonaws.transcribestreaming#MedicalItemList", + "traits": { + "smithy.api#documentation": "

Contains words, phrases, or punctuation marks in your transcription output.

" } }, + "Entities": { + "target": "com.amazonaws.transcribestreaming#MedicalEntityList", + "traits": { + "smithy.api#documentation": "

Contains entities identified as personal health information (PHI) in your transcription \n output.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A list of possible alternative transcriptions for the input audio. Each alternative may\n contain one or more of Items, Entities, or\n Transcript.

" + } + }, + "com.amazonaws.transcribestreaming#MedicalAlternativeList": { + "type": "list", + "member": { + "target": "com.amazonaws.transcribestreaming#MedicalAlternative" + } + }, + "com.amazonaws.transcribestreaming#MedicalContentIdentificationType": { + "type": "enum", + "members": { + "PHI": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PHI" + } + } + } + }, + "com.amazonaws.transcribestreaming#MedicalEntity": { + "type": "structure", + "members": { "StartTime": { "target": "com.amazonaws.transcribestreaming#Double", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

The start time, in milliseconds, of the Result.

" + "smithy.api#documentation": "

The start time, in milliseconds, of the utterance that was identified as PHI.

" } }, "EndTime": { "target": "com.amazonaws.transcribestreaming#Double", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

The end time, in milliseconds, of the Result.

" - } - }, - "IsPartial": { - "target": "com.amazonaws.transcribestreaming#Boolean", - "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "

Indicates if the segment is complete.

\n

If IsPartial is true, the segment is not complete. If\n IsPartial is false, the segment is complete.

" - } - }, - "Alternatives": { - "target": "com.amazonaws.transcribestreaming#AlternativeList", - "traits": { - "smithy.api#documentation": "

A list of possible alternative transcriptions for the input audio. Each alternative may contain\n one or more of Items, Entities, or Transcript.

" + "smithy.api#documentation": "

The end time, in milliseconds, of the utterance that was identified as PHI.

" } }, - "ChannelId": { + "Category": { "target": "com.amazonaws.transcribestreaming#String", "traits": { - "smithy.api#documentation": "

Indicates the channel identified for the Result.

" + "smithy.api#documentation": "

The category of information identified. The only category is PHI.

" } }, - "LanguageCode": { - "target": "com.amazonaws.transcribestreaming#LanguageCode", + "Content": { + "target": "com.amazonaws.transcribestreaming#String", "traits": { - "smithy.api#documentation": "

The language code that represents the language spoken in your audio stream.

" + "smithy.api#documentation": "

The word or words identified as PHI.

" } }, - "LanguageIdentification": { - "target": "com.amazonaws.transcribestreaming#LanguageIdentification", + "Confidence": { + "target": "com.amazonaws.transcribestreaming#Confidence", "traits": { - "smithy.api#documentation": "

The language code of the dominant language identified in your stream.

\n

If you enabled channel identification and each channel of your audio contains a different language,\n you may have more than one result.

" + "smithy.api#documentation": "

The confidence score associated with the identified PHI entity in your audio.

\n

Confidence scores are values between 0 and 1. A larger value indicates a higher\n probability that the identified entity correctly matches the entity spoken in your\n media.

" } } }, "traits": { - "smithy.api#documentation": "

The Result associated with a \n .

\n

Contains a set of transcription results from one or more audio segments, along with additional \n information per your request parameters. This can include information relating to alternative\n transcriptions, channel identification, partial result stabilization, language identification, and other\n transcription-related data.

" + "smithy.api#documentation": "

Contains entities identified as personal health information (PHI) in your\n transcription output, along with various associated attributes. Examples include\n category, confidence score, type, stability score, and start and end times.

" } }, - "com.amazonaws.transcribestreaming#ResultList": { + "com.amazonaws.transcribestreaming#MedicalEntityList": { "type": "list", "member": { - "target": "com.amazonaws.transcribestreaming#Result" + "target": "com.amazonaws.transcribestreaming#MedicalEntity" } }, - "com.amazonaws.transcribestreaming#ServiceUnavailableException": { + "com.amazonaws.transcribestreaming#MedicalItem": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.transcribestreaming#String" - } - }, - "traits": { - "smithy.api#documentation": "

The service is currently unavailable. Try your request later.

", - "smithy.api#error": "server", - "smithy.api#httpError": 503 - } - }, - "com.amazonaws.transcribestreaming#SessionId": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 36, - "max": 36 - }, - "smithy.api#pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$" - } - }, - "com.amazonaws.transcribestreaming#Specialty": { - "type": "enum", - "members": { - "PRIMARYCARE": { - "target": "smithy.api#Unit", + "StartTime": { + "target": "com.amazonaws.transcribestreaming#Double", "traits": { - "smithy.api#enumValue": "PRIMARYCARE" + "smithy.api#default": 0, + "smithy.api#documentation": "

The start time, in milliseconds, of the transcribed item.

" } }, - "CARDIOLOGY": { - "target": "smithy.api#Unit", + "EndTime": { + "target": "com.amazonaws.transcribestreaming#Double", "traits": { - "smithy.api#enumValue": "CARDIOLOGY" + "smithy.api#default": 0, + "smithy.api#documentation": "

The end time, in milliseconds, of the transcribed item.

" } }, - "NEUROLOGY": { - "target": "smithy.api#Unit", + "Type": { + "target": "com.amazonaws.transcribestreaming#ItemType", "traits": { - "smithy.api#enumValue": "NEUROLOGY" + "smithy.api#documentation": "

The type of item identified. Options are: PRONUNCIATION (spoken \n words) and PUNCTUATION.

" } }, - "ONCOLOGY": { - "target": "smithy.api#Unit", + "Content": { + "target": "com.amazonaws.transcribestreaming#String", "traits": { - "smithy.api#enumValue": "ONCOLOGY" + "smithy.api#documentation": "

The word or punctuation that was transcribed.

" } }, - "RADIOLOGY": { - "target": "smithy.api#Unit", + "Confidence": { + "target": "com.amazonaws.transcribestreaming#Confidence", "traits": { - "smithy.api#enumValue": "RADIOLOGY" + "smithy.api#documentation": "

The confidence score associated with a word or phrase in your transcript.

\n

Confidence scores are values between 0 and 1. A larger value indicates a higher\n probability that the identified item correctly matches the item spoken in your\n media.

" } }, - "UROLOGY": { - "target": "smithy.api#Unit", + "Speaker": { + "target": "com.amazonaws.transcribestreaming#String", "traits": { - "smithy.api#enumValue": "UROLOGY" + "smithy.api#documentation": "

If speaker partitioning is enabled, Speaker labels the speaker of the\n specified item.

" } } + }, + "traits": { + "smithy.api#documentation": "

A word, phrase, or punctuation mark in your transcription output, along with various \n associated attributes, such as confidence score, type, and start and end times.

" } }, - "com.amazonaws.transcribestreaming#Stable": { - "type": "boolean" + "com.amazonaws.transcribestreaming#MedicalItemList": { + "type": "list", + "member": { + "target": "com.amazonaws.transcribestreaming#MedicalItem" + } }, - "com.amazonaws.transcribestreaming#StartMedicalStreamTranscription": { - "type": "operation", - "input": { - "target": "com.amazonaws.transcribestreaming#StartMedicalStreamTranscriptionRequest" - }, - "output": { - "target": "com.amazonaws.transcribestreaming#StartMedicalStreamTranscriptionResponse" - }, - "errors": [ - { - "target": "com.amazonaws.transcribestreaming#BadRequestException" + "com.amazonaws.transcribestreaming#MedicalResult": { + "type": "structure", + "members": { + "ResultId": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

Provides a unique identifier for the Result.

" + } }, - { - "target": "com.amazonaws.transcribestreaming#ConflictException" + "StartTime": { + "target": "com.amazonaws.transcribestreaming#Double", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The start time, in milliseconds, of the Result.

" + } }, - { - "target": "com.amazonaws.transcribestreaming#InternalFailureException" + "EndTime": { + "target": "com.amazonaws.transcribestreaming#Double", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The end time, in milliseconds, of the Result.

" + } }, - { - "target": "com.amazonaws.transcribestreaming#LimitExceededException" + "IsPartial": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates if the segment is complete.

\n

If IsPartial is true, the segment is not complete. If\n IsPartial is false, the segment is complete.

" + } }, - { - "target": "com.amazonaws.transcribestreaming#ServiceUnavailableException" + "Alternatives": { + "target": "com.amazonaws.transcribestreaming#MedicalAlternativeList", + "traits": { + "smithy.api#documentation": "

A list of possible alternative transcriptions for the input audio. Each alternative may \n contain one or more of Items, Entities, or\n Transcript.

" + } + }, + "ChannelId": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

Indicates the channel identified for the Result.

" + } } - ], + }, "traits": { - "smithy.api#documentation": "

Starts a bidirectional HTTP/2 or WebSocket stream where audio is streamed to \n Amazon Transcribe Medical and the transcription results are streamed to your\n application.

\n

For more information on streaming with Amazon Transcribe Medical, see \n Transcribing\n streaming audio.

", - "smithy.api#http": { - "method": "POST", - "uri": "/medical-stream-transcription", - "code": 200 + "smithy.api#documentation": "

The Result associated with a \n .

\n

Contains a set of transcription results from one or more audio segments, along with\n additional information per your request parameters. This can include information relating to\n alternative transcriptions, channel identification, partial result stabilization, language \n identification, and other transcription-related data.

" + } + }, + "com.amazonaws.transcribestreaming#MedicalResultList": { + "type": "list", + "member": { + "target": "com.amazonaws.transcribestreaming#MedicalResult" + } + }, + "com.amazonaws.transcribestreaming#MedicalTranscript": { + "type": "structure", + "members": { + "Results": { + "target": "com.amazonaws.transcribestreaming#MedicalResultList", + "traits": { + "smithy.api#documentation": "

Contains a set of transcription results from one or more audio segments, along with \n additional information per your request parameters. This can include information relating to \n alternative transcriptions, channel identification, partial result stabilization, language \n identification, and other transcription-related data.

" + } } + }, + "traits": { + "smithy.api#documentation": "

The MedicalTranscript associated with a \n .

\n

\n MedicalTranscript contains Results, which contains a set of \n transcription results from one or more audio segments, along with additional information per your \n request parameters.

" } }, - "com.amazonaws.transcribestreaming#StartMedicalStreamTranscriptionRequest": { + "com.amazonaws.transcribestreaming#MedicalTranscriptEvent": { "type": "structure", "members": { - "LanguageCode": { - "target": "com.amazonaws.transcribestreaming#LanguageCode", + "Transcript": { + "target": "com.amazonaws.transcribestreaming#MedicalTranscript", "traits": { - "smithy.api#documentation": "

Specify the language code that represents the language spoken in your audio.

\n \n

Amazon Transcribe Medical only supports US English (en-US).

\n
", - "smithy.api#httpHeader": "x-amzn-transcribe-language-code", - "smithy.api#required": {} + "smithy.api#documentation": "

Contains Results, which contains a set of transcription results from one or \n more audio segments, along with additional information per your request parameters. This can\n include information relating to alternative transcriptions, channel identification, partial result \n stabilization, language identification, and other transcription-related data.

" } - }, - "MediaSampleRateHertz": { - "target": "com.amazonaws.transcribestreaming#MediaSampleRateHertz", + } + }, + "traits": { + "smithy.api#documentation": "

The MedicalTranscriptEvent associated with a \n MedicalTranscriptResultStream.

\n

Contains a set of transcription results from one or more audio segments, along with additional \n information per your request parameters.

" + } + }, + "com.amazonaws.transcribestreaming#MedicalTranscriptResultStream": { + "type": "union", + "members": { + "TranscriptEvent": { + "target": "com.amazonaws.transcribestreaming#MedicalTranscriptEvent", "traits": { - "smithy.api#documentation": "

The sample rate of the input audio (in hertz). Amazon Transcribe Medical supports a\n range from 16,000 Hz to 48,000 Hz. Note that the sample rate you specify must match that\n of your audio.

", - "smithy.api#httpHeader": "x-amzn-transcribe-sample-rate", - "smithy.api#required": {} + "smithy.api#documentation": "

The MedicalTranscriptEvent associated with a \n MedicalTranscriptResultStream.

\n

Contains a set of transcription results from one or more audio segments, along with \n additional information per your request parameters. This can include information relating to\n alternative transcriptions, channel identification, partial result stabilization, language \n identification, and other transcription-related data.

" } }, - "MediaEncoding": { - "target": "com.amazonaws.transcribestreaming#MediaEncoding", + "BadRequestException": { + "target": "com.amazonaws.transcribestreaming#BadRequestException" + }, + "LimitExceededException": { + "target": "com.amazonaws.transcribestreaming#LimitExceededException" + }, + "InternalFailureException": { + "target": "com.amazonaws.transcribestreaming#InternalFailureException" + }, + "ConflictException": { + "target": "com.amazonaws.transcribestreaming#ConflictException" + }, + "ServiceUnavailableException": { + "target": "com.amazonaws.transcribestreaming#ServiceUnavailableException" + } + }, + "traits": { + "smithy.api#documentation": "

Contains detailed information about your streaming session.

", + "smithy.api#streaming": {} + } + }, + "com.amazonaws.transcribestreaming#ModelName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 200 + }, + "smithy.api#pattern": "^[0-9a-zA-Z._-]+$" + } + }, + "com.amazonaws.transcribestreaming#NumberOfChannels": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 2 + } + } + }, + "com.amazonaws.transcribestreaming#PartialResultsStability": { + "type": "enum", + "members": { + "HIGH": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Specify the encoding used for the input audio. Supported formats are:

\n
    \n
  • \n

    FLAC

    \n
  • \n
  • \n

    OPUS-encoded audio in an Ogg container

    \n
  • \n
  • \n

    PCM (only signed 16-bit little-endian audio formats, which does not include\n WAV)

    \n
  • \n
\n

For more information, see Media formats.

", - "smithy.api#httpHeader": "x-amzn-transcribe-media-encoding", - "smithy.api#required": {} + "smithy.api#enumValue": "high" } }, - "VocabularyName": { - "target": "com.amazonaws.transcribestreaming#VocabularyName", + "MEDIUM": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Specify the name of the custom vocabulary that you want to use when processing your\n transcription. Note that vocabulary names are case sensitive.

", - "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-name" + "smithy.api#enumValue": "medium" } }, - "Specialty": { - "target": "com.amazonaws.transcribestreaming#Specialty", + "LOW": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Specify the medical specialty contained in your audio.

", - "smithy.api#httpHeader": "x-amzn-transcribe-specialty", - "smithy.api#required": {} + "smithy.api#enumValue": "low" } - }, - "Type": { - "target": "com.amazonaws.transcribestreaming#Type", + } + } + }, + "com.amazonaws.transcribestreaming#ParticipantRole": { + "type": "enum", + "members": { + "AGENT": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Specify the type of input audio. For example, choose DICTATION for a \n provider dictating patient notes and CONVERSATION for a dialogue between a\n patient and a medical professional.

", - "smithy.api#httpHeader": "x-amzn-transcribe-type", - "smithy.api#required": {} + "smithy.api#enumValue": "AGENT" } }, - "ShowSpeakerLabel": { - "target": "com.amazonaws.transcribestreaming#Boolean", + "CUSTOMER": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "

Enables speaker partitioning (diarization) in your transcription output. Speaker\n partitioning labels the speech from individual speakers in your media file.

\n

For more information, see Partitioning speakers (diarization).

", - "smithy.api#httpHeader": "x-amzn-transcribe-show-speaker-label" + "smithy.api#enumValue": "CUSTOMER" } + } + } + }, + "com.amazonaws.transcribestreaming#PiiEntityTypes": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 300 }, - "SessionId": { - "target": "com.amazonaws.transcribestreaming#SessionId", + "smithy.api#pattern": "^[A-Z_, ]+$" + } + }, + "com.amazonaws.transcribestreaming#PointsOfInterest": { + "type": "structure", + "members": { + "TimestampRanges": { + "target": "com.amazonaws.transcribestreaming#TimestampRanges", "traits": { - "smithy.api#documentation": "

Specify a name for your transcription session. If you don't include this parameter in \n your request, Amazon Transcribe Medical generates an ID and returns it in the\n response.

\n

You can use a session ID to retry a streaming session.

", - "smithy.api#httpHeader": "x-amzn-transcribe-session-id" + "smithy.api#documentation": "

Contains the timestamp ranges (start time through end time) of matched categories and rules.

" } - }, - "AudioStream": { - "target": "com.amazonaws.transcribestreaming#AudioStream", + } + }, + "traits": { + "smithy.api#documentation": "

Contains the timestamps of matched categories.

" + } + }, + "com.amazonaws.transcribestreaming#PostCallAnalyticsSettings": { + "type": "structure", + "members": { + "OutputLocation": { + "target": "com.amazonaws.transcribestreaming#String", "traits": { - "smithy.api#httpPayload": {}, + "smithy.api#documentation": "

The Amazon S3 location where you want your Call Analytics post-call \n transcription output stored. You can use any of the following formats to specify the output \n location:

\n
    \n
  1. \n

    s3://DOC-EXAMPLE-BUCKET

    \n
  2. \n
  3. \n

    s3://DOC-EXAMPLE-BUCKET/my-output-folder/

    \n
  4. \n
  5. \n

    s3://DOC-EXAMPLE-BUCKET/my-output-folder/my-call-analytics-job.json

    \n
  6. \n
", "smithy.api#required": {} } }, - "EnableChannelIdentification": { - "target": "com.amazonaws.transcribestreaming#Boolean", + "DataAccessRoleArn": { + "target": "com.amazonaws.transcribestreaming#String", "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "

Enables channel identification in multi-channel audio.

\n

Channel identification transcribes the audio on each channel independently, then appends\n the output for each channel into one transcript.

\n

If you have multi-channel audio and do not enable channel identification, your audio is \n transcribed in a continuous manner and your transcript is not separated by channel.

\n

For more information, see Transcribing multi-channel audio.

", - "smithy.api#httpHeader": "x-amzn-transcribe-enable-channel-identification" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an IAM role that has permissions to\n access the Amazon S3 bucket that contains your input files. If the role that you\n specify doesn’t have the appropriate permissions to access the specified Amazon S3 \n location, your request fails.

\n

IAM role ARNs have the format\n arn:partition:iam::account:role/role-name-with-path. For example:\n arn:aws:iam::111122223333:role/Admin. For more information, see IAM\n ARNs.

", + "smithy.api#required": {} } }, - "NumberOfChannels": { - "target": "com.amazonaws.transcribestreaming#NumberOfChannels", + "ContentRedactionOutput": { + "target": "com.amazonaws.transcribestreaming#ContentRedactionOutput", "traits": { - "smithy.api#documentation": "

Specify the number of channels in your audio stream. Up to two channels are\n supported.

", - "smithy.api#httpHeader": "x-amzn-transcribe-number-of-channels" + "smithy.api#documentation": "

Specify whether you want only a redacted transcript or both a redacted and an unredacted \n transcript. If you choose redacted and unredacted, two JSON files are generated and stored in the \n Amazon S3 output location you specify.

\n

Note that to include ContentRedactionOutput in your request, you must \n enable content redaction (ContentRedactionType).

" } }, - "ContentIdentificationType": { - "target": "com.amazonaws.transcribestreaming#MedicalContentIdentificationType", + "OutputEncryptionKMSKeyId": { + "target": "com.amazonaws.transcribestreaming#String", "traits": { - "smithy.api#documentation": "

Labels all personal health information (PHI) identified in your transcript.

\n

Content identification is performed at the segment level; PHI is flagged upon complete\n transcription of an audio segment.

\n

For more information, see Identifying personal health information (PHI) in a\n transcription.

", - "smithy.api#httpHeader": "x-amzn-transcribe-content-identification-type" + "smithy.api#documentation": "

The KMS key you want to use to encrypt your Call Analytics post-call\n output.

\n

If using a key located in the current\n Amazon Web Services account, you can specify your KMS key in one of four\n ways:

\n
    \n
  1. \n

    Use the KMS key ID itself. For example,\n 1234abcd-12ab-34cd-56ef-1234567890ab.

    \n
  2. \n
  3. \n

    Use an alias for the KMS key ID. For example,\n alias/ExampleAlias.

    \n
  4. \n
  5. \n

    Use the Amazon Resource Name (ARN) for the KMS key ID. For\n example,\n arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab.

    \n
  6. \n
  7. \n

    Use the ARN for the KMS key alias. For example,\n arn:aws:kms:region:account-ID:alias/ExampleAlias.

    \n
  8. \n
\n

If using a key located in a different\n Amazon Web Services account than the current Amazon Web Services account, you can specify\n your KMS key in one of two ways:

\n
    \n
  1. \n

    Use the ARN for the KMS key ID. For example,\n arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab.

    \n
  2. \n
  3. \n

    Use the ARN for the KMS key alias. For example,\n arn:aws:kms:region:account-ID:alias/ExampleAlias.

    \n
  4. \n
\n

Note that the user making the request must\n have permission to use the specified KMS key.

" } } + }, + "traits": { + "smithy.api#documentation": "

Allows you to specify additional settings for your streaming Call Analytics \n post-call request, including output locations for your redacted and unredacted \n transcript, which IAM role to use, and, optionally, which encryption key to \n use.

\n

\n ContentRedactionOutput, DataAccessRoleArn, and\n OutputLocation are required fields.

" } }, - "com.amazonaws.transcribestreaming#StartMedicalStreamTranscriptionResponse": { + "com.amazonaws.transcribestreaming#RequestId": { + "type": "string" + }, + "com.amazonaws.transcribestreaming#Result": { "type": "structure", "members": { - "RequestId": { - "target": "com.amazonaws.transcribestreaming#RequestId", + "ResultId": { + "target": "com.amazonaws.transcribestreaming#String", "traits": { - "smithy.api#documentation": "

Provides the identifier for your streaming request.

", - "smithy.api#httpHeader": "x-amzn-request-id" + "smithy.api#documentation": "

Provides a unique identifier for the Result.

" } }, - "LanguageCode": { - "target": "com.amazonaws.transcribestreaming#LanguageCode", + "StartTime": { + "target": "com.amazonaws.transcribestreaming#Double", "traits": { - "smithy.api#documentation": "

Provides the language code that you specified in your request. This must be\n en-US.

", - "smithy.api#httpHeader": "x-amzn-transcribe-language-code" + "smithy.api#default": 0, + "smithy.api#documentation": "

The start time, in milliseconds, of the Result.

" } }, - "MediaSampleRateHertz": { - "target": "com.amazonaws.transcribestreaming#MediaSampleRateHertz", + "EndTime": { + "target": "com.amazonaws.transcribestreaming#Double", "traits": { - "smithy.api#documentation": "

Provides the sample rate that you specified in your request.

", - "smithy.api#httpHeader": "x-amzn-transcribe-sample-rate" + "smithy.api#default": 0, + "smithy.api#documentation": "

The end time, in milliseconds, of the Result.

" } }, - "MediaEncoding": { - "target": "com.amazonaws.transcribestreaming#MediaEncoding", + "IsPartial": { + "target": "com.amazonaws.transcribestreaming#Boolean", "traits": { - "smithy.api#documentation": "

Provides the media encoding you specified in your request.

", - "smithy.api#httpHeader": "x-amzn-transcribe-media-encoding" + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates if the segment is complete.

\n

If IsPartial is true, the segment is not complete. If\n IsPartial is false, the segment is complete.

" } }, - "VocabularyName": { - "target": "com.amazonaws.transcribestreaming#VocabularyName", + "Alternatives": { + "target": "com.amazonaws.transcribestreaming#AlternativeList", "traits": { - "smithy.api#documentation": "

Provides the name of the custom vocabulary that you specified in your request.

", - "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-name" + "smithy.api#documentation": "

A list of possible alternative transcriptions for the input audio. Each alternative may contain\n one or more of Items, Entities, or Transcript.

" } }, - "Specialty": { - "target": "com.amazonaws.transcribestreaming#Specialty", + "ChannelId": { + "target": "com.amazonaws.transcribestreaming#String", "traits": { - "smithy.api#documentation": "

Provides the medical specialty that you specified in your request.

", - "smithy.api#httpHeader": "x-amzn-transcribe-specialty" + "smithy.api#documentation": "

Indicates which audio channel is associated with the Result.

" } }, - "Type": { - "target": "com.amazonaws.transcribestreaming#Type", + "LanguageCode": { + "target": "com.amazonaws.transcribestreaming#LanguageCode", "traits": { - "smithy.api#documentation": "

Provides the type of audio you specified in your request.

", - "smithy.api#httpHeader": "x-amzn-transcribe-type" + "smithy.api#documentation": "

The language code that represents the language spoken in your audio stream.

" } }, - "ShowSpeakerLabel": { - "target": "com.amazonaws.transcribestreaming#Boolean", + "LanguageIdentification": { + "target": "com.amazonaws.transcribestreaming#LanguageIdentification", "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "

Shows whether speaker partitioning was enabled for your transcription.

", - "smithy.api#httpHeader": "x-amzn-transcribe-show-speaker-label" + "smithy.api#documentation": "

The language code of the dominant language identified in your stream.

\n

If you enabled channel identification and each channel of your audio contains a different language,\n you may have more than one result.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The Result associated with a \n .

\n

Contains a set of transcription results from one or more audio segments, along with additional \n information per your request parameters. This can include information relating to alternative\n transcriptions, channel identification, partial result stabilization, language identification, and other\n transcription-related data.

" + } + }, + "com.amazonaws.transcribestreaming#ResultList": { + "type": "list", + "member": { + "target": "com.amazonaws.transcribestreaming#Result" + } + }, + "com.amazonaws.transcribestreaming#Sentiment": { + "type": "enum", + "members": { + "POSITIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "POSITIVE" } }, - "SessionId": { - "target": "com.amazonaws.transcribestreaming#SessionId", + "NEGATIVE": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Provides the identifier for your transcription session.

", - "smithy.api#httpHeader": "x-amzn-transcribe-session-id" + "smithy.api#enumValue": "NEGATIVE" } }, - "TranscriptResultStream": { - "target": "com.amazonaws.transcribestreaming#MedicalTranscriptResultStream", + "MIXED": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Provides detailed information about your streaming session.

", - "smithy.api#httpPayload": {} + "smithy.api#enumValue": "MIXED" } }, - "EnableChannelIdentification": { - "target": "com.amazonaws.transcribestreaming#Boolean", + "NEUTRAL": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "

Shows whether channel identification was enabled for your transcription.

", - "smithy.api#httpHeader": "x-amzn-transcribe-enable-channel-identification" + "smithy.api#enumValue": "NEUTRAL" + } + } + } + }, + "com.amazonaws.transcribestreaming#ServiceUnavailableException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.transcribestreaming#String" + } + }, + "traits": { + "smithy.api#documentation": "

The service is currently unavailable. Try your request later.

", + "smithy.api#error": "server", + "smithy.api#httpError": 503 + } + }, + "com.amazonaws.transcribestreaming#SessionId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 36, + "max": 36 + }, + "smithy.api#pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$" + } + }, + "com.amazonaws.transcribestreaming#Specialty": { + "type": "enum", + "members": { + "PRIMARYCARE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PRIMARYCARE" } }, - "NumberOfChannels": { - "target": "com.amazonaws.transcribestreaming#NumberOfChannels", + "CARDIOLOGY": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Provides the number of channels that you specified in your request.

", - "smithy.api#httpHeader": "x-amzn-transcribe-number-of-channels" + "smithy.api#enumValue": "CARDIOLOGY" } }, - "ContentIdentificationType": { - "target": "com.amazonaws.transcribestreaming#MedicalContentIdentificationType", + "NEUROLOGY": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

Shows whether content identification was enabled for your transcription.

", - "smithy.api#httpHeader": "x-amzn-transcribe-content-identification-type" + "smithy.api#enumValue": "NEUROLOGY" + } + }, + "ONCOLOGY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ONCOLOGY" + } + }, + "RADIOLOGY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RADIOLOGY" + } + }, + "UROLOGY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UROLOGY" } } } }, - "com.amazonaws.transcribestreaming#StartStreamTranscription": { + "com.amazonaws.transcribestreaming#Stable": { + "type": "boolean" + }, + "com.amazonaws.transcribestreaming#StartCallAnalyticsStreamTranscription": { "type": "operation", "input": { - "target": "com.amazonaws.transcribestreaming#StartStreamTranscriptionRequest" + "target": "com.amazonaws.transcribestreaming#StartCallAnalyticsStreamTranscriptionRequest" }, "output": { - "target": "com.amazonaws.transcribestreaming#StartStreamTranscriptionResponse" + "target": "com.amazonaws.transcribestreaming#StartCallAnalyticsStreamTranscriptionResponse" }, "errors": [ { @@ -1167,22 +1398,23 @@ } ], "traits": { - "smithy.api#documentation": "

Starts a bidirectional HTTP/2 or WebSocket stream where audio is streamed to \n Amazon Transcribe and the transcription results are streamed to your application.

\n

The following are encoded as headers:

\n
    \n
  • \n

    language-code

    \n
  • \n
  • \n

    media-encoding

    \n
  • \n
  • \n

    sample-rate

    \n
  • \n
  • \n

    session-id

    \n
  • \n
\n

For more information on streaming with Amazon Transcribe, see Transcribing streaming audio.

", + "smithy.api#documentation": "

Starts a bidirectional HTTP/2 or WebSocket stream where audio is streamed to \n Amazon Transcribe and the transcription results are streamed to your application. Use this operation\n for Call Analytics transcriptions.

\n

The following parameters are required:

\n
    \n
  • \n

    \n language-code\n

    \n
  • \n
  • \n

    \n media-encoding\n

    \n
  • \n
  • \n

    \n sample-rate\n

    \n
  • \n
\n

For more information on streaming with Amazon Transcribe, see Transcribing streaming audio.

", "smithy.api#http": { "method": "POST", - "uri": "/stream-transcription", + "uri": "/call-analytics-stream-transcription", "code": 200 } } }, - "com.amazonaws.transcribestreaming#StartStreamTranscriptionRequest": { + "com.amazonaws.transcribestreaming#StartCallAnalyticsStreamTranscriptionRequest": { "type": "structure", "members": { "LanguageCode": { - "target": "com.amazonaws.transcribestreaming#LanguageCode", + "target": "com.amazonaws.transcribestreaming#CallAnalyticsLanguageCode", "traits": { - "smithy.api#documentation": "

Specify the language code that represents the language spoken in your audio.

\n

If you're unsure of the language spoken in your audio, consider using \n IdentifyLanguage to enable automatic language identification.

\n

For a list of languages supported with Amazon Transcribe streaming, refer to the \n Supported \n languages table.

", - "smithy.api#httpHeader": "x-amzn-transcribe-language-code" + "smithy.api#documentation": "

Specify the language code that represents the language spoken in your audio.

\n

If you're unsure of the language spoken in your audio, consider using \n IdentifyLanguage to enable automatic language identification.

\n

For a list of languages supported with streaming Call Analytics, refer to the \n Supported \n languages table.

", + "smithy.api#httpHeader": "x-amzn-transcribe-language-code", + "smithy.api#required": {} } }, "MediaSampleRateHertz": { @@ -1196,7 +1428,7 @@ "MediaEncoding": { "target": "com.amazonaws.transcribestreaming#MediaEncoding", "traits": { - "smithy.api#documentation": "

Specify the encoding used for the input audio. Supported formats are:

\n
    \n
  • \n

    FLAC

    \n
  • \n
  • \n

    OPUS-encoded audio in an Ogg container

    \n
  • \n
  • \n

    PCM (only signed 16-bit little-endian audio formats, which does not include WAV)

    \n
  • \n
\n

For more information, see Media formats.

", + "smithy.api#documentation": "

Specify the encoding of your input audio. Supported formats are:

\n
    \n
  • \n

    FLAC

    \n
  • \n
  • \n

    OPUS-encoded audio in an Ogg container

    \n
  • \n
  • \n

    PCM (only signed 16-bit little-endian audio formats, which does not include WAV)

    \n
  • \n
\n

For more information, see Media formats.

", "smithy.api#httpHeader": "x-amzn-transcribe-media-encoding", "smithy.api#required": {} } @@ -1204,21 +1436,20 @@ "VocabularyName": { "target": "com.amazonaws.transcribestreaming#VocabularyName", "traits": { - "smithy.api#documentation": "

Specify the name of the custom vocabulary that you want to use when processing your\n transcription. Note that vocabulary names are case sensitive.

\n

If the language of the specified custom vocabulary doesn't match the language identified in\n your media, your job fails.

\n \n

This parameter is not intended for use with the\n IdentifyLanguage parameter. If you're including IdentifyLanguage\n in your request and want to use one or more custom vocabularies with your transcription, use\n the VocabularyNames parameter instead.

\n
\n

For more information, see Custom vocabularies.

", + "smithy.api#documentation": "

Specify the name of the custom vocabulary that you want to use when processing your\n transcription. Note that vocabulary names are case sensitive.

\n

If the language of the specified custom vocabulary doesn't match the language identified in\n your media, the custom vocabulary is not applied to your transcription.

\n

For more information, see Custom vocabularies.

", "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-name" } }, "SessionId": { "target": "com.amazonaws.transcribestreaming#SessionId", "traits": { - "smithy.api#documentation": "

Specify a name for your transcription session. If you don't include this parameter in your request, \n Amazon Transcribe generates an ID and returns it in the response.

\n

You can use a session ID to retry a streaming session.

", + "smithy.api#documentation": "

Specify a name for your Call Analytics transcription session. If you don't include this parameter\n in your request, Amazon Transcribe generates an ID and returns it in the response.

\n

You can use a session ID to retry a streaming session.

", "smithy.api#httpHeader": "x-amzn-transcribe-session-id" } }, "AudioStream": { "target": "com.amazonaws.transcribestreaming#AudioStream", "traits": { - "smithy.api#documentation": "

An encoded stream of audio blobs. Audio streams are encoded as either HTTP/2 or WebSocket \n data frames.

\n

For more information, see Transcribing streaming audio.

", "smithy.api#httpPayload": {}, "smithy.api#required": {} } @@ -1226,7 +1457,7 @@ "VocabularyFilterName": { "target": "com.amazonaws.transcribestreaming#VocabularyFilterName", "traits": { - "smithy.api#documentation": "

Specify the name of the custom vocabulary filter that you want to use when processing your\n transcription. Note that vocabulary filter names are case sensitive.

\n

If the language of the specified custom vocabulary filter doesn't match the language identified in\n your media, your job fails.

\n \n

This parameter is not intended for use with the\n IdentifyLanguage parameter. If you're including IdentifyLanguage\n in your request and want to use one or more vocabulary filters with your transcription, use\n the VocabularyFilterNames parameter instead.

\n
\n

For more information, see Using vocabulary filtering with unwanted \n words.

", + "smithy.api#documentation": "

Specify the name of the custom vocabulary filter that you want to use when processing your\n transcription. Note that vocabulary filter names are case sensitive.

\n

If the language of the specified custom vocabulary filter doesn't match the language identified in\n your media, the vocabulary filter is not applied to your transcription.

\n

For more information, see Using vocabulary filtering with unwanted \n words.

", "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-filter-name" } }, @@ -1237,34 +1468,18 @@ "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-filter-method" } }, - "ShowSpeakerLabel": { - "target": "com.amazonaws.transcribestreaming#Boolean", - "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "

Enables speaker partitioning (diarization) in your transcription output. Speaker partitioning \n labels the speech from individual speakers in your media file.

\n

For more information, see Partitioning speakers (diarization).

", - "smithy.api#httpHeader": "x-amzn-transcribe-show-speaker-label" - } - }, - "EnableChannelIdentification": { - "target": "com.amazonaws.transcribestreaming#Boolean", - "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "

Enables channel identification in multi-channel audio.

\n

Channel identification transcribes the audio on each channel independently, then appends the \n output for each channel into one transcript.

\n

If you have multi-channel audio and do not enable channel identification, your audio is \n transcribed in a continuous manner and your transcript is not separated by channel.

\n

For more information, see Transcribing multi-channel audio.

", - "smithy.api#httpHeader": "x-amzn-transcribe-enable-channel-identification" - } - }, - "NumberOfChannels": { - "target": "com.amazonaws.transcribestreaming#NumberOfChannels", + "LanguageModelName": { + "target": "com.amazonaws.transcribestreaming#ModelName", "traits": { - "smithy.api#documentation": "

Specify the number of channels in your audio stream. Up to two channels are\n supported.

", - "smithy.api#httpHeader": "x-amzn-transcribe-number-of-channels" + "smithy.api#documentation": "

Specify the name of the custom language model that you want to use when processing your\n transcription. Note that language model names are case sensitive.

\n

The language of the specified language model must match the language code you specify\n in your transcription request. If the languages don't match, the custom language model isn't applied. \n There are no errors or warnings associated with a language mismatch.

\n

For more information, see Custom language models.

", + "smithy.api#httpHeader": "x-amzn-transcribe-language-model-name" } }, "EnablePartialResultsStabilization": { "target": "com.amazonaws.transcribestreaming#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

Enables partial result stabilization for your transcription. Partial result stabilization can reduce\n latency in your output, but may impact accuracy. For more information, see \n Partial-result \n stabilization.

", + "smithy.api#documentation": "

Enables partial result stabilization for your transcription. Partial result stabilization can reduce\n latency in your output, but may impact accuracy. For more information, see \n Partial-result \n stabilization.

", "smithy.api#httpHeader": "x-amzn-transcribe-enable-partial-results-stabilization" } }, @@ -1292,150 +1507,91 @@ "PiiEntityTypes": { "target": "com.amazonaws.transcribestreaming#PiiEntityTypes", "traits": { - "smithy.api#documentation": "

Specify which types of personally identifiable information (PII) you want to redact in your \n transcript. You can include as many types as you'd like, or you can select \n ALL.

\n

To include PiiEntityTypes in your request, you must also include either \n ContentIdentificationType or ContentRedactionType.

\n

Values must be comma-separated and can include:\n BANK_ACCOUNT_NUMBER, BANK_ROUTING,\n CREDIT_DEBIT_NUMBER, CREDIT_DEBIT_CVV, \n CREDIT_DEBIT_EXPIRY, PIN, EMAIL, \n ADDRESS, NAME, PHONE, \n SSN, or ALL.

", + "smithy.api#documentation": "

Specify which types of personally identifiable information (PII) you want to redact in your \n transcript. You can include as many types as you'd like, or you can select \n ALL.

\n

To include PiiEntityTypes in your Call Analytics request, you must also include \n either ContentIdentificationType or ContentRedactionType.

\n

Values must be comma-separated and can include:\n BANK_ACCOUNT_NUMBER, BANK_ROUTING,\n CREDIT_DEBIT_NUMBER, CREDIT_DEBIT_CVV, \n CREDIT_DEBIT_EXPIRY, PIN, EMAIL, \n ADDRESS, NAME, PHONE, \n SSN, or ALL.

", "smithy.api#httpHeader": "x-amzn-transcribe-pii-entity-types" } - }, - "LanguageModelName": { - "target": "com.amazonaws.transcribestreaming#ModelName", - "traits": { - "smithy.api#documentation": "

Specify the name of the custom language model that you want to use when processing your\n transcription. Note that language model names are case sensitive.

\n

The language of the specified language model must match the language code you specify\n in your transcription request. If the languages don't match, the language model isn't applied. There \n are no errors or warnings associated with a language mismatch.

\n

For more information, see Custom language \n models.

", - "smithy.api#httpHeader": "x-amzn-transcribe-language-model-name" - } - }, - "IdentifyLanguage": { - "target": "com.amazonaws.transcribestreaming#Boolean", - "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "

Enables automatic language identification for your transcription.

\n

If you include IdentifyLanguage, you can optionally include a list of \n language codes, using LanguageOptions, that you think may be present in \n your audio stream. Including language options can improve transcription accuracy.

\n

You can also include a preferred language using PreferredLanguage. Adding a \n preferred language can help Amazon Transcribe identify the language faster than if you omit this \n parameter.

\n

If you have multi-channel audio that contains different languages on each channel, and you've \n enabled channel identification, automatic language identification identifies the dominant language on \n each audio channel.

\n

Note that you must include either LanguageCode or \n IdentifyLanguage in your request. If you include both parameters, your request\n fails.

\n

Streaming language identification can't be combined with custom language models or \n redaction.

", - "smithy.api#httpHeader": "x-amzn-transcribe-identify-language" - } - }, - "LanguageOptions": { - "target": "com.amazonaws.transcribestreaming#LanguageOptions", - "traits": { - "smithy.api#documentation": "

Specify two or more language codes that represent the languages you think may be present \n in your media; including more than five is not recommended. If you're unsure what languages are present, do\n not include this parameter.

\n

Including language options can improve the accuracy of language identification.

\n

If you include LanguageOptions in your request, you must also include \n IdentifyLanguage.

\n

For a list of languages supported with Amazon Transcribe streaming, refer to the \n Supported \n languages table.

\n \n

You can only include one language dialect per language per stream. For example, you\n cannot include en-US and en-AU in the same request.

\n
", - "smithy.api#httpHeader": "x-amzn-transcribe-language-options" - } - }, - "PreferredLanguage": { - "target": "com.amazonaws.transcribestreaming#LanguageCode", - "traits": { - "smithy.api#documentation": "

Specify a preferred language from the subset of languages codes you specified in \n LanguageOptions.

\n

You can only use this parameter if you've included IdentifyLanguage and\n LanguageOptions in your request.

", - "smithy.api#httpHeader": "x-amzn-transcribe-preferred-language" - } - }, - "VocabularyNames": { - "target": "com.amazonaws.transcribestreaming#VocabularyNames", - "traits": { - "smithy.api#documentation": "

Specify the names of the custom vocabularies that you want to use when processing your\n transcription. Note that vocabulary names are case sensitive.

\n

If none of the languages of the specified custom vocabularies match the language identified in \n your media, your job fails.

\n \n

This parameter is only intended for use with the\n IdentifyLanguage parameter. If you're not\n including IdentifyLanguage in your request and want to use a custom vocabulary\n with your transcription, use the VocabularyName parameter instead.

\n
\n

For more information, see Custom vocabularies.

", - "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-names" - } - }, - "VocabularyFilterNames": { - "target": "com.amazonaws.transcribestreaming#VocabularyFilterNames", - "traits": { - "smithy.api#documentation": "

Specify the names of the custom vocabulary filters that you want to use when processing\n your transcription. Note that vocabulary filter names are case sensitive.

\n

If none of the languages of the specified custom vocabulary filters match the language identified\n in your media, your job fails.

\n \n

This parameter is only intended for use with \n the IdentifyLanguage parameter. If you're not \n including IdentifyLanguage in your request and want to use a custom vocabulary filter \n with your transcription, use the VocabularyFilterName parameter instead.

\n
\n

For more information, see Using vocabulary filtering with unwanted \n words.

", - "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-filter-names" - } } } }, - "com.amazonaws.transcribestreaming#StartStreamTranscriptionResponse": { + "com.amazonaws.transcribestreaming#StartCallAnalyticsStreamTranscriptionResponse": { "type": "structure", "members": { "RequestId": { "target": "com.amazonaws.transcribestreaming#RequestId", "traits": { - "smithy.api#documentation": "

Provides the identifier for your streaming request.

", + "smithy.api#documentation": "

Provides the identifier for your Call Analytics streaming request.

", "smithy.api#httpHeader": "x-amzn-request-id" } }, "LanguageCode": { - "target": "com.amazonaws.transcribestreaming#LanguageCode", + "target": "com.amazonaws.transcribestreaming#CallAnalyticsLanguageCode", "traits": { - "smithy.api#documentation": "

Provides the language code that you specified in your request.

", + "smithy.api#documentation": "

Provides the language code that you specified in your Call Analytics request.

", "smithy.api#httpHeader": "x-amzn-transcribe-language-code" } }, "MediaSampleRateHertz": { "target": "com.amazonaws.transcribestreaming#MediaSampleRateHertz", "traits": { - "smithy.api#documentation": "

Provides the sample rate that you specified in your request.

", + "smithy.api#documentation": "

Provides the sample rate that you specified in your Call Analytics request.

", "smithy.api#httpHeader": "x-amzn-transcribe-sample-rate" } }, "MediaEncoding": { "target": "com.amazonaws.transcribestreaming#MediaEncoding", "traits": { - "smithy.api#documentation": "

Provides the media encoding you specified in your request.

", + "smithy.api#documentation": "

Provides the media encoding you specified in your Call Analytics request.

", "smithy.api#httpHeader": "x-amzn-transcribe-media-encoding" } }, "VocabularyName": { "target": "com.amazonaws.transcribestreaming#VocabularyName", "traits": { - "smithy.api#documentation": "

Provides the name of the custom vocabulary that you specified in your request.

", + "smithy.api#documentation": "

Provides the name of the custom vocabulary that you specified in your Call Analytics request.

", "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-name" } }, "SessionId": { "target": "com.amazonaws.transcribestreaming#SessionId", "traits": { - "smithy.api#documentation": "

Provides the identifier for your transcription session.

", + "smithy.api#documentation": "

Provides the identifier for your Call Analytics transcription session.

", "smithy.api#httpHeader": "x-amzn-transcribe-session-id" } }, - "TranscriptResultStream": { - "target": "com.amazonaws.transcribestreaming#TranscriptResultStream", + "CallAnalyticsTranscriptResultStream": { + "target": "com.amazonaws.transcribestreaming#CallAnalyticsTranscriptResultStream", "traits": { - "smithy.api#documentation": "

Provides detailed information about your streaming session.

", + "smithy.api#documentation": "

Provides detailed information about your Call Analytics streaming session.

", "smithy.api#httpPayload": {} } }, "VocabularyFilterName": { "target": "com.amazonaws.transcribestreaming#VocabularyFilterName", "traits": { - "smithy.api#documentation": "

Provides the name of the custom vocabulary filter that you specified in your\n request.

", + "smithy.api#documentation": "

Provides the name of the custom vocabulary filter that you specified in your Call Analytics\n request.

", "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-filter-name" } }, "VocabularyFilterMethod": { "target": "com.amazonaws.transcribestreaming#VocabularyFilterMethod", "traits": { - "smithy.api#documentation": "

Provides the vocabulary filtering method used in your transcription.

", + "smithy.api#documentation": "

Provides the vocabulary filtering method used in your Call Analytics transcription.

", "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-filter-method" } }, - "ShowSpeakerLabel": { - "target": "com.amazonaws.transcribestreaming#Boolean", + "LanguageModelName": { + "target": "com.amazonaws.transcribestreaming#ModelName", "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "

Shows whether speaker partitioning was enabled for your transcription.

", - "smithy.api#httpHeader": "x-amzn-transcribe-show-speaker-label" + "smithy.api#documentation": "

Provides the name of the custom language model that you specified in your Call Analytics \n request.

", + "smithy.api#httpHeader": "x-amzn-transcribe-language-model-name" } }, - "EnableChannelIdentification": { + "EnablePartialResultsStabilization": { "target": "com.amazonaws.transcribestreaming#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

Shows whether channel identification was enabled for your transcription.

", - "smithy.api#httpHeader": "x-amzn-transcribe-enable-channel-identification" - } - }, - "NumberOfChannels": { - "target": "com.amazonaws.transcribestreaming#NumberOfChannels", - "traits": { - "smithy.api#documentation": "

Provides the number of channels that you specified in your request.

", - "smithy.api#httpHeader": "x-amzn-transcribe-number-of-channels" - } - }, - "EnablePartialResultsStabilization": { - "target": "com.amazonaws.transcribestreaming#Boolean", - "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "

Shows whether partial results stabilization was enabled for your transcription.

", - "smithy.api#httpHeader": "x-amzn-transcribe-enable-partial-results-stabilization" + "smithy.api#documentation": "

Shows whether partial results stabilization was enabled for your Call Analytics transcription.

", + "smithy.api#httpHeader": "x-amzn-transcribe-enable-partial-results-stabilization" } }, "PartialResultsStability": { @@ -1448,168 +1604,749 @@ "ContentIdentificationType": { "target": "com.amazonaws.transcribestreaming#ContentIdentificationType", "traits": { - "smithy.api#documentation": "

Shows whether content identification was enabled for your transcription.

", + "smithy.api#documentation": "

Shows whether content identification was enabled for your Call Analytics transcription.

", "smithy.api#httpHeader": "x-amzn-transcribe-content-identification-type" } }, "ContentRedactionType": { "target": "com.amazonaws.transcribestreaming#ContentRedactionType", "traits": { - "smithy.api#documentation": "

Shows whether content redaction was enabled for your transcription.

", + "smithy.api#documentation": "

Shows whether content redaction was enabled for your Call Analytics transcription.

", "smithy.api#httpHeader": "x-amzn-transcribe-content-redaction-type" } }, "PiiEntityTypes": { "target": "com.amazonaws.transcribestreaming#PiiEntityTypes", "traits": { - "smithy.api#documentation": "

Lists the PII entity types you specified in your request.

", + "smithy.api#documentation": "

Lists the PII entity types you specified in your Call Analytics request.

", "smithy.api#httpHeader": "x-amzn-transcribe-pii-entity-types" } + } + } + }, + "com.amazonaws.transcribestreaming#StartMedicalStreamTranscription": { + "type": "operation", + "input": { + "target": "com.amazonaws.transcribestreaming#StartMedicalStreamTranscriptionRequest" + }, + "output": { + "target": "com.amazonaws.transcribestreaming#StartMedicalStreamTranscriptionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.transcribestreaming#BadRequestException" }, - "LanguageModelName": { - "target": "com.amazonaws.transcribestreaming#ModelName", + { + "target": "com.amazonaws.transcribestreaming#ConflictException" + }, + { + "target": "com.amazonaws.transcribestreaming#InternalFailureException" + }, + { + "target": "com.amazonaws.transcribestreaming#LimitExceededException" + }, + { + "target": "com.amazonaws.transcribestreaming#ServiceUnavailableException" + } + ], + "traits": { + "smithy.api#documentation": "

Starts a bidirectional HTTP/2 or WebSocket stream where audio is streamed to \n Amazon Transcribe Medical and the transcription results are streamed to your\n application.

\n

The following parameters are required:

\n
    \n
  • \n

    \n language-code\n

    \n
  • \n
  • \n

    \n media-encoding\n

    \n
  • \n
  • \n

    \n sample-rate\n

    \n
  • \n
\n

For more information on streaming with Amazon Transcribe Medical, see \n Transcribing\n streaming audio.

", + "smithy.api#http": { + "method": "POST", + "uri": "/medical-stream-transcription", + "code": 200 + } + } + }, + "com.amazonaws.transcribestreaming#StartMedicalStreamTranscriptionRequest": { + "type": "structure", + "members": { + "LanguageCode": { + "target": "com.amazonaws.transcribestreaming#LanguageCode", "traits": { - "smithy.api#documentation": "

Provides the name of the custom language model that you specified in your request.

", - "smithy.api#httpHeader": "x-amzn-transcribe-language-model-name" + "smithy.api#documentation": "

Specify the language code that represents the language spoken in your audio.

\n \n

Amazon Transcribe Medical only supports US English (en-US).

\n
", + "smithy.api#httpHeader": "x-amzn-transcribe-language-code", + "smithy.api#required": {} } }, - "IdentifyLanguage": { + "MediaSampleRateHertz": { + "target": "com.amazonaws.transcribestreaming#MediaSampleRateHertz", + "traits": { + "smithy.api#documentation": "

The sample rate of the input audio (in hertz). Amazon Transcribe Medical supports a\n range from 16,000 Hz to 48,000 Hz. Note that the sample rate you specify must match that\n of your audio.

", + "smithy.api#httpHeader": "x-amzn-transcribe-sample-rate", + "smithy.api#required": {} + } + }, + "MediaEncoding": { + "target": "com.amazonaws.transcribestreaming#MediaEncoding", + "traits": { + "smithy.api#documentation": "

Specify the encoding used for the input audio. Supported formats are:

\n
    \n
  • \n

    FLAC

    \n
  • \n
  • \n

    OPUS-encoded audio in an Ogg container

    \n
  • \n
  • \n

    PCM (only signed 16-bit little-endian audio formats, which does not include\n WAV)

    \n
  • \n
\n

For more information, see Media formats.

", + "smithy.api#httpHeader": "x-amzn-transcribe-media-encoding", + "smithy.api#required": {} + } + }, + "VocabularyName": { + "target": "com.amazonaws.transcribestreaming#VocabularyName", + "traits": { + "smithy.api#documentation": "

Specify the name of the custom vocabulary that you want to use when processing your\n transcription. Note that vocabulary names are case sensitive.

", + "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-name" + } + }, + "Specialty": { + "target": "com.amazonaws.transcribestreaming#Specialty", + "traits": { + "smithy.api#documentation": "

Specify the medical specialty contained in your audio.

", + "smithy.api#httpHeader": "x-amzn-transcribe-specialty", + "smithy.api#required": {} + } + }, + "Type": { + "target": "com.amazonaws.transcribestreaming#Type", + "traits": { + "smithy.api#documentation": "

Specify the type of input audio. For example, choose DICTATION for a \n provider dictating patient notes and CONVERSATION for a dialogue between a\n patient and a medical professional.

", + "smithy.api#httpHeader": "x-amzn-transcribe-type", + "smithy.api#required": {} + } + }, + "ShowSpeakerLabel": { "target": "com.amazonaws.transcribestreaming#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

Shows whether automatic language identification was enabled for your \n transcription.

", - "smithy.api#httpHeader": "x-amzn-transcribe-identify-language" + "smithy.api#documentation": "

Enables speaker partitioning (diarization) in your transcription output. Speaker\n partitioning labels the speech from individual speakers in your media file.

\n

For more information, see Partitioning speakers (diarization).

", + "smithy.api#httpHeader": "x-amzn-transcribe-show-speaker-label" } }, - "LanguageOptions": { - "target": "com.amazonaws.transcribestreaming#LanguageOptions", + "SessionId": { + "target": "com.amazonaws.transcribestreaming#SessionId", "traits": { - "smithy.api#documentation": "

Provides the language codes that you specified in your request.

", - "smithy.api#httpHeader": "x-amzn-transcribe-language-options" + "smithy.api#documentation": "

Specify a name for your transcription session. If you don't include this parameter in \n your request, Amazon Transcribe Medical generates an ID and returns it in the\n response.

\n

You can use a session ID to retry a streaming session.

", + "smithy.api#httpHeader": "x-amzn-transcribe-session-id" } }, - "PreferredLanguage": { - "target": "com.amazonaws.transcribestreaming#LanguageCode", + "AudioStream": { + "target": "com.amazonaws.transcribestreaming#AudioStream", "traits": { - "smithy.api#documentation": "

Provides the preferred language that you specified in your request.

", - "smithy.api#httpHeader": "x-amzn-transcribe-preferred-language" + "smithy.api#httpPayload": {}, + "smithy.api#required": {} } }, - "VocabularyNames": { - "target": "com.amazonaws.transcribestreaming#VocabularyNames", + "EnableChannelIdentification": { + "target": "com.amazonaws.transcribestreaming#Boolean", "traits": { - "smithy.api#documentation": "

Provides the names of the custom vocabularies that you specified in your request.

", - "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-names" + "smithy.api#default": false, + "smithy.api#documentation": "

Enables channel identification in multi-channel audio.

\n

Channel identification transcribes the audio on each channel independently, then appends\n the output for each channel into one transcript.

\n

If you have multi-channel audio and do not enable channel identification, your audio is \n transcribed in a continuous manner and your transcript is not separated by channel.

\n

For more information, see Transcribing multi-channel audio.

", + "smithy.api#httpHeader": "x-amzn-transcribe-enable-channel-identification" } }, - "VocabularyFilterNames": { - "target": "com.amazonaws.transcribestreaming#VocabularyFilterNames", + "NumberOfChannels": { + "target": "com.amazonaws.transcribestreaming#NumberOfChannels", "traits": { - "smithy.api#documentation": "

Provides the names of the custom vocabulary filters that you specified in your\n request.

", - "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-filter-names" + "smithy.api#documentation": "

Specify the number of channels in your audio stream. Up to two channels are\n supported.

", + "smithy.api#httpHeader": "x-amzn-transcribe-number-of-channels" + } + }, + "ContentIdentificationType": { + "target": "com.amazonaws.transcribestreaming#MedicalContentIdentificationType", + "traits": { + "smithy.api#documentation": "

Labels all personal health information (PHI) identified in your transcript.

\n

Content identification is performed at the segment level; PHI is flagged upon complete\n transcription of an audio segment.

\n

For more information, see Identifying personal health information (PHI) in a\n transcription.

", + "smithy.api#httpHeader": "x-amzn-transcribe-content-identification-type" } } } }, - "com.amazonaws.transcribestreaming#String": { - "type": "string" - }, - "com.amazonaws.transcribestreaming#Transcribe": { - "type": "service", - "version": "2017-10-26", - "operations": [ - { - "target": "com.amazonaws.transcribestreaming#StartMedicalStreamTranscription" + "com.amazonaws.transcribestreaming#StartMedicalStreamTranscriptionResponse": { + "type": "structure", + "members": { + "RequestId": { + "target": "com.amazonaws.transcribestreaming#RequestId", + "traits": { + "smithy.api#documentation": "

Provides the identifier for your streaming request.

", + "smithy.api#httpHeader": "x-amzn-request-id" + } }, - { - "target": "com.amazonaws.transcribestreaming#StartStreamTranscription" - } - ], - "traits": { - "aws.api#service": { - "sdkId": "Transcribe Streaming", - "arnNamespace": "transcribe", - "cloudFormationName": "TranscribeStreaming", - "cloudTrailEventSource": "transcribestreaming.amazonaws.com", - "endpointPrefix": "transcribestreaming" + "LanguageCode": { + "target": "com.amazonaws.transcribestreaming#LanguageCode", + "traits": { + "smithy.api#documentation": "

Provides the language code that you specified in your request. This must be\n en-US.

", + "smithy.api#httpHeader": "x-amzn-transcribe-language-code" + } }, - "aws.auth#sigv4": { - "name": "transcribe" + "MediaSampleRateHertz": { + "target": "com.amazonaws.transcribestreaming#MediaSampleRateHertz", + "traits": { + "smithy.api#documentation": "

Provides the sample rate that you specified in your request.

", + "smithy.api#httpHeader": "x-amzn-transcribe-sample-rate" + } }, - "aws.protocols#restJson1": { - "http": [ - "http/1.1", - "h2" - ], - "eventStreamHttp": [ - "h2" - ] + "MediaEncoding": { + "target": "com.amazonaws.transcribestreaming#MediaEncoding", + "traits": { + "smithy.api#documentation": "

Provides the media encoding you specified in your request.

", + "smithy.api#httpHeader": "x-amzn-transcribe-media-encoding" + } }, - "smithy.api#documentation": "

Amazon Transcribe streaming offers two types of real-time transcription: \n Standard and Medical.

\n
    \n
  • \n

    \n Standard transcriptions are the most common option. Refer\n to for details.

    \n
  • \n
  • \n

    \n Medical transcriptions are tailored to medical professionals \n and incorporate medical terms. A common use case for this service is transcribing doctor-patient \n dialogue in real time, so doctors can focus on their patient instead of taking notes. Refer to\n for details.

    \n
  • \n
", - "smithy.api#title": "Amazon Transcribe Streaming Service", - "smithy.rules#endpointRuleSet": { - "version": "1.0", - "parameters": { - "Region": { - "builtIn": "AWS::Region", - "required": false, - "documentation": "The AWS region used to dispatch the request.", - "type": "String" - }, - "UseDualStack": { - "builtIn": "AWS::UseDualStack", - "required": true, - "default": false, - "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" - }, - "UseFIPS": { - "builtIn": "AWS::UseFIPS", - "required": true, - "default": false, - "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" - }, - "Endpoint": { - "builtIn": "SDK::Endpoint", - "required": false, - "documentation": "Override the endpoint used to send this request", - "type": "String" - } - }, - "rules": [ - { - "conditions": [ - { - "fn": "aws.partition", - "argv": [ - { - "ref": "Region" - } - ], - "assign": "PartitionResult" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, + "VocabularyName": { + "target": "com.amazonaws.transcribestreaming#VocabularyName", + "traits": { + "smithy.api#documentation": "

Provides the name of the custom vocabulary that you specified in your request.

", + "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-name" + } + }, + "Specialty": { + "target": "com.amazonaws.transcribestreaming#Specialty", + "traits": { + "smithy.api#documentation": "

Provides the medical specialty that you specified in your request.

", + "smithy.api#httpHeader": "x-amzn-transcribe-specialty" + } + }, + "Type": { + "target": "com.amazonaws.transcribestreaming#Type", + "traits": { + "smithy.api#documentation": "

Provides the type of audio you specified in your request.

", + "smithy.api#httpHeader": "x-amzn-transcribe-type" + } + }, + "ShowSpeakerLabel": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Shows whether speaker partitioning was enabled for your transcription.

", + "smithy.api#httpHeader": "x-amzn-transcribe-show-speaker-label" + } + }, + "SessionId": { + "target": "com.amazonaws.transcribestreaming#SessionId", + "traits": { + "smithy.api#documentation": "

Provides the identifier for your transcription session.

", + "smithy.api#httpHeader": "x-amzn-transcribe-session-id" + } + }, + "TranscriptResultStream": { + "target": "com.amazonaws.transcribestreaming#MedicalTranscriptResultStream", + "traits": { + "smithy.api#documentation": "

Provides detailed information about your streaming session.

", + "smithy.api#httpPayload": {} + } + }, + "EnableChannelIdentification": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Shows whether channel identification was enabled for your transcription.

", + "smithy.api#httpHeader": "x-amzn-transcribe-enable-channel-identification" + } + }, + "NumberOfChannels": { + "target": "com.amazonaws.transcribestreaming#NumberOfChannels", + "traits": { + "smithy.api#documentation": "

Provides the number of channels that you specified in your request.

", + "smithy.api#httpHeader": "x-amzn-transcribe-number-of-channels" + } + }, + "ContentIdentificationType": { + "target": "com.amazonaws.transcribestreaming#MedicalContentIdentificationType", + "traits": { + "smithy.api#documentation": "

Shows whether content identification was enabled for your transcription.

", + "smithy.api#httpHeader": "x-amzn-transcribe-content-identification-type" + } + } + } + }, + "com.amazonaws.transcribestreaming#StartStreamTranscription": { + "type": "operation", + "input": { + "target": "com.amazonaws.transcribestreaming#StartStreamTranscriptionRequest" + }, + "output": { + "target": "com.amazonaws.transcribestreaming#StartStreamTranscriptionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.transcribestreaming#BadRequestException" + }, + { + "target": "com.amazonaws.transcribestreaming#ConflictException" + }, + { + "target": "com.amazonaws.transcribestreaming#InternalFailureException" + }, + { + "target": "com.amazonaws.transcribestreaming#LimitExceededException" + }, + { + "target": "com.amazonaws.transcribestreaming#ServiceUnavailableException" + } + ], + "traits": { + "smithy.api#documentation": "

Starts a bidirectional HTTP/2 or WebSocket stream where audio is streamed to \n Amazon Transcribe and the transcription results are streamed to your application.

\n

The following parameters are required:

\n
    \n
  • \n

    \n language-code or identify-language\n

    \n
  • \n
  • \n

    \n media-encoding\n

    \n
  • \n
  • \n

    \n sample-rate\n

    \n
  • \n
\n

For more information on streaming with Amazon Transcribe, see Transcribing streaming audio.

", + "smithy.api#http": { + "method": "POST", + "uri": "/stream-transcription", + "code": 200 + } + } + }, + "com.amazonaws.transcribestreaming#StartStreamTranscriptionRequest": { + "type": "structure", + "members": { + "LanguageCode": { + "target": "com.amazonaws.transcribestreaming#LanguageCode", + "traits": { + "smithy.api#documentation": "

Specify the language code that represents the language spoken in your audio.

\n

If you're unsure of the language spoken in your audio, consider using \n IdentifyLanguage to enable automatic language identification.

\n

For a list of languages supported with Amazon Transcribe streaming, refer to the \n Supported \n languages table.

", + "smithy.api#httpHeader": "x-amzn-transcribe-language-code" + } + }, + "MediaSampleRateHertz": { + "target": "com.amazonaws.transcribestreaming#MediaSampleRateHertz", + "traits": { + "smithy.api#documentation": "

The sample rate of the input audio (in hertz). Low-quality audio, such as telephone audio,\n is typically around 8,000 Hz. High-quality audio typically ranges from 16,000 Hz to 48,000 Hz.\n Note that the sample rate you specify must match that of your audio.

", + "smithy.api#httpHeader": "x-amzn-transcribe-sample-rate", + "smithy.api#required": {} + } + }, + "MediaEncoding": { + "target": "com.amazonaws.transcribestreaming#MediaEncoding", + "traits": { + "smithy.api#documentation": "

Specify the encoding of your input audio. Supported formats are:

\n
    \n
  • \n

    FLAC

    \n
  • \n
  • \n

    OPUS-encoded audio in an Ogg container

    \n
  • \n
  • \n

    PCM (only signed 16-bit little-endian audio formats, which does not include WAV)

    \n
  • \n
\n

For more information, see Media formats.

", + "smithy.api#httpHeader": "x-amzn-transcribe-media-encoding", + "smithy.api#required": {} + } + }, + "VocabularyName": { + "target": "com.amazonaws.transcribestreaming#VocabularyName", + "traits": { + "smithy.api#documentation": "

Specify the name of the custom vocabulary that you want to use when processing your\n transcription. Note that vocabulary names are case sensitive.

\n

If the language of the specified custom vocabulary doesn't match the language identified in\n your media, the custom vocabulary is not applied to your transcription.

\n \n

This parameter is not intended for use with the\n IdentifyLanguage parameter. If you're including IdentifyLanguage\n in your request and want to use one or more custom vocabularies with your transcription, use\n the VocabularyNames parameter instead.

\n
\n

For more information, see Custom vocabularies.

", + "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-name" + } + }, + "SessionId": { + "target": "com.amazonaws.transcribestreaming#SessionId", + "traits": { + "smithy.api#documentation": "

Specify a name for your transcription session. If you don't include this parameter in your request, \n Amazon Transcribe generates an ID and returns it in the response.

\n

You can use a session ID to retry a streaming session.

", + "smithy.api#httpHeader": "x-amzn-transcribe-session-id" + } + }, + "AudioStream": { + "target": "com.amazonaws.transcribestreaming#AudioStream", + "traits": { + "smithy.api#documentation": "

An encoded stream of audio blobs. Audio streams are encoded as either HTTP/2 or WebSocket \n data frames.

\n

For more information, see Transcribing streaming audio.

", + "smithy.api#httpPayload": {}, + "smithy.api#required": {} + } + }, + "VocabularyFilterName": { + "target": "com.amazonaws.transcribestreaming#VocabularyFilterName", + "traits": { + "smithy.api#documentation": "

Specify the name of the custom vocabulary filter that you want to use when processing your\n transcription. Note that vocabulary filter names are case sensitive.

\n

If the language of the specified custom vocabulary filter doesn't match the language identified in\n your media, the vocabulary filter is not applied to your transcription.

\n \n

This parameter is not intended for use with the\n IdentifyLanguage parameter. If you're including IdentifyLanguage\n in your request and want to use one or more vocabulary filters with your transcription, use\n the VocabularyFilterNames parameter instead.

\n
\n

For more information, see Using vocabulary filtering with unwanted \n words.

", + "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-filter-name" + } + }, + "VocabularyFilterMethod": { + "target": "com.amazonaws.transcribestreaming#VocabularyFilterMethod", + "traits": { + "smithy.api#documentation": "

Specify how you want your vocabulary filter applied to your transcript.

\n

To replace words with ***, choose mask.

\n

To delete words, choose remove.

\n

To flag words without changing them, choose tag.

", + "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-filter-method" + } + }, + "ShowSpeakerLabel": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Enables speaker partitioning (diarization) in your transcription output. Speaker partitioning \n labels the speech from individual speakers in your media file.

\n

For more information, see Partitioning speakers (diarization).

", + "smithy.api#httpHeader": "x-amzn-transcribe-show-speaker-label" + } + }, + "EnableChannelIdentification": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Enables channel identification in multi-channel audio.

\n

Channel identification transcribes the audio on each channel independently, then appends the \n output for each channel into one transcript.

\n

If you have multi-channel audio and do not enable channel identification, your audio is \n transcribed in a continuous manner and your transcript is not separated by channel.

\n

For more information, see Transcribing multi-channel audio.

", + "smithy.api#httpHeader": "x-amzn-transcribe-enable-channel-identification" + } + }, + "NumberOfChannels": { + "target": "com.amazonaws.transcribestreaming#NumberOfChannels", + "traits": { + "smithy.api#documentation": "

Specify the number of channels in your audio stream. Up to two channels are\n supported.

", + "smithy.api#httpHeader": "x-amzn-transcribe-number-of-channels" + } + }, + "EnablePartialResultsStabilization": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Enables partial result stabilization for your transcription. Partial result stabilization can reduce\n latency in your output, but may impact accuracy. For more information, see \n Partial-result \n stabilization.

", + "smithy.api#httpHeader": "x-amzn-transcribe-enable-partial-results-stabilization" + } + }, + "PartialResultsStability": { + "target": "com.amazonaws.transcribestreaming#PartialResultsStability", + "traits": { + "smithy.api#documentation": "

Specify the level of stability to use when you enable partial results stabilization \n (EnablePartialResultsStabilization).

\n

Low stability provides the highest accuracy. High stability transcribes faster, but with slightly\n lower accuracy.

\n

For more information, see Partial-result \n stabilization.

", + "smithy.api#httpHeader": "x-amzn-transcribe-partial-results-stability" + } + }, + "ContentIdentificationType": { + "target": "com.amazonaws.transcribestreaming#ContentIdentificationType", + "traits": { + "smithy.api#documentation": "

Labels all personally identifiable information (PII) identified in your transcript.

\n

Content identification is performed at the segment level; PII specified in \n PiiEntityTypes is flagged upon complete transcription of an audio segment.

\n

You can’t set ContentIdentificationType and ContentRedactionType\n in the same request. If you set both, your request returns a\n BadRequestException.

\n

For more information, see Redacting or identifying personally identifiable\n information.

", + "smithy.api#httpHeader": "x-amzn-transcribe-content-identification-type" + } + }, + "ContentRedactionType": { + "target": "com.amazonaws.transcribestreaming#ContentRedactionType", + "traits": { + "smithy.api#documentation": "

Redacts all personally identifiable information (PII) identified in your transcript.

\n

Content redaction is performed at the segment level; PII specified in \n PiiEntityTypes is redacted upon complete transcription of an audio segment.

\n

You can’t set ContentRedactionType and ContentIdentificationType\n in the same request. If you set both, your request returns a\n BadRequestException.

\n

For more information, see Redacting or identifying personally identifiable\n information.

", + "smithy.api#httpHeader": "x-amzn-transcribe-content-redaction-type" + } + }, + "PiiEntityTypes": { + "target": "com.amazonaws.transcribestreaming#PiiEntityTypes", + "traits": { + "smithy.api#documentation": "

Specify which types of personally identifiable information (PII) you want to redact in your \n transcript. You can include as many types as you'd like, or you can select \n ALL.

\n

To include PiiEntityTypes in your request, you must also include either \n ContentIdentificationType or ContentRedactionType.

\n

Values must be comma-separated and can include:\n BANK_ACCOUNT_NUMBER, BANK_ROUTING,\n CREDIT_DEBIT_NUMBER, CREDIT_DEBIT_CVV, \n CREDIT_DEBIT_EXPIRY, PIN, EMAIL, \n ADDRESS, NAME, PHONE, \n SSN, or ALL.

", + "smithy.api#httpHeader": "x-amzn-transcribe-pii-entity-types" + } + }, + "LanguageModelName": { + "target": "com.amazonaws.transcribestreaming#ModelName", + "traits": { + "smithy.api#documentation": "

Specify the name of the custom language model that you want to use when processing your\n transcription. Note that language model names are case sensitive.

\n

The language of the specified language model must match the language code you specify\n in your transcription request. If the languages don't match, the custom language model isn't applied. \n There are no errors or warnings associated with a language mismatch.

\n

For more information, see Custom language models.

", + "smithy.api#httpHeader": "x-amzn-transcribe-language-model-name" + } + }, + "IdentifyLanguage": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Enables automatic language identification for your transcription.

\n

If you include IdentifyLanguage, you can optionally include a list of \n language codes, using LanguageOptions, that you think may be present in \n your audio stream. Including language options can improve transcription accuracy.

\n

You can also include a preferred language using PreferredLanguage. Adding a \n preferred language can help Amazon Transcribe identify the language faster than if you omit this \n parameter.

\n

If you have multi-channel audio that contains different languages on each channel, and you've \n enabled channel identification, automatic language identification identifies the dominant language on \n each audio channel.

\n

Note that you must include either LanguageCode or \n IdentifyLanguage in your request. If you include both parameters, your request\n fails.

\n

Streaming language identification can't be combined with custom language models or \n redaction.

", + "smithy.api#httpHeader": "x-amzn-transcribe-identify-language" + } + }, + "LanguageOptions": { + "target": "com.amazonaws.transcribestreaming#LanguageOptions", + "traits": { + "smithy.api#documentation": "

Specify two or more language codes that represent the languages you think may be present \n in your media; including more than five is not recommended. If you're unsure what languages are present, do\n not include this parameter.

\n

Including language options can improve the accuracy of language identification.

\n

If you include LanguageOptions in your request, you must also include \n IdentifyLanguage.

\n

For a list of languages supported with Amazon Transcribe streaming, refer to the \n Supported \n languages table.

\n \n

You can only include one language dialect per language per stream. For example, you\n cannot include en-US and en-AU in the same request.

\n
", + "smithy.api#httpHeader": "x-amzn-transcribe-language-options" + } + }, + "PreferredLanguage": { + "target": "com.amazonaws.transcribestreaming#LanguageCode", + "traits": { + "smithy.api#documentation": "

Specify a preferred language from the subset of languages codes you specified in \n LanguageOptions.

\n

You can only use this parameter if you've included IdentifyLanguage and\n LanguageOptions in your request.

", + "smithy.api#httpHeader": "x-amzn-transcribe-preferred-language" + } + }, + "VocabularyNames": { + "target": "com.amazonaws.transcribestreaming#VocabularyNames", + "traits": { + "smithy.api#documentation": "

Specify the names of the custom vocabularies that you want to use when processing your\n transcription. Note that vocabulary names are case sensitive.

\n

If none of the languages of the specified custom vocabularies match the language identified in \n your media, your job fails.

\n \n

This parameter is only intended for use with the\n IdentifyLanguage parameter. If you're not\n including IdentifyLanguage in your request and want to use a custom vocabulary\n with your transcription, use the VocabularyName parameter instead.

\n
\n

For more information, see Custom vocabularies.

", + "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-names" + } + }, + "VocabularyFilterNames": { + "target": "com.amazonaws.transcribestreaming#VocabularyFilterNames", + "traits": { + "smithy.api#documentation": "

Specify the names of the custom vocabulary filters that you want to use when processing\n your transcription. Note that vocabulary filter names are case sensitive.

\n

If none of the languages of the specified custom vocabulary filters match the language identified\n in your media, your job fails.

\n \n

This parameter is only intended for use with \n the IdentifyLanguage parameter. If you're not \n including IdentifyLanguage in your request and want to use a custom vocabulary filter \n with your transcription, use the VocabularyFilterName parameter instead.

\n
\n

For more information, see Using vocabulary filtering with unwanted \n words.

", + "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-filter-names" + } + } + } + }, + "com.amazonaws.transcribestreaming#StartStreamTranscriptionResponse": { + "type": "structure", + "members": { + "RequestId": { + "target": "com.amazonaws.transcribestreaming#RequestId", + "traits": { + "smithy.api#documentation": "

Provides the identifier for your streaming request.

", + "smithy.api#httpHeader": "x-amzn-request-id" + } + }, + "LanguageCode": { + "target": "com.amazonaws.transcribestreaming#LanguageCode", + "traits": { + "smithy.api#documentation": "

Provides the language code that you specified in your request.

", + "smithy.api#httpHeader": "x-amzn-transcribe-language-code" + } + }, + "MediaSampleRateHertz": { + "target": "com.amazonaws.transcribestreaming#MediaSampleRateHertz", + "traits": { + "smithy.api#documentation": "

Provides the sample rate that you specified in your request.

", + "smithy.api#httpHeader": "x-amzn-transcribe-sample-rate" + } + }, + "MediaEncoding": { + "target": "com.amazonaws.transcribestreaming#MediaEncoding", + "traits": { + "smithy.api#documentation": "

Provides the media encoding you specified in your request.

", + "smithy.api#httpHeader": "x-amzn-transcribe-media-encoding" + } + }, + "VocabularyName": { + "target": "com.amazonaws.transcribestreaming#VocabularyName", + "traits": { + "smithy.api#documentation": "

Provides the name of the custom vocabulary that you specified in your request.

", + "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-name" + } + }, + "SessionId": { + "target": "com.amazonaws.transcribestreaming#SessionId", + "traits": { + "smithy.api#documentation": "

Provides the identifier for your transcription session.

", + "smithy.api#httpHeader": "x-amzn-transcribe-session-id" + } + }, + "TranscriptResultStream": { + "target": "com.amazonaws.transcribestreaming#TranscriptResultStream", + "traits": { + "smithy.api#documentation": "

Provides detailed information about your streaming session.

", + "smithy.api#httpPayload": {} + } + }, + "VocabularyFilterName": { + "target": "com.amazonaws.transcribestreaming#VocabularyFilterName", + "traits": { + "smithy.api#documentation": "

Provides the name of the custom vocabulary filter that you specified in your\n request.

", + "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-filter-name" + } + }, + "VocabularyFilterMethod": { + "target": "com.amazonaws.transcribestreaming#VocabularyFilterMethod", + "traits": { + "smithy.api#documentation": "

Provides the vocabulary filtering method used in your transcription.

", + "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-filter-method" + } + }, + "ShowSpeakerLabel": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Shows whether speaker partitioning was enabled for your transcription.

", + "smithy.api#httpHeader": "x-amzn-transcribe-show-speaker-label" + } + }, + "EnableChannelIdentification": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Shows whether channel identification was enabled for your transcription.

", + "smithy.api#httpHeader": "x-amzn-transcribe-enable-channel-identification" + } + }, + "NumberOfChannels": { + "target": "com.amazonaws.transcribestreaming#NumberOfChannels", + "traits": { + "smithy.api#documentation": "

Provides the number of channels that you specified in your request.

", + "smithy.api#httpHeader": "x-amzn-transcribe-number-of-channels" + } + }, + "EnablePartialResultsStabilization": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Shows whether partial results stabilization was enabled for your transcription.

", + "smithy.api#httpHeader": "x-amzn-transcribe-enable-partial-results-stabilization" + } + }, + "PartialResultsStability": { + "target": "com.amazonaws.transcribestreaming#PartialResultsStability", + "traits": { + "smithy.api#documentation": "

Provides the stabilization level used for your transcription.

", + "smithy.api#httpHeader": "x-amzn-transcribe-partial-results-stability" + } + }, + "ContentIdentificationType": { + "target": "com.amazonaws.transcribestreaming#ContentIdentificationType", + "traits": { + "smithy.api#documentation": "

Shows whether content identification was enabled for your transcription.

", + "smithy.api#httpHeader": "x-amzn-transcribe-content-identification-type" + } + }, + "ContentRedactionType": { + "target": "com.amazonaws.transcribestreaming#ContentRedactionType", + "traits": { + "smithy.api#documentation": "

Shows whether content redaction was enabled for your transcription.

", + "smithy.api#httpHeader": "x-amzn-transcribe-content-redaction-type" + } + }, + "PiiEntityTypes": { + "target": "com.amazonaws.transcribestreaming#PiiEntityTypes", + "traits": { + "smithy.api#documentation": "

Lists the PII entity types you specified in your request.

", + "smithy.api#httpHeader": "x-amzn-transcribe-pii-entity-types" + } + }, + "LanguageModelName": { + "target": "com.amazonaws.transcribestreaming#ModelName", + "traits": { + "smithy.api#documentation": "

Provides the name of the custom language model that you specified in your request.

", + "smithy.api#httpHeader": "x-amzn-transcribe-language-model-name" + } + }, + "IdentifyLanguage": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Shows whether automatic language identification was enabled for your \n transcription.

", + "smithy.api#httpHeader": "x-amzn-transcribe-identify-language" + } + }, + "LanguageOptions": { + "target": "com.amazonaws.transcribestreaming#LanguageOptions", + "traits": { + "smithy.api#documentation": "

Provides the language codes that you specified in your request.

", + "smithy.api#httpHeader": "x-amzn-transcribe-language-options" + } + }, + "PreferredLanguage": { + "target": "com.amazonaws.transcribestreaming#LanguageCode", + "traits": { + "smithy.api#documentation": "

Provides the preferred language that you specified in your request.

", + "smithy.api#httpHeader": "x-amzn-transcribe-preferred-language" + } + }, + "VocabularyNames": { + "target": "com.amazonaws.transcribestreaming#VocabularyNames", + "traits": { + "smithy.api#documentation": "

Provides the names of the custom vocabularies that you specified in your request.

", + "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-names" + } + }, + "VocabularyFilterNames": { + "target": "com.amazonaws.transcribestreaming#VocabularyFilterNames", + "traits": { + "smithy.api#documentation": "

Provides the names of the custom vocabulary filters that you specified in your\n request.

", + "smithy.api#httpHeader": "x-amzn-transcribe-vocabulary-filter-names" + } + } + } + }, + "com.amazonaws.transcribestreaming#String": { + "type": "string" + }, + "com.amazonaws.transcribestreaming#StringList": { + "type": "list", + "member": { + "target": "com.amazonaws.transcribestreaming#String" + } + }, + "com.amazonaws.transcribestreaming#TimestampRange": { + "type": "structure", + "members": { + "BeginOffsetMillis": { + "target": "com.amazonaws.transcribestreaming#Long", + "traits": { + "smithy.api#documentation": "

The time, in milliseconds, from the beginning of the audio stream to the start of the category \n match.

" + } + }, + "EndOffsetMillis": { + "target": "com.amazonaws.transcribestreaming#Long", + "traits": { + "smithy.api#documentation": "

The time, in milliseconds, from the beginning of the audio stream to the end of the category \n match.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the timestamp range (start time through end time) of a matched category.

" + } + }, + "com.amazonaws.transcribestreaming#TimestampRanges": { + "type": "list", + "member": { + "target": "com.amazonaws.transcribestreaming#TimestampRange" + } + }, + "com.amazonaws.transcribestreaming#Transcribe": { + "type": "service", + "version": "2017-10-26", + "operations": [ + { + "target": "com.amazonaws.transcribestreaming#StartCallAnalyticsStreamTranscription" + }, + { + "target": "com.amazonaws.transcribestreaming#StartMedicalStreamTranscription" + }, + { + "target": "com.amazonaws.transcribestreaming#StartStreamTranscription" + } + ], + "traits": { + "aws.api#service": { + "sdkId": "Transcribe Streaming", + "arnNamespace": "transcribe", + "cloudFormationName": "TranscribeStreaming", + "cloudTrailEventSource": "transcribestreaming.amazonaws.com", + "endpointPrefix": "transcribestreaming" + }, + "aws.auth#sigv4": { + "name": "transcribe" + }, + "aws.protocols#restJson1": { + "http": [ + "http/1.1", + "h2" + ], + "eventStreamHttp": [ + "h2" + ] + }, + "smithy.api#documentation": "

Amazon Transcribe streaming offers three main types of real-time transcription: \n Standard, Medical, and \n Call Analytics.

\n
    \n
  • \n

    \n Standard transcriptions are the most common option. Refer\n to for details.

    \n
  • \n
  • \n

    \n Medical transcriptions are tailored to medical professionals \n and incorporate medical terms. A common use case for this service is transcribing doctor-patient \n dialogue in real time, so doctors can focus on their patient instead of taking notes. Refer to\n for details.

    \n
  • \n
  • \n

    \n Call Analytics transcriptions are designed for use with call\n center audio on two different channels; if you're looking for insight into customer service calls, use this \n option. Refer to for details.

    \n
  • \n
", + "smithy.api#title": "Amazon Transcribe Streaming Service", + "smithy.rules#endpointRuleSet": { + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": true, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "parseURL", + "fn": "isSet", "argv": [ { "ref": "Endpoint" } - ], - "assign": "url" + ] } ], "type": "tree", @@ -1723,12 +2460,18 @@ "rules": [ { "conditions": [], - "endpoint": { - "url": "https://transcribestreaming-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://transcribestreaming-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] }, @@ -1777,82 +2520,6 @@ "conditions": [], "type": "tree", "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "transcribestreaming-ca-central-1" - ] - } - ], - "endpoint": { - "url": "https://transcribestreaming-fips.ca-central-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "transcribestreaming-us-east-1" - ] - } - ], - "endpoint": { - "url": "https://transcribestreaming-fips.us-east-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "transcribestreaming-us-west-2" - ] - } - ], - "endpoint": { - "url": "https://transcribestreaming-fips.us-west-2.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "transcribestreaming-us-east-2" - ] - } - ], - "endpoint": { - "url": "https://transcribestreaming-fips.us-east-2.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, { "conditions": [], "endpoint": { @@ -1909,12 +2576,18 @@ "rules": [ { "conditions": [], - "endpoint": { - "url": "https://transcribestreaming.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://transcribestreaming.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] }, @@ -1924,15 +2597,21 @@ "type": "error" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://transcribestreaming.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://transcribestreaming.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] } @@ -1941,406 +2620,55 @@ "smithy.rules#endpointTests": { "testCases": [ { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-gov-east-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-gov-east-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming.us-gov-east-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-gov-east-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-gov-east-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ca-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ca-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming.ca-central-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ca-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "ca-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming.eu-central-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.us-west-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-west-2", - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming.us-west-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-west-2", - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming.us-west-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-2", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming.eu-west-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-2", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming.eu-west-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-2", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-2", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming.ap-northeast-2.api.aws" + "url": "https://transcribestreaming.ap-southeast-2.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "ap-northeast-2", - "UseDualStack": true + "UseDualStack": false, + "Region": "ap-southeast-2" } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming.ap-northeast-2.amazonaws.com" + "url": "https://transcribestreaming.ca-central-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "ap-northeast-2", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "ca-central-1" } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming-fips.ap-northeast-1.amazonaws.com" + "url": "https://transcribestreaming.sa-east-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "ap-northeast-1", - "UseDualStack": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "sa-east-1" } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming.ap-northeast-1.api.aws" + "url": "https://transcribestreaming.us-west-2.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "ap-northeast-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-west-2" } }, { @@ -2352,151 +2680,125 @@ }, "params": { "UseFIPS": false, - "Region": "ap-northeast-1", - "UseDualStack": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.sa-east-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "sa-east-1", - "UseDualStack": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "sa-east-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "ap-northeast-1" } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming.sa-east-1.api.aws" + "url": "https://transcribestreaming.ap-northeast-2.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "sa-east-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "ap-northeast-2" } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming.sa-east-1.amazonaws.com" + "url": "https://transcribestreaming.eu-central-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "sa-east-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "eu-central-1" } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming-fips.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://transcribestreaming.us-east-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "cn-north-1", - "UseDualStack": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-east-1" } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming-fips.cn-north-1.amazonaws.com.cn" + "url": "https://transcribestreaming.eu-west-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "cn-north-1", - "UseDualStack": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-west-1" } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://transcribestreaming.eu-west-2.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "cn-north-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "eu-west-2" } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming.cn-north-1.amazonaws.com.cn" + "url": "https://transcribestreaming.us-east-2.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "cn-north-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-east-2" } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://transcribestreaming-fips.us-gov-west-1.api.aws" + "url": "https://transcribestreaming-fips.us-east-1.api.aws" } }, "params": { "UseFIPS": true, - "Region": "us-gov-west-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-east-1" } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming-fips.us-gov-west-1.amazonaws.com" + "url": "https://transcribestreaming-fips.us-east-1.amazonaws.com" } }, "params": { "UseFIPS": true, - "Region": "us-gov-west-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-east-1" } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://transcribestreaming.us-gov-west-1.api.aws" + "url": "https://transcribestreaming.us-east-1.api.aws" } }, "params": { "UseFIPS": false, - "Region": "us-gov-west-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-east-1" } }, { @@ -2508,264 +2810,177 @@ }, "params": { "UseFIPS": false, - "Region": "us-gov-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.ap-southeast-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-southeast-2", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-southeast-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-gov-west-1" } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming.ap-southeast-2.api.aws" + "url": "https://transcribestreaming.us-gov-east-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "ap-southeast-2", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-gov-east-1" } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://transcribestreaming.ap-southeast-2.amazonaws.com" + "url": "https://transcribestreaming-fips.us-gov-east-1.api.aws" } }, - "params": { - "UseFIPS": false, - "Region": "ap-southeast-2", - "UseDualStack": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, "params": { "UseFIPS": true, - "Region": "us-iso-east-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-gov-east-1" } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://transcribestreaming-fips.us-gov-east-1.amazonaws.com" } }, "params": { "UseFIPS": true, - "Region": "us-iso-east-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "UseFIPS": false, - "Region": "us-iso-east-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-gov-east-1" } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://transcribestreaming.us-iso-east-1.c2s.ic.gov" + "url": "https://transcribestreaming.us-gov-east-1.api.aws" } }, "params": { "UseFIPS": false, - "Region": "us-iso-east-1", - "UseDualStack": false + "UseDualStack": true, + "Region": "us-gov-east-1" } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming-fips.us-east-1.api.aws" + "url": "https://transcribestreaming-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { "UseFIPS": true, - "Region": "us-east-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-isob-east-1" } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming-fips.us-east-1.amazonaws.com" + "url": "https://transcribestreaming.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseFIPS": true, - "Region": "us-east-1", - "UseDualStack": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-isob-east-1" } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming.us-east-1.api.aws" + "url": "https://transcribestreaming.cn-northwest-1.amazonaws.com.cn" } }, "params": { "UseFIPS": false, - "Region": "us-east-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "cn-northwest-1" } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming.us-east-1.amazonaws.com" + "url": "https://transcribestreaming.cn-north-1.amazonaws.com.cn" } }, "params": { "UseFIPS": false, - "Region": "us-east-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "cn-north-1" } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://transcribestreaming-fips.us-east-2.api.aws" + "url": "https://transcribestreaming-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { "UseFIPS": true, - "Region": "us-east-2", - "UseDualStack": true + "UseDualStack": true, + "Region": "cn-north-1" } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming-fips.us-east-2.amazonaws.com" + "url": "https://transcribestreaming-fips.cn-north-1.amazonaws.com.cn" } }, "params": { "UseFIPS": true, - "Region": "us-east-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "cn-north-1" } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://transcribestreaming.us-east-2.api.aws" + "url": "https://transcribestreaming.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { "UseFIPS": false, - "Region": "us-east-2", - "UseDualStack": true + "UseDualStack": true, + "Region": "cn-north-1" } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming.us-east-2.amazonaws.com" + "url": "https://transcribestreaming.us-iso-east-1.c2s.ic.gov" } }, "params": { "UseFIPS": false, - "Region": "us-east-2", - "UseDualStack": false - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.cn-northwest-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseFIPS": true, - "Region": "cn-northwest-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-iso-east-1" } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming-fips.cn-northwest-1.amazonaws.com.cn" + "url": "https://transcribestreaming-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { "UseFIPS": true, - "Region": "cn-northwest-1", - "UseDualStack": false - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming.cn-northwest-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseFIPS": false, - "Region": "cn-northwest-1", - "UseDualStack": true - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming.cn-northwest-1.amazonaws.com.cn" - } - }, - "params": { - "UseFIPS": false, - "Region": "cn-northwest-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-iso-east-1" } }, { @@ -2777,8 +2992,8 @@ }, "params": { "UseFIPS": false, - "Region": "us-east-1", "UseDualStack": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -2789,8 +3004,8 @@ }, "params": { "UseFIPS": true, - "Region": "us-east-1", "UseDualStack": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -2801,8 +3016,8 @@ }, "params": { "UseFIPS": false, - "Region": "us-east-1", "UseDualStack": true, + "Region": "us-east-1", "Endpoint": "https://example.com" } } @@ -2901,6 +3116,75 @@ } } }, + "com.amazonaws.transcribestreaming#UtteranceEvent": { + "type": "structure", + "members": { + "UtteranceId": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

The unique identifier that is associated with the specified UtteranceEvent.

" + } + }, + "IsPartial": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the segment in the UtteranceEvent is complete \n (FALSE) or partial (TRUE).

" + } + }, + "ParticipantRole": { + "target": "com.amazonaws.transcribestreaming#ParticipantRole", + "traits": { + "smithy.api#documentation": "

Provides the role of the speaker for each audio channel, either CUSTOMER or \n AGENT.

" + } + }, + "BeginOffsetMillis": { + "target": "com.amazonaws.transcribestreaming#Long", + "traits": { + "smithy.api#documentation": "

The time, in milliseconds, from the beginning of the audio stream to the start of the\n UtteranceEvent.

" + } + }, + "EndOffsetMillis": { + "target": "com.amazonaws.transcribestreaming#Long", + "traits": { + "smithy.api#documentation": "

The time, in milliseconds, from the beginning of the audio stream to the start of the \n UtteranceEvent.

" + } + }, + "Transcript": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

Contains transcribed text.

" + } + }, + "Items": { + "target": "com.amazonaws.transcribestreaming#CallAnalyticsItemList", + "traits": { + "smithy.api#documentation": "

Contains words, phrases, or punctuation marks that are associated with the specified \n UtteranceEvent.

" + } + }, + "Entities": { + "target": "com.amazonaws.transcribestreaming#CallAnalyticsEntityList", + "traits": { + "smithy.api#documentation": "

Contains entities identified as personally identifiable information (PII) in your transcription \n output.

" + } + }, + "Sentiment": { + "target": "com.amazonaws.transcribestreaming#Sentiment", + "traits": { + "smithy.api#documentation": "

Provides the sentiment that was detected in the specified segment.

" + } + }, + "IssuesDetected": { + "target": "com.amazonaws.transcribestreaming#IssuesDetected", + "traits": { + "smithy.api#documentation": "

Provides the issue that was detected in the specified segment.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains set of transcription results from one or more audio segments, along with additional \n information about the parameters included in your request. For example, channel definitions, partial result \n stabilization, sentiment, and issue detection.

" + } + }, "com.amazonaws.transcribestreaming#VocabularyFilterMethod": { "type": "enum", "members": { diff --git a/aws/sdk/build.gradle.kts b/aws/sdk/build.gradle.kts index a894601809..e2b3d0b72b 100644 --- a/aws/sdk/build.gradle.kts +++ b/aws/sdk/build.gradle.kts @@ -5,6 +5,7 @@ import aws.sdk.AwsServices import aws.sdk.Membership +import aws.sdk.RootTest import aws.sdk.discoverServices import aws.sdk.docsLandingPage import aws.sdk.parseMembership @@ -26,9 +27,9 @@ val smithyVersion: String by project val defaultRustDocFlags: String by project val properties = PropertyRetriever(rootProject, project) -val crateHasherToolPath = rootProject.projectDir.resolve("tools/crate-hasher") -val publisherToolPath = rootProject.projectDir.resolve("tools/publisher") -val sdkVersionerToolPath = rootProject.projectDir.resolve("tools/sdk-versioner") +val crateHasherToolPath = rootProject.projectDir.resolve("tools/ci-build/crate-hasher") +val publisherToolPath = rootProject.projectDir.resolve("tools/ci-build/publisher") +val sdkVersionerToolPath = rootProject.projectDir.resolve("tools/ci-build/sdk-versioner") val outputDir = buildDir.resolve("aws-sdk") val sdkOutputDir = outputDir.resolve("sdk") val examplesOutputDir = outputDir.resolve("examples") @@ -198,6 +199,28 @@ tasks.register("relocateExamples") { outputs.dir(outputDir) } +tasks.register("relocateTests") { + description = "relocate the root integration tests and rewrite path dependencies" + doLast { + if (awsServices.rootTests.isNotEmpty()) { + copy { + val testDir = projectDir.resolve("integration-tests") + from(testDir) + awsServices.rootTests.forEach { test -> + include(test.path.toRelativeString(testDir) + "/**") + } + into(outputDir.resolve("tests")) + exclude("**/target") + filter { line -> line.replace("build/aws-sdk/sdk/", "sdk/") } + } + } + } + for (test in awsServices.rootTests) { + inputs.dir(test.path) + } + outputs.dir(outputDir) +} + tasks.register("fixExampleManifests") { description = "Adds dependency path and corrects version number of examples after relocation" enabled = awsServices.examples.isNotEmpty() @@ -272,6 +295,8 @@ tasks.register("relocateChangelog") { fun generateCargoWorkspace(services: AwsServices): String { return """ |[workspace] + |exclude = [${"\n"}${services.rootTests.map(RootTest::manifestName).joinToString(",\n") { "| \"$it\"" }} + |] |members = [${"\n"}${services.allModules.joinToString(",\n") { "| \"$it\"" }} |] """.trimMargin() @@ -287,6 +312,9 @@ tasks.register("generateCargoWorkspace") { if (awsServices.examples.isNotEmpty()) { inputs.dir(projectDir.resolve("examples")) } + for (test in awsServices.rootTests) { + inputs.dir(test.path) + } outputs.file(outputDir.resolve("Cargo.toml")) outputs.upToDateWhen { false } } @@ -310,6 +338,7 @@ tasks.register("fixManifests") { dependsOn("relocateRuntime") dependsOn("relocateAwsRuntime") dependsOn("relocateExamples") + dependsOn("relocateTests") } tasks.register("hydrateReadme") { @@ -371,6 +400,7 @@ tasks.register("finalizeSdk") { "relocateRuntime", "relocateAwsRuntime", "relocateExamples", + "relocateTests", "generateIndexMd", "fixManifests", "generateVersionManifest", diff --git a/aws/sdk/integration-tests/dynamodb/Cargo.toml b/aws/sdk/integration-tests/dynamodb/Cargo.toml index da55395838..bf47eddcca 100644 --- a/aws/sdk/integration-tests/dynamodb/Cargo.toml +++ b/aws/sdk/integration-tests/dynamodb/Cargo.toml @@ -4,6 +4,9 @@ name = "dynamo-tests" version = "0.1.0" authors = ["AWS Rust SDK Team ", "Russell Cohen "] edition = "2021" +license = "Apache-2.0" +repository = "https://github.com/awslabs/smithy-rs" +publish = false # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/aws/sdk/integration-tests/ec2/Cargo.toml b/aws/sdk/integration-tests/ec2/Cargo.toml index ee6c83b094..d7580d6b89 100644 --- a/aws/sdk/integration-tests/ec2/Cargo.toml +++ b/aws/sdk/integration-tests/ec2/Cargo.toml @@ -2,6 +2,9 @@ name = "ec2-tests" version = "0.1.0" edition = "2021" +license = "Apache-2.0" +repository = "https://github.com/awslabs/smithy-rs" +publish = false [dev-dependencies] aws-credential-types = { path = "../../build/aws-sdk/sdk/aws-credential-types", features = ["test-util"] } diff --git a/aws/sdk/integration-tests/glacier/Cargo.toml b/aws/sdk/integration-tests/glacier/Cargo.toml index ea1d13b695..88e20751d2 100644 --- a/aws/sdk/integration-tests/glacier/Cargo.toml +++ b/aws/sdk/integration-tests/glacier/Cargo.toml @@ -4,6 +4,9 @@ name = "glacier-tests" version = "0.1.0" authors = ["AWS Rust SDK Team "] edition = "2021" +license = "Apache-2.0" +repository = "https://github.com/awslabs/smithy-rs" +publish = false # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/aws/sdk/integration-tests/iam/Cargo.toml b/aws/sdk/integration-tests/iam/Cargo.toml index b9061aa85f..ea3ff36ea0 100644 --- a/aws/sdk/integration-tests/iam/Cargo.toml +++ b/aws/sdk/integration-tests/iam/Cargo.toml @@ -4,6 +4,9 @@ name = "iam-tests" version = "0.1.0" authors = ["AWS Rust SDK Team "] edition = "2021" +license = "Apache-2.0" +repository = "https://github.com/awslabs/smithy-rs" +publish = false # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/aws/sdk/integration-tests/kms/Cargo.toml b/aws/sdk/integration-tests/kms/Cargo.toml index 4e6611d4a4..bfe5ed5cd9 100644 --- a/aws/sdk/integration-tests/kms/Cargo.toml +++ b/aws/sdk/integration-tests/kms/Cargo.toml @@ -4,6 +4,9 @@ name = "kms-tests" version = "0.1.0" authors = ["Russell Cohen "] edition = "2021" +license = "Apache-2.0" +repository = "https://github.com/awslabs/smithy-rs" +publish = false # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/aws/sdk/integration-tests/lambda/Cargo.toml b/aws/sdk/integration-tests/lambda/Cargo.toml index 830e3eaf75..5492fbc68a 100644 --- a/aws/sdk/integration-tests/lambda/Cargo.toml +++ b/aws/sdk/integration-tests/lambda/Cargo.toml @@ -3,6 +3,9 @@ name = "lambda" version = "0.1.0" authors = ["AWS Rust SDK Team ", "Zelda Hessler "] edition = "2021" +license = "Apache-2.0" +repository = "https://github.com/awslabs/smithy-rs" +publish = false [dev-dependencies] async-stream = "0.3.0" diff --git a/aws/sdk/integration-tests/no-default-features/Cargo.toml b/aws/sdk/integration-tests/no-default-features/Cargo.toml index 45980e2b90..bb0ba9d02d 100644 --- a/aws/sdk/integration-tests/no-default-features/Cargo.toml +++ b/aws/sdk/integration-tests/no-default-features/Cargo.toml @@ -1,4 +1,3 @@ -# This Cargo.toml is unused in generated code. It exists solely to enable these tests to compile in-situ [package] name = "no-default-features" version = "0.1.0" @@ -8,6 +7,9 @@ These tests ensure that things will fail (or not fail) as expected when default features are disabled for all SDK and runtime crates. """ edition = "2021" +license = "Apache-2.0" +repository = "https://github.com/awslabs/smithy-rs" +publish = false # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/aws/sdk/integration-tests/polly/Cargo.toml b/aws/sdk/integration-tests/polly/Cargo.toml index c5ea81ebec..b7b1a0b6f8 100644 --- a/aws/sdk/integration-tests/polly/Cargo.toml +++ b/aws/sdk/integration-tests/polly/Cargo.toml @@ -4,6 +4,9 @@ name = "polly-tests" version = "0.1.0" authors = ["John DiSanti "] edition = "2021" +license = "Apache-2.0" +repository = "https://github.com/awslabs/smithy-rs" +publish = false # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/aws/sdk/integration-tests/qldbsession/Cargo.toml b/aws/sdk/integration-tests/qldbsession/Cargo.toml index fe28618f59..f6710cb575 100644 --- a/aws/sdk/integration-tests/qldbsession/Cargo.toml +++ b/aws/sdk/integration-tests/qldbsession/Cargo.toml @@ -4,6 +4,9 @@ name = "qldb-tests" version = "0.1.0" authors = ["Russell Cohen ", "Shing Lyu "] edition = "2021" +license = "Apache-2.0" +repository = "https://github.com/awslabs/smithy-rs" +publish = false # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/aws/sdk/integration-tests/s3control/Cargo.toml b/aws/sdk/integration-tests/s3control/Cargo.toml index 53b4c48c73..ada6d95b41 100644 --- a/aws/sdk/integration-tests/s3control/Cargo.toml +++ b/aws/sdk/integration-tests/s3control/Cargo.toml @@ -4,6 +4,9 @@ name = "s3control" version = "0.1.0" authors = ["AWS Rust SDK Team "] edition = "2021" +license = "Apache-2.0" +repository = "https://github.com/awslabs/smithy-rs" +publish = false # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/aws/sdk/integration-tests/sts/Cargo.toml b/aws/sdk/integration-tests/sts/Cargo.toml index 874ce80c89..63c91c4639 100644 --- a/aws/sdk/integration-tests/sts/Cargo.toml +++ b/aws/sdk/integration-tests/sts/Cargo.toml @@ -4,6 +4,9 @@ name = "sts-tests" version = "0.1.0" authors = ["Russell Cohen "] edition = "2021" +license = "Apache-2.0" +repository = "https://github.com/awslabs/smithy-rs" +publish = false # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/aws/sdk/integration-tests/transcribestreaming/Cargo.toml b/aws/sdk/integration-tests/transcribestreaming/Cargo.toml index b398e3554d..1c19e73f9f 100644 --- a/aws/sdk/integration-tests/transcribestreaming/Cargo.toml +++ b/aws/sdk/integration-tests/transcribestreaming/Cargo.toml @@ -1,8 +1,12 @@ +# This Cargo.toml is unused in generated code. It exists solely to enable these tests to compile in-situ [package] name = "transcribestreaming" version = "0.1.0" authors = ["AWS Rust SDK Team ", "John DiSanti "] edition = "2021" +license = "Apache-2.0" +repository = "https://github.com/awslabs/smithy-rs" +publish = false [dev-dependencies] async-stream = "0.3.0" diff --git a/build.gradle.kts b/build.gradle.kts index 316b1c8d9a..2c06af6725 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -31,7 +31,7 @@ allprojects.forEach { it.the().apply { toolVersion = "0.8.8" - reportsDirectory.set(file("${buildDir}/jacoco-reports")) + reportsDirectory.set(file("$buildDir/jacoco-reports")) } } diff --git a/buildSrc/src/main/kotlin/aws/sdk/ServiceLoader.kt b/buildSrc/src/main/kotlin/aws/sdk/ServiceLoader.kt index bb99ff0251..fdc6448b0c 100644 --- a/buildSrc/src/main/kotlin/aws/sdk/ServiceLoader.kt +++ b/buildSrc/src/main/kotlin/aws/sdk/ServiceLoader.kt @@ -14,6 +14,11 @@ import software.amazon.smithy.model.traits.TitleTrait import java.io.File import kotlin.streams.toList +data class RootTest( + val path: File, + val manifestName: String, +) + class AwsServices( private val project: Project, services: List, @@ -23,37 +28,56 @@ class AwsServices( val services: List val moduleNames: Set by lazy { services.map { it.module }.toSortedSet() } + init { + this.services = services.sortedBy { it.module } + } + val allModules: Set by lazy { ( services.map(AwsService::module).map { "sdk/$it" } + CrateSet.AWS_SDK_SMITHY_RUNTIME.map { "sdk/$it" } + CrateSet.AWS_SDK_RUNTIME.map { "sdk/$it" } + examples + // Root tests should not be included since they can't be part of the root Cargo workspace + // in order to test differences in Cargo features. ).toSortedSet() } val examples: List by lazy { project.projectDir.resolve("examples") .listFiles { file -> !file.name.startsWith(".") }.orEmpty().toList() - .filter { file -> - val cargoToml = File(file, "Cargo.toml") - if (cargoToml.exists()) { - val usedModules = cargoToml.readLines() - .map { line -> line.substringBefore('=').trim() } - .filter { line -> line.startsWith("aws-sdk-") } - .map { line -> line.substringAfter("aws-sdk-") } - .toSet() - moduleNames.containsAll(usedModules) - } else { - false - } - } + .filter { file -> manifestCompatibleWithGeneratedServices(file) } .map { "examples/${it.name}" } } - init { - this.services = services.sortedBy { it.module } + /** + * Tests in `aws/sdk/integration-tests` that are not named after a service module, and therefore, + * are not included in a service's `tests/` directory. These are to be included at the SDK root + * `tests/` directory for inclusion in CI. + */ + val rootTests: List by lazy { + project.projectDir.resolve("integration-tests") + .listFiles { file -> !file.name.startsWith(".") }.orEmpty().toList() + .filter { file -> !moduleNames.contains(file.name) && manifestCompatibleWithGeneratedServices(file) } + .map { file -> RootTest(file, "tests/${file.name}") } } + + /** + * Returns true if the Cargo manifest in the given path is compatible with the set of generated services. + */ + private fun manifestCompatibleWithGeneratedServices(path: File) = + File(path, "Cargo.toml").let { cargoToml -> + if (cargoToml.exists()) { + val usedModules = cargoToml.readLines() + .map { line -> line.substringBefore('=').trim() } + .filter { line -> line.startsWith("aws-sdk-") } + .map { line -> line.substringAfter("aws-sdk-") } + .toSet() + moduleNames.containsAll(usedModules) + } else { + false + } + } } /** diff --git a/ci.mk b/ci.mk index c39d416762..940775c407 100644 --- a/ci.mk +++ b/ci.mk @@ -4,7 +4,7 @@ # # This is a makefile executed by the `./ci` script that -# has a target for every single CI script in `tools/ci-build/scripts`, +# has a target for every single CI script in `tools/ci-scripts`, # with dependencies between targets included so that it's not necessary # to remember to generate a SDK for the targets that require one. @@ -14,7 +14,7 @@ CI_ACTION=$(CI_BUILD)/ci-action .PHONY: acquire-build-image acquire-build-image: - $(CI_BUILD)/acquire-build-image + ./smithy-rs/.github/scripts/acquire-build-image .PHONY: check-aws-config check-aws-config: generate-aws-sdk-smoketest @@ -36,6 +36,10 @@ check-aws-sdk-examples: generate-aws-sdk check-aws-sdk-services: generate-aws-sdk $(CI_ACTION) $@ $(ARGS) +.PHONY: check-only-aws-sdk-services +check-only-aws-sdk-services: generate-aws-sdk + $(CI_ACTION) $@ $(ARGS) + .PHONY: check-aws-sdk-smoketest-docs-clippy-udeps check-aws-sdk-smoketest-docs-clippy-udeps: generate-aws-sdk-smoketest $(CI_ACTION) $@ $(ARGS) @@ -115,7 +119,3 @@ generate-codegen-diff: .PHONY: generate-smithy-rs-release generate-smithy-rs-release: $(CI_ACTION) $@ $(ARGS) - -.PHONY: sanity-test -sanity-test: - $(CI_ACTION) $@ $(ARGS) diff --git a/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/generators/client/FluentClientDecorator.kt b/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/generators/client/FluentClientDecorator.kt index 1691dffe1b..b6fced279f 100644 --- a/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/generators/client/FluentClientDecorator.kt +++ b/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/generators/client/FluentClientDecorator.kt @@ -17,7 +17,7 @@ import software.amazon.smithy.rust.codegen.core.rustlang.writable import software.amazon.smithy.rust.codegen.core.smithy.CodegenContext import software.amazon.smithy.rust.codegen.core.smithy.RuntimeType import software.amazon.smithy.rust.codegen.core.smithy.RustCrate -import software.amazon.smithy.rust.codegen.core.smithy.customize.NamedSectionGenerator +import software.amazon.smithy.rust.codegen.core.smithy.customize.NamedCustomization import software.amazon.smithy.rust.codegen.core.smithy.customize.Section import software.amazon.smithy.rust.codegen.core.smithy.generators.LibRsCustomization import software.amazon.smithy.rust.codegen.core.smithy.generators.LibRsSection @@ -72,7 +72,7 @@ sealed class FluentClientSection(name: String) : Section(name) { data class FluentClientDocs(val serviceShape: ServiceShape) : FluentClientSection("FluentClientDocs") } -abstract class FluentClientCustomization : NamedSectionGenerator() +abstract class FluentClientCustomization : NamedCustomization() class GenericFluentClient(codegenContext: CodegenContext) : FluentClientCustomization() { private val moduleUseName = codegenContext.moduleUseName() diff --git a/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/generators/client/FluentClientGenerator.kt b/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/generators/client/FluentClientGenerator.kt index a1e1c73957..d5b8ebd941 100644 --- a/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/generators/client/FluentClientGenerator.kt +++ b/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/generators/client/FluentClientGenerator.kt @@ -321,7 +321,7 @@ class FluentClientGenerator( """ /// Create a paginator for this request /// - /// Paginators are used by calling [`send().await`](#{Paginator}::send) which returns a [`Stream`](tokio_stream::Stream). + /// Paginators are used by calling [`send().await`](#{Paginator}::send) which returns a `Stream`. pub fn into_paginator(self) -> #{Paginator}${generics.inst} { #{Paginator}::new(self.handle, self.inner) } diff --git a/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/generators/config/IdempotencyTokenProviderCustomization.kt b/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/generators/config/IdempotencyTokenProviderCustomization.kt index eb7057c32c..7cda821957 100644 --- a/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/generators/config/IdempotencyTokenProviderCustomization.kt +++ b/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/generators/config/IdempotencyTokenProviderCustomization.kt @@ -10,12 +10,12 @@ import software.amazon.smithy.rust.codegen.core.rustlang.rust import software.amazon.smithy.rust.codegen.core.rustlang.rustTemplate import software.amazon.smithy.rust.codegen.core.rustlang.writable import software.amazon.smithy.rust.codegen.core.smithy.RuntimeType -import software.amazon.smithy.rust.codegen.core.smithy.customize.NamedSectionGenerator +import software.amazon.smithy.rust.codegen.core.smithy.customize.NamedCustomization /** * Add a `make_token` field to Service config. See below for the resulting generated code. */ -class IdempotencyTokenProviderCustomization : NamedSectionGenerator() { +class IdempotencyTokenProviderCustomization : NamedCustomization() { override fun section(section: ServiceConfig): Writable { return when (section) { is ServiceConfig.ConfigStruct -> writable { diff --git a/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/generators/config/ServiceConfigGenerator.kt b/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/generators/config/ServiceConfigGenerator.kt index 5966c401c3..00bc592ff4 100644 --- a/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/generators/config/ServiceConfigGenerator.kt +++ b/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/generators/config/ServiceConfigGenerator.kt @@ -23,7 +23,7 @@ import software.amazon.smithy.rust.codegen.core.rustlang.rustBlock import software.amazon.smithy.rust.codegen.core.rustlang.rustTemplate import software.amazon.smithy.rust.codegen.core.rustlang.writable import software.amazon.smithy.rust.codegen.core.smithy.CodegenContext -import software.amazon.smithy.rust.codegen.core.smithy.customize.NamedSectionGenerator +import software.amazon.smithy.rust.codegen.core.smithy.customize.NamedCustomization import software.amazon.smithy.rust.codegen.core.smithy.customize.Section import software.amazon.smithy.rust.codegen.core.smithy.makeOptional import software.amazon.smithy.rust.codegen.core.util.hasTrait @@ -39,7 +39,7 @@ import software.amazon.smithy.rust.codegen.core.util.hasTrait * * Usage: * ```kotlin - * class AddRegion : NamedSectionGenerator() { + * class AddRegion : NamedCustomization() { * override fun section(section: ServiceConfig): Writable { * return when (section) { * is ServiceConfig.ConfigStruct -> writeable { @@ -156,7 +156,7 @@ fun ServiceShape.needsIdempotencyToken(model: Model): Boolean { .any { it.hasTrait() } } -typealias ConfigCustomization = NamedSectionGenerator +typealias ConfigCustomization = NamedCustomization /** * Generate a `Config` struct, implementation & builder for a given service, approximately: diff --git a/codegen-client/src/test/kotlin/software/amazon/smithy/rust/codegen/client/endpoint/EndpointsDecoratorTest.kt b/codegen-client/src/test/kotlin/software/amazon/smithy/rust/codegen/client/endpoint/EndpointsDecoratorTest.kt index 15493f9135..d05f3b21de 100644 --- a/codegen-client/src/test/kotlin/software/amazon/smithy/rust/codegen/client/endpoint/EndpointsDecoratorTest.kt +++ b/codegen-client/src/test/kotlin/software/amazon/smithy/rust/codegen/client/endpoint/EndpointsDecoratorTest.kt @@ -81,7 +81,7 @@ class EndpointsDecoratorTest { "Region": "test-region" }, "operationInputs": [ - { "operationName": "TestOperation" } + { "operationName": "TestOperation", "operationParams": { "nested": { "field": "test" } } } ], "expect": { "endpoint": { @@ -110,7 +110,12 @@ class EndpointsDecoratorTest { structure TestOperationInput { @contextParam(name: "Bucket") - bucket: String + bucket: String, + nested: NestedStructure + } + + structure NestedStructure { + field: String } """.asSmithyModel() diff --git a/codegen-client/src/test/kotlin/software/amazon/smithy/rust/codegen/client/smithy/generators/config/ServiceConfigGeneratorTest.kt b/codegen-client/src/test/kotlin/software/amazon/smithy/rust/codegen/client/smithy/generators/config/ServiceConfigGeneratorTest.kt index 0241133f23..366ff370dc 100644 --- a/codegen-client/src/test/kotlin/software/amazon/smithy/rust/codegen/client/smithy/generators/config/ServiceConfigGeneratorTest.kt +++ b/codegen-client/src/test/kotlin/software/amazon/smithy/rust/codegen/client/smithy/generators/config/ServiceConfigGeneratorTest.kt @@ -13,7 +13,7 @@ import software.amazon.smithy.rust.codegen.core.rustlang.RustModule import software.amazon.smithy.rust.codegen.core.rustlang.Writable import software.amazon.smithy.rust.codegen.core.rustlang.rust import software.amazon.smithy.rust.codegen.core.rustlang.writable -import software.amazon.smithy.rust.codegen.core.smithy.customize.NamedSectionGenerator +import software.amazon.smithy.rust.codegen.core.smithy.customize.NamedCustomization import software.amazon.smithy.rust.codegen.core.testutil.TestWorkspace import software.amazon.smithy.rust.codegen.core.testutil.asSmithyModel import software.amazon.smithy.rust.codegen.core.testutil.compileAndTest @@ -78,7 +78,7 @@ internal class ServiceConfigGeneratorTest { @Test fun `generate customizations as specified`() { - class ServiceCustomizer : NamedSectionGenerator() { + class ServiceCustomizer : NamedCustomization() { override fun section(section: ServiceConfig): Writable { return when (section) { ServiceConfig.ConfigStructAdditionalDocs -> emptySection diff --git a/codegen-core/common-test-models/constraints.smithy b/codegen-core/common-test-models/constraints.smithy index cdc2eea0a6..2651b77335 100644 --- a/codegen-core/common-test-models/constraints.smithy +++ b/codegen-core/common-test-models/constraints.smithy @@ -227,10 +227,8 @@ structure ConstrainedHttpBoundShapesOperationInputOutput { // @httpHeader("X-Length-MediaType") // lengthStringHeaderWithMediaType: MediaTypeLengthString, - // TODO(https://github.com/awslabs/smithy-rs/issues/1401): a `set` shape is - // just a `list` shape with `uniqueItems`, which hasn't been implemented yet. - // @httpHeader("X-Length-Set") - // lengthStringSetHeader: SetOfLengthString, + @httpHeader("X-Length-Set") + lengthStringSetHeader: SetOfLengthString, @httpHeader("X-List-Length-String") listLengthStringHeader: ListOfLengthString, @@ -238,34 +236,27 @@ structure ConstrainedHttpBoundShapesOperationInputOutput { @httpHeader("X-Length-List-Pattern-String") lengthListPatternStringHeader: LengthListOfPatternString, - // TODO(https://github.com/awslabs/smithy-rs/issues/1401): a `set` shape is - // just a `list` shape with `uniqueItems`, which hasn't been implemented yet. - // @httpHeader("X-Length-Set-Pattern-String") - // lengthSetPatternStringHeader: LengthSetOfPatternString, - - // TODO(https://github.com/awslabs/smithy-rs/issues/1401): a `set` shape is - // just a `list` shape with `uniqueItems`, which hasn't been implemented yet. - // @httpHeader("X-Range-Integer-Set") - // rangeIntegerSetHeader: SetOfRangeInteger, - // @httpHeader("X-Range-Short-Set") - // rangeShortSetHeader: SetOfShortInteger, - // @httpHeader("X-Range-Long-Set") - // rangeLongSetHeader: SetOfRangeLong, - // @httpHeader("X-Range-Byte-Set") - // rangeByteSetHeader: SetOfByteInteger, + @httpHeader("X-Length-Set-Pattern-String") + lengthSetPatternStringHeader: LengthSetOfPatternString, - @httpHeader("X-Range-Integer-List") - rangeIntegerListHeader: ListOfRangeInteger, + @httpHeader("X-Range-Byte-Set") + rangeByteSetHeader: SetOfRangeByte, + @httpHeader("X-Range-Short-Set") + rangeShortSetHeader: SetOfRangeShort, + @httpHeader("X-Range-Integer-Set") + rangeIntegerSetHeader: SetOfRangeInteger, + @httpHeader("X-Range-Long-Set") + rangeLongSetHeader: SetOfRangeLong, + @httpHeader("X-Range-Byte-List") + rangeByteListHeader: ListOfRangeByte, @httpHeader("X-Range-Short-List") rangeShortListHeader: ListOfRangeShort, - + @httpHeader("X-Range-Integer-List") + rangeIntegerListHeader: ListOfRangeInteger, @httpHeader("X-Range-Long-List") rangeLongListHeader: ListOfRangeLong, - @httpHeader("X-Range-Byte-List") - rangeByteListHeader: ListOfRangeByte, - // TODO(https://github.com/awslabs/smithy-rs/issues/1431) // @httpHeader("X-Enum") //enumStringHeader: EnumString, @@ -276,17 +267,15 @@ structure ConstrainedHttpBoundShapesOperationInputOutput { @httpQuery("lengthString") lengthStringQuery: LengthString, - @httpQuery("rangeInteger") - rangeIntegerQuery: RangeInteger, - + @httpQuery("rangeByte") + rangeByteQuery: RangeByte, @httpQuery("rangeShort") rangeShortQuery: RangeShort, - + @httpQuery("rangeInteger") + rangeIntegerQuery: RangeInteger, @httpQuery("rangeLong") rangeLongQuery: RangeLong, - @httpQuery("rangeByte") - rangeByteQuery: RangeByte, @httpQuery("enumString") enumStringQuery: EnumString, @@ -297,33 +286,26 @@ structure ConstrainedHttpBoundShapesOperationInputOutput { @httpQuery("lengthListPatternString") lengthListPatternStringQuery: LengthListOfPatternString, - // TODO(https://github.com/awslabs/smithy-rs/issues/1401): a `set` shape is - // just a `list` shape with `uniqueItems`, which hasn't been implemented yet. - // @httpQuery("lengthStringSet") - // lengthStringSetQuery: SetOfLengthString, - - @httpQuery("rangeIntegerList") - rangeIntegerListQuery: ListOfRangeInteger, + @httpQuery("lengthStringSet") + lengthStringSetQuery: SetOfLengthString, + @httpQuery("rangeByteList") + rangeByteListQuery: ListOfRangeByte, @httpQuery("rangeShortList") rangeShortListQuery: ListOfRangeShort, - + @httpQuery("rangeIntegerList") + rangeIntegerListQuery: ListOfRangeInteger, @httpQuery("rangeLongList") rangeLongListQuery: ListOfRangeLong, - @httpQuery("rangeByteList") - rangeByteListQuery: ListOfRangeByte, - - // TODO(https://github.com/awslabs/smithy-rs/issues/1401): a `set` shape is - // just a `list` shape with `uniqueItems`, which hasn't been implemented yet. - // @httpQuery("rangeIntegerSet") - // rangeIntegerSetQuery: SetOfRangeInteger, - // @httpQuery("rangeShortSet") - // rangeShortSetQuery: SetOfRangeShort, - // @httpQuery("rangeLongSet") - // rangeLongSetQuery: SetOfRangeLong, - // @httpQuery("rangeByteSet") - // rangeByteSetQuery: SetOfRangeByte, + @httpQuery("rangeByteSet") + rangeByteSetQuery: SetOfRangeByte, + @httpQuery("rangeShortSet") + rangeShortSetQuery: SetOfRangeShort, + @httpQuery("rangeIntegerSet") + rangeIntegerSetQuery: SetOfRangeInteger, + @httpQuery("rangeLongSet") + rangeLongSetQuery: SetOfRangeLong, @httpQuery("enumStringList") enumStringListQuery: ListOfEnumString, @@ -473,9 +455,7 @@ structure ConA { conBList: ConBList, lengthList: LengthList, - // TODO(https://github.com/awslabs/smithy-rs/issues/1401): a `set` shape is - // just a `list` shape with `uniqueItems`, which hasn't been implemented yet. - // conBSet: ConBSet, + conBSet: ConBSet, conBMap: ConBMap, lengthMap: LengthMap, @@ -490,9 +470,7 @@ structure ConA { enumString: EnumString, listOfLengthString: ListOfLengthString, - // TODO(https://github.com/awslabs/smithy-rs/issues/1401): a `set` shape is - // just a `list` shape with `uniqueItems`, which hasn't been implemented yet. - // setOfLengthString: SetOfLengthString, + setOfLengthString: SetOfLengthString, mapOfLengthString: MapOfLengthString, listOfLengthBlob: ListOfLengthBlob, @@ -502,27 +480,19 @@ structure ConA { mapOfLengthBlob: MapOfLengthBlob, listOfRangeInteger: ListOfRangeInteger, - // TODO(https://github.com/awslabs/smithy-rs/issues/1401): a `set` shape is - // just a `list` shape with `uniqueItems`, which hasn't been implemented yet. - // setOfRangeInteger: SetOfRangeInteger, + setOfRangeInteger: SetOfRangeInteger, mapOfRangeInteger: MapOfRangeInteger, listOfRangeShort: ListOfRangeShort, - // TODO(https://github.com/awslabs/smithy-rs/issues/1401): a `set` shape is - // just a `list` shape with `uniqueItems`, which hasn't been implemented yet. - // setOfRangeShort: SetOfRangeShort, + setOfRangeShort: SetOfRangeShort, mapOfRangeShort: MapOfRangeShort, listOfRangeLong: ListOfRangeLong, - // TODO(https://github.com/awslabs/smithy-rs/issues/1401): a `set` shape is - // just a `list` shape with `uniqueItems`, which hasn't been implemented yet. - // setOfRangeLong: SetOfRangeLong, + setOfRangeLong: SetOfRangeLong, mapOfRangeLong: MapOfRangeLong, listOfRangeByte: ListOfRangeByte, - // TODO(https://github.com/awslabs/smithy-rs/issues/1401): a `set` shape is - // just a `list` shape with `uniqueItems`, which hasn't been implemented yet. - // setOfRangeByte: SetOfRangeByte, + setOfRangeByte: SetOfRangeByte, mapOfRangeByte: MapOfRangeByte, nonStreamingBlob: NonStreamingBlob @@ -530,27 +500,26 @@ structure ConA { patternString: PatternString, mapOfPatternString: MapOfPatternString, listOfPatternString: ListOfPatternString, - // TODO(https://github.com/awslabs/smithy-rs/issues/1401): a `set` shape is - // just a `list` shape with `uniqueItems`, which hasn't been implemented yet. - // setOfPatternString: SetOfPatternString, + setOfPatternString: SetOfPatternString, lengthLengthPatternString: LengthPatternString, mapOfLengthPatternString: MapOfLengthPatternString, listOfLengthPatternString: ListOfLengthPatternString - // TODO(https://github.com/awslabs/smithy-rs/issues/1401): a `set` shape is - // just a `list` shape with `uniqueItems`, which hasn't been implemented yet. - // setOfLengthPatternString: SetOfLengthPatternString, + setOfLengthPatternString: SetOfLengthPatternString, lengthListOfPatternString: LengthListOfPatternString, - // TODO(https://github.com/awslabs/smithy-rs/issues/1401): a `set` shape is - // just a `list` shape with `uniqueItems`, which hasn't been implemented yet. - // lengthSetOfPatternString: LengthSetOfPatternString, + lengthSetOfPatternString: LengthSetOfPatternString, +} + +@uniqueItems +list UniqueItemsList { + member: String } @sparse map SparseMap { key: String, - value: LengthString + value: UniqueItemsList } @sparse @@ -628,10 +597,7 @@ map MapOfListOfLengthPatternString { map MapOfSetOfLengthString { key: LengthString, - // TODO(https://github.com/awslabs/smithy-rs/issues/1401): a `set` shape is - // just a `list` shape with `uniqueItems`, which hasn't been implemented yet. - // value: SetOfLengthString, - value: ListOfLengthString + value: SetOfLengthString, } map MapOfLengthListOfPatternString { @@ -639,33 +605,25 @@ map MapOfLengthListOfPatternString { value: LengthListOfPatternString } -// TODO(https://github.com/awslabs/smithy-rs/issues/1401): a `set` shape is -// just a `list` shape with `uniqueItems`, which hasn't been implemented yet. -// map MapOfSetOfRangeInteger { -// key: String, -// value: SetOfRangeInteger, -// } - -// TODO(https://github.com/awslabs/smithy-rs/issues/1401): a `set` shape is -// just a `list` shape with `uniqueItems`, which hasn't been implemented yet. -// map MapOfSetOfRangeShort { -// key: String, -// value: SetOfRangeShort, -// } - -// TODO(https://github.com/awslabs/smithy-rs/issues/1401): a `set` shape is -// just a `list` shape with `uniqueItems`, which hasn't been implemented yet. -// map MapOfSetOfRangeLong { -// key: String, -// value: SetOfRangeLong, -// } - -// TODO(https://github.com/awslabs/smithy-rs/issues/1401): a `set` shape is -// just a `list` shape with `uniqueItems`, which hasn't been implemented yet. -// map MapOfSetOfRangeByte { -// key: String, -// value: SetOfRangeByte, -// } +map MapOfSetOfRangeInteger { + key: String, + value: SetOfRangeInteger, +} + +map MapOfSetOfRangeShort { + key: String, + value: SetOfRangeShort, +} + +map MapOfSetOfRangeLong { + key: String, + value: SetOfRangeLong, +} + +map MapOfSetOfRangeByte { + key: String, + value: SetOfRangeByte, +} @length(min: 2, max: 8) list LengthListOfLengthString { @@ -767,9 +725,7 @@ union ConstrainedUnion { constrainedStructure: ConB, conBList: ConBList, - // TODO(https://github.com/awslabs/smithy-rs/issues/1401): a `set` shape is - // just a `list` shape with `uniqueItems`, which hasn't been implemented yet. - // conBSet: ConBSet, + conBSet: ConBSet, conBMap: ConBMap, } @@ -814,45 +770,37 @@ list ListOfLengthString { member: LengthString } +set SetOfRangeInteger { + member: RangeInteger +} + list ListOfLengthBlob { member: LengthBlob } -// TODO(https://github.com/awslabs/smithy-rs/issues/1401): a `set` shape is -// just a `list` shape with `uniqueItems`, which hasn't been implemented yet. -// set SetOfRangeInteger { -// member: RangeInteger -// } - list ListOfRangeInteger { member: RangeInteger } -// TODO(https://github.com/awslabs/smithy-rs/issues/1401): a `set` shape is -// just a `list` shape with `uniqueItems`, which hasn't been implemented yet. -// set SetOfRangeShort { -// member: RangeShort -// } +set SetOfRangeShort { + member: RangeShort +} list ListOfRangeShort { member: RangeShort } -// TODO(https://github.com/awslabs/smithy-rs/issues/1401): a `set` shape is -// just a `list` shape with `uniqueItems`, which hasn't been implemented yet. -// set SetOfRangeLong { -// member: RangeLong -// } +set SetOfRangeLong { + member: RangeLong +} list ListOfRangeLong { member: RangeLong } -// TODO(https://github.com/awslabs/smithy-rs/issues/1401): a `set` shape is -// just a `list` shape with `uniqueItems`, which hasn't been implemented yet. -// set SetOfRangeByte { -// member: RangeByte -// } +set SetOfRangeByte { + member: RangeByte +} list ListOfRangeByte { member: RangeByte @@ -918,15 +866,13 @@ list LengthList { member: String } -// TODO(https://github.com/awslabs/smithy-rs/issues/1401): a `set` shape is -// just a `list` shape with `uniqueItems`, which hasn't been implemented yet. -// set ConBSet { -// member: ConBSetInner -// } -// -// set ConBSetInner { -// member: String -// } +set ConBSet { + member: ConBSetInner +} + +set ConBSetInner { + member: String +} map MapOfPatternString { key: PatternString, diff --git a/codegen-core/common-test-models/unique-items.smithy b/codegen-core/common-test-models/unique-items.smithy new file mode 100644 index 0000000000..121d81cfe5 --- /dev/null +++ b/codegen-core/common-test-models/unique-items.smithy @@ -0,0 +1,110 @@ +// TODO(https://github.com/awslabs/smithy/issues/1541): This file is +// temporary; these tests should really be in awslabs/smithy, but they were removed. +// They have been written starting off from the commit that removed them: +// https://github.com/awslabs/smithy/commit/1b5737a873033a101066b3d92b9e11d4ed3587c7 + +$version: "1.0" + +namespace com.amazonaws.constraints + +use aws.protocols#restJson1 +use smithy.framework#ValidationException +use smithy.test#httpMalformedRequestTests + +@restJson1 +service UniqueItemsService { + operations: [ + MalformedUniqueItems + ] +} + +@http(uri: "/MalformedUniqueItems", method: "POST") +operation MalformedUniqueItems { + input: MalformedUniqueItemsInput, + errors: [ValidationException] +} + +apply MalformedUniqueItems @httpMalformedRequestTests([ + { + id: "RestJsonMalformedUniqueItemsDuplicateItems", + documentation: """ + When the list has duplicated items, the response should be a 400 + ValidationException.""", + protocol: restJson1, + request: { + method: "POST", + uri: "/MalformedUniqueItems", + body: """ + { "set" : ["a", "a", "b", "c"] }""", + headers: { + "content-type": "application/json" + } + }, + response: { + code: 400, + headers: { + "x-amzn-errortype": "ValidationException" + }, + body: { + mediaType: "application/json", + assertion: { + contents: """ + { "message" : "1 validation error detected. Value with repeated values at indices [0, 1] at '/set' failed to satisfy constraint: Member must have unique values", + "fieldList" : [{"message": "Value with repeated values at indices [0, 1] at '/set' failed to satisfy constraint: Member must have unique values", "path": "/set"}]}""" + } + } + } + }, + { + id: "RestJsonMalformedUniqueItemsDuplicateBlobs", + documentation: """ + When the list has duplicated blobs, the response should be a 400 + ValidationException.""", + protocol: restJson1, + request: { + method: "POST", + uri: "/MalformedUniqueItems", + body: """ + { "complexSet" : [{"foo": true, "blob": "YmxvYg=="}, {"foo": true, "blob": "b3RoZXJibG9i"}, {"foo": true, "blob": "YmxvYg=="}] }""", + headers: { + "content-type": "application/json" + } + }, + response: { + code: 400, + headers: { + "x-amzn-errortype": "ValidationException" + }, + body: { + mediaType: "application/json", + assertion: { + contents: """ + { "message" : "1 validation error detected. Value with repeated values at indices [0, 2] at '/complexSet' failed to satisfy constraint: Member must have unique values", + "fieldList" : [{"message": "Value with repeated values at indices [0, 2] at '/complexSet' failed to satisfy constraint: Member must have unique values", "path": "/complexSet"}]}""" + } + } + } + }, + // Note that the previously existing `RestJsonMalformedUniqueItemsNullItem` test is already covered by `RestJsonMalformedUniqueItemsNullItem`. + // See https://github.com/awslabs/smithy/issues/1577#issuecomment-1397069720. +]) + +structure MalformedUniqueItemsInput { + set: SimpleSet, + complexSet: ComplexSet +} + +@uniqueItems +list SimpleSet { + member: String +} + +@uniqueItems +list ComplexSet { + member: ComplexSetStruct +} + +structure ComplexSetStruct { + foo: Boolean, + blob: Blob +} diff --git a/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/PublicImportSymbolProvider.kt b/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/PublicImportSymbolProvider.kt new file mode 100644 index 0000000000..d42bdd233a --- /dev/null +++ b/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/PublicImportSymbolProvider.kt @@ -0,0 +1,32 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +package software.amazon.smithy.rust.codegen.core.smithy + +import software.amazon.smithy.codegen.core.Symbol +import software.amazon.smithy.model.shapes.Shape +import software.amazon.smithy.rust.codegen.core.rustlang.RustType + +/** + * Rewrite crate::* with `::*` + * + * This enables generating code into `tests` and other public locations. + */ +class PublicImportSymbolProvider(private val base: RustSymbolProvider, private val publicUseName: String) : + WrappingSymbolProvider(base) { + override fun toSymbol(shape: Shape): Symbol { + val baseSymbol = base.toSymbol(shape) + + val currentRustType = baseSymbol.rustType() + val currentNamespace = currentRustType.namespace + val newRustType = + if (currentRustType is RustType.Opaque && currentNamespace != null && currentNamespace.startsWith("crate::")) { + currentRustType.copy(namespace = currentNamespace.replace("crate::", "$publicUseName::")) + } else { + currentRustType + } + return baseSymbol.toBuilder().rustType(newRustType).build() + } +} diff --git a/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/customize/CoreCodegenDecorator.kt b/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/customize/CoreCodegenDecorator.kt index 6a33d82c96..c886c4ed97 100644 --- a/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/customize/CoreCodegenDecorator.kt +++ b/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/customize/CoreCodegenDecorator.kt @@ -8,7 +8,6 @@ package software.amazon.smithy.rust.codegen.core.smithy.customize import software.amazon.smithy.build.PluginContext import software.amazon.smithy.model.Model import software.amazon.smithy.model.shapes.ServiceShape -import software.amazon.smithy.rust.codegen.core.rustlang.Writable import software.amazon.smithy.rust.codegen.core.smithy.RustCrate import software.amazon.smithy.rust.codegen.core.smithy.generators.LibRsCustomization import software.amazon.smithy.rust.codegen.core.smithy.generators.ManifestCustomizations @@ -66,7 +65,7 @@ interface CoreCodegenDecorator { /** * Extra sections allow one decorator to influence another. This is intended to be used by querying the `rootDecorator` */ - fun extraSections(codegenContext: CodegenContext): List, (Section) -> Writable>> = listOf() + fun extraSections(codegenContext: CodegenContext): List = listOf() } /** @@ -99,7 +98,7 @@ abstract class CombinedCoreCodegenDecorator, (Section) -> Writable>> = + final override fun extraSections(codegenContext: CodegenContext): List = addCustomizations { decorator -> decorator.extraSections(codegenContext) } /** diff --git a/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/customize/NamedSectionGenerator.kt b/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/customize/Customization.kt similarity index 61% rename from codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/customize/NamedSectionGenerator.kt rename to codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/customize/Customization.kt index ccc9702e09..d563349867 100644 --- a/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/customize/NamedSectionGenerator.kt +++ b/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/customize/Customization.kt @@ -23,31 +23,39 @@ import software.amazon.smithy.rust.codegen.core.rustlang.writable */ abstract class Section(val name: String) +/** Customization type returned by [adhocCustomization] */ +typealias AdHocCustomization = NamedCustomization + +/** Adhoc section for code generation. Similar to [Section], but for use with [adhocCustomization]. */ +abstract class AdHocSection(name: String) : Section(name) + /** - * Detatched section abstraction to allow adhoc sections to be created. By using the `.writer` method, a instantiation - * of this section can be easily created. + * Allows for one-off customizations such that a `when` statement switching on + * the section type is not necessary. */ -abstract class AdHocSection(val name: String) { - /** - * Helper to enable easily combining detached sections with the [CoreCodegenDecorator.extraSections] method. - */ - fun create(w: (T) -> Writable): Pair, (Section) -> Writable> = this to { s: Section -> - w((s as T)) +inline fun adhocCustomization( + crossinline customization: RustWriter.(T) -> Unit, +): AdHocCustomization = + object : AdHocCustomization() { + override fun section(section: AdHocSection): Writable = writable { + if (section is T) { + customization(section) + } + } } -} /** - * A named section generator allows customization via a predefined set of named sections. + * A named section generator that allows customization via a predefined set of named sections. * * Implementors MUST override section and use a `when` clause to handle each section individually */ -abstract class NamedSectionGenerator { +abstract class NamedCustomization { abstract fun section(section: T): Writable protected val emptySection = writable { } } /** Convenience for rendering a list of customizations for a given section */ -fun RustWriter.writeCustomizations(customizations: List>, section: T) { +fun RustWriter.writeCustomizations(customizations: List>, section: T) { for (customization in customizations) { customization.section(section)(this) } diff --git a/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/customize/OperationCustomization.kt b/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/customize/OperationCustomization.kt index a7dd176a9e..d11f98a5c7 100644 --- a/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/customize/OperationCustomization.kt +++ b/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/customize/OperationCustomization.kt @@ -55,7 +55,7 @@ sealed class OperationSection(name: String) : Section(name) { ) : OperationSection("MutateOutput") } -abstract class OperationCustomization : NamedSectionGenerator() { +abstract class OperationCustomization : NamedCustomization() { open fun retryType(): RuntimeType? = null /** diff --git a/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/generators/Instantiator.kt b/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/generators/Instantiator.kt index 04e93f97b6..a2683ab713 100644 --- a/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/generators/Instantiator.kt +++ b/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/generators/Instantiator.kt @@ -46,6 +46,8 @@ import software.amazon.smithy.rust.codegen.core.rustlang.writable import software.amazon.smithy.rust.codegen.core.smithy.RuntimeConfig import software.amazon.smithy.rust.codegen.core.smithy.RuntimeType import software.amazon.smithy.rust.codegen.core.smithy.RustSymbolProvider +import software.amazon.smithy.rust.codegen.core.smithy.customize.NamedCustomization +import software.amazon.smithy.rust.codegen.core.smithy.customize.Section import software.amazon.smithy.rust.codegen.core.smithy.isOptional import software.amazon.smithy.rust.codegen.core.smithy.rustType import software.amazon.smithy.rust.codegen.core.util.dq @@ -55,7 +57,19 @@ import software.amazon.smithy.rust.codegen.core.util.isTargetUnit import software.amazon.smithy.rust.codegen.core.util.letIf /** - * Instantiator generates code to instantiate a given Shape given a `Node` representing the value. + * Class describing an instantiator section that can be used in a customization. + */ +sealed class InstantiatorSection(name: String) : Section(name) { + data class AfterInstantiatingValue(val shape: Shape) : InstantiatorSection("AfterInstantiatingValue") +} + +/** + * Customization for the instantiator. + */ +typealias InstantiatorCustomization = NamedCustomization + +/** + * Instantiator generates code to instantiate a given shape given a `Node` representing the value. * * This is only used during protocol test generation. */ @@ -72,6 +86,7 @@ open class Instantiator( private val enumFromStringFn: (Symbol, String) -> Writable, /** Fill out required fields with a default value. **/ private val defaultsForRequiredFields: Boolean = false, + private val customizations: List = listOf(), ) { data class Ctx( // The `http` crate requires that headers be lowercase, but Smithy protocol tests @@ -281,6 +296,9 @@ open class Instantiator( rust(",") } } + for (customization in customizations) { + customization.section(InstantiatorSection.AfterInstantiatingValue(shape))(writer) + } } private fun renderString(writer: RustWriter, shape: StringShape, arg: StringNode) { diff --git a/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/generators/LibRsGenerator.kt b/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/generators/LibRsGenerator.kt index c15d545e6b..359386e34d 100644 --- a/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/generators/LibRsGenerator.kt +++ b/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/generators/LibRsGenerator.kt @@ -13,7 +13,7 @@ import software.amazon.smithy.rust.codegen.core.rustlang.escape import software.amazon.smithy.rust.codegen.core.rustlang.isEmpty import software.amazon.smithy.rust.codegen.core.rustlang.rust import software.amazon.smithy.rust.codegen.core.smithy.CoreRustSettings -import software.amazon.smithy.rust.codegen.core.smithy.customize.NamedSectionGenerator +import software.amazon.smithy.rust.codegen.core.smithy.customize.NamedCustomization import software.amazon.smithy.rust.codegen.core.smithy.customize.Section import software.amazon.smithy.rust.codegen.core.util.getTrait @@ -27,7 +27,7 @@ sealed class LibRsSection(name: String) : Section(name) { } } -typealias LibRsCustomization = NamedSectionGenerator +typealias LibRsCustomization = NamedCustomization class LibRsGenerator( private val settings: CoreRustSettings, diff --git a/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/generators/http/HttpBindingGenerator.kt b/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/generators/http/HttpBindingGenerator.kt index 597ff267e2..b2ca5e066f 100644 --- a/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/generators/http/HttpBindingGenerator.kt +++ b/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/generators/http/HttpBindingGenerator.kt @@ -41,7 +41,7 @@ import software.amazon.smithy.rust.codegen.core.rustlang.withBlock import software.amazon.smithy.rust.codegen.core.smithy.CodegenContext import software.amazon.smithy.rust.codegen.core.smithy.CodegenTarget import software.amazon.smithy.rust.codegen.core.smithy.RuntimeType -import software.amazon.smithy.rust.codegen.core.smithy.customize.NamedSectionGenerator +import software.amazon.smithy.rust.codegen.core.smithy.customize.NamedCustomization import software.amazon.smithy.rust.codegen.core.smithy.customize.Section import software.amazon.smithy.rust.codegen.core.smithy.generators.OperationBuildError import software.amazon.smithy.rust.codegen.core.smithy.generators.operationBuildError @@ -90,7 +90,7 @@ sealed class HttpBindingSection(name: String) : Section(name) { HttpBindingSection("AfterDeserializingIntoAHashMapOfHttpPrefixHeaders") } -typealias HttpBindingCustomization = NamedSectionGenerator +typealias HttpBindingCustomization = NamedCustomization /** * This class generates Rust functions that (de)serialize data from/to an HTTP message. diff --git a/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/protocols/parse/JsonParserGenerator.kt b/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/protocols/parse/JsonParserGenerator.kt index d376f18c9f..1e8f8151f7 100644 --- a/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/protocols/parse/JsonParserGenerator.kt +++ b/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/protocols/parse/JsonParserGenerator.kt @@ -35,12 +35,11 @@ import software.amazon.smithy.rust.codegen.core.rustlang.rustBlockTemplate import software.amazon.smithy.rust.codegen.core.rustlang.rustTemplate import software.amazon.smithy.rust.codegen.core.rustlang.withBlock import software.amazon.smithy.rust.codegen.core.rustlang.withBlockTemplate -import software.amazon.smithy.rust.codegen.core.rustlang.writable import software.amazon.smithy.rust.codegen.core.smithy.CodegenContext import software.amazon.smithy.rust.codegen.core.smithy.CodegenTarget import software.amazon.smithy.rust.codegen.core.smithy.RuntimeType import software.amazon.smithy.rust.codegen.core.smithy.canUseDefault -import software.amazon.smithy.rust.codegen.core.smithy.customize.NamedSectionGenerator +import software.amazon.smithy.rust.codegen.core.smithy.customize.NamedCustomization import software.amazon.smithy.rust.codegen.core.smithy.customize.Section import software.amazon.smithy.rust.codegen.core.smithy.generators.TypeConversionGenerator import software.amazon.smithy.rust.codegen.core.smithy.generators.UnionGenerator @@ -51,7 +50,6 @@ import software.amazon.smithy.rust.codegen.core.smithy.isRustBoxed import software.amazon.smithy.rust.codegen.core.smithy.protocols.HttpBindingResolver import software.amazon.smithy.rust.codegen.core.smithy.protocols.HttpLocation import software.amazon.smithy.rust.codegen.core.smithy.protocols.deserializeFunctionName -import software.amazon.smithy.rust.codegen.core.smithy.rustType import software.amazon.smithy.rust.codegen.core.util.PANIC import software.amazon.smithy.rust.codegen.core.util.dq import software.amazon.smithy.rust.codegen.core.util.hasTrait @@ -70,7 +68,7 @@ sealed class JsonParserSection(name: String) : Section(name) { /** * Customization for the JSON parser. */ -typealias JsonParserCustomization = NamedSectionGenerator +typealias JsonParserCustomization = NamedCustomization data class ReturnSymbolToParse(val symbol: Symbol, val isUnconstrained: Boolean) @@ -298,8 +296,7 @@ class JsonParserGenerator( private fun RustWriter.deserializeBlob(target: BlobShape) { rustTemplate( - "#{expect_blob_or_null}(tokens.next())?#{ConvertFrom:W}", - "ConvertFrom" to writable { RuntimeType.blob(runtimeConfig).toSymbol().rustType().render() }, + "#{expect_blob_or_null}(tokens.next())?", *codegenScope, ) } @@ -389,8 +386,22 @@ class JsonParserGenerator( withBlock("let value =", ";") { deserializeMember(shape.member) } - rustBlock("if let Some(value) = value") { - rust("items.push(value);") + rust( + """ + if let Some(value) = value { + items.push(value); + } + """, + ) + codegenTarget.ifServer { + rustTemplate( + """ + else { + return Err(#{Error}::custom("dense list cannot contain null values")); + } + """, + *codegenScope, + ) } } } @@ -436,8 +447,24 @@ class JsonParserGenerator( if (isSparse) { rust("map.insert(key, value);") } else { - rustBlock("if let Some(value) = value") { - rust("map.insert(key, value);") + codegenTarget.ifServer { + rustTemplate( + """ + match value { + Some(value) => { map.insert(key, value); } + None => return Err(#{Error}::custom("dense map cannot contain null values")) + }""", + *codegenScope, + ) + } + codegenTarget.ifClient { + rustTemplate( + """ + if let Some(value) = value { + map.insert(key, value); + } + """, + ) } } } @@ -493,6 +520,7 @@ class JsonParserGenerator( "Shape" to returnSymbolToParse.symbol, ) { rust("let mut variant = None;") + val checkValueSet = !shape.members().all { it.isTargetUnit() } && !codegenTarget.renderUnknownVariant() rustBlock("match tokens.next().transpose()?") { rustBlockTemplate( """ @@ -525,7 +553,7 @@ class JsonParserGenerator( } else { withBlock("Some(#T::$variantName(", "))", returnSymbolToParse.symbol) { deserializeMember(member) - unwrapOrDefaultOrError(member) + unwrapOrDefaultOrError(member, checkValueSet) } } } @@ -563,8 +591,8 @@ class JsonParserGenerator( rust("#T(tokens)?", nestedParser) } - private fun RustWriter.unwrapOrDefaultOrError(member: MemberShape) { - if (symbolProvider.toSymbol(member).canUseDefault()) { + private fun RustWriter.unwrapOrDefaultOrError(member: MemberShape, checkValueSet: Boolean) { + if (symbolProvider.toSymbol(member).canUseDefault() && !checkValueSet) { rust(".unwrap_or_default()") } else { rustTemplate( diff --git a/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/protocols/serialize/JsonSerializerGenerator.kt b/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/protocols/serialize/JsonSerializerGenerator.kt index 69deb870d7..89dd945d30 100644 --- a/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/protocols/serialize/JsonSerializerGenerator.kt +++ b/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/protocols/serialize/JsonSerializerGenerator.kt @@ -36,7 +36,7 @@ import software.amazon.smithy.rust.codegen.core.rustlang.withBlock import software.amazon.smithy.rust.codegen.core.smithy.CodegenContext import software.amazon.smithy.rust.codegen.core.smithy.RuntimeType import software.amazon.smithy.rust.codegen.core.smithy.RustSymbolProvider -import software.amazon.smithy.rust.codegen.core.smithy.customize.NamedSectionGenerator +import software.amazon.smithy.rust.codegen.core.smithy.customize.NamedCustomization import software.amazon.smithy.rust.codegen.core.smithy.customize.Section import software.amazon.smithy.rust.codegen.core.smithy.generators.TypeConversionGenerator import software.amazon.smithy.rust.codegen.core.smithy.generators.UnionGenerator @@ -81,7 +81,7 @@ sealed class JsonSerializerSection(name: String) : Section(name) { /** * Customization for the JSON serializer. */ -typealias JsonSerializerCustomization = NamedSectionGenerator +typealias JsonSerializerCustomization = NamedCustomization class JsonSerializerGenerator( codegenContext: CodegenContext, diff --git a/codegen-core/src/test/kotlin/software/amazon/smithy/rust/codegen/core/smithy/generators/InstantiatorTest.kt b/codegen-core/src/test/kotlin/software/amazon/smithy/rust/codegen/core/smithy/generators/InstantiatorTest.kt index abe650017d..a0f8200c50 100644 --- a/codegen-core/src/test/kotlin/software/amazon/smithy/rust/codegen/core/smithy/generators/InstantiatorTest.kt +++ b/codegen-core/src/test/kotlin/software/amazon/smithy/rust/codegen/core/smithy/generators/InstantiatorTest.kt @@ -229,12 +229,12 @@ class InstantiatorTest { fun `generate maps of maps`() { val data = Node.parse( """ - { - "k1": { "map": {} }, - "k2": { "map": { "k3": {} } }, - "k3": { } - } - """, + { + "k1": { "map": {} }, + "k2": { "map": { "k3": {} } }, + "k3": { } + } + """, ) val sut = Instantiator( symbolProvider, @@ -254,11 +254,11 @@ class InstantiatorTest { } rust( """ - assert_eq!(result.len(), 3); - assert_eq!(result.get("k1").unwrap().map.as_ref().unwrap().len(), 0); - assert_eq!(result.get("k2").unwrap().map.as_ref().unwrap().len(), 1); - assert_eq!(result.get("k3").unwrap().map, None); - """, + assert_eq!(result.len(), 3); + assert_eq!(result.get("k1").unwrap().map.as_ref().unwrap().len(), 0); + assert_eq!(result.get("k2").unwrap().map.as_ref().unwrap().len(), 1); + assert_eq!(result.get("k3").unwrap().map, None); + """, ) } } diff --git a/codegen-server-test/build.gradle.kts b/codegen-server-test/build.gradle.kts index 8e79429725..b2841452c1 100644 --- a/codegen-server-test/build.gradle.kts +++ b/codegen-server-test/build.gradle.kts @@ -45,10 +45,16 @@ val allCodegenTests = "../codegen-core/common-test-models".let { commonModels -> ), CodegenTest("com.amazonaws.simple#SimpleService", "simple", imports = listOf("$commonModels/simple.smithy")), CodegenTest( - "com.amazonaws.constraints#ConstraintsService", "constraints_without_public_constrained_types", + "com.amazonaws.constraints#ConstraintsService", + "constraints_without_public_constrained_types", imports = listOf("$commonModels/constraints.smithy"), extraConfig = """, "codegen": { "publicConstrainedTypes": false } """, ), + CodegenTest( + "com.amazonaws.constraints#UniqueItemsService", + "unique_items", + imports = listOf("$commonModels/unique-items.smithy"), + ), CodegenTest( "com.amazonaws.constraints#ConstraintsService", "constraints", @@ -66,11 +72,13 @@ val allCodegenTests = "../codegen-core/common-test-models".let { commonModels -> imports = listOf("$commonModels/rest-json-extras.smithy"), ), CodegenTest( - "aws.protocoltests.restjson.validation#RestJsonValidation", "rest_json_validation", + "aws.protocoltests.restjson.validation#RestJsonValidation", + "rest_json_validation", extraConfig = """, "codegen": { "ignoreUnsupportedConstraints": true } """, ), CodegenTest( - "aws.protocoltests.extras.restjson.validation#MalformedRangeValidation", "malformed_range_extras", + "aws.protocoltests.extras.restjson.validation#MalformedRangeValidation", + "malformed_range_extras", extraConfig = """, "codegen": { "ignoreUnsupportedConstraints": true } """, imports = listOf("$commonModels/malformed-range-extras.smithy"), ), diff --git a/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/PythonServerCargoDependency.kt b/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/PythonServerCargoDependency.kt index 7e5fd040ff..d1ad482f2a 100644 --- a/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/PythonServerCargoDependency.kt +++ b/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/PythonServerCargoDependency.kt @@ -15,7 +15,7 @@ import software.amazon.smithy.rust.codegen.core.smithy.RuntimeConfig * For a dependency that is used in the client, or in both the client and the server, use [CargoDependency] directly. */ object PythonServerCargoDependency { - val PyO3: CargoDependency = CargoDependency("pyo3", CratesIo("0.17"), features = setOf("extension-module")) + val PyO3: CargoDependency = CargoDependency("pyo3", CratesIo("0.17")) val PyO3Asyncio: CargoDependency = CargoDependency("pyo3-asyncio", CratesIo("0.17"), features = setOf("attributes", "tokio-runtime")) val Tokio: CargoDependency = CargoDependency("tokio", CratesIo("1.20.1"), features = setOf("full")) val Tracing: CargoDependency = CargoDependency("tracing", CratesIo("0.1")) diff --git a/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/PythonServerCodegenVisitor.kt b/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/PythonServerCodegenVisitor.kt index 00ea40dc7a..8fd2a07f58 100644 --- a/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/PythonServerCodegenVisitor.kt +++ b/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/PythonServerCodegenVisitor.kt @@ -10,16 +10,19 @@ import software.amazon.smithy.build.PluginContext import software.amazon.smithy.codegen.core.CodegenException import software.amazon.smithy.model.Model import software.amazon.smithy.model.knowledge.NullableIndex +import software.amazon.smithy.model.shapes.OperationShape import software.amazon.smithy.model.shapes.ServiceShape import software.amazon.smithy.model.shapes.StringShape import software.amazon.smithy.model.shapes.StructureShape import software.amazon.smithy.model.shapes.UnionShape import software.amazon.smithy.model.traits.EnumTrait +import software.amazon.smithy.rust.codegen.core.rustlang.RustModule import software.amazon.smithy.rust.codegen.core.rustlang.RustWriter import software.amazon.smithy.rust.codegen.core.smithy.CodegenTarget import software.amazon.smithy.rust.codegen.core.smithy.RustCrate import software.amazon.smithy.rust.codegen.core.smithy.SymbolVisitorConfig import software.amazon.smithy.rust.codegen.server.python.smithy.generators.PythonServerEnumGenerator +import software.amazon.smithy.rust.codegen.server.python.smithy.generators.PythonServerOperationHandlerGenerator import software.amazon.smithy.rust.codegen.server.python.smithy.generators.PythonServerServiceGenerator import software.amazon.smithy.rust.codegen.server.python.smithy.generators.PythonServerStructureGenerator import software.amazon.smithy.rust.codegen.server.smithy.ServerCodegenContext @@ -164,4 +167,11 @@ class PythonServerCodegenVisitor( ) .render() } + + override fun operationShape(shape: OperationShape) { + super.operationShape(shape) + rustCrate.withModule(RustModule.public("python_operation_adaptor")) { + PythonServerOperationHandlerGenerator(codegenContext, shape).render(this) + } + } } diff --git a/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/PythonServerRuntimeType.kt b/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/PythonServerRuntimeType.kt index 1faa2661fa..b7957763fb 100644 --- a/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/PythonServerRuntimeType.kt +++ b/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/PythonServerRuntimeType.kt @@ -22,4 +22,7 @@ object PythonServerRuntimeType { fun dateTime(runtimeConfig: RuntimeConfig) = PythonServerCargoDependency.smithyHttpServerPython(runtimeConfig).toType().resolve("types::DateTime") + + fun document(runtimeConfig: RuntimeConfig) = + PythonServerCargoDependency.smithyHttpServerPython(runtimeConfig).toType().resolve("types::Document") } diff --git a/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/PythonServerSymbolProvider.kt b/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/PythonServerSymbolProvider.kt index 57e77ffe03..ca750bbb5c 100644 --- a/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/PythonServerSymbolProvider.kt +++ b/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/PythonServerSymbolProvider.kt @@ -8,6 +8,7 @@ package software.amazon.smithy.rust.codegen.server.python.smithy import software.amazon.smithy.codegen.core.Symbol import software.amazon.smithy.model.Model import software.amazon.smithy.model.shapes.BlobShape +import software.amazon.smithy.model.shapes.DocumentShape import software.amazon.smithy.model.shapes.ListShape import software.amazon.smithy.model.shapes.MapShape import software.amazon.smithy.model.shapes.MemberShape @@ -80,6 +81,10 @@ class PythonServerSymbolVisitor( override fun blobShape(shape: BlobShape?): Symbol { return PythonServerRuntimeType.blob(runtimeConfig).toSymbol() } + + override fun documentShape(shape: DocumentShape?): Symbol { + return PythonServerRuntimeType.document(runtimeConfig).toSymbol() + } } /** diff --git a/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/customizations/PythonServerCodegenDecorator.kt b/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/customizations/PythonServerCodegenDecorator.kt index 8eced67383..ff07ba1207 100644 --- a/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/customizations/PythonServerCodegenDecorator.kt +++ b/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/customizations/PythonServerCodegenDecorator.kt @@ -6,6 +6,7 @@ package software.amazon.smithy.rust.codegen.server.python.smithy.customizations import com.moandjiezana.toml.TomlWriter +import software.amazon.smithy.rust.codegen.core.rustlang.Feature import software.amazon.smithy.rust.codegen.core.rustlang.Writable import software.amazon.smithy.rust.codegen.core.rustlang.docs import software.amazon.smithy.rust.codegen.core.rustlang.rust @@ -57,6 +58,7 @@ class PubUsePythonTypes(private val codegenContext: ServerCodegenContext) : LibR rustBlock("pub mod python_types") { rust("pub use #T;", PythonServerRuntimeType.blob(codegenContext.runtimeConfig).toSymbol()) rust("pub use #T;", PythonServerRuntimeType.dateTime(codegenContext.runtimeConfig).toSymbol()) + rust("pub use #T;", PythonServerRuntimeType.document(codegenContext.runtimeConfig).toSymbol()) } } else -> emptySection @@ -114,6 +116,24 @@ class PyProjectTomlDecorator : ServerCodegenDecorator { } } +/** + * Adds `pyo3/extension-module` feature to default features. + * + * To be able to run `cargo test` with PyO3 we need two things: + * - Make `pyo3/extension-module` optional and default + * - Run tests with `cargo test --no-default-features` + * See: https://pyo3.rs/main/faq#i-cant-run-cargo-test-or-i-cant-build-in-a-cargo-workspace-im-having-linker-issues-like-symbol-not-found-or-undefined-reference-to-_pyexc_systemerror + */ +class PyO3ExtensionModuleDecorator : ServerCodegenDecorator { + override val name: String = "PyO3ExtensionModuleDecorator" + override val order: Byte = 0 + + override fun extras(codegenContext: ServerCodegenContext, rustCrate: RustCrate) { + // Add `pyo3/extension-module` to default features. + rustCrate.mergeFeature(Feature("extension-module", true, listOf("pyo3/extension-module"))) + } +} + val DECORATORS = listOf( /** * Add the [InternalServerError] error to all operations. @@ -128,4 +148,6 @@ val DECORATORS = listOf( PythonExportModuleDecorator(), // Generate `pyproject.toml` for the crate. PyProjectTomlDecorator(), + // Add PyO3 extension module feature. + PyO3ExtensionModuleDecorator(), ) diff --git a/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/generators/PythonApplicationGenerator.kt b/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/generators/PythonApplicationGenerator.kt index ef0591cf8e..793118b441 100644 --- a/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/generators/PythonApplicationGenerator.kt +++ b/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/generators/PythonApplicationGenerator.kt @@ -199,7 +199,7 @@ class PythonApplicationGenerator( let ${name}_locals = #{pyo3_asyncio}::TaskLocals::new(event_loop); let handler = self.handlers.get("$name").expect("Python handler for operation `$name` not found").clone(); let builder = builder.$name(move |input, state| { - #{pyo3_asyncio}::tokio::scope(${name}_locals.clone(), crate::operation_handler::$name(input, state, handler.clone())) + #{pyo3_asyncio}::tokio::scope(${name}_locals.clone(), crate::python_operation_adaptor::$name(input, state, handler.clone())) }); """, *codegenScope, diff --git a/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/generators/PythonServerOperationHandlerGenerator.kt b/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/generators/PythonServerOperationHandlerGenerator.kt index 60784f36b5..f107806098 100644 --- a/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/generators/PythonServerOperationHandlerGenerator.kt +++ b/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/generators/PythonServerOperationHandlerGenerator.kt @@ -13,8 +13,6 @@ import software.amazon.smithy.rust.codegen.core.rustlang.writable import software.amazon.smithy.rust.codegen.core.smithy.CodegenContext import software.amazon.smithy.rust.codegen.core.util.toSnakeCase import software.amazon.smithy.rust.codegen.server.python.smithy.PythonServerCargoDependency -import software.amazon.smithy.rust.codegen.server.smithy.generators.ServerOperationHandlerGenerator -import software.amazon.smithy.rust.codegen.server.smithy.generators.protocol.ServerProtocol /** * The Rust code responsible to run the Python business logic on the Python interpreter @@ -32,9 +30,8 @@ import software.amazon.smithy.rust.codegen.server.smithy.generators.protocol.Ser */ class PythonServerOperationHandlerGenerator( codegenContext: CodegenContext, - protocol: ServerProtocol, - private val operations: List, -) : ServerOperationHandlerGenerator(codegenContext, protocol, operations) { + private val operation: OperationShape, +) { private val symbolProvider = codegenContext.symbolProvider private val runtimeConfig = codegenContext.runtimeConfig private val codegenScope = @@ -47,42 +44,39 @@ class PythonServerOperationHandlerGenerator( "tracing" to PythonServerCargoDependency.Tracing.toType(), ) - override fun render(writer: RustWriter) { - super.render(writer) + fun render(writer: RustWriter) { renderPythonOperationHandlerImpl(writer) } private fun renderPythonOperationHandlerImpl(writer: RustWriter) { - for (operation in operations) { - val operationName = symbolProvider.toSymbol(operation).name - val input = "crate::input::${operationName}Input" - val output = "crate::output::${operationName}Output" - val error = "crate::error::${operationName}Error" - val fnName = operationName.toSnakeCase() + val operationName = symbolProvider.toSymbol(operation).name + val input = "crate::input::${operationName}Input" + val output = "crate::output::${operationName}Output" + val error = "crate::error::${operationName}Error" + val fnName = operationName.toSnakeCase() - writer.rustTemplate( - """ - /// Python handler for operation `$operationName`. - pub(crate) async fn $fnName( - input: $input, - state: #{SmithyServer}::Extension<#{SmithyPython}::context::PyContext>, - handler: #{SmithyPython}::PyHandler, - ) -> std::result::Result<$output, $error> { - // Async block used to run the handler and catch any Python error. - let result = if handler.is_coroutine { - #{PyCoroutine:W} - } else { - #{PyFunction:W} - }; - #{PyError:W} - } - """, - *codegenScope, - "PyCoroutine" to renderPyCoroutine(fnName, output), - "PyFunction" to renderPyFunction(fnName, output), - "PyError" to renderPyError(), - ) - } + writer.rustTemplate( + """ + /// Python handler for operation `$operationName`. + pub(crate) async fn $fnName( + input: $input, + state: #{SmithyServer}::Extension<#{SmithyPython}::context::PyContext>, + handler: #{SmithyPython}::PyHandler, + ) -> std::result::Result<$output, $error> { + // Async block used to run the handler and catch any Python error. + let result = if handler.is_coroutine { + #{PyCoroutine:W} + } else { + #{PyFunction:W} + }; + #{PyError:W} + } + """, + *codegenScope, + "PyCoroutine" to renderPyCoroutine(fnName, output), + "PyFunction" to renderPyFunction(fnName, output), + "PyError" to renderPyError(), + ) } private fun renderPyFunction(name: String, output: String): Writable = diff --git a/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/generators/PythonServerServiceGenerator.kt b/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/generators/PythonServerServiceGenerator.kt index 544eaae66a..58e87bc388 100644 --- a/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/generators/PythonServerServiceGenerator.kt +++ b/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/generators/PythonServerServiceGenerator.kt @@ -33,10 +33,6 @@ class PythonServerServiceGenerator( PythonServerOperationErrorGenerator(context.model, context.symbolProvider, operation).render(writer) } - override fun renderOperationHandler(writer: RustWriter, operations: List) { - PythonServerOperationHandlerGenerator(context, protocol, operations).render(writer) - } - override fun renderExtras(operations: List) { rustCrate.withModule(RustModule.public("python_server_application", "Python server and application implementation.")) { PythonApplicationGenerator(context, protocol, operations) diff --git a/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/testutil/PythonServerTestHelpers.kt b/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/testutil/PythonServerTestHelpers.kt new file mode 100644 index 0000000000..e38e1ae67c --- /dev/null +++ b/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/testutil/PythonServerTestHelpers.kt @@ -0,0 +1,46 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +package software.amazon.smithy.rust.codegen.server.python.smithy.testutil + +import software.amazon.smithy.build.PluginContext +import software.amazon.smithy.model.Model +import software.amazon.smithy.rust.codegen.core.smithy.RuntimeConfig +import software.amazon.smithy.rust.codegen.core.smithy.RuntimeCrateLocation +import software.amazon.smithy.rust.codegen.core.testutil.generatePluginContext +import software.amazon.smithy.rust.codegen.core.util.runCommand +import software.amazon.smithy.rust.codegen.server.python.smithy.PythonServerCodegenVisitor +import software.amazon.smithy.rust.codegen.server.python.smithy.customizations.DECORATORS +import software.amazon.smithy.rust.codegen.server.smithy.customizations.ServerRequiredCustomizations +import software.amazon.smithy.rust.codegen.server.smithy.customize.CombinedServerCodegenDecorator +import java.io.File +import java.nio.file.Path + +val TestRuntimeConfig = + RuntimeConfig(runtimeCrateLocation = RuntimeCrateLocation.Path(File("../../rust-runtime").absolutePath)) + +fun generatePythonServerPluginContext(model: Model) = + generatePluginContext(model, runtimeConfig = TestRuntimeConfig) + +fun executePythonServerCodegenVisitor(pluginCtx: PluginContext) { + val codegenDecorator: CombinedServerCodegenDecorator = + CombinedServerCodegenDecorator.fromClasspath( + pluginCtx, + CombinedServerCodegenDecorator(DECORATORS + ServerRequiredCustomizations()), + ) + PythonServerCodegenVisitor(pluginCtx, codegenDecorator).execute() +} + +fun cargoTest(workdir: Path) = + // `--no-default-features` is required to disable `pyo3/extension-module` which causes linking errors + // see `PyO3ExtensionModuleDecorator`'s comments fore more detail. + "cargo test --no-default-features".runCommand( + workdir, + mapOf( + // Those are required to run tests on macOS, see: https://pyo3.rs/main/building_and_distribution#macos + "CARGO_TARGET_X86_64_APPLE_DARWIN_RUSTFLAGS" to "-C link-arg=-undefined -C link-arg=dynamic_lookup", + "CARGO_TARGET_AARCH64_APPLE_DARWIN_RUSTFLAGS" to "-C link-arg=-undefined -C link-arg=dynamic_lookup", + ), + ) diff --git a/codegen-server/python/src/test/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/generators/PythonServerTypesTest.kt b/codegen-server/python/src/test/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/generators/PythonServerTypesTest.kt new file mode 100644 index 0000000000..c15b399744 --- /dev/null +++ b/codegen-server/python/src/test/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/generators/PythonServerTypesTest.kt @@ -0,0 +1,147 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +package software.amazon.smithy.rust.codegen.server.python.smithy.generators + +import org.junit.jupiter.api.Test +import software.amazon.smithy.rust.codegen.core.rustlang.RustWriter +import software.amazon.smithy.rust.codegen.core.rustlang.rust +import software.amazon.smithy.rust.codegen.core.testutil.asSmithyModel +import software.amazon.smithy.rust.codegen.core.testutil.tokioTest +import software.amazon.smithy.rust.codegen.core.util.dq +import software.amazon.smithy.rust.codegen.server.python.smithy.testutil.cargoTest +import software.amazon.smithy.rust.codegen.server.python.smithy.testutil.executePythonServerCodegenVisitor +import software.amazon.smithy.rust.codegen.server.python.smithy.testutil.generatePythonServerPluginContext +import kotlin.io.path.appendText + +internal class PythonServerTypesTest { + @Test + fun `document type`() { + val model = """ + namespace test + + use aws.protocols#restJson1 + + @restJson1 + service Service { + operations: [ + Echo, + ], + } + + @http(method: "POST", uri: "/echo") + operation Echo { + input: EchoInput, + output: EchoOutput, + } + + structure EchoInput { + value: Document, + } + + structure EchoOutput { + value: Document, + } + """.asSmithyModel() + + val (pluginCtx, testDir) = generatePythonServerPluginContext(model) + executePythonServerCodegenVisitor(pluginCtx) + + val testCases = listOf( + Pair( + """ { "value": 42 } """, + """ + assert input.value == 42 + output = EchoOutput(value=input.value) + """, + ), + Pair( + """ { "value": "foobar" } """, + """ + assert input.value == "foobar" + output = EchoOutput(value=input.value) + """, + ), + Pair( + """ + { + "value": [ + true, + false, + 42, + 42.0, + -42, + { + "nested": "value" + }, + { + "nested": [1, 2, 3] + } + ] + } + """, + """ + assert input.value == [True, False, 42, 42.0, -42, {"nested": "value"}, {"nested": [1, 2, 3]}] + output = EchoOutput(value=input.value) + """, + ), + ) + + val writer = RustWriter.forModule("service") + writer.tokioTest("document_type") { + rust( + """ + use tower::Service as _; + use pyo3::{types::IntoPyDict, IntoPy, Python}; + use hyper::{Body, Request, body}; + use crate::{input, output}; + + pyo3::prepare_freethreaded_python(); + """.trimIndent(), + ) + + testCases.forEach { + val payload = it.first.replace(" ", "").replace("\n", "") + val pythonHandler = it.second.trimIndent() + rust( + """ + let mut service = Service::builder_without_plugins() + .echo(|input: input::EchoInput| async { + Ok(Python::with_gil(|py| { + let globals = [("EchoOutput", py.get_type::())].into_py_dict(py); + let locals = [("input", input.into_py(py))].into_py_dict(py); + + py.run(${pythonHandler.dq()}, Some(globals), Some(locals)).unwrap(); + + locals + .get_item("output") + .unwrap() + .extract::() + .unwrap() + })) + }) + .build() + .unwrap(); + + let req = Request::builder() + .method("POST") + .uri("/echo") + .body(Body::from(${payload.dq()})) + .unwrap(); + + let res = service.call(req).await.unwrap(); + assert!(res.status().is_success()); + let body = body::to_bytes(res.into_body()).await.unwrap(); + assert_eq!(body, ${payload.dq()}); + """.trimIndent(), + ) + } + } + + testDir.resolve("src/service.rs").appendText(writer.toString()) + + cargoTest(testDir) + } +} diff --git a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ConstrainedShapeSymbolProvider.kt b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ConstrainedShapeSymbolProvider.kt index f775951e07..5d37c465a0 100644 --- a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ConstrainedShapeSymbolProvider.kt +++ b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ConstrainedShapeSymbolProvider.kt @@ -79,7 +79,9 @@ class ConstrainedShapeSymbolProvider( } is MapShape -> { if (shape.isDirectlyConstrained(base)) { - check(shape.hasTrait()) { "Only the `length` constraint trait can be applied to maps" } + check(shape.hasTrait()) { + "Only the `length` constraint trait can be applied to map shapes" + } publicConstrainedSymbolForMapOrCollectionShape(shape) } else { val keySymbol = this.toSymbol(shape.key) @@ -92,7 +94,9 @@ class ConstrainedShapeSymbolProvider( } is CollectionShape -> { if (shape.isDirectlyConstrained(base)) { - check(constrainedCollectionCheck(shape)) { "Only the `length` constraint trait can be applied to lists" } + check(constrainedCollectionCheck(shape)) { + "Only the `length` and `uniqueItems` constraint traits can be applied to list shapes" + } publicConstrainedSymbolForMapOrCollectionShape(shape) } else { val inner = this.toSymbol(shape.member) diff --git a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/Constraints.kt b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/Constraints.kt index 8c95a9c5b1..f6cc943a9c 100644 --- a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/Constraints.kt +++ b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/Constraints.kt @@ -59,8 +59,7 @@ val supportedStringConstraintTraits = setOf(LengthTrait::class.java, PatternTrai */ val supportedCollectionConstraintTraits = setOf( LengthTrait::class.java, - // TODO(https://github.com/awslabs/smithy-rs/issues/1670): Not yet supported. - // UniqueItemsTrait::class.java + UniqueItemsTrait::class.java, ) /** diff --git a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ServerCargoDependency.kt b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ServerCargoDependency.kt index 6b4df3204e..cb4e62fe9a 100644 --- a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ServerCargoDependency.kt +++ b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ServerCargoDependency.kt @@ -7,8 +7,6 @@ package software.amazon.smithy.rust.codegen.server.smithy import software.amazon.smithy.rust.codegen.core.rustlang.CargoDependency import software.amazon.smithy.rust.codegen.core.rustlang.CratesIo import software.amazon.smithy.rust.codegen.core.rustlang.DependencyScope -import software.amazon.smithy.rust.codegen.core.rustlang.InlineDependency -import software.amazon.smithy.rust.codegen.core.rustlang.RustModule import software.amazon.smithy.rust.codegen.core.smithy.RuntimeConfig /** @@ -27,32 +25,8 @@ object ServerCargoDependency { val Tower: CargoDependency = CargoDependency("tower", CratesIo("0.4")) val TokioDev: CargoDependency = CargoDependency("tokio", CratesIo("1.8.4"), scope = DependencyScope.Dev) val Regex: CargoDependency = CargoDependency("regex", CratesIo("1.5.5")) + val HyperDev: CargoDependency = CargoDependency("hyper", CratesIo("0.14.12"), DependencyScope.Dev) fun smithyHttpServer(runtimeConfig: RuntimeConfig) = runtimeConfig.smithyRuntimeCrate("smithy-http-server") fun smithyTypes(runtimeConfig: RuntimeConfig) = runtimeConfig.smithyRuntimeCrate("smithy-types") } - -/** - * A dependency on a snippet of code - * - * ServerInlineDependency should not be instantiated directly, rather, it should be constructed with - * [software.amazon.smithy.rust.codegen.core.smithy.RuntimeType.forInlineFun] - * - * ServerInlineDependencies are created as private modules within the main crate. This is useful for any code that - * doesn't need to exist in a shared crate, but must still be generated exactly once during codegen. - * - * CodegenVisitor de-duplicates inline dependencies by (module, name) during code generation. - */ -object ServerInlineDependency { - fun serverOperationHandler(runtimeConfig: RuntimeConfig): InlineDependency = - InlineDependency.forRustFile( - RustModule.private("server_operation_handler_trait"), - "/inlineable/src/server_operation_handler_trait.rs", - ServerCargoDependency.smithyHttpServer(runtimeConfig), - CargoDependency.Http, - ServerCargoDependency.PinProjectLite, - ServerCargoDependency.Tower, - ServerCargoDependency.FuturesUtil, - ServerCargoDependency.AsyncTrait, - ) -} diff --git a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ServerCodegenVisitor.kt b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ServerCodegenVisitor.kt index a709eb5d39..607aad2158 100644 --- a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ServerCodegenVisitor.kt +++ b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ServerCodegenVisitor.kt @@ -319,7 +319,7 @@ open class ServerCodegenVisitor( } } - val constraintsInfo = CollectionTraitInfo.fromShape(shape) + val constraintsInfo = CollectionTraitInfo.fromShape(shape, codegenContext.constrainedShapeSymbolProvider) if (isDirectlyConstrained) { rustCrate.withModule(ModelsModule) { ConstrainedCollectionGenerator( diff --git a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ServerRuntimeType.kt b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ServerRuntimeType.kt index a0a1baa23d..e31275fa33 100644 --- a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ServerRuntimeType.kt +++ b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ServerRuntimeType.kt @@ -19,9 +19,6 @@ object ServerRuntimeType { fun router(runtimeConfig: RuntimeConfig) = ServerCargoDependency.smithyHttpServer(runtimeConfig).toType().resolve("routing::Router") - fun operationHandler(runtimeConfig: RuntimeConfig) = - forInlineDependency(ServerInlineDependency.serverOperationHandler(runtimeConfig)) - fun runtimeError(runtimeConfig: RuntimeConfig) = ServerCargoDependency.smithyHttpServer(runtimeConfig).toType().resolve("runtime_error::RuntimeError") fun requestRejection(runtimeConfig: RuntimeConfig) = ServerCargoDependency.smithyHttpServer(runtimeConfig).toType().resolve("rejection::RequestRejection") diff --git a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/UniqueItemsTraitValidationErrorMessage.kt b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/UniqueItemsTraitValidationErrorMessage.kt new file mode 100644 index 0000000000..938066e17c --- /dev/null +++ b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/UniqueItemsTraitValidationErrorMessage.kt @@ -0,0 +1,13 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +package software.amazon.smithy.rust.codegen.server.smithy + +import software.amazon.smithy.model.traits.UniqueItemsTrait + +fun UniqueItemsTrait.validationErrorMessage() = + // We're using the `Debug` representation of `Vec` here e.g. `[0, 2, 3]`, which is the exact format we need + // to match the expected format of the error message in the protocol tests. + "Value with repeated values at indices {:?} at '{}' failed to satisfy constraint: Member must have unique values" diff --git a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ValidateUnsupportedConstraints.kt b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ValidateUnsupportedConstraints.kt index bd14a6d49d..8bf6f928d9 100644 --- a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ValidateUnsupportedConstraints.kt +++ b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ValidateUnsupportedConstraints.kt @@ -27,7 +27,6 @@ import software.amazon.smithy.model.traits.UniqueItemsTrait import software.amazon.smithy.rust.codegen.core.smithy.DirectedWalker import software.amazon.smithy.rust.codegen.core.smithy.traits.SyntheticEventStreamUnionTrait import software.amazon.smithy.rust.codegen.core.util.expectTrait -import software.amazon.smithy.rust.codegen.core.util.getTrait import software.amazon.smithy.rust.codegen.core.util.hasTrait import software.amazon.smithy.rust.codegen.core.util.inputShape import software.amazon.smithy.rust.codegen.core.util.orNull @@ -39,7 +38,7 @@ private sealed class UnsupportedConstraintMessageKind { fun intoLogMessage(ignoreUnsupportedConstraints: Boolean): LogMessage { fun buildMessage(intro: String, willSupport: Boolean, trackingIssue: String, canBeIgnored: Boolean = true): String { var msg = """ - $intro + $intro This is not supported in the smithy-rs server SDK.""" if (willSupport) { msg += """ @@ -48,7 +47,7 @@ private sealed class UnsupportedConstraintMessageKind { if (canBeIgnored) { msg += """ If you want to go ahead and generate the server SDK ignoring unsupported constraint traits, set the key `ignoreUnsupportedConstraints` - inside the `runtimeConfig.codegenConfig` JSON object in your `smithy-build.json` to `true`.""" + inside the `runtimeConfig.codegen` JSON object in your `smithy-build.json` to `true`.""" } return msg.trimIndent().replace("\n", " ") } @@ -161,10 +160,10 @@ fun validateOperationsWithConstrainedInputHaveValidationExceptionAttached( LogMessage( Level.SEVERE, """ - Operation ${it.shape.id} takes in input that is constrained - (https://awslabs.github.io/smithy/2.0/spec/constraint-traits.html), and as such can fail with a + Operation ${it.shape.id} takes in input that is constrained + (https://awslabs.github.io/smithy/2.0/spec/constraint-traits.html), and as such can fail with a validation exception. You must model this behavior in the operation shape in your model file. - """.trimIndent().replace("\n", "") + + """.trimIndent().replace("\n", " ") + """ ```smithy @@ -242,26 +241,11 @@ fun validateUnsupportedConstraints( .map { (shape, rangeTrait) -> UnsupportedRangeTraitOnShape(shape, rangeTrait as RangeTrait) } .toSet() - // 5. UniqueItems trait on any shape is used. It has not been implemented yet. - // TODO(https://github.com/awslabs/smithy-rs/issues/1401) - val unsupportedUniqueItemsTraitOnShapeSet = walker - .walkShapes(service) - .asSequence() - .filterMapShapesToTraits(setOf(UniqueItemsTrait::class.java)) - .map { (shape, uniqueItemsTrait) -> - UnsupportedUniqueItemsTraitOnShape( - shape, - uniqueItemsTrait as UniqueItemsTrait, - ) - } - .toSet() - val messages = unsupportedConstraintOnMemberShapeSet.map { it.intoLogMessage(codegenConfig.ignoreUnsupportedConstraints) } + unsupportedLengthTraitOnStreamingBlobShapeSet.map { it.intoLogMessage(codegenConfig.ignoreUnsupportedConstraints) } + unsupportedConstraintShapeReachableViaAnEventStreamSet.map { it.intoLogMessage(codegenConfig.ignoreUnsupportedConstraints) } + - unsupportedRangeTraitOnShapeSet.map { it.intoLogMessage(codegenConfig.ignoreUnsupportedConstraints) } + - unsupportedUniqueItemsTraitOnShapeSet.map { it.intoLogMessage(codegenConfig.ignoreUnsupportedConstraints) } + unsupportedRangeTraitOnShapeSet.map { it.intoLogMessage(codegenConfig.ignoreUnsupportedConstraints) } return ValidationResult(shouldAbort = messages.any { it.level == Level.SEVERE }, messages) } diff --git a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ConstrainedCollectionGenerator.kt b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ConstrainedCollectionGenerator.kt index 9f74839dd3..4463220a96 100644 --- a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ConstrainedCollectionGenerator.kt +++ b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ConstrainedCollectionGenerator.kt @@ -6,11 +6,13 @@ package software.amazon.smithy.rust.codegen.server.smithy.generators import software.amazon.smithy.codegen.core.Symbol +import software.amazon.smithy.codegen.core.SymbolProvider import software.amazon.smithy.model.shapes.CollectionShape import software.amazon.smithy.model.shapes.StructureShape import software.amazon.smithy.model.shapes.UnionShape import software.amazon.smithy.model.traits.LengthTrait import software.amazon.smithy.model.traits.Trait +import software.amazon.smithy.model.traits.UniqueItemsTrait import software.amazon.smithy.rust.codegen.core.rustlang.RustWriter import software.amazon.smithy.rust.codegen.core.rustlang.Visibility import software.amazon.smithy.rust.codegen.core.rustlang.docs @@ -35,8 +37,6 @@ import software.amazon.smithy.rust.codegen.server.smithy.validationErrorMessage * the constraints. * * The [`length`] and [`uniqueItems`] traits are the only constraint traits applicable to list shapes. - * TODO(https://github.com/awslabs/smithy-rs/issues/1401): - * The [`uniqueItems`] trait has not been implemented yet. * * If [unconstrainedSymbol] is provided, the `MaybeConstrained` trait is implemented for the constrained type, using the * [unconstrainedSymbol]'s associated type as the associated type for the trait. @@ -139,7 +139,6 @@ class ConstrainedCollectionGenerator( """, *codegenScope, "ConstraintChecks" to constraintsInfo.map { it.tryFromCheck }.join("\n"), - "ValidationFunctions" to constraintsInfo.map { it.validationFunctionDefinition(constraintViolation, inner) }.join("\n"), ) val innerShape = model.expectShape(shape.member.target) @@ -180,6 +179,137 @@ class ConstrainedCollectionGenerator( } internal sealed class CollectionTraitInfo { + data class UniqueItems(val uniqueItemsTrait: UniqueItemsTrait, val memberSymbol: Symbol) : CollectionTraitInfo() { + override fun toTraitInfo(): TraitInfo = + TraitInfo( + tryFromCheck = { + rust("let value = Self::check_unique_items(value)?;") + }, + constraintViolationVariant = { + docs("Constraint violation error when the list does not contain unique items") + // We can't return a vector of references pointing to the duplicate items in the original vector, + // because that would make the type self-referential. Returning a vector of indices is as efficient + // and more useful to callers. + rustTemplate( + """ + UniqueItems { + /// A vector of indices into `original` pointing to all duplicate items. This vector has + /// at least two elements. + /// More specifically, for every element `idx_1` in `duplicate_indices`, there exists another + /// distinct element `idx_2` such that `original[idx_1] == original[idx_2]` is `true`. + /// Nothing is guaranteed about the order of the indices. + duplicate_indices: #{Vec}, + /// The original vector, that contains duplicate items. + original: #{Vec}<#{MemberSymbol}>, + } + """, + "Vec" to RuntimeType.Vec, + "String" to RuntimeType.String, + "MemberSymbol" to memberSymbol, + ) + }, + asValidationExceptionField = { + // smithy-typescript echoes back one instance of each repeated element after sorting them [0]: + // + // I think we shouldn't do this for several reasons: + // + // 1. In Rust we can't sort the elements to provide a stable message because they may not be `Ord`. + // 2. If we return the elements' serialized representation, we'd have to generate serializers + // for all shapes in the closure of `@uniqueItems` lists just for this use case. These are + // typically shapes for which we only generate deserializers. + // 3. Getting back one instance of each repeated element is not helpful: + // - The elements may be big (complex structures); smithy-typescript truncates them [1]. The + // caller might thus may not even get to see the repeated elements. + // - The caller does not know how many times each duplicate element occurred. + // - The caller does not know in which positions each duplicate element occurred. + // + // I think a better error message is to just return the indices of the duplicate elements: so, the + // list: + // + // ["a", "b", "a", "b", "c"] + // + // Would return: + // + // [0, 1, 2, 3] + // + // An even better representation would be to return _groups_ of indices (with size >= 2), one per + // equivalence class: + // + // [[0, 2], [1, 3]] + // + // However, this latter representation comes at a non-negligible (?) performance cost, namely, the + // allocation of one vector per equivalence class. Judging by how many clients are really interested + // in parsing these (none?), perhaps it's sufficient to just return the "flattened" indices. + // + // [0]: https://github.com/awslabs/smithy-typescript/blob/517c85f8baccf0e5334b4e66d8786bdb5791c595/smithy-typescript-ssdk-libs/server-common/src/validation/validators.ts#L310 + // [1]: https://github.com/awslabs/smithy-typescript/blob/517c85f8baccf0e5334b4e66d8786bdb5791c595/smithy-typescript-ssdk-libs/server-common/src/validation/index.ts#L106-L111 + rust( + """ + Self::UniqueItems { duplicate_indices, .. } => + crate::model::ValidationExceptionField { + message: format!("${uniqueItemsTrait.validationErrorMessage()}", &duplicate_indices, &path), + path, + }, + """, + ) + }, + validationFunctionDefinition = { constraintViolation, _ -> + { + // This is the fun bit where we enforce the trait. + // + // The algorithm to check for uniqueness is fairly simple: we iterate over the incoming items + // in order and store them in a `HashMap`, with an entry whose key is the item and whose value + // is the most recently seen index where we encountered the item. If we encounter an item we've + // seen before, we add its index to a `duplicate_indices` vector. Lastly, we iterate over the + // `duplicate_indices` and lookup each of them in the seen items hash map, to extend the + // duplicates with those duplicate items that were seen last. + // + // The algorithm has linear time complexity over the list's length. In the worst case, + // when all items have the same value, we'd iterate over all of the items twice and use + // linear memory. + // + // We can use a `HashMap` to store the incoming items because it is guaranteed that all + // shapes in the list shape's closure implement `Hash`; see + // [`DeriveEqAndHashSymbolMetadataProvider`]. Indeed, smithy-rs only allows the `@uniqueItems` + // trait to be applied to a list shape if and only if all the shapes in the list shape's closure + // implement `Eq` and `Hash`. + rustTemplate( + """ + fn check_unique_items(items: #{Vec}<#{MemberSymbol}>) -> Result<#{Vec}<#{MemberSymbol}>, #{ConstraintViolation}> { + let mut seen = #{HashMap}::new(); + let mut duplicate_indices = #{Vec}::new(); + for (idx, item) in items.iter().enumerate() { + if let Some(prev_idx) = seen.insert(item, idx) { + duplicate_indices.push(prev_idx); + } + } + + let mut last_duplicate_indices = #{Vec}::new(); + for idx in &duplicate_indices { + if let Some(prev_idx) = seen.remove(&items[*idx]) { + last_duplicate_indices.push(prev_idx); + } + } + duplicate_indices.extend(last_duplicate_indices); + + if !duplicate_indices.is_empty() { + debug_assert!(duplicate_indices.len() >= 2); + Err(#{ConstraintViolation}::UniqueItems { duplicate_indices, original: items }) + } else { + Ok(items) + } + } + """, + "Vec" to RuntimeType.Vec, + "HashMap" to RuntimeType.HashMap, + "MemberSymbol" to memberSymbol, + "ConstraintViolation" to constraintViolation, + ) + } + }, + ) + } + data class Length(val lengthTrait: LengthTrait) : CollectionTraitInfo() { override fun toTraitInfo(): TraitInfo = TraitInfo( @@ -187,7 +317,7 @@ internal sealed class CollectionTraitInfo { rust("Self::check_length(value.len())?;") }, constraintViolationVariant = { - docs("Constraint violation error when the vector doesn't have the required length") + docs("Constraint violation error when the list doesn't have the required length") rust("Length(usize)") }, asValidationExceptionField = { @@ -220,24 +350,25 @@ internal sealed class CollectionTraitInfo { } companion object { - private fun fromTrait(trait: Trait): CollectionTraitInfo = - when (trait) { + private fun fromTrait(trait: Trait, shape: CollectionShape, symbolProvider: SymbolProvider): CollectionTraitInfo { + check(shape.hasTrait(trait.toShapeId())) + return when (trait) { is LengthTrait -> { Length(trait) } - // TODO(https://github.com/awslabs/smithy-rs/issues/1670): Not implemented yet. - // is UniqueItemsTrait -> { - // UniqueItems(trait) - // } + is UniqueItemsTrait -> { + UniqueItems(trait, symbolProvider.toSymbol(shape.member)) + } else -> { PANIC("CollectionTraitInfo.fromTrait called with unsupported trait $trait") } } + } - fun fromShape(shape: CollectionShape): List = + fun fromShape(shape: CollectionShape, symbolProvider: SymbolProvider): List = supportedCollectionConstraintTraits .mapNotNull { shape.getTrait(it).orNull() } - .map(CollectionTraitInfo::fromTrait) + .map { trait -> fromTrait(trait, shape, symbolProvider) } .map(CollectionTraitInfo::toTraitInfo) } diff --git a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ConstrainedShapeGeneratorCommon.kt b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ConstrainedShapeGeneratorCommon.kt index 2b6c49abed..1e63fda712 100644 --- a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ConstrainedShapeGeneratorCommon.kt +++ b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ConstrainedShapeGeneratorCommon.kt @@ -10,10 +10,10 @@ package software.amazon.smithy.rust.codegen.server.smithy.generators */ fun rustDocsConstrainedTypeEpilogue(typeName: String) = """ -This is a constrained type because its corresponding modeled Smithy shape has one or more -[constraint traits]. Use [`$typeName::try_from`] to construct values of this type. + This is a constrained type because its corresponding modeled Smithy shape has one or more + [constraint traits]. Use [`$typeName::try_from`] to construct values of this type. -[constraint traits]: https://awslabs.github.io/smithy/1.0/spec/core/constraint-traits.html + [constraint traits]: https://awslabs.github.io/smithy/1.0/spec/core/constraint-traits.html """ fun rustDocsTryFromMethod(typeName: String, inner: String) = diff --git a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ServerBuilderGeneratorCommon.kt b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ServerBuilderGeneratorCommon.kt index 56014b6d99..f16e2640b2 100644 --- a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ServerBuilderGeneratorCommon.kt +++ b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ServerBuilderGeneratorCommon.kt @@ -88,12 +88,12 @@ fun generateFallbackCodeToDefaultValue( // storing the result in a `OnceCell` that could be reused. writer.rustTemplate( """ - .unwrap_or_else(|| - #{DefaultValue:W} - .try_into() - .expect("this check should have failed at generation time; please file a bug report under https://github.com/awslabs/smithy-rs/issues") - ) - """, + .unwrap_or_else(|| + #{DefaultValue:W} + .try_into() + .expect("this check should have failed at generation time; please file a bug report under https://github.com/awslabs/smithy-rs/issues") + ) + """, "DefaultValue" to defaultValue, ) } else { diff --git a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ServerInstantiator.kt b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ServerInstantiator.kt index 13901e5213..3179b5370e 100644 --- a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ServerInstantiator.kt +++ b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ServerInstantiator.kt @@ -13,7 +13,10 @@ import software.amazon.smithy.rust.codegen.core.rustlang.rust import software.amazon.smithy.rust.codegen.core.rustlang.writable import software.amazon.smithy.rust.codegen.core.smithy.CodegenContext import software.amazon.smithy.rust.codegen.core.smithy.generators.Instantiator +import software.amazon.smithy.rust.codegen.core.smithy.generators.InstantiatorCustomization +import software.amazon.smithy.rust.codegen.core.smithy.generators.InstantiatorSection import software.amazon.smithy.rust.codegen.core.smithy.isOptional +import software.amazon.smithy.rust.codegen.server.smithy.isDirectlyConstrained import software.amazon.smithy.rust.codegen.server.smithy.traits.isReachableFromOperationInput /** @@ -23,11 +26,23 @@ import software.amazon.smithy.rust.codegen.server.smithy.traits.isReachableFromO */ private fun enumFromStringFn(enumSymbol: Symbol, data: String): Writable = writable { rust( - """#T::try_from($data).expect("This is used in tests ONLY")""", + """#T::try_from($data).expect("this is only used in tests")""", enumSymbol, ) } +class ServerAfterInstantiatingValueConstrainItIfNecessary(val codegenContext: CodegenContext) : + InstantiatorCustomization() { + + override fun section(section: InstantiatorSection): Writable = when (section) { + is InstantiatorSection.AfterInstantiatingValue -> writable { + if (section.shape.isDirectlyConstrained(codegenContext.symbolProvider)) { + rust(""".try_into().expect("this is only used in tests")""") + } + } + } +} + class ServerBuilderKindBehavior(val codegenContext: CodegenContext) : Instantiator.BuilderKindBehavior { override fun hasFallibleBuilder(shape: StructureShape): Boolean { // Only operation input builders take in unconstrained types. @@ -54,4 +69,5 @@ fun serverInstantiator(codegenContext: CodegenContext) = ServerBuilderKindBehavior(codegenContext), ::enumFromStringFn, defaultsForRequiredFields = true, + customizations = listOf(ServerAfterInstantiatingValueConstrainItIfNecessary(codegenContext)), ) diff --git a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ServerOperationHandlerGenerator.kt b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ServerOperationHandlerGenerator.kt deleted file mode 100644 index 308f2f0470..0000000000 --- a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ServerOperationHandlerGenerator.kt +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * SPDX-License-Identifier: Apache-2.0 - */ - -package software.amazon.smithy.rust.codegen.server.smithy.generators - -import software.amazon.smithy.model.shapes.OperationShape -import software.amazon.smithy.rust.codegen.core.rustlang.RustWriter -import software.amazon.smithy.rust.codegen.core.rustlang.rustBlockTemplate -import software.amazon.smithy.rust.codegen.core.rustlang.rustTemplate -import software.amazon.smithy.rust.codegen.core.smithy.CodegenContext -import software.amazon.smithy.rust.codegen.core.smithy.RuntimeType -import software.amazon.smithy.rust.codegen.core.smithy.generators.error.errorSymbol -import software.amazon.smithy.rust.codegen.core.smithy.transformers.operationErrors -import software.amazon.smithy.rust.codegen.core.util.hasStreamingMember -import software.amazon.smithy.rust.codegen.core.util.inputShape -import software.amazon.smithy.rust.codegen.core.util.outputShape -import software.amazon.smithy.rust.codegen.server.smithy.ServerCargoDependency -import software.amazon.smithy.rust.codegen.server.smithy.ServerRuntimeType -import software.amazon.smithy.rust.codegen.server.smithy.generators.protocol.ServerProtocol -import software.amazon.smithy.rust.codegen.server.smithy.protocols.ServerHttpBoundProtocolGenerator - -/** - * ServerOperationHandlerGenerator - */ -open class ServerOperationHandlerGenerator( - codegenContext: CodegenContext, - val protocol: ServerProtocol, - private val operations: List, -) { - private val serverCrate = "aws_smithy_http_server" - private val model = codegenContext.model - private val symbolProvider = codegenContext.symbolProvider - private val runtimeConfig = codegenContext.runtimeConfig - private val codegenScope = arrayOf( - "AsyncTrait" to ServerCargoDependency.AsyncTrait.toType(), - "Tower" to ServerCargoDependency.Tower.toType(), - "FuturesUtil" to ServerCargoDependency.FuturesUtil.toType(), - "SmithyHttp" to RuntimeType.smithyHttp(runtimeConfig), - "SmithyHttpServer" to ServerCargoDependency.smithyHttpServer(runtimeConfig).toType(), - "Phantom" to RuntimeType.Phantom, - "ServerOperationHandler" to ServerRuntimeType.operationHandler(runtimeConfig), - "http" to RuntimeType.Http, - ) - - open fun render(writer: RustWriter) { - renderHandlerImplementations(writer, false) - renderHandlerImplementations(writer, true) - } - - /** - * Renders the implementation of the `Handler` trait for all operations. - * Handlers are implemented for `FnOnce` function types whose signatures take in state or not. - */ - private fun renderHandlerImplementations(writer: RustWriter, state: Boolean) { - operations.map { operation -> - val operationName = symbolProvider.toSymbol(operation).name - val inputName = symbolProvider.toSymbol(operation.inputShape(model)).fullName - val inputWrapperName = "crate::operation::$operationName${ServerHttpBoundProtocolGenerator.OPERATION_INPUT_WRAPPER_SUFFIX}" - val outputWrapperName = "crate::operation::$operationName${ServerHttpBoundProtocolGenerator.OPERATION_OUTPUT_WRAPPER_SUFFIX}" - val fnSignature = if (state) { - "impl #{ServerOperationHandler}::Handler, $inputName> for Fun" - } else { - "impl #{ServerOperationHandler}::Handler for Fun" - } - writer.rustBlockTemplate( - """ - ##[#{AsyncTrait}::async_trait] - $fnSignature - where - ${operationTraitBounds(operation, inputName, state)} - """.trimIndent(), - *codegenScope, - ) { - val callImpl = if (state) { - """ - let state = match $serverCrate::extension::extract_extension(&mut req).await { - Ok(v) => v, - Err(extension_not_found_rejection) => { - let extension = $serverCrate::extension::RuntimeErrorExtension::new(extension_not_found_rejection.to_string()); - let runtime_error = $serverCrate::runtime_error::RuntimeError::from(extension_not_found_rejection); - let mut response = #{SmithyHttpServer}::response::IntoResponse::<#{Protocol}>::into_response(runtime_error); - response.extensions_mut().insert(extension); - return response.map($serverCrate::body::boxed); - } - }; - let input_inner = input_wrapper.into(); - let output_inner = self(input_inner, state).await; - """.trimIndent() - } else { - """ - let input_inner = input_wrapper.into(); - let output_inner = self(input_inner).await; - """.trimIndent() - } - rustTemplate( - """ - type Sealed = #{ServerOperationHandler}::sealed::Hidden; - async fn call(self, req: #{http}::Request) -> #{http}::Response<#{SmithyHttpServer}::body::BoxBody> { - let mut req = #{SmithyHttpServer}::request::RequestParts::new(req); - let input_wrapper = match $inputWrapperName::from_request(&mut req).await { - Ok(v) => v, - Err(runtime_error) => { - let response = #{SmithyHttpServer}::response::IntoResponse::<#{Protocol}>::into_response(runtime_error); - return response.map($serverCrate::body::boxed); - } - }; - $callImpl - let output_wrapper: $outputWrapperName = output_inner.into(); - let mut response = output_wrapper.into_response(); - let operation_ext = #{SmithyHttpServer}::extension::OperationExtension::new("${operation.id.namespace}.$operationName").expect("malformed absolute shape ID"); - response.extensions_mut().insert(operation_ext); - response.map(#{SmithyHttpServer}::body::boxed) - } - """, - "Protocol" to protocol.markerStruct(), - *codegenScope, - ) - } - } - } - - /** - * Generates the trait bounds of the `Handler` trait implementation, depending on: - * - the presence of state; and - * - whether the operation is fallible or not. - */ - private fun operationTraitBounds(operation: OperationShape, inputName: String, state: Boolean): String { - val inputFn = if (state) { - """S: Send + Clone + Sync + 'static, - Fun: FnOnce($inputName, $serverCrate::Extension) -> Fut + Clone + Send + 'static,""" - } else { - "Fun: FnOnce($inputName) -> Fut + Clone + Send + 'static," - } - val outputType = if (operation.operationErrors(model).isNotEmpty()) { - "Result<${symbolProvider.toSymbol(operation.outputShape(model)).fullName}, ${operation.errorSymbol(symbolProvider).fullyQualifiedName()}>" - } else { - symbolProvider.toSymbol(operation.outputShape(model)).fullName - } - val streamingBodyTraitBounds = if (operation.inputShape(model).hasStreamingMember(model)) { - "\n B: Into<#{SmithyHttp}::byte_stream::ByteStream>," - } else { - "" - } - return """ - $inputFn - Fut: std::future::Future + Send, - B: $serverCrate::body::HttpBody + Send + 'static, $streamingBodyTraitBounds - B::Data: Send, - $serverCrate::rejection::RequestRejection: From<::Error> - """.trimIndent() - } -} diff --git a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ServerOperationRegistryGenerator.kt b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ServerOperationRegistryGenerator.kt deleted file mode 100644 index 10b11978d0..0000000000 --- a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ServerOperationRegistryGenerator.kt +++ /dev/null @@ -1,407 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * SPDX-License-Identifier: Apache-2.0 - */ - -package software.amazon.smithy.rust.codegen.server.smithy.generators - -import software.amazon.smithy.model.shapes.OperationShape -import software.amazon.smithy.model.traits.DocumentationTrait -import software.amazon.smithy.rust.codegen.core.rustlang.Attribute -import software.amazon.smithy.rust.codegen.core.rustlang.Attribute.Companion.derive -import software.amazon.smithy.rust.codegen.core.rustlang.CargoDependency -import software.amazon.smithy.rust.codegen.core.rustlang.DependencyScope -import software.amazon.smithy.rust.codegen.core.rustlang.RustReservedWords -import software.amazon.smithy.rust.codegen.core.rustlang.RustWriter -import software.amazon.smithy.rust.codegen.core.rustlang.Writable -import software.amazon.smithy.rust.codegen.core.rustlang.rust -import software.amazon.smithy.rust.codegen.core.rustlang.rustBlock -import software.amazon.smithy.rust.codegen.core.rustlang.rustBlockTemplate -import software.amazon.smithy.rust.codegen.core.rustlang.rustTemplate -import software.amazon.smithy.rust.codegen.core.rustlang.withBlock -import software.amazon.smithy.rust.codegen.core.rustlang.withBlockTemplate -import software.amazon.smithy.rust.codegen.core.rustlang.writable -import software.amazon.smithy.rust.codegen.core.smithy.CodegenContext -import software.amazon.smithy.rust.codegen.core.smithy.ErrorsModule -import software.amazon.smithy.rust.codegen.core.smithy.InputsModule -import software.amazon.smithy.rust.codegen.core.smithy.OutputsModule -import software.amazon.smithy.rust.codegen.core.smithy.RuntimeType -import software.amazon.smithy.rust.codegen.core.smithy.generators.error.errorSymbol -import software.amazon.smithy.rust.codegen.core.util.getTrait -import software.amazon.smithy.rust.codegen.core.util.inputShape -import software.amazon.smithy.rust.codegen.core.util.outputShape -import software.amazon.smithy.rust.codegen.core.util.toSnakeCase -import software.amazon.smithy.rust.codegen.server.smithy.ServerCargoDependency -import software.amazon.smithy.rust.codegen.server.smithy.ServerRuntimeType -import software.amazon.smithy.rust.codegen.server.smithy.generators.protocol.ServerProtocol - -/** - * [ServerOperationRegistryGenerator] renders the `OperationRegistry` struct, a place where users can register their - * service's operation implementations. - * - * Users can construct the operation registry using a builder. They can subsequently convert the operation registry into - * the [`aws_smithy_http_server::Router`], a [`tower::Service`] that will route incoming requests to their operation - * handlers, invoking them and returning the response. - * - * [`aws_smithy_http_server::Router`]: https://docs.rs/aws-smithy-http-server/latest/aws_smithy_http_server/struct.Router.html - * [`tower::Service`]: https://docs.rs/tower/latest/tower/trait.Service.html - */ -class ServerOperationRegistryGenerator( - private val codegenContext: CodegenContext, - private val protocol: ServerProtocol, - private val operations: List, -) { - private val crateName = codegenContext.settings.moduleName - private val model = codegenContext.model - private val symbolProvider = codegenContext.symbolProvider - private val serviceName = codegenContext.serviceShape.toShapeId().name - private val operationNames = operations.map { RustReservedWords.escapeIfNeeded(symbolProvider.toSymbol(it).name.toSnakeCase()) } - private val runtimeConfig = codegenContext.runtimeConfig - private val codegenScope = arrayOf( - "Router" to ServerRuntimeType.router(runtimeConfig), - "SmithyHttpServer" to ServerCargoDependency.smithyHttpServer(runtimeConfig).toType(), - "ServerOperationHandler" to ServerRuntimeType.operationHandler(runtimeConfig), - "Tower" to ServerCargoDependency.Tower.toType(), - "Phantom" to RuntimeType.Phantom, - "StdError" to RuntimeType.StdError, - "Display" to RuntimeType.Display, - "From" to RuntimeType.From, - ) - private val operationRegistryName = "OperationRegistry" - private val operationRegistryBuilderName = "${operationRegistryName}Builder" - private val operationRegistryErrorName = "${operationRegistryBuilderName}Error" - private val genericArguments = "B, " + operations.mapIndexed { i, _ -> "Op$i, In$i" }.joinToString() - private val operationRegistryNameWithArguments = "$operationRegistryName<$genericArguments>" - private val operationRegistryBuilderNameWithArguments = "$operationRegistryBuilderName<$genericArguments>" - - fun render(writer: RustWriter) { - renderOperationRegistryRustDocs(writer) - renderOperationRegistryStruct(writer) - renderOperationRegistryBuilderStruct(writer) - renderOperationRegistryBuilderError(writer) - renderOperationRegistryBuilderDefault(writer) - renderOperationRegistryBuilderImplementation(writer) - renderRouterImplementationFromOperationRegistryBuilder(writer) - } - - private fun renderOperationRegistryRustDocs(writer: RustWriter) { - val inputOutputErrorsImport = if (operations.any { it.errors.isNotEmpty() }) { - "/// use ${crateName.toSnakeCase()}::{${InputsModule.name}, ${OutputsModule.name}, ${ErrorsModule.name}};" - } else { - "/// use ${crateName.toSnakeCase()}::{${InputsModule.name}, ${OutputsModule.name}};" - } - - writer.rustTemplate( -""" -##[allow(clippy::tabs_in_doc_comments)] -/// The `$operationRegistryName` is the place where you can register -/// your service's operation implementations. -/// -/// Use [`$operationRegistryBuilderName`] to construct the -/// `$operationRegistryName`. For each of the [operations] modeled in -/// your Smithy service, you need to provide an implementation in the -/// form of a Rust async function or closure that takes in the -/// operation's input as their first parameter, and returns the -/// operation's output. If your operation is fallible (i.e. it -/// contains the `errors` member in your Smithy model), the function -/// implementing the operation has to be fallible (i.e. return a -/// [`Result`]). **You must register an implementation for all -/// operations with the correct signature**, or your application -/// will fail to compile. -/// -/// The operation registry can be converted into an [`#{Router}`] for -/// your service. This router will take care of routing HTTP -/// requests to the matching operation implementation, adhering to -/// your service's protocol and the [HTTP binding traits] that you -/// used in your Smithy model. This router can be converted into a -/// type implementing [`tower::make::MakeService`], a _service -/// factory_. You can feed this value to a [Hyper server], and the -/// server will instantiate and [`serve`] your service. -/// -/// Here's a full example to get you started: -/// -/// ```rust -/// use std::net::SocketAddr; -$inputOutputErrorsImport -/// use ${crateName.toSnakeCase()}::operation_registry::$operationRegistryBuilderName; -/// use #{Router}; -/// -/// ##[#{Tokio}::main] -/// pub async fn main() { -/// let app: Router = $operationRegistryBuilderName::default() -${operationNames.map { ".$it($it)" }.joinToString("\n") { it.prependIndent("/// ") }} -/// .build() -/// .expect("unable to build operation registry") -/// .into(); -/// -/// let bind: SocketAddr = format!("{}:{}", "127.0.0.1", "6969") -/// .parse() -/// .expect("unable to parse the server bind address and port"); -/// -/// let server = #{Hyper}::Server::bind(&bind).serve(app.into_make_service()); -/// -/// // Run your service! -/// // if let Err(err) = server.await { -/// // eprintln!("server error: {}", err); -/// // } -/// } -/// -${operationImplementationStubs(operations)} -/// ``` -/// -/// [`serve`]: https://docs.rs/hyper/0.14.16/hyper/server/struct.Builder.html##method.serve -/// [`tower::make::MakeService`]: https://docs.rs/tower/latest/tower/make/trait.MakeService.html -/// [HTTP binding traits]: https://awslabs.github.io/smithy/1.0/spec/core/http-traits.html -/// [operations]: https://awslabs.github.io/smithy/1.0/spec/core/model.html##operation -/// [Hyper server]: https://docs.rs/hyper/latest/hyper/server/index.html -""", - "Router" to ServerRuntimeType.router(runtimeConfig), - // These should be dev-dependencies. Not all sSDKs depend on `Hyper` (only those that convert the body - // `to_bytes`), and none depend on `tokio`. - "Tokio" to ServerCargoDependency.TokioDev.toType(), - "Hyper" to CargoDependency.Hyper.copy(scope = DependencyScope.Dev).toType(), - ) - } - - private fun renderOperationRegistryStruct(writer: RustWriter) { - writer.rust("""##[deprecated(since = "0.52.0", note = "`OperationRegistry` is part of the deprecated service builder API. Use `$serviceName::builder` instead.")]""") - writer.rustBlock("pub struct $operationRegistryNameWithArguments") { - val members = operationNames - .mapIndexed { i, operationName -> "$operationName: Op$i" } - .joinToString(separator = ",\n") - rustTemplate( - """ - $members, - _phantom: #{Phantom}<(B, ${phantomMembers()})>, - """, - *codegenScope, - ) - } - } - - /** - * Renders the `OperationRegistryBuilder` structure, used to build the `OperationRegistry`. - */ - private fun renderOperationRegistryBuilderStruct(writer: RustWriter) { - writer.rust("""##[deprecated(since = "0.52.0", note = "`OperationRegistryBuilder` is part of the deprecated service builder API. Use `$serviceName::builder` instead.")]""") - writer.rustBlock("pub struct $operationRegistryBuilderNameWithArguments") { - val members = operationNames - .mapIndexed { i, operationName -> "$operationName: Option" } - .joinToString(separator = ",\n") - rustTemplate( - """ - $members, - _phantom: #{Phantom}<(B, ${phantomMembers()})>, - """, - *codegenScope, - ) - } - } - - /** - * Renders the `OperationRegistryBuilderError` type, used to error out in case there are uninitialized fields. - * This is an enum deriving `Debug` and implementing `Display` and `std::error::Error`. - */ - private fun renderOperationRegistryBuilderError(writer: RustWriter) { - Attribute(derive(RuntimeType.Debug)).render(writer) - writer.rustTemplate( - """ - pub enum $operationRegistryErrorName { - UninitializedField(&'static str) - } - impl #{Display} for $operationRegistryErrorName { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - match self { - Self::UninitializedField(v) => write!(f, "{}", v), - } - } - } - impl #{StdError} for $operationRegistryErrorName {} - """, - *codegenScope, - ) - } - - /** - * Renders the `OperationRegistryBuilder` `Default` implementation, used to create a new builder that can be - * populated with the service's operation implementations. - */ - private fun renderOperationRegistryBuilderDefault(writer: RustWriter) { - writer.rustBlockTemplate("impl<$genericArguments> std::default::Default for $operationRegistryBuilderNameWithArguments") { - val defaultOperations = operationNames.joinToString(separator = "\n,") { operationName -> - "$operationName: Default::default()" - } - rustTemplate( - """ - fn default() -> Self { - Self { - $defaultOperations, - _phantom: #{Phantom} - } - } - """, - *codegenScope, - ) - } - } - - /** - * Renders the `OperationRegistryBuilder`'s impl block, where operations are stored. - * The `build()` method converts the builder into an `OperationRegistry` instance. - */ - private fun renderOperationRegistryBuilderImplementation(writer: RustWriter) { - writer.rustBlock("impl<$genericArguments> $operationRegistryBuilderNameWithArguments") { - operationNames.forEachIndexed { i, operationName -> - rust( - """ - pub fn $operationName(self, value: Op$i) -> Self { - let mut new = self; - new.$operationName = Some(value); - new - } - """, - ) - } - - rustBlock("pub fn build(self) -> Result<$operationRegistryNameWithArguments, $operationRegistryErrorName>") { - withBlock("Ok( $operationRegistryName {", "})") { - for (operationName in operationNames) { - rust( - """ - $operationName: match self.$operationName { - Some(v) => v, - None => return Err($operationRegistryErrorName::UninitializedField("$operationName")), - }, - """, - ) - } - rustTemplate("_phantom: #{Phantom}", *codegenScope) - } - } - } - } - - /** - * Renders the converter between the `OperationRegistry` and the `Router` via the `std::convert::From` trait. - */ - private fun renderRouterImplementationFromOperationRegistryBuilder(writer: RustWriter) { - val operationTraitBounds = writable { - operations.forEachIndexed { i, operation -> - rustTemplate( - """ - Op$i: #{ServerOperationHandler}::Handler, - In$i: 'static + Send, - """, - *codegenScope, - "OperationInput" to symbolProvider.toSymbol(operation.inputShape(model)), - ) - } - } - - writer.rustBlockTemplate( - // The bound `B: Send` is required because of [`tower::util::BoxCloneService`]. - // [`tower::util::BoxCloneService`]: https://docs.rs/tower/latest/tower/util/struct.BoxCloneService.html#method.new - """ - impl<$genericArguments> #{From}<$operationRegistryNameWithArguments> for #{Router} - where - B: Send + 'static, - #{operationTraitBounds:W} - """, - *codegenScope, - "operationTraitBounds" to operationTraitBounds, - ) { - rustBlock("fn from(registry: $operationRegistryNameWithArguments) -> Self") { - val requestSpecsVarNames = operationNames.map { "${it}_request_spec" } - - requestSpecsVarNames.zip(operations).forEach { (requestSpecVarName, operation) -> - rustTemplate( - "let $requestSpecVarName = #{RequestSpec:W};", - "RequestSpec" to operation.requestSpec(), - ) - } - - val sensitivityGens = operations.map { - ServerHttpSensitivityGenerator(model, it, codegenContext.runtimeConfig) - } - - withBlockTemplate( - "#{Router}::${protocol.serverRouterRuntimeConstructor()}(vec![", - "])", - *codegenScope, - ) { - requestSpecsVarNames.zip(operationNames).zip(sensitivityGens).forEach { - val (inner, sensitivityGen) = it - val (requestSpecVarName, operationName) = inner - - rustBlock("") { - rustTemplate( - """ - let svc = #{ServerOperationHandler}::operation(registry.$operationName); - let request_fmt = #{RequestFmt:W}; - let response_fmt = #{ResponseFmt:W}; - let svc = #{SmithyHttpServer}::instrumentation::InstrumentOperation::new(svc, "$operationName").request_fmt(request_fmt).response_fmt(response_fmt); - (#{Tower}::util::BoxCloneService::new(svc), $requestSpecVarName) - """, - "RequestFmt" to sensitivityGen.requestFmt().value, - "ResponseFmt" to sensitivityGen.responseFmt().value, - *codegenScope, - ) - } - rust(",") - } - } - } - } - } - - /** - * Returns the `PhantomData` generic members in a comma-separated list. - */ - private fun phantomMembers() = operationNames.mapIndexed { i, _ -> "In$i" }.joinToString(separator = ",\n") - - private fun operationImplementationStubs(operations: List): String = - operations.joinToString("\n///\n") { - val operationDocumentation = it.getTrait()?.value - val ret = if (!operationDocumentation.isNullOrBlank()) { - operationDocumentation.replace("#", "##").prependIndent("/// /// ") + "\n" - } else "" - ret + - """ - /// ${it.signature()} { - /// todo!() - /// } - """.trimIndent() - } - - /** - * Returns the function signature for an operation handler implementation. Used in the documentation. - */ - private fun OperationShape.signature(): String { - val inputSymbol = symbolProvider.toSymbol(inputShape(model)) - val outputSymbol = symbolProvider.toSymbol(outputShape(model)) - val errorSymbol = errorSymbol(symbolProvider) - - // using module names here to avoid generating `crate::...` since we've already added the import - val inputT = "${InputsModule.name}::${inputSymbol.name}" - val t = "${OutputsModule.name}::${outputSymbol.name}" - val outputT = if (errors.isEmpty()) { - t - } else { - val e = "${ErrorsModule.name}::${errorSymbol.name}" - "Result<$t, $e>" - } - - val operationName = RustReservedWords.escapeIfNeeded(symbolProvider.toSymbol(this).name.toSnakeCase()) - return "async fn $operationName(input: $inputT) -> $outputT" - } - - /** - * Returns a writable for the `RequestSpec` for an operation based on the service's protocol. - */ - private fun OperationShape.requestSpec(): Writable = protocol.serverRouterRequestSpec( - this, - symbolProvider.toSymbol(this).name, - serviceName, - ServerCargoDependency.smithyHttpServer(runtimeConfig).toType().resolve("routing::request_spec"), - ) -} diff --git a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ServerServiceGenerator.kt b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ServerServiceGenerator.kt index a8d605a1a4..cf405dc5e9 100644 --- a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ServerServiceGenerator.kt +++ b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ServerServiceGenerator.kt @@ -7,9 +7,6 @@ package software.amazon.smithy.rust.codegen.server.smithy.generators import software.amazon.smithy.model.knowledge.TopDownIndex import software.amazon.smithy.model.shapes.OperationShape -import software.amazon.smithy.rust.codegen.core.rustlang.Attribute -import software.amazon.smithy.rust.codegen.core.rustlang.Attribute.Companion.deprecated -import software.amazon.smithy.rust.codegen.core.rustlang.RustMetadata import software.amazon.smithy.rust.codegen.core.rustlang.RustModule import software.amazon.smithy.rust.codegen.core.rustlang.RustReservedWords import software.amazon.smithy.rust.codegen.core.rustlang.RustWriter @@ -23,7 +20,6 @@ import software.amazon.smithy.rust.codegen.core.smithy.InputsModule import software.amazon.smithy.rust.codegen.core.smithy.OutputsModule import software.amazon.smithy.rust.codegen.core.smithy.RustCrate import software.amazon.smithy.rust.codegen.core.smithy.generators.protocol.ProtocolSupport -import software.amazon.smithy.rust.codegen.core.util.toPascalCase import software.amazon.smithy.rust.codegen.core.util.toSnakeCase import software.amazon.smithy.rust.codegen.server.smithy.ServerCargoDependency import software.amazon.smithy.rust.codegen.server.smithy.ServerCodegenContext @@ -86,7 +82,7 @@ open class ServerServiceGenerator( //! let server = app.into_make_service(); //! let bind: SocketAddr = "127.0.0.1:6969".parse() //! .expect("unable to parse the server bind address and port"); - //! hyper::Server::bind(&bind).serve(server).await.unwrap(); + //! #{Hyper}::Server::bind(&bind).serve(server).await.unwrap(); //! ## } //! ``` //! @@ -119,7 +115,7 @@ open class ServerServiceGenerator( //! ```rust //! ## use #{SmithyHttpServer}::plugin::IdentityPlugin as LoggingPlugin; //! ## use #{SmithyHttpServer}::plugin::IdentityPlugin as MetricsPlugin; - //! ## use hyper::Body; + //! ## use #{Hyper}::Body; //! use #{SmithyHttpServer}::plugin::PluginPipeline; //! use $crateName::{$serviceName, $builderName}; //! @@ -194,7 +190,7 @@ open class ServerServiceGenerator( //! ## use std::net::SocketAddr; //! use $crateName::$serviceName; //! - //! ##[tokio::main] + //! ##[#{Tokio}::main] //! pub async fn main() { //! let app = $serviceName::builder_without_plugins() ${builderFieldNames.values.joinToString("\n") { "//! .$it($it)" }} @@ -203,7 +199,7 @@ open class ServerServiceGenerator( //! //! let bind: SocketAddr = "127.0.0.1:6969".parse() //! .expect("unable to parse the server bind address and port"); - //! let server = hyper::Server::bind(&bind).serve(app.into_make_service()); + //! let server = #{Hyper}::Server::bind(&bind).serve(app.into_make_service()); //! ## let server = async { Ok::<_, ()>(()) }; //! //! // Run your service! @@ -229,6 +225,8 @@ open class ServerServiceGenerator( "Handlers" to handlers, "ExampleHandler" to operations.take(1).map { operation -> DocHandlerGenerator(codegenContext, operation, builderFieldNames[operation]!!, "//!").docSignature() }, "SmithyHttpServer" to ServerCargoDependency.smithyHttpServer(codegenContext.runtimeConfig).toType(), + "Hyper" to ServerCargoDependency.HyperDev.toType(), + "Tokio" to ServerCargoDependency.TokioDev.toType(), "Tower" to ServerCargoDependency.Tower.toType(), ) } @@ -255,30 +253,6 @@ open class ServerServiceGenerator( } } } - rustCrate.withModule(RustModule.private("operation_handler", "Operation handlers definition and implementation.")) { - renderOperationHandler(this, operations) - } - rustCrate.withModule( - RustModule.LeafModule( - "operation_registry", - RustMetadata( - visibility = Visibility.PUBLIC, - additionalAttributes = listOf( - Attribute(deprecated("0.52.0", "This module exports the deprecated `OperationRegistry`. Use the service builder exported from your root crate.")), - ), - ), - """ - Contains the [`operation_registry::OperationRegistry`], a place where - you can register your service's operation implementations. - - ## Deprecation - - This service builder is deprecated - use [`${codegenContext.serviceShape.id.name.toPascalCase()}::builder_with_plugins`] or [`${codegenContext.serviceShape.id.name.toPascalCase()}::builder_without_plugins`] instead. - """, - ), - ) { - renderOperationRegistry(this, operations) - } rustCrate.withModule( RustModule.public("operation_shape"), @@ -317,16 +291,6 @@ open class ServerServiceGenerator( /* Subclasses can override */ } - // Render operations handler. - open fun renderOperationHandler(writer: RustWriter, operations: List) { - ServerOperationHandlerGenerator(codegenContext, protocol, operations).render(writer) - } - - // Render operations registry. - private fun renderOperationRegistry(writer: RustWriter, operations: List) { - ServerOperationRegistryGenerator(codegenContext, protocol, operations).render(writer) - } - // Render `server` crate, re-exporting types. private fun renderServerReExports(writer: RustWriter) { ServerRuntimeTypesReExportsGenerator(codegenContext).render(writer) diff --git a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ServerServiceGeneratorV2.kt b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ServerServiceGeneratorV2.kt index 80b1d9b631..e8483f4a20 100644 --- a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ServerServiceGeneratorV2.kt +++ b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ServerServiceGeneratorV2.kt @@ -231,7 +231,7 @@ class ServerServiceGeneratorV2( #{Router}::from_iter([#{RoutesArrayElements:W}]) }; Ok($serviceName { - router: #{SmithyHttpServer}::routers::RoutingService::new(router), + router: #{SmithyHttpServer}::routing::RoutingService::new(router), }) } """, @@ -306,7 +306,7 @@ class ServerServiceGeneratorV2( { let router = #{Router}::from_iter([#{Pairs:W}]); $serviceName { - router: #{SmithyHttpServer}::routers::RoutingService::new(router), + router: #{SmithyHttpServer}::routing::RoutingService::new(router), } } """, @@ -387,7 +387,7 @@ class ServerServiceGeneratorV2( /// See the [root](crate) documentation for more information. ##[derive(Clone)] pub struct $serviceName { - router: #{SmithyHttpServer}::routers::RoutingService<#{Router}, #{Protocol}>, + router: #{SmithyHttpServer}::routing::RoutingService<#{Router}, #{Protocol}>, } impl $serviceName<()> { @@ -459,7 +459,7 @@ class ServerServiceGeneratorV2( { type Response = #{Http}::Response<#{SmithyHttpServer}::body::BoxBody>; type Error = S::Error; - type Future = #{SmithyHttpServer}::routers::RoutingFuture; + type Future = #{SmithyHttpServer}::routing::RoutingFuture; fn poll_ready(&mut self, cx: &mut std::task::Context) -> std::task::Poll> { self.router.poll_ready(cx) diff --git a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/protocol/ServerProtocolTestGenerator.kt b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/protocol/ServerProtocolTestGenerator.kt index 431eb99637..9727ca580b 100644 --- a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/protocol/ServerProtocolTestGenerator.kt +++ b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/protocol/ServerProtocolTestGenerator.kt @@ -37,7 +37,6 @@ import software.amazon.smithy.rust.codegen.core.rustlang.rust import software.amazon.smithy.rust.codegen.core.rustlang.rustBlock import software.amazon.smithy.rust.codegen.core.rustlang.rustTemplate import software.amazon.smithy.rust.codegen.core.rustlang.withBlock -import software.amazon.smithy.rust.codegen.core.rustlang.withBlockTemplate import software.amazon.smithy.rust.codegen.core.rustlang.writable import software.amazon.smithy.rust.codegen.core.smithy.CodegenContext import software.amazon.smithy.rust.codegen.core.smithy.RuntimeType @@ -56,12 +55,9 @@ import software.amazon.smithy.rust.codegen.core.util.toSnakeCase import software.amazon.smithy.rust.codegen.server.smithy.ServerCargoDependency import software.amazon.smithy.rust.codegen.server.smithy.ServerRuntimeType import software.amazon.smithy.rust.codegen.server.smithy.generators.serverInstantiator -import software.amazon.smithy.rust.codegen.server.smithy.protocols.ServerHttpBoundProtocolGenerator import java.util.logging.Logger import kotlin.reflect.KFunction1 -private const val PROTOCOL_TEST_HELPER_MODULE_NAME = "protocol_test_helper" - /** * Generate protocol tests for an operation */ @@ -141,97 +137,12 @@ class ServerProtocolTestGenerator( } fun render(writer: RustWriter) { - renderTestHelper(writer) - for (operation in operations) { protocolGenerator.renderOperation(writer, operation) renderOperationTestCases(operation, writer) } } - /** - * Render a test helper module to: - * - * - generate a dynamic builder for each handler, and - * - construct a Tower service to exercise each test case. - */ - private fun renderTestHelper(writer: RustWriter) { - val operationNames = operations.map { it.toName() } - val operationRegistryName = "OperationRegistry" - val operationRegistryBuilderName = "${operationRegistryName}Builder" - - fun renderRegistryBuilderTypeParams() = writable { - operations.forEach { - val (inputT, outputT) = operationInputOutputTypes[it]!! - writeInline("Fun<$inputT, $outputT>, (), ") - } - } - - fun renderRegistryBuilderMethods() = writable { - operations.withIndex().forEach { - val (inputT, outputT) = operationInputOutputTypes[it.value]!! - val operationName = operationNames[it.index] - rust(".$operationName((|_| Box::pin(async { todo!() })) as Fun<$inputT, $outputT> )") - } - } - - val module = RustModule.LeafModule( - PROTOCOL_TEST_HELPER_MODULE_NAME, - RustMetadata( - additionalAttributes = listOf( - Attribute.CfgTest, - Attribute.AllowDeadCode, - ), - visibility = Visibility.PUBCRATE, - ), - inline = true, - ) - - writer.withInlineModule(module) { - rustTemplate( - """ - use #{Tower}::Service as _; - - pub(crate) type Fun = fn(Input) -> std::pin::Pin + Send>>; - - type RegistryBuilder = crate::operation_registry::$operationRegistryBuilderName<#{Hyper}::Body, #{RegistryBuilderTypeParams:W}>; - - fn create_operation_registry_builder() -> RegistryBuilder { - crate::operation_registry::$operationRegistryBuilderName::default() - #{RegistryBuilderMethods:W} - } - - pub(crate) async fn build_router_and_make_request( - http_request: #{Http}::request::Request<#{SmithyHttpServer}::body::Body>, - f: &dyn Fn(RegistryBuilder) -> RegistryBuilder, - ) -> #{Http}::response::Response<#{SmithyHttpServer}::body::BoxBody> { - let mut router: #{Router} = f(create_operation_registry_builder()) - .build() - .expect("unable to build operation registry") - .into(); - let http_response = router - .call(http_request) - .await - .expect("unable to make an HTTP request"); - - http_response - } - - /// The operation full name is a concatenation of `.`. - pub(crate) fn check_operation_extension_was_set(http_response: #{Http}::response::Response<#{SmithyHttpServer}::body::BoxBody>, operation_full_name: &str) { - let operation_extension = http_response.extensions() - .get::<#{SmithyHttpServer}::extension::OperationExtension>() - .expect("extension `OperationExtension` not found"); - #{AssertEq}(operation_extension.absolute(), operation_full_name); - } - """, - "RegistryBuilderTypeParams" to renderRegistryBuilderTypeParams(), - "RegistryBuilderMethods" to renderRegistryBuilderMethods(), - *codegenScope, - ) - } - } - private fun renderOperationTestCases(operationShape: OperationShape, writer: RustWriter) { val outputShape = operationShape.outputShape(codegenContext.model) val operationSymbol = symbolProvider.toSymbol(operationShape) @@ -395,22 +306,12 @@ class ServerProtocolTestGenerator( return } - // Test against original `OperationRegistryBuilder`. with(httpRequestTestCase) { renderHttpRequest(uri, method, headers, body.orNull(), queryParams, host.orNull()) } if (protocolSupport.requestBodyDeserialization) { - makeRequest(operationShape, this, checkRequestHandler(operationShape, httpRequestTestCase)) - checkHandlerWasEntered(operationShape, operationSymbol, this) - } - - // Test against new service builder. - with(httpRequestTestCase) { - renderHttpRequest(uri, method, headers, body.orNull(), queryParams, host.orNull()) - } - if (protocolSupport.requestBodyDeserialization) { - makeRequest2(operationShape, operationSymbol, this, checkRequestHandler(operationShape, httpRequestTestCase)) - checkHandlerWasEntered2(this) + makeRequest(operationShape, operationSymbol, this, checkRequestHandler(operationShape, httpRequestTestCase)) + checkHandlerWasEntered(this) } // Explicitly warn if the test case defined parameters that we aren't doing anything with @@ -440,8 +341,6 @@ class ServerProtocolTestGenerator( operationShape: OperationShape, operationSymbol: Symbol, ) { - val operationImplementationName = - "${operationSymbol.name}${ServerHttpBoundProtocolGenerator.OPERATION_OUTPUT_WRAPPER_SUFFIX}" val operationErrorName = "crate::error::${operationSymbol.name}Error" if (!protocolSupport.responseSerialization || ( @@ -454,19 +353,13 @@ class ServerProtocolTestGenerator( writeInline("let output =") instantiator.render(this, shape, testCase.params) rust(";") - val operationImpl = if (operationShape.allErrors(model).isNotEmpty()) { - if (shape.hasTrait()) { - val variant = symbolProvider.toSymbol(shape).name - "$operationImplementationName::Error($operationErrorName::$variant(output))" - } else { - "$operationImplementationName::Output(output)" - } - } else { - "$operationImplementationName(output)" + if (operationShape.allErrors(model).isNotEmpty() && shape.hasTrait()) { + val variant = symbolProvider.toSymbol(shape).name + rust("let output = $operationErrorName::$variant(output);") } rustTemplate( """ - let output = super::$operationImpl; + use #{SmithyHttpServer}::response::IntoResponse; let http_response = output.into_response(); """, *codegenScope, @@ -488,23 +381,13 @@ class ServerProtocolTestGenerator( val panicMessage = "request should have been rejected, but we accepted it; we parsed operation input `{:?}`" - rust("// Use the `OperationRegistryBuilder`") rustBlock("") { with(testCase.request) { // TODO(https://github.com/awslabs/smithy/issues/1102): `uri` should probably not be an `Optional`. renderHttpRequest(uri.get(), method, headers, body.orNull(), queryParams, host.orNull()) } - makeRequest(operationShape, this, writable("""panic!("$panicMessage", &input) as $outputT""")) - checkResponse(this, testCase.response) - } - rust("// Use new service builder") - rustBlock("") { - with(testCase.request) { - // TODO(https://github.com/awslabs/smithy/issues/1102): `uri` should probably not be an `Optional`. - renderHttpRequest(uri.get(), method, headers, body.orNull(), queryParams, host.orNull()) - } - makeRequest2(operationShape, operationSymbol, this, writable("""panic!("$panicMessage", &input) as $outputT""")) + makeRequest(operationShape, operationSymbol, this, writable("""panic!("$panicMessage", &input) as $outputT""")) checkResponse(this, testCase.response) } } @@ -586,44 +469,8 @@ class ServerProtocolTestGenerator( } } - /** Checks the request using the `OperationRegistryBuilder`. */ + /** Checks the request. */ private fun makeRequest( - operationShape: OperationShape, - rustWriter: RustWriter, - operationBody: Writable, - ) { - val (inputT, outputT) = operationInputOutputTypes[operationShape]!! - - rustWriter.withBlockTemplate( - """ - let http_response = super::$PROTOCOL_TEST_HELPER_MODULE_NAME::build_router_and_make_request( - http_request, - &|builder| { - builder.${operationShape.toName()}((|input| Box::pin(async move { - """, - - "})) as super::$PROTOCOL_TEST_HELPER_MODULE_NAME::Fun<$inputT, $outputT>)}).await;", - *codegenScope, - ) { - operationBody() - } - } - - private fun checkHandlerWasEntered( - operationShape: OperationShape, - operationSymbol: Symbol, - rustWriter: RustWriter, - ) { - val operationFullName = "${operationShape.id.namespace}.${operationSymbol.name}" - rustWriter.rust( - """ - super::$PROTOCOL_TEST_HELPER_MODULE_NAME::check_operation_extension_was_set(http_response, "$operationFullName"); - """, - ) - } - - /** Checks the request using the new service builder. */ - private fun makeRequest2( operationShape: OperationShape, operationSymbol: Symbol, rustWriter: RustWriter, @@ -654,7 +501,7 @@ class ServerProtocolTestGenerator( ) } - private fun checkHandlerWasEntered2(rustWriter: RustWriter) { + private fun checkHandlerWasEntered(rustWriter: RustWriter) { rustWriter.rust( """ assert!(receiver.recv().await.is_some()); @@ -926,20 +773,6 @@ class ServerProtocolTestGenerator( FailingTest(RestJson, "RestJsonEndpointTraitWithHostLabel", TestType.Request), FailingTest(RestJson, "RestJsonWithBodyExpectsApplicationJsonContentType", TestType.MalformedRequest), - FailingTest(RestJson, "RestJsonBodyMalformedListNullItem", TestType.MalformedRequest), - FailingTest(RestJson, "RestJsonBodyMalformedMapNullValue", TestType.MalformedRequest), - - // Deprioritized, sets don't exist in Smithy 2.0. - // They have the exact same semantics as list shapes with `@uniqueItems`, - // so we could implement them as such once we've added support for constraint traits. - // - // See https://github.com/awslabs/smithy/issues/1266#issuecomment-1169543051. - // See https://awslabs.github.io/smithy/2.0/guides/migrating-idl-1-to-2.html#convert-set-shapes-to-list-shapes. - FailingTest(RestJson, "RestJsonMalformedSetDuplicateItems", TestType.MalformedRequest), - FailingTest(RestJson, "RestJsonMalformedSetNullItem", TestType.MalformedRequest), - FailingTest(RestJson, "RestJsonMalformedSetDuplicateBlobs", TestType.MalformedRequest), - - FailingTest(RestJson, "RestJsonMalformedUnionNoFieldsSet", TestType.MalformedRequest), // Tests involving constraint traits, which are not yet fully implemented. // See https://github.com/awslabs/smithy-rs/issues/1401. diff --git a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/protocols/ServerHttpBoundProtocolGenerator.kt b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/protocols/ServerHttpBoundProtocolGenerator.kt index eed3dc8433..ff7496b973 100644 --- a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/protocols/ServerHttpBoundProtocolGenerator.kt +++ b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/protocols/ServerHttpBoundProtocolGenerator.kt @@ -136,6 +136,7 @@ private class ServerHttpBoundProtocolTraitImplGenerator( "RuntimeError" to ServerRuntimeType.runtimeError(runtimeConfig), "RequestRejection" to ServerRuntimeType.requestRejection(runtimeConfig), "ResponseRejection" to ServerRuntimeType.responseRejection(runtimeConfig), + "PinProjectLite" to ServerCargoDependency.PinProjectLite.toType(), "http" to RuntimeType.Http, ) @@ -161,13 +162,11 @@ private class ServerHttpBoundProtocolTraitImplGenerator( operationShape: OperationShape, ) { val operationName = symbolProvider.toSymbol(operationShape).name - val inputName = "${operationName}${ServerHttpBoundProtocolGenerator.OPERATION_INPUT_WRAPPER_SUFFIX}" - val verifyAcceptHeader = writable { httpBindingResolver.responseContentType(operationShape)?.also { contentType -> rustTemplate( """ - if ! #{SmithyHttpServer}::protocols::accept_header_classifier(req, ${contentType.dq()}) { + if ! #{SmithyHttpServer}::protocols::accept_header_classifier(request.headers(), ${contentType.dq()}) { return Err(#{RuntimeError}::NotAcceptable) } """, @@ -187,7 +186,7 @@ private class ServerHttpBoundProtocolTraitImplGenerator( ?.let { "Some(${it.dq()})" } ?: "None" rustTemplate( """ - if #{SmithyHttpServer}::protocols::content_type_header_classifier(req, $expectedRequestContentType).is_err() { + if #{SmithyHttpServer}::protocols::content_type_header_classifier(request.headers(), $expectedRequestContentType).is_err() { return Err(#{RuntimeError}::UnsupportedMediaType) } """, @@ -198,24 +197,24 @@ private class ServerHttpBoundProtocolTraitImplGenerator( } // Implement `from_request` trait for input types. + val inputFuture = "${inputSymbol.name}Future" rustTemplate( """ - ##[derive(Debug)] - pub(crate) struct $inputName(#{I}); - impl $inputName - { - pub async fn from_request(req: &mut #{SmithyHttpServer}::request::RequestParts) -> Result - where - B: #{SmithyHttpServer}::body::HttpBody + Send, ${streamingBodyTraitBounds(operationShape)} - B::Data: Send, - #{RequestRejection} : From<::Error> - { - #{verifyAcceptHeader:W} - #{verifyRequestContentTypeHeader:W} - #{parse_request}(req) - .await - .map($inputName) - .map_err(Into::into) + // TODO(https://github.com/awslabs/smithy-rs/issues/2238): Remove the `Pin>` and replace with thin wrapper around `Collect`. + #{PinProjectLite}::pin_project! { + /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the + /// [`${inputSymbol.name}`](#{I}) using modelled bindings. + pub struct $inputFuture { + inner: std::pin::Pin> + Send>> + } + } + + impl std::future::Future for $inputFuture { + type Output = Result<#{I}, #{RuntimeError}>; + + fn poll(self: std::pin::Pin<&mut Self>, cx: &mut std::task::Context<'_>) -> std::task::Poll { + let this = self.project(); + this.inner.as_mut().poll(cx) } } @@ -228,14 +227,19 @@ private class ServerHttpBoundProtocolTraitImplGenerator( #{RequestRejection} : From<::Error> { type Rejection = #{RuntimeError}; - type Future = std::pin::Pin> + Send>>; + type Future = $inputFuture; fn from_request(request: #{http}::Request) -> Self::Future { let fut = async move { - let mut request_parts = #{SmithyHttpServer}::request::RequestParts::new(request); - $inputName::from_request(&mut request_parts).await.map(|x| x.0) + #{verifyAcceptHeader:W} + #{verifyRequestContentTypeHeader:W} + #{parse_request}(request) + .await + .map_err(Into::into) }; - Box::pin(fut) + $inputFuture { + inner: Box::pin(fut) + } } } @@ -249,143 +253,46 @@ private class ServerHttpBoundProtocolTraitImplGenerator( ) // Implement `into_response` for output types. - - val outputName = "${operationName}${ServerHttpBoundProtocolGenerator.OPERATION_OUTPUT_WRAPPER_SUFFIX}" val errorSymbol = operationShape.errorSymbol(symbolProvider) - if (operationShape.operationErrors(model).isNotEmpty()) { - // The output of fallible operations is a `Result` which we convert into an - // isomorphic `enum` type we control that can in turn be converted into a response. - val intoResponseImpl = - """ - match self { - Self::Output(o) => { - match #{serialize_response}(o) { - Ok(response) => response, - Err(e) => #{SmithyHttpServer}::response::IntoResponse::<#{Marker}>::into_response(#{RuntimeError}::from(e)) - } - }, - Self::Error(err) => { - match #{serialize_error}(&err) { - Ok(mut response) => { - response.extensions_mut().insert(#{SmithyHttpServer}::extension::ModeledErrorExtension::new(err.name())); - response - }, - Err(e) => #{SmithyHttpServer}::response::IntoResponse::<#{Marker}>::into_response(#{RuntimeError}::from(e)) - } + rustTemplate( + """ + impl #{SmithyHttpServer}::response::IntoResponse<#{Marker}> for #{O} { + fn into_response(self) -> #{SmithyHttpServer}::response::Response { + match #{serialize_response}(self) { + Ok(response) => response, + Err(e) => #{SmithyHttpServer}::response::IntoResponse::<#{Marker}>::into_response(#{RuntimeError}::from(e)) } } - """ + } + """.trimIndent(), + *codegenScope, + "O" to outputSymbol, + "Marker" to protocol.markerStruct(), + "serialize_response" to serverSerializeResponse(operationShape), + ) + if (operationShape.operationErrors(model).isNotEmpty()) { rustTemplate( """ - pub(crate) enum $outputName { - Output(#{O}), - Error(#{E}) - } - - impl $outputName { - pub fn into_response(self) -> #{SmithyHttpServer}::response::Response { - $intoResponseImpl - } - } - - impl #{SmithyHttpServer}::response::IntoResponse<#{Marker}> for #{O} { - fn into_response(self) -> #{SmithyHttpServer}::response::Response { - $outputName::Output(self).into_response() - } - } - impl #{SmithyHttpServer}::response::IntoResponse<#{Marker}> for #{E} { fn into_response(self) -> #{SmithyHttpServer}::response::Response { - $outputName::Error(self).into_response() + match #{serialize_error}(&self) { + Ok(mut response) => { + response.extensions_mut().insert(#{SmithyHttpServer}::extension::ModeledErrorExtension::new(self.name())); + response + }, + Err(e) => #{SmithyHttpServer}::response::IntoResponse::<#{Marker}>::into_response(#{RuntimeError}::from(e)) + } } } """.trimIndent(), *codegenScope, - "O" to outputSymbol, "E" to errorSymbol, "Marker" to protocol.markerStruct(), - "serialize_response" to serverSerializeResponse(operationShape), "serialize_error" to serverSerializeError(operationShape), ) - } else { - // The output of non-fallible operations is a model type which we convert into - // a "wrapper" unit `struct` type we control that can in turn be converted into a response. - val intoResponseImpl = - """ - match #{serialize_response}(self.0) { - Ok(response) => response, - Err(e) => #{SmithyHttpServer}::response::IntoResponse::<#{Marker}>::into_response(#{RuntimeError}::from(e)) - } - """.trimIndent() - - rustTemplate( - """ - pub(crate) struct $outputName(#{O}); - - impl $outputName { - pub fn into_response(self) -> #{SmithyHttpServer}::response::Response { - $intoResponseImpl - } - } - - impl #{SmithyHttpServer}::response::IntoResponse<#{Marker}> for #{O} { - fn into_response(self) -> #{SmithyHttpServer}::response::Response { - $outputName(self).into_response() - } - } - """.trimIndent(), - *codegenScope, - "O" to outputSymbol, - "Marker" to protocol.markerStruct(), - "serialize_response" to serverSerializeResponse(operationShape), - ) } - - // Implement conversion function to "wrap" from the model operation output types. - if (operationShape.operationErrors(model).isNotEmpty()) { - rustTemplate( - """ - impl #{From}> for $outputName { - fn from(res: Result<#{O}, #{E}>) -> Self { - match res { - Ok(v) => Self::Output(v), - Err(e) => Self::Error(e), - } - } - } - """.trimIndent(), - "O" to outputSymbol, - "E" to errorSymbol, - "From" to RuntimeType.From, - ) - } else { - rustTemplate( - """ - impl #{From}<#{O}> for $outputName { - fn from(o: #{O}) -> Self { - Self(o) - } - } - """.trimIndent(), - "O" to outputSymbol, - "From" to RuntimeType.From, - ) - } - - // Implement conversion function to "unwrap" into the model operation input types. - rustTemplate( - """ - impl #{From}<$inputName> for #{I} { - fn from(i: $inputName) -> Self { - i.0 - } - } - """.trimIndent(), - "I" to inputSymbol, - "From" to RuntimeType.From, - ) } private fun serverParseRequest(operationShape: OperationShape): RuntimeType { @@ -399,7 +306,7 @@ private class ServerHttpBoundProtocolTraitImplGenerator( rustBlockTemplate( """ pub async fn $fnName( - ##[allow(unused_variables)] request: &mut #{SmithyHttpServer}::request::RequestParts + ##[allow(unused_variables)] request: #{http}::Request ) -> std::result::Result< #{I}, #{RequestRejection} @@ -712,12 +619,13 @@ private class ServerHttpBoundProtocolTraitImplGenerator( "let mut input = #T::default();", inputShape.serverBuilderSymbol(codegenContext), ) + Attribute.AllowUnusedVariables.render(this) + rust("let (parts, body) = request.into_parts();") val parser = structuredDataParser.serverInputParser(operationShape) val noInputs = model.expectShape(operationShape.inputShape).expectTrait().originalId == null if (parser != null) { rustTemplate( """ - let body = request.take_body().ok_or(#{RequestRejection}::BodyAlreadyExtracted)?; let bytes = #{Hyper}::body::to_bytes(body).await?; if !bytes.is_empty() { input = #{parser}(bytes.as_ref(), input)?; @@ -755,7 +663,7 @@ private class ServerHttpBoundProtocolTraitImplGenerator( conditionalBlock("if body.is_empty() {", "}", conditional = parser != null) { rustTemplate( """ - #{SmithyHttpServer}::protocols::content_type_header_empty_body_no_modeled_input(request)?; + #{SmithyHttpServer}::protocols::content_type_header_empty_body_no_modeled_input(&parts.headers)?; """, *codegenScope, ) @@ -797,7 +705,6 @@ private class ServerHttpBoundProtocolTraitImplGenerator( rustTemplate( """ { - let body = request.take_body().ok_or(#{RequestRejection}::BodyAlreadyExtracted)?; Some(#{Deserializer}(&mut body.into().into_inner())?) } """, @@ -808,7 +715,6 @@ private class ServerHttpBoundProtocolTraitImplGenerator( rustTemplate( """ { - let body = request.take_body().ok_or(#{RequestRejection}::BodyAlreadyExtracted)?; let bytes = #{Hyper}::body::to_bytes(body).await?; #{Deserializer}(&bytes)? } @@ -878,7 +784,7 @@ private class ServerHttpBoundProtocolTraitImplGenerator( }, ) with(writer) { - rustTemplate("let input_string = request.uri().path();") + rustTemplate("let input_string = parts.uri.path();") if (greedyLabelIndex >= 0 && greedyLabelIndex + 1 < httpTrait.uri.segments.size) { rustTemplate( """ @@ -963,7 +869,7 @@ private class ServerHttpBoundProtocolTraitImplGenerator( with(writer) { rustTemplate( """ - let query_string = request.uri().query().unwrap_or(""); + let query_string = parts.uri.query().unwrap_or(""); let pairs = #{FormUrlEncoded}::parse(query_string.as_bytes()); """.trimIndent(), *codegenScope, @@ -1129,7 +1035,7 @@ private class ServerHttpBoundProtocolTraitImplGenerator( val deserializer = httpBindingGenerator.generateDeserializeHeaderFn(binding) writer.rustTemplate( """ - #{deserializer}(request.headers().ok_or(#{RequestRejection}::HeadersAlreadyExtracted)?)? + #{deserializer}(&parts.headers)? """.trimIndent(), "deserializer" to deserializer, *codegenScope, @@ -1143,7 +1049,7 @@ private class ServerHttpBoundProtocolTraitImplGenerator( val deserializer = httpBindingGenerator.generateDeserializePrefixHeadersFn(binding) writer.rustTemplate( """ - #{deserializer}(request.headers().ok_or(#{RequestRejection}::HeadersAlreadyExtracted)?)? + #{deserializer}(&parts.headers)? """.trimIndent(), "deserializer" to deserializer, *codegenScope, diff --git a/codegen-server/src/test/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ConstraintsTest.kt b/codegen-server/src/test/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ConstraintsTest.kt index 76821a90dd..946027ce02 100644 --- a/codegen-server/src/test/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ConstraintsTest.kt +++ b/codegen-server/src/test/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ConstraintsTest.kt @@ -94,14 +94,9 @@ class ConstraintsTest { private val structAInt = model.lookup("test#StructureA\$int") private val structAString = model.lookup("test#StructureA\$string") - @Test - fun `it should not recognize uniqueItems as a constraint trait because it's deprecated`() { - listA.isDirectlyConstrained(symbolProvider) shouldBe false - } - @Test fun `it should detect supported constrained traits as constrained`() { - listOf(mapA, structA, lengthString).forAll { + listOf(listA, mapA, structA, lengthString).forAll { it.isDirectlyConstrained(symbolProvider) shouldBe true } } diff --git a/codegen-server/src/test/kotlin/software/amazon/smithy/rust/codegen/server/smithy/DeriveEqAndHashSymbolMetadataProviderTest.kt b/codegen-server/src/test/kotlin/software/amazon/smithy/rust/codegen/server/smithy/DeriveEqAndHashSymbolMetadataProviderTest.kt index e347197276..55c0c6e680 100644 --- a/codegen-server/src/test/kotlin/software/amazon/smithy/rust/codegen/server/smithy/DeriveEqAndHashSymbolMetadataProviderTest.kt +++ b/codegen-server/src/test/kotlin/software/amazon/smithy/rust/codegen/server/smithy/DeriveEqAndHashSymbolMetadataProviderTest.kt @@ -35,29 +35,29 @@ internal class DeriveEqAndHashSymbolMetadataProviderTest { input: TestInputOutput output: TestInputOutput } - + operation StreamingOperation { input: StreamingOperationInputOutput output: StreamingOperationInputOutput } - + operation EventStreamOperation { input: EventStreamOperationInputOutput output: EventStreamOperationInputOutput } - + structure EventStreamOperationInputOutput { @httpPayload @required union: StreamingUnion } - + structure StreamingOperationInputOutput { @httpPayload @required blobStream: BlobStream } - + @streaming blob BlobStream @@ -68,14 +68,14 @@ internal class DeriveEqAndHashSymbolMetadataProviderTest { containsFloat: ContainsFloat containsDouble: ContainsDouble containsDocument: ContainsDocument - + hasList: HasList hasListWithMap: HasListWithMap hasMap: HasMap - + eqAndHashStruct: EqAndHashStruct } - + structure EqAndHashStruct { blob: Blob boolean: Boolean @@ -86,27 +86,27 @@ internal class DeriveEqAndHashSymbolMetadataProviderTest { long: Long enum: Enum timestamp: Timestamp - + list: List union: EqAndHashUnion - + // bigInteger: BigInteger // bigDecimal: BigDecimal } - + list List { member: String } - + list ListWithMap { member: Map } - + map Map { key: String value: String } - + union EqAndHashUnion { blob: Blob boolean: Boolean @@ -117,51 +117,51 @@ internal class DeriveEqAndHashSymbolMetadataProviderTest { long: Long enum: Enum timestamp: Timestamp - + list: List } - + @streaming union StreamingUnion { eqAndHashStruct: EqAndHashStruct } - + structure HasFloat { float: Float } - + structure HasDouble { double: Double } - + structure HasDocument { document: Document } - + structure HasList { list: List } - + structure HasListWithMap { list: ListWithMap } - + structure HasMap { map: Map } - + structure ContainsFloat { hasFloat: HasFloat } - + structure ContainsDouble { hasDouble: HasDouble } - + structure ContainsDocument { containsDocument: HasDocument } - + enum Enum { DIAMOND CLUB diff --git a/codegen-server/src/test/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ValidateUnsupportedConstraintsAreNotUsedTest.kt b/codegen-server/src/test/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ValidateUnsupportedConstraintsAreNotUsedTest.kt index 0a59f41a4f..83ea701a97 100644 --- a/codegen-server/src/test/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ValidateUnsupportedConstraintsAreNotUsedTest.kt +++ b/codegen-server/src/test/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ValidateUnsupportedConstraintsAreNotUsedTest.kt @@ -58,15 +58,17 @@ internal class ValidateUnsupportedConstraintsAreNotUsedTest { validationResult.messages shouldHaveSize 1 // Asserts the exact message, to ensure the formatting is appropriate. - validationResult.messages[0].message shouldBe """Operation test#TestOperation takes in input that is constrained (https://awslabs.github.io/smithy/2.0/spec/constraint-traits.html), and as such can fail with a validation exception. You must model this behavior in the operation shape in your model file. -```smithy -use smithy.framework#ValidationException - -operation TestOperation { - ... - errors: [..., ValidationException] // <-- Add this. -} -```""" + validationResult.messages[0].message shouldBe """ + Operation test#TestOperation takes in input that is constrained (https://awslabs.github.io/smithy/2.0/spec/constraint-traits.html), and as such can fail with a validation exception. You must model this behavior in the operation shape in your model file. + ```smithy + use smithy.framework#ValidationException + + operation TestOperation { + ... + errors: [..., ValidationException] // <-- Add this. + } + ``` + """.trimIndent() } @Test @@ -189,27 +191,6 @@ operation TestOperation { validationResult.shouldAbort shouldBe true } - @Test - fun `it should detect when the unique items trait is used`() { - val model = - """ - $baseModel - - structure TestInputOutput { - uniqueItemsList: UniqueItemsList - } - - @uniqueItems - list UniqueItemsList { - member: String - } - """.asSmithyModel() - val validationResult = validateModel(model) - - validationResult.messages shouldHaveSize 1 - validationResult.messages[0].message shouldContain "The list shape `test#UniqueItemsList` has the constraint trait `smithy.api#uniqueItems` attached" - } - @Test fun `it should abort when ignoreUnsupportedConstraints is false and unsupported constraints are used`() { val validationResult = validateModel(constraintTraitOnStreamingBlobShapeModel, ServerCodegenConfig()) diff --git a/codegen-server/src/test/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ConstrainedCollectionGeneratorTest.kt b/codegen-server/src/test/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ConstrainedCollectionGeneratorTest.kt index f14ac17284..8e043ec47c 100644 --- a/codegen-server/src/test/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ConstrainedCollectionGeneratorTest.kt +++ b/codegen-server/src/test/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ConstrainedCollectionGeneratorTest.kt @@ -12,13 +12,19 @@ import org.junit.jupiter.params.ParameterizedTest import org.junit.jupiter.params.provider.Arguments import org.junit.jupiter.params.provider.ArgumentsProvider import org.junit.jupiter.params.provider.ArgumentsSource +import software.amazon.smithy.codegen.core.Symbol import software.amazon.smithy.model.Model import software.amazon.smithy.model.node.ArrayNode import software.amazon.smithy.model.shapes.CollectionShape import software.amazon.smithy.model.shapes.ListShape import software.amazon.smithy.model.shapes.SetShape import software.amazon.smithy.rust.codegen.core.rustlang.RustWriter +import software.amazon.smithy.rust.codegen.core.rustlang.Writable +import software.amazon.smithy.rust.codegen.core.rustlang.rust import software.amazon.smithy.rust.codegen.core.rustlang.rustBlock +import software.amazon.smithy.rust.codegen.core.rustlang.rustTemplate +import software.amazon.smithy.rust.codegen.core.rustlang.withBlock +import software.amazon.smithy.rust.codegen.core.rustlang.writable import software.amazon.smithy.rust.codegen.core.smithy.ModelsModule import software.amazon.smithy.rust.codegen.core.testutil.TestWorkspace import software.amazon.smithy.rust.codegen.core.testutil.asSmithyModel @@ -33,10 +39,36 @@ import java.util.stream.Stream @Suppress("DEPRECATION") class ConstrainedCollectionGeneratorTest { - data class TestCase(val model: Model, val validList: ArrayNode, val invalidList: ArrayNode) + data class TestCase( + val model: Model, + val validLists: List, + val invalidLists: List, + ) + + data class InvalidList( + val node: ArrayNode, + // A function returning a writable that renders the expected Rust value that the constructor error should + // return. + val expectedErrorFn: ((constraintViolation: Symbol, originalValueBindingName: String) -> Writable)?, + ) class ConstrainedListGeneratorTestProvider : ArgumentsProvider { - private val testCases = listOf( + private fun generateModel(trait: String): Model = + """ + namespace test + + $trait + list ConstrainedList { + member: String + } + + $trait + set ConstrainedSet { + member: String + } + """.asSmithyModel().let(ShapesReachableFromOperationInputTagger::transform) + + private val lengthTraitTestCases = listOf( // Min and max. Triple("@length(min: 11, max: 12)", 11, 13), // Min equal to max. @@ -46,51 +78,99 @@ class ConstrainedCollectionGeneratorTest { // Only max. Triple("@length(max: 11)", 11, 12), ).map { + // Generate lists of strings of the specified length with consecutive items "0", "1", ... val validList = List(it.second, Int::toString) val invalidList = List(it.third, Int::toString) Triple(it.first, ArrayNode.fromStrings(validList), ArrayNode.fromStrings(invalidList)) }.map { (trait, validList, invalidList) -> TestCase( - """ - namespace test + model = generateModel(trait), + validLists = listOf(validList), + invalidLists = listOf(InvalidList(invalidList, expectedErrorFn = null)), + ) + } - $trait - list ConstrainedList { - member: String - } + private fun constraintViolationForDuplicateIndices(duplicateIndices: List): + ((constraintViolation: Symbol, originalValueBindingName: String) -> Writable) { + fun ret(constraintViolation: Symbol, originalValueBindingName: String): Writable = writable { + // Public documentation for the unique items constraint violation states that callers should not + // rely on the order of the elements in `duplicate_indices`. However, the algorithm is deterministic, + // so we can internally assert the order. If the algorithm changes, the test cases will need to be + // adjusted. + rustTemplate( + """ + #{ConstraintViolation}::UniqueItems { + duplicate_indices: vec![${duplicateIndices.joinToString(", ")}], + original: $originalValueBindingName, + } + """, + "ConstraintViolation" to constraintViolation, + ) + } - $trait - set ConstrainedSet { - member: String - } - """.asSmithyModel().let(ShapesReachableFromOperationInputTagger::transform), - validList, - invalidList, - ) + return ::ret } + private val uniqueItemsTraitTestCases = listOf( + // We only need one test case, since `@uniqueItems` is not parameterizable. + TestCase( + model = generateModel("@uniqueItems"), + validLists = listOf( + ArrayNode.fromStrings(), + ArrayNode.fromStrings("0", "1"), + ArrayNode.fromStrings("a", "b", "a2"), + ArrayNode.fromStrings((0..69).map(Int::toString).toList()), + ), + invalidLists = listOf( + // Two elements, both duplicate. + InvalidList( + node = ArrayNode.fromStrings("0", "0"), + expectedErrorFn = constraintViolationForDuplicateIndices(listOf(0, 1)), + ), + // Two duplicate items, one at the beginning, one at the end. + InvalidList( + node = ArrayNode.fromStrings("0", "1", "2", "3", "4", "5", "0"), + expectedErrorFn = constraintViolationForDuplicateIndices(listOf(0, 6)), + ), + // Several duplicate items, all the same. + InvalidList( + node = ArrayNode.fromStrings("0", "1", "0", "0", "4", "0", "6", "7"), + expectedErrorFn = constraintViolationForDuplicateIndices(listOf(0, 2, 3, 5)), + ), + // Several equivalence classes. + InvalidList( + node = ArrayNode.fromStrings("0", "1", "0", "2", "1", "0", "2", "7", "2"), + // Note how the duplicate indices are not ordered. + expectedErrorFn = constraintViolationForDuplicateIndices(listOf(0, 1, 2, 3, 6, 5, 4, 8)), + ), + // The worst case: a fairly large number of elements, all duplicate. + InvalidList( + node = ArrayNode.fromStrings(generateSequence { "69" }.take(69).toList()), + expectedErrorFn = constraintViolationForDuplicateIndices((0..68).toList()), + ), + ), + ), + ) + override fun provideArguments(context: ExtensionContext?): Stream = - testCases.map { Arguments.of(it) }.stream() + (lengthTraitTestCases + uniqueItemsTraitTestCases).map { Arguments.of(it) }.stream() } @ParameterizedTest @ArgumentsSource(ConstrainedListGeneratorTestProvider::class) fun `it should generate constrained collection types`(testCase: TestCase) { val constrainedListShape = testCase.model.lookup("test#ConstrainedList") - // TODO(https://github.com/awslabs/smithy-rs/issues/1401): a `set` shape is - // just a `list` shape with `uniqueItems`, which hasn't been implemented yet. - // val constrainedSetShape = testCase.model.lookup("test#ConstrainedSet") + val constrainedSetShape = testCase.model.lookup("test#ConstrainedSet") val codegenContext = serverTestCodegenContext(testCase.model) - val symbolProvider = codegenContext.symbolProvider - val project = TestWorkspace.testProject(symbolProvider) + val project = TestWorkspace.testProject(codegenContext.symbolProvider) - listOf(constrainedListShape /*, constrainedSetShape */).forEach { shape -> + for (shape in listOf(constrainedListShape, constrainedSetShape)) { val shapeName = when (shape) { - is ListShape -> "list" is SetShape -> "set" + is ListShape -> "list" else -> UNREACHABLE("Shape is either list or set.") } @@ -98,46 +178,77 @@ class ConstrainedCollectionGeneratorTest { render(codegenContext, this, shape) val instantiator = serverInstantiator(codegenContext) - rustBlock("##[cfg(test)] fn build_valid_$shapeName() -> std::vec::Vec") { - instantiator.render(this, shape, testCase.validList) - } - rustBlock("##[cfg(test)] fn build_invalid_$shapeName() -> std::vec::Vec") { - instantiator.render(this, shape, testCase.invalidList) + for ((idx, validList) in testCase.validLists.withIndex()) { + val shapeNameIdx = "${shapeName}_$idx" + val buildValidFnName = "build_valid_$shapeNameIdx" + val typeName = "Constrained${shapeName.replaceFirstChar { it.uppercaseChar() }}" + + rustBlock("##[cfg(test)] fn $buildValidFnName() -> std::vec::Vec") { + instantiator.render(this, shape, validList) + } + + unitTest( + name = "${shapeNameIdx}_try_from_success", + test = """ + let $shapeNameIdx = $buildValidFnName(); + let _constrained: $typeName = $shapeNameIdx.try_into().unwrap(); + """, + ) + unitTest( + name = "${shapeNameIdx}_inner", + test = """ + let $shapeNameIdx = $buildValidFnName(); + let constrained = $typeName::try_from($shapeNameIdx.clone()).unwrap(); + + assert_eq!(constrained.inner(), &$shapeNameIdx); + """, + ) + unitTest( + name = "${shapeNameIdx}_into_inner", + test = """ + let $shapeNameIdx = $buildValidFnName(); + let constrained = $typeName::try_from($shapeNameIdx.clone()).unwrap(); + + assert_eq!(constrained.into_inner(), $shapeNameIdx); + """, + ) } - unitTest( - name = "try_from_success", - test = """ - let $shapeName = build_valid_$shapeName(); - let _constrained: ConstrainedList = $shapeName.try_into().unwrap(); - """, - ) - unitTest( - name = "try_from_fail", - test = """ - let $shapeName = build_invalid_$shapeName(); - let constrained_res: Result = $shapeName.try_into(); - constrained_res.unwrap_err(); - """, - ) - unitTest( - name = "inner", - test = """ - let $shapeName = build_valid_$shapeName(); - let constrained = ConstrainedList::try_from($shapeName.clone()).unwrap(); + for ((idx, invalidList) in testCase.invalidLists.withIndex()) { + val shapeNameIdx = "${shapeName}_$idx" + val buildInvalidFnName = "build_invalid_$shapeNameIdx" + val typeName = "Constrained${shapeName.replaceFirstChar { it.uppercaseChar() }}" - assert_eq!(constrained.inner(), &$shapeName); - """, - ) - unitTest( - name = "into_inner", - test = """ - let $shapeName = build_valid_$shapeName(); - let constrained = ConstrainedList::try_from($shapeName.clone()).unwrap(); + rustBlock("##[cfg(test)] fn $buildInvalidFnName() -> std::vec::Vec") { + instantiator.render(this, shape, invalidList.node) + } + unitTest( + name = "${shapeNameIdx}_try_from_fail", + block = writable { + rust( + """ + let $shapeNameIdx = $buildInvalidFnName(); + let constrained_res: Result <$typeName, _> = $shapeNameIdx.clone().try_into(); + """, + ) - assert_eq!(constrained.into_inner(), $shapeName); - """, - ) + invalidList.expectedErrorFn?.also { expectedErrorFn -> + val expectedErrorWritable = expectedErrorFn( + codegenContext.constraintViolationSymbolProvider.toSymbol(shape), + shapeNameIdx, + ) + + rust("let err = constrained_res.unwrap_err();") + withBlock("let expected_err = ", ";") { + rustTemplate("#{ExpectedError:W}", "ExpectedError" to expectedErrorWritable) + } + rust("assert_eq!(err, expected_err);") + } ?: run { + rust("constrained_res.unwrap_err();") + } + }, + ) + } } } @@ -146,14 +257,15 @@ class ConstrainedCollectionGeneratorTest { @Test fun `type should not be constructible without using a constructor`() { - val model = """ + val model = + """ namespace test @length(min: 1, max: 69) list ConstrainedList { member: String } - """.asSmithyModel().let(ShapesReachableFromOperationInputTagger::transform) + """.asSmithyModel().let(ShapesReachableFromOperationInputTagger::transform) val constrainedCollectionShape = model.lookup("test#ConstrainedList") val writer = RustWriter.forModule(ModelsModule.name) @@ -170,7 +282,7 @@ class ConstrainedCollectionGeneratorTest { writer: RustWriter, constrainedCollectionShape: CollectionShape, ) { - val constraintsInfo = CollectionTraitInfo.fromShape(constrainedCollectionShape) + val constraintsInfo = CollectionTraitInfo.fromShape(constrainedCollectionShape, codegenContext.symbolProvider) ConstrainedCollectionGenerator(codegenContext, writer, constrainedCollectionShape, constraintsInfo).render() CollectionConstraintViolationGenerator(codegenContext, writer, constrainedCollectionShape, constraintsInfo).render() } diff --git a/codegen-server/src/test/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ConstrainedMapGeneratorTest.kt b/codegen-server/src/test/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ConstrainedMapGeneratorTest.kt index 3fa9559943..2da058cde5 100644 --- a/codegen-server/src/test/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ConstrainedMapGeneratorTest.kt +++ b/codegen-server/src/test/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ConstrainedMapGeneratorTest.kt @@ -50,7 +50,7 @@ class ConstrainedMapGeneratorTest { TestCase( """ namespace test - + $trait map ConstrainedMap { key: String, @@ -129,13 +129,13 @@ class ConstrainedMapGeneratorTest { fun `type should not be constructible without using a constructor`() { val model = """ namespace test - + @length(min: 1, max: 69) map ConstrainedMap { key: String, value: String } - """.asSmithyModel().let(ShapesReachableFromOperationInputTagger::transform) + """.asSmithyModel().let(ShapesReachableFromOperationInputTagger::transform) val constrainedMapShape = model.lookup("test#ConstrainedMap") val writer = RustWriter.forModule(ModelsModule.name) diff --git a/codegen-server/src/test/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ServerOperationRegistryGeneratorTest.kt b/codegen-server/src/test/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ServerOperationRegistryGeneratorTest.kt deleted file mode 100644 index 6103de903b..0000000000 --- a/codegen-server/src/test/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/ServerOperationRegistryGeneratorTest.kt +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * SPDX-License-Identifier: Apache-2.0 - */ - -package software.amazon.smithy.rust.codegen.server.smithy.generators - -import io.kotest.matchers.string.shouldContain -import org.junit.jupiter.api.Test -import software.amazon.smithy.model.knowledge.TopDownIndex -import software.amazon.smithy.model.shapes.ServiceShape -import software.amazon.smithy.rust.codegen.core.rustlang.RustWriter -import software.amazon.smithy.rust.codegen.core.testutil.asSmithyModel -import software.amazon.smithy.rust.codegen.core.util.lookup -import software.amazon.smithy.rust.codegen.server.smithy.generators.protocol.ServerProtocol -import software.amazon.smithy.rust.codegen.server.smithy.protocols.ServerProtocolLoader -import software.amazon.smithy.rust.codegen.server.smithy.testutil.serverTestCodegenContext - -class ServerOperationRegistryGeneratorTest { - private val model = """ - namespace test - - use aws.protocols#restJson1 - - @restJson1 - service Service { - operations: [ - Frobnify, - SayHello, - ], - } - - /// Only the Frobnify operation is documented, - /// over multiple lines. - /// And here are #hash #tags! - @http(method: "GET", uri: "/frobnify") - operation Frobnify { - input: FrobnifyInputOutput, - output: FrobnifyInputOutput, - errors: [FrobnifyFailure] - } - - @http(method: "GET", uri: "/hello") - operation SayHello { - input: SayHelloInputOutput, - output: SayHelloInputOutput, - } - - structure FrobnifyInputOutput {} - structure SayHelloInputOutput {} - - @error("server") - structure FrobnifyFailure {} - """.asSmithyModel() - - @Test - fun `it generates quickstart example`() { - val serviceShape = model.lookup("test#Service") - val (protocolShapeId, protocolGeneratorFactory) = ServerProtocolLoader(ServerProtocolLoader.DefaultProtocols).protocolFor( - model, - serviceShape, - ) - val serverCodegenContext = serverTestCodegenContext( - model, - serviceShape, - protocolShapeId = protocolShapeId, - ) - - val index = TopDownIndex.of(serverCodegenContext.model) - val operations = index.getContainedOperations(serverCodegenContext.serviceShape).sortedBy { it.id } - val protocol = protocolGeneratorFactory.protocol(serverCodegenContext) as ServerProtocol - - val generator = ServerOperationRegistryGenerator(serverCodegenContext, protocol, operations) - val writer = RustWriter.forModule("operation_registry") - generator.render(writer) - - writer.toString() shouldContain - """ - /// ```rust - /// use std::net::SocketAddr; - /// use test_module::{input, output, error}; - /// use test_module::operation_registry::OperationRegistryBuilder; - /// use aws_smithy_http_server::routing::Router; - /// - /// #[tokio::main] - /// pub async fn main() { - /// let app: Router = OperationRegistryBuilder::default() - /// .frobnify(frobnify) - /// .say_hello(say_hello) - /// .build() - /// .expect("unable to build operation registry") - /// .into(); - /// - /// let bind: SocketAddr = format!("{}:{}", "127.0.0.1", "6969") - /// .parse() - /// .expect("unable to parse the server bind address and port"); - /// - /// let server = hyper::Server::bind(&bind).serve(app.into_make_service()); - /// - /// // Run your service! - /// // if let Err(err) = server.await { - /// // eprintln!("server error: {}", err); - /// // } - /// } - /// - /// /// Only the Frobnify operation is documented, - /// /// over multiple lines. - /// /// And here are #hash #tags! - /// async fn frobnify(input: input::FrobnifyInputOutput) -> Result { - /// todo!() - /// } - /// - /// async fn say_hello(input: input::SayHelloInputOutput) -> output::SayHelloInputOutput { - /// todo!() - /// } - /// ``` - /// - """.trimIndent() - } -} diff --git a/design/src/SUMMARY.md b/design/src/SUMMARY.md index 2b79d89d61..381b27987a 100644 --- a/design/src/SUMMARY.md +++ b/design/src/SUMMARY.md @@ -53,6 +53,7 @@ - [RFC-0028: SDK Credential Cache Type Safety](./rfcs/rfc0028_sdk_credential_cache_type_safety.md) - [RFC-0029: Finding New Home for Credential Types](./rfcs/rfc0029_new_home_for_cred_types.md) - [RFC-0030: Serialization And Deserialization](./rfcs/rfc0030_serialization_and_deserialization.md) + - [RFC-0031: Providing Fallback Credentials on Timeout](./rfcs/rfc0031_providing_fallback_credentials_on_timeout.md) - [Contributing](./contributing/overview.md) - [Writing and debugging a low-level feature that relies on HTTP](./contributing/writing_and_debugging_a_low-level_feature_that_relies_on_HTTP.md) diff --git a/design/src/rfcs/overview.md b/design/src/rfcs/overview.md index 000286b82f..4109cd56fb 100644 --- a/design/src/rfcs/overview.md +++ b/design/src/rfcs/overview.md @@ -39,3 +39,5 @@ - [RFC-0027: Endpoints 2.0](./rfc0027_endpoints_20.md) - [RFC-0028: SDK Credential Cache Type Safety](./rfc0028_sdk_credential_cache_type_safety.md) - [RFC-0029: Finding New Home for Credential Types](./rfc0029_new_home_for_cred_types.md) +- [RFC-0030: Serialization And Deserialization](./rfc0030_serialization_and_deserialization.md) +- [RFC-0031: Providing Fallback Credentials on Timeout](./rfc0031_providing_fallback_credentials_on_timeout.md) diff --git a/design/src/rfcs/rfc0030_serialization_and_deserialization.md b/design/src/rfcs/rfc0030_serialization_and_deserialization.md index a8dac62693..1e4c6c3bf1 100644 --- a/design/src/rfcs/rfc0030_serialization_and_deserialization.md +++ b/design/src/rfcs/rfc0030_serialization_and_deserialization.md @@ -206,53 +206,56 @@ The resulting size of the serialized data is smaller when tagged externally, as For the reasons mentioned above, we implement an enum that is externally tagged. -## Data Types to Skip -We are going to skip serialization and deserialization of fields that have the datatype that corresponds to `@streaming blob` and `@streaming union` from smithy. -Any fields with these data types are tagged with `#[serde(skip, default = "..name of the function for tailored serialization/de-serialization")]`. +## Data Types to Skip Serialization/Deserialization +We are going to skip serialization and deserialization of fields that have the datatype that corresponds to `@streaming blob` from smithy. +Any fields with these data types are tagged with `#[serde(skip)]`. -As of writing, this decision affects following Rust data types. -- `aws_smithy_http::byte_stream::ByteStream` -- `aws_smithy_http::event_stream::Receiver` -- `aws_smithy_http::event_stream::EventStreamSender` +By skipping, corresponding field's value will be assigned the value generated by `Default` trait. -Here are some examples of data types affected by this decision: -- `aws_sdk_transcribestreaming::client::fluent_builders::StartMedicalStreamTranscription` +As of writing, `aws_smithy_http::byte_stream::ByteStream` is the only data type that is affected by this decision. + +Here is an example of data types affected by this decision: - `aws_sdk_s3::input::put_object_input::PutObjectInput` We considered serializing them as bytes, however, it could take some time for a stream to reach the end, and the resulting serialized data may be too big for itself to fit into the ram. -Additionally, those data types are sometimes used to represent bi-directional data transfer, which is not serializable. -Here is an example of struct with a field that comes with custom serialization/de-serialization logic. +Here is an example snippet. ```rust #[allow(missing_docs)] #[cfg_attr( - all(aws-sdk-unstable, feature = "serialize"), + all(aws-sdk-unstable, feature = "serde-serialize"), derive(serde::Serialize) )] #[cfg_attr( - all(aws-sdk-unstable, feature = "deserialize"), + all(aws-sdk-unstable, feature = "serde-deserialize"), derive(serde::Deserialize) )] #[non_exhaustive] #[derive(std::fmt::Debug)] -pub struct ExampleStreamTranscriptionOutput { - #[cfg_attr( - any( - all(aws-sdk-unstable, feature = "deserialize"), - all(aws-sdk-unstable, feature = "serialize") - ), - serde( - skip, - default = "aws_smithy_http::event_stream::Receiver::deserialized_receiver" - ) - )] - pub transcript_result_stream: aws_smithy_http::event_stream::Receiver< - crate::model::ExampleTranscriptResultStream, - crate::error::ExampleTranscriptResultStreamError, - > +pub struct PutObjectInput { + pub acl: std::option::Option, + pub body: aws_smithy_http::byte_stream::ByteStream, + // ... other fields } ``` +## Data types to exclude from ser/de code generation +For data types that include `@streaming union` in any of their fields, we do NOT implement `serde` traits. + +As of writing, following Rust data types corresponds to `@streaming union`. +- `aws_smithy_http::event_stream::Receiver` +- `aws_smithy_http::event_stream::EventStreamSender` + +Here is an example of data type affected by this decision; +- `aws_sdk_transcribestreaming::client::fluent_builders::StartMedicalStreamTranscription` + +We considered skipping relevant fields on serialization and creating a custom de-serialization function which creates event stream that will always result in error when a user tries to send/receive data. +However, we believe that our decision is justified for following reason. +- All for operations that feature event streams since the stream is ephemeral (tied to the HTTP connection), and is effectively unusable after serialization and deserialization +- Most event stream operations don't have fields that go along with them, making the stream the sole component in them, which makes ser/de not so useful +- SDK that uses event stream, such as `aws-sdk-transcribestreaming` only has just over 5000 all-time downloads with recent downloads of just under 1000 as of writing (2023/01/21); It makes it difficult to justify since the implementation impacts smaller number of people. + + ## `Serde` traits implemented on Builder of Output Types Output data, such as `aws_sdk_dynamodb::output::UpdateTableOutput` has builder types. These builder types are available to users, however, no API requires users to build data types by themselves. diff --git a/design/src/rfcs/rfc0031_providing_fallback_credentials_on_timeout.md b/design/src/rfcs/rfc0031_providing_fallback_credentials_on_timeout.md new file mode 100644 index 0000000000..98ccfad3d9 --- /dev/null +++ b/design/src/rfcs/rfc0031_providing_fallback_credentials_on_timeout.md @@ -0,0 +1,328 @@ +RFC: Providing fallback credentials on external timeout +======================================================= +> Status: Implemented in [smithy-rs#2246](https://github.com/awslabs/smithy-rs/pull/2246) +> +> Applies to: client + +For a summarized list of proposed changes, see the [Changes Checklist](#changes-checklist) section. + +This RFC proposes a fallback mechanism for credentials providers on external timeout (see the [Terminology](#terminology) section), allowing them to continue serving (possibly expired) credentials for the sake of overall reliability of the intended service; The IMDS credentials provider is an example that must fulfill such a requirement to support static stability. + +Terminology +----------- + +- External timeout: The name of the timeout that occurs when a duration elapses before an async call to `provide_credentials` returns. In this case, `provide_credentials` returns no credentials. +- Internal timeout: The name of the timeout that occurs when a duration elapses before an async call to some function, inside the implementation of `provide_credentials`, returns. Examples include connection timeouts, TLS negotiation timeouts, and HTTP request timeouts. Implementations of `provide_credentials` may handle these failures at their own discretion e.g. by returning _(possibly expired)_ credentials or a `CredentialsError`. +- Static stability: Continued availability of a service in the face of impaired dependencies. + +Assumption +---------- + +This RFC is concerned only with external timeouts, as the cost of poor API design is much higher in this case than for internal timeouts. The former will affect a public trait implemented by all credentials providers whereas the latter can be handled locally by individual credentials providers without affecting one another. + +Problem +------- + +We have mentioned static stability. Supporting it calls for the following functional requirement, among others: +- REQ 1: Once a credentials provider has served credentials, it should continue serving them in the event of a timeout (whether internal or external) while obtaining refreshed credentials. + +Today, we have the following trait method to obtain credentials: +```rust +fn provide_credentials<'a>(&'a self) -> future::ProvideCredentials<'a> +where + Self: 'a, +``` +This method returns a future, which can be raced against a timeout future as demonstrated by the following code snippet from `LazyCredentialsCache`: + +```rust +let timeout_future = self.sleeper.sleep(self.load_timeout); // by default self.load_timeout is 5 seconds. +// --snip-- +let future = Timeout::new(provider.provide_credentials(), timeout_future); +let result = cache + .get_or_load(|| async move { + let credentials = future.await.map_err(|_err| { + CredentialsError::provider_timed_out(load_timeout) + })??; + // --snip-- + }).await; +// --snip-- +``` +This creates an external timeout for `provide_credentials`. If `timeout_future` wins the race, a future for `provide_credentials` gets dropped, `timeout_future` returns an error, and the error is mapped to `CredentialsError::ProviderTimedOut` and returned. This makes it impossible for the variable `provider` above to serve credentials as stated in REQ 1. + +A more complex use case involves `CredentialsProviderChain`. It is a manifestation of the chain of responsibility pattern and keeps calling the `provide_credentials` method on each credentials provider down the chain until credentials are returned by one of them. In addition to REQ 1, we have the following functional requirement with respect to `CredentialsProviderChain`: +- REQ 2: Once a credentials provider in the chain has returned credentials, it should continue serving them even in the event of a timeout (whether internal or external) without falling back to another credentials provider. + +Referring back to the code snippet above, we analyze two relevant cases (and suppose provider 2 below must meet REQ 1 and REQ 2 in each case): + +**Case 1:** Provider 2 successfully loaded credentials but later failed to do so because an external timeout kicked in. + +

+chain-provider-ext-timeout-1 +

+ +The figure above illustrates an example. This `CredentialsProviderChain` consists of three credentials providers. When `CredentialsProviderChain::provide_credentials` is called, provider 1's `provide_credentials` is called but does not find credentials so passes the torch to provider 2, which in turn successfully loads credentials and returns them. The next time the method is called, provider 1 does not find credentials but neither does provider 2 this time, because an external timeout by `timeout_future` given to the whole chain kicked in and the future is dropped while provider 2's `provide_credentials` was running. Given the functional requirements, provider 2 should return the previously available credentials but today the code snippet from `LazyCredentialsCache` returns a `CredentialsError::ProviderTimedOut` instead. + +**Case 2:** Provider 2 successfully loaded credentials but later was not reached because its preceding provider was still running when an external timeout kicked in. + +

+chain-provider-ext-timeout-2 +

+ +The figure above illustrates an example with the same setting as the previous figure. Again, when `CredentialsProviderChain::provide_credentials` is called the first time, provider 1 does not find credentials but provider 2 does. The next time the method is called, provider 1 is still executing `provide_credentials` and then an external timeout by `timeout_future` kicked in. Consequently, the execution of `CredentialsProviderChain::provide_credentials` has been terminated. Given the functional requirements, provider 2 should return the previously available credentials but today the code snippet from `LazyCredentialsCache` returns `CredentialsError::ProviderTimedOut` instead. + + +Proposal +-------- +To address the problem in the previous section, we propose to add a new method to the `ProvideCredentials` trait called `fallback_on_interrupt`. This method allows credentials providers to have a fallback mechanism on an external timeout and to serve credentials to users if needed. There are two options as to how it is implemented, either as a synchronous primitive or as an asynchronous primitive. + +#### Option A: Synchronous primitive +```rust +pub trait ProvideCredentials: Send + Sync + std::fmt::Debug { + // --snip-- + + fn fallback_on_interrupt(&self) -> Option { + None + } +} +``` +- :+1: Users can be guided to use only synchronous primitives when implementing `fallback_on_interrupt`. +- :-1: It cannot support cases where fallback credentials are asynchronously retrieved. +- :-1: It may turn into a blocking operation if it takes longer than it should. + +#### Option B: Asynchronous primitive +```rust +mod future { + // --snip-- + + // This cannot use `OnlyReady` in place of `BoxFuture` because + // when a chain of credentials providers implements its own + // `fallback_on_interrupt`, it needs to await fallback credentials + // in its inner providers. Thus, `BoxFuture` is required. + pub struct FallbackOnInterrupt<'a>(NowOrLater, BoxFuture<'a, Option>>); + + // impls for FallbackOnInterrupt similar to those for the ProvideCredentials future newtype +} + +pub trait ProvideCredentials: Send + Sync + std::fmt::Debug { + // --snip-- + + fn fallback_on_interrupt<'a>(&'a self) -> future::FallbackOnInterrupt<'a> { + future::FallbackOnInterrupt::ready(None) + } +} +``` +- :+1: It is async from the beginning, so less likely to introduce a breaking change. +- :-1: We may have to consider yet another timeout for `fallback_on_interrupt` itself. + +Option A cannot be reversible in the future if we are to support the use case for asynchronously retrieving the fallback credentials, whereas option B allows us to continue supporting both ready and pending futures when retrieving the fallback credentials. However, `fallback_on_interrupt` is supposed to return credentials that have been set aside in case `provide_credentials` is timed out. To express that intent, we choose option A and document that users should NOT go fetch new credentials in `fallback_on_interrupt`. + +The user experience for the code snippet in question will look like this once this proposal is implemented: +```rust +let timeout_future = self.sleeper.sleep(self.load_timeout); // by default self.load_timeout is 5 seconds. +// --snip-- +let future = Timeout::new(provider.provide_credentials(), timeout_future); +let result = cache + .get_or_load(|| { + async move { + let credentials = match future.await { + Ok(creds) => creds?, + Err(_err) => match provider.fallback_on_interrupt() { // can provide fallback credentials + Some(creds) => creds, + None => return Err(CredentialsError::provider_timed_out(load_timeout)), + } + }; + // --snip-- + } + }).await; +// --snip-- +``` + + +How to actually implement this RFC +---------------------------------- + +Almost all credentials providers do not have to implement their own `fallback_on_interrupt` except for `CredentialsProviderChain` (`ImdsCredentialsProvider` also needs to implement `fallback_on_interrupt` when we are adding static stability support to it but that is outside the scope of this RFC). + +Considering the two cases we analyzed above, implementing `CredentialsProviderChain::fallback_on_interrupt` is not so straightforward. Keeping track of whose turn in the chain it is to call `provide_credentials` when an external timeout has occurred is a challenging task. Even if we figured it out, that would still not satisfy `Case 2` above, because it was provider 1 that was actively running when the external timeout kicked in, but the chain should return credentials from provider 2, not from provider 1. + +With that in mind, consider instead the following approach: +```rust +impl ProvideCredentials for CredentialsProviderChain { + // --snip-- + + fn fallback_on_interrupt(&self) -> Option { { + for (_, provider) in &self.providers { + match provider.fallback_on_interrupt() { + creds @ Some(_) => return creds, + None => {} + } + } + None + } +} +``` +`CredentialsProviderChain::fallback_on_interrupt` will invoke each provider's `fallback_on_interrupt` method until credentials are returned by one of them. It ensures that the updated code snippet for `LazyCredentialsCache` can return credentials from provider 2 in both `Case 1` and `Case 2`. Even if `timeout_future` wins the race, the execution subsequently calls `provider.fallback_on_interrupt()` to obtain fallback credentials from provider 2, assuming provider 2's `fallback_on_interrupt` is implemented to return fallback credentials accordingly. + +The downside of this simple approach is that the behavior is not clear if more than one credentials provider in the chain can return credentials from their `fallback_on_interrupt`. Note, however, that it is the exception rather than the norm for a provider's `fallback_on_interrupt` to return fallback credentials, at least at the time of writing (01/13/2023). The fact that it returns fallback credentials means that the provider successfully loaded credentials at least once, and it usually continues serving credentials on subsequent calls to `provide_credentials`. + +Should we have more than one provider in the chain that can potentially return fallback credentials from `fallback_on_interrupt`, we could configure the behavior of `CredentialsProviderChain` managing in what order and how each `fallback_on_interrupt` should be executed. See the [Possible enhancement +](#possible-enhancement) section for more details. The use case described there is an extreme edge case, but it's worth exploring what options are available to us with the proposed design. + +Alternative +----------- + +In this section, we will describe an alternative approach that we ended up dismissing as unworkable. + +Instead of `fallback_on_interrupt`, we considered the following method to be added to the `ProvideCredentials` trait: +```rust +pub trait ProvideCredentials: Send + Sync + std::fmt::Debug { + // --snip-- + + /// Returns a future that provides credentials within the given `timeout`. + /// + /// The default implementation races `provide_credentials` against + /// a timeout future created from `timeout`. + fn provide_credentials_with_timeout<'a>( + &'a self, + sleeper: Arc, + timeout: Duration, + ) -> future::ProvideCredentials<'a> + where + Self: 'a, + { + let timeout_future = sleeper.sleep(timeout); + let future = Timeout::new(self.provide_credentials(), timeout_future); + future::ProvideCredentials::new(async move { + let credentials = future + .await + .map_err(|_err| CredentialsError::provider_timed_out(timeout))?; + credentials + }) + } +``` +`provide_credentials_with_timeout` encapsulated the timeout race and allowed users to specify how long the external timeout for `provide_credentials` would be. The code snippet from `LazyCredentialsCache` then looked like +```rust +let sleeper = Arc::clone(&self.sleeper); +let load_timeout = self.load_timeout; // by default self.load_timeout is 5 seconds. +// --snip-- +let result = cache + .get_or_load(|| { + async move { + let credentials = provider + .provide_credentials_with_timeout(sleeper, load_timeout) + .await?; + // --snip-- + } + }).await; +// --snip-- +``` +However, implementing `CredentialsProviderChain::provide_credentials_with_timeout` quickly ran into the following problem: +```rust +impl ProvideCredentials for CredentialsProviderChain { + // --snip-- + + fn provide_credentials_with_timeout<'a>( + &'a self, + sleeper: Arc, + timeout: Duration, + ) -> future::ProvideCredentials<'a> + where + Self: 'a, + { + future::ProvideCredentials::new(self.credentials_with_timeout(sleeper, timeout)) + } +} + +impl CredentialsProviderChain { + // --snip-- + + async fn credentials_with_timeout( + &self, + sleeper: Arc, + timeout: Duration, + ) -> provider::Result { + for (_, provider) in &self.providers { + match provider + .provide_credentials_with_timeout(Arc::clone(&sleeper), /* how do we calculate timeout for each provider ? */) + .await + { + Ok(credentials) => { + return Ok(credentials); + } + Err(CredentialsError::ProviderTimedOut(_)) => { + // --snip-- + } + Err(err) => { + // --snip-- + } + } + } + Err(CredentialsError::provider_timed_out(timeout)) + } +``` +There are mainly two problems with this approach. The first problem is that as shown above, there is no sensible way to calculate a timeout for each provider in the chain. The second problem is that exposing a parameter like `timeout` at a public trait's level is giving too much control to users; delegating overall timeout to the individual provider means each provider has to get it right. + +Changes checklist +----------------- + +- [ ] Add `fallback_on_interrupt` method to the `ProvideCredentials` trait with the default implementation +- [ ] Implement `CredentialsProviderChain::fallback_on_interrupt` +- [ ] Implement `DefaultCredentialsChain::fallback_on_interrupt` +- [ ] Add unit tests for `Case 1` and `Case 2` + +Possible enhancement +-------------------- +We will describe how to customize the behavior for `CredentialsProviderChain::fallback_on_interrupt`. We are only demonstrating how much the proposed design can be extended and currently do not have concrete use cases to implement using what we present in this section. + +As described in the [Proposal](#proposal) section, `CredentialsProviderChain::fallback_on_interrupt` traverses the chain from the head to the tail and returns the first fallback credentials found. This precedence policy works most of the time, but when we have more than one provider in the chain that can potentially return fallback credentials, it could break in the following edge case (we are still basing our discussion on the code snippet from `LazyCredentialsCache` but forget REQ 1 and REQ 2 for the sake of simplicity). + +

+fallback_on_interrupt_appendix excalidraw +

+ +During the first call to `CredentialsProviderChain::provide_credentials`, provider 1 fails to load credentials, maybe due to an internal timeout, and then provider 2 succeeds in loading its credentials (call them credentials 2) and internally stores them for `Provider2::fallback_on_interrupt` to return them subsequently. During the second call, provider 1 succeeds in loading credentials (call them credentials 1) and internally stores them for `Provider1::fallback_on_interrupt` to return them subsequently. Suppose, however, that credentials 1's expiry is earlier than credentials 2's expiry. Finally, during the third call, `CredentialsProviderChain::provide_credentials` did not complete due to an external timeout. `CredentialsProviderChain::fallback_on_interrupt` then returns credentials 1, when it should return credentials 2 whose expiry is later, because of the precedence policy. + +This a case where `CredentialsProviderChain::fallback_on_interrupt` requires the recency policy for fallback credentials found in provider 1 and provider 2, not the precedence policy. The following figure shows how we can set up such a chain: + +

+heterogeneous_policies_for_fallback_on_interrupt +

+ +The outermost chain is a `CredentialsProviderChain` and follows the precedence policy for `fallback_on_interrupt`. It contains a sub-chain that, in turn, contains provider 1 and provider 2. This sub-chain implements its own `fallback_on_interrupt` to realize the recency policy for fallback credentials found in provider 1 and provider 2. Conceptually, we have +``` +pub struct FallbackRecencyChain { + provider_chain: CredentialsProviderChain, +} + +impl ProvideCredentials for FallbackRecencyChain { + fn provide_credentials<'a>(&'a self) -> future::ProvideCredentials<'a> + where + Self: 'a, + { + // Can follow the precedence policy for loading credentials + // if it chooses to do so. + } + + fn fallback_on_interrupt(&self) -> Option { + // Iterate over `self.provider_chain` and return + // fallback credentials whose expiry is the most recent. + } +} +``` +We can then compose the entire chain like so: +``` +let provider_1 = /* ... */ +let provider_2 = /* ... */ +let provider_3 = /* ... */ + +let sub_chain = CredentialsProviderChain::first_try("Provider1", provider_1) + .or_else("Provider2", provider_2); + +let recency_chain = /* Create a FallbackRecencyChain with sub_chain */ + +let final_chain = CredentialsProviderChain::first_try("fallback_recency", recency_chain) + .or_else("Provider3", provider_3); +``` +The `fallback_on_interrupt` method on `final_chain` still traverses from the head to the tail, but once it hits `recency_chain`, `fallback_on_interrupt` on `recency_chain` respects the expiry of fallback credentials found in its inner providers. + +What we have presented in this section can be generalized thanks to chain composability. We could have different sub-chains, each implementing its own policy for `fallback_on_interrupt`. diff --git a/gradle.properties b/gradle.properties index 3f8bd83df3..9857dcc895 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,7 +9,7 @@ rust.msrv=1.62.1 org.gradle.jvmargs=-Xmx1024M # Version number to use for the generated runtime crates -smithy.rs.runtime.crate.version=0.54.0 +smithy.rs.runtime.crate.version=0.0.0-smithy-rs-head kotlin.code.style=official diff --git a/rust-runtime/aws-smithy-http-server-python/README.md b/rust-runtime/aws-smithy-http-server-python/README.md index fd6788c898..7b8d218f3c 100644 --- a/rust-runtime/aws-smithy-http-server-python/README.md +++ b/rust-runtime/aws-smithy-http-server-python/README.md @@ -69,7 +69,7 @@ ENTRYPOINT [ "/var/lang/bin/python3.8" ] CMD [ "/app.py" ] ``` -See [https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-create-from-base](https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-create-from-base) +See [https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-create-from-base](https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-create-from-base) for more details on building your custom image. diff --git a/rust-runtime/aws-smithy-http-server-python/examples/Makefile b/rust-runtime/aws-smithy-http-server-python/examples/Makefile index 5b80e8a2ab..22be94a19e 100644 --- a/rust-runtime/aws-smithy-http-server-python/examples/Makefile +++ b/rust-runtime/aws-smithy-http-server-python/examples/Makefile @@ -22,7 +22,7 @@ ifndef HAS_MATURIN $(error "maturin is not available; please install it via 'pip install maturin' or 'cargo install maturin'") endif -# Note on `--compatibility linux`: Maturin by default uses `manylinux_x_y` but it is not supported +# Note on `--compatibility linux`: Maturin by default uses `manylinux_x_y` but it is not supported # by our current CI version (3.7.10), we can drop `--compatibility linux` when we switch to higher Python version. # For more detail: https://github.com/pypa/manylinux build-wheel: ensure-maturin codegen diff --git a/rust-runtime/aws-smithy-http-server-python/src/middleware/header_map.rs b/rust-runtime/aws-smithy-http-server-python/src/middleware/header_map.rs index 1c953a175b..7aded36223 100644 --- a/rust-runtime/aws-smithy-http-server-python/src/middleware/header_map.rs +++ b/rust-runtime/aws-smithy-http-server-python/src/middleware/header_map.rs @@ -132,7 +132,7 @@ assert headers.get("host") == None assert len(headers) == 2 assert set(headers.items()) == set([ - ("content-length", "45"), + ("content-length", "45"), ("content-encoding", "application/json") ]) "# diff --git a/rust-runtime/aws-smithy-http-server-python/src/types.rs b/rust-runtime/aws-smithy-http-server-python/src/types.rs index 2fb127fb70..b42ced51a5 100644 --- a/rust-runtime/aws-smithy-http-server-python/src/types.rs +++ b/rust-runtime/aws-smithy-http-server-python/src/types.rs @@ -6,7 +6,9 @@ //! Python wrapped types from aws-smithy-types and aws-smithy-http. use std::{ + collections::HashMap, future::Future, + ops::Deref, pin::Pin, sync::Arc, task::{Context, Poll}, @@ -14,7 +16,7 @@ use std::{ use bytes::Bytes; use pyo3::{ - exceptions::{PyRuntimeError, PyStopIteration}, + exceptions::{PyRuntimeError, PyStopIteration, PyTypeError}, iter::IterNextOutput, prelude::*, pyclass::IterANextOutput, @@ -431,6 +433,85 @@ impl ByteStream { } } +/// Python Wrapper for [aws_smithy_types::Document]. +#[derive(Debug, Clone, PartialEq)] +pub struct Document(aws_smithy_types::Document); + +impl IntoPy for Document { + fn into_py(self, py: Python<'_>) -> PyObject { + use aws_smithy_types::{Document as D, Number}; + + match self.0 { + D::Object(obj) => obj + .into_iter() + .map(|(k, v)| (k, Document(v).into_py(py))) + .collect::>() + .into_py(py), + D::Array(vec) => vec + .into_iter() + .map(|d| Document(d).into_py(py)) + .collect::>() + .into_py(py), + D::Number(Number::Float(f)) => f.into_py(py), + D::Number(Number::PosInt(pi)) => pi.into_py(py), + D::Number(Number::NegInt(ni)) => ni.into_py(py), + D::String(str) => str.into_py(py), + D::Bool(bool) => bool.into_py(py), + D::Null => py.None(), + } + } +} + +impl FromPyObject<'_> for Document { + fn extract(obj: &PyAny) -> PyResult { + use aws_smithy_types::{Document as D, Number}; + + if let Ok(obj) = obj.extract::>() { + Ok(Self(D::Object( + obj.into_iter().map(|(k, v)| (k, v.0)).collect(), + ))) + } else if let Ok(vec) = obj.extract::>() { + Ok(Self(D::Array(vec.into_iter().map(|d| d.0).collect()))) + } else if let Ok(b) = obj.extract::() { + // This check must happen before any number checks because they cast + // `true`, `false` to `1`, `0` respectively. + Ok(Self(D::Bool(b))) + } else if let Ok(pi) = obj.extract::() { + Ok(Self(D::Number(Number::PosInt(pi)))) + } else if let Ok(ni) = obj.extract::() { + Ok(Self(D::Number(Number::NegInt(ni)))) + } else if let Ok(f) = obj.extract::() { + Ok(Self(D::Number(Number::Float(f)))) + } else if let Ok(s) = obj.extract::() { + Ok(Self(D::String(s))) + } else if obj.is_none() { + Ok(Self(D::Null)) + } else { + Err(PyTypeError::new_err(format!( + "'{obj}' cannot be converted to 'Document'", + ))) + } + } +} + +// TODO(PythonSerialization): Get rid of this hack. +// `JsonValueWriter::document` expects `&aws_smithy_types::Document` +// and this impl allows `&Document` to get coerced to `&aws_smithy_types::Document`. +// We should ideally handle this in `JsonSerializerGenerator.kt` but I'm not sure how hard it is. +impl Deref for Document { + type Target = aws_smithy_types::Document; + + fn deref(&self) -> &Self::Target { + &self.0 + } +} + +impl From for Document { + fn from(other: aws_smithy_types::Document) -> Document { + Document(other) + } +} + #[cfg(test)] mod tests { use pyo3::py_run; @@ -521,4 +602,91 @@ mod tests { }); Ok(()) } + + #[test] + fn document_type() { + use aws_smithy_types::{Document as D, Number}; + + crate::tests::initialize(); + + let cases = [ + (D::Null, "None"), + (D::Bool(true), "True"), + (D::Bool(false), "False"), + (D::String("foobar".to_string()), "'foobar'"), + (D::Number(Number::Float(42.0)), "42.0"), + (D::Number(Number::PosInt(142)), "142"), + (D::Number(Number::NegInt(-152)), "-152"), + ( + D::Array(vec![ + D::Bool(false), + D::String("qux".to_string()), + D::Number(Number::Float(1.0)), + D::Array(vec![D::String("inner".to_string()), D::Bool(true)]), + ]), + "[False, 'qux', 1.0, ['inner', True]]", + ), + ( + D::Object( + [ + ("t".to_string(), D::Bool(true)), + ("foo".to_string(), D::String("foo".to_string())), + ("f42".to_string(), D::Number(Number::Float(42.0))), + ("i42".to_string(), D::Number(Number::PosInt(42))), + ("f".to_string(), D::Bool(false)), + ( + "vec".to_string(), + D::Array(vec![ + D::String("inner".to_string()), + D::Object( + [ + ( + "nested".to_string(), + D::String("nested_value".to_string()), + ), + ("nested_num".to_string(), D::Number(Number::NegInt(-42))), + ] + .into(), + ), + ]), + ), + ] + .into(), + ), + "{ + 't': True, + 'foo': 'foo', + 'f42': 42.0, + 'i42': 42, + 'f': False, + 'vec': [ + 'inner', + {'nested': 'nested_value', 'nested_num': -42} + ] + }", + ), + ]; + + for (rust_ty, python_repr) in cases { + // Rust -> Python + Python::with_gil(|py| { + let value = Document(rust_ty.clone()).into_py(py); + py_run!(py, value, &format!("assert value == {python_repr}")); + }); + + // Python -> Rust + Python::with_gil(|py| { + let py_value = py.eval(python_repr, None, None).unwrap(); + let doc = py_value.extract::().unwrap(); + assert_eq!(doc, Document(rust_ty.clone())); + }); + + // Rust -> Python -> Rust + Python::with_gil(|py| { + let doc = Document(rust_ty); + let doc2 = doc.clone().into_py(py).extract(py).unwrap(); + assert_eq!(doc, doc2); + }); + } + } } diff --git a/rust-runtime/aws-smithy-http-server/src/extension.rs b/rust-runtime/aws-smithy-http-server/src/extension.rs index 5c302a757a..2a8b664cdd 100644 --- a/rust-runtime/aws-smithy-http-server/src/extension.rs +++ b/rust-runtime/aws-smithy-http-server/src/extension.rs @@ -28,8 +28,6 @@ use tower::{layer::util::Stack, Layer, Service}; use crate::operation::{Operation, OperationShape}; use crate::plugin::{plugin_from_operation_name_fn, OperationNameFn, Plugin, PluginPipeline, PluginStack}; -#[allow(deprecated)] -use crate::request::RequestParts; pub use crate::request::extension::{Extension, MissingExtension}; @@ -37,9 +35,7 @@ pub use crate::request::extension::{Extension, MissingExtension}; /// This extension type is inserted, via the [`OperationExtensionPlugin`], whenever it has been correctly determined /// that the request should be routed to a particular operation. The operation handler might not even get invoked /// because the request fails to deserialize into the modeled operation input. -/// -/// The format given must be the absolute shape ID with `#` replaced with a `.`. -#[derive(Debug, Clone)] +#[derive(Debug, Clone, PartialEq, Eq)] pub struct OperationExtension { absolute: &'static str, @@ -51,16 +47,16 @@ pub struct OperationExtension { #[derive(Debug, Clone, Error, PartialEq, Eq)] #[non_exhaustive] pub enum ParseError { - #[error(". was not found - missing namespace")] + #[error("# was not found - missing namespace")] MissingNamespace, } #[allow(deprecated)] impl OperationExtension { - /// Creates a new [`OperationExtension`] from the absolute shape ID of the operation with `#` symbol replaced with a `.`. + /// Creates a new [`OperationExtension`] from the absolute shape ID. pub fn new(absolute_operation_id: &'static str) -> Result { let (namespace, name) = absolute_operation_id - .rsplit_once('.') + .rsplit_once('#') .ok_or(ParseError::MissingNamespace)?; Ok(Self { absolute: absolute_operation_id, @@ -103,11 +99,11 @@ where fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { let this = self.project(); + let resp = ready!(this.inner.try_poll(cx)); let ext = this .operation_extension .take() .expect("futures cannot be polled after completion"); - let resp = ready!(this.inner.try_poll(cx)); Poll::Ready(resp.map(|mut resp| { resp.extensions_mut().insert(ext); resp @@ -236,44 +232,17 @@ impl Deref for RuntimeErrorExtension { } } -/// Extract an [`Extension`] from a request. -/// This is essentially the implementation of `FromRequest` for `Extension`, but with a -/// protocol-agnostic rejection type. The actual code-generated implementation simply delegates to -/// this function and converts the rejection type into a [`crate::runtime_error::RuntimeError`]. -#[deprecated( - since = "0.52.0", - note = "This was used for extraction under the older service builder. The `FromParts::from_parts` method is now used instead." -)] -#[allow(deprecated)] -pub async fn extract_extension( - req: &mut RequestParts, -) -> Result, crate::rejection::RequestExtensionNotFoundRejection> -where - T: Clone + Send + Sync + 'static, - B: Send, -{ - let value = req - .extensions() - .ok_or(crate::rejection::RequestExtensionNotFoundRejection::ExtensionsAlreadyExtracted)? - .get::() - .ok_or_else(|| { - crate::rejection::RequestExtensionNotFoundRejection::MissingExtension(format!( - "Extension of type `{}` was not found. Perhaps you forgot to add it?", - std::any::type_name::() - )) - }) - .map(|x| x.clone())?; - - Ok(Extension(value)) -} - #[cfg(test)] mod tests { + use tower::{service_fn, ServiceExt}; + + use crate::{operation::OperationShapeExt, proto::rest_json_1::RestJson1}; + use super::*; #[test] fn ext_accept() { - let value = "com.amazonaws.ebs.CompleteSnapshot"; + let value = "com.amazonaws.ebs#CompleteSnapshot"; let ext = OperationExtension::new(value).unwrap(); assert_eq!(ext.absolute(), value); @@ -289,4 +258,33 @@ mod tests { ParseError::MissingNamespace ) } + + #[tokio::test] + async fn plugin() { + struct DummyOp; + + impl OperationShape for DummyOp { + const NAME: &'static str = "com.amazonaws.ebs#CompleteSnapshot"; + + type Input = (); + type Output = (); + type Error = (); + } + + // Apply `Plugin`. + let operation = DummyOp::from_handler(|_| async { Ok(()) }); + let plugins = PluginPipeline::new().insert_operation_extension(); + let op = Plugin::::map(&plugins, operation); + + // Apply `Plugin`s `Layer`. + let layer = op.layer; + let svc = service_fn(|_: http::Request<()>| async { Ok::<_, ()>(http::Response::new(())) }); + let svc = layer.layer(svc); + + // Check for `OperationExtension`. + let response = svc.oneshot(http::Request::new(())).await.unwrap(); + let expected = OperationExtension::new(DummyOp::NAME).unwrap(); + let actual = response.extensions().get::().unwrap(); + assert_eq!(*actual, expected); + } } diff --git a/rust-runtime/aws-smithy-http-server/src/lib.rs b/rust-runtime/aws-smithy-http-server/src/lib.rs index 8fefaf242d..804b00d8a3 100644 --- a/rust-runtime/aws-smithy-http-server/src/lib.rs +++ b/rust-runtime/aws-smithy-http-server/src/lib.rs @@ -28,15 +28,10 @@ pub mod routing; #[doc(hidden)] pub mod runtime_error; -#[doc(hidden)] -pub mod routers; - #[doc(inline)] pub(crate) use self::error::Error; -pub use self::request::extension::Extension; #[doc(inline)] -#[allow(deprecated)] -pub use self::routing::Router; +pub use self::request::extension::Extension; #[doc(inline)] pub use tower_http::add_extension::{AddExtension, AddExtensionLayer}; diff --git a/rust-runtime/aws-smithy-http-server/src/proto/aws_json/router.rs b/rust-runtime/aws-smithy-http-server/src/proto/aws_json/router.rs index 67041a62fc..4474dfb600 100644 --- a/rust-runtime/aws-smithy-http-server/src/proto/aws_json/router.rs +++ b/rust-runtime/aws-smithy-http-server/src/proto/aws_json/router.rs @@ -9,9 +9,9 @@ use tower::Layer; use tower::Service; use crate::body::BoxBody; -use crate::routers::Router; use crate::routing::tiny_map::TinyMap; use crate::routing::Route; +use crate::routing::Router; use http::header::ToStrError; use thiserror::Error; @@ -117,3 +117,42 @@ impl FromIterator<(String, S)> for AwsJsonRouter { } } } + +#[cfg(test)] +mod tests { + use super::*; + use crate::{proto::test_helpers::req, routing::Router}; + + use http::{HeaderMap, HeaderValue, Method}; + use pretty_assertions::assert_eq; + + #[tokio::test] + async fn simple_routing() { + let routes = vec![("Service.Operation")]; + let router: AwsJsonRouter<_> = routes + .clone() + .into_iter() + .map(|operation| (operation.to_string(), ())) + .collect(); + + let mut headers = HeaderMap::new(); + headers.insert("x-amz-target", HeaderValue::from_static("Service.Operation")); + + // Valid request, should match. + router + .match_route(&req(&Method::POST, "/", Some(headers.clone()))) + .unwrap(); + + // No headers, should return `MissingHeader`. + let res = router.match_route(&req(&Method::POST, "/", None)); + assert_eq!(res.unwrap_err().to_string(), Error::MissingHeader.to_string()); + + // Wrong HTTP method, should return `MethodNotAllowed`. + let res = router.match_route(&req(&Method::GET, "/", Some(headers.clone()))); + assert_eq!(res.unwrap_err().to_string(), Error::MethodNotAllowed.to_string()); + + // Wrong URI, should return `NotRootUrl`. + let res = router.match_route(&req(&Method::POST, "/something", Some(headers))); + assert_eq!(res.unwrap_err().to_string(), Error::NotRootUrl.to_string()); + } +} diff --git a/rust-runtime/aws-smithy-http-server/src/proto/aws_json_10/router.rs b/rust-runtime/aws-smithy-http-server/src/proto/aws_json_10/router.rs index 5c582f569c..31d5ce8a9e 100644 --- a/rust-runtime/aws-smithy-http-server/src/proto/aws_json_10/router.rs +++ b/rust-runtime/aws-smithy-http-server/src/proto/aws_json_10/router.rs @@ -7,7 +7,7 @@ use crate::body::{empty, BoxBody}; use crate::extension::RuntimeErrorExtension; use crate::proto::aws_json::router::Error; use crate::response::IntoResponse; -use crate::routers::{method_disallowed, UNKNOWN_OPERATION_EXCEPTION}; +use crate::routing::{method_disallowed, UNKNOWN_OPERATION_EXCEPTION}; use super::AwsJson1_0; diff --git a/rust-runtime/aws-smithy-http-server/src/proto/aws_json_11/router.rs b/rust-runtime/aws-smithy-http-server/src/proto/aws_json_11/router.rs index 8d0f8c0a06..18f3b4b329 100644 --- a/rust-runtime/aws-smithy-http-server/src/proto/aws_json_11/router.rs +++ b/rust-runtime/aws-smithy-http-server/src/proto/aws_json_11/router.rs @@ -7,7 +7,7 @@ use crate::body::{empty, BoxBody}; use crate::extension::RuntimeErrorExtension; use crate::proto::aws_json::router::Error; use crate::response::IntoResponse; -use crate::routers::{method_disallowed, UNKNOWN_OPERATION_EXCEPTION}; +use crate::routing::{method_disallowed, UNKNOWN_OPERATION_EXCEPTION}; use super::AwsJson1_1; diff --git a/rust-runtime/aws-smithy-http-server/src/proto/mod.rs b/rust-runtime/aws-smithy-http-server/src/proto/mod.rs index 39344ab4f1..26fb17d893 100644 --- a/rust-runtime/aws-smithy-http-server/src/proto/mod.rs +++ b/rust-runtime/aws-smithy-http-server/src/proto/mod.rs @@ -9,3 +9,27 @@ pub mod aws_json_11; pub mod rest; pub mod rest_json_1; pub mod rest_xml; + +#[cfg(test)] +pub mod test_helpers { + use http::{HeaderMap, Method, Request}; + + /// Helper function to build a `Request`. Used in other test modules. + pub fn req(method: &Method, uri: &str, headers: Option) -> Request<()> { + let mut r = Request::builder().method(method).uri(uri).body(()).unwrap(); + if let Some(headers) = headers { + *r.headers_mut() = headers + } + r + } + + // Returns a `Response`'s body as a `String`, without consuming the response. + pub async fn get_body_as_string(body: B) -> String + where + B: http_body::Body + std::marker::Unpin, + B::Error: std::fmt::Debug, + { + let body_bytes = hyper::body::to_bytes(body).await.unwrap(); + String::from(std::str::from_utf8(&body_bytes).unwrap()) + } +} diff --git a/rust-runtime/aws-smithy-http-server/src/proto/rest/router.rs b/rust-runtime/aws-smithy-http-server/src/proto/rest/router.rs index 4c73eda72b..1d55f676d6 100644 --- a/rust-runtime/aws-smithy-http-server/src/proto/rest/router.rs +++ b/rust-runtime/aws-smithy-http-server/src/proto/rest/router.rs @@ -6,17 +6,17 @@ use std::convert::Infallible; use crate::body::BoxBody; -use crate::routers::Router; use crate::routing::request_spec::Match; use crate::routing::request_spec::RequestSpec; use crate::routing::Route; +use crate::routing::Router; use tower::Layer; use tower::Service; use thiserror::Error; /// An AWS REST routing error. -#[derive(Debug, Error)] +#[derive(Debug, Error, PartialEq)] pub enum Error { /// Operation not found. #[error("operation not found")] @@ -108,3 +108,166 @@ impl FromIterator<(RequestSpec, S)> for RestRouter { Self { routes } } } + +#[cfg(test)] +mod tests { + use super::*; + use crate::{proto::test_helpers::req, routing::request_spec::*}; + + use http::Method; + + // This test is a rewrite of `mux.spec.ts`. + // https://github.com/awslabs/smithy-typescript/blob/fbf97a9bf4c1d8cf7f285ea7c24e1f0ef280142a/smithy-typescript-ssdk-libs/server-common/src/httpbinding/mux.spec.ts + #[test] + fn simple_routing() { + let request_specs: Vec<(RequestSpec, &'static str)> = vec![ + ( + RequestSpec::from_parts( + Method::GET, + vec![ + PathSegment::Literal(String::from("a")), + PathSegment::Label, + PathSegment::Label, + ], + Vec::new(), + ), + "A", + ), + ( + RequestSpec::from_parts( + Method::GET, + vec![ + PathSegment::Literal(String::from("mg")), + PathSegment::Greedy, + PathSegment::Literal(String::from("z")), + ], + Vec::new(), + ), + "MiddleGreedy", + ), + ( + RequestSpec::from_parts( + Method::DELETE, + Vec::new(), + vec![ + QuerySegment::KeyValue(String::from("foo"), String::from("bar")), + QuerySegment::Key(String::from("baz")), + ], + ), + "Delete", + ), + ( + RequestSpec::from_parts( + Method::POST, + vec![PathSegment::Literal(String::from("query_key_only"))], + vec![QuerySegment::Key(String::from("foo"))], + ), + "QueryKeyOnly", + ), + ]; + + // Test both RestJson1 and RestXml routers. + let router: RestRouter<_> = request_specs + .into_iter() + .map(|(spec, svc_name)| (spec, svc_name)) + .collect(); + + let hits = vec![ + ("A", Method::GET, "/a/b/c"), + ("MiddleGreedy", Method::GET, "/mg/a/z"), + ("MiddleGreedy", Method::GET, "/mg/a/b/c/d/z?abc=def"), + ("Delete", Method::DELETE, "/?foo=bar&baz=quux"), + ("Delete", Method::DELETE, "/?foo=bar&baz"), + ("Delete", Method::DELETE, "/?foo=bar&baz=&"), + ("Delete", Method::DELETE, "/?foo=bar&baz=quux&baz=grault"), + ("QueryKeyOnly", Method::POST, "/query_key_only?foo=bar"), + ("QueryKeyOnly", Method::POST, "/query_key_only?foo"), + ("QueryKeyOnly", Method::POST, "/query_key_only?foo="), + ("QueryKeyOnly", Method::POST, "/query_key_only?foo=&"), + ]; + for (svc_name, method, uri) in &hits { + assert_eq!(router.match_route(&req(method, uri, None)).unwrap(), *svc_name); + } + + for (_, _, uri) in hits { + let res = router.match_route(&req(&Method::PATCH, uri, None)); + assert_eq!(res.unwrap_err(), Error::MethodNotAllowed); + } + + let misses = vec![ + (Method::GET, "/a"), + (Method::GET, "/a/b"), + (Method::GET, "/mg"), + (Method::GET, "/mg/q"), + (Method::GET, "/mg/z"), + (Method::GET, "/mg/a/b/z/c"), + (Method::DELETE, "/?foo=bar"), + (Method::DELETE, "/?foo=bar"), + (Method::DELETE, "/?baz=quux"), + (Method::POST, "/query_key_only?baz=quux"), + (Method::GET, "/"), + (Method::POST, "/"), + ]; + for (method, miss) in misses { + let res = router.match_route(&req(&method, miss, None)); + assert_eq!(res.unwrap_err(), Error::NotFound); + } + } + + #[tokio::test] + async fn basic_pattern_conflict_avoidance() { + let request_specs: Vec<(RequestSpec, &'static str)> = vec![ + ( + RequestSpec::from_parts( + Method::GET, + vec![PathSegment::Literal(String::from("a")), PathSegment::Label], + Vec::new(), + ), + "A1", + ), + ( + RequestSpec::from_parts( + Method::GET, + vec![ + PathSegment::Literal(String::from("a")), + PathSegment::Label, + PathSegment::Literal(String::from("a")), + ], + Vec::new(), + ), + "A2", + ), + ( + RequestSpec::from_parts( + Method::GET, + vec![PathSegment::Literal(String::from("b")), PathSegment::Greedy], + Vec::new(), + ), + "B1", + ), + ( + RequestSpec::from_parts( + Method::GET, + vec![PathSegment::Literal(String::from("b")), PathSegment::Greedy], + vec![QuerySegment::Key(String::from("q"))], + ), + "B2", + ), + ]; + + let router: RestRouter<_> = request_specs + .into_iter() + .map(|(spec, svc_name)| (spec, svc_name)) + .collect(); + + let hits = vec![ + ("A1", Method::GET, "/a/foo"), + ("A2", Method::GET, "/a/foo/a"), + ("B1", Method::GET, "/b/foo/bar/baz"), + ("B2", Method::GET, "/b/foo?q=baz"), + ]; + for (svc_name, method, uri) in hits { + assert_eq!(router.match_route(&req(&method, uri, None)).unwrap(), svc_name); + } + } +} diff --git a/rust-runtime/aws-smithy-http-server/src/proto/rest_json_1/router.rs b/rust-runtime/aws-smithy-http-server/src/proto/rest_json_1/router.rs index c737b665c4..189658d317 100644 --- a/rust-runtime/aws-smithy-http-server/src/proto/rest_json_1/router.rs +++ b/rust-runtime/aws-smithy-http-server/src/proto/rest_json_1/router.rs @@ -7,7 +7,7 @@ use crate::body::BoxBody; use crate::extension::RuntimeErrorExtension; use crate::proto::rest::router::Error; use crate::response::IntoResponse; -use crate::routers::{method_disallowed, UNKNOWN_OPERATION_EXCEPTION}; +use crate::routing::{method_disallowed, UNKNOWN_OPERATION_EXCEPTION}; use super::RestJson1; diff --git a/rust-runtime/aws-smithy-http-server/src/proto/rest_xml/router.rs b/rust-runtime/aws-smithy-http-server/src/proto/rest_xml/router.rs index 1b1b21742f..b771884b04 100644 --- a/rust-runtime/aws-smithy-http-server/src/proto/rest_xml/router.rs +++ b/rust-runtime/aws-smithy-http-server/src/proto/rest_xml/router.rs @@ -8,8 +8,7 @@ use crate::body::BoxBody; use crate::extension::RuntimeErrorExtension; use crate::proto::rest::router::Error; use crate::response::IntoResponse; -use crate::routers::method_disallowed; -use crate::routers::UNKNOWN_OPERATION_EXCEPTION; +use crate::routing::{method_disallowed, UNKNOWN_OPERATION_EXCEPTION}; use super::RestXml; diff --git a/rust-runtime/aws-smithy-http-server/src/protocols.rs b/rust-runtime/aws-smithy-http-server/src/protocols.rs index bf56eea89f..2267c0384c 100644 --- a/rust-runtime/aws-smithy-http-server/src/protocols.rs +++ b/rust-runtime/aws-smithy-http-server/src/protocols.rs @@ -5,20 +5,11 @@ //! Protocol helpers. use crate::rejection::MissingContentTypeReason; -#[allow(deprecated)] -use crate::request::RequestParts; use http::HeaderMap; /// When there are no modeled inputs, /// a request body is empty and the content-type request header must not be set -#[allow(deprecated)] -pub fn content_type_header_empty_body_no_modeled_input( - req: &RequestParts, -) -> Result<(), MissingContentTypeReason> { - if req.headers().is_none() { - return Ok(()); - } - let headers = req.headers().unwrap(); +pub fn content_type_header_empty_body_no_modeled_input(headers: &HeaderMap) -> Result<(), MissingContentTypeReason> { if headers.contains_key(http::header::CONTENT_TYPE) { let found_mime = parse_content_type(headers)?; Err(MissingContentTypeReason::UnexpectedMimeType { @@ -42,15 +33,10 @@ fn parse_content_type(headers: &HeaderMap) -> Result( - req: &RequestParts, +pub fn content_type_header_classifier( + headers: &HeaderMap, expected_content_type: Option<&'static str>, ) -> Result<(), MissingContentTypeReason> { - // Allow no CONTENT-TYPE header - if req.headers().is_none() { - return Ok(()); - } - let headers = req.headers().unwrap(); // Headers are present, `unwrap` will not panic. if !headers.contains_key(http::header::CONTENT_TYPE) { return Ok(()); } @@ -79,12 +65,7 @@ pub fn content_type_header_classifier( } #[allow(deprecated)] -pub fn accept_header_classifier(req: &RequestParts, content_type: &'static str) -> bool { - // Allow no ACCEPT header - if req.headers().is_none() { - return true; - } - let headers = req.headers().unwrap(); +pub fn accept_header_classifier(headers: &HeaderMap, content_type: &'static str) -> bool { if !headers.contains_key(http::header::ACCEPT) { return true; } @@ -126,28 +107,25 @@ pub fn accept_header_classifier(req: &RequestParts, content_type: &'static #[cfg(test)] mod tests { use super::*; - use http::Request; + use http::header::{HeaderValue, ACCEPT, CONTENT_TYPE}; - fn req_content_type(content_type: &str) -> RequestParts<&str> { - let request = Request::builder() - .header("content-type", content_type) - .body("") - .unwrap(); - RequestParts::new(request) + fn req_content_type(content_type: &'static str) -> HeaderMap { + let mut headers = HeaderMap::new(); + headers.insert(CONTENT_TYPE, HeaderValue::from_str(content_type).unwrap()); + headers } - fn req_accept(content_type: &str) -> RequestParts<&str> { - let request = Request::builder().header("accept", content_type).body("").unwrap(); - RequestParts::new(request) + fn req_accept(accept: &'static str) -> HeaderMap { + let mut headers = HeaderMap::new(); + headers.insert(ACCEPT, HeaderValue::from_static(accept)); + headers } const EXPECTED_MIME_APPLICATION_JSON: Option<&'static str> = Some("application/json"); #[test] fn check_content_type_header_empty_body_no_modeled_input() { - let request = Request::builder().body("").unwrap(); - let request = RequestParts::new(request); - assert!(content_type_header_empty_body_no_modeled_input(&request).is_ok()); + assert!(content_type_header_empty_body_no_modeled_input(&HeaderMap::new()).is_ok()); } #[test] @@ -193,8 +171,7 @@ mod tests { #[test] fn check_missing_content_type_is_allowed() { - let request = RequestParts::new(Request::builder().body("").unwrap()); - let result = content_type_header_classifier(&request, EXPECTED_MIME_APPLICATION_JSON); + let result = content_type_header_classifier(&HeaderMap::new(), EXPECTED_MIME_APPLICATION_JSON); assert!(result.is_ok()); } @@ -241,9 +218,7 @@ mod tests { #[test] fn valid_empty_accept_header_classifier() { - let valid_request = Request::builder().body("").unwrap(); - let valid_request = RequestParts::new(valid_request); - assert!(accept_header_classifier(&valid_request, "application/json")); + assert!(accept_header_classifier(&HeaderMap::new(), "application/json")); } #[test] diff --git a/rust-runtime/aws-smithy-http-server/src/rejection.rs b/rust-runtime/aws-smithy-http-server/src/rejection.rs index 65fb8e2e62..f01344f765 100644 --- a/rust-runtime/aws-smithy-http-server/src/rejection.rs +++ b/rust-runtime/aws-smithy-http-server/src/rejection.rs @@ -9,13 +9,11 @@ //! handle requests and responses that return `Result` throughout the framework. These //! include functions to deserialize incoming requests and serialize outgoing responses. //! -//! All types end with `Rejection`. There are three types: +//! All types end with `Rejection`. There are two types: //! //! 1. [`RequestRejection`]s are used when the framework fails to deserialize the request into the //! corresponding operation input. -//! 1. [`RequestExtensionNotFoundRejection`]s are used when the framework fails to deserialize from -//! the request's extensions a particular [`crate::Extension`] that was expected to be found. -//! 1. [`ResponseRejection`]s are used when the framework fails to serialize the operation +//! 2. [`ResponseRejection`]s are used when the framework fails to serialize the operation //! output into a response. //! //! They are called _rejection_ types and not _error_ types to signal that the input was _rejected_ @@ -41,35 +39,10 @@ //! [`crate::runtime_error::RuntimeError`], thus allowing us to represent the full //! error chain. -// For some reason `deprecated(deprecated)` warns of its own deprecation. Putting `allow(deprecated)` at the module -// level remedies it. -#![allow(deprecated)] - use strum_macros::Display; use crate::response::IntoResponse; -/// Rejection used for when failing to extract an [`crate::Extension`] from an incoming [request's -/// extensions]. Contains one variant for each way the extractor can fail. -/// -/// [request's extensions]: https://docs.rs/http/latest/http/struct.Extensions.html -#[deprecated( - since = "0.52.0", - note = "This was used for extraction under the older service builder. The `MissingExtension` struct returned by `FromParts::from_parts` is now used." -)] -#[derive(Debug, Display)] -pub enum RequestExtensionNotFoundRejection { - /// Used when a particular [`crate::Extension`] was expected to be found in the request but we - /// did not find it. - /// This most likely means the service implementer simply forgot to add a [`tower::Layer`] that - /// registers the particular extension in their service to incoming requests. - MissingExtension(String), - // Used when the request extensions have already been taken by another extractor. - ExtensionsAlreadyExtracted, -} - -impl std::error::Error for RequestExtensionNotFoundRejection {} - /// Errors that can occur when serializing the operation output provided by the service implementer /// into an HTTP response. #[derive(Debug, Display)] @@ -104,8 +77,7 @@ convert_to_response_rejection!(aws_smithy_http::operation::error::SerializationE convert_to_response_rejection!(http::Error, Http); /// Errors that can occur when deserializing an HTTP request into an _operation input_, the input -/// that is passed as the first argument to operation handlers. To deserialize into the service's -/// registered state, a different rejection type is used, [`RequestExtensionNotFoundRejection`]. +/// that is passed as the first argument to operation handlers. /// /// This type allows us to easily keep track of all the possible errors that can occur in the /// lifecycle of an incoming HTTP request. @@ -131,10 +103,6 @@ convert_to_response_rejection!(http::Error, Http); // The variants are _roughly_ sorted in the order in which the HTTP request is processed. #[derive(Debug, Display)] pub enum RequestRejection { - /// Used when attempting to take the request's body, and it has already been taken (presumably - /// by an outer `Service` that handled the request before us). - BodyAlreadyExtracted, - /// Used when failing to convert non-streaming requests into a byte slab with /// `hyper::body::to_bytes`. HttpBody(crate::Error), @@ -149,10 +117,6 @@ pub enum RequestRejection { /// input it should represent. XmlDeserialize(crate::Error), - /// Used when attempting to take the request's headers, and they have already been taken (presumably - /// by an outer `Service` that handled the request before us). - HeadersAlreadyExtracted, - /// Used when failing to parse HTTP headers that are bound to input members with the `httpHeader` /// or the `httpPrefixHeaders` traits. HeaderParse(crate::Error), diff --git a/rust-runtime/aws-smithy-http-server/src/request/mod.rs b/rust-runtime/aws-smithy-http-server/src/request/mod.rs index 1b08c63289..be507b804f 100644 --- a/rust-runtime/aws-smithy-http-server/src/request/mod.rs +++ b/rust-runtime/aws-smithy-http-server/src/request/mod.rs @@ -54,7 +54,7 @@ use futures_util::{ future::{try_join, MapErr, MapOk, TryJoin}, TryFutureExt, }; -use http::{request::Parts, Extensions, HeaderMap, Request, StatusCode, Uri}; +use http::{request::Parts, Request, StatusCode}; use crate::{ body::{empty, BoxBody}, @@ -77,77 +77,6 @@ fn internal_server_error() -> http::Response { response } -#[doc(hidden)] -#[deprecated( - since = "0.52.0", - note = "This is not used by the new service builder. We use the `http::Parts` struct directly." -)] -#[derive(Debug)] -pub struct RequestParts { - uri: Uri, - headers: Option, - extensions: Option, - body: Option, -} - -#[allow(deprecated)] -impl RequestParts { - /// Create a new `RequestParts`. - /// - /// You generally shouldn't need to construct this type yourself, unless - /// using extractors outside of axum for example to implement a - /// [`tower::Service`]. - /// - /// [`tower::Service`]: https://docs.rs/tower/lastest/tower/trait.Service.html - #[doc(hidden)] - pub fn new(req: Request) -> Self { - let ( - Parts { - uri, - headers, - extensions, - .. - }, - body, - ) = req.into_parts(); - - RequestParts { - uri, - headers: Some(headers), - extensions: Some(extensions), - body: Some(body), - } - } - - /// Gets a reference to the request headers. - /// - /// Returns `None` if the headers has been taken by another extractor. - #[doc(hidden)] - pub fn headers(&self) -> Option<&HeaderMap> { - self.headers.as_ref() - } - - /// Takes the body out of the request, leaving a `None` in its place. - #[doc(hidden)] - pub fn take_body(&mut self) -> Option { - self.body.take() - } - - /// Gets a reference the request URI. - #[doc(hidden)] - pub fn uri(&self) -> &Uri { - &self.uri - } - - /// Gets a reference to the request extensions. - /// - /// Returns `None` if the extensions has been taken by another extractor. - #[doc(hidden)] - pub fn extensions(&self) -> Option<&Extensions> { - self.extensions.as_ref() - } -} - /// Provides a protocol aware extraction from a [`Request`]. This borrows the [`Parts`], in contrast to /// [`FromRequest`] which consumes the entire [`http::Request`] including the body. pub trait FromParts: Sized { diff --git a/rust-runtime/aws-smithy-http-server/src/routers.rs b/rust-runtime/aws-smithy-http-server/src/routers.rs deleted file mode 100644 index ecffe36e0c..0000000000 --- a/rust-runtime/aws-smithy-http-server/src/routers.rs +++ /dev/null @@ -1,176 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * SPDX-License-Identifier: Apache-2.0 - */ - -use std::{ - error::Error, - fmt, - future::{ready, Future, Ready}, - marker::PhantomData, - pin::Pin, - task::{Context, Poll}, -}; - -use bytes::Bytes; -use futures_util::{ - future::{Either, MapOk}, - TryFutureExt, -}; -use http::Response; -use http_body::Body as HttpBody; -use tower::{util::Oneshot, Service, ServiceExt}; -use tracing::debug; - -use crate::{ - body::{boxed, BoxBody}, - error::BoxError, - response::IntoResponse, -}; - -pub(crate) const UNKNOWN_OPERATION_EXCEPTION: &str = "UnknownOperationException"; - -/// Constructs common response to method disallowed. -pub(crate) fn method_disallowed() -> http::Response { - let mut responses = http::Response::default(); - *responses.status_mut() = http::StatusCode::METHOD_NOT_ALLOWED; - responses -} - -/// An interface for retrieving an inner [`Service`] given a [`http::Request`]. -pub trait Router { - type Service; - type Error; - - /// Matches a [`http::Request`] to a target [`Service`]. - fn match_route(&self, request: &http::Request) -> Result; -} - -/// A [`Service`] using the [`Router`] `R` to redirect messages to specific routes. -/// -/// The `Protocol` parameter is used to determine the serialization of errors. -pub struct RoutingService { - router: R, - _protocol: PhantomData, -} - -impl fmt::Debug for RoutingService -where - R: fmt::Debug, -{ - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - f.debug_struct("RoutingService") - .field("router", &self.router) - .field("_protocol", &self._protocol) - .finish() - } -} - -impl Clone for RoutingService -where - R: Clone, -{ - fn clone(&self) -> Self { - Self { - router: self.router.clone(), - _protocol: PhantomData, - } - } -} - -impl RoutingService { - /// Creates a [`RoutingService`] from a [`Router`]. - pub fn new(router: R) -> Self { - Self { - router, - _protocol: PhantomData, - } - } - - /// Maps a [`Router`] using a closure. - pub fn map(self, f: F) -> RoutingService - where - F: FnOnce(R) -> RNew, - { - RoutingService { - router: f(self.router), - _protocol: PhantomData, - } - } -} - -type EitherOneshotReady = Either< - MapOk>, fn(>>::Response) -> http::Response>, - Ready, >>::Error>>, ->; - -pin_project_lite::pin_project! { - pub struct RoutingFuture where S: Service> { - #[pin] - inner: EitherOneshotReady - } -} - -impl RoutingFuture -where - S: Service>, -{ - /// Creates a [`RoutingFuture`] from [`ServiceExt::oneshot`]. - pub(super) fn from_oneshot(future: Oneshot>) -> Self - where - S: Service, Response = http::Response>, - RespB: HttpBody + Send + 'static, - RespB::Error: Into, - { - Self { - inner: Either::Left(future.map_ok(|x| x.map(boxed))), - } - } - - /// Creates a [`RoutingFuture`] from [`Service::Response`]. - pub(super) fn from_response(response: http::Response) -> Self { - Self { - inner: Either::Right(ready(Ok(response))), - } - } -} - -impl Future for RoutingFuture -where - S: Service>, -{ - type Output = Result, S::Error>; - - fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { - self.project().inner.poll(cx) - } -} - -impl Service> for RoutingService -where - R: Router, - R::Service: Service, Response = http::Response> + Clone, - R::Error: IntoResponse

+ Error, - RespB: HttpBody + Send + 'static, - RespB::Error: Into, -{ - type Response = Response; - type Error = >>::Error; - type Future = RoutingFuture; - - fn poll_ready(&mut self, _cx: &mut Context<'_>) -> Poll> { - Poll::Ready(Ok(())) - } - - fn call(&mut self, req: http::Request) -> Self::Future { - match self.router.match_route(&req) { - // Successfully routed, use the routes `Service::call`. - Ok(ok) => RoutingFuture::from_oneshot(ok.oneshot(req)), - // Failed to route, use the `R::Error`s `IntoResponse

`. - Err(error) => { - debug!(%error, "failed to route"); - RoutingFuture::from_response(error.into_response()) - } - } - } -} diff --git a/rust-runtime/aws-smithy-http-server/src/routing/future.rs b/rust-runtime/aws-smithy-http-server/src/routing/future.rs deleted file mode 100644 index dcb1d83c53..0000000000 --- a/rust-runtime/aws-smithy-http-server/src/routing/future.rs +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * SPDX-License-Identifier: Apache-2.0 - */ - -// This code was copied and then modified from Tokio's Axum. - -/* Copyright (c) 2021 Tower Contributors - * - * Permission is hereby granted, free of charge, to any - * person obtaining a copy of this software and associated - * documentation files (the "Software"), to deal in the - * Software without restriction, including without - * limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of - * the Software, and to permit persons to whom the Software - * is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice - * shall be included in all copies or substantial portions - * of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF - * ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED - * TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A - * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT - * SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR - * IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - -#![allow(deprecated)] - -//! Future types. - -use crate::routers::RoutingFuture; - -use super::Route; -pub use super::{into_make_service::IntoMakeService, route::RouteFuture}; - -opaque_future! { - #[deprecated( - since = "0.52.0", - note = "`OperationRegistry` is part of the deprecated service builder API. This type no longer appears in the public API." - )] - /// Response future for [`Router`](super::Router). - pub type RouterFuture = RoutingFuture, B>; -} diff --git a/rust-runtime/aws-smithy-http-server/src/routing/mod.rs b/rust-runtime/aws-smithy-http-server/src/routing/mod.rs index 2ff9c82ef5..4f0cb8c0fa 100644 --- a/rust-runtime/aws-smithy-http-server/src/routing/mod.rs +++ b/rust-runtime/aws-smithy-http-server/src/routing/mod.rs @@ -7,27 +7,6 @@ //! //! [Smithy specification]: https://awslabs.github.io/smithy/1.0/spec/core/http-traits.html -use std::{ - convert::Infallible, - task::{Context, Poll}, -}; - -use self::request_spec::RequestSpec; -use crate::{ - body::{boxed, Body, BoxBody, HttpBody}, - proto::{ - aws_json::router::AwsJsonRouter, aws_json_10::AwsJson1_0, aws_json_11::AwsJson1_1, rest::router::RestRouter, - rest_json_1::RestJson1, rest_xml::RestXml, - }, -}; -use crate::{error::BoxError, routers::RoutingService}; - -use http::{Request, Response}; -use tower::layer::Layer; -use tower::{Service, ServiceBuilder}; -use tower_http::map_response_body::MapResponseBodyLayer; - -mod future; mod into_make_service; mod into_make_service_with_connect_info; #[cfg(feature = "aws-lambda")] @@ -41,571 +20,185 @@ mod route; pub(crate) mod tiny_map; +use std::{ + error::Error, + fmt, + future::{ready, Future, Ready}, + marker::PhantomData, + pin::Pin, + task::{Context, Poll}, +}; + +use bytes::Bytes; +use futures_util::{ + future::{Either, MapOk}, + TryFutureExt, +}; +use http::Response; +use http_body::Body as HttpBody; +use tower::{util::Oneshot, Service, ServiceExt}; +use tracing::debug; + +use crate::{ + body::{boxed, BoxBody}, + error::BoxError, + response::IntoResponse, +}; + #[cfg(feature = "aws-lambda")] #[cfg_attr(docsrs, doc(cfg(feature = "aws-lambda")))] pub use self::lambda_handler::LambdaHandler; #[allow(deprecated)] pub use self::{ - future::RouterFuture, into_make_service::IntoMakeService, into_make_service_with_connect_info::{Connected, IntoMakeServiceWithConnectInfo}, route::Route, }; -/// The router is a [`tower::Service`] that routes incoming requests to other `Service`s -/// based on the request's URI and HTTP method or on some specific header setting the target operation. -/// The former is adhering to the [Smithy specification], while the latter is adhering to -/// the [AwsJson specification]. -/// -/// The router is also [Protocol] aware and currently supports REST based protocols like [restJson1] or [restXml] -/// and RPC based protocols like [awsJson1.0] or [awsJson1.1]. -/// It currently does not support Smithy's [endpoint trait]. -/// -/// You should not **instantiate** this router directly; it will be created for you from the -/// code generated from your Smithy model by `smithy-rs`. -/// -/// [Smithy specification]: https://awslabs.github.io/smithy/1.0/spec/core/http-traits.html -/// [AwsJson specification]: https://awslabs.github.io/smithy/1.0/spec/aws/aws-json-1_0-protocol.html#protocol-behaviors -/// [Protocol]: https://awslabs.github.io/smithy/1.0/spec/aws/index.html#aws-protocols -/// [restJson1]: https://awslabs.github.io/smithy/1.0/spec/aws/aws-restjson1-protocol.html -/// [restXml]: https://awslabs.github.io/smithy/1.0/spec/aws/aws-restxml-protocol.html -/// [awsJson1.0]: https://awslabs.github.io/smithy/1.0/spec/aws/aws-json-1_0-protocol.html -/// [awsJson1.1]: https://awslabs.github.io/smithy/1.0/spec/aws/aws-json-1_1-protocol.html -/// [endpoint trait]: https://awslabs.github.io/smithy/1.0/spec/core/endpoint-traits.html#endpoint-trait -#[derive(Debug)] -#[deprecated( - since = "0.52.0", - note = "`OperationRegistry` is part of the deprecated service builder API. This type no longer appears in the public API." -)] -pub struct Router { - routes: Routes, +pub(crate) const UNKNOWN_OPERATION_EXCEPTION: &str = "UnknownOperationException"; + +/// Constructs common response to method disallowed. +pub(crate) fn method_disallowed() -> http::Response { + let mut responses = http::Response::default(); + *responses.status_mut() = http::StatusCode::METHOD_NOT_ALLOWED; + responses } -/// Protocol-aware routes types. -/// -/// RestJson1 and RestXml routes are stored in a `Vec` because there can be multiple matches on the -/// request URI and we thus need to iterate the whole list and use a ranking mechanism to choose. -/// -/// AwsJson 1.0 and 1.1 routes can be stored in a `HashMap` since the requested operation can be -/// directly found in the `X-Amz-Target` HTTP header. -#[derive(Debug)] -enum Routes { - RestXml(RoutingService>, RestXml>), - RestJson1(RoutingService>, RestJson1>), - AwsJson1_0(RoutingService>, AwsJson1_0>), - AwsJson1_1(RoutingService>, AwsJson1_1>), +/// An interface for retrieving an inner [`Service`] given a [`http::Request`]. +pub trait Router { + type Service; + type Error; + + /// Matches a [`http::Request`] to a target [`Service`]. + fn match_route(&self, request: &http::Request) -> Result; } -#[allow(deprecated)] -impl Clone for Router { - fn clone(&self) -> Self { - match &self.routes { - Routes::RestJson1(routes) => Router { - routes: Routes::RestJson1(routes.clone()), - }, - Routes::RestXml(routes) => Router { - routes: Routes::RestXml(routes.clone()), - }, - Routes::AwsJson1_0(routes) => Router { - routes: Routes::AwsJson1_0(routes.clone()), - }, - Routes::AwsJson1_1(routes) => Router { - routes: Routes::AwsJson1_1(routes.clone()), - }, - } - } +/// A [`Service`] using the [`Router`] `R` to redirect messages to specific routes. +/// +/// The `Protocol` parameter is used to determine the serialization of errors. +pub struct RoutingService { + router: R, + _protocol: PhantomData, } -#[allow(deprecated)] -impl Router +impl fmt::Debug for RoutingService where - B: Send + 'static, + R: fmt::Debug, { - /// Convert this router into a [`MakeService`], that is a [`Service`] whose - /// response is another service. - /// - /// This is useful when running your application with hyper's - /// [`Server`]. - /// - /// [`Server`]: hyper::server::Server - /// [`MakeService`]: tower::make::MakeService - pub fn into_make_service(self) -> IntoMakeService { - IntoMakeService::new(self) - } - - /// Apply a [`tower::Layer`] to the router. - /// - /// All requests to the router will be processed by the layer's - /// corresponding middleware. - /// - /// This can be used to add additional processing to all routes. - pub fn layer(self, layer: L) -> Router - where - L: Layer>, - L::Service: - Service, Response = Response, Error = Infallible> + Clone + Send + 'static, - >>::Future: Send + 'static, - NewResBody: HttpBody + Send + 'static, - NewResBody::Error: Into, - { - let layer = ServiceBuilder::new() - .layer(MapResponseBodyLayer::new(boxed)) - .layer(layer); - match self.routes { - Routes::RestJson1(routes) => Router { - routes: Routes::RestJson1(routes.map(|router| router.layer(layer).boxed())), - }, - Routes::RestXml(routes) => Router { - routes: Routes::RestXml(routes.map(|router| router.layer(layer).boxed())), - }, - Routes::AwsJson1_0(routes) => Router { - routes: Routes::AwsJson1_0(routes.map(|router| router.layer(layer).boxed())), - }, - Routes::AwsJson1_1(routes) => Router { - routes: Routes::AwsJson1_1(routes.map(|router| router.layer(layer).boxed())), - }, - } + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.debug_struct("RoutingService") + .field("router", &self.router) + .field("_protocol", &self._protocol) + .finish() } +} - /// Create a new RestJson1 `Router` from an iterator over pairs of [`RequestSpec`]s and services. - /// - /// If the iterator is empty the router will respond `404 Not Found` to all requests. - #[doc(hidden)] - pub fn new_rest_json_router(routes: T) -> Self - where - T: IntoIterator< - Item = ( - tower::util::BoxCloneService, Response, Infallible>, - RequestSpec, - ), - >, - { - let svc = RoutingService::new( - routes - .into_iter() - .map(|(svc, request_spec)| (request_spec, Route::from_box_clone_service(svc))) - .collect(), - ); +impl Clone for RoutingService +where + R: Clone, +{ + fn clone(&self) -> Self { Self { - routes: Routes::RestJson1(svc), + router: self.router.clone(), + _protocol: PhantomData, } } +} - /// Create a new RestXml `Router` from an iterator over pairs of [`RequestSpec`]s and services. - /// - /// If the iterator is empty the router will respond `404 Not Found` to all requests. - #[doc(hidden)] - pub fn new_rest_xml_router(routes: T) -> Self - where - T: IntoIterator< - Item = ( - tower::util::BoxCloneService, Response, Infallible>, - RequestSpec, - ), - >, - { - let svc = RoutingService::new( - routes - .into_iter() - .map(|(svc, request_spec)| (request_spec, Route::from_box_clone_service(svc))) - .collect(), - ); +impl RoutingService { + /// Creates a [`RoutingService`] from a [`Router`]. + pub fn new(router: R) -> Self { Self { - routes: Routes::RestXml(svc), + router, + _protocol: PhantomData, } } - /// Create a new AwsJson 1.0 `Router` from an iterator over pairs of operation names and services. - /// - /// If the iterator is empty the router will respond `404 Not Found` to all requests. - #[doc(hidden)] - pub fn new_aws_json_10_router(routes: T) -> Self + /// Maps a [`Router`] using a closure. + pub fn map(self, f: F) -> RoutingService where - T: IntoIterator< - Item = ( - tower::util::BoxCloneService, Response, Infallible>, - String, - ), - >, + F: FnOnce(R) -> RNew, { - let svc = RoutingService::new( - routes - .into_iter() - .map(|(svc, operation)| (operation, Route::from_box_clone_service(svc))) - .collect(), - ); - - Self { - routes: Routes::AwsJson1_0(svc), + RoutingService { + router: f(self.router), + _protocol: PhantomData, } } +} - /// Create a new AwsJson 1.1 `Router` from a vector of pairs of operations and services. - /// - /// If the vector is empty the router will respond `404 Not Found` to all requests. - #[doc(hidden)] - pub fn new_aws_json_11_router(routes: T) -> Self - where - T: IntoIterator< - Item = ( - tower::util::BoxCloneService, Response, Infallible>, - String, - ), - >, - { - let svc = RoutingService::new( - routes - .into_iter() - .map(|(svc, operation)| (operation, Route::from_box_clone_service(svc))) - .collect(), - ); +type EitherOneshotReady = Either< + MapOk>, fn(>>::Response) -> http::Response>, + Ready, >>::Error>>, +>; - Self { - routes: Routes::AwsJson1_1(svc), - } +pin_project_lite::pin_project! { + pub struct RoutingFuture where S: Service> { + #[pin] + inner: EitherOneshotReady } } -#[allow(deprecated)] -impl Service> for Router +impl RoutingFuture where - B: Send + 'static, + S: Service>, { - type Response = Response; - type Error = Infallible; - type Future = RouterFuture; - - #[inline] - fn poll_ready(&mut self, _: &mut Context<'_>) -> Poll> { - Poll::Ready(Ok(())) - } - - #[inline] - fn call(&mut self, req: Request) -> Self::Future { - let fut = match &mut self.routes { - // REST routes. - Routes::RestJson1(routes) => routes.call(req), - Routes::RestXml(routes) => routes.call(req), - // AwsJson routes. - Routes::AwsJson1_0(routes) => routes.call(req), - Routes::AwsJson1_1(routes) => routes.call(req), - }; - RouterFuture::new(fut) - } -} - -#[cfg(test)] -#[allow(deprecated)] -mod rest_tests { - use super::*; - use crate::{ - body::{boxed, BoxBody}, - routing::request_spec::*, - }; - use futures_util::Future; - use http::{HeaderMap, Method, StatusCode}; - use std::pin::Pin; - - /// Helper function to build a `Request`. Used in other test modules. - pub fn req(method: &Method, uri: &str, headers: Option) -> Request<()> { - let mut r = Request::builder().method(method).uri(uri).body(()).unwrap(); - if let Some(headers) = headers { - *r.headers_mut() = headers - } - r - } - - // Returns a `Response`'s body as a `String`, without consuming the response. - pub async fn get_body_as_string(res: &mut Response) -> String + /// Creates a [`RoutingFuture`] from [`ServiceExt::oneshot`]. + pub(super) fn from_oneshot(future: Oneshot>) -> Self where - B: http_body::Body + std::marker::Unpin, - B::Error: std::fmt::Debug, + S: Service, Response = http::Response>, + RespB: HttpBody + Send + 'static, + RespB::Error: Into, { - let body_mut = res.body_mut(); - let body_bytes = hyper::body::to_bytes(body_mut).await.unwrap(); - String::from(std::str::from_utf8(&body_bytes).unwrap()) - } - - /// A service that returns its name and the request's URI in the response body. - #[derive(Clone)] - struct NamedEchoUriService(String); - - impl Service> for NamedEchoUriService { - type Response = Response; - type Error = Infallible; - type Future = Pin> + Send>>; - - #[inline] - fn poll_ready(&mut self, _cx: &mut Context<'_>) -> Poll> { - Poll::Ready(Ok(())) - } - - #[inline] - fn call(&mut self, req: Request) -> Self::Future { - let body = boxed(Body::from(format!("{} :: {}", self.0, req.uri()))); - let fut = async { Ok(Response::builder().status(&http::StatusCode::OK).body(body).unwrap()) }; - Box::pin(fut) + Self { + inner: Either::Left(future.map_ok(|x| x.map(boxed))), } } - // This test is a rewrite of `mux.spec.ts`. - // https://github.com/awslabs/smithy-typescript/blob/fbf97a9bf4c1d8cf7f285ea7c24e1f0ef280142a/smithy-typescript-ssdk-libs/server-common/src/httpbinding/mux.spec.ts - #[tokio::test] - async fn simple_routing() { - let request_specs: Vec<(RequestSpec, &str)> = vec![ - ( - RequestSpec::from_parts( - Method::GET, - vec![ - PathSegment::Literal(String::from("a")), - PathSegment::Label, - PathSegment::Label, - ], - Vec::new(), - ), - "A", - ), - ( - RequestSpec::from_parts( - Method::GET, - vec![ - PathSegment::Literal(String::from("mg")), - PathSegment::Greedy, - PathSegment::Literal(String::from("z")), - ], - Vec::new(), - ), - "MiddleGreedy", - ), - ( - RequestSpec::from_parts( - Method::DELETE, - Vec::new(), - vec![ - QuerySegment::KeyValue(String::from("foo"), String::from("bar")), - QuerySegment::Key(String::from("baz")), - ], - ), - "Delete", - ), - ( - RequestSpec::from_parts( - Method::POST, - vec![PathSegment::Literal(String::from("query_key_only"))], - vec![QuerySegment::Key(String::from("foo"))], - ), - "QueryKeyOnly", - ), - ]; - - // Test both RestJson1 and RestXml routers. - let router_json = Router::new_rest_json_router(request_specs.clone().into_iter().map(|(spec, svc_name)| { - ( - tower::util::BoxCloneService::new(NamedEchoUriService(String::from(svc_name))), - spec, - ) - })); - let router_xml = Router::new_rest_xml_router(request_specs.into_iter().map(|(spec, svc_name)| { - ( - tower::util::BoxCloneService::new(NamedEchoUriService(String::from(svc_name))), - spec, - ) - })); - - for mut router in [router_json, router_xml] { - let hits = vec![ - ("A", Method::GET, "/a/b/c"), - ("MiddleGreedy", Method::GET, "/mg/a/z"), - ("MiddleGreedy", Method::GET, "/mg/a/b/c/d/z?abc=def"), - ("Delete", Method::DELETE, "/?foo=bar&baz=quux"), - ("Delete", Method::DELETE, "/?foo=bar&baz"), - ("Delete", Method::DELETE, "/?foo=bar&baz=&"), - ("Delete", Method::DELETE, "/?foo=bar&baz=quux&baz=grault"), - ("QueryKeyOnly", Method::POST, "/query_key_only?foo=bar"), - ("QueryKeyOnly", Method::POST, "/query_key_only?foo"), - ("QueryKeyOnly", Method::POST, "/query_key_only?foo="), - ("QueryKeyOnly", Method::POST, "/query_key_only?foo=&"), - ]; - for (svc_name, method, uri) in &hits { - let mut res = router.call(req(method, uri, None)).await.unwrap(); - let actual_body = get_body_as_string(&mut res).await; - - assert_eq!(format!("{} :: {}", svc_name, uri), actual_body); - } - - for (_, _, uri) in hits { - let res = router.call(req(&Method::PATCH, uri, None)).await.unwrap(); - assert_eq!(StatusCode::METHOD_NOT_ALLOWED, res.status()); - } - - let misses = vec![ - (Method::GET, "/a"), - (Method::GET, "/a/b"), - (Method::GET, "/mg"), - (Method::GET, "/mg/q"), - (Method::GET, "/mg/z"), - (Method::GET, "/mg/a/b/z/c"), - (Method::DELETE, "/?foo=bar"), - (Method::DELETE, "/?foo=bar"), - (Method::DELETE, "/?baz=quux"), - (Method::POST, "/query_key_only?baz=quux"), - (Method::GET, "/"), - (Method::POST, "/"), - ]; - for (method, miss) in misses { - let res = router.call(req(&method, miss, None)).await.unwrap(); - assert_eq!(StatusCode::NOT_FOUND, res.status()); - } + /// Creates a [`RoutingFuture`] from [`Service::Response`]. + pub(super) fn from_response(response: http::Response) -> Self { + Self { + inner: Either::Right(ready(Ok(response))), } } +} - #[tokio::test] - async fn basic_pattern_conflict_avoidance() { - let request_specs: Vec<(RequestSpec, &str)> = vec![ - ( - RequestSpec::from_parts( - Method::GET, - vec![PathSegment::Literal(String::from("a")), PathSegment::Label], - Vec::new(), - ), - "A1", - ), - ( - RequestSpec::from_parts( - Method::GET, - vec![ - PathSegment::Literal(String::from("a")), - PathSegment::Label, - PathSegment::Literal(String::from("a")), - ], - Vec::new(), - ), - "A2", - ), - ( - RequestSpec::from_parts( - Method::GET, - vec![PathSegment::Literal(String::from("b")), PathSegment::Greedy], - Vec::new(), - ), - "B1", - ), - ( - RequestSpec::from_parts( - Method::GET, - vec![PathSegment::Literal(String::from("b")), PathSegment::Greedy], - vec![QuerySegment::Key(String::from("q"))], - ), - "B2", - ), - ]; - - let mut router = Router::new_rest_json_router(request_specs.into_iter().map(|(spec, svc_name)| { - ( - tower::util::BoxCloneService::new(NamedEchoUriService(String::from(svc_name))), - spec, - ) - })); - - let hits = vec![ - ("A1", Method::GET, "/a/foo"), - ("A2", Method::GET, "/a/foo/a"), - ("B1", Method::GET, "/b/foo/bar/baz"), - ("B2", Method::GET, "/b/foo?q=baz"), - ]; - for (svc_name, method, uri) in &hits { - let mut res = router.call(req(method, uri, None)).await.unwrap(); - let actual_body = get_body_as_string(&mut res).await; +impl Future for RoutingFuture +where + S: Service>, +{ + type Output = Result, S::Error>; - assert_eq!(format!("{} :: {}", svc_name, uri), actual_body); - } + fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { + self.project().inner.poll(cx) } } -#[allow(deprecated)] -#[cfg(test)] -mod awsjson_tests { - use super::rest_tests::{get_body_as_string, req}; - use super::*; - use crate::body::boxed; - use futures_util::Future; - use http::{HeaderMap, HeaderValue, Method, StatusCode}; - use pretty_assertions::assert_eq; - use std::pin::Pin; - - /// A service that returns its name and the request's URI in the response body. - #[derive(Clone)] - struct NamedEchoOperationService(String); - - impl Service> for NamedEchoOperationService { - type Response = Response; - type Error = Infallible; - type Future = Pin> + Send>>; - - #[inline] - fn poll_ready(&mut self, _cx: &mut Context<'_>) -> Poll> { - Poll::Ready(Ok(())) - } +impl Service> for RoutingService +where + R: Router, + R::Service: Service, Response = http::Response> + Clone, + R::Error: IntoResponse

+ Error, + RespB: HttpBody + Send + 'static, + RespB::Error: Into, +{ + type Response = Response; + type Error = >>::Error; + type Future = RoutingFuture; - #[inline] - fn call(&mut self, req: Request) -> Self::Future { - let target = req - .headers() - .get("x-amz-target") - .map(|x| x.to_str().unwrap()) - .unwrap_or("unknown"); - let body = boxed(Body::from(format!("{} :: {}", self.0, target))); - let fut = async { Ok(Response::builder().status(&http::StatusCode::OK).body(body).unwrap()) }; - Box::pin(fut) - } + fn poll_ready(&mut self, _cx: &mut Context<'_>) -> Poll> { + Poll::Ready(Ok(())) } - #[tokio::test] - async fn simple_routing() { - let routes = vec![("Service.Operation", "A")]; - let router_json10 = Router::new_aws_json_10_router(routes.clone().into_iter().map(|(operation, svc_name)| { - ( - tower::util::BoxCloneService::new(NamedEchoOperationService(String::from(svc_name))), - operation.to_string(), - ) - })); - let router_json11 = Router::new_aws_json_11_router(routes.into_iter().map(|(operation, svc_name)| { - ( - tower::util::BoxCloneService::new(NamedEchoOperationService(String::from(svc_name))), - operation.to_string(), - ) - })); - - for mut router in [router_json10, router_json11] { - let mut headers = HeaderMap::new(); - headers.insert("x-amz-target", HeaderValue::from_static("Service.Operation")); - - // Valid request, should return a valid body. - let mut res = router - .call(req(&Method::POST, "/", Some(headers.clone()))) - .await - .unwrap(); - let actual_body = get_body_as_string(&mut res).await; - assert_eq!(format!("{} :: {}", "A", "Service.Operation"), actual_body); - - // No headers, should return NOT_FOUND. - let res = router.call(req(&Method::POST, "/", None)).await.unwrap(); - assert_eq!(res.status(), StatusCode::NOT_FOUND); - - // Wrong HTTP method, should return METHOD_NOT_ALLOWED. - let res = router - .call(req(&Method::GET, "/", Some(headers.clone()))) - .await - .unwrap(); - assert_eq!(res.status(), StatusCode::METHOD_NOT_ALLOWED); - - // Wrong URI, should return NOT_FOUND. - let res = router - .call(req(&Method::POST, "/something", Some(headers))) - .await - .unwrap(); - assert_eq!(res.status(), StatusCode::NOT_FOUND); + fn call(&mut self, req: http::Request) -> Self::Future { + match self.router.match_route(&req) { + // Successfully routed, use the routes `Service::call`. + Ok(ok) => RoutingFuture::from_oneshot(ok.oneshot(req)), + // Failed to route, use the `R::Error`s `IntoResponse

`. + Err(error) => { + debug!(%error, "failed to route"); + RoutingFuture::from_response(error.into_response()) + } } } } diff --git a/rust-runtime/aws-smithy-http-server/src/routing/request_spec.rs b/rust-runtime/aws-smithy-http-server/src/routing/request_spec.rs index bbabefb019..84f431c24d 100644 --- a/rust-runtime/aws-smithy-http-server/src/routing/request_spec.rs +++ b/rust-runtime/aws-smithy-http-server/src/routing/request_spec.rs @@ -250,8 +250,9 @@ impl RequestSpec { #[cfg(test)] mod tests { - use super::super::rest_tests::req; use super::*; + use crate::proto::test_helpers::req; + use http::Method; #[test] diff --git a/rust-runtime/aws-smithy-http-server/src/routing/route.rs b/rust-runtime/aws-smithy-http-server/src/routing/route.rs index 67d7ec5353..7eda401f61 100644 --- a/rust-runtime/aws-smithy-http-server/src/routing/route.rs +++ b/rust-runtime/aws-smithy-http-server/src/routing/route.rs @@ -64,10 +64,6 @@ impl Route { service: BoxCloneService::new(svc), } } - - pub(super) fn from_box_clone_service(svc: BoxCloneService, Response, Infallible>) -> Self { - Self { service: svc } - } } impl Clone for Route { diff --git a/rust-runtime/aws-smithy-http-server/src/runtime_error.rs b/rust-runtime/aws-smithy-http-server/src/runtime_error.rs index 1201ca61aa..9fc1b8e1a7 100644 --- a/rust-runtime/aws-smithy-http-server/src/runtime_error.rs +++ b/rust-runtime/aws-smithy-http-server/src/runtime_error.rs @@ -174,13 +174,6 @@ impl IntoResponse for RuntimeError { } } -#[allow(deprecated)] -impl From for RuntimeError { - fn from(err: crate::rejection::RequestExtensionNotFoundRejection) -> Self { - Self::InternalFailure(crate::Error::new(err)) - } -} - impl From for RuntimeError { fn from(err: crate::rejection::ResponseRejection) -> Self { Self::Serialization(crate::Error::new(err)) diff --git a/rust-runtime/aws-smithy-types/src/blob.rs b/rust-runtime/aws-smithy-types/src/blob.rs index 63d71b568c..efe818a501 100644 --- a/rust-runtime/aws-smithy-types/src/blob.rs +++ b/rust-runtime/aws-smithy-types/src/blob.rs @@ -104,20 +104,21 @@ impl<'de> Deserialize<'de> for Blob { } #[cfg(test)] +#[cfg(all(aws_sdk_unstable, feature = "serialize", feature = "deserialize"))] mod test { + #[cfg(all(aws_sdk_unstable, feature = "serialize", feature = "deserialize"))] use crate::Blob; + #[cfg(all(aws_sdk_unstable, feature = "serialize", feature = "deserialize"))] use std::collections::HashMap; #[cfg(all(aws_sdk_unstable, feature = "serialize", feature = "deserialize"))] use serde::{Deserialize, Serialize}; - - #[cfg(all(aws_sdk_unstable, feature = "serialize", feature = "deserialize"))] + use std::collections::HashMap; #[derive(Deserialize, Serialize, Debug, PartialEq)] struct ForTest { blob: Blob, } - #[cfg(all(aws_sdk_unstable, feature = "serialize", feature = "deserialize"))] #[test] fn human_readable_blob() { let aws_in_base64 = r#"{"blob":"QVdT"}"#; @@ -130,7 +131,6 @@ mod test { assert_eq!(serde_json::to_string(&for_test).unwrap(), aws_in_base64); } - #[cfg(all(aws_sdk_unstable, feature = "serialize", feature = "deserialize"))] #[test] fn not_human_readable_blob() { use std::ffi::CString; diff --git a/rust-runtime/aws-smithy-types/src/document.rs b/rust-runtime/aws-smithy-types/src/document.rs index aa5bf6c411..4ec4041427 100644 --- a/rust-runtime/aws-smithy-types/src/document.rs +++ b/rust-runtime/aws-smithy-types/src/document.rs @@ -89,14 +89,20 @@ impl From for Document { #[cfg(test)] mod test { + #[cfg(all(aws_sdk_unstable, feature = "serialize", feature = "deserialize"))] use crate::Document; + #[cfg(all(aws_sdk_unstable, feature = "serialize", feature = "deserialize"))] use crate::Number; + #[cfg(all(aws_sdk_unstable, feature = "serialize", feature = "deserialize"))] use std::collections::HashMap; /// checks if a) serialization of json suceeds and b) it is compatible with serde_json #[test] #[cfg(all(aws_sdk_unstable, feature = "serialize", feature = "deserialize"))] fn serialize_json() { + use crate::Document; + use crate::Number; + use std::collections::HashMap; let mut map: HashMap = HashMap::new(); // string map.insert("hello".into(), "world".to_string().into()); diff --git a/rust-runtime/aws-smithy-types/src/lib.rs b/rust-runtime/aws-smithy-types/src/lib.rs index 718dd5b951..f6542733c6 100644 --- a/rust-runtime/aws-smithy-types/src/lib.rs +++ b/rust-runtime/aws-smithy-types/src/lib.rs @@ -13,455 +13,19 @@ unreachable_pub )] -use crate::error::{TryFromNumberError, TryFromNumberErrorKind}; - -mod blob; -pub use blob::Blob; - pub mod base64; +mod blob; pub mod date_time; mod document; pub mod endpoint; pub mod error; +mod number; pub mod primitive; pub mod retry; pub mod timeout; + +pub use blob::Blob; pub use date_time::DateTime; pub use document::Document; pub use error::Error; - -/// A number type that implements Javascript / JSON semantics, modeled on serde_json: -/// -#[derive(Debug, Clone, Copy, PartialEq)] -pub enum Number { - /// Unsigned 64-bit integer value. - PosInt(u64), - /// Signed 64-bit integer value. The wrapped value is _always_ negative. - NegInt(i64), - /// 64-bit floating-point value. - Float(f64), -} - -impl Number { - /// Converts to an `f64` lossily. - /// Use `Number::try_from` to make the conversion only if it is not lossy. - pub fn to_f64_lossy(self) -> f64 { - match self { - Number::PosInt(v) => v as f64, - Number::NegInt(v) => v as f64, - Number::Float(v) => v as f64, - } - } - - /// Converts to an `f32` lossily. - /// Use `Number::try_from` to make the conversion only if it is not lossy. - pub fn to_f32_lossy(self) -> f32 { - match self { - Number::PosInt(v) => v as f32, - Number::NegInt(v) => v as f32, - Number::Float(v) => v as f32, - } - } -} - -macro_rules! to_unsigned_integer_converter { - ($typ:ident, $styp:expr) => { - #[doc = "Converts to a `"] - #[doc = $styp] - #[doc = "`. This conversion fails if it is lossy."] - impl TryFrom for $typ { - type Error = TryFromNumberError; - - fn try_from(value: Number) -> Result { - match value { - Number::PosInt(v) => Ok(Self::try_from(v)?), - Number::NegInt(v) => { - Err(TryFromNumberErrorKind::NegativeToUnsignedLossyConversion(v).into()) - } - Number::Float(v) => { - Err(TryFromNumberErrorKind::FloatToIntegerLossyConversion(v).into()) - } - } - } - } - }; - - ($typ:ident) => { - to_unsigned_integer_converter!($typ, stringify!($typ)); - }; -} - -macro_rules! to_signed_integer_converter { - ($typ:ident, $styp:expr) => { - #[doc = "Converts to a `"] - #[doc = $styp] - #[doc = "`. This conversion fails if it is lossy."] - impl TryFrom for $typ { - type Error = TryFromNumberError; - - fn try_from(value: Number) -> Result { - match value { - Number::PosInt(v) => Ok(Self::try_from(v)?), - Number::NegInt(v) => Ok(Self::try_from(v)?), - Number::Float(v) => { - Err(TryFromNumberErrorKind::FloatToIntegerLossyConversion(v).into()) - } - } - } - } - }; - - ($typ:ident) => { - to_signed_integer_converter!($typ, stringify!($typ)); - }; -} - -/// Converts to a `u64`. The conversion fails if it is lossy. -impl TryFrom for u64 { - type Error = TryFromNumberError; - - fn try_from(value: Number) -> Result { - match value { - Number::PosInt(v) => Ok(v), - Number::NegInt(v) => { - Err(TryFromNumberErrorKind::NegativeToUnsignedLossyConversion(v).into()) - } - Number::Float(v) => { - Err(TryFromNumberErrorKind::FloatToIntegerLossyConversion(v).into()) - } - } - } -} -to_unsigned_integer_converter!(u32); -to_unsigned_integer_converter!(u16); -to_unsigned_integer_converter!(u8); - -impl TryFrom for i64 { - type Error = TryFromNumberError; - - fn try_from(value: Number) -> Result { - match value { - Number::PosInt(v) => Ok(Self::try_from(v)?), - Number::NegInt(v) => Ok(v), - Number::Float(v) => { - Err(TryFromNumberErrorKind::FloatToIntegerLossyConversion(v).into()) - } - } - } -} -to_signed_integer_converter!(i32); -to_signed_integer_converter!(i16); -to_signed_integer_converter!(i8); - -/// Converts to an `f64`. The conversion fails if it is lossy. -impl TryFrom for f64 { - type Error = TryFromNumberError; - - fn try_from(value: Number) -> Result { - match value { - // Integers can only be represented with full precision in a float if they fit in the - // significand, which is 24 bits in `f32` and 53 bits in `f64`. - // https://github.com/rust-lang/rust/blob/58f11791af4f97572e7afd83f11cffe04bbbd12f/library/core/src/convert/num.rs#L151-L153 - Number::PosInt(v) => { - if v <= (1 << 53) { - Ok(v as Self) - } else { - Err(TryFromNumberErrorKind::U64ToFloatLossyConversion(v).into()) - } - } - Number::NegInt(v) => { - if (-(1 << 53)..=(1 << 53)).contains(&v) { - Ok(v as Self) - } else { - Err(TryFromNumberErrorKind::I64ToFloatLossyConversion(v).into()) - } - } - Number::Float(v) => Ok(v), - } - } -} - -/// Converts to an `f64`. The conversion fails if it is lossy. -impl TryFrom for f32 { - type Error = TryFromNumberError; - - fn try_from(value: Number) -> Result { - match value { - Number::PosInt(v) => { - if v <= (1 << 24) { - Ok(v as Self) - } else { - Err(TryFromNumberErrorKind::U64ToFloatLossyConversion(v).into()) - } - } - Number::NegInt(v) => { - if (-(1 << 24)..=(1 << 24)).contains(&v) { - Ok(v as Self) - } else { - Err(TryFromNumberErrorKind::I64ToFloatLossyConversion(v).into()) - } - } - Number::Float(v) => Err(TryFromNumberErrorKind::F64ToF32LossyConversion(v).into()), - } - } -} - -#[cfg(test)] -mod number { - use super::*; - use crate::error::{TryFromNumberError, TryFromNumberErrorKind}; - - macro_rules! to_unsigned_converter_tests { - ($typ:ident) => { - assert_eq!($typ::try_from(Number::PosInt(69u64)).unwrap(), 69); - - assert!(matches!( - $typ::try_from(Number::PosInt(($typ::MAX as u64) + 1u64)).unwrap_err(), - TryFromNumberError { - kind: TryFromNumberErrorKind::OutsideIntegerRange(..) - } - )); - - assert!(matches!( - $typ::try_from(Number::NegInt(-1i64)).unwrap_err(), - TryFromNumberError { - kind: TryFromNumberErrorKind::NegativeToUnsignedLossyConversion(..) - } - )); - - for val in [69.69f64, f64::NAN, f64::INFINITY, f64::NEG_INFINITY] { - assert!(matches!( - $typ::try_from(Number::Float(val)).unwrap_err(), - TryFromNumberError { - kind: TryFromNumberErrorKind::FloatToIntegerLossyConversion(..) - } - )); - } - }; - } - - #[test] - fn to_u64() { - assert_eq!(u64::try_from(Number::PosInt(69u64)).unwrap(), 69u64); - - assert!(matches!( - u64::try_from(Number::NegInt(-1i64)).unwrap_err(), - TryFromNumberError { - kind: TryFromNumberErrorKind::NegativeToUnsignedLossyConversion(..) - } - )); - - for val in [69.69f64, f64::NAN, f64::INFINITY, f64::NEG_INFINITY] { - assert!(matches!( - u64::try_from(Number::Float(val)).unwrap_err(), - TryFromNumberError { - kind: TryFromNumberErrorKind::FloatToIntegerLossyConversion(..) - } - )); - } - } - - #[test] - fn to_u32() { - to_unsigned_converter_tests!(u32); - } - - #[test] - fn to_u16() { - to_unsigned_converter_tests!(u16); - } - - #[test] - fn to_u8() { - to_unsigned_converter_tests!(u8); - } - - macro_rules! to_signed_converter_tests { - ($typ:ident) => { - assert_eq!($typ::try_from(Number::PosInt(69u64)).unwrap(), 69); - assert_eq!($typ::try_from(Number::NegInt(-69i64)).unwrap(), -69); - - assert!(matches!( - $typ::try_from(Number::PosInt(($typ::MAX as u64) + 1u64)).unwrap_err(), - TryFromNumberError { - kind: TryFromNumberErrorKind::OutsideIntegerRange(..) - } - )); - - assert!(matches!( - $typ::try_from(Number::NegInt(($typ::MIN as i64) - 1i64)).unwrap_err(), - TryFromNumberError { - kind: TryFromNumberErrorKind::OutsideIntegerRange(..) - } - )); - - for val in [69.69f64, f64::NAN, f64::INFINITY, f64::NEG_INFINITY] { - assert!(matches!( - u64::try_from(Number::Float(val)).unwrap_err(), - TryFromNumberError { - kind: TryFromNumberErrorKind::FloatToIntegerLossyConversion(..) - } - )); - } - }; - } - - #[test] - fn to_i64() { - assert_eq!(i64::try_from(Number::PosInt(69u64)).unwrap(), 69); - assert_eq!(i64::try_from(Number::NegInt(-69i64)).unwrap(), -69); - - for val in [69.69f64, f64::NAN, f64::INFINITY, f64::NEG_INFINITY] { - assert!(matches!( - u64::try_from(Number::Float(val)).unwrap_err(), - TryFromNumberError { - kind: TryFromNumberErrorKind::FloatToIntegerLossyConversion(..) - } - )); - } - } - - #[test] - fn to_i32() { - to_signed_converter_tests!(i32); - } - - #[test] - fn to_i16() { - to_signed_converter_tests!(i16); - } - - #[test] - fn to_i8() { - to_signed_converter_tests!(i8); - } - - #[test] - fn to_f64() { - assert_eq!(f64::try_from(Number::PosInt(69u64)).unwrap(), 69f64); - assert_eq!(f64::try_from(Number::NegInt(-69i64)).unwrap(), -69f64); - assert_eq!(f64::try_from(Number::Float(-69f64)).unwrap(), -69f64); - assert!(f64::try_from(Number::Float(f64::NAN)).unwrap().is_nan()); - assert_eq!( - f64::try_from(Number::Float(f64::INFINITY)).unwrap(), - f64::INFINITY - ); - assert_eq!( - f64::try_from(Number::Float(f64::NEG_INFINITY)).unwrap(), - f64::NEG_INFINITY - ); - - let significand_max_u64: u64 = 1 << 53; - let significand_max_i64: i64 = 1 << 53; - - assert_eq!( - f64::try_from(Number::PosInt(significand_max_u64)).unwrap(), - 9007199254740992f64 - ); - - assert_eq!( - f64::try_from(Number::NegInt(significand_max_i64)).unwrap(), - 9007199254740992f64 - ); - assert_eq!( - f64::try_from(Number::NegInt(-significand_max_i64)).unwrap(), - -9007199254740992f64 - ); - - assert!(matches!( - f64::try_from(Number::PosInt(significand_max_u64 + 1)).unwrap_err(), - TryFromNumberError { - kind: TryFromNumberErrorKind::U64ToFloatLossyConversion(..) - } - )); - - assert!(matches!( - f64::try_from(Number::NegInt(significand_max_i64 + 1)).unwrap_err(), - TryFromNumberError { - kind: TryFromNumberErrorKind::I64ToFloatLossyConversion(..) - } - )); - assert!(matches!( - f64::try_from(Number::NegInt(-significand_max_i64 - 1)).unwrap_err(), - TryFromNumberError { - kind: TryFromNumberErrorKind::I64ToFloatLossyConversion(..) - } - )); - } - - #[test] - fn to_f32() { - assert_eq!(f32::try_from(Number::PosInt(69u64)).unwrap(), 69f32); - assert_eq!(f32::try_from(Number::NegInt(-69i64)).unwrap(), -69f32); - - let significand_max_u64: u64 = 1 << 24; - let significand_max_i64: i64 = 1 << 24; - - assert_eq!( - f32::try_from(Number::PosInt(significand_max_u64)).unwrap(), - 16777216f32 - ); - - assert_eq!( - f32::try_from(Number::NegInt(significand_max_i64)).unwrap(), - 16777216f32 - ); - assert_eq!( - f32::try_from(Number::NegInt(-significand_max_i64)).unwrap(), - -16777216f32 - ); - - assert!(matches!( - f32::try_from(Number::PosInt(significand_max_u64 + 1)).unwrap_err(), - TryFromNumberError { - kind: TryFromNumberErrorKind::U64ToFloatLossyConversion(..) - } - )); - - assert!(matches!( - f32::try_from(Number::NegInt(significand_max_i64 + 1)).unwrap_err(), - TryFromNumberError { - kind: TryFromNumberErrorKind::I64ToFloatLossyConversion(..) - } - )); - assert!(matches!( - f32::try_from(Number::NegInt(-significand_max_i64 - 1)).unwrap_err(), - TryFromNumberError { - kind: TryFromNumberErrorKind::I64ToFloatLossyConversion(..) - } - )); - - for val in [69f64, f64::NAN, f64::INFINITY, f64::NEG_INFINITY] { - assert!(matches!( - f32::try_from(Number::Float(val)).unwrap_err(), - TryFromNumberError { - kind: TryFromNumberErrorKind::F64ToF32LossyConversion(..) - } - )); - } - } - - #[test] - fn to_f64_lossy() { - assert_eq!(Number::PosInt(69u64).to_f64_lossy(), 69f64); - assert_eq!( - Number::PosInt((1 << 53) + 1).to_f64_lossy(), - 9007199254740992f64 - ); - assert_eq!( - Number::NegInt(-(1 << 53) - 1).to_f64_lossy(), - -9007199254740992f64 - ); - } - - #[test] - fn to_f32_lossy() { - assert_eq!(Number::PosInt(69u64).to_f32_lossy(), 69f32); - assert_eq!(Number::PosInt((1 << 24) + 1).to_f32_lossy(), 16777216f32); - assert_eq!(Number::NegInt(-(1 << 24) - 1).to_f32_lossy(), -16777216f32); - assert_eq!( - Number::Float(1452089033.7674935).to_f32_lossy(), - 1452089100f32 - ); - } -} +pub use number::Number; diff --git a/rust-runtime/aws-smithy-types/src/number.rs b/rust-runtime/aws-smithy-types/src/number.rs new file mode 100644 index 0000000000..be002f1598 --- /dev/null +++ b/rust-runtime/aws-smithy-types/src/number.rs @@ -0,0 +1,478 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +//! A number type that implements Javascript / JSON semantics, modeled on serde_json: +//! + +use crate::error::{TryFromNumberError, TryFromNumberErrorKind}; + +/// A number type that implements Javascript / JSON semantics, modeled on serde_json: +/// +#[derive(Debug, Clone, Copy, PartialEq)] +#[cfg_attr(all(aws_sdk_unstable, feature = "deserialize"), derive(Deserialize))] +#[cfg_attr(all(aws_sdk_unstable, feature = "serialize"), derive(Serialize))] +#[cfg_attr( + any( + all(aws_sdk_unstable, feature = "deserialize"), + all(aws_sdk_unstable, feature = "serialize") + ), + serde(untagged) +)] +pub enum Number { + /// Unsigned 64-bit integer value. + PosInt(u64), + /// Signed 64-bit integer value. The wrapped value is _always_ negative. + NegInt(i64), + /// 64-bit floating-point value. + Float(f64), +} + +/* ANCHOR_END: document */ + +impl Number { + /// Converts to an `f64` lossily. + /// Use `Number::try_from` to make the conversion only if it is not lossy. + pub fn to_f64_lossy(self) -> f64 { + match self { + Number::PosInt(v) => v as f64, + Number::NegInt(v) => v as f64, + Number::Float(v) => v as f64, + } + } + + /// Converts to an `f32` lossily. + /// Use `Number::try_from` to make the conversion only if it is not lossy. + pub fn to_f32_lossy(self) -> f32 { + match self { + Number::PosInt(v) => v as f32, + Number::NegInt(v) => v as f32, + Number::Float(v) => v as f32, + } + } +} + +macro_rules! to_unsigned_integer_converter { + ($typ:ident, $styp:expr) => { + #[doc = "Converts to a `"] + #[doc = $styp] + #[doc = "`. This conversion fails if it is lossy."] + impl TryFrom for $typ { + type Error = TryFromNumberError; + + fn try_from(value: Number) -> Result { + match value { + Number::PosInt(v) => Ok(Self::try_from(v)?), + Number::NegInt(v) => { + Err(TryFromNumberErrorKind::NegativeToUnsignedLossyConversion(v).into()) + } + Number::Float(v) => { + Err(TryFromNumberErrorKind::FloatToIntegerLossyConversion(v).into()) + } + } + } + } + }; + + ($typ:ident) => { + to_unsigned_integer_converter!($typ, stringify!($typ)); + }; +} + +macro_rules! to_signed_integer_converter { + ($typ:ident, $styp:expr) => { + #[doc = "Converts to a `"] + #[doc = $styp] + #[doc = "`. This conversion fails if it is lossy."] + impl TryFrom for $typ { + type Error = TryFromNumberError; + + fn try_from(value: Number) -> Result { + match value { + Number::PosInt(v) => Ok(Self::try_from(v)?), + Number::NegInt(v) => Ok(Self::try_from(v)?), + Number::Float(v) => { + Err(TryFromNumberErrorKind::FloatToIntegerLossyConversion(v).into()) + } + } + } + } + }; + + ($typ:ident) => { + to_signed_integer_converter!($typ, stringify!($typ)); + }; +} + +/// Converts to a `u64`. The conversion fails if it is lossy. +impl TryFrom for u64 { + type Error = TryFromNumberError; + + fn try_from(value: Number) -> Result { + match value { + Number::PosInt(v) => Ok(v), + Number::NegInt(v) => { + Err(TryFromNumberErrorKind::NegativeToUnsignedLossyConversion(v).into()) + } + Number::Float(v) => { + Err(TryFromNumberErrorKind::FloatToIntegerLossyConversion(v).into()) + } + } + } +} +to_unsigned_integer_converter!(u32); +to_unsigned_integer_converter!(u16); +to_unsigned_integer_converter!(u8); + +impl TryFrom for i64 { + type Error = TryFromNumberError; + + fn try_from(value: Number) -> Result { + match value { + Number::PosInt(v) => Ok(Self::try_from(v)?), + Number::NegInt(v) => Ok(v), + Number::Float(v) => { + Err(TryFromNumberErrorKind::FloatToIntegerLossyConversion(v).into()) + } + } + } +} +to_signed_integer_converter!(i32); +to_signed_integer_converter!(i16); +to_signed_integer_converter!(i8); + +/// Converts to an `f64`. The conversion fails if it is lossy. +impl TryFrom for f64 { + type Error = TryFromNumberError; + + fn try_from(value: Number) -> Result { + match value { + // Integers can only be represented with full precision in a float if they fit in the + // significand, which is 24 bits in `f32` and 53 bits in `f64`. + // https://github.com/rust-lang/rust/blob/58f11791af4f97572e7afd83f11cffe04bbbd12f/library/core/src/convert/num.rs#L151-L153 + Number::PosInt(v) => { + if v <= (1 << 53) { + Ok(v as Self) + } else { + Err(TryFromNumberErrorKind::U64ToFloatLossyConversion(v).into()) + } + } + Number::NegInt(v) => { + if (-(1 << 53)..=(1 << 53)).contains(&v) { + Ok(v as Self) + } else { + Err(TryFromNumberErrorKind::I64ToFloatLossyConversion(v).into()) + } + } + Number::Float(v) => Ok(v), + } + } +} + +/// Converts to an `f64`. The conversion fails if it is lossy. +impl TryFrom for f32 { + type Error = TryFromNumberError; + + fn try_from(value: Number) -> Result { + match value { + Number::PosInt(v) => { + if v <= (1 << 24) { + Ok(v as Self) + } else { + Err(TryFromNumberErrorKind::U64ToFloatLossyConversion(v).into()) + } + } + Number::NegInt(v) => { + if (-(1 << 24)..=(1 << 24)).contains(&v) { + Ok(v as Self) + } else { + Err(TryFromNumberErrorKind::I64ToFloatLossyConversion(v).into()) + } + } + Number::Float(v) => Err(TryFromNumberErrorKind::F64ToF32LossyConversion(v).into()), + } + } +} + +#[cfg(test)] +mod test { + use super::*; + use crate::error::{TryFromNumberError, TryFromNumberErrorKind}; + + macro_rules! to_unsigned_converter_tests { + ($typ:ident) => { + assert_eq!($typ::try_from(Number::PosInt(69u64)).unwrap(), 69); + + assert!(matches!( + $typ::try_from(Number::PosInt(($typ::MAX as u64) + 1u64)).unwrap_err(), + TryFromNumberError { + kind: TryFromNumberErrorKind::OutsideIntegerRange(..) + } + )); + + assert!(matches!( + $typ::try_from(Number::NegInt(-1i64)).unwrap_err(), + TryFromNumberError { + kind: TryFromNumberErrorKind::NegativeToUnsignedLossyConversion(..) + } + )); + + for val in [69.69f64, f64::NAN, f64::INFINITY, f64::NEG_INFINITY] { + assert!(matches!( + $typ::try_from(Number::Float(val)).unwrap_err(), + TryFromNumberError { + kind: TryFromNumberErrorKind::FloatToIntegerLossyConversion(..) + } + )); + } + }; + } + + #[test] + fn to_u64() { + assert_eq!(u64::try_from(Number::PosInt(69u64)).unwrap(), 69u64); + + assert!(matches!( + u64::try_from(Number::NegInt(-1i64)).unwrap_err(), + TryFromNumberError { + kind: TryFromNumberErrorKind::NegativeToUnsignedLossyConversion(..) + } + )); + + for val in [69.69f64, f64::NAN, f64::INFINITY, f64::NEG_INFINITY] { + assert!(matches!( + u64::try_from(Number::Float(val)).unwrap_err(), + TryFromNumberError { + kind: TryFromNumberErrorKind::FloatToIntegerLossyConversion(..) + } + )); + } + } + + #[test] + fn to_u32() { + to_unsigned_converter_tests!(u32); + } + + #[test] + fn to_u16() { + to_unsigned_converter_tests!(u16); + } + + #[test] + fn to_u8() { + to_unsigned_converter_tests!(u8); + } + + macro_rules! to_signed_converter_tests { + ($typ:ident) => { + assert_eq!($typ::try_from(Number::PosInt(69u64)).unwrap(), 69); + assert_eq!($typ::try_from(Number::NegInt(-69i64)).unwrap(), -69); + + assert!(matches!( + $typ::try_from(Number::PosInt(($typ::MAX as u64) + 1u64)).unwrap_err(), + TryFromNumberError { + kind: TryFromNumberErrorKind::OutsideIntegerRange(..) + } + )); + + assert!(matches!( + $typ::try_from(Number::NegInt(($typ::MIN as i64) - 1i64)).unwrap_err(), + TryFromNumberError { + kind: TryFromNumberErrorKind::OutsideIntegerRange(..) + } + )); + + for val in [69.69f64, f64::NAN, f64::INFINITY, f64::NEG_INFINITY] { + assert!(matches!( + u64::try_from(Number::Float(val)).unwrap_err(), + TryFromNumberError { + kind: TryFromNumberErrorKind::FloatToIntegerLossyConversion(..) + } + )); + } + }; + } + + #[test] + fn to_i64() { + assert_eq!(i64::try_from(Number::PosInt(69u64)).unwrap(), 69); + assert_eq!(i64::try_from(Number::NegInt(-69i64)).unwrap(), -69); + + for val in [69.69f64, f64::NAN, f64::INFINITY, f64::NEG_INFINITY] { + assert!(matches!( + u64::try_from(Number::Float(val)).unwrap_err(), + TryFromNumberError { + kind: TryFromNumberErrorKind::FloatToIntegerLossyConversion(..) + } + )); + } + } + + #[test] + fn to_i32() { + to_signed_converter_tests!(i32); + } + + #[test] + fn to_i16() { + to_signed_converter_tests!(i16); + } + + #[test] + fn to_i8() { + to_signed_converter_tests!(i8); + } + + #[test] + fn to_f64() { + assert_eq!(f64::try_from(Number::PosInt(69u64)).unwrap(), 69f64); + assert_eq!(f64::try_from(Number::NegInt(-69i64)).unwrap(), -69f64); + assert_eq!(f64::try_from(Number::Float(-69f64)).unwrap(), -69f64); + assert!(f64::try_from(Number::Float(f64::NAN)).unwrap().is_nan()); + assert_eq!( + f64::try_from(Number::Float(f64::INFINITY)).unwrap(), + f64::INFINITY + ); + assert_eq!( + f64::try_from(Number::Float(f64::NEG_INFINITY)).unwrap(), + f64::NEG_INFINITY + ); + + let significand_max_u64: u64 = 1 << 53; + let significand_max_i64: i64 = 1 << 53; + + assert_eq!( + f64::try_from(Number::PosInt(significand_max_u64)).unwrap(), + 9007199254740992f64 + ); + + assert_eq!( + f64::try_from(Number::NegInt(significand_max_i64)).unwrap(), + 9007199254740992f64 + ); + assert_eq!( + f64::try_from(Number::NegInt(-significand_max_i64)).unwrap(), + -9007199254740992f64 + ); + + assert!(matches!( + f64::try_from(Number::PosInt(significand_max_u64 + 1)).unwrap_err(), + TryFromNumberError { + kind: TryFromNumberErrorKind::U64ToFloatLossyConversion(..) + } + )); + + assert!(matches!( + f64::try_from(Number::NegInt(significand_max_i64 + 1)).unwrap_err(), + TryFromNumberError { + kind: TryFromNumberErrorKind::I64ToFloatLossyConversion(..) + } + )); + assert!(matches!( + f64::try_from(Number::NegInt(-significand_max_i64 - 1)).unwrap_err(), + TryFromNumberError { + kind: TryFromNumberErrorKind::I64ToFloatLossyConversion(..) + } + )); + } + + #[test] + fn to_f32() { + assert_eq!(f32::try_from(Number::PosInt(69u64)).unwrap(), 69f32); + assert_eq!(f32::try_from(Number::NegInt(-69i64)).unwrap(), -69f32); + + let significand_max_u64: u64 = 1 << 24; + let significand_max_i64: i64 = 1 << 24; + + assert_eq!( + f32::try_from(Number::PosInt(significand_max_u64)).unwrap(), + 16777216f32 + ); + + assert_eq!( + f32::try_from(Number::NegInt(significand_max_i64)).unwrap(), + 16777216f32 + ); + assert_eq!( + f32::try_from(Number::NegInt(-significand_max_i64)).unwrap(), + -16777216f32 + ); + + assert!(matches!( + f32::try_from(Number::PosInt(significand_max_u64 + 1)).unwrap_err(), + TryFromNumberError { + kind: TryFromNumberErrorKind::U64ToFloatLossyConversion(..) + } + )); + + assert!(matches!( + f32::try_from(Number::NegInt(significand_max_i64 + 1)).unwrap_err(), + TryFromNumberError { + kind: TryFromNumberErrorKind::I64ToFloatLossyConversion(..) + } + )); + assert!(matches!( + f32::try_from(Number::NegInt(-significand_max_i64 - 1)).unwrap_err(), + TryFromNumberError { + kind: TryFromNumberErrorKind::I64ToFloatLossyConversion(..) + } + )); + + for val in [69f64, f64::NAN, f64::INFINITY, f64::NEG_INFINITY] { + assert!(matches!( + f32::try_from(Number::Float(val)).unwrap_err(), + TryFromNumberError { + kind: TryFromNumberErrorKind::F64ToF32LossyConversion(..) + } + )); + } + } + + #[test] + fn to_f64_lossy() { + assert_eq!(Number::PosInt(69u64).to_f64_lossy(), 69f64); + assert_eq!( + Number::PosInt((1 << 53) + 1).to_f64_lossy(), + 9007199254740992f64 + ); + assert_eq!( + Number::NegInt(-(1 << 53) - 1).to_f64_lossy(), + -9007199254740992f64 + ); + } + + #[test] + fn to_f32_lossy() { + assert_eq!(Number::PosInt(69u64).to_f32_lossy(), 69f32); + assert_eq!(Number::PosInt((1 << 24) + 1).to_f32_lossy(), 16777216f32); + assert_eq!(Number::NegInt(-(1 << 24) - 1).to_f32_lossy(), -16777216f32); + assert_eq!( + Number::Float(1452089033.7674935).to_f32_lossy(), + 1452089100f32 + ); + } + + #[test] + #[cfg(all(test, aws_sdk_unstable, feature = "deserialize", feature = "serialize"))] + /// ensures that numbers are deserialized as expected + /// 0 <= PosInt + /// 0 > NegInt + /// non integer values == Float + fn number_serde() { + let n: Number = serde_json::from_str("1.1").unwrap(); + assert_eq!(n, Number::Float(1.1)); + let n: Number = serde_json::from_str("1").unwrap(); + assert_eq!(n, Number::PosInt(1)); + let n: Number = serde_json::from_str("0").unwrap(); + assert_eq!(n, Number::PosInt(0)); + let n: Number = serde_json::from_str("-1").unwrap(); + assert_eq!(n, Number::NegInt(-1)); + + assert_eq!("1.1", serde_json::to_string(&Number::Float(1.1)).unwrap()); + assert_eq!("1", serde_json::to_string(&Number::PosInt(1)).unwrap()); + assert_eq!("0", serde_json::to_string(&Number::PosInt(0)).unwrap()); + assert_eq!("-1", serde_json::to_string(&Number::NegInt(-1)).unwrap()); + } +} diff --git a/rust-runtime/build.gradle.kts b/rust-runtime/build.gradle.kts index b24911e1ea..f600fec9dd 100644 --- a/rust-runtime/build.gradle.kts +++ b/rust-runtime/build.gradle.kts @@ -53,7 +53,7 @@ tasks.register("fixRuntimeCrateVersions") { tasks.register("fixManifests") { description = "Run the publisher tool's `fix-manifests` sub-command on the runtime crates" - toolPath = rootProject.projectDir.resolve("tools/publisher") + toolPath = rootProject.projectDir.resolve("tools/ci-build/publisher") binaryName = "publisher" arguments = listOf("fix-manifests", "--location", runtimeOutputDir.absolutePath) dependsOn("fixRuntimeCrateVersions") diff --git a/rust-runtime/inlineable/src/lib.rs b/rust-runtime/inlineable/src/lib.rs index 2c2634110c..41af358919 100644 --- a/rust-runtime/inlineable/src/lib.rs +++ b/rust-runtime/inlineable/src/lib.rs @@ -15,8 +15,6 @@ mod json_errors; mod rest_xml_unwrapped_errors; #[allow(unused)] mod rest_xml_wrapped_errors; -#[allow(unused)] -mod server_operation_handler_trait; #[allow(unused)] mod endpoint_lib; diff --git a/rust-runtime/inlineable/src/server_operation_handler_trait.rs b/rust-runtime/inlineable/src/server_operation_handler_trait.rs deleted file mode 100644 index 633120912e..0000000000 --- a/rust-runtime/inlineable/src/server_operation_handler_trait.rs +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * SPDX-License-Identifier: Apache-2.0 - */ -use async_trait::async_trait; -use aws_smithy_http_server::{body::BoxBody, opaque_future}; -use futures_util::{ - future::{BoxFuture, Map}, - FutureExt, -}; -use http::{Request, Response}; -use std::marker::PhantomData; -use tower::Service; - -/// Struct that holds a handler, that is, a function provided by the user that implements the -/// Smithy operation. -#[deprecated( - since = "0.52.0", - note = "`OperationHandler` is part of the older service builder API. This type no longer appears in the public API." -)] -pub struct OperationHandler { - handler: H, - #[allow(clippy::type_complexity)] - _marker: PhantomData<(B, R, I)>, -} - -#[allow(deprecated)] -impl Clone for OperationHandler -where - H: Clone, -{ - fn clone(&self) -> Self { - Self { - handler: self.handler.clone(), - _marker: PhantomData, - } - } -} - -/// Construct an [`OperationHandler`] out of a function implementing the operation. -#[allow(deprecated)] -#[deprecated( - since = "0.52.0", - note = "`OperationHandler` is part of the older service builder API. This type no longer appears in the public API." -)] -pub fn operation(handler: H) -> OperationHandler { - OperationHandler { - handler, - _marker: PhantomData, - } -} - -#[allow(deprecated)] -impl Service> for OperationHandler -where - H: Handler, - B: Send + 'static, -{ - type Response = Response; - type Error = std::convert::Infallible; - type Future = OperationHandlerFuture; - - #[inline] - fn poll_ready( - &mut self, - _cx: &mut std::task::Context<'_>, - ) -> std::task::Poll> { - std::task::Poll::Ready(Ok(())) - } - - fn call(&mut self, req: Request) -> Self::Future { - let future = - Handler::call(self.handler.clone(), req).map(Ok::<_, std::convert::Infallible> as _); - OperationHandlerFuture::new(future) - } -} - -type WrapResultInResponseFn = - fn(Response) -> Result, std::convert::Infallible>; - -opaque_future! { - /// Response future for [`OperationHandler`]. - pub type OperationHandlerFuture = - Map>, WrapResultInResponseFn>; -} - -pub(crate) mod sealed { - #![allow(unreachable_pub, missing_docs, missing_debug_implementations)] - pub trait HiddenTrait {} - pub struct Hidden; - impl HiddenTrait for Hidden {} -} - -#[deprecated( - since = "0.52.0", - note = "The inlineable `Handler` is part of the deprecated service builder API. This type no longer appears in the public API." -)] -#[async_trait] -pub trait Handler: Clone + Send + Sized + 'static { - #[doc(hidden)] - type Sealed: sealed::HiddenTrait; - - async fn call(self, req: Request) -> Response; -} diff --git a/tools/.dockerignore b/tools/.dockerignore deleted file mode 100644 index 9a62dc373d..0000000000 --- a/tools/.dockerignore +++ /dev/null @@ -1,4 +0,0 @@ -/target -/ci-cdk/build -**/node_modules -**/cdk.out diff --git a/tools/Dockerfile b/tools/ci-build/Dockerfile similarity index 78% rename from tools/Dockerfile rename to tools/ci-build/Dockerfile index 9a45c5b0f5..1b5074ffea 100644 --- a/tools/Dockerfile +++ b/tools/ci-build/Dockerfile @@ -11,37 +11,6 @@ ARG rust_nightly_version=nightly-2022-11-16 FROM ${base_image} AS bare_base_image RUN yum -y updateinfo -# -# Node Installation Stage -# -FROM bare_base_image AS install_node -ARG node_version=v16.14.0 -ENV DEST_PATH=/opt/nodejs \ - PATH=/opt/nodejs/bin:${PATH} -RUN yum -y install \ - ca-certificates \ - curl \ - tar \ - xz && \ - yum clean all -WORKDIR /root -RUN set -eux; \ - ARCHITECTURE=""; \ - if [[ "$(uname -m)" == "aarch64" || "$(uname -m)" == "arm64" ]]; then \ - curl "https://nodejs.org/dist/${node_version}/node-${node_version}-linux-arm64.tar.xz" --output node.tar.xz; \ - echo "5a6e818c302527a4b1cdf61d3188408c8a3e4a1bbca1e3f836c93ea8469826ce node.tar.xz" | sha256sum --check; \ - ARCHITECTURE="arm64"; \ - else \ - curl "https://nodejs.org/dist/${node_version}/node-${node_version}-linux-x64.tar.xz" --output node.tar.xz; \ - echo "0570b9354959f651b814e56a4ce98d4a067bf2385b9a0e6be075739bc65b0fae node.tar.xz" | sha256sum --check; \ - ARCHITECTURE="x64"; \ - fi; \ - mkdir -p "${DEST_PATH}"; \ - tar -xJvf node.tar.xz -C "${DEST_PATH}"; \ - mv "${DEST_PATH}/node-${node_version}-linux-${ARCHITECTURE}/"* "${DEST_PATH}"; \ - rmdir "${DEST_PATH}"/node-${node_version}-linux-${ARCHITECTURE}; \ - rm node.tar.xz; \ - node --version # # Rust & Tools Installation Stage @@ -87,7 +56,7 @@ RUN set -eux; \ FROM install_rust AS local_tools ARG rust_nightly_version -COPY . tools/ +COPY . tools/ci-build # when `checkout_smithy_rs_tools` is set to true, this commit will be checked out ARG smithy_rs_commit_hash=main # If the `checkout_smithy_rs_tools` arg is set to true, then the Dockerfile will acquire the tools @@ -99,11 +68,12 @@ RUN set -eux; \ cd smithy-rs; \ git checkout ${smithy_rs_commit_hash}; \ fi; \ - cargo +${rust_nightly_version} -Z sparse-registry install --locked --path tools/publisher; \ - cargo +${rust_nightly_version} -Z sparse-registry install --locked --path tools/changelogger; \ - cargo +${rust_nightly_version} -Z sparse-registry install --locked --path tools/crate-hasher; \ - cargo +${rust_nightly_version} -Z sparse-registry install --locked --path tools/sdk-lints; \ - cargo +${rust_nightly_version} -Z sparse-registry install --locked --path tools/sdk-versioner; \ + cargo +${rust_nightly_version} -Z sparse-registry install --locked --path tools/ci-build/publisher; \ + cargo +${rust_nightly_version} -Z sparse-registry install --locked --path tools/ci-build/changelogger; \ + cargo +${rust_nightly_version} -Z sparse-registry install --locked --path tools/ci-build/crate-hasher; \ + cargo +${rust_nightly_version} -Z sparse-registry install --locked --path tools/ci-build/difftags; \ + cargo +${rust_nightly_version} -Z sparse-registry install --locked --path tools/ci-build/sdk-lints; \ + cargo +${rust_nightly_version} -Z sparse-registry install --locked --path tools/ci-build/sdk-versioner; \ chmod g+rw -R /opt/cargo/registry FROM install_rust AS cargo_deny @@ -160,7 +130,6 @@ RUN set -eux; \ groupadd build; \ useradd -m -g build build; \ chmod 775 /home/build; -COPY --chown=build:build --from=install_node /opt/nodejs /opt/nodejs COPY --chown=build:build --from=local_tools /opt/cargo /opt/cargo COPY --chown=build:build --from=cargo_deny /opt/cargo/bin/cargo-deny /opt/cargo/bin/cargo-deny COPY --chown=build:build --from=cargo_udeps /opt/cargo/bin/cargo-udeps /opt/cargo/bin/cargo-udeps @@ -169,7 +138,7 @@ COPY --chown=build:build --from=cargo_minimal_versions /opt/cargo/bin/cargo-mini COPY --chown=build:build --from=cargo_check_external_types /opt/cargo/bin/cargo-check-external-types /opt/cargo/bin/cargo-check-external-types COPY --chown=build:build --from=maturin /opt/cargo/bin/maturin /opt/cargo/bin/maturin COPY --chown=build:build --from=install_rust /opt/rustup /opt/rustup -ENV PATH=/opt/cargo/bin:/opt/nodejs/bin:$PATH \ +ENV PATH=/opt/cargo/bin:$PATH \ CARGO_HOME=/opt/cargo \ RUSTUP_HOME=/opt/rustup \ JAVA_HOME=/usr/lib/jvm/java-11-amazon-corretto.x86_64 \ @@ -185,7 +154,6 @@ ENV PATH=/opt/cargo/bin:/opt/nodejs/bin:$PATH \ # This is used primarily by the `build.gradle.kts` files in choosing how to execute build tools. If inside the image, # they will assume the tools are on the PATH, but if outside of the image, they will `cargo run` the tools. ENV SMITHY_RS_DOCKER_BUILD_IMAGE=1 -RUN npm install -g diff2html-cli@5.1.11 && pip3 install --no-cache-dir uvloop==0.16.0 aiohttp==3.8.1 WORKDIR /home/build -COPY ci-build/scripts/sanity-test /home/build/sanity-test +COPY sanity-test /home/build/sanity-test RUN /home/build/sanity-test diff --git a/tools/ci-build/README.md b/tools/ci-build/README.md index bd87ef230f..d7b9204770 100644 --- a/tools/ci-build/README.md +++ b/tools/ci-build/README.md @@ -1,17 +1,15 @@ ci-build ======== -This directory includes the build Docker image and scripts to use it in CI. -- `../Dockerfile`: Dockerfile used to create the base build image. Needs to be in `tools/` root so that it +This directory includes everything to build the build/release/CI Docker image. +- `Dockerfile`: Dockerfile used to create the base build image. Needs to be in `tools/ci-build` so that it can copy all the tools source code into the image at build time. -- `acquire-build-image`: Script that retrieves the base build image from public ECR or creates one locally - depending on the state of the tools directory. If the git hash of the tools directory doesn't exist as a tag - in public ECR, then it will build a new image locally. Otherwise, it will download the existing one and reuse it. - `add-local-user.dockerfile`: Creates a user in the build image with the host's user ID - `build.docker-compose.yml`: Docker Compose file for using the build image -- `ci-action`: Script for running CI actions inside of the Docker build image +- `ci-action`: Script for running CI actions inside the Docker build image - `ci-create-workspace`: Used by `ci-action`, but can be run manually to create a one-off workspace for debugging -- `scripts/`: CI scripts that get copied into the build image +- `sanity-test`: Script that sanity tests the Docker build image +- Other directories include various tools written in Rust for build/release/CI There are three spaces you need to conceptualize for testing this locally: - **Origin:** The original `smithy-rs` where you're iterating on CI scripts. @@ -33,7 +31,7 @@ Then you can test CI against that starting space by running: $ORIGIN_PATH/tools/ci-build/ci-action [args...] ``` -The action names are the names of the scripts in `scripts/`, and `[args...]` get forwarded to those scripts. +The action names are the names of the scripts in `tools/ci-scripts/`, and `[args...]` get forwarded to those scripts. __Note:__ `ci-action` does not rebuild the build image, so if you modified a script, -you need to run `./acquire-build-image` from the origin `tools/ci-build` path. +you need to run `./acquire-build-image` from the origin `.github/scripts` path. diff --git a/tools/changelogger/Cargo.lock b/tools/ci-build/changelogger/Cargo.lock similarity index 100% rename from tools/changelogger/Cargo.lock rename to tools/ci-build/changelogger/Cargo.lock diff --git a/tools/changelogger/Cargo.toml b/tools/ci-build/changelogger/Cargo.toml similarity index 100% rename from tools/changelogger/Cargo.toml rename to tools/ci-build/changelogger/Cargo.toml diff --git a/tools/changelogger/smithy-rs-maintainers.txt b/tools/ci-build/changelogger/smithy-rs-maintainers.txt similarity index 100% rename from tools/changelogger/smithy-rs-maintainers.txt rename to tools/ci-build/changelogger/smithy-rs-maintainers.txt diff --git a/tools/changelogger/src/entry.rs b/tools/ci-build/changelogger/src/entry.rs similarity index 100% rename from tools/changelogger/src/entry.rs rename to tools/ci-build/changelogger/src/entry.rs diff --git a/tools/ci-build/changelogger/src/init.rs b/tools/ci-build/changelogger/src/init.rs new file mode 100644 index 0000000000..90377e4029 --- /dev/null +++ b/tools/ci-build/changelogger/src/init.rs @@ -0,0 +1,16 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +use crate::render::EXAMPLE_ENTRY; +use clap::Parser; +use std::io::Write; + +#[derive(Parser, Debug, Eq, PartialEq)] +pub struct InitArgs {} + +pub fn subcommand_init(_args: &InitArgs) -> anyhow::Result<()> { + writeln!(std::io::stdout(), "{}", EXAMPLE_ENTRY)?; + Ok(()) +} diff --git a/tools/changelogger/src/lib.rs b/tools/ci-build/changelogger/src/lib.rs similarity index 92% rename from tools/changelogger/src/lib.rs rename to tools/ci-build/changelogger/src/lib.rs index 8eb12613f0..483dfd2013 100644 --- a/tools/changelogger/src/lib.rs +++ b/tools/ci-build/changelogger/src/lib.rs @@ -4,5 +4,6 @@ */ pub mod entry; +pub mod init; pub mod render; pub mod split; diff --git a/tools/changelogger/src/main.rs b/tools/ci-build/changelogger/src/main.rs similarity index 90% rename from tools/changelogger/src/main.rs rename to tools/ci-build/changelogger/src/main.rs index 5e3655ad67..db36023ff3 100644 --- a/tools/changelogger/src/main.rs +++ b/tools/ci-build/changelogger/src/main.rs @@ -4,36 +4,36 @@ */ use anyhow::Result; +use changelogger::init::subcommand_init; +use changelogger::render::subcommand_render; +use changelogger::split::subcommand_split; use clap::Parser; -use render::subcommand_render; -use split::subcommand_split; - -mod entry; -mod render; -mod split; #[derive(Parser, Debug, Eq, PartialEq)] #[clap(name = "changelogger", author, version, about)] pub enum Args { /// Split SDK changelog entries into a separate file - Split(split::SplitArgs), + Split(changelogger::split::SplitArgs), /// Render a TOML/JSON changelog into GitHub-flavored Markdown - Render(render::RenderArgs), + Render(changelogger::render::RenderArgs), + /// Print to stdout the empty "next" CHANGELOG template. + Init(changelogger::init::InitArgs), } fn main() -> Result<()> { match Args::parse() { Args::Split(split) => subcommand_split(&split), Args::Render(render) => subcommand_render(&render), + Args::Init(init) => subcommand_init(&init), } } #[cfg(test)] mod tests { use super::Args; - use crate::entry::ChangeSet; - use crate::render::RenderArgs; - use crate::split::SplitArgs; + use changelogger::entry::ChangeSet; + use changelogger::render::RenderArgs; + use changelogger::split::SplitArgs; use clap::Parser; use std::path::PathBuf; diff --git a/tools/changelogger/src/render.rs b/tools/ci-build/changelogger/src/render.rs similarity index 100% rename from tools/changelogger/src/render.rs rename to tools/ci-build/changelogger/src/render.rs diff --git a/tools/changelogger/src/split.rs b/tools/ci-build/changelogger/src/split.rs similarity index 100% rename from tools/changelogger/src/split.rs rename to tools/ci-build/changelogger/src/split.rs diff --git a/tools/changelogger/tests/e2e_test.rs b/tools/ci-build/changelogger/tests/e2e_test.rs similarity index 100% rename from tools/changelogger/tests/e2e_test.rs rename to tools/ci-build/changelogger/tests/e2e_test.rs diff --git a/tools/ci-build/ci-action b/tools/ci-build/ci-action index 402f969b00..5b7f1e7090 100755 --- a/tools/ci-build/ci-action +++ b/tools/ci-build/ci-action @@ -14,7 +14,7 @@ if [[ $# -lt 1 ]]; then echo echo "Runs the given action (or opens a shell) in the build Docker container." echo "The build image must already be acquired with 'acquire-build-image' before this is run." - echo "The is the name of a script in 'scripts', and the [args...] will be forwarded to it." + echo "The is the name of a script in 'tools/ci-scripts', and the [args...] will be forwarded to it." exit 1 fi @@ -55,6 +55,6 @@ docker-compose -f build.docker-compose.yml up -d if [[ "${ACTION_NAME}" == "--shell" ]]; then docker-compose -f build.docker-compose.yml exec smithy-rs-build /bin/bash else - docker-compose -f build.docker-compose.yml exec -T smithy-rs-build bash -c "cd workspace; ./scripts/${ACTION_NAME} ${ACTION_ARGS[*]}" + docker-compose -f build.docker-compose.yml exec -T smithy-rs-build bash -c "cd workspace; ./ci-scripts/${ACTION_NAME} ${ACTION_ARGS[*]}" fi exit $? diff --git a/tools/ci-build/ci-create-workspace b/tools/ci-build/ci-create-workspace index b7a849eac5..8ffab5ed97 100755 --- a/tools/ci-build/ci-create-workspace +++ b/tools/ci-build/ci-create-workspace @@ -24,7 +24,7 @@ cp build.docker-compose.yml "${ACTION_PATH}/" mkdir -p "${ACTION_PATH}/workspace/artifacts" # Copy scripts into workspace -cp -r "${SCRIPT_PATH}/scripts" "${ACTION_PATH}/workspace/" +cp -r "${SCRIPT_PATH}/../ci-scripts" "${ACTION_PATH}/workspace/" # Copy inputs into workspace for input_name in \ diff --git a/tools/crate-hasher/Cargo.lock b/tools/ci-build/crate-hasher/Cargo.lock similarity index 100% rename from tools/crate-hasher/Cargo.lock rename to tools/ci-build/crate-hasher/Cargo.lock diff --git a/tools/crate-hasher/Cargo.toml b/tools/ci-build/crate-hasher/Cargo.toml similarity index 100% rename from tools/crate-hasher/Cargo.toml rename to tools/ci-build/crate-hasher/Cargo.toml diff --git a/tools/crate-hasher/src/file_list.rs b/tools/ci-build/crate-hasher/src/file_list.rs similarity index 100% rename from tools/crate-hasher/src/file_list.rs rename to tools/ci-build/crate-hasher/src/file_list.rs diff --git a/tools/crate-hasher/src/lib.rs b/tools/ci-build/crate-hasher/src/lib.rs similarity index 100% rename from tools/crate-hasher/src/lib.rs rename to tools/ci-build/crate-hasher/src/lib.rs diff --git a/tools/crate-hasher/src/main.rs b/tools/ci-build/crate-hasher/src/main.rs similarity index 100% rename from tools/crate-hasher/src/main.rs rename to tools/ci-build/crate-hasher/src/main.rs diff --git a/tools/crate-hasher/tests/aws-smithy-async-2022-04-08-entries.txt b/tools/ci-build/crate-hasher/tests/aws-smithy-async-2022-04-08-entries.txt similarity index 100% rename from tools/crate-hasher/tests/aws-smithy-async-2022-04-08-entries.txt rename to tools/ci-build/crate-hasher/tests/aws-smithy-async-2022-04-08-entries.txt diff --git a/tools/crate-hasher/tests/aws-smithy-async-2022-04-08.tar.gz b/tools/ci-build/crate-hasher/tests/aws-smithy-async-2022-04-08.tar.gz similarity index 100% rename from tools/crate-hasher/tests/aws-smithy-async-2022-04-08.tar.gz rename to tools/ci-build/crate-hasher/tests/aws-smithy-async-2022-04-08.tar.gz diff --git a/tools/crate-hasher/tests/test.rs b/tools/ci-build/crate-hasher/tests/test.rs similarity index 100% rename from tools/crate-hasher/tests/test.rs rename to tools/ci-build/crate-hasher/tests/test.rs diff --git a/tools/ci-build/difftags/Cargo.lock b/tools/ci-build/difftags/Cargo.lock new file mode 100644 index 0000000000..849338e259 --- /dev/null +++ b/tools/ci-build/difftags/Cargo.lock @@ -0,0 +1,303 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "aho-corasick" +version = "0.7.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" +dependencies = [ + "memchr", +] + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi", + "libc", + "winapi", +] + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "clap" +version = "3.2.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5" +dependencies = [ + "atty", + "bitflags", + "clap_derive", + "clap_lex", + "indexmap", + "once_cell", + "strsim", + "termcolor", + "textwrap", +] + +[[package]] +name = "clap_derive" +version = "3.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea0c8bce528c4be4da13ea6fead8965e95b6073585a2f05204bd8f4119f82a65" +dependencies = [ + "heck", + "proc-macro-error", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "clap_lex" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" +dependencies = [ + "os_str_bytes", +] + +[[package]] +name = "difftags" +version = "0.1.0" +dependencies = [ + "clap", + "html-escape", + "unidiff", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "heck" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "html-escape" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d1ad449764d627e22bfd7cd5e8868264fc9236e07c752972b4080cd351cb476" +dependencies = [ + "utf8-width", +] + +[[package]] +name = "indexmap" +version = "1.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" +dependencies = [ + "autocfg", + "hashbrown", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.139" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" + +[[package]] +name = "memchr" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" + +[[package]] +name = "once_cell" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" + +[[package]] +name = "os_str_bytes" +version = "6.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro2" +version = "1.0.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ef7d57beacfaf2d8aee5937dab7b7f28de3cb8b1828479bb5de2a7106f2bae2" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.6.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "syn" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "termcolor" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "textwrap" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" + +[[package]] +name = "unicode-ident" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" + +[[package]] +name = "unidiff" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8a62719acf1933bfdbeb73a657ecd9ecece70b405125267dd549e2e2edc232c" +dependencies = [ + "lazy_static", + "regex", +] + +[[package]] +name = "utf8-width" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5190c9442dcdaf0ddd50f37420417d219ae5261bbf5db120d0f9bab996c9cba1" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" diff --git a/tools/ci-build/difftags/Cargo.toml b/tools/ci-build/difftags/Cargo.toml new file mode 100644 index 0000000000..ba02ba8acf --- /dev/null +++ b/tools/ci-build/difftags/Cargo.toml @@ -0,0 +1,16 @@ +[package] +name = "difftags" +version = "0.1.0" +edition = "2021" +publish = false + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[profile.release] +# prefer fast compile time over runtime performance +opt-level = 0 + +[dependencies] +clap = { version = "3.2.23", features = ["derive"] } +html-escape = { version = "0.2.13", default-features = false } +unidiff = { version = "0.3.3", default-features = false } diff --git a/tools/ci-build/difftags/README.md b/tools/ci-build/difftags/README.md new file mode 100644 index 0000000000..2b74c36ebf --- /dev/null +++ b/tools/ci-build/difftags/README.md @@ -0,0 +1,4 @@ +difftags +======== + +Simple CLI tool to convert a unified diff file into human readable/browsable paginated HTML files. diff --git a/tools/ci-build/difftags/src/difftags.css b/tools/ci-build/difftags/src/difftags.css new file mode 100644 index 0000000000..c1d8a5c819 --- /dev/null +++ b/tools/ci-build/difftags/src/difftags.css @@ -0,0 +1,65 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +body { + font-family: sans-serif; +} + +.file { + border: 1px solid #d8d8d8; + border-radius: 10px; + margin: 15px 10px; + background-color: #f7f7f7; +} + +.file-name { + display: block; + border-bottom: 1px solid #d8d8d8; + padding: 10px; + margin: 0; +} + +.hidden { + display: none !important; +} + +.context-row { + display: block; + padding: 10px; + background-color: #f8fafd; + color: #666; + border-bottom: 1px solid #d8d8d8; + font-family: monospace; +} + +.diff td { + vertical-align: top; + padding: 1px 5px; +} + +.lineno { + width: 140px; + max-width: 140px; +} + +.lr { background-color: #fee8e9; } /* line removed */ +.la { background-color: #dfd; } /* line added */ + +.pagination { + font-size: 2em; +} + +.current-page { + font-weight: bold; +} + +.hljs { + padding: 0 !important; + background: inherit; +} + +pre { + margin: 0; +} diff --git a/tools/ci-build/difftags/src/difftags.js b/tools/ci-build/difftags/src/difftags.js new file mode 100644 index 0000000000..5d82e3d4e9 --- /dev/null +++ b/tools/ci-build/difftags/src/difftags.js @@ -0,0 +1,13 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +function expandTable(event, id) { + event.preventDefault(); + const table = document.querySelector(`#${id}`); + table.classList.remove("hidden"); + + const expander = document.querySelector(`#${id}-exp`); + expander.classList.add("hidden"); +} diff --git a/tools/ci-build/difftags/src/html.rs b/tools/ci-build/difftags/src/html.rs new file mode 100644 index 0000000000..e56c93a4e5 --- /dev/null +++ b/tools/ci-build/difftags/src/html.rs @@ -0,0 +1,234 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +use crate::page::{File, Page}; +use html_escape::encode_safe; +use std::fs; +use std::io::{Result, Write}; +use std::path::{Path, PathBuf}; +use unidiff::Line; + +pub fn write_html( + output_dir: &Path, + title: Option, + subtitle: Option, + pages: &[Page], +) -> Result<()> { + for (page_num, page) in pages.iter().enumerate() { + let file_path = file_path(output_dir, page_num); + let mut file = fs::File::create(&file_path)?; + + write_header(&mut file, title.as_deref(), subtitle.as_deref(), pages)?; + for (file_num, page_file) in page.files.iter().enumerate() { + write_file(&mut file, page_file, page_num, file_num)?; + } + write_footer(&mut file, page_num, pages.len())?; + } + Ok(()) +} + +fn file_id(page_num: usize, file_num: usize) -> String { + format!("file-{page_num}-{file_num}") +} + +fn file_name(page_num: usize) -> String { + match page_num { + 0 => "index.html".into(), + _ => format!("index_page_{page_num}.html"), + } +} + +fn file_path(output_dir: &Path, page_num: usize) -> PathBuf { + output_dir.join(file_name(page_num)) +} + +fn write_header( + mut w: W, + title: Option<&str>, + subtitle: Option<&str>, + pages: &[Page], +) -> Result<()> { + let title = encode_safe(title.unwrap_or("Diff")); + writeln!(w, "")?; + writeln!(w, "")?; + writeln!(w, "")?; + writeln!(w, " ")?; + writeln!(w, " {title}",)?; + writeln!(w, " ")?; + writeln!(w, " ")?; + writeln!(w, " ", include_str!("difftags.css"))?; + writeln!(w, " ", include_str!("difftags.js"))?; + writeln!(w, "")?; + writeln!(w, "")?; + writeln!(w, "

{title}

")?; + if let Some(subtitle) = subtitle { + writeln!(w, "

{subtitle}

")?; + } + + writeln!(w, "

Files changed:

")?; + writeln!(w, "
    ")?; + for (page_num, page) in pages.iter().enumerate() { + for (file_num, page_file) in page.files.iter().enumerate() { + writeln!( + w, + "
  • {}
  • ", + file_name(page_num), + file_id(page_num, file_num), + encode_safe(page_file.name()) + )?; + } + } + writeln!(w, "
")?; + + Ok(()) +} + +fn write_footer(mut w: W, page_num: usize, page_count: usize) -> Result<()> { + writeln!(w, "
Pages: ")?; + for index in 0..page_count { + writeln!( + w, + " {}", + file_name(index), + if index == page_num { + " class=\"current-page\"" + } else { + "" + }, + index + 1 + )?; + } + writeln!(w, "
")?; + writeln!(w, " ")?; + writeln!(w, "")?; + writeln!(w, "") +} + +fn write_file(mut w: W, file: &File, page_num: usize, file_num: usize) -> Result<()> { + writeln!(w, "
")?; + writeln!( + w, + "

{}

", + file_id(page_num, file_num), + encode_safe(file.name()) + )?; + if let File::Modified { old_name, .. } = file { + if file.name() != old_name { + writeln!( + w, + "

Renamed from {}

", + encode_safe(old_name) + )?; + } + } + + for (section_num, section) in file.sections().iter().enumerate() { + writeln!( + w, + "
@@ -{},{} +{},{} @@
", + section.start_line.0, section.start_line.1, section.end_line.0, section.end_line.1 + )?; + if let Some(context_prefix) = §ion.context_prefix { + write_diff_table( + &mut w, + context_prefix, + DiffTableType::Prefix, + page_num, + file_num, + section_num * 10000 + 1, + )?; + } + write_diff_table( + &mut w, + §ion.diff, + DiffTableType::Main, + page_num, + file_num, + section_num * 10000 + 2, + )?; + if let Some(context_suffix) = §ion.context_suffix { + write_diff_table( + &mut w, + context_suffix, + DiffTableType::Suffix, + page_num, + file_num, + section_num * 10000 + 3, + )?; + } + } + writeln!(w, "
")?; + Ok(()) +} + +#[derive(Debug, Eq, PartialEq)] +enum DiffTableType { + Prefix, + Main, + Suffix, +} + +fn write_diff_table( + mut w: W, + lines: &[Line], + typ: DiffTableType, + page_num: usize, + file_num: usize, + table_num: usize, +) -> Result<()> { + let table_id = format!("cd-{page_num}-{file_num}-{table_num}"); + if typ != DiffTableType::Main { + writeln!( + w, + " ", + match typ { + DiffTableType::Prefix => "↥", + DiffTableType::Suffix => "↧", + _ => unreachable!(), + } + )?; + } + writeln!( + w, + " ", + if typ != DiffTableType::Main { + " hidden" + } else { + "" + } + )?; + for line in lines { + write_line(&mut w, line)?; + } + writeln!(w, "
") +} + +fn write_line(mut w: W, line: &Line) -> Result<()> { + write!( + w, + " ", + match line.line_type.as_str() { + "-" => " class=\"lr\"", + "+" => " class=\"la\"", + _ => "", + } + )?; + write!( + w, + "
{:>5}  {:>5}  {}
", + line.source_line_no + .map(|n| n.to_string()) + .unwrap_or_else(|| "".to_string()), + line.target_line_no + .map(|n| n.to_string()) + .unwrap_or_else(|| "".to_string()), + line.line_type + )?; + writeln!( + w, + "
{}
", + encode_safe(&line.value) + ) +} diff --git a/tools/ci-build/difftags/src/main.rs b/tools/ci-build/difftags/src/main.rs new file mode 100644 index 0000000000..8e675ec282 --- /dev/null +++ b/tools/ci-build/difftags/src/main.rs @@ -0,0 +1,90 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +use crate::page::{File, Page, PageTracker}; +use clap::Parser; +use std::fs; +use std::path::PathBuf; +use std::process; +use unidiff::PatchSet; + +mod html; +mod page; + +#[derive(Debug, Parser)] +#[clap(name = "difftags", version)] +#[clap(about = "Diff to HTML conversion tool")] +struct Cli { + /// Directory to output to + #[clap(short, long)] + output_dir: PathBuf, + + /// Diff file to convert to HTML, in unified diff format + input: PathBuf, + + /// Maximum files per page of HTML + #[clap(long, default_value = "15")] + max_files_per_page: usize, + + /// Maximum modified lines per page of HTML + #[clap(long, default_value = "1000")] + max_lines_per_page: usize, + + /// Title to apply to the diff + #[clap(long)] + title: Option, + + /// Optional subtitle to appear under the title + #[clap(long)] + subtitle: Option, +} + +fn main() { + let args = Cli::parse(); + let diff_str = match fs::read_to_string(args.input) { + Ok(diff_str) => diff_str, + Err(err) => { + eprintln!("failed to load the input diff file: {err}"); + process::exit(1) + } + }; + + let mut patch = PatchSet::new(); + if let Err(err) = patch.parse(&diff_str) { + eprintln!("failed to parse the input diff file: {err}"); + process::exit(1) + } + + let mut pages = Vec::new(); + let mut page_tracker = PageTracker::new(args.max_files_per_page, args.max_lines_per_page); + let mut current_page = Page::default(); + for patched_file in patch { + if page_tracker.next_file_is_page_boundary() { + pages.push(current_page); + current_page = Page::default(); + page_tracker.reset(); + } + let file: File = patched_file.into(); + page_tracker.total_modified_lines( + file.sections() + .iter() + .map(|section| { + section + .diff + .iter() + .filter(|line| line.line_type != " ") + .count() + }) + .sum(), + ); + current_page.files.push(file); + } + pages.push(current_page); + + if let Err(err) = html::write_html(&args.output_dir, args.title, args.subtitle, &pages) { + eprintln!("failed to write HTML: {err}"); + process::exit(1) + } +} diff --git a/tools/ci-build/difftags/src/page.rs b/tools/ci-build/difftags/src/page.rs new file mode 100644 index 0000000000..94ab30588c --- /dev/null +++ b/tools/ci-build/difftags/src/page.rs @@ -0,0 +1,316 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +use unidiff::{Hunk, Line, PatchedFile}; + +/// Number of lines before and after the first modified and last modified lines in a diff that will +/// be displayed by default. Lines outside of this range will be hidden by default (but can be shown +/// by clicking a link to expand the context). +const DISPLAYED_CONTEXT_LINES: usize = 10; + +#[derive(Debug, Default)] +pub struct PageTracker { + max_files_per_page: usize, + max_lines_per_page: usize, + files: usize, + lines: usize, +} + +impl PageTracker { + pub fn new(max_files_per_page: usize, max_lines_per_page: usize) -> Self { + Self { + max_files_per_page, + max_lines_per_page, + files: 0, + lines: 0, + } + } + + pub fn next_file_is_page_boundary(&mut self) -> bool { + self.files += 1; + self.files > self.max_files_per_page || self.lines >= self.max_lines_per_page + } + + pub fn total_modified_lines(&mut self, lines: usize) { + self.lines += lines; + } + + pub fn reset(&mut self) { + self.files = 0; + self.lines = 0; + } +} + +#[derive(Debug, Default)] +pub struct Page { + pub files: Vec, +} + +#[derive(Debug)] +pub enum File { + New { + name: String, + sections: Vec
, + }, + Removed { + name: String, + sections: Vec
, + }, + Modified { + old_name: String, + new_name: String, + sections: Vec
, + }, +} + +impl File { + pub fn name(&self) -> &str { + match self { + Self::New { name, .. } => name, + Self::Removed { name, .. } => name, + Self::Modified { new_name, .. } => new_name, + } + } + pub fn sections(&self) -> &[Section] { + match self { + Self::New { sections, .. } => sections.as_ref(), + Self::Removed { sections, .. } => sections.as_ref(), + Self::Modified { sections, .. } => sections.as_ref(), + } + } +} + +impl From for File { + fn from(patched_file: PatchedFile) -> Self { + let sections = patched_file.hunks().iter().map(Section::from).collect(); + let source = patched_file + .source_file + .strip_prefix("a/") + .unwrap_or(&patched_file.source_file); + let target = patched_file + .target_file + .strip_prefix("b/") + .unwrap_or(&patched_file.target_file); + if source == "/dev/null" { + File::New { + name: target.into(), + sections, + } + } else if target == "/dev/null" { + File::Removed { + name: source.into(), + sections, + } + } else { + File::Modified { + old_name: source.into(), + new_name: target.into(), + sections, + } + } + } +} + +#[derive(Debug)] +pub struct Section { + pub start_line: (usize, usize), + pub context_prefix: Option>, + pub diff: Vec, + pub context_suffix: Option>, + pub end_line: (usize, usize), +} + +impl From<&Hunk> for Section { + fn from(hunk: &Hunk) -> Self { + assert!(!hunk.lines().is_empty()); + let mut diff_start = None; + let mut suffix_start = None; + for (index, line) in hunk.lines().iter().enumerate() { + if diff_start.is_none() { + if line.line_type != " " { + diff_start = Some(index); + } + } else if suffix_start.is_some() && line.line_type != " " { + suffix_start = None; + } else if suffix_start.is_none() && line.line_type == " " { + suffix_start = Some(index); + } + } + + let diff_start = diff_start.unwrap().saturating_sub(DISPLAYED_CONTEXT_LINES); + let suffix_start = usize::min( + hunk.lines().len(), + suffix_start + .unwrap_or_else(|| hunk.lines().len()) + .saturating_add(DISPLAYED_CONTEXT_LINES), + ); + + let context_prefix: Vec = (&hunk.lines()[0..diff_start]).into(); + let lines: Vec = (&hunk.lines()[diff_start..suffix_start]).into(); + let context_suffix: Vec = (&hunk.lines()[suffix_start..]).into(); + let end_line = &hunk.lines()[hunk.lines().len() - 1]; + + Self { + start_line: ( + hunk.lines()[0].source_line_no.unwrap_or_default(), + hunk.lines()[0].target_line_no.unwrap_or_default(), + ), + context_prefix: if context_prefix.is_empty() { + None + } else { + Some(context_prefix) + }, + diff: lines, + context_suffix: if context_suffix.is_empty() { + None + } else { + Some(context_suffix) + }, + end_line: ( + end_line.source_line_no.unwrap_or_default(), + end_line.target_line_no.unwrap_or_default(), + ), + } + } +} + +#[cfg(test)] +mod tests { + use super::*; + use unidiff::PatchSet; + + #[test] + fn test_hunk_to_section() { + let diff_str = r#" +diff --git a/some/path/to/file.rs b/some/path/to/file.rs +index 422b64415..9561909ed 100644 +--- a/some/path/to/file.rs ++++ b/some/path/to/file.rs +@@ -1,31 +1,31 @@ + 00 + 01 + 02 + 03 + 04 + 05 + 06 + 07 + 08 + 09 + 10 + 11 + 12 + 13 + 14 +-oops ++15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + "#; + let mut patch = PatchSet::new(); + patch.parse(&diff_str).unwrap(); + + let hunk = &patch.files()[0].hunks()[0]; + let section: Section = hunk.into(); + + assert_eq!((1, 1), section.start_line); + assert_eq!((31, 31), section.end_line); + assert_eq!(5, section.context_prefix.as_ref().unwrap().len()); + assert_eq!(22, section.diff.len()); + assert_eq!( + "05", section.diff[0].value, + "the first line of the diff should be {DISPLAYED_CONTEXT_LINES} lines before the first modified line" + ); + assert_eq!( + "25", section.diff[21].value, + "the last line of the diff should be {DISPLAYED_CONTEXT_LINES} lines after the last modified line" + ); + assert_eq!(5, section.context_suffix.as_ref().unwrap().len()); + assert_eq!("26", section.context_suffix.as_ref().unwrap()[0].value); + assert_eq!("30", section.context_suffix.as_ref().unwrap()[4].value); + + let diff_str = r#" +diff --git a/some/path/to/file.rs b/some/path/to/file.rs +index 422b64415..9561909ed 100644 +--- a/some/path/to/file.rs ++++ b/some/path/to/file.rs +@@ -1,38 +1,36 @@ + 00 + 01 + 02 + 03 + 04 + 05 + 06 + 07 + 08 + 09 + 10 + 11 + 12 + 13 + 14 +-oops ++15 + 16 + 17 + 18 + 19 +-oops1 +-oops2 +-oops3 ++20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 31 + 32 + 33 + 34 + 35 + 36 + "#; + let mut patch = PatchSet::new(); + patch.parse(&diff_str).unwrap(); + + let hunk = &patch.files()[0].hunks()[0]; + let section: Section = hunk.into(); + + assert_eq!((1, 1), section.start_line); + assert_eq!((38, 36), section.end_line); + assert_eq!(5, section.context_prefix.as_ref().unwrap().len()); + assert_eq!(30, section.diff.len()); + assert_eq!( + "05", section.diff[0].value, + "the first line of the diff should be {DISPLAYED_CONTEXT_LINES} lines before the first modified line" + ); + assert_eq!( + "31", section.diff[29].value, + "the last line of the diff should be {DISPLAYED_CONTEXT_LINES} lines after the last modified line" + ); + assert_eq!(5, section.context_suffix.as_ref().unwrap().len()); + assert_eq!("32", section.context_suffix.as_ref().unwrap()[0].value); + assert_eq!("36", section.context_suffix.as_ref().unwrap()[4].value); + } +} diff --git a/tools/publisher/Cargo.lock b/tools/ci-build/publisher/Cargo.lock similarity index 100% rename from tools/publisher/Cargo.lock rename to tools/ci-build/publisher/Cargo.lock diff --git a/tools/publisher/Cargo.toml b/tools/ci-build/publisher/Cargo.toml similarity index 100% rename from tools/publisher/Cargo.toml rename to tools/ci-build/publisher/Cargo.toml diff --git a/tools/publisher/README.md b/tools/ci-build/publisher/README.md similarity index 100% rename from tools/publisher/README.md rename to tools/ci-build/publisher/README.md diff --git a/tools/publisher/fake_cargo/cargo_fails b/tools/ci-build/publisher/fake_cargo/cargo_fails similarity index 100% rename from tools/publisher/fake_cargo/cargo_fails rename to tools/ci-build/publisher/fake_cargo/cargo_fails diff --git a/tools/publisher/fake_cargo/cargo_owner_list b/tools/ci-build/publisher/fake_cargo/cargo_owner_list similarity index 100% rename from tools/publisher/fake_cargo/cargo_owner_list rename to tools/ci-build/publisher/fake_cargo/cargo_owner_list diff --git a/tools/publisher/fake_cargo/cargo_publish_already_published b/tools/ci-build/publisher/fake_cargo/cargo_publish_already_published similarity index 100% rename from tools/publisher/fake_cargo/cargo_publish_already_published rename to tools/ci-build/publisher/fake_cargo/cargo_publish_already_published diff --git a/tools/publisher/fake_cargo/cargo_search_success b/tools/ci-build/publisher/fake_cargo/cargo_search_success similarity index 100% rename from tools/publisher/fake_cargo/cargo_search_success rename to tools/ci-build/publisher/fake_cargo/cargo_search_success diff --git a/tools/publisher/fake_cargo/cargo_success b/tools/ci-build/publisher/fake_cargo/cargo_success similarity index 100% rename from tools/publisher/fake_cargo/cargo_success rename to tools/ci-build/publisher/fake_cargo/cargo_success diff --git a/tools/publisher/fake_cargo/cargo_yank_not_found b/tools/ci-build/publisher/fake_cargo/cargo_yank_not_found similarity index 100% rename from tools/publisher/fake_cargo/cargo_yank_not_found rename to tools/ci-build/publisher/fake_cargo/cargo_yank_not_found diff --git a/tools/publisher/src/cargo.rs b/tools/ci-build/publisher/src/cargo.rs similarity index 100% rename from tools/publisher/src/cargo.rs rename to tools/ci-build/publisher/src/cargo.rs diff --git a/tools/publisher/src/cargo/add_owner.rs b/tools/ci-build/publisher/src/cargo/add_owner.rs similarity index 100% rename from tools/publisher/src/cargo/add_owner.rs rename to tools/ci-build/publisher/src/cargo/add_owner.rs diff --git a/tools/publisher/src/cargo/get_owners.rs b/tools/ci-build/publisher/src/cargo/get_owners.rs similarity index 100% rename from tools/publisher/src/cargo/get_owners.rs rename to tools/ci-build/publisher/src/cargo/get_owners.rs diff --git a/tools/publisher/src/cargo/publish.rs b/tools/ci-build/publisher/src/cargo/publish.rs similarity index 100% rename from tools/publisher/src/cargo/publish.rs rename to tools/ci-build/publisher/src/cargo/publish.rs diff --git a/tools/publisher/src/cargo/remove_owner.rs b/tools/ci-build/publisher/src/cargo/remove_owner.rs similarity index 100% rename from tools/publisher/src/cargo/remove_owner.rs rename to tools/ci-build/publisher/src/cargo/remove_owner.rs diff --git a/tools/publisher/src/cargo/yank.rs b/tools/ci-build/publisher/src/cargo/yank.rs similarity index 100% rename from tools/publisher/src/cargo/yank.rs rename to tools/ci-build/publisher/src/cargo/yank.rs diff --git a/tools/publisher/src/fs.rs b/tools/ci-build/publisher/src/fs.rs similarity index 98% rename from tools/publisher/src/fs.rs rename to tools/ci-build/publisher/src/fs.rs index c2b529c738..1ab53fa778 100644 --- a/tools/publisher/src/fs.rs +++ b/tools/ci-build/publisher/src/fs.rs @@ -9,7 +9,7 @@ use tokio::fs::File; use tokio::io::{AsyncReadExt, AsyncWriteExt}; /// Abstraction of the filesystem to allow for more tests to be added in the future. -#[derive(Clone, Debug)] +#[derive(Clone, Debug, Copy)] pub enum Fs { Real, } diff --git a/tools/publisher/src/lib.rs b/tools/ci-build/publisher/src/lib.rs similarity index 64% rename from tools/publisher/src/lib.rs rename to tools/ci-build/publisher/src/lib.rs index 14d04a0fab..5e677b0a24 100644 --- a/tools/publisher/src/lib.rs +++ b/tools/ci-build/publisher/src/lib.rs @@ -7,12 +7,6 @@ pub const SDK_REPO_CRATE_PATH: &str = "sdk"; pub const SDK_REPO_NAME: &str = "aws-sdk-rust"; pub const SMITHYRS_REPO_NAME: &str = "smithy-rs"; -// https://github.com/orgs/awslabs/teams/smithy-rs-server -pub const SMITHY_RS_SERVER_OWNER: &str = "github:awslabs:smithy-rs-server"; - -// https://github.com/orgs/awslabs/teams/rust-sdk-owners -pub const RUST_SDK_OWNER: &str = "github:awslabs:rust-sdk-owners"; - // https://github.com/aws-sdk-rust-ci pub const RUST_SDK_CI_OWNER: &str = "aws-sdk-rust-ci"; diff --git a/tools/publisher/src/main.rs b/tools/ci-build/publisher/src/main.rs similarity index 81% rename from tools/publisher/src/main.rs rename to tools/ci-build/publisher/src/main.rs index 273601a3c6..176f04a9ce 100644 --- a/tools/publisher/src/main.rs +++ b/tools/ci-build/publisher/src/main.rs @@ -16,6 +16,8 @@ use publisher::subcommand::publish::subcommand_publish; use publisher::subcommand::publish::PublishArgs; use publisher::subcommand::tag_versions_manifest::subcommand_tag_versions_manifest; use publisher::subcommand::tag_versions_manifest::TagVersionsManifestArgs; +use publisher::subcommand::upgrade_runtime_crates_version::subcommand_upgrade_runtime_crates_version; +use publisher::subcommand::upgrade_runtime_crates_version::UpgradeRuntimeCratesVersionArgs; use publisher::subcommand::yank_release::{subcommand_yank_release, YankReleaseArgs}; use tracing_subscriber::fmt::format::FmtSpan; @@ -24,6 +26,11 @@ use tracing_subscriber::fmt::format::FmtSpan; enum Args { /// Fixes path dependencies in manifests to also have version numbers FixManifests(FixManifestsArgs), + /// Upgrade the version of the runtime crates used by the code generator (via `gradle.properties`). + /// + /// The command will fail if you try to perform a downgrade - e.g. change the version from + /// `0.53.1` to `0.52.0` or `0.53.0`. + UpgradeRuntimeCratesVersion(UpgradeRuntimeCratesVersionArgs), /// Publishes crates to crates.io Publish(PublishArgs), /// Publishes an empty library crate to crates.io when a new runtime crate is introduced. @@ -52,6 +59,9 @@ async fn main() -> Result<()> { match Args::parse() { Args::ClaimCrateNames(args) => subcommand_claim_crate_names(&args).await?, + Args::UpgradeRuntimeCratesVersion(args) => { + subcommand_upgrade_runtime_crates_version(&args).await? + } Args::Publish(args) => subcommand_publish(&args).await?, Args::FixManifests(args) => subcommand_fix_manifests(&args).await?, Args::YankRelease(args) => subcommand_yank_release(&args).await?, diff --git a/tools/publisher/src/package.rs b/tools/ci-build/publisher/src/package.rs similarity index 92% rename from tools/publisher/src/package.rs rename to tools/ci-build/publisher/src/package.rs index 903b511ebb..2b0bc90764 100644 --- a/tools/publisher/src/package.rs +++ b/tools/ci-build/publisher/src/package.rs @@ -7,7 +7,7 @@ use crate::fs::Fs; use crate::sort::dependency_order; -use crate::{RUST_SDK_CI_OWNER, RUST_SDK_OWNER, SMITHY_RS_SERVER_OWNER}; +use crate::RUST_SDK_CI_OWNER; use anyhow::{Context, Result}; use cargo_toml::{Dependency, DepsSet, Manifest}; use semver::Version; @@ -95,23 +95,11 @@ impl Package { } /// Returns the expected owners of the crate. -pub fn expected_package_owners(category: &PackageCategory, package_name: &str) -> HashSet { - let mut ret = HashSet::new(); - - // Crate ownership for SDK crates. Crates.io requires that at least one owner - // is an individual rather than a team, so we use the automation user for that. - ret.insert(String::from(RUST_SDK_CI_OWNER)); - - if category.is_sdk() { - ret.insert(String::from(RUST_SDK_OWNER)); - } else if package_name.starts_with("aws-smithy-http-server") { - ret.insert(String::from(SMITHY_RS_SERVER_OWNER)); - } else { - ret.insert(String::from(RUST_SDK_OWNER)); - ret.insert(String::from(SMITHY_RS_SERVER_OWNER)); - } - - ret +pub fn expected_package_owners( + _category: &PackageCategory, + _package_name: &str, +) -> HashSet { + [RUST_SDK_CI_OWNER.to_string()].into_iter().collect() } /// Batch of packages. @@ -536,12 +524,9 @@ mod tests { ]; for pkg in server_packages { assert_eq!( - [ - String::from("github:awslabs:smithy-rs-server"), - String::from("aws-sdk-rust-ci") - ] - .into_iter() - .collect::>(), + [String::from("aws-sdk-rust-ci")] + .into_iter() + .collect::>(), pkg.expected_owners() ); } @@ -551,12 +536,9 @@ mod tests { fn test_expected_package_owners_sdk_crate() { let sdk_package = package("aws-types", &[]); assert_eq!( - [ - String::from("github:awslabs:rust-sdk-owners"), - String::from("aws-sdk-rust-ci") - ] - .into_iter() - .collect::>(), + [String::from("aws-sdk-rust-ci")] + .into_iter() + .collect::>(), sdk_package.expected_owners() ); } @@ -565,13 +547,9 @@ mod tests { fn test_expected_package_owners_smithy_runtime_crate() { let smithy_runtime_package = package("aws-smithy-types", &[]); assert_eq!( - [ - String::from("github:awslabs:smithy-rs-server"), - String::from("github:awslabs:rust-sdk-owners"), - String::from("aws-sdk-rust-ci") - ] - .into_iter() - .collect::>(), + [String::from("aws-sdk-rust-ci")] + .into_iter() + .collect::>(), smithy_runtime_package.expected_owners() ); } diff --git a/tools/publisher/src/publish.rs b/tools/ci-build/publisher/src/publish.rs similarity index 100% rename from tools/publisher/src/publish.rs rename to tools/ci-build/publisher/src/publish.rs diff --git a/tools/publisher/src/retry.rs b/tools/ci-build/publisher/src/retry.rs similarity index 100% rename from tools/publisher/src/retry.rs rename to tools/ci-build/publisher/src/retry.rs diff --git a/tools/publisher/src/sort.rs b/tools/ci-build/publisher/src/sort.rs similarity index 100% rename from tools/publisher/src/sort.rs rename to tools/ci-build/publisher/src/sort.rs diff --git a/tools/publisher/src/subcommand/claim_crate_names.rs b/tools/ci-build/publisher/src/subcommand/claim_crate_names.rs similarity index 100% rename from tools/publisher/src/subcommand/claim_crate_names.rs rename to tools/ci-build/publisher/src/subcommand/claim_crate_names.rs diff --git a/tools/publisher/src/subcommand/fix_manifests.rs b/tools/ci-build/publisher/src/subcommand/fix_manifests.rs similarity index 100% rename from tools/publisher/src/subcommand/fix_manifests.rs rename to tools/ci-build/publisher/src/subcommand/fix_manifests.rs diff --git a/tools/publisher/src/subcommand/fix_manifests/validate.rs b/tools/ci-build/publisher/src/subcommand/fix_manifests/validate.rs similarity index 100% rename from tools/publisher/src/subcommand/fix_manifests/validate.rs rename to tools/ci-build/publisher/src/subcommand/fix_manifests/validate.rs diff --git a/tools/publisher/src/subcommand/generate_version_manifest.rs b/tools/ci-build/publisher/src/subcommand/generate_version_manifest.rs similarity index 90% rename from tools/publisher/src/subcommand/generate_version_manifest.rs rename to tools/ci-build/publisher/src/subcommand/generate_version_manifest.rs index be2d791599..719cb167f7 100644 --- a/tools/publisher/src/subcommand/generate_version_manifest.rs +++ b/tools/ci-build/publisher/src/subcommand/generate_version_manifest.rs @@ -142,16 +142,6 @@ fn find_released_versions( if let Some(unrecent_version) = unrecent_versions.crates.get(crate_name) { let unrecent_version = parse_version(crate_name, &unrecent_version.version)?; if unrecent_version != recent_version { - // Sanity check: version numbers shouldn't decrease - if unrecent_version > recent_version { - bail!( - "Version number for `{}` decreased between releases (from `{}` to `{}`)", - crate_name, - unrecent_version, - recent_version - ); - } - // If the crate is in both version manifests with differing version // numbers, then it is part of the release released_versions.insert(crate_name.clone(), recent_version.to_string()); @@ -318,35 +308,6 @@ mod tests { assert!(result.is_ok()); } - #[test] - fn test_find_released_versions_decreased_version_number_sanity_check() { - let result = find_released_versions( - &fake_manifest( - &[ - ("aws-config", "0.11.0"), - ("aws-sdk-s3", "0.13.0"), - ("aws-sdk-dynamodb", "0.12.0"), - ], - None, - ), - &fake_manifest( - &[ - ("aws-config", "0.11.0"), - ("aws-sdk-s3", "0.12.0"), // oops, S3 went backwards - ("aws-sdk-dynamodb", "0.12.0"), - ], - None, - ), - ); - assert!(result.is_err()); - let error = format!("{}", result.err().unwrap()); - assert!( - error.starts_with("Version number for `aws-sdk-s3` decreased"), - "Unexpected error: {}", - error - ); - } - #[test] fn test_find_released_versions() { let result = find_released_versions( diff --git a/tools/publisher/src/subcommand/hydrate_readme.rs b/tools/ci-build/publisher/src/subcommand/hydrate_readme.rs similarity index 100% rename from tools/publisher/src/subcommand/hydrate_readme.rs rename to tools/ci-build/publisher/src/subcommand/hydrate_readme.rs diff --git a/tools/publisher/src/subcommand/mod.rs b/tools/ci-build/publisher/src/subcommand/mod.rs similarity index 88% rename from tools/publisher/src/subcommand/mod.rs rename to tools/ci-build/publisher/src/subcommand/mod.rs index 9462cf58ca..256993e7b0 100644 --- a/tools/publisher/src/subcommand/mod.rs +++ b/tools/ci-build/publisher/src/subcommand/mod.rs @@ -9,4 +9,5 @@ pub mod generate_version_manifest; pub mod hydrate_readme; pub mod publish; pub mod tag_versions_manifest; +pub mod upgrade_runtime_crates_version; pub mod yank_release; diff --git a/tools/publisher/src/subcommand/publish.rs b/tools/ci-build/publisher/src/subcommand/publish.rs similarity index 100% rename from tools/publisher/src/subcommand/publish.rs rename to tools/ci-build/publisher/src/subcommand/publish.rs diff --git a/tools/publisher/src/subcommand/tag_versions_manifest.rs b/tools/ci-build/publisher/src/subcommand/tag_versions_manifest.rs similarity index 100% rename from tools/publisher/src/subcommand/tag_versions_manifest.rs rename to tools/ci-build/publisher/src/subcommand/tag_versions_manifest.rs diff --git a/tools/ci-build/publisher/src/subcommand/upgrade_runtime_crates_version.rs b/tools/ci-build/publisher/src/subcommand/upgrade_runtime_crates_version.rs new file mode 100644 index 0000000000..0bf17e3c01 --- /dev/null +++ b/tools/ci-build/publisher/src/subcommand/upgrade_runtime_crates_version.rs @@ -0,0 +1,75 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +use crate::fs::Fs; +use anyhow::{anyhow, bail, Context}; +use clap::Parser; +use regex::Regex; +use std::path::{Path, PathBuf}; + +#[derive(Parser, Debug)] +pub struct UpgradeRuntimeCratesVersionArgs { + /// The version of runtime crates you want the code generator to use (e.g. `0.52.0`). + #[clap(long)] + version: String, + /// The path to the `gradle.properties` file. It will default to `gradle.properties` if + /// left unspecified. + #[clap(long, default_value = "gradle.properties")] + gradle_properties_path: PathBuf, +} + +pub async fn subcommand_upgrade_runtime_crates_version( + args: &UpgradeRuntimeCratesVersionArgs, +) -> Result<(), anyhow::Error> { + let upgraded_version = semver::Version::parse(args.version.as_str()) + .with_context(|| format!("{} is not a valid semver version", &args.version))?; + let fs = Fs::Real; + let gradle_properties = read_gradle_properties(fs, &args.gradle_properties_path).await?; + let version_regex = + Regex::new(r"(?Psmithy\.rs\.runtime\.crate\.version=)(?P\d+\.\d+\.\d+-.*)") + .unwrap(); + let current_version = version_regex.captures(&gradle_properties).ok_or_else(|| { + anyhow!( + "Failed to extract the expected runtime crates version from `{:?}`", + &args.gradle_properties_path + ) + })?; + let current_version = current_version.name("version").unwrap(); + let current_version = semver::Version::parse(current_version.as_str()) + .with_context(|| format!("{} is not a valid semver version", current_version.as_str()))?; + if current_version > upgraded_version + // Special version tag used on the `main` branch + && current_version != semver::Version::parse("0.0.0-smithy-rs-head").unwrap() + { + bail!("Moving from {current_version} to {upgraded_version} would be a *downgrade*. This command doesn't allow it!"); + } + let updated_gradle_properties = version_regex.replace( + &gradle_properties, + format!("${{field}}{}", upgraded_version), + ); + update_gradle_properties( + fs, + &args.gradle_properties_path, + updated_gradle_properties.as_ref(), + ) + .await?; + Ok(()) +} + +async fn read_gradle_properties(fs: Fs, path: &Path) -> Result { + let bytes = fs.read_file(path).await?; + let contents = String::from_utf8(bytes) + .with_context(|| format!("`{:?}` contained non-UTF8 data", path))?; + Ok(contents) +} + +async fn update_gradle_properties( + fs: Fs, + path: &Path, + contents: &str, +) -> Result<(), anyhow::Error> { + fs.write_file(path, contents.as_bytes()).await?; + Ok(()) +} diff --git a/tools/publisher/src/subcommand/yank_release.rs b/tools/ci-build/publisher/src/subcommand/yank_release.rs similarity index 100% rename from tools/publisher/src/subcommand/yank_release.rs rename to tools/ci-build/publisher/src/subcommand/yank_release.rs diff --git a/tools/publisher/tests/hydrate_readme_e2e_test.rs b/tools/ci-build/publisher/tests/hydrate_readme_e2e_test.rs similarity index 100% rename from tools/publisher/tests/hydrate_readme_e2e_test.rs rename to tools/ci-build/publisher/tests/hydrate_readme_e2e_test.rs diff --git a/tools/ci-build/scripts/sanity-test b/tools/ci-build/sanity-test similarity index 90% rename from tools/ci-build/scripts/sanity-test rename to tools/ci-build/sanity-test index c46c1931f1..8cd77e925a 100755 --- a/tools/ci-build/scripts/sanity-test +++ b/tools/ci-build/sanity-test @@ -9,10 +9,9 @@ set -eux cargo --version changelogger --version crate-hasher --version -diff2html --version +difftags --version git --version java --version -node --version publisher --version python3 --version rustc +"${RUST_NIGHTLY_VERSION}" --version diff --git a/tools/ci-build/scripts/check-aws-sdk-services b/tools/ci-build/scripts/check-aws-sdk-services deleted file mode 100755 index a65c932dda..0000000000 --- a/tools/ci-build/scripts/check-aws-sdk-services +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash -# -# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -# SPDX-License-Identifier: Apache-2.0 -# - -set -eux -cd aws-sdk - -# Remove examples from workspace -sed -i '/"examples\//d' Cargo.toml - -cargo check diff --git a/tools/sdk-lints/Cargo.lock b/tools/ci-build/sdk-lints/Cargo.lock similarity index 100% rename from tools/sdk-lints/Cargo.lock rename to tools/ci-build/sdk-lints/Cargo.lock diff --git a/tools/sdk-lints/Cargo.toml b/tools/ci-build/sdk-lints/Cargo.toml similarity index 100% rename from tools/sdk-lints/Cargo.toml rename to tools/ci-build/sdk-lints/Cargo.toml diff --git a/tools/sdk-lints/src/anchor.rs b/tools/ci-build/sdk-lints/src/anchor.rs similarity index 100% rename from tools/sdk-lints/src/anchor.rs rename to tools/ci-build/sdk-lints/src/anchor.rs diff --git a/tools/sdk-lints/src/changelog.rs b/tools/ci-build/sdk-lints/src/changelog.rs similarity index 100% rename from tools/sdk-lints/src/changelog.rs rename to tools/ci-build/sdk-lints/src/changelog.rs diff --git a/tools/sdk-lints/src/copyright.rs b/tools/ci-build/sdk-lints/src/copyright.rs similarity index 100% rename from tools/sdk-lints/src/copyright.rs rename to tools/ci-build/sdk-lints/src/copyright.rs diff --git a/tools/sdk-lints/src/lint.rs b/tools/ci-build/sdk-lints/src/lint.rs similarity index 100% rename from tools/sdk-lints/src/lint.rs rename to tools/ci-build/sdk-lints/src/lint.rs diff --git a/tools/sdk-lints/src/lint_cargo_toml.rs b/tools/ci-build/sdk-lints/src/lint_cargo_toml.rs similarity index 100% rename from tools/sdk-lints/src/lint_cargo_toml.rs rename to tools/ci-build/sdk-lints/src/lint_cargo_toml.rs diff --git a/tools/sdk-lints/src/main.rs b/tools/ci-build/sdk-lints/src/main.rs similarity index 100% rename from tools/sdk-lints/src/main.rs rename to tools/ci-build/sdk-lints/src/main.rs diff --git a/tools/sdk-lints/src/readmes.rs b/tools/ci-build/sdk-lints/src/readmes.rs similarity index 100% rename from tools/sdk-lints/src/readmes.rs rename to tools/ci-build/sdk-lints/src/readmes.rs diff --git a/tools/sdk-lints/src/todos.rs b/tools/ci-build/sdk-lints/src/todos.rs similarity index 97% rename from tools/sdk-lints/src/todos.rs rename to tools/ci-build/sdk-lints/src/todos.rs index b1f59ca0a6..06cc50db3f 100644 --- a/tools/sdk-lints/src/todos.rs +++ b/tools/ci-build/sdk-lints/src/todos.rs @@ -11,7 +11,7 @@ use std::path::{Path, PathBuf}; // All "TODOs" must include (...) that gives them context pub(crate) struct TodosHaveContext; -const IGNORE_DIRS: &[&str] = &["tools/sdk-lints/src/todos.rs"]; +const IGNORE_DIRS: &[&str] = &["tools/ci-build/sdk-lints/src/todos.rs"]; impl Lint for TodosHaveContext { fn name(&self) -> &str { diff --git a/tools/sdk-versioner/Cargo.lock b/tools/ci-build/sdk-versioner/Cargo.lock similarity index 100% rename from tools/sdk-versioner/Cargo.lock rename to tools/ci-build/sdk-versioner/Cargo.lock diff --git a/tools/sdk-versioner/Cargo.toml b/tools/ci-build/sdk-versioner/Cargo.toml similarity index 100% rename from tools/sdk-versioner/Cargo.toml rename to tools/ci-build/sdk-versioner/Cargo.toml diff --git a/tools/sdk-versioner/README.md b/tools/ci-build/sdk-versioner/README.md similarity index 100% rename from tools/sdk-versioner/README.md rename to tools/ci-build/sdk-versioner/README.md diff --git a/tools/sdk-versioner/src/main.rs b/tools/ci-build/sdk-versioner/src/main.rs similarity index 100% rename from tools/sdk-versioner/src/main.rs rename to tools/ci-build/sdk-versioner/src/main.rs diff --git a/tools/smithy-rs-tool-common/.gitignore b/tools/ci-build/smithy-rs-tool-common/.gitignore similarity index 100% rename from tools/smithy-rs-tool-common/.gitignore rename to tools/ci-build/smithy-rs-tool-common/.gitignore diff --git a/tools/smithy-rs-tool-common/Cargo.toml b/tools/ci-build/smithy-rs-tool-common/Cargo.toml similarity index 100% rename from tools/smithy-rs-tool-common/Cargo.toml rename to tools/ci-build/smithy-rs-tool-common/Cargo.toml diff --git a/tools/smithy-rs-tool-common/fake-cli/git-changed-files b/tools/ci-build/smithy-rs-tool-common/fake-cli/git-changed-files similarity index 100% rename from tools/smithy-rs-tool-common/fake-cli/git-changed-files rename to tools/ci-build/smithy-rs-tool-common/fake-cli/git-changed-files diff --git a/tools/smithy-rs-tool-common/fake-cli/git-changed-files-empty b/tools/ci-build/smithy-rs-tool-common/fake-cli/git-changed-files-empty similarity index 100% rename from tools/smithy-rs-tool-common/fake-cli/git-changed-files-empty rename to tools/ci-build/smithy-rs-tool-common/fake-cli/git-changed-files-empty diff --git a/tools/smithy-rs-tool-common/fake-cli/git-clone b/tools/ci-build/smithy-rs-tool-common/fake-cli/git-clone similarity index 100% rename from tools/smithy-rs-tool-common/fake-cli/git-clone rename to tools/ci-build/smithy-rs-tool-common/fake-cli/git-clone diff --git a/tools/smithy-rs-tool-common/fake-cli/git-commit b/tools/ci-build/smithy-rs-tool-common/fake-cli/git-commit similarity index 100% rename from tools/smithy-rs-tool-common/fake-cli/git-commit rename to tools/ci-build/smithy-rs-tool-common/fake-cli/git-commit diff --git a/tools/smithy-rs-tool-common/fake-cli/git-commit-on-behalf b/tools/ci-build/smithy-rs-tool-common/fake-cli/git-commit-on-behalf similarity index 100% rename from tools/smithy-rs-tool-common/fake-cli/git-commit-on-behalf rename to tools/ci-build/smithy-rs-tool-common/fake-cli/git-commit-on-behalf diff --git a/tools/smithy-rs-tool-common/fake-cli/git-create-branch b/tools/ci-build/smithy-rs-tool-common/fake-cli/git-create-branch similarity index 100% rename from tools/smithy-rs-tool-common/fake-cli/git-create-branch rename to tools/ci-build/smithy-rs-tool-common/fake-cli/git-create-branch diff --git a/tools/smithy-rs-tool-common/fake-cli/git-current-branch-name b/tools/ci-build/smithy-rs-tool-common/fake-cli/git-current-branch-name similarity index 100% rename from tools/smithy-rs-tool-common/fake-cli/git-current-branch-name rename to tools/ci-build/smithy-rs-tool-common/fake-cli/git-current-branch-name diff --git a/tools/smithy-rs-tool-common/fake-cli/git-delete-branch b/tools/ci-build/smithy-rs-tool-common/fake-cli/git-delete-branch similarity index 100% rename from tools/smithy-rs-tool-common/fake-cli/git-delete-branch rename to tools/ci-build/smithy-rs-tool-common/fake-cli/git-delete-branch diff --git a/tools/smithy-rs-tool-common/fake-cli/git-extract-commit-info b/tools/ci-build/smithy-rs-tool-common/fake-cli/git-extract-commit-info similarity index 100% rename from tools/smithy-rs-tool-common/fake-cli/git-extract-commit-info rename to tools/ci-build/smithy-rs-tool-common/fake-cli/git-extract-commit-info diff --git a/tools/smithy-rs-tool-common/fake-cli/git-get-head-revision b/tools/ci-build/smithy-rs-tool-common/fake-cli/git-get-head-revision similarity index 100% rename from tools/smithy-rs-tool-common/fake-cli/git-get-head-revision rename to tools/ci-build/smithy-rs-tool-common/fake-cli/git-get-head-revision diff --git a/tools/smithy-rs-tool-common/fake-cli/git-reset-hard b/tools/ci-build/smithy-rs-tool-common/fake-cli/git-reset-hard similarity index 100% rename from tools/smithy-rs-tool-common/fake-cli/git-reset-hard rename to tools/ci-build/smithy-rs-tool-common/fake-cli/git-reset-hard diff --git a/tools/smithy-rs-tool-common/fake-cli/git-rev-list b/tools/ci-build/smithy-rs-tool-common/fake-cli/git-rev-list similarity index 100% rename from tools/smithy-rs-tool-common/fake-cli/git-rev-list rename to tools/ci-build/smithy-rs-tool-common/fake-cli/git-rev-list diff --git a/tools/smithy-rs-tool-common/fake-cli/git-rev-list-path b/tools/ci-build/smithy-rs-tool-common/fake-cli/git-rev-list-path similarity index 100% rename from tools/smithy-rs-tool-common/fake-cli/git-rev-list-path rename to tools/ci-build/smithy-rs-tool-common/fake-cli/git-rev-list-path diff --git a/tools/smithy-rs-tool-common/fake-cli/git-show b/tools/ci-build/smithy-rs-tool-common/fake-cli/git-show similarity index 100% rename from tools/smithy-rs-tool-common/fake-cli/git-show rename to tools/ci-build/smithy-rs-tool-common/fake-cli/git-show diff --git a/tools/smithy-rs-tool-common/fake-cli/git-squash-merge b/tools/ci-build/smithy-rs-tool-common/fake-cli/git-squash-merge similarity index 100% rename from tools/smithy-rs-tool-common/fake-cli/git-squash-merge rename to tools/ci-build/smithy-rs-tool-common/fake-cli/git-squash-merge diff --git a/tools/smithy-rs-tool-common/fake-cli/git-stage b/tools/ci-build/smithy-rs-tool-common/fake-cli/git-stage similarity index 100% rename from tools/smithy-rs-tool-common/fake-cli/git-stage rename to tools/ci-build/smithy-rs-tool-common/fake-cli/git-stage diff --git a/tools/smithy-rs-tool-common/fake-cli/git-untracked-files b/tools/ci-build/smithy-rs-tool-common/fake-cli/git-untracked-files similarity index 100% rename from tools/smithy-rs-tool-common/fake-cli/git-untracked-files rename to tools/ci-build/smithy-rs-tool-common/fake-cli/git-untracked-files diff --git a/tools/smithy-rs-tool-common/fake-cli/git-untracked-files-empty b/tools/ci-build/smithy-rs-tool-common/fake-cli/git-untracked-files-empty similarity index 100% rename from tools/smithy-rs-tool-common/fake-cli/git-untracked-files-empty rename to tools/ci-build/smithy-rs-tool-common/fake-cli/git-untracked-files-empty diff --git a/tools/smithy-rs-tool-common/src/changelog.rs b/tools/ci-build/smithy-rs-tool-common/src/changelog.rs similarity index 100% rename from tools/smithy-rs-tool-common/src/changelog.rs rename to tools/ci-build/smithy-rs-tool-common/src/changelog.rs diff --git a/tools/smithy-rs-tool-common/src/ci.rs b/tools/ci-build/smithy-rs-tool-common/src/ci.rs similarity index 100% rename from tools/smithy-rs-tool-common/src/ci.rs rename to tools/ci-build/smithy-rs-tool-common/src/ci.rs diff --git a/tools/smithy-rs-tool-common/src/git.rs b/tools/ci-build/smithy-rs-tool-common/src/git.rs similarity index 100% rename from tools/smithy-rs-tool-common/src/git.rs rename to tools/ci-build/smithy-rs-tool-common/src/git.rs diff --git a/tools/smithy-rs-tool-common/src/git/get_current_tag.rs b/tools/ci-build/smithy-rs-tool-common/src/git/get_current_tag.rs similarity index 100% rename from tools/smithy-rs-tool-common/src/git/get_current_tag.rs rename to tools/ci-build/smithy-rs-tool-common/src/git/get_current_tag.rs diff --git a/tools/smithy-rs-tool-common/src/git/get_last_commit.rs b/tools/ci-build/smithy-rs-tool-common/src/git/get_last_commit.rs similarity index 100% rename from tools/smithy-rs-tool-common/src/git/get_last_commit.rs rename to tools/ci-build/smithy-rs-tool-common/src/git/get_last_commit.rs diff --git a/tools/smithy-rs-tool-common/src/git/reset.rs b/tools/ci-build/smithy-rs-tool-common/src/git/reset.rs similarity index 100% rename from tools/smithy-rs-tool-common/src/git/reset.rs rename to tools/ci-build/smithy-rs-tool-common/src/git/reset.rs diff --git a/tools/smithy-rs-tool-common/src/lib.rs b/tools/ci-build/smithy-rs-tool-common/src/lib.rs similarity index 100% rename from tools/smithy-rs-tool-common/src/lib.rs rename to tools/ci-build/smithy-rs-tool-common/src/lib.rs diff --git a/tools/smithy-rs-tool-common/src/macros.rs b/tools/ci-build/smithy-rs-tool-common/src/macros.rs similarity index 100% rename from tools/smithy-rs-tool-common/src/macros.rs rename to tools/ci-build/smithy-rs-tool-common/src/macros.rs diff --git a/tools/smithy-rs-tool-common/src/package.rs b/tools/ci-build/smithy-rs-tool-common/src/package.rs similarity index 100% rename from tools/smithy-rs-tool-common/src/package.rs rename to tools/ci-build/smithy-rs-tool-common/src/package.rs diff --git a/tools/smithy-rs-tool-common/src/release_tag.rs b/tools/ci-build/smithy-rs-tool-common/src/release_tag.rs similarity index 100% rename from tools/smithy-rs-tool-common/src/release_tag.rs rename to tools/ci-build/smithy-rs-tool-common/src/release_tag.rs diff --git a/tools/smithy-rs-tool-common/src/shell.rs b/tools/ci-build/smithy-rs-tool-common/src/shell.rs similarity index 100% rename from tools/smithy-rs-tool-common/src/shell.rs rename to tools/ci-build/smithy-rs-tool-common/src/shell.rs diff --git a/tools/smithy-rs-tool-common/src/versions_manifest.rs b/tools/ci-build/smithy-rs-tool-common/src/versions_manifest.rs similarity index 100% rename from tools/smithy-rs-tool-common/src/versions_manifest.rs rename to tools/ci-build/smithy-rs-tool-common/src/versions_manifest.rs diff --git a/tools/ci-cdk/canary-runner/Cargo.toml b/tools/ci-cdk/canary-runner/Cargo.toml index d5914877c9..aaa0872a0c 100644 --- a/tools/ci-cdk/canary-runner/Cargo.toml +++ b/tools/ci-cdk/canary-runner/Cargo.toml @@ -26,7 +26,7 @@ semver = "1" serde = { version = "1", features = ["derive"] } serde_json = "1" sha1 = "0.10.1" -smithy-rs-tool-common = { version = "0.1", path = "../../smithy-rs-tool-common", features = ["async-shell"] } +smithy-rs-tool-common = { version = "0.1", path = "../../ci-build/smithy-rs-tool-common", features = ["async-shell"] } tokio = { version = "1.20.1", features = ["full"] } tracing = "0.1" tracing-subscriber = { version = "0.3.15", features = ["env-filter", "fmt"] } diff --git a/tools/additional-per-crate-checks.sh b/tools/ci-scripts/additional-per-crate-checks.sh similarity index 100% rename from tools/additional-per-crate-checks.sh rename to tools/ci-scripts/additional-per-crate-checks.sh diff --git a/tools/ci-build/scripts/check-aws-config b/tools/ci-scripts/check-aws-config similarity index 100% rename from tools/ci-build/scripts/check-aws-config rename to tools/ci-scripts/check-aws-config diff --git a/tools/ci-build/scripts/check-aws-sdk-adhoc-tests b/tools/ci-scripts/check-aws-sdk-adhoc-tests similarity index 100% rename from tools/ci-build/scripts/check-aws-sdk-adhoc-tests rename to tools/ci-scripts/check-aws-sdk-adhoc-tests diff --git a/tools/ci-build/scripts/check-aws-sdk-canary b/tools/ci-scripts/check-aws-sdk-canary similarity index 100% rename from tools/ci-build/scripts/check-aws-sdk-canary rename to tools/ci-scripts/check-aws-sdk-canary diff --git a/tools/ci-build/scripts/check-aws-sdk-cargo-deny b/tools/ci-scripts/check-aws-sdk-cargo-deny similarity index 100% rename from tools/ci-build/scripts/check-aws-sdk-cargo-deny rename to tools/ci-scripts/check-aws-sdk-cargo-deny diff --git a/tools/ci-build/scripts/check-aws-sdk-examples b/tools/ci-scripts/check-aws-sdk-examples similarity index 100% rename from tools/ci-build/scripts/check-aws-sdk-examples rename to tools/ci-scripts/check-aws-sdk-examples diff --git a/tools/ci-scripts/check-aws-sdk-services b/tools/ci-scripts/check-aws-sdk-services new file mode 100755 index 0000000000..a440c98f83 --- /dev/null +++ b/tools/ci-scripts/check-aws-sdk-services @@ -0,0 +1,20 @@ +#!/bin/bash +# +# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +# SPDX-License-Identifier: Apache-2.0 +# + +set -eux +cd aws-sdk + +# Remove examples from workspace +sed -i '/"examples\//d' Cargo.toml + +cargo test --all-features + +for test_dir in tests/*; do + if [ -f "${test_dir}/Cargo.toml" ]; then + echo "#### Testing ${test_dir}..." + cargo test --all-features --manifest-path "${test_dir}/Cargo.toml" + fi +done diff --git a/tools/ci-build/scripts/check-aws-sdk-smoketest-docs-clippy-udeps b/tools/ci-scripts/check-aws-sdk-smoketest-docs-clippy-udeps similarity index 100% rename from tools/ci-build/scripts/check-aws-sdk-smoketest-docs-clippy-udeps rename to tools/ci-scripts/check-aws-sdk-smoketest-docs-clippy-udeps diff --git a/tools/ci-build/scripts/check-aws-sdk-smoketest-unit-tests b/tools/ci-scripts/check-aws-sdk-smoketest-unit-tests similarity index 100% rename from tools/ci-build/scripts/check-aws-sdk-smoketest-unit-tests rename to tools/ci-scripts/check-aws-sdk-smoketest-unit-tests diff --git a/tools/ci-build/scripts/check-aws-sdk-standalone-integration-tests b/tools/ci-scripts/check-aws-sdk-standalone-integration-tests similarity index 100% rename from tools/ci-build/scripts/check-aws-sdk-standalone-integration-tests rename to tools/ci-scripts/check-aws-sdk-standalone-integration-tests diff --git a/tools/ci-build/scripts/check-client-codegen-integration-tests b/tools/ci-scripts/check-client-codegen-integration-tests similarity index 100% rename from tools/ci-build/scripts/check-client-codegen-integration-tests rename to tools/ci-scripts/check-client-codegen-integration-tests diff --git a/tools/ci-build/scripts/check-client-codegen-unit-tests b/tools/ci-scripts/check-client-codegen-unit-tests similarity index 100% rename from tools/ci-build/scripts/check-client-codegen-unit-tests rename to tools/ci-scripts/check-client-codegen-unit-tests diff --git a/tools/ci-build/scripts/check-core-codegen-unit-tests b/tools/ci-scripts/check-core-codegen-unit-tests similarity index 100% rename from tools/ci-build/scripts/check-core-codegen-unit-tests rename to tools/ci-scripts/check-core-codegen-unit-tests diff --git a/tools/ci-scripts/check-only-aws-sdk-services b/tools/ci-scripts/check-only-aws-sdk-services new file mode 100755 index 0000000000..27c93ea479 --- /dev/null +++ b/tools/ci-scripts/check-only-aws-sdk-services @@ -0,0 +1,22 @@ +#!/bin/bash +# +# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +# SPDX-License-Identifier: Apache-2.0 +# + +# this job runs `cargo check` only instead of `cargo test --all-features` + +set -eux +cd aws-sdk + +# Remove examples from workspace +sed -i '/"examples\//d' Cargo.toml + +cargo check --all-targets --all-features + +for test_dir in tests/*; do + if [ -f "${test_dir}/Cargo.toml" ]; then + echo "#### Checking ${test_dir}..." + cargo check --all-targets --all-features --manifest-path "${test_dir}/Cargo.toml" + fi +done diff --git a/tools/ci-build/scripts/check-rust-runtimes b/tools/ci-scripts/check-rust-runtimes similarity index 96% rename from tools/ci-build/scripts/check-rust-runtimes rename to tools/ci-scripts/check-rust-runtimes index 9b3a4a88de..034fc35d8e 100755 --- a/tools/ci-build/scripts/check-rust-runtimes +++ b/tools/ci-scripts/check-rust-runtimes @@ -45,5 +45,5 @@ do popd &>/dev/null echo -e "${C_YELLOW}Running additional per-crate checks for ${runtime_path}...${C_RESET}" - ./tools/additional-per-crate-checks.sh "${runtime_path}" + ./tools/ci-scripts/additional-per-crate-checks.sh "${runtime_path}" done diff --git a/tools/ci-build/scripts/check-sdk-codegen-unit-tests b/tools/ci-scripts/check-sdk-codegen-unit-tests similarity index 100% rename from tools/ci-build/scripts/check-sdk-codegen-unit-tests rename to tools/ci-scripts/check-sdk-codegen-unit-tests diff --git a/tools/ci-build/scripts/check-server-codegen-integration-tests b/tools/ci-scripts/check-server-codegen-integration-tests similarity index 100% rename from tools/ci-build/scripts/check-server-codegen-integration-tests rename to tools/ci-scripts/check-server-codegen-integration-tests diff --git a/tools/ci-build/scripts/check-server-codegen-integration-tests-python b/tools/ci-scripts/check-server-codegen-integration-tests-python similarity index 100% rename from tools/ci-build/scripts/check-server-codegen-integration-tests-python rename to tools/ci-scripts/check-server-codegen-integration-tests-python diff --git a/tools/ci-build/scripts/check-server-codegen-unit-tests b/tools/ci-scripts/check-server-codegen-unit-tests similarity index 100% rename from tools/ci-build/scripts/check-server-codegen-unit-tests rename to tools/ci-scripts/check-server-codegen-unit-tests diff --git a/tools/ci-build/scripts/check-server-codegen-unit-tests-python b/tools/ci-scripts/check-server-codegen-unit-tests-python similarity index 100% rename from tools/ci-build/scripts/check-server-codegen-unit-tests-python rename to tools/ci-scripts/check-server-codegen-unit-tests-python diff --git a/tools/ci-build/scripts/check-server-e2e-test b/tools/ci-scripts/check-server-e2e-test similarity index 100% rename from tools/ci-build/scripts/check-server-e2e-test rename to tools/ci-scripts/check-server-e2e-test diff --git a/tools/ci-build/scripts/check-server-python-e2e-test b/tools/ci-scripts/check-server-python-e2e-test similarity index 100% rename from tools/ci-build/scripts/check-server-python-e2e-test rename to tools/ci-scripts/check-server-python-e2e-test diff --git a/tools/ci-build/scripts/check-style-and-lints b/tools/ci-scripts/check-style-and-lints similarity index 100% rename from tools/ci-build/scripts/check-style-and-lints rename to tools/ci-scripts/check-style-and-lints diff --git a/tools/ci-build/scripts/check-tools b/tools/ci-scripts/check-tools similarity index 56% rename from tools/ci-build/scripts/check-tools rename to tools/ci-scripts/check-tools index 9ba309eeab..afcbce9083 100755 --- a/tools/ci-build/scripts/check-tools +++ b/tools/ci-scripts/check-tools @@ -22,13 +22,14 @@ function test_tool { popd &>/dev/null } -test_tool "tools/changelogger" "${RUST_STABLE_VERSION}" +test_tool "tools/ci-build/changelogger" "${RUST_STABLE_VERSION}" +test_tool "tools/ci-build/crate-hasher" "${RUST_STABLE_VERSION}" +test_tool "tools/ci-build/difftags" "${RUST_STABLE_VERSION}" +test_tool "tools/ci-build/publisher" "${RUST_STABLE_VERSION}" +test_tool "tools/ci-build/sdk-lints" "${RUST_STABLE_VERSION}" +test_tool "tools/ci-build/sdk-versioner" "${RUST_STABLE_VERSION}" +test_tool "tools/ci-build/smithy-rs-tool-common" "${RUST_STABLE_VERSION}" test_tool "tools/ci-cdk/canary-runner" "${RUST_STABLE_VERSION}" -test_tool "tools/crate-hasher" "${RUST_STABLE_VERSION}" -test_tool "tools/publisher" "${RUST_STABLE_VERSION}" -test_tool "tools/sdk-lints" "${RUST_STABLE_VERSION}" -test_tool "tools/sdk-versioner" "${RUST_STABLE_VERSION}" -test_tool "tools/smithy-rs-tool-common" "${RUST_STABLE_VERSION}" echo -e "${C_YELLOW}Running additional per-crate checks...${C_RESET}" -./tools/additional-per-crate-checks.sh ./tools/ +./tools/ci-scripts/additional-per-crate-checks.sh ./tools/ diff --git a/tools/codegen-diff-revisions.py b/tools/ci-scripts/codegen-diff-revisions.py similarity index 78% rename from tools/codegen-diff-revisions.py rename to tools/ci-scripts/codegen-diff-revisions.py index 431e43f068..ae2bc42011 100755 --- a/tools/codegen-diff-revisions.py +++ b/tools/ci-scripts/codegen-diff-revisions.py @@ -35,7 +35,7 @@ HEAD_BRANCH_NAME = "__tmp-localonly-head" BASE_BRANCH_NAME = "__tmp-localonly-base" -OUTPUT_PATH = "tmp-codegen-diff/" +OUTPUT_PATH = "tmp-codegen-diff" COMMIT_AUTHOR_NAME = "GitHub Action (generated code preview)" COMMIT_AUTHOR_EMAIL = "generated-code-action@github.com" @@ -99,9 +99,9 @@ def generate_and_commit_generated_code(revision_sha): # Move generated code into codegen-diff/ directory run(f"rm -rf {OUTPUT_PATH}") run(f"mkdir {OUTPUT_PATH}") - run(f"mv aws/sdk/build/aws-sdk {OUTPUT_PATH}") - run(f"mv codegen-server-test/build/smithyprojections/codegen-server-test {OUTPUT_PATH}") - run(f"mv codegen-server-test/python/build/smithyprojections/codegen-server-test-python {OUTPUT_PATH}") + run(f"mv aws/sdk/build/aws-sdk {OUTPUT_PATH}/") + run(f"mv codegen-server-test/build/smithyprojections/codegen-server-test {OUTPUT_PATH}/") + run(f"mv codegen-server-test/python/build/smithyprojections/codegen-server-test-python {OUTPUT_PATH}/") # Clean up the server-test folder run(f"rm -rf {OUTPUT_PATH}/codegen-server-test/source") @@ -120,61 +120,27 @@ def generate_and_commit_generated_code(revision_sha): f"commit --no-verify -m 'Generated code for {revision_sha}' --allow-empty") -# Writes an HTML template for diff2html so that we can add contextual information -def write_html_template(title, subtitle, tmp_file): - tmp_file.writelines(map(lambda line: line.encode(), [ - "", - "", - "", - ' ', - f' Codegen diff for the {title}: {subtitle}', - ' ', - ' ', - ' ', - ' ', - "", - "", - f"

Codegen diff for the {title}

", - f"

{subtitle}

", - '
', - ' ', - '
', - "", - "", - ])) - tmp_file.flush() - - def make_diff(title, path_to_diff, base_commit_sha, head_commit_sha, suffix, whitespace): whitespace_flag = "" if whitespace else "-b" diff_exists = get_cmd_status(f"git diff --quiet {whitespace_flag} " f"{BASE_BRANCH_NAME} {HEAD_BRANCH_NAME} -- {path_to_diff}") if diff_exists == 0: - eprint(f"No diff output for {base_commit_sha}..{head_commit_sha}") + eprint(f"No diff output for {base_commit_sha}..{head_commit_sha} ({suffix})") return None else: - run(f"mkdir -p {OUTPUT_PATH}/{base_commit_sha}/{head_commit_sha}") - dest_path = f"{base_commit_sha}/{head_commit_sha}/diff-{suffix}.html" + partial_output_path = f"{base_commit_sha}/{head_commit_sha}/{suffix}" + full_output_path = f"{OUTPUT_PATH}/{partial_output_path}" + run(f"mkdir -p {full_output_path}") + run(f"git diff --output=codegen-diff.txt -U30 {whitespace_flag} {BASE_BRANCH_NAME} {HEAD_BRANCH_NAME} -- {path_to_diff}") + + # Generate HTML diff. This uses the `difftags` tool from the `tools/` directory. + # All arguments after the first `--` go to the `git diff` command. whitespace_context = "" if whitespace else "(ignoring whitespace)" - with tempfile.NamedTemporaryFile() as tmp_file: - write_html_template(title, f"rev. {head_commit_sha} {whitespace_context}", tmp_file) - - # Generate HTML diff. This uses the diff2html-cli, which defers to `git diff` under the hood. - # All arguments after the first `--` go to the `git diff` command. - diff_cmd = f"diff2html -s line -f html -d word -i command --hwt "\ - f"{tmp_file.name} -F {OUTPUT_PATH}/{dest_path} -- "\ - f"-U20 {whitespace_flag} {BASE_BRANCH_NAME} {HEAD_BRANCH_NAME} -- {path_to_diff}" - eprint(f"Running diff cmd: {diff_cmd}") - run(diff_cmd) - return dest_path + subtitle = f"rev. {head_commit_sha} {whitespace_context}" + diff_cmd = f"difftags --output-dir {full_output_path} --title \"{title}\" --subtitle \"{subtitle}\" codegen-diff.txt" + eprint(f"Running diff cmd: {diff_cmd}") + run(diff_cmd) + return f"{partial_output_path}/index.html" def diff_link(diff_text, empty_diff_text, diff_location, alternate_text, alternate_location): diff --git a/tools/ci-build/scripts/generate-aws-sdk b/tools/ci-scripts/generate-aws-sdk similarity index 100% rename from tools/ci-build/scripts/generate-aws-sdk rename to tools/ci-scripts/generate-aws-sdk diff --git a/tools/ci-build/scripts/generate-aws-sdk-smoketest b/tools/ci-scripts/generate-aws-sdk-smoketest similarity index 100% rename from tools/ci-build/scripts/generate-aws-sdk-smoketest rename to tools/ci-scripts/generate-aws-sdk-smoketest diff --git a/tools/ci-build/scripts/generate-codegen-diff b/tools/ci-scripts/generate-codegen-diff similarity index 88% rename from tools/ci-build/scripts/generate-codegen-diff rename to tools/ci-scripts/generate-codegen-diff index 84655fdfe4..846259a381 100755 --- a/tools/ci-build/scripts/generate-codegen-diff +++ b/tools/ci-scripts/generate-codegen-diff @@ -15,7 +15,7 @@ fi # Override version commit hash to prevent unnecessary diffs export SMITHY_RS_VERSION_COMMIT_HASH_OVERRIDE=ci base_revision="$1" -./tools/codegen-diff-revisions.py . "${base_revision}" +./tools/ci-scripts/codegen-diff-revisions.py . "${base_revision}" mv tmp-codegen-diff/bot-message ../artifacts/bot-message-codegen-diff mv tmp-codegen-diff ../artifacts/codegen-diff diff --git a/tools/generate-doc-preview-index.sh b/tools/ci-scripts/generate-doc-preview-index.sh similarity index 100% rename from tools/generate-doc-preview-index.sh rename to tools/ci-scripts/generate-doc-preview-index.sh diff --git a/tools/ci-scripts/generate-new-changelog-next-toml b/tools/ci-scripts/generate-new-changelog-next-toml new file mode 100755 index 0000000000..9a2c2a7702 --- /dev/null +++ b/tools/ci-scripts/generate-new-changelog-next-toml @@ -0,0 +1,17 @@ +#!/bin/bash +# +# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +# SPDX-License-Identifier: Apache-2.0 +# + +set -eux + +SMITHY_RS_DIR="$(pwd)/smithy-rs" +ARTIFACTS_DIR="$(pwd)/artifacts/generate-new-changelog-next-toml" + +changelogger init > "${SMITHY_RS_DIR}/CHANGELOG.next.toml" + +pushd "${ARTIFACTS_DIR}" +cp -r "${SMITHY_RS_DIR}" . +git -C smithy-rs status +popd diff --git a/tools/ci-build/scripts/generate-smithy-rs-release b/tools/ci-scripts/generate-smithy-rs-release similarity index 100% rename from tools/ci-build/scripts/generate-smithy-rs-release rename to tools/ci-scripts/generate-smithy-rs-release diff --git a/tools/ci-scripts/upgrade-gradle-properties b/tools/ci-scripts/upgrade-gradle-properties new file mode 100755 index 0000000000..174b74ac3f --- /dev/null +++ b/tools/ci-scripts/upgrade-gradle-properties @@ -0,0 +1,27 @@ +#!/bin/bash +# +# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +# SPDX-License-Identifier: Apache-2.0 +# + +set -eux + +SEMANTIC_VERSION="${1}" +SMITHY_RS_DIR="$(pwd)/smithy-rs" +ARTIFACTS_DIR="$(pwd)/artifacts/upgrade-gradle-properties" +mkdir -p "${ARTIFACTS_DIR}" + +pushd "${SMITHY_RS_DIR}" +echo "gradle.properties BEFORE the upgrade" +cat gradle.properties +publisher upgrade-runtime-crates-version --version "${SEMANTIC_VERSION}" +echo "gradle.properties AFTER the upgrade" +cat gradle.properties +git status +popd + +pushd "${ARTIFACTS_DIR}" +mkdir -p smithy-rs +cp -r "${SMITHY_RS_DIR}" . +git -C smithy-rs status +popd